/*!**************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/scss/main.scss ***!
  \**************************************************************************************************************************************************************************************************************************************************************************/
@import url(https://fonts.googleapis.com/css?family=Source+Sans+Pro:300italic,600italic,300,600);
/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/scss/main.scss (1) ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/*
	Dimension by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite,
code, del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var, b,
u, i, center, dl, dt, dd, ol, ul, li, fieldset,
form, label, legend, table, caption, tbody,
tfoot, thead, tr, th, td, article, aside,
canvas, details, embed, figure, figcaption,
footer, header, hgroup, menu, nav, output, ruby,
section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
}

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

body {
  line-height: 1;
}

ol, ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: "";
  content: none;
}

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

body {
  -webkit-text-size-adjust: none;
}

mark {
  background-color: transparent;
  color: inherit;
}

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

input, select, textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
}

/* Basic */
@-ms-viewport {
  width: device-width;
}
@media screen and (max-width: 480px) {
  html, body {
    min-width: 320px;
  }
}
html {
  box-sizing: border-box;
}

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

body {
  background: #1b1f22;
}
body.is-preload *, body.is-preload *:before, body.is-preload *:after {
  -moz-animation: none !important;
  -webkit-animation: none !important;
  -ms-animation: none !important;
  animation: none !important;
  -moz-transition: none !important;
  -webkit-transition: none !important;
  -ms-transition: none !important;
  transition: none !important;
}

/* Type */
html {
  font-size: 16pt;
}
@media screen and (max-width: 1680px) {
  html {
    font-size: 12pt;
  }
}
@media screen and (max-width: 736px) {
  html {
    font-size: 11pt;
  }
}
@media screen and (max-width: 360px) {
  html {
    font-size: 10pt;
  }
}

body, input, select, textarea {
  color: #ffffff;
  font-family: "Source Sans Pro", sans-serif;
  font-weight: 300;
  font-size: 1rem;
  line-height: 1.65;
}

a {
  -moz-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -webkit-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  -ms-transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  transition: color 0.2s ease-in-out, background-color 0.2s ease-in-out, border-bottom-color 0.2s ease-in-out;
  border-bottom: dotted 1px rgba(255, 255, 255, 0.5);
  text-decoration: none;
  color: inherit;
}
a:hover {
  border-bottom-color: transparent;
}

strong, b {
  color: #ffffff;
  font-weight: 600;
}

em, i {
  font-style: italic;
}

p {
  margin: 0 0 2rem 0;
}

h1, h2, h3, h4, h5, h6 {
  color: #ffffff;
  font-weight: 600;
  line-height: 1.5;
  margin: 0 0 1rem 0;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
}
h1 a, h2 a, h3 a, h4 a, h5 a, h6 a {
  color: inherit;
  text-decoration: none;
}
h1.major, h2.major, h3.major, h4.major, h5.major, h6.major {
  border-bottom: solid 1px #ffffff;
  width: -moz-max-content;
  width: -webkit-max-content;
  width: -ms-max-content;
  width: max-content;
  padding-bottom: 0.5rem;
  margin: 0 0 2rem 0;
}

h1 {
  font-size: 2.25rem;
  line-height: 1.3;
  letter-spacing: 0.5rem;
}

h2 {
  font-size: 1.5rem;
  line-height: 1.4;
  letter-spacing: 0.5rem;
}

h3 {
  font-size: 1rem;
}

h4 {
  font-size: 0.8rem;
}

h5 {
  font-size: 0.7rem;
}

h6 {
  font-size: 0.6rem;
}

@media screen and (max-width: 736px) {
  h1 {
    font-size: 1.75rem;
    line-height: 1.4;
  }
  h2 {
    font-size: 1.25em;
    line-height: 1.5;
  }
}
sub {
  font-size: 0.8rem;
  position: relative;
  top: 0.5rem;
}

sup {
  font-size: 0.8rem;
  position: relative;
  top: -0.5rem;
}

blockquote {
  border-left: solid 4px #ffffff;
  font-style: italic;
  margin: 0 0 2rem 0;
  padding: 0.5rem 0 0.5rem 2rem;
}

code {
  background: rgba(255, 255, 255, 0.075);
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 0.9rem;
  margin: 0 0.25rem;
  padding: 0.25rem 0.65rem;
}

pre {
  -webkit-overflow-scrolling: touch;
  font-family: "Courier New", monospace;
  font-size: 0.9rem;
  margin: 0 0 2rem 0;
}
pre code {
  display: block;
  line-height: 1.75;
  padding: 1rem 1.5rem;
  overflow-x: auto;
}

hr {
  border: 0;
  border-bottom: solid 1px #ffffff;
  margin: 2.75rem 0;
}

.align-left {
  text-align: left;
}

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

.align-right {
  text-align: right;
}

/* Form */
form {
  margin: 0 0 2rem 0;
}
form > :last-child {
  margin-bottom: 0;
}
form > .fields {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  width: calc(100% + 3rem);
  margin: -1.5rem 0 2rem -1.5rem;
}
form > .fields > .field {
  -moz-flex-grow: 0;
  -webkit-flex-grow: 0;
  -ms-flex-grow: 0;
  flex-grow: 0;
  -moz-flex-shrink: 0;
  -webkit-flex-shrink: 0;
  -ms-flex-shrink: 0;
  flex-shrink: 0;
  padding: 1.5rem 0 0 1.5rem;
  width: calc(100% - 1.5rem);
}
form > .fields > .field.half {
  width: calc(50% - 0.75rem);
}
form > .fields > .field.third {
  width: calc(100%/3 - 0.5rem);
}
form > .fields > .field.quarter {
  width: calc(25% - 0.375rem);
}
@media screen and (max-width: 480px) {
  form > .fields {
    width: calc(100% + 3rem);
    margin: -1.5rem 0 2rem -1.5rem;
  }
  form > .fields > .field {
    padding: 1.5rem 0 0 1.5rem;
    width: calc(100% - 1.5rem);
  }
  form > .fields > .field.half {
    width: calc(100% - 1.5rem);
  }
  form > .fields > .field.third {
    width: calc(100% - 1.5rem);
  }
  form > .fields > .field.quarter {
    width: calc(100% - 1.5rem);
  }
}

label {
  color: #ffffff;
  display: block;
  font-size: 0.8rem;
  font-weight: 300;
  letter-spacing: 0.2rem;
  line-height: 1.5;
  margin: 0 0 1rem 0;
  text-transform: uppercase;
}

input[type=text],
input[type=password],
input[type=email],
input[type=tel],
select,
textarea {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  -webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  -ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  background-color: transparent;
  border-radius: 4px;
  border: solid 1px #ffffff;
  color: inherit;
  display: block;
  outline: 0;
  padding: 0 1rem;
  text-decoration: none;
  width: 100%;
}
input[type=text]:invalid,
input[type=password]:invalid,
input[type=email]:invalid,
input[type=tel]:invalid,
select:invalid,
textarea:invalid {
  box-shadow: none;
}
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=tel]:focus,
select:focus,
textarea:focus {
  background: rgba(255, 255, 255, 0.075);
  border-color: #ffffff;
  box-shadow: 0 0 0 1px #ffffff;
}

select {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 width=%2740%27 height=%2740%27 preserveAspectRatio=%27none%27 viewBox=%270 0 40 40%27%3E%3Cpath d=%27M9.4,12.3l10.4,10.4l10.4-10.4c0.2-0.2,0.5-0.4,0.9-0.4c0.3,0,0.6,0.1,0.9,0.4l3.3,3.3c0.2,0.2,0.4,0.5,0.4,0.9 c0,0.4-0.1,0.6-0.4,0.9L20.7,31.9c-0.2,0.2-0.5,0.4-0.9,0.4c-0.3,0-0.6-0.1-0.9-0.4L4.3,17.3c-0.2-0.2-0.4-0.5-0.4-0.9 c0-0.4,0.1-0.6,0.4-0.9l3.3-3.3c0.2-0.2,0.5-0.4,0.9-0.4S9.1,12.1,9.4,12.3z%27 fill=%27%23ffffff%27 /%3E%3C/svg%3E");
  background-size: 1.25rem;
  background-repeat: no-repeat;
  background-position: calc(100% - 1rem) center;
  height: 2.75rem;
  padding-right: 2.75rem;
  text-overflow: ellipsis;
}
select option {
  color: #ffffff;
  background: #1b1f22;
}
select:focus::-ms-value {
  background-color: transparent;
}
select::-ms-expand {
  display: none;
}

input[type=text],
input[type=password],
input[type=email],
select {
  height: 2.75rem;
}

textarea {
  padding: 0.75rem 1rem;
}

input[type=checkbox],
input[type=radio] {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  display: block;
  float: left;
  margin-right: -2rem;
  opacity: 0;
  width: 1rem;
  z-index: -1;
}
input[type=checkbox] + label,
input[type=radio] + label {
  text-decoration: none;
  -moz-user-select: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  color: #ffffff;
  cursor: pointer;
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 300;
  margin: 0 0 0.5rem 0;
  padding-left: 2.65rem;
  padding-right: 0.75rem;
  position: relative;
}
input[type=checkbox] + label:before,
input[type=radio] + label:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 900;
}
input[type=checkbox] + label:before,
input[type=radio] + label:before {
  -moz-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  -webkit-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  -ms-transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out, background-color 0.2s ease-in-out;
  border-radius: 4px;
  border: solid 1px #ffffff;
  content: "";
  display: inline-block;
  height: 1.65rem;
  left: 0;
  line-height: 1.65rem;
  position: absolute;
  text-align: center;
  top: -0.15rem;
  width: 1.65rem;
}
input[type=checkbox]:checked + label:before,
input[type=radio]:checked + label:before {
  background: #ffffff !important;
  border-color: #ffffff !important;
  color: #1b1f22;
  content: "\f00c";
}
input[type=checkbox]:focus + label:before,
input[type=radio]:focus + label:before {
  background: rgba(255, 255, 255, 0.075);
  border-color: #ffffff;
  box-shadow: 0 0 0 1px #ffffff;
}

input[type=checkbox] + label:before {
  border-radius: 4px;
}

input[type=radio] + label:before {
  border-radius: 100%;
}

::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1;
}

:-moz-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1;
}

::-moz-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1;
}

:-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1;
}

.formerize-placeholder {
  color: rgba(255, 255, 255, 0.5) !important;
  opacity: 1;
}

/* Box */
.box {
  border-radius: 4px;
  border: solid 1px #ffffff;
  margin-bottom: 2rem;
  padding: 1.5em;
}
.box > :last-child,
.box > :last-child > :last-child,
.box > :last-child > :last-child > :last-child {
  margin-bottom: 0;
}
.box.alt {
  border: 0;
  border-radius: 0;
  padding: 0;
}

/* Icon */
.icon {
  text-decoration: none;
  border-bottom: none;
  position: relative;
}
.icon:before {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  display: inline-block;
  font-style: normal;
  font-variant: normal;
  text-rendering: auto;
  line-height: 1;
  text-transform: none !important;
  font-family: "Font Awesome 5 Free";
  font-weight: 600;
}
.icon > .label {
  display: none;
}
.icon:before {
  line-height: inherit;
}
.icon.solid:before {
  font-weight: 900;
}
.icon.brands:before {
  font-family: "Font Awesome 5 Brands";
}

/* Image */
.image {
  border-radius: 4px;
  border: 0;
  display: inline-block;
  position: relative;
}
.image:before {
  pointer-events: none;
  background-image: url(/build/assets/images/overlay.eb1c6ead..png);
  background-color: rgba(19, 21, 25, 0.5);
  border-radius: 4px;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  opacity: 0.5;
  position: absolute;
  top: 0;
  width: 100%;
}
.image img {
  border-radius: 4px;
  display: block;
}
.image.left, .image.right {
  max-width: 40%;
}
.image.left img, .image.right img {
  width: 100%;
}
.image.left {
  float: left;
  padding: 0 1.5em 1em 0;
  top: 0.25em;
}
.image.right {
  float: right;
  padding: 0 0 1em 1.5em;
  top: 0.25em;
}
.image.fit {
  display: block;
  margin: 0 0 2rem 0;
  width: 100%;
}
.image.fit img {
  width: 100%;
}
.image.main {
  display: block;
  margin: 2.5rem 0;
  width: 100%;
}
.image.main img {
  width: 100%;
}
@media screen and (max-width: 736px) {
  .image.main {
    margin: 2rem 0;
  }
}
@media screen and (max-width: 480px) {
  .image.main {
    margin: 1.5rem 0;
  }
}

/* List */
ol {
  list-style: decimal;
  margin: 0 0 2rem 0;
  padding-left: 1.25em;
}
ol li {
  padding-left: 0.25em;
}

ul {
  list-style: disc;
  margin: 0 0 2rem 0;
  padding-left: 1em;
}
ul li {
  padding-left: 0.5em;
}
ul.alt {
  list-style: none;
  padding-left: 0;
}
ul.alt li {
  border-top: solid 1px #ffffff;
  padding: 0.5em 0;
}
ul.alt li:first-child {
  border-top: 0;
  padding-top: 0;
}

dl {
  margin: 0 0 2rem 0;
}
dl dt {
  display: block;
  font-weight: 600;
  margin: 0 0 1rem 0;
}
dl dd {
  margin-left: 2rem;
}

/* Actions */
ul.actions {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  cursor: default;
  list-style: none;
  margin-left: -1rem;
  padding-left: 0;
}
ul.actions li {
  padding: 0 0 0 1rem;
  vertical-align: middle;
}
ul.actions.special {
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  width: 100%;
  margin-left: 0;
}
ul.actions.special li:first-child {
  padding-left: 0;
}
ul.actions.stacked {
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  margin-left: 0;
}
ul.actions.stacked li {
  padding: 1.3rem 0 0 0;
}
ul.actions.stacked li:first-child {
  padding-top: 0;
}
ul.actions.fit {
  width: calc(100% + 1rem);
}
ul.actions.fit li {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  width: 100%;
}
ul.actions.fit li > * {
  width: 100%;
}
ul.actions.fit.stacked {
  width: 100%;
}
@media screen and (max-width: 480px) {
  ul.actions:not(.fixed) {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    margin-left: 0;
    width: 100% !important;
  }
  ul.actions:not(.fixed) li {
    -moz-flex-grow: 1;
    -webkit-flex-grow: 1;
    -ms-flex-grow: 1;
    flex-grow: 1;
    -moz-flex-shrink: 1;
    -webkit-flex-shrink: 1;
    -ms-flex-shrink: 1;
    flex-shrink: 1;
    padding: 1rem 0 0 0;
    text-align: center;
    width: 100%;
  }
  ul.actions:not(.fixed) li > * {
    width: 100%;
  }
  ul.actions:not(.fixed) li:first-child {
    padding-top: 0;
  }
  ul.actions:not(.fixed) li input[type=submit],
  ul.actions:not(.fixed) li input[type=reset],
  ul.actions:not(.fixed) li input[type=button],
  ul.actions:not(.fixed) li button,
  ul.actions:not(.fixed) li .button {
    width: 100%;
  }
  ul.actions:not(.fixed) li input[type=submit].icon:before,
  ul.actions:not(.fixed) li input[type=reset].icon:before,
  ul.actions:not(.fixed) li input[type=button].icon:before,
  ul.actions:not(.fixed) li button.icon:before,
  ul.actions:not(.fixed) li .button.icon:before {
    margin-left: -0.5em;
  }
}

/* Icons */
ul.icons {
  cursor: default;
  list-style: none;
  padding-left: 0;
}
ul.icons li {
  display: inline-block;
  padding: 0 0.75em 0 0;
}
ul.icons li:last-child {
  padding-right: 0;
}
ul.icons li a {
  border-radius: 100%;
  box-shadow: inset 0 0 0 1px #ffffff;
  display: inline-block;
  height: 2.25rem;
  line-height: 2.25rem;
  text-align: center;
  width: 2.25rem;
}
ul.icons li a:hover {
  background-color: rgba(255, 255, 255, 0.075);
}
ul.icons li a:active {
  background-color: rgba(255, 255, 255, 0.175);
}

/* Table */
.table-wrapper {
  -webkit-overflow-scrolling: touch;
  overflow-x: auto;
}

table {
  margin: 0 0 2rem 0;
  width: 100%;
}
table tbody tr {
  border: solid 1px #ffffff;
  border-left: 0;
  border-right: 0;
}
table tbody tr:nth-child(2n+1) {
  background-color: rgba(255, 255, 255, 0.075);
}
table td {
  padding: 0.75em 0.75em;
}
table th {
  color: #ffffff;
  font-size: 0.9em;
  font-weight: 600;
  padding: 0 0.75em 0.75em 0.75em;
  text-align: left;
}
table thead {
  border-bottom: solid 2px #ffffff;
}
table tfoot {
  border-top: solid 2px #ffffff;
}
table.alt {
  border-collapse: separate;
}
table.alt tbody tr td {
  border: solid 1px #ffffff;
  border-left-width: 0;
  border-top-width: 0;
}
table.alt tbody tr td:first-child {
  border-left-width: 1px;
}
table.alt tbody tr:first-child td {
  border-top-width: 1px;
}
table.alt thead {
  border-bottom: 0;
}
table.alt tfoot {
  border-top: 0;
}

/* Button */
input[type=submit],
input[type=reset],
input[type=button],
button,
.button {
  -moz-appearance: none;
  -webkit-appearance: none;
  -ms-appearance: none;
  appearance: none;
  -moz-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
  background-color: transparent;
  border-radius: 4px;
  border: 0;
  box-shadow: inset 0 0 0 1px #ffffff;
  color: #ffffff !important;
  cursor: pointer;
  display: inline-block;
  font-size: 0.8rem;
  font-weight: 300;
  height: 2.75rem;
  letter-spacing: 0.2rem;
  line-height: 2.75rem;
  outline: 0;
  padding: 0 1.25rem 0 1.35rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
}
input[type=submit]:hover,
input[type=reset]:hover,
input[type=button]:hover,
button:hover,
.button:hover {
  background-color: rgba(255, 255, 255, 0.075);
}
input[type=submit]:active,
input[type=reset]:active,
input[type=button]:active,
button:active,
.button:active {
  background-color: rgba(255, 255, 255, 0.175);
}
input[type=submit].icon:before,
input[type=reset].icon:before,
input[type=button].icon:before,
button.icon:before,
.button.icon:before {
  margin-right: 0.5em;
}
input[type=submit].fit,
input[type=reset].fit,
input[type=button].fit,
button.fit,
.button.fit {
  width: 100%;
}
input[type=submit].small,
input[type=reset].small,
input[type=button].small,
button.small,
.button.small {
  font-size: 0.6rem;
  height: 2.0625rem;
  line-height: 2.0625rem;
}
input[type=submit].primary,
input[type=reset].primary,
input[type=button].primary,
button.primary,
.button.primary {
  background-color: #ffffff;
  color: #1b1f22 !important;
  font-weight: 600;
}
input[type=submit].disabled, input[type=submit]:disabled,
input[type=reset].disabled,
input[type=reset]:disabled,
input[type=button].disabled,
input[type=button]:disabled,
button.disabled,
button:disabled,
.button.disabled,
.button:disabled {
  pointer-events: none;
  cursor: default;
  opacity: 0.25;
}

input[type=submit],
input[type=reset],
input[type=button],
button {
  line-height: calc(2.75rem - 2px);
}

/* BG */
#bg {
  -moz-transform: scale(1.0);
  -webkit-transform: scale(1.0);
  -ms-transform: scale(1.0);
  transform: scale(1.0);
  -webkit-backface-visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  z-index: 1;
}
#bg:before, #bg:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
#bg:before {
  -moz-transition: background-color 2.5s ease-in-out;
  -webkit-transition: background-color 2.5s ease-in-out;
  -ms-transition: background-color 2.5s ease-in-out;
  transition: background-color 2.5s ease-in-out;
  -moz-transition-delay: 0.75s;
  -webkit-transition-delay: 0.75s;
  -ms-transition-delay: 0.75s;
  transition-delay: 0.75s;
  background-image: linear-gradient(to top, rgba(19, 21, 25, 0.5), rgba(19, 21, 25, 0.5)), url(/build/assets/images/overlay.eb1c6ead..png);
  background-size: auto, 256px 256px;
  background-position: center, center;
  background-repeat: no-repeat, repeat;
  z-index: 2;
}
#bg:after {
  -moz-transform: scale(1.125);
  -webkit-transform: scale(1.125);
  -ms-transform: scale(1.125);
  transform: scale(1.125);
  -moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out;
  -webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out;
  -ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out;
  transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out;
  background-image: url(/build/assets/images/bg.9b46dc39..jpg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}
body.is-article-visible #bg:after {
  -moz-transform: scale(1.0825);
  -webkit-transform: scale(1.0825);
  -ms-transform: scale(1.0825);
  transform: scale(1.0825);
  -moz-filter: blur(0.2rem);
  -webkit-filter: blur(0.2rem);
  -ms-filter: blur(0.2rem);
  filter: blur(0.2rem);
}
body.is-preload #bg:before {
  background-color: #000000;
}

/* Wrapper */
#wrapper {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: space-between;
  -webkit-justify-content: space-between;
  -ms-justify-content: space-between;
  justify-content: space-between;
  position: relative;
  min-height: 100vh;
  width: 100%;
  padding: 4rem 2rem;
  z-index: 3;
}
#wrapper:before {
  content: "";
  display: block;
}
@media screen and (max-width: 1680px) {
  #wrapper {
    padding: 3rem 2rem;
  }
}
@media screen and (max-width: 736px) {
  #wrapper {
    padding: 2rem 1rem;
  }
}
@media screen and (max-width: 480px) {
  #wrapper {
    padding: 1rem;
  }
}

/* Header */
#header {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  -webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  -ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  background-image: -moz-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
  background-image: -webkit-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
  background-image: -ms-radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
  background-image: radial-gradient(rgba(0, 0, 0, 0.25) 25%, rgba(0, 0, 0, 0) 55%);
  max-width: 100%;
  text-align: center;
}
#header > * {
  -moz-transition: opacity 0.325s ease-in-out;
  -webkit-transition: opacity 0.325s ease-in-out;
  -ms-transition: opacity 0.325s ease-in-out;
  transition: opacity 0.325s ease-in-out;
  position: relative;
  margin-top: 3.5rem;
}
#header > *:before {
  content: "";
  display: block;
  position: absolute;
  top: calc(-3.5rem - 1px);
  left: calc(50% - 1px);
  width: 1px;
  height: calc(3.5rem + 1px);
  background: #ffffff;
}
#header > :first-child {
  margin-top: 0;
}
#header > :first-child:before {
  display: none;
}
#header .logo {
  width: 5.5rem;
  height: 5.5rem;
  line-height: 5.5rem;
  border: solid 1px #ffffff;
  border-radius: 100%;
}
#header .logo .icon:before {
  font-size: 2rem;
}
#header .content {
  border-style: solid;
  border-color: #ffffff;
  border-top-width: 1px;
  border-bottom-width: 1px;
  max-width: 100%;
}
#header .content .inner {
  -moz-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
  -webkit-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
  -ms-transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
  transition: max-height 0.75s ease, padding 0.75s ease, opacity 0.325s ease-in-out;
  -moz-transition-delay: 0.25s;
  -webkit-transition-delay: 0.25s;
  -ms-transition-delay: 0.25s;
  transition-delay: 0.25s;
  padding: 3rem 2rem;
  max-height: 40rem;
  overflow: hidden;
}
#header .content .inner img {
  width: 100%;
}
#header .content .inner > :last-child {
  margin-bottom: 0;
}
#header .content p {
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  font-size: 0.8rem;
  line-height: 2;
}
#header nav ul {
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  margin-bottom: 0;
  list-style: none;
  padding-left: 0;
  border: solid 1px #ffffff;
  border-radius: 4px;
}
#header nav ul li {
  padding-left: 0;
  border-left: solid 1px #ffffff;
}
#header nav ul li:first-child {
  border-left: 0;
}
#header nav ul li a {
  display: block;
  min-width: 9rem;
  height: 2.75rem;
  line-height: 2.75rem;
  padding: 0 1.25rem 0 1.45rem;
  text-transform: uppercase;
  letter-spacing: 0.2rem;
  font-size: 0.8rem;
  border-bottom: 0;
}
#header nav ul li a:hover {
  background-color: rgba(255, 255, 255, 0.075);
}
#header nav ul li a:active {
  background-color: rgba(255, 255, 255, 0.175);
}
#header nav.use-middle:after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: calc(50% - 1px);
  width: 1px;
  height: 100%;
  background: #ffffff;
}
#header nav.use-middle ul li.is-middle {
  border-left: 0;
}
body.is-article-visible #header {
  -moz-transform: scale(0.95);
  -webkit-transform: scale(0.95);
  -ms-transform: scale(0.95);
  transform: scale(0.95);
  -moz-filter: blur(0.1rem);
  -webkit-filter: blur(0.1rem);
  -ms-filter: blur(0.1rem);
  filter: blur(0.1rem);
  opacity: 0;
}
body.is-preload #header {
  -moz-filter: blur(0.125rem);
  -webkit-filter: blur(0.125rem);
  -ms-filter: blur(0.125rem);
  filter: blur(0.125rem);
}
body.is-preload #header > * {
  opacity: 0;
}
body.is-preload #header .content .inner {
  max-height: 0;
  padding-top: 0;
  padding-bottom: 0;
  opacity: 0;
}
@media screen and (max-width: 980px) {
  #header .content p br {
    display: none;
  }
}
@media screen and (max-width: 736px) {
  #header > * {
    margin-top: 2rem;
  }
  #header > *:before {
    top: calc(-2rem - 1px);
    height: calc(2rem + 1px);
  }
  #header .logo {
    width: 4.75rem;
    height: 4.75rem;
    line-height: 4.75rem;
  }
  #header .logo .icon:before {
    font-size: 1.75rem;
  }
  #header .content .inner {
    padding: 2.5rem 1rem;
  }
  #header .content p {
    line-height: 1.875;
  }
}
@media screen and (max-width: 480px) {
  #header {
    padding: 1.5rem 0;
  }
  #header .content .inner {
    padding: 2.5rem 0;
  }
  #header nav ul {
    -moz-flex-direction: column;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: column;
    min-width: 10rem;
    max-width: 100%;
  }
  #header nav ul li {
    border-left: 0;
    border-top: solid 1px #ffffff;
  }
  #header nav ul li:first-child {
    border-top: 0;
  }
  #header nav ul li a {
    height: 3rem;
    line-height: 3rem;
    min-width: 0;
    width: 100%;
  }
  #header nav.use-middle:after {
    display: none;
  }
}

/* Main */
#main {
  -moz-flex-grow: 1;
  -webkit-flex-grow: 1;
  -ms-flex-grow: 1;
  flex-grow: 1;
  -moz-flex-shrink: 1;
  -webkit-flex-shrink: 1;
  -ms-flex-shrink: 1;
  flex-shrink: 1;
  display: -moz-flex;
  display: -webkit-flex;
  display: -ms-flex;
  display: flex;
  -moz-align-items: center;
  -webkit-align-items: center;
  -ms-align-items: center;
  align-items: center;
  -moz-justify-content: center;
  -webkit-justify-content: center;
  -ms-justify-content: center;
  justify-content: center;
  -moz-flex-direction: column;
  -webkit-flex-direction: column;
  -ms-flex-direction: column;
  flex-direction: column;
  position: relative;
  max-width: 100%;
  z-index: 3;
}
#main article {
  -moz-transform: translateY(0.25rem);
  -webkit-transform: translateY(0.25rem);
  -ms-transform: translateY(0.25rem);
  transform: translateY(0.25rem);
  -moz-transition: opacity 0.325s ease-in-out, -moz-transform 0.325s ease-in-out;
  -webkit-transition: opacity 0.325s ease-in-out, -webkit-transform 0.325s ease-in-out;
  -ms-transition: opacity 0.325s ease-in-out, -ms-transform 0.325s ease-in-out;
  transition: opacity 0.325s ease-in-out, transform 0.325s ease-in-out;
  padding: 4.5rem 2.5rem 1.5rem 2.5rem;
  position: relative;
  width: 40rem;
  max-width: 100%;
  background-color: rgba(27, 31, 34, 0.85);
  border-radius: 4px;
  opacity: 0;
}
#main article.active {
  -moz-transform: translateY(0);
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1;
}
#main article .close {
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  width: 4rem;
  height: 4rem;
  cursor: pointer;
  text-indent: 4rem;
  overflow: hidden;
  white-space: nowrap;
}
#main article .close:before {
  -moz-transition: background-color 0.2s ease-in-out;
  -webkit-transition: background-color 0.2s ease-in-out;
  -ms-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out;
  content: "";
  display: block;
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 100%;
  background-position: center;
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 width=%2720px%27 height=%2720px%27 viewBox=%270 0 20 20%27 zoomAndPan=%27disable%27%3E%3Cstyle%3Eline %7B stroke: %23ffffff%3B stroke-width: 1%3B %7D%3C/style%3E%3Cline x1=%272%27 y1=%272%27 x2=%2718%27 y2=%2718%27 /%3E%3Cline x1=%2718%27 y1=%272%27 x2=%272%27 y2=%2718%27 /%3E%3C/svg%3E");
  background-size: 20px 20px;
  background-repeat: no-repeat;
}
#main article .close:hover:before {
  background-color: rgba(255, 255, 255, 0.075);
}
#main article .close:active:before {
  background-color: rgba(255, 255, 255, 0.175);
}
@media screen and (max-width: 736px) {
  #main article {
    padding: 3.5rem 2rem 0.5rem 2rem;
  }
  #main article .close:before {
    top: 0.875rem;
    left: 0.875rem;
    width: 2.25rem;
    height: 2.25rem;
    background-size: 14px 14px;
  }
}
@media screen and (max-width: 480px) {
  #main article {
    padding: 3rem 1.5rem 0.5rem 1.5rem;
  }
}

/* Footer */
#footer {
  -moz-transition: -moz-transform 0.325s ease-in-out, -moz-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  -webkit-transition: -webkit-transform 0.325s ease-in-out, -webkit-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  -ms-transition: -ms-transform 0.325s ease-in-out, -ms-filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  transition: transform 0.325s ease-in-out, filter 0.325s ease-in-out, opacity 0.325s ease-in-out;
  width: 100%;
  max-width: 100%;
  margin-top: 2rem;
  text-align: center;
}
#footer .copyright {
  letter-spacing: 0.2rem;
  font-size: 0.6rem;
  opacity: 0.75;
  margin-bottom: 0;
  text-transform: uppercase;
}
body.is-article-visible #footer {
  -moz-transform: scale(0.95);
  -webkit-transform: scale(0.95);
  -ms-transform: scale(0.95);
  transform: scale(0.95);
  -moz-filter: blur(0.1rem);
  -webkit-filter: blur(0.1rem);
  -ms-filter: blur(0.1rem);
  filter: blur(0.1rem);
  opacity: 0;
}
body.is-preload #footer {
  opacity: 0;
}
/*!******************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[1]!./node_modules/resolve-url-loader/index.js??ruleSet[1].rules[4].oneOf[1].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].oneOf[1].use[3]!./assets/scss/noscript.scss ***!
  \******************************************************************************************************************************************************************************************************************************************************************************/
/*
	Dimension by HTML5 UP
	html5up.net | @ajlkn
	Free for personal and commercial use under the CCA 3.0 license (html5up.net/license)
*/
/* BG */
body.is-preload #bg:before {
  background-color: transparent;
}

/* Header */
body.is-preload #header {
  -moz-filter: none;
  -webkit-filter: none;
  -ms-filter: none;
  filter: none;
}
body.is-preload #header > * {
  opacity: 1;
}
body.is-preload #header .content .inner {
  max-height: none;
  padding: 3rem 2rem;
  opacity: 1;
}

/* Main */
#main article {
  opacity: 1;
  margin: 4rem 0 0 0;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNzcyIsIm1hcHBpbmdzIjoiOzs7Ozs7O0FBT0E7Ozs7Q0FBQTtBQ0VDOzs7Ozs7Ozs7OztFQVdDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBREZGOztBQ0tDOztFQUVDO0FERkY7O0FDS0M7RUFDQztBREZGOztBQ0tDO0VBQ0M7QURGRjs7QUNLQztFQUNDO0FERkY7QUNJRTtFQUVDO0VBQ0E7QURISDs7QUNPQztFQUNDO0VBQ0E7QURKRjs7QUNPQztFQUNDO0FESkY7O0FDT0M7RUFDQztFQUNBO0FESkY7O0FDT0M7RUFDQztFQUNBO0FESkY7O0FDT0M7RUFDQztFQUNBO0VBQ0E7RUFDQTtBREpGOztBRWhFQTtBQUdFO0VBQ0M7QUZpRUg7QUcrSVM7RUQzTU47SUFDQztFRitERjtBQUNGO0FFMURFO0VBQ0M7QUY0REg7O0FFekRFO0VBQ0M7QUY0REg7O0FFekRDO0VBQ0M7QUY0REY7QUV4REk7RUVvVU87RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtBSmxRWDs7QUsvRkE7QUFFQztFQUNDO0FMaUdGO0FHZ0hTO0VFbE5SO0lBSUU7RUxrR0Q7QUFDRjtBRzJHUztFRWxOUjtJQVFFO0VMbUdEO0FBQ0Y7QUdzR1M7RUVsTlI7SUFZRTtFTG9HRDtBQUNGOztBS2pHQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUxvR0Y7O0FLakdDO0VEdVVVO0VBQUE7RUFBQTtFQUFBO0VDalVUO0VBQ0E7RUFDQTtBTG1HRjtBS2pHRTtFQUNDO0FMbUdIOztBSy9GQztFQUNDO0VBQ0E7QUxrR0Y7O0FLL0ZDO0VBQ0M7QUxrR0Y7O0FLL0ZDO0VBQ0M7QUxrR0Y7O0FLL0ZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMa0dGO0FLaEdFO0VBQ0M7RUFDQTtBTGtHSDtBSy9GRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMaUdIOztBSzdGQztFQUNDO0VBQ0E7RUFDQTtBTGdHRjs7QUs3RkM7RUFDQztFQUNBO0VBQ0E7QUxnR0Y7O0FLN0ZDO0VBQ0M7QUxnR0Y7O0FLN0ZDO0VBQ0M7QUxnR0Y7O0FLN0ZDO0VBQ0M7QUxnR0Y7O0FLN0ZDO0VBQ0M7QUxnR0Y7O0FHYVM7RUV6R1A7SUFDQztJQUNBO0VMZ0dEO0VLN0ZBO0lBQ0M7SUFDQTtFTCtGRDtBQUNGO0FLNUZDO0VBQ0M7RUFDQTtFQUNBO0FMOEZGOztBSzNGQztFQUNDO0VBQ0E7RUFDQTtBTDhGRjs7QUszRkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTDhGRjs7QUszRkM7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUw4RkY7O0FLM0ZDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QUw4RkY7QUs1RkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtBTDhGSDs7QUsxRkM7RUFDQztFQUNBO0VBQ0E7QUw2RkY7O0FLMUZDO0VBQ0M7QUw2RkY7O0FLMUZDO0VBQ0M7QUw2RkY7O0FLMUZDO0VBQ0M7QUw2RkY7O0FNNVFBO0FBRUM7RUFDQztBTjhRRjtBTTVRRTtFQUNDO0FOOFFIO0FNM1FFO0VGK1ZTO0VBQUE7RUFBQTtFQUFBO0VBUEE7RUFBQTtFQUFBO0VBQUE7RUVuVlI7RUFDQTtBTmlSSDtBTS9RRztFRmdWUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VFN1VQO0VBQ0E7QU51Uko7QU1yUkk7RUFDQztBTnVSTDtBTXBSSTtFQUNDO0FOc1JMO0FNblJJO0VBQ0M7QU5xUkw7QUdqR1M7RUc5S047SUFHQztJQUNBO0VOZ1JGO0VNOVFFO0lBQ0M7SUFDQTtFTmdSSDtFTTlRRztJQUNDO0VOZ1JKO0VNN1FHO0lBQ0M7RU4rUUo7RU01UUc7SUFDQztFTjhRSjtBQUNGOztBTXhRQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU4yUUY7O0FNeFFDOzs7Ozs7RUZzUlU7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFRTFRVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU42UUY7QU0zUUU7Ozs7OztFQUNDO0FOa1JIO0FNL1FFOzs7Ozs7RUFDQztFQUNBO0VBQ0E7QU5zUkg7O0FNbFJDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QU5xUkY7QU1uUkU7RUFDQztFQUNBO0FOcVJIO0FNalJHO0VBQ0M7QU5tUko7QU0vUUU7RUFDQztBTmlSSDs7QU03UUM7Ozs7RUFJQztBTmdSRjs7QU03UUM7RUFDQztBTmdSRjs7QU03UUM7O0VGaU5VO0VBQUE7RUFBQTtFQUFBO0VFOU1UO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTm1SRjtBTWpSRTs7RUMxSkQ7RUhpV1U7RUFBQTtFQUFBO0VBQUE7RUVwTVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FOdVJIO0FPMWJDOztFQU1DO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFNQztFQUNBO0FQbWJIO0FNbFNHOztFRjBMUTtFQUFBO0VBQUE7RUFBQTtFRXBMUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUVBO0VBQ0E7RUFDQTtFQUNBO0FObVNKO0FNOVJHOztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FOaVNKO0FNNVJHOztFQUNDO0VBQ0E7RUFDQTtBTitSSjs7QU14Ukc7RUFDQztBTjJSSjs7QU1wUkc7RUFDQztBTnVSSjs7QU1sUkM7RUFDQztFQUNBO0FOcVJGOztBTWxSQztFQUNDO0VBQ0E7QU5xUkY7O0FNbFJDO0VBQ0M7RUFDQTtBTnFSRjs7QU1sUkM7RUFDQztFQUNBO0FOcVJGOztBTWxSQztFQUNDO0VBQ0E7QU5xUkY7O0FRemdCQTtBQUVDO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QVIyZ0JGO0FRemdCRTs7O0VBR0M7QVIyZ0JIO0FReGdCRTtFQUNDO0VBQ0E7RUFDQTtBUjBnQkg7O0FTM2hCQTtBQUVDO0VGRkE7RUVJQztFQUNBO0FUNmhCRjtBT2hpQkM7RUFNQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBVUM7RUFDQTtBUG9oQkg7QVN2aUJFO0VBQ0M7QVR5aUJIO0FTdGlCRTtFQUNDO0FUd2lCSDtBU3BpQkc7RUFDQztBVHNpQko7QVNqaUJHO0VBQ0M7QVRtaUJKOztBVTFqQkE7QUFFQztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FWNGpCRjtBVTFqQkU7RU5zV1E7RU1wV1A7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBVjRqQkg7QVV6akJFO0VBQ0M7RUFDQTtBVjJqQkg7QVV4akJFO0VBRUM7QVZ5akJIO0FVdmpCRztFQUNDO0FWeWpCSjtBVXJqQkU7RUFDQztFQUNBO0VBQ0E7QVZ1akJIO0FVcGpCRTtFQUNDO0VBQ0E7RUFDQTtBVnNqQkg7QVVuakJFO0VBQ0M7RUFDQTtFQUNBO0FWcWpCSDtBVW5qQkc7RUFDQztBVnFqQko7QVVqakJFO0VBQ0M7RUFDQTtFQUNBO0FWbWpCSDtBVWpqQkc7RUFDQztBVm1qQko7QUdoYVM7RU85SU47SUFDQztFVmlqQkY7QUFDRjtBR3JhUztFT3hJTjtJQUNDO0VWZ2pCRjtBQUNGOztBVzluQkE7QUFFQztFQUNDO0VBQ0E7RUFDQTtBWGdvQkY7QVc5bkJFO0VBQ0M7QVhnb0JIOztBVzVuQkM7RUFDQztFQUNBO0VBQ0E7QVgrbkJGO0FXN25CRTtFQUNDO0FYK25CSDtBVzVuQkU7RUFDQztFQUNBO0FYOG5CSDtBVzVuQkc7RUFDQztFQUNBO0FYOG5CSjtBVzVuQkk7RUFDQztFQUNBO0FYOG5CTDs7QVd4bkJDO0VBQ0M7QVgybkJGO0FXem5CRTtFQUNDO0VBQ0E7RUFDQTtBWDJuQkg7QVd4bkJFO0VBQ0M7QVgwbkJIOztBWXpxQkE7QUFFQztFUnNXVTtFQUFBO0VBQUE7RUFBQTtFUXBXVDtFQUNBO0VBQ0E7RUFDQTtBWjhxQkY7QVk1cUJFO0VBQ0M7RUFDQTtBWjhxQkg7QVkzcUJFO0VSbVZTO0VBQUE7RUFBQTtFQUFBO0VRalZSO0VBQ0E7QVpnckJIO0FZN3FCSTtFQUNDO0FaK3FCTDtBWTFxQkU7RVJ1VVM7RUFBQTtFQUFBO0VBQUE7RVFyVVI7QVorcUJIO0FZN3FCRztFQUNDO0FaK3FCSjtBWTdxQkk7RUFDQztBWitxQkw7QVkxcUJFO0VBQ0M7QVo0cUJIO0FZMXFCRztFUnVUUTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VRcFRQO0Faa3JCSjtBWWhyQkk7RUFDQztBWmtyQkw7QVk5cUJHO0VBQ0M7QVpnckJKO0FHamhCUztFUzFKTjtJUnVTUTtJQUFBO0lBQUE7SUFBQTtJUXJTUDtJQUNBO0VaaXJCRjtFWS9xQkU7SVJrU087SUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtJUS9STjtJQUNBO0lBQ0E7RVp1ckJIO0VZcnJCRztJQUNDO0VadXJCSjtFWXByQkc7SUFDQztFWnNyQko7RVluckJHOzs7OztJQUtDO0VacXJCSjtFWWxyQks7Ozs7O0lBQ0M7RVp3ckJOO0FBQ0Y7O0FhaHhCQTtBQUVDO0VBQ0M7RUFDQTtFQUNBO0Fia3hCRjtBYWh4QkU7RUFDQztFQUNBO0Fia3hCSDtBYWh4Qkc7RUFDQztBYmt4Qko7QWEvd0JHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWJpeEJKO0FhL3dCSTtFQUNDO0FiaXhCTDtBYTl3Qkk7RUFDQztBYmd4Qkw7O0FjN3lCQTtBQUVDO0VBQ0M7RUFDQTtBZCt5QkY7O0FjNXlCQztFQUNDO0VBQ0E7QWQreUJGO0FjNXlCRztFQUNDO0VBQ0E7RUFDQTtBZDh5Qko7QWM1eUJJO0VBQ0M7QWQ4eUJMO0FjenlCRTtFQUNDO0FkMnlCSDtBY3h5QkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FkMHlCSDtBY3Z5QkU7RUFDQztBZHl5Qkg7QWN0eUJFO0VBQ0M7QWR3eUJIO0FjcnlCRTtFQUNDO0FkdXlCSDtBY255Qks7RUFDQztFQUNBO0VBQ0E7QWRxeUJOO0FjbnlCTTtFQUNDO0FkcXlCUDtBY2h5Qk07RUFDQztBZGt5QlA7QWM1eEJHO0VBQ0M7QWQ4eEJKO0FjM3hCRztFQUNDO0FkNnhCSjs7QWVwMkJBO0FBRUM7Ozs7O0VYK1ZVO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RVd4VlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmNDJCRjtBZTEyQkU7Ozs7O0VBQ0M7QWZnM0JIO0FlNzJCRTs7Ozs7RUFDQztBZm0zQkg7QWUvMkJHOzs7OztFQUNDO0FmcTNCSjtBZWozQkU7Ozs7O0VBQ0M7QWZ1M0JIO0FlcDNCRTs7Ozs7RUFDQztFQUNBO0VBQ0E7QWYwM0JIO0FldjNCRTs7Ozs7RUFDQztFQUNBO0VBQ0E7QWY2M0JIO0FlcDNCRTs7Ozs7Ozs7O0VYOFNRO0VXM1NQO0VBQ0E7QWY2M0JIOztBZXozQkM7Ozs7RUFJQztBZjQzQkY7O0FnQng4QkE7QUFFQztFWitWVTtFQUFBO0VBQUE7RUFBQTtFWTdWVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2OEJGO0FnQjM4QkU7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEI2OEJIO0FnQjE4QkU7RVoyVVM7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFWXhVUjtFQUVBO0VBRUE7RUFFQTtFQUVBO0FoQjg4Qkg7QWdCMzhCRTtFWjZUUztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VZdlRSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCZzlCSDtBZ0I1OEJHO0VaK1NRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7QUp1cUJYO0FnQi84Qkc7RUFDQztBaEJpOUJKOztBaUIzZ0NBO0FBRUM7RWJzV1U7RUFBQTtFQUFBO0VBQUE7RUFQQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RWExVlQ7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakJ5aENGO0FpQnZoQ0U7RUFDQztFQUNBO0FqQnloQ0g7QUdwMUJTO0VjbE5SO0lBaUJFO0VqQnloQ0Q7QUFDRjtBR3oxQlM7RWNsTlI7SUFxQkU7RWpCMGhDRDtBQUNGO0FHOTFCUztFY2xOUjtJQXlCRTtFakIyaENEO0FBQ0Y7O0FrQnZqQ0E7QUFFQztFZHNXVTtFQUFBO0VBQUE7RUFBQTtFQVBBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFY3RWVDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCaWtDRjtBa0IvakNFO0VkK1VTO0VBQUE7RUFBQTtFQUFBO0VjN1VSO0VBQ0E7QWxCb2tDSDtBa0Jsa0NHO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJva0NKO0FrQmhrQ0U7RUFDQztBbEJra0NIO0FrQmhrQ0c7RUFDQztBbEJra0NKO0FrQjlqQ0U7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQmdrQ0g7QWtCN2pDSTtFQUNDO0FsQitqQ0w7QWtCMWpDRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCNGpDSDtBa0IxakNHO0VkaVNRO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RWMxUlA7RUFDQTtFQUNBO0FsQjhqQ0o7QWtCNWpDSTtFQUNDO0FsQjhqQ0w7QWtCM2pDSTtFQUNDO0FsQjZqQ0w7QWtCempDRztFQUNDO0VBQ0E7RUFDQTtFQUNBO0FsQjJqQ0o7QWtCdGpDRztFZDJRUTtFQUFBO0VBQUE7RUFBQTtFY3pRUDtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQjJqQ0o7QWtCempDSTtFQUNDO0VBQ0E7QWxCMmpDTDtBa0J6akNLO0VBQ0M7QWxCMmpDTjtBa0J4akNLO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsQjBqQ047QWtCeGpDTTtFQUNDO0FsQjBqQ1A7QWtCdmpDTTtFQUNDO0FsQnlqQ1A7QWtCbGpDSTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCb2pDTDtBa0IvaUNNO0VBQ0M7QWxCaWpDUDtBa0IxaUNFO0Vkd01TO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RWNyTVI7QWxCa2pDSDtBa0IvaUNFO0Vka01TO0VBQUE7RUFBQTtFQUFBO0FKbTNCWDtBa0JwakNHO0VBQ0M7QWxCc2pDSjtBa0JoakNJO0VBQ0M7RUFDQTtFQUNBO0VBQ0E7QWxCa2pDTDtBR3pnQ1M7RWVqQ0o7SUFDQztFbEI2aUNKO0FBQ0Y7QUc5Z0NTO0VlekJOO0lBQ0M7RWxCMGlDRjtFa0J4aUNFO0lBQ0M7SUFDQTtFbEIwaUNIO0VrQnRpQ0M7SUFDQztJQUNBO0lBQ0E7RWxCd2lDRjtFa0JyaUNHO0lBQ0M7RWxCdWlDSjtFa0JqaUNFO0lBQ0M7RWxCbWlDSDtFa0JoaUNFO0lBQ0M7RWxCa2lDSDtBQUNGO0FHcmlDUztFZWxOUjtJQTBORTtFbEJpaUNEO0VrQjloQ0U7SUFDQztFbEJnaUNIO0VrQjNoQ0U7SWQ0SE87SUFBQTtJQUFBO0lBQUE7SWMxSE47SUFDQTtFbEJnaUNIO0VrQjloQ0c7SUFDQztJQUNBO0VsQmdpQ0o7RWtCOWhDSTtJQUNDO0VsQmdpQ0w7RWtCN2hDSTtJQUNDO0lBQ0E7SUFDQTtJQUNBO0VsQitoQ0w7RWtCemhDRztJQUNDO0VsQjJoQ0o7QUFDRjs7QW1CenhDQTtBQUVDO0VmK1ZVO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFPQTtFQUFBO0VBQUE7RUFBQTtFQVBBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFZXhWVDtFQUNBO0VBQ0E7QW5CNnlDRjtBbUIzeUNFO0Vmb1ZTO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUcvU1Y7RVk5QkU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQmd6Q0g7QW1COXlDRztFZnNVUTtFQUFBO0VBQUE7RUFBQTtFZXBVUDtBbkJtekNKO0FtQmh6Q0c7RUFDQztFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkJrekNKO0FtQmh6Q0k7RWZxVE87RUFBQTtFQUFBO0VBQUE7RWVuVE47RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FuQnF6Q0w7QW1CanpDSztFQUNDO0FuQm16Q047QW1COXlDSztFQUNDO0FuQmd6Q047QUdocUNTO0VnQnpJTjtJWnpCRjtFUHMwQ0M7RW1CenlDRztJQUNDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RW5CMnlDSjtBQUNGO0FHNXFDUztFZ0J6SE47SVp6Q0Y7RVBrMUNDO0FBQ0Y7O0FvQnI0Q0E7QUFFQztFaEIrVlU7RUFBQTtFQUFBO0VBQUE7RWdCelZUO0VBQ0E7RUFDQTtFQUNBO0FwQnM0Q0Y7QW9CcDRDRTtFQUNDO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBCczRDSDtBb0JuNENFO0VoQjRVUztFQUFBO0VBQUE7RUFBQTtFQUFBO0VBQUE7RUFBQTtFQUFBO0VnQnpVUjtBcEIyNENIO0FvQng0Q0U7RUFDQztBcEIwNENILEM7Ozs7QXFCdDZDQTs7OztDQUFBO0FBTUE7QUFJRztFQUNDO0FBVEo7O0FBY0E7QUFHRTtFakI4VVM7RUFBQTtFQUFBO0VBQUE7QWlCdlZYO0FBVUc7RUFDQztBQVJKO0FBY0k7RUFDQztFQUNBO0VBQ0E7QUFaTDs7QUFrQkE7QUFHRTtFQUNDO0VBQ0E7QUFqQkgsQyIsInNvdXJjZXMiOlsid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL21haW4uc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9iYXNlL19yZXNldC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Jhc2UvX3BhZ2Uuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9saWJzL19icmVha3BvaW50cy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2xpYnMvX3ZlbmRvci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19mb3JtLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbGlicy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fYm94LnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9faWNvbi5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbGlzdC5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2FjdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19pY29ucy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbGF5b3V0L19iZy5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2xheW91dC9fd3JhcHBlci5zY3NzIiwid2VicGFjazovLy8uL2Fzc2V0cy9zY3NzL2xheW91dC9faGVhZGVyLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbGF5b3V0L19tYWluLnNjc3MiLCJ3ZWJwYWNrOi8vLy4vYXNzZXRzL3Njc3MvbGF5b3V0L19mb290ZXIuc2NzcyIsIndlYnBhY2s6Ly8vLi9hc3NldHMvc2Nzcy9ub3NjcmlwdC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJ2xpYnMvdmFycyc7XHJcbkBpbXBvcnQgJ2xpYnMvZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbGlicy9taXhpbnMnO1xyXG5AaW1wb3J0ICdsaWJzL3ZlbmRvcic7XHJcbkBpbXBvcnQgJ2xpYnMvYnJlYWtwb2ludHMnO1xyXG5AaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3M/ZmFtaWx5PVNvdXJjZStTYW5zK1BybzozMDBpdGFsaWMsNjAwaXRhbGljLDMwMCw2MDAnKTtcclxuXHJcbi8qXHJcblx0RGltZW5zaW9uIGJ5IEhUTUw1IFVQXHJcblx0aHRtbDV1cC5uZXQgfCBAYWpsa25cclxuXHRGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuKi9cclxuXHJcbi8vIEJyZWFrcG9pbnRzLlxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50cygoXHJcblx0XHR4bGFyZ2U6ICAgKCAxMjgxcHgsICAxNjgwcHggKSxcclxuXHRcdGxhcmdlOiAgICAoIDk4MXB4LCAgIDEyODBweCApLFxyXG5cdFx0bWVkaXVtOiAgICggNzM3cHgsICAgOTgwcHggICksXHJcblx0XHRzbWFsbDogICAgKCA0ODFweCwgICA3MzZweCAgKSxcclxuXHRcdHhzbWFsbDogICAoIDM2MXB4LCAgIDQ4MHB4ICApLFxyXG5cdFx0eHhzbWFsbDogICggbnVsbCwgICAgMzYwcHggIClcclxuXHQpKTtcclxuXHJcbi8vIEJhc2UuXHJcblxyXG5cdEBpbXBvcnQgJ2Jhc2UvcmVzZXQnO1xyXG5cdEBpbXBvcnQgJ2Jhc2UvcGFnZSc7XHJcblx0QGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcclxuXHJcbi8vIENvbXBvbmVudC5cclxuXHJcblx0QGltcG9ydCAnY29tcG9uZW50cy9mb3JtJztcclxuXHRAaW1wb3J0ICdjb21wb25lbnRzL2JveCc7XHJcblx0QGltcG9ydCAnY29tcG9uZW50cy9pY29uJztcclxuXHRAaW1wb3J0ICdjb21wb25lbnRzL2ltYWdlJztcclxuXHRAaW1wb3J0ICdjb21wb25lbnRzL2xpc3QnO1xyXG5cdEBpbXBvcnQgJ2NvbXBvbmVudHMvYWN0aW9ucyc7XHJcblx0QGltcG9ydCAnY29tcG9uZW50cy9pY29ucyc7XHJcblx0QGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XHJcblx0QGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xyXG5cclxuLy8gTGF5b3V0LlxyXG5cclxuXHRAaW1wb3J0ICdsYXlvdXQvYmcnO1xyXG5cdEBpbXBvcnQgJ2xheW91dC93cmFwcGVyJztcclxuXHRAaW1wb3J0ICdsYXlvdXQvaGVhZGVyJztcclxuXHRAaW1wb3J0ICdsYXlvdXQvbWFpbic7XHJcblx0QGltcG9ydCAnbGF5b3V0L2Zvb3Rlcic7IiwiLy8vXHJcbi8vLyBEaW1lbnNpb24gYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vLyBSZXNldC5cclxuLy8gQmFzZWQgb24gbWV5ZXJ3ZWIuY29tL2VyaWMvdG9vbHMvY3NzL3Jlc2V0ICh2Mi4wIHwgMjAxMTAxMjYgfCBMaWNlbnNlOiBwdWJsaWMgZG9tYWluKVxyXG5cclxuXHRodG1sLCBib2R5LCBkaXYsIHNwYW4sIGFwcGxldCwgb2JqZWN0LFxyXG5cdGlmcmFtZSwgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgYmxvY2txdW90ZSxcclxuXHRwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSxcclxuXHRjb2RlLCBkZWwsIGRmbiwgZW0sIGltZywgaW5zLCBrYmQsIHEsIHMsIHNhbXAsXHJcblx0c21hbGwsIHN0cmlrZSwgc3Ryb25nLCBzdWIsIHN1cCwgdHQsIHZhciwgYixcclxuXHR1LCBpLCBjZW50ZXIsIGRsLCBkdCwgZGQsIG9sLCB1bCwgbGksIGZpZWxkc2V0LFxyXG5cdGZvcm0sIGxhYmVsLCBsZWdlbmQsIHRhYmxlLCBjYXB0aW9uLCB0Ym9keSxcclxuXHR0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGQsIGFydGljbGUsIGFzaWRlLFxyXG5cdGNhbnZhcywgZGV0YWlscywgZW1iZWQsIGZpZ3VyZSwgZmlnY2FwdGlvbixcclxuXHRmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtZW51LCBuYXYsIG91dHB1dCwgcnVieSxcclxuXHRzZWN0aW9uLCBzdW1tYXJ5LCB0aW1lLCBtYXJrLCBhdWRpbywgdmlkZW8ge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGZvbnQtc2l6ZTogMTAwJTtcclxuXHRcdGZvbnQ6IGluaGVyaXQ7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcblx0fVxyXG5cclxuXHRhcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLFxyXG5cdGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdiwgc2VjdGlvbiB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHR9XHJcblxyXG5cdGJvZHkge1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0fVxyXG5cclxuXHRvbCwgdWwge1xyXG5cdFx0bGlzdC1zdHlsZTpub25lO1xyXG5cdH1cclxuXHJcblx0YmxvY2txdW90ZSxcdHEge1xyXG5cdFx0cXVvdGVzOiBub25lO1xyXG5cclxuXHRcdCY6YmVmb3JlLFxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRjb250ZW50OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dGFibGUge1xyXG5cdFx0Ym9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcclxuXHRcdGJvcmRlci1zcGFjaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0Ym9keSB7XHJcblx0XHQtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRtYXJrIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0fVxyXG5cclxuXHRpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XHJcblx0XHRib3JkZXI6IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0aW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xyXG5cdFx0LW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0LXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG5cdFx0LW1zLWFwcGVhcmFuY2U6IG5vbmU7XHJcblx0XHRhcHBlYXJhbmNlOiBub25lO1xyXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEJhc2ljICovXHJcblxyXG5cdC8vIE1TSUU6IFJlcXVpcmVkIGZvciBJRU1vYmlsZS5cclxuXHRcdEAtbXMtdmlld3BvcnQge1xyXG5cdFx0XHR3aWR0aDogZGV2aWNlLXdpZHRoO1xyXG5cdFx0fVxyXG5cclxuXHQvLyBFbnN1cmVzIHBhZ2Ugd2lkdGggaXMgYWx3YXlzID49MzIwcHguXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhzbWFsbCcpIHtcclxuXHRcdFx0aHRtbCwgYm9keSB7XHJcblx0XHRcdFx0bWluLXdpZHRoOiAzMjBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHQvLyBTZXQgYm94IG1vZGVsIHRvIGJvcmRlci1ib3guXHJcblx0Ly8gQmFzZWQgb24gY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlXHJcblx0XHRodG1sIHtcclxuXHRcdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcclxuXHRcdH1cclxuXHJcblx0XHQqLCAqOmJlZm9yZSwgKjphZnRlciB7XHJcblx0XHRcdGJveC1zaXppbmc6IGluaGVyaXQ7XHJcblx0XHR9XHJcblxyXG5cdGJvZHkge1xyXG5cdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoYmcpO1xyXG5cclxuXHRcdC8vIFN0b3BzIGluaXRpYWwgYW5pbWF0aW9ucyB1bnRpbCBwYWdlIGxvYWRzLlxyXG5cdFx0XHQmLmlzLXByZWxvYWQge1xyXG5cdFx0XHRcdCosICo6YmVmb3JlLCAqOmFmdGVyIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignYW5pbWF0aW9uJywgJ25vbmUgIWltcG9ydGFudCcpO1xyXG5cdFx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgJ25vbmUgIWltcG9ydGFudCcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHR9IiwiLy8gYnJlYWtwb2ludHMuc2NzcyB2MS4wIHwgQGFqbGtuIHwgTUlUIGxpY2Vuc2VkICovXG5cbi8vIFZhcnMuXG5cblx0Ly8vIEJyZWFrcG9pbnRzLlxuXHQvLy8gQHZhciB7bGlzdH1cblx0JGJyZWFrcG9pbnRzOiAoKSAhZ2xvYmFsO1xuXG4vLyBNaXhpbnMuXG5cblx0Ly8vIFNldHMgYnJlYWtwb2ludHMuXG5cdC8vLyBAcGFyYW0ge21hcH0gJHggQnJlYWtwb2ludHMuXG5cdEBtaXhpbiBicmVha3BvaW50cygkeDogKCkpIHtcblx0XHQkYnJlYWtwb2ludHM6ICR4ICFnbG9iYWw7XG5cdH1cblxuXHQvLy8gV3JhcHMgQGNvbnRlbnQgaW4gYSBAbWVkaWEgYmxvY2sgdGFyZ2V0aW5nIGEgc3BlY2lmaWMgb3JpZW50YXRpb24uXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJG9yaWVudGF0aW9uIE9yaWVudGF0aW9uLlxuXHRAbWl4aW4gb3JpZW50YXRpb24oJG9yaWVudGF0aW9uKSB7XG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiAjeyRvcmllbnRhdGlvbn0pIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fVxuXG5cdC8vLyBXcmFwcyBAY29udGVudCBpbiBhIEBtZWRpYSBibG9jayB1c2luZyBhIGdpdmVuIHF1ZXJ5LlxuXHQvLy8gQHBhcmFtIHtzdHJpbmd9ICRxdWVyeSBRdWVyeS5cblx0QG1peGluIGJyZWFrcG9pbnQoJHF1ZXJ5OiBudWxsKSB7XG5cblx0XHQkYnJlYWtwb2ludDogbnVsbDtcblx0XHQkb3A6IG51bGw7XG5cdFx0JG1lZGlhOiBudWxsO1xuXG5cdFx0Ly8gRGV0ZXJtaW5lIG9wZXJhdG9yLCBicmVha3BvaW50LlxuXG5cdFx0XHQvLyBHcmVhdGVyIHRoYW4gb3IgZXF1YWwuXG5cdFx0XHRcdEBpZiAoc3RyLXNsaWNlKCRxdWVyeSwgMCwgMikgPT0gJz49Jykge1xuXG5cdFx0XHRcdFx0JG9wOiAnZ3RlJztcblx0XHRcdFx0XHQkYnJlYWtwb2ludDogc3RyLXNsaWNlKCRxdWVyeSwgMyk7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHQvLyBMZXNzIHRoYW4gb3IgZXF1YWwuXG5cdFx0XHRcdEBlbHNlaWYgKHN0ci1zbGljZSgkcXVlcnksIDAsIDIpID09ICc8PScpIHtcblxuXHRcdFx0XHRcdCRvcDogJ2x0ZSc7XG5cdFx0XHRcdFx0JGJyZWFrcG9pbnQ6IHN0ci1zbGljZSgkcXVlcnksIDMpO1xuXG5cdFx0XHRcdH1cblxuXHRcdFx0Ly8gR3JlYXRlciB0aGFuLlxuXHRcdFx0XHRAZWxzZWlmIChzdHItc2xpY2UoJHF1ZXJ5LCAwLCAxKSA9PSAnPicpIHtcblxuXHRcdFx0XHRcdCRvcDogJ2d0Jztcblx0XHRcdFx0XHQkYnJlYWtwb2ludDogc3RyLXNsaWNlKCRxdWVyeSwgMik7XG5cblx0XHRcdFx0fVxuXG5cdFx0XHQvLyBMZXNzIHRoYW4uXG5cdFx0XHRcdEBlbHNlaWYgKHN0ci1zbGljZSgkcXVlcnksIDAsIDEpID09ICc8Jykge1xuXG5cdFx0XHRcdFx0JG9wOiAnbHQnO1xuXHRcdFx0XHRcdCRicmVha3BvaW50OiBzdHItc2xpY2UoJHF1ZXJ5LCAyKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdC8vIE5vdC5cblx0XHRcdFx0QGVsc2VpZiAoc3RyLXNsaWNlKCRxdWVyeSwgMCwgMSkgPT0gJyEnKSB7XG5cblx0XHRcdFx0XHQkb3A6ICdub3QnO1xuXHRcdFx0XHRcdCRicmVha3BvaW50OiBzdHItc2xpY2UoJHF1ZXJ5LCAyKTtcblxuXHRcdFx0XHR9XG5cblx0XHRcdC8vIEVxdWFsLlxuXHRcdFx0XHRAZWxzZSB7XG5cblx0XHRcdFx0XHQkb3A6ICdlcSc7XG5cdFx0XHRcdFx0JGJyZWFrcG9pbnQ6ICRxdWVyeTtcblxuXHRcdFx0XHR9XG5cblx0XHQvLyBCdWlsZCBtZWRpYS5cblx0XHRcdEBpZiAoJGJyZWFrcG9pbnQgYW5kIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJyZWFrcG9pbnQpKSB7XG5cblx0XHRcdFx0JGE6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludCk7XG5cblx0XHRcdFx0Ly8gUmFuZ2UuXG5cdFx0XHRcdFx0QGlmICh0eXBlLW9mKCRhKSA9PSAnbGlzdCcpIHtcblxuXHRcdFx0XHRcdFx0JHg6IG50aCgkYSwgMSk7XG5cdFx0XHRcdFx0XHQkeTogbnRoKCRhLCAyKTtcblxuXHRcdFx0XHRcdFx0Ly8gTWF4IG9ubHkuXG5cdFx0XHRcdFx0XHRcdEBpZiAoJHggPT0gbnVsbCkge1xuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gR3JlYXRlciB0aGFuIG9yIGVxdWFsICg+PSAwIC8gYW55dGhpbmcpXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKCRvcCA9PSAnZ3RlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4nO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTGVzcyB0aGFuIG9yIGVxdWFsICg8PSB5KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2VpZiAoJG9wID09ICdsdGUnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogJyArICR5ICsgJyknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gR3JlYXRlciB0aGFuICg+IHkpXG5cdFx0XHRcdFx0XHRcdFx0XHRAZWxzZWlmICgkb3AgPT0gJ2d0Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAoJHkgKyAxKSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIExlc3MgdGhhbiAoPCAwIC8gaW52YWxpZClcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHQnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogLTFweCknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTm90ICg+IHkpXG5cdFx0XHRcdFx0XHRcdFx0XHRAZWxzZWlmICgkb3AgPT0gJ25vdCcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgKCR5ICsgMSkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBFcXVhbCAoPD0geSlcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAnICsgJHkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHQvLyBNaW4gb25seS5cblx0XHRcdFx0XHRcdFx0QGVsc2UgaWYgKCR5ID09IG51bGwpIHtcblxuXHRcdFx0XHRcdFx0XHRcdC8vIEdyZWF0ZXIgdGhhbiBvciBlcXVhbCAoPj0geClcblx0XHRcdFx0XHRcdFx0XHRcdEBpZiAoJG9wID09ICdndGUnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogJyArICR4ICsgJyknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTGVzcyB0aGFuIG9yIGVxdWFsICg8PSBpbmYgLyBhbnl0aGluZylcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHRlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4nO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gR3JlYXRlciB0aGFuICg+IGluZiAvIGludmFsaWQpXG5cdFx0XHRcdFx0XHRcdFx0XHRAZWxzZWlmICgkb3AgPT0gJ2d0Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6IC0xcHgpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIExlc3MgdGhhbiAoPCB4KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2VpZiAoJG9wID09ICdsdCcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAnICsgKCR4IC0gMSkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBOb3QgKDwgeClcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbm90Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICcgKyAoJHggLSAxKSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIEVxdWFsICg+PSB4KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkeCArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdC8vIE1pbiBhbmQgbWF4LlxuXHRcdFx0XHRcdFx0XHRAZWxzZSB7XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBHcmVhdGVyIHRoYW4gb3IgZXF1YWwgKD49IHgpXG5cdFx0XHRcdFx0XHRcdFx0XHRAaWYgKCRvcCA9PSAnZ3RlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkeCArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIExlc3MgdGhhbiBvciBlcXVhbCAoPD0geSlcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHRlJykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICcgKyAkeSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIEdyZWF0ZXIgdGhhbiAoPiB5KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2VpZiAoJG9wID09ICdndCcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgKCR5ICsgMSkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0XHQvLyBMZXNzIHRoYW4gKDwgeClcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbHQnKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdCRtZWRpYTogJ3NjcmVlbiBhbmQgKG1heC13aWR0aDogJyArICgkeCAtIDEpICsgJyknO1xuXHRcdFx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0XHRcdFx0Ly8gTm90ICg8IHggYW5kID4geSlcblx0XHRcdFx0XHRcdFx0XHRcdEBlbHNlaWYgKCRvcCA9PSAnbm90Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICcgKyAoJHggLSAxKSArICcpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAoJHkgKyAxKSArICcpJztcblx0XHRcdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0XHRcdC8vIEVxdWFsICg+PSB4IGFuZCA8PSB5KVxuXHRcdFx0XHRcdFx0XHRcdFx0QGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkeCArICcpIGFuZCAobWF4LXdpZHRoOiAnICsgJHkgKyAnKSc7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHRcdFx0fVxuXG5cdFx0XHRcdFx0fVxuXG5cdFx0XHRcdC8vIFN0cmluZy5cblx0XHRcdFx0XHRAZWxzZSB7XG5cblx0XHRcdFx0XHRcdC8vIE1pc3NpbmcgYSBtZWRpYSB0eXBlPyBQcmVmaXggd2l0aCBcInNjcmVlblwiLlxuXHRcdFx0XHRcdFx0XHRAaWYgKHN0ci1zbGljZSgkYSwgMCwgMSkgPT0gJygnKSB7XG5cdFx0XHRcdFx0XHRcdFx0JG1lZGlhOiAnc2NyZWVuIGFuZCAnICsgJGE7XG5cdFx0XHRcdFx0XHRcdH1cblxuXHRcdFx0XHRcdFx0Ly8gT3RoZXJ3aXNlLCB1c2UgYXMtaXMuXG5cdFx0XHRcdFx0XHRcdEBlbHNlIHtcblx0XHRcdFx0XHRcdFx0XHQkbWVkaWE6ICRhO1xuXHRcdFx0XHRcdFx0XHR9XG5cblx0XHRcdFx0XHR9XG5cblx0XHRcdH1cblxuXHRcdC8vIE91dHB1dC5cblx0ICAgICAgICBAbWVkaWEgI3skbWVkaWF9IHtcblx0XHRcdFx0QGNvbnRlbnQ7XG5cdFx0XHR9XG5cblx0fSIsIi8vIHZlbmRvci5zY3NzIHYxLjAgfCBAYWpsa24gfCBNSVQgbGljZW5zZWQgKi9cblxuLy8gVmFycy5cblxuXHQvLy8gVmVuZG9yIHByZWZpeGVzLlxuXHQvLy8gQHZhciB7bGlzdH1cblx0JHZlbmRvci1wcmVmaXhlczogKFxuXHRcdCctbW96LScsXG5cdFx0Jy13ZWJraXQtJyxcblx0XHQnLW1zLScsXG5cdFx0Jydcblx0KTtcblxuXHQvLy8gUHJvcGVydGllcyB0aGF0IHNob3VsZCBiZSB2ZW5kb3JpemVkLlxuXHQvLy8gRGF0YSB2aWEgY2FuaXVzZS5jb20sIGdpdGh1Yi5jb20vcG9zdGNzcy9hdXRvcHJlZml4ZXIsIGFuZCBkZXZlbG9wZXIubW96aWxsYS5vcmdcblx0Ly8vIEB2YXIge2xpc3R9XG5cdCR2ZW5kb3ItcHJvcGVydGllczogKFxuXG5cdFx0Ly8gQW5pbWF0aW9uLlxuXHRcdFx0J2FuaW1hdGlvbicsXG5cdFx0XHQnYW5pbWF0aW9uLWRlbGF5Jyxcblx0XHRcdCdhbmltYXRpb24tZGlyZWN0aW9uJyxcblx0XHRcdCdhbmltYXRpb24tZHVyYXRpb24nLFxuXHRcdFx0J2FuaW1hdGlvbi1maWxsLW1vZGUnLFxuXHRcdFx0J2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLFxuXHRcdFx0J2FuaW1hdGlvbi1uYW1lJyxcblx0XHRcdCdhbmltYXRpb24tcGxheS1zdGF0ZScsXG5cdFx0XHQnYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbicsXG5cblx0XHQvLyBBcHBlYXJhbmNlLlxuXHRcdFx0J2FwcGVhcmFuY2UnLFxuXG5cdFx0Ly8gQmFja2Ryb3AgZmlsdGVyLlxuXHRcdFx0J2JhY2tkcm9wLWZpbHRlcicsXG5cblx0XHQvLyBCYWNrZ3JvdW5kIGltYWdlIG9wdGlvbnMuXG5cdFx0XHQnYmFja2dyb3VuZC1jbGlwJyxcblx0XHRcdCdiYWNrZ3JvdW5kLW9yaWdpbicsXG5cdFx0XHQnYmFja2dyb3VuZC1zaXplJyxcblxuXHRcdC8vIEJveCBzaXppbmcuXG5cdFx0XHQnYm94LXNpemluZycsXG5cblx0XHQvLyBDbGlwIHBhdGguXG5cdFx0XHQnY2xpcC1wYXRoJyxcblxuXHRcdC8vIEZpbHRlciBlZmZlY3RzLlxuXHRcdFx0J2ZpbHRlcicsXG5cblx0XHQvLyBGbGV4Ym94LlxuXHRcdFx0J2FsaWduLWNvbnRlbnQnLFxuXHRcdFx0J2FsaWduLWl0ZW1zJyxcblx0XHRcdCdhbGlnbi1zZWxmJyxcblx0XHRcdCdmbGV4Jyxcblx0XHRcdCdmbGV4LWJhc2lzJyxcblx0XHRcdCdmbGV4LWRpcmVjdGlvbicsXG5cdFx0XHQnZmxleC1mbG93Jyxcblx0XHRcdCdmbGV4LWdyb3cnLFxuXHRcdFx0J2ZsZXgtc2hyaW5rJyxcblx0XHRcdCdmbGV4LXdyYXAnLFxuXHRcdFx0J2p1c3RpZnktY29udGVudCcsXG5cdFx0XHQnb3JkZXInLFxuXG5cdFx0Ly8gRm9udCBmZWF0dXJlLlxuXHRcdFx0J2ZvbnQtZmVhdHVyZS1zZXR0aW5ncycsXG5cdFx0XHQnZm9udC1sYW5ndWFnZS1vdmVycmlkZScsXG5cdFx0XHQnZm9udC12YXJpYW50LWxpZ2F0dXJlcycsXG5cblx0XHQvLyBGb250IGtlcm5pbmcuXG5cdFx0XHQnZm9udC1rZXJuaW5nJyxcblxuXHRcdC8vIEZyYWdtZW50ZWQgYm9yZGVycyBhbmQgYmFja2dyb3VuZHMuXG5cdFx0XHQnYm94LWRlY29yYXRpb24tYnJlYWsnLFxuXG5cdFx0Ly8gR3JpZCBsYXlvdXQuXG5cdFx0XHQnZ3JpZC1jb2x1bW4nLFxuXHRcdFx0J2dyaWQtY29sdW1uLWFsaWduJyxcblx0XHRcdCdncmlkLWNvbHVtbi1lbmQnLFxuXHRcdFx0J2dyaWQtY29sdW1uLXN0YXJ0Jyxcblx0XHRcdCdncmlkLXJvdycsXG5cdFx0XHQnZ3JpZC1yb3ctYWxpZ24nLFxuXHRcdFx0J2dyaWQtcm93LWVuZCcsXG5cdFx0XHQnZ3JpZC1yb3ctc3RhcnQnLFxuXHRcdFx0J2dyaWQtdGVtcGxhdGUtY29sdW1ucycsXG5cdFx0XHQnZ3JpZC10ZW1wbGF0ZS1yb3dzJyxcblxuXHRcdC8vIEh5cGhlbnMuXG5cdFx0XHQnaHlwaGVucycsXG5cdFx0XHQnd29yZC1icmVhaycsXG5cblx0XHQvLyBNYXNrcy5cblx0XHRcdCdtYXNrJyxcblx0XHRcdCdtYXNrLWJvcmRlcicsXG5cdFx0XHQnbWFzay1ib3JkZXItb3V0c2V0Jyxcblx0XHRcdCdtYXNrLWJvcmRlci1yZXBlYXQnLFxuXHRcdFx0J21hc2stYm9yZGVyLXNsaWNlJyxcblx0XHRcdCdtYXNrLWJvcmRlci1zb3VyY2UnLFxuXHRcdFx0J21hc2stYm9yZGVyLXdpZHRoJyxcblx0XHRcdCdtYXNrLWNsaXAnLFxuXHRcdFx0J21hc2stY29tcG9zaXRlJyxcblx0XHRcdCdtYXNrLWltYWdlJyxcblx0XHRcdCdtYXNrLW9yaWdpbicsXG5cdFx0XHQnbWFzay1wb3NpdGlvbicsXG5cdFx0XHQnbWFzay1yZXBlYXQnLFxuXHRcdFx0J21hc2stc2l6ZScsXG5cblx0XHQvLyBNdWx0aWNvbHVtbi5cblx0XHRcdCdicmVhay1hZnRlcicsXG5cdFx0XHQnYnJlYWstYmVmb3JlJyxcblx0XHRcdCdicmVhay1pbnNpZGUnLFxuXHRcdFx0J2NvbHVtbi1jb3VudCcsXG5cdFx0XHQnY29sdW1uLWZpbGwnLFxuXHRcdFx0J2NvbHVtbi1nYXAnLFxuXHRcdFx0J2NvbHVtbi1ydWxlJyxcblx0XHRcdCdjb2x1bW4tcnVsZS1jb2xvcicsXG5cdFx0XHQnY29sdW1uLXJ1bGUtc3R5bGUnLFxuXHRcdFx0J2NvbHVtbi1ydWxlLXdpZHRoJyxcblx0XHRcdCdjb2x1bW4tc3BhbicsXG5cdFx0XHQnY29sdW1uLXdpZHRoJyxcblx0XHRcdCdjb2x1bW5zJyxcblxuXHRcdC8vIE9iamVjdCBmaXQuXG5cdFx0XHQnb2JqZWN0LWZpdCcsXG5cdFx0XHQnb2JqZWN0LXBvc2l0aW9uJyxcblxuXHRcdC8vIFJlZ2lvbnMuXG5cdFx0XHQnZmxvdy1mcm9tJyxcblx0XHRcdCdmbG93LWludG8nLFxuXHRcdFx0J3JlZ2lvbi1mcmFnbWVudCcsXG5cblx0XHQvLyBTY3JvbGwgc25hcCBwb2ludHMuXG5cdFx0XHQnc2Nyb2xsLXNuYXAtY29vcmRpbmF0ZScsXG5cdFx0XHQnc2Nyb2xsLXNuYXAtZGVzdGluYXRpb24nLFxuXHRcdFx0J3Njcm9sbC1zbmFwLXBvaW50cy14Jyxcblx0XHRcdCdzY3JvbGwtc25hcC1wb2ludHMteScsXG5cdFx0XHQnc2Nyb2xsLXNuYXAtdHlwZScsXG5cblx0XHQvLyBTaGFwZXMuXG5cdFx0XHQnc2hhcGUtaW1hZ2UtdGhyZXNob2xkJyxcblx0XHRcdCdzaGFwZS1tYXJnaW4nLFxuXHRcdFx0J3NoYXBlLW91dHNpZGUnLFxuXG5cdFx0Ly8gVGFiIHNpemUuXG5cdFx0XHQndGFiLXNpemUnLFxuXG5cdFx0Ly8gVGV4dCBhbGlnbiBsYXN0LlxuXHRcdFx0J3RleHQtYWxpZ24tbGFzdCcsXG5cblx0XHQvLyBUZXh0IGRlY29yYXRpb24uXG5cdFx0XHQndGV4dC1kZWNvcmF0aW9uLWNvbG9yJyxcblx0XHRcdCd0ZXh0LWRlY29yYXRpb24tbGluZScsXG5cdFx0XHQndGV4dC1kZWNvcmF0aW9uLXNraXAnLFxuXHRcdFx0J3RleHQtZGVjb3JhdGlvbi1zdHlsZScsXG5cblx0XHQvLyBUZXh0IGVtcGhhc2lzLlxuXHRcdFx0J3RleHQtZW1waGFzaXMnLFxuXHRcdFx0J3RleHQtZW1waGFzaXMtY29sb3InLFxuXHRcdFx0J3RleHQtZW1waGFzaXMtcG9zaXRpb24nLFxuXHRcdFx0J3RleHQtZW1waGFzaXMtc3R5bGUnLFxuXG5cdFx0Ly8gVGV4dCBzaXplIGFkanVzdC5cblx0XHRcdCd0ZXh0LXNpemUtYWRqdXN0JyxcblxuXHRcdC8vIFRleHQgc3BhY2luZy5cblx0XHRcdCd0ZXh0LXNwYWNpbmcnLFxuXG5cdFx0Ly8gVHJhbnNmb3JtLlxuXHRcdFx0J3RyYW5zZm9ybScsXG5cdFx0XHQndHJhbnNmb3JtLW9yaWdpbicsXG5cblx0XHQvLyBUcmFuc2Zvcm0gM0QuXG5cdFx0XHQnYmFja2ZhY2UtdmlzaWJpbGl0eScsXG5cdFx0XHQncGVyc3BlY3RpdmUnLFxuXHRcdFx0J3BlcnNwZWN0aXZlLW9yaWdpbicsXG5cdFx0XHQndHJhbnNmb3JtLXN0eWxlJyxcblxuXHRcdC8vIFRyYW5zaXRpb24uXG5cdFx0XHQndHJhbnNpdGlvbicsXG5cdFx0XHQndHJhbnNpdGlvbi1kZWxheScsXG5cdFx0XHQndHJhbnNpdGlvbi1kdXJhdGlvbicsXG5cdFx0XHQndHJhbnNpdGlvbi1wcm9wZXJ0eScsXG5cdFx0XHQndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLFxuXG5cdFx0Ly8gVW5pY29kZSBiaWRpLlxuXHRcdFx0J3VuaWNvZGUtYmlkaScsXG5cblx0XHQvLyBVc2VyIHNlbGVjdC5cblx0XHRcdCd1c2VyLXNlbGVjdCcsXG5cblx0XHQvLyBXcml0aW5nIG1vZGUuXG5cdFx0XHQnd3JpdGluZy1tb2RlJyxcblxuXHQpO1xuXG5cdC8vLyBWYWx1ZXMgdGhhdCBzaG91bGQgYmUgdmVuZG9yaXplZC5cblx0Ly8vIERhdGEgdmlhIGNhbml1c2UuY29tLCBnaXRodWIuY29tL3Bvc3Rjc3MvYXV0b3ByZWZpeGVyLCBhbmQgZGV2ZWxvcGVyLm1vemlsbGEub3JnXG5cdC8vLyBAdmFyIHtsaXN0fVxuXHQkdmVuZG9yLXZhbHVlczogKFxuXG5cdFx0Ly8gQ3Jvc3MgZmFkZS5cblx0XHRcdCdjcm9zcy1mYWRlJyxcblxuXHRcdC8vIEVsZW1lbnQgZnVuY3Rpb24uXG5cdFx0XHQnZWxlbWVudCcsXG5cblx0XHQvLyBGaWx0ZXIgZnVuY3Rpb24uXG5cdFx0XHQnZmlsdGVyJyxcblxuXHRcdC8vIEZsZXhib3guXG5cdFx0XHQnZmxleCcsXG5cdFx0XHQnaW5saW5lLWZsZXgnLFxuXG5cdFx0Ly8gR3JhYiBjdXJzb3JzLlxuXHRcdFx0J2dyYWInLFxuXHRcdFx0J2dyYWJiaW5nJyxcblxuXHRcdC8vIEdyYWRpZW50cy5cblx0XHRcdCdsaW5lYXItZ3JhZGllbnQnLFxuXHRcdFx0J3JlcGVhdGluZy1saW5lYXItZ3JhZGllbnQnLFxuXHRcdFx0J3JhZGlhbC1ncmFkaWVudCcsXG5cdFx0XHQncmVwZWF0aW5nLXJhZGlhbC1ncmFkaWVudCcsXG5cblx0XHQvLyBHcmlkIGxheW91dC5cblx0XHRcdCdncmlkJyxcblx0XHRcdCdpbmxpbmUtZ3JpZCcsXG5cblx0XHQvLyBJbWFnZSBzZXQuXG5cdFx0XHQnaW1hZ2Utc2V0JyxcblxuXHRcdC8vIEludHJpbnNpYyB3aWR0aC5cblx0XHRcdCdtYXgtY29udGVudCcsXG5cdFx0XHQnbWluLWNvbnRlbnQnLFxuXHRcdFx0J2ZpdC1jb250ZW50Jyxcblx0XHRcdCdmaWxsJyxcblx0XHRcdCdmaWxsLWF2YWlsYWJsZScsXG5cdFx0XHQnc3RyZXRjaCcsXG5cblx0XHQvLyBTdGlja3kgcG9zaXRpb24uXG5cdFx0XHQnc3RpY2t5JyxcblxuXHRcdC8vIFRyYW5zZm9ybS5cblx0XHRcdCd0cmFuc2Zvcm0nLFxuXG5cdFx0Ly8gWm9vbSBjdXJzb3JzLlxuXHRcdFx0J3pvb20taW4nLFxuXHRcdFx0J3pvb20tb3V0JyxcblxuXHQpO1xuXG4vLyBGdW5jdGlvbnMuXG5cblx0Ly8vIFJlbW92ZXMgYSBzcGVjaWZpYyBpdGVtIGZyb20gYSBsaXN0LlxuXHQvLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5cdC8vLyBAcGFyYW0ge2xpc3R9ICRsaXN0IExpc3QuXG5cdC8vLyBAcGFyYW0ge2ludGVnZXJ9ICRpbmRleCBJbmRleC5cblx0Ly8vIEByZXR1cm4ge2xpc3R9IFVwZGF0ZWQgbGlzdC5cblx0QGZ1bmN0aW9uIHJlbW92ZS1udGgoJGxpc3QsICRpbmRleCkge1xuXG5cdFx0JHJlc3VsdDogbnVsbDtcblxuXHRcdEBpZiB0eXBlLW9mKCRpbmRleCkgIT0gbnVtYmVyIHtcblx0XHRcdEB3YXJuIFwiJGluZGV4OiAje3F1b3RlKCRpbmRleCl9IGlzIG5vdCBhIG51bWJlciBmb3IgYHJlbW92ZS1udGhgLlwiO1xuXHRcdH1cblx0XHRAZWxzZSBpZiAkaW5kZXggPT0gMCB7XG5cdFx0XHRAd2FybiBcIkxpc3QgaW5kZXggMCBtdXN0IGJlIGEgbm9uLXplcm8gaW50ZWdlciBmb3IgYHJlbW92ZS1udGhgLlwiO1xuXHRcdH1cblx0XHRAZWxzZSBpZiBhYnMoJGluZGV4KSA+IGxlbmd0aCgkbGlzdCkge1xuXHRcdFx0QHdhcm4gXCJMaXN0IGluZGV4IGlzICN7JGluZGV4fSBidXQgbGlzdCBpcyBvbmx5ICN7bGVuZ3RoKCRsaXN0KX0gaXRlbSBsb25nIGZvciBgcmVtb3ZlLW50aGAuXCI7XG5cdFx0fVxuXHRcdEBlbHNlIHtcblxuXHRcdFx0JHJlc3VsdDogKCk7XG5cdFx0XHQkaW5kZXg6IGlmKCRpbmRleCA8IDAsIGxlbmd0aCgkbGlzdCkgKyAkaW5kZXggKyAxLCAkaW5kZXgpO1xuXG5cdFx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuXG5cdFx0XHRcdEBpZiAkaSAhPSAkaW5kZXgge1xuXHRcdFx0XHRcdCRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG5cdFx0XHRcdH1cblxuXHRcdFx0fVxuXG5cdFx0fVxuXG5cdFx0QHJldHVybiAkcmVzdWx0O1xuXG5cdH1cblxuXHQvLy8gUmVwbGFjZXMgYSBzdWJzdHJpbmcgd2l0aGluIGFub3RoZXIgc3RyaW5nLlxuXHQvLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJHN0cmluZyBTdHJpbmcuXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJHNlYXJjaCBTdWJzdHJpbmcuXG5cdC8vLyBAcGFyYW0ge3N0cmluZ30gJHJlcGxhY2UgUmVwbGFjZW1lbnQuXG5cdC8vLyBAcmV0dXJuIHtzdHJpbmd9IFVwZGF0ZWQgc3RyaW5nLlxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2U6ICcnKSB7XG5cblx0XHQkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcblxuXHRcdEBpZiAkaW5kZXgge1xuXHRcdFx0QHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuXHRcdH1cblxuXHRcdEByZXR1cm4gJHN0cmluZztcblxuXHR9XG5cblx0Ly8vIFJlcGxhY2VzIGEgc3Vic3RyaW5nIHdpdGhpbiBlYWNoIHN0cmluZyBpbiBhIGxpc3QuXG5cdC8vLyBAcGFyYW0ge2xpc3R9ICRzdHJpbmdzIExpc3Qgb2Ygc3RyaW5ncy5cblx0Ly8vIEBwYXJhbSB7c3RyaW5nfSAkc2VhcmNoIFN1YnN0cmluZy5cblx0Ly8vIEBwYXJhbSB7c3RyaW5nfSAkcmVwbGFjZSBSZXBsYWNlbWVudC5cblx0Ly8vIEByZXR1cm4ge2xpc3R9IFVwZGF0ZWQgbGlzdCBvZiBzdHJpbmdzLlxuXHRAZnVuY3Rpb24gc3RyLXJlcGxhY2UtYWxsKCRzdHJpbmdzLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcblxuXHRcdEBlYWNoICRzdHJpbmcgaW4gJHN0cmluZ3Mge1xuXHRcdFx0JHN0cmluZ3M6IHNldC1udGgoJHN0cmluZ3MsIGluZGV4KCRzdHJpbmdzLCAkc3RyaW5nKSwgc3RyLXJlcGxhY2UoJHN0cmluZywgJHNlYXJjaCwgJHJlcGxhY2UpKTtcblx0XHR9XG5cblx0XHRAcmV0dXJuICRzdHJpbmdzO1xuXG5cdH1cblxuLy8gTWl4aW5zLlxuXG5cdC8vLyBXcmFwcyBAY29udGVudCBpbiB2ZW5kb3JpemVkIGtleWZyYW1lIGJsb2Nrcy5cblx0Ly8vIEBwYXJhbSB7c3RyaW5nfSAkbmFtZSBOYW1lLlxuXHRAbWl4aW4ga2V5ZnJhbWVzKCRuYW1lKSB7XG5cblx0XHRALW1vei1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuXHRcdEAtd2Via2l0LWtleWZyYW1lcyAjeyRuYW1lfSB7IEBjb250ZW50OyB9XG5cdFx0QC1tcy1rZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuXHRcdEBrZXlmcmFtZXMgI3skbmFtZX0geyBAY29udGVudDsgfVxuXG5cdH1cblxuXHQvLy8gVmVuZG9yaXplcyBhIGRlY2xhcmF0aW9uJ3MgcHJvcGVydHkgYW5kL29yIHZhbHVlKHMpLlxuXHQvLy8gQHBhcmFtIHtzdHJpbmd9ICRwcm9wZXJ0eSBQcm9wZXJ0eS5cblx0Ly8vIEBwYXJhbSB7bWl4ZWR9ICR2YWx1ZSBTdHJpbmcvbGlzdCBvZiB2YWx1ZShzKS5cblx0QG1peGluIHZlbmRvcigkcHJvcGVydHksICR2YWx1ZSkge1xuXG5cdFx0Ly8gRGV0ZXJtaW5lIGlmIHByb3BlcnR5IHNob3VsZCBleHBhbmQuXG5cdFx0XHQkZXhwYW5kUHJvcGVydHk6IGluZGV4KCR2ZW5kb3ItcHJvcGVydGllcywgJHByb3BlcnR5KTtcblxuXHRcdC8vIERldGVybWluZSBpZiB2YWx1ZSBzaG91bGQgZXhwYW5kIChhbmQgaWYgc28sIGFkZCAnLXByZWZpeC0nIHBsYWNlaG9sZGVyKS5cblx0XHRcdCRleHBhbmRWYWx1ZTogZmFsc2U7XG5cblx0XHRcdEBlYWNoICR4IGluICR2YWx1ZSB7XG5cdFx0XHRcdEBlYWNoICR5IGluICR2ZW5kb3ItdmFsdWVzIHtcblx0XHRcdFx0XHRAaWYgJHkgPT0gc3RyLXNsaWNlKCR4LCAxLCBzdHItbGVuZ3RoKCR5KSkge1xuXG5cdFx0XHRcdFx0XHQkdmFsdWU6IHNldC1udGgoJHZhbHVlLCBpbmRleCgkdmFsdWUsICR4KSwgJy1wcmVmaXgtJyArICR4KTtcblx0XHRcdFx0XHRcdCRleHBhbmRWYWx1ZTogdHJ1ZTtcblxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0Ly8gRXhwYW5kIHByb3BlcnR5P1xuXHRcdFx0QGlmICRleHBhbmRQcm9wZXJ0eSB7XG5cdFx0XHQgICAgQGVhY2ggJHZlbmRvciBpbiAkdmVuZG9yLXByZWZpeGVzIHtcblx0XHRcdCAgICAgICAgI3skdmVuZG9yfSN7JHByb3BlcnR5fTogI3tzdHItcmVwbGFjZS1hbGwoJHZhbHVlLCAnLXByZWZpeC0nLCAkdmVuZG9yKX07XG5cdFx0XHQgICAgfVxuXHRcdFx0fVxuXG5cdFx0Ly8gRXhwYW5kIGp1c3QgdGhlIHZhbHVlP1xuXHRcdFx0QGVsc2VpZiAkZXhwYW5kVmFsdWUge1xuXHRcdFx0ICAgIEBlYWNoICR2ZW5kb3IgaW4gJHZlbmRvci1wcmVmaXhlcyB7XG5cdFx0XHQgICAgICAgICN7JHByb3BlcnR5fTogI3tzdHItcmVwbGFjZS1hbGwoJHZhbHVlLCAnLXByZWZpeC0nLCAkdmVuZG9yKX07XG5cdFx0XHQgICAgfVxuXHRcdFx0fVxuXG5cdFx0Ly8gTmVpdGhlcj8gVHJlYXQgdGhlbSBhcyBhIG5vcm1hbCBkZWNsYXJhdGlvbi5cblx0XHRcdEBlbHNlIHtcblx0XHQgICAgICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9O1xuXHRcdFx0fVxuXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIFR5cGUgKi9cclxuXHJcblx0aHRtbCB7XHJcblx0XHRmb250LXNpemU6IDE2cHQ7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14bGFyZ2UnKSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTJwdDtcclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXNtYWxsJykge1xyXG5cdFx0XHRmb250LXNpemU6IDExcHQ7XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14eHNtYWxsJykge1xyXG5cdFx0XHRmb250LXNpemU6IDEwcHQ7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRib2R5LCBpbnB1dCwgc2VsZWN0LCB0ZXh0YXJlYSB7XHJcblx0XHRjb2xvcjogX3BhbGV0dGUoZmcpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IF9mb250KGZhbWlseSk7XHJcblx0XHRmb250LXdlaWdodDogX2ZvbnQod2VpZ2h0KTtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjY1O1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAoXHJcblx0XHRcdCdjb2xvciAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZS1pbi1vdXQnLFxyXG5cdFx0XHQnYmFja2dyb3VuZC1jb2xvciAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZS1pbi1vdXQnLFxyXG5cdFx0XHQnYm9yZGVyLWJvdHRvbS1jb2xvciAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZS1pbi1vdXQnXHJcblx0XHQpKTtcclxuXHRcdGJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggX3BhbGV0dGUoZmctbGlnaHQpO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c3Ryb25nLCBiIHtcclxuXHRcdGNvbG9yOiBfcGFsZXR0ZShmZy1ib2xkKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBfZm9udCh3ZWlnaHQtYm9sZCk7XHJcblx0fVxyXG5cclxuXHRlbSwgaSB7XHJcblx0XHRmb250LXN0eWxlOiBpdGFsaWM7XHJcblx0fVxyXG5cclxuXHRwIHtcclxuXHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdH1cclxuXHJcblx0aDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XHJcblx0XHRjb2xvcjogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRmb250LXdlaWdodDogX2ZvbnQod2VpZ2h0LWJvbGQpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjUpIDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IF9mb250KGxldHRlci1zcGFjaW5nKTtcclxuXHJcblx0XHRhIHtcclxuXHRcdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQmLm1ham9yIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogc29saWQgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHR3aWR0aDogLW1vei1tYXgtY29udGVudDtcclxuXHRcdFx0d2lkdGg6IC13ZWJraXQtbWF4LWNvbnRlbnQ7XHJcblx0XHRcdHdpZHRoOiAtbXMtbWF4LWNvbnRlbnQ7XHJcblx0XHRcdHdpZHRoOiBtYXgtY29udGVudDtcclxuXHRcdFx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuXHRcdFx0bWFyZ2luOiAwIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDEpIDA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoMSB7XHJcblx0XHRmb250LXNpemU6IDIuMjVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS4zO1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IF9mb250KGxldHRlci1zcGFjaW5nLWhlYWRpbmcpO1xyXG5cdH1cclxuXHJcblx0aDIge1xyXG5cdFx0Zm9udC1zaXplOiAxLjVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS40O1xyXG5cdFx0bGV0dGVyLXNwYWNpbmc6IF9mb250KGxldHRlci1zcGFjaW5nLWhlYWRpbmcpO1xyXG5cdH1cclxuXHJcblx0aDMge1xyXG5cdFx0Zm9udC1zaXplOiAxcmVtO1xyXG5cdH1cclxuXHJcblx0aDQge1xyXG5cdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0fVxyXG5cclxuXHRoNSB7XHJcblx0XHRmb250LXNpemU6IDAuN3JlbTtcclxuXHR9XHJcblxyXG5cdGg2IHtcclxuXHRcdGZvbnQtc2l6ZTogMC42cmVtO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD1zbWFsbCcpIHtcclxuXHRcdGgxIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMS40O1xyXG5cdFx0fVxyXG5cclxuXHRcdGgyIHtcclxuXHRcdFx0Zm9udC1zaXplOiAxLjI1ZW07XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdWIge1xyXG5cdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDAuNXJlbTtcclxuXHR9XHJcblxyXG5cdHN1cCB7XHJcblx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogLTAuNXJlbTtcclxuXHR9XHJcblxyXG5cdGJsb2NrcXVvdGUge1xyXG5cdFx0Ym9yZGVyLWxlZnQ6IHNvbGlkIChfc2l6ZShib3JkZXItd2lkdGgpICogNCkgX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdFx0cGFkZGluZzogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAvIDQpIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAvIDQpIF9zaXplKGVsZW1lbnQtbWFyZ2luKTtcclxuXHR9XHJcblxyXG5cdGNvZGUge1xyXG5cdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoYm9yZGVyLWJnKTtcclxuXHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0Zm9udC1mYW1pbHk6IF9mb250KGZhbWlseS1maXhlZCk7XHJcblx0XHRmb250LXNpemU6IDAuOXJlbTtcclxuXHRcdG1hcmdpbjogMCAwLjI1cmVtO1xyXG5cdFx0cGFkZGluZzogMC4yNXJlbSAwLjY1cmVtO1xyXG5cdH1cclxuXHJcblx0cHJlIHtcclxuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHRcdGZvbnQtZmFtaWx5OiBfZm9udChmYW1pbHktZml4ZWQpO1xyXG5cdFx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHJcblx0XHRjb2RlIHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxLjc1O1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtIDEuNXJlbTtcclxuXHRcdFx0b3ZlcmZsb3cteDogYXV0bztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdGhyIHtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdGJvcmRlci1ib3R0b206IHNvbGlkIF9zaXplKGJvcmRlci13aWR0aCkgX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdG1hcmdpbjogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDEuMzc1KSAwO1xyXG5cdH1cclxuXHJcblx0LmFsaWduLWxlZnQge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHR9XHJcblxyXG5cdC5hbGlnbi1jZW50ZXIge1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0LmFsaWduLXJpZ2h0IHtcclxuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEZvcm0gKi9cclxuXHJcblx0Zm9ybSB7XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHJcblx0XHQ+IDpsYXN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHQ+IC5maWVsZHMgIHtcclxuXHRcdFx0JGd1dHRlcjogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDAuNzUpO1xyXG5cclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdkaXNwbGF5JywgJ2ZsZXgnKTtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LXdyYXAnLCAnd3JhcCcpO1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgI3skZ3V0dGVyICogMn0pO1xyXG5cdFx0XHRtYXJnaW46ICgkZ3V0dGVyICogLTEpIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pICgkZ3V0dGVyICogLTEpO1xyXG5cclxuXHRcdFx0PiAuZmllbGQge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmxleC1ncm93JywgJzAnKTtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgJzAnKTtcclxuXHRcdFx0XHRwYWRkaW5nOiAkZ3V0dGVyIDAgMCAkZ3V0dGVyO1xyXG5cdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRndXR0ZXIgKiAxfSk7XHJcblxyXG5cdFx0XHRcdCYuaGFsZiB7XHJcblx0XHRcdFx0XHR3aWR0aDogY2FsYyg1MCUgLSAjeyRndXR0ZXIgKiAwLjV9KTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYudGhpcmQge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoI3sxMDAlIC8gM30gLSAjeyRndXR0ZXIgKiAoMSAvIDMpfSk7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLnF1YXJ0ZXIge1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMjUlIC0gI3skZ3V0dGVyICogMC4yNX0pO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eHNtYWxsJykge1xyXG5cdFx0XHQ+IC5maWVsZHMge1xyXG5cdFx0XHRcdCRndXR0ZXI6IChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjc1KTtcclxuXHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArICN7JGd1dHRlciAqIDJ9KTtcclxuXHRcdFx0XHRtYXJnaW46ICgkZ3V0dGVyICogLTEpIDAgX3NpemUoZWxlbWVudC1tYXJnaW4pICgkZ3V0dGVyICogLTEpO1xyXG5cclxuXHRcdFx0XHQ+IC5maWVsZCB7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAkZ3V0dGVyIDAgMCAkZ3V0dGVyO1xyXG5cdFx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSAtICN7JGd1dHRlciAqIDF9KTtcclxuXHJcblx0XHRcdFx0XHQmLmhhbGYge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3skZ3V0dGVyICogMX0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYudGhpcmQge1xyXG5cdFx0XHRcdFx0XHR3aWR0aDogY2FsYygxMDAlIC0gI3skZ3V0dGVyICogMX0pO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCYucXVhcnRlciB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRndXR0ZXIgKiAxfSk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRjb2xvcjogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogX2ZvbnQobGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcclxuXHRcdG1hcmdpbjogMCAwIChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjUpIDA7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXHJcblx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuXHRpbnB1dFt0eXBlPVwidGVsXCJdLFxyXG5cdHNlbGVjdCxcclxuXHR0ZXh0YXJlYSB7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2FwcGVhcmFuY2UnLCAnbm9uZScpO1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgKFxyXG5cdFx0XHQnYm9yZGVyLWNvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCcsXHJcblx0XHRcdCdib3gtc2hhZG93ICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCcsXHJcblx0XHRcdCdiYWNrZ3JvdW5kLWNvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCdcclxuXHRcdCkpO1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdGJvcmRlcjogc29saWQgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0XHRwYWRkaW5nOiAwIDFyZW07XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHQmOmludmFsaWQge1xyXG5cdFx0XHRib3gtc2hhZG93OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBfcGFsZXR0ZShib3JkZXItYmcpO1xyXG5cdFx0XHRib3JkZXItY29sb3I6IF9wYWxldHRlKGZnLWJvbGQpO1xyXG5cdFx0XHRib3gtc2hhZG93OiAwIDAgMCBfc2l6ZShib3JkZXItd2lkdGgpIF9wYWxldHRlKGZnLWJvbGQpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0c2VsZWN0IHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHN2Zy11cmwoXCI8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgd2lkdGg9JzQwJyBoZWlnaHQ9JzQwJyBwcmVzZXJ2ZUFzcGVjdFJhdGlvPSdub25lJyB2aWV3Qm94PScwIDAgNDAgNDAnPjxwYXRoIGQ9J005LjQsMTIuM2wxMC40LDEwLjRsMTAuNC0xMC40YzAuMi0wLjIsMC41LTAuNCwwLjktMC40YzAuMywwLDAuNiwwLjEsMC45LDAuNGwzLjMsMy4zYzAuMiwwLjIsMC40LDAuNSwwLjQsMC45IGMwLDAuNC0wLjEsMC42LTAuNCwwLjlMMjAuNywzMS45Yy0wLjIsMC4yLTAuNSwwLjQtMC45LDAuNGMtMC4zLDAtMC42LTAuMS0wLjktMC40TDQuMywxNy4zYy0wLjItMC4yLTAuNC0wLjUtMC40LTAuOSBjMC0wLjQsMC4xLTAuNiwwLjQtMC45bDMuMy0zLjNjMC4yLTAuMiwwLjUtMC40LDAuOS0wLjRTOS4xLDEyLjEsOS40LDEyLjN6JyBmaWxsPScje19wYWxldHRlKGJvcmRlcil9JyAvPjwvc3ZnPlwiKTtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogMS4yNXJlbTtcclxuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxcmVtKSBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IF9zaXplKGVsZW1lbnQtaGVpZ2h0KTtcclxuXHRcdHBhZGRpbmctcmlnaHQ6IF9zaXplKGVsZW1lbnQtaGVpZ2h0KTtcclxuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG5cclxuXHRcdG9wdGlvbiB7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShmZyk7XHJcblx0XHRcdGJhY2tncm91bmQ6IF9wYWxldHRlKGJnKTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmZvY3VzIHtcclxuXHRcdFx0Jjo6LW1zLXZhbHVlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6Oi1tcy1leHBhbmQge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cInRleHRcIl0sXHJcblx0aW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxyXG5cdGlucHV0W3R5cGU9XCJlbWFpbFwiXSxcclxuXHRzZWxlY3Qge1xyXG5cdFx0aGVpZ2h0OiBfc2l6ZShlbGVtZW50LWhlaWdodCk7XHJcblx0fVxyXG5cclxuXHR0ZXh0YXJlYSB7XHJcblx0XHRwYWRkaW5nOiAwLjc1cmVtIDFyZW07XHJcblx0fVxyXG5cclxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXHJcblx0aW5wdXRbdHlwZT1cInJhZGlvXCJdLCB7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2FwcGVhcmFuY2UnLCAnbm9uZScpO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmbG9hdDogbGVmdDtcclxuXHRcdG1hcmdpbi1yaWdodDogLTJyZW07XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0d2lkdGg6IDFyZW07XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHJcblx0XHQmICsgbGFiZWwge1xyXG5cdFx0XHRAaW5jbHVkZSBpY29uKGZhbHNlLCBzb2xpZCk7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigndXNlci1zZWxlY3QnLCAnbm9uZScpO1xyXG5cdFx0XHRjb2xvcjogX3BhbGV0dGUoZmcpO1xyXG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBfZm9udCh3ZWlnaHQpO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMC4yNSkgMDtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAoX3NpemUoZWxlbWVudC1oZWlnaHQpICogMC42KSArIDFyZW07XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAoXHJcblx0XHRcdFx0XHQnYm9yZGVyLWNvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCcsXHJcblx0XHRcdFx0XHQnYm94LXNoYWRvdyAje19kdXJhdGlvbih0cmFuc2l0aW9uKX0gZWFzZS1pbi1vdXQnLFxyXG5cdFx0XHRcdFx0J2JhY2tncm91bmQtY29sb3IgI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0J1xyXG5cdFx0XHRcdCkpO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHRoZWlnaHQ6IChfc2l6ZShlbGVtZW50LWhlaWdodCkgKiAwLjYpO1xyXG5cdFx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IChfc2l6ZShlbGVtZW50LWhlaWdodCkgKiAwLjYpO1xyXG5cdFx0XHRcdC8vbGluZS1oZWlnaHQ6IGNhbGMoI3tfc2l6ZShlbGVtZW50LWhlaWdodCkgKiAwLjZ9ICsgMGVtKTtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdHRvcDogLTAuMTVyZW07XHJcblx0XHRcdFx0d2lkdGg6IChfc2l6ZShlbGVtZW50LWhlaWdodCkgKiAwLjYpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0JjpjaGVja2VkICsgbGFiZWwge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoZmctYm9sZCkgIWltcG9ydGFudDtcclxuXHRcdFx0XHRib3JkZXItY29sb3I6IF9wYWxldHRlKGZnLWJvbGQpICFpbXBvcnRhbnQ7XHJcblx0XHRcdFx0Y29sb3I6IF9wYWxldHRlKGJnKTtcclxuXHRcdFx0XHRjb250ZW50OiAnXFxmMDBjJztcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6Zm9jdXMgKyBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kOiBfcGFsZXR0ZShib3JkZXItYmcpO1xyXG5cdFx0XHRcdGJvcmRlci1jb2xvcjogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRcdFx0Ym94LXNoYWRvdzogMCAwIDAgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShmZy1ib2xkKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcclxuXHRcdCYgKyBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0aW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcclxuXHRcdCYgKyBsYWJlbCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMS4wO1xyXG5cdH1cclxuXHJcblx0Oi1tb3otcGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMS4wO1xyXG5cdH1cclxuXHJcblx0OjotbW96LXBsYWNlaG9sZGVyIHtcclxuXHRcdGNvbG9yOiBfcGFsZXR0ZShmZy1saWdodCkgIWltcG9ydGFudDtcclxuXHRcdG9wYWNpdHk6IDEuMDtcclxuXHR9XHJcblxyXG5cdDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWxpZ2h0KSAhaW1wb3J0YW50O1xyXG5cdFx0b3BhY2l0eTogMS4wO1xyXG5cdH1cclxuXHJcblx0LmZvcm1lcml6ZS1wbGFjZWhvbGRlciB7XHJcblx0XHRjb2xvcjogX3BhbGV0dGUoZmctbGlnaHQpICFpbXBvcnRhbnQ7XHJcblx0XHRvcGFjaXR5OiAxLjA7XHJcblx0fSIsIi8vLyBNYWtlcyBhbiBlbGVtZW50J3MgOmJlZm9yZSBwc2V1ZG9lbGVtZW50IGEgRm9udEF3ZXNvbWUgaWNvbi5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkY29udGVudCBPcHRpb25hbCBjb250ZW50IHZhbHVlIHRvIHVzZS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkY2F0ZWdvcnkgT3B0aW9uYWwgY2F0ZWdvcnkgdG8gdXNlLlxyXG4vLy8gQHBhcmFtIHtzdHJpbmd9ICR3aGVyZSBPcHRpb25hbCBwc2V1ZG9lbGVtZW50IHRvIHRhcmdldCAoYmVmb3JlIG9yIGFmdGVyKS5cclxuQG1peGluIGljb24oJGNvbnRlbnQ6IGZhbHNlLCAkY2F0ZWdvcnk6IHJlZ3VsYXIsICR3aGVyZTogYmVmb3JlKSB7XHJcblxyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHJcblx0JjojeyR3aGVyZX0ge1xyXG5cclxuXHRcdEBpZiAkY29udGVudCB7XHJcblx0XHRcdGNvbnRlbnQ6ICRjb250ZW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcblx0XHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuXHRcdGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG5cdFx0dGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0QGlmICgkY2F0ZWdvcnkgPT0gYnJhbmRzKSB7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgQnJhbmRzJztcclxuXHRcdH1cclxuXHRcdEBlbHNlaWYgKCRjYXRlZ29yeSA9PSBzb2xpZCkge1xyXG5cdFx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xyXG5cdFx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0fVxyXG5cdFx0QGVsc2Uge1xyXG5cdFx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1IEZyZWUnO1xyXG5cdFx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcblxyXG59XHJcblxyXG4vLy8gQXBwbGllcyBwYWRkaW5nIHRvIGFuIGVsZW1lbnQsIHRha2luZyB0aGUgY3VycmVudCBlbGVtZW50LW1hcmdpbiB2YWx1ZSBpbnRvIGFjY291bnQuXHJcbi8vLyBAcGFyYW0ge21peGVkfSAkdGIgVG9wL2JvdHRvbSBwYWRkaW5nLlxyXG4vLy8gQHBhcmFtIHttaXhlZH0gJGxyIExlZnQvcmlnaHQgcGFkZGluZy5cclxuLy8vIEBwYXJhbSB7bGlzdH0gJHBhZCBPcHRpb25hbCBleHRyYSBwYWRkaW5nIChpbiB0aGUgZm9sbG93aW5nIG9yZGVyIHRvcCwgcmlnaHQsIGJvdHRvbSwgbGVmdClcclxuLy8vIEBwYXJhbSB7Ym9vbH0gJGltcG9ydGFudCBJZiB0cnVlLCBhZGRzICFpbXBvcnRhbnQuXHJcbkBtaXhpbiBwYWRkaW5nKCR0YiwgJGxyLCAkcGFkOiAoMCwwLDAsMCksICRpbXBvcnRhbnQ6IG51bGwpIHtcclxuXHJcblx0QGlmICRpbXBvcnRhbnQge1xyXG5cdFx0JGltcG9ydGFudDogJyFpbXBvcnRhbnQnO1xyXG5cdH1cclxuXHJcblx0JHg6IDAuMWVtO1xyXG5cclxuXHRAaWYgdW5pdChfc2l6ZShlbGVtZW50LW1hcmdpbikpID09ICdyZW0nIHtcclxuXHRcdCR4OiAwLjFyZW07XHJcblx0fVxyXG5cclxuXHRwYWRkaW5nOiAoJHRiICsgbnRoKCRwYWQsMSkpICgkbHIgKyBudGgoJHBhZCwyKSkgbWF4KCR4LCAkdGIgLSBfc2l6ZShlbGVtZW50LW1hcmdpbikgKyBudGgoJHBhZCwzKSkgKCRsciArIG50aCgkcGFkLDQpKSAjeyRpbXBvcnRhbnR9O1xyXG5cclxufVxyXG5cclxuLy8vIEVuY29kZXMgYSBTVkcgZGF0YSBVUkwgc28gSUUgZG9lc24ndCBjaG9rZSAodmlhIGNvZGVwZW4uaW8vamFrb2ItZS9wZW4vWVhYQnJwKS5cclxuLy8vIEBwYXJhbSB7c3RyaW5nfSAkc3ZnIFNWRyBkYXRhIFVSTC5cclxuLy8vIEByZXR1cm4ge3N0cmluZ30gRW5jb2RlZCBTVkcgZGF0YSBVUkwuXHJcbkBmdW5jdGlvbiBzdmctdXJsKCRzdmcpIHtcclxuXHJcblx0JHN2Zzogc3RyLXJlcGxhY2UoJHN2ZywgJ1wiJywgJ1xcJycpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICclJywgJyUyNScpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICc8JywgJyUzQycpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICc+JywgJyUzRScpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICcmJywgJyUyNicpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICcjJywgJyUyMycpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICd7JywgJyU3QicpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICd9JywgJyU3RCcpO1xyXG5cdCRzdmc6IHN0ci1yZXBsYWNlKCRzdmcsICc7JywgJyUzQicpO1xyXG5cclxuXHRAcmV0dXJuIHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsI3skc3ZnfVwiKTtcclxuXHJcbn0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEJveCAqL1xyXG5cclxuXHQuYm94IHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0Ym9yZGVyOiBzb2xpZCBfc2l6ZShib3JkZXItd2lkdGgpIF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRtYXJnaW4tYm90dG9tOiBfc2l6ZShlbGVtZW50LW1hcmdpbik7XHJcblx0XHRwYWRkaW5nOiAxLjVlbTtcclxuXHJcblx0XHQ+IDpsYXN0LWNoaWxkLFxyXG5cdFx0PiA6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkLFxyXG5cdFx0PiA6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuYWx0IHtcclxuXHRcdFx0Ym9yZGVyOiAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdFx0XHRwYWRkaW5nOiAwO1xyXG5cdFx0fVxyXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEljb24gKi9cclxuXHJcblx0Lmljb24ge1xyXG5cdFx0QGluY2x1ZGUgaWNvbjtcclxuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdFx0PiAubGFiZWwge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IGluaGVyaXQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5zb2xpZCB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogOTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5icmFuZHMge1xyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSBCcmFuZHMnO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRGltZW5zaW9uIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogSW1hZ2UgKi9cclxuXHJcblx0LmltYWdlIHtcclxuXHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdwb2ludGVyLWV2ZW50cycsICdub25lJyk7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vLi4vaW1hZ2VzL292ZXJsYXkucG5nJyk7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IF9wYWxldHRlKGJnLW92ZXJsYXkpO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiBfc2l6ZShib3JkZXItcmFkaXVzKTtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCU7XHJcblx0XHRcdGxlZnQ6IDA7XHJcblx0XHRcdG9wYWNpdHk6IDAuNTtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHR0b3A6IDA7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHJcblx0XHQmLmxlZnQsXHJcblx0XHQmLnJpZ2h0IHtcclxuXHRcdFx0bWF4LXdpZHRoOiA0MCU7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5sZWZ0IHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHBhZGRpbmc6IDAgMS41ZW0gMWVtIDA7XHJcblx0XHRcdHRvcDogMC4yNWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucmlnaHQge1xyXG5cdFx0XHRmbG9hdDogcmlnaHQ7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAxZW0gMS41ZW07XHJcblx0XHRcdHRvcDogMC4yNWVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuZml0IHtcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLm1haW4ge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMS4yNSkgMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRpbWcge1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD1zbWFsbCcpIHtcclxuXHRcdFx0Ji5tYWluIHtcclxuXHRcdFx0XHRtYXJnaW46IChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAxKSAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD14c21hbGwnKSB7XHJcblx0XHRcdCYubWFpbiB7XHJcblx0XHRcdFx0bWFyZ2luOiAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMC43NSkgMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIExpc3QgKi9cclxuXHJcblx0b2wge1xyXG5cdFx0bGlzdC1zdHlsZTogZGVjaW1hbDtcclxuXHRcdG1hcmdpbjogMCAwIF9zaXplKGVsZW1lbnQtbWFyZ2luKSAwO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxLjI1ZW07XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDAuMjVlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHRcdGxpc3Qtc3R5bGU6IGRpc2M7XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHRcdHBhZGRpbmctbGVmdDogMWVtO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0cGFkZGluZy1sZWZ0OiAwLjVlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmFsdCB7XHJcblx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRib3JkZXItdG9wOiBzb2xpZCBfc2l6ZShib3JkZXItd2lkdGgpIF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRcdFx0cGFkZGluZzogMC41ZW0gMDtcclxuXHJcblx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRib3JkZXItdG9wOiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRkbCB7XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHJcblx0XHRkdCB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRmb250LXdlaWdodDogX2ZvbnQod2VpZ2h0LWJvbGQpO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMC41KSAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRkIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IF9zaXplKGVsZW1lbnQtbWFyZ2luKTtcclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBEaW1lbnNpb24gYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBBY3Rpb25zICovXHJcblxyXG5cdHVsLmFjdGlvbnMge1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCdkaXNwbGF5JywgJ2ZsZXgnKTtcclxuXHRcdGN1cnNvcjogZGVmYXVsdDtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRtYXJnaW4tbGVmdDogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIC0wLjUpO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cclxuXHRcdGxpIHtcclxuXHRcdFx0cGFkZGluZzogMCAwIDAgKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDAuNSk7XHJcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5zcGVjaWFsIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdqdXN0aWZ5LWNvbnRlbnQnLCAnY2VudGVyJyk7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLnN0YWNrZWQge1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgJ2NvbHVtbicpO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRwYWRkaW5nOiAoX3NpemUoZWxlbWVudC1tYXJnaW4pICogMC42NSkgMCAwIDA7XHJcblxyXG5cdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5maXQge1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgI3tfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjV9KTtcclxuXHJcblx0XHRcdGxpIHtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZ3JvdycsICcxJyk7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LXNocmluaycsICcxJyk7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRcdD4gKiB7XHJcblx0XHRcdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdCYuc3RhY2tlZCB7XHJcblx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhzbWFsbCcpIHtcclxuXHRcdFx0Jjpub3QoLmZpeGVkKSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmbGV4LWRpcmVjdGlvbicsICdjb2x1bW4nKTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogMDtcclxuXHRcdFx0XHR3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG5cclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZ3JvdycsICcxJyk7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgJzEnKTtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IChfc2l6ZShlbGVtZW50LW1hcmdpbikgKiAwLjUpIDAgMCAwO1xyXG5cdFx0XHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHRcdFx0PiAqIHtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0JjpmaXJzdC1jaGlsZCB7XHJcblx0XHRcdFx0XHRcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcblx0XHRcdFx0XHRpbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcblx0XHRcdFx0XHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5cdFx0XHRcdFx0YnV0dG9uLFxyXG5cdFx0XHRcdFx0LmJ1dHRvbiB7XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdFx0XHRcdFx0Ji5pY29uIHtcclxuXHRcdFx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogLTAuNWVtO1xyXG5cdFx0XHRcdFx0XHRcdH1cclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH0iLCIvLy9cbi8vLyBEaW1lbnNpb24gYnkgSFRNTDUgVVBcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxuLy8vXG5cbi8qIEljb25zICovXG5cblx0dWwuaWNvbnMge1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdGxpIHtcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHBhZGRpbmc6IDAgMC43NWVtIDAgMDtcblxuXHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblxuXHRcdFx0YSB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XG5cdFx0XHRcdGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIF9zaXplKGJvcmRlci13aWR0aCkgX3BhbGV0dGUoYm9yZGVyKTtcblx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0XHRoZWlnaHQ6IDIuMjVyZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAyLjI1cmVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdHdpZHRoOiAyLjI1cmVtO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IF9wYWxldHRlKGJvcmRlci1iZyk7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogX3BhbGV0dGUoYm9yZGVyLWJnLWFsdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIFRhYmxlICovXHJcblxyXG5cdC50YWJsZS13cmFwcGVyIHtcclxuXHRcdC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxuXHRcdG92ZXJmbG93LXg6IGF1dG87XHJcblx0fVxyXG5cclxuXHR0YWJsZSB7XHJcblx0XHRtYXJnaW46IDAgMCBfc2l6ZShlbGVtZW50LW1hcmdpbikgMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cclxuXHRcdHRib2R5IHtcclxuXHRcdFx0dHIge1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAwO1xyXG5cdFx0XHRcdGJvcmRlci1yaWdodDogMDtcclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMm4gKyAxKSB7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBfcGFsZXR0ZShib3JkZXItYmcpO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdHRkIHtcclxuXHRcdFx0cGFkZGluZzogMC43NWVtIDAuNzVlbTtcclxuXHRcdH1cclxuXHJcblx0XHR0aCB7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShmZy1ib2xkKTtcclxuXHRcdFx0Zm9udC1zaXplOiAwLjllbTtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1ib2xkKTtcclxuXHRcdFx0cGFkZGluZzogMCAwLjc1ZW0gMC43NWVtIDAuNzVlbTtcclxuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHRcdH1cclxuXHJcblx0XHR0aGVhZCB7XHJcblx0XHRcdGJvcmRlci1ib3R0b206IHNvbGlkIChfc2l6ZShib3JkZXItd2lkdGgpICogMikgX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdH1cclxuXHJcblx0XHR0Zm9vdCB7XHJcblx0XHRcdGJvcmRlci10b3A6IHNvbGlkIChfc2l6ZShib3JkZXItd2lkdGgpICogMikgX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdH1cclxuXHJcblx0XHQmLmFsdCB7XHJcblx0XHRcdGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XHJcblxyXG5cdFx0XHR0Ym9keSB7XHJcblx0XHRcdFx0dHIge1xyXG5cdFx0XHRcdFx0dGQge1xyXG5cdFx0XHRcdFx0XHRib3JkZXI6IHNvbGlkIF9zaXplKGJvcmRlci13aWR0aCkgX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XHJcblx0XHRcdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDA7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItbGVmdC13aWR0aDogX3NpemUoYm9yZGVyLXdpZHRoKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHR0ZCB7XHJcblx0XHRcdFx0XHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogX3NpemUoYm9yZGVyLXdpZHRoKTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0dGhlYWQge1xyXG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHRmb290IHtcclxuXHRcdFx0XHRib3JkZXItdG9wOiAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRGltZW5zaW9uIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogQnV0dG9uICovXHJcblxyXG5cdGlucHV0W3R5cGU9XCJzdWJtaXRcIl0sXHJcblx0aW5wdXRbdHlwZT1cInJlc2V0XCJdLFxyXG5cdGlucHV0W3R5cGU9XCJidXR0b25cIl0sXHJcblx0YnV0dG9uLFxyXG5cdC5idXR0b24ge1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCdhcHBlYXJhbmNlJywgJ25vbmUnKTtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbicsICdiYWNrZ3JvdW5kLWNvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCwgY29sb3IgI3tfZHVyYXRpb24odHJhbnNpdGlvbil9IGVhc2UtaW4tb3V0Jyk7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0Ym9yZGVyOiAwO1xyXG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMCAwIDAgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0Y29sb3I6IF9wYWxldHRlKGZnLWJvbGQpICFpbXBvcnRhbnQ7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBfZm9udCh3ZWlnaHQpO1xyXG5cdFx0aGVpZ2h0OiBfc2l6ZShlbGVtZW50LWhlaWdodCk7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogX2ZvbnQobGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0bGluZS1oZWlnaHQ6IF9zaXplKGVsZW1lbnQtaGVpZ2h0KTtcclxuXHRcdG91dGxpbmU6IDA7XHJcblx0XHRwYWRkaW5nOiAwIDEuMjVyZW0gMCAoMS4yNXJlbSArIChfZm9udChsZXR0ZXItc3BhY2luZykgKiAwLjUpKTtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBfcGFsZXR0ZShib3JkZXItYmcpO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogX3BhbGV0dGUoYm9yZGVyLWJnLWFsdCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pY29uIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdG1hcmdpbi1yaWdodDogMC41ZW07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmZpdCB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuc21hbGwge1xyXG5cdFx0XHRmb250LXNpemU6IDAuNnJlbTtcclxuXHRcdFx0aGVpZ2h0OiAoX3NpemUoZWxlbWVudC1oZWlnaHQpICogMC43NSk7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAoX3NpemUoZWxlbWVudC1oZWlnaHQpICogMC43NSk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5wcmltYXJ5IHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogX3BhbGV0dGUoZmctYm9sZCk7XHJcblx0XHRcdGNvbG9yOiBfcGFsZXR0ZShiZykgIWltcG9ydGFudDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6IF9mb250KHdlaWdodC1ib2xkKTtcclxuXHJcblx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFjdGl2ZSB7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmRpc2FibGVkLFxyXG5cdFx0JjpkaXNhYmxlZCB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigncG9pbnRlci1ldmVudHMnLCAnbm9uZScpO1xyXG5cdFx0XHRjdXJzb3I6IGRlZmF1bHQ7XHJcblx0XHRcdG9wYWNpdHk6IDAuMjU7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRpbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG5cdGlucHV0W3R5cGU9XCJyZXNldFwiXSxcclxuXHRpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxyXG5cdGJ1dHRvbiB7XHJcblx0XHRsaW5lLWhlaWdodDogY2FsYygje19zaXplKGVsZW1lbnQtaGVpZ2h0KX0gLSAycHgpO1xyXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEJHICovXHJcblxyXG5cdCNiZyB7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zZm9ybScsICdzY2FsZSgxLjApJyk7XHJcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHRcdHBvc2l0aW9uOiBmaXhlZDtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwdmg7XHJcblx0XHR6LWluZGV4OiAxO1xyXG5cclxuXHRcdCY6YmVmb3JlLCAmOmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbicsICdiYWNrZ3JvdW5kLWNvbG9yICN7X2R1cmF0aW9uKGJnKX0gZWFzZS1pbi1vdXQnKTtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uLWRlbGF5JywgJyN7X2R1cmF0aW9uKGludHJvKX0nKTtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTpcdFx0bGluZWFyLWdyYWRpZW50KHRvIHRvcCwgI3tfcGFsZXR0ZShiZy1vdmVybGF5KX0sICN7X3BhbGV0dGUoYmctb3ZlcmxheSl9KSxcclxuXHRcdFx0XHRcdFx0XHRcdFx0dXJsKCcuLi8uLi9pbWFnZXMvb3ZlcmxheS5wbmcnKTtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOlx0XHRhdXRvLFxyXG5cdFx0XHRcdFx0XHRcdFx0XHQyNTZweCAyNTZweDtcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjpcdGNlbnRlcixcclxuXHRcdFx0XHRcdFx0XHRcdFx0Y2VudGVyO1xyXG5cdFx0XHRiYWNrZ3JvdW5kLXJlcGVhdDpcdFx0bm8tcmVwZWF0LFxyXG5cdFx0XHRcdFx0XHRcdFx0XHRyZXBlYXQ7XHJcblx0XHRcdHotaW5kZXg6IDI7XHJcblx0XHR9XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3NjYWxlKDEuMTI1KScpO1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAoXHJcblx0XHRcdFx0J3RyYW5zZm9ybSAje19kdXJhdGlvbihhcnRpY2xlKX0gZWFzZS1pbi1vdXQnLFxyXG5cdFx0XHRcdCdmaWx0ZXIgI3tfZHVyYXRpb24oYXJ0aWNsZSl9IGVhc2UtaW4tb3V0J1xyXG5cdFx0XHQpKTtcclxuXHRcdFx0YmFja2dyb3VuZC1pbWFnZTpcdFx0dXJsKCcuLi8uLi9pbWFnZXMvYmcuanBnJyk7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246XHRjZW50ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZTpcdFx0Y292ZXI7XHJcblx0XHRcdGJhY2tncm91bmQtcmVwZWF0Olx0XHRuby1yZXBlYXQ7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0Ym9keS5pcy1hcnRpY2xlLXZpc2libGUgJiB7XHJcblx0XHRcdCY6YWZ0ZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3NjYWxlKDEuMDgyNSknKTtcclxuXHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZpbHRlcicsICdibHVyKDAuMnJlbSknKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdGJvZHkuaXMtcHJlbG9hZCAmIHtcclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IF9wYWxldHRlKGJnLWFsdCk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9IiwiLy8vXHJcbi8vLyBEaW1lbnNpb24gYnkgSFRNTDUgVVBcclxuLy8vIGh0bWw1dXAubmV0IHwgQGFqbGtuXHJcbi8vLyBGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuLy8vXHJcblxyXG4vKiBXcmFwcGVyICovXHJcblxyXG5cdCN3cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgJ2NvbHVtbicpO1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCdhbGlnbi1pdGVtcycsICdjZW50ZXInKTtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignanVzdGlmeS1jb250ZW50JywgJ3NwYWNlLWJldHdlZW4nKTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRwYWRkaW5nOiA0cmVtIDJyZW07XHJcblx0XHR6LWluZGV4OiAzO1xyXG5cclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eGxhcmdlJykge1xyXG5cdFx0XHRwYWRkaW5nOiAzcmVtIDJyZW07XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD1zbWFsbCcpIHtcclxuXHRcdFx0cGFkZGluZzogMnJlbSAxcmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eHNtYWxsJykge1xyXG5cdFx0XHRwYWRkaW5nOiAxcmVtO1xyXG5cdFx0fVxyXG5cdH0iLCIvLy9cclxuLy8vIERpbWVuc2lvbiBieSBIVE1MNSBVUFxyXG4vLy8gaHRtbDV1cC5uZXQgfCBAYWpsa25cclxuLy8vIEZyZWUgZm9yIHBlcnNvbmFsIGFuZCBjb21tZXJjaWFsIHVzZSB1bmRlciB0aGUgQ0NBIDMuMCBsaWNlbnNlIChodG1sNXVwLm5ldC9saWNlbnNlKVxyXG4vLy9cclxuXHJcbi8qIEhlYWRlciAqL1xyXG5cclxuXHQjaGVhZGVyIHtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgJ2NvbHVtbicpO1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCdhbGlnbi1pdGVtcycsICdjZW50ZXInKTtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbicsIChcclxuXHRcdFx0J3RyYW5zZm9ybSAje19kdXJhdGlvbihhcnRpY2xlKX0gZWFzZS1pbi1vdXQnLFxyXG5cdFx0XHQnZmlsdGVyICN7X2R1cmF0aW9uKGFydGljbGUpfSBlYXNlLWluLW91dCcsXHJcblx0XHRcdCdvcGFjaXR5ICN7X2R1cmF0aW9uKGFydGljbGUpfSBlYXNlLWluLW91dCcsXHJcblx0XHQpKTtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KHJnYmEoMCwwLDAsMC4yNSkgMjUlLCByZ2JhKDAsMCwwLDApIDU1JSk7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LXJhZGlhbC1ncmFkaWVudChyZ2JhKDAsMCwwLDAuMjUpIDI1JSwgcmdiYSgwLDAsMCwwKSA1NSUpO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogLW1zLXJhZGlhbC1ncmFkaWVudChyZ2JhKDAsMCwwLDAuMjUpIDI1JSwgcmdiYSgwLDAsMCwwKSA1NSUpO1xyXG5cdFx0YmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KHJnYmEoMCwwLDAsMC4yNSkgMjUlLCByZ2JhKDAsMCwwLDApIDU1JSk7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdFx0PiAqIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgJ29wYWNpdHkgI3tfZHVyYXRpb24oYXJ0aWNsZSl9IGVhc2UtaW4tb3V0Jyk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0bWFyZ2luLXRvcDogMy41cmVtO1xyXG5cclxuXHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IGNhbGMoLTMuNXJlbSAtIDFweCk7XHJcblx0XHRcdFx0bGVmdDogY2FsYyg1MCUgLSAje19zaXplKGJvcmRlci13aWR0aCkgKiAxfSk7XHJcblx0XHRcdFx0d2lkdGg6IF9zaXplKGJvcmRlci13aWR0aCk7XHJcblx0XHRcdFx0aGVpZ2h0OiBjYWxjKDMuNXJlbSArIDFweCk7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdD4gOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMDtcclxuXHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LmxvZ28ge1xyXG5cdFx0XHR3aWR0aDogNS41cmVtO1xyXG5cdFx0XHRoZWlnaHQ6IDUuNXJlbTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6IDUuNXJlbTtcclxuXHRcdFx0Ym9yZGVyOiBzb2xpZCBfc2l6ZShib3JkZXItd2lkdGgpIF9wYWxldHRlKGJvcmRlcik7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblxyXG5cdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAycmVtO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5jb250ZW50IHtcclxuXHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHRcdFx0Ym9yZGVyLWNvbG9yOiBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRib3JkZXItdG9wLXdpZHRoOiBfc2l6ZShib3JkZXItd2lkdGgpO1xyXG5cdFx0XHRib3JkZXItYm90dG9tLXdpZHRoOiBfc2l6ZShib3JkZXItd2lkdGgpO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbicsIChcclxuXHRcdFx0XHRcdCdtYXgtaGVpZ2h0ICN7X2R1cmF0aW9uKGludHJvKX0gZWFzZScsXHJcblx0XHRcdFx0XHQncGFkZGluZyAje19kdXJhdGlvbihpbnRybyl9IGVhc2UnLFxyXG5cdFx0XHRcdFx0J29wYWNpdHkgI3tfZHVyYXRpb24oYXJ0aWNsZSl9IGVhc2UtaW4tb3V0J1xyXG5cdFx0XHRcdCkpO1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbi1kZWxheScsICcwLjI1cycpO1xyXG5cdFx0XHRcdHBhZGRpbmc6IDNyZW0gMnJlbTtcclxuXHRcdFx0XHRtYXgtaGVpZ2h0OiA0MHJlbTtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdFx0XHRpbWcge1xyXG5cdFx0XHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQ+IDpsYXN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwIHtcclxuXHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdGxldHRlci1zcGFjaW5nOiBfZm9udChsZXR0ZXItc3BhY2luZyk7XHJcblx0XHRcdFx0Zm9udC1zaXplOiAwLjhyZW07XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDI7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRuYXYge1xyXG5cdFx0XHR1bCB7XHJcblx0XHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdkaXNwbGF5JywgJ2ZsZXgnKTtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0XHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xyXG5cdFx0XHRcdGJvcmRlcjogc29saWQgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cclxuXHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XHJcblx0XHRcdFx0XHRib3JkZXItbGVmdDogc29saWQgX3NpemUoYm9yZGVyLXdpZHRoKSBfcGFsZXR0ZShib3JkZXIpO1xyXG5cclxuXHRcdFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xyXG5cdFx0XHRcdFx0XHRib3JkZXItbGVmdDogMDtcclxuXHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRcdG1pbi13aWR0aDogOXJlbTtcclxuXHRcdFx0XHRcdFx0aGVpZ2h0OiAyLjc1cmVtO1xyXG5cdFx0XHRcdFx0XHRsaW5lLWhlaWdodDogMi43NXJlbTtcclxuXHRcdFx0XHRcdFx0cGFkZGluZzogMCAxLjI1cmVtIDAgKDEuMjVyZW0gKyBfZm9udChsZXR0ZXItc3BhY2luZykpO1xyXG5cdFx0XHRcdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cdFx0XHRcdFx0XHRsZXR0ZXItc3BhY2luZzogX2ZvbnQobGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0XHRcdFx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdFx0XHRcdFx0Ym9yZGVyLWJvdHRvbTogMDtcclxuXHJcblx0XHRcdFx0XHRcdCY6aG92ZXIge1xyXG5cdFx0XHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IF9wYWxldHRlKGJvcmRlci1iZyk7XHJcblx0XHRcdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBfcGFsZXR0ZShib3JkZXItYmctYWx0KTtcclxuXHRcdFx0XHRcdFx0fVxyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Ji51c2UtbWlkZGxlIHtcclxuXHRcdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0XHRsZWZ0OiBjYWxjKDUwJSAtICN7X3NpemUoYm9yZGVyLXdpZHRoKSAqIDF9KTtcclxuXHRcdFx0XHRcdHdpZHRoOiBfc2l6ZShib3JkZXItd2lkdGgpO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZDogX3BhbGV0dGUoYm9yZGVyKTtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdHVsIHtcclxuXHRcdFx0XHRcdGxpIHtcclxuXHRcdFx0XHRcdFx0Ji5pcy1taWRkbGUge1xyXG5cdFx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ym9keS5pcy1hcnRpY2xlLXZpc2libGUgJiB7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3NjYWxlKDAuOTUpJyk7XHJcblx0XHRcdEBpbmNsdWRlIHZlbmRvcignZmlsdGVyJywgJ2JsdXIoMC4xcmVtKScpO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdGJvZHkuaXMtcHJlbG9hZCAmIHtcclxuXHRcdFx0PiAqIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZpbHRlcicsICdibHVyKDAuMTI1cmVtKScpO1xyXG5cclxuXHRcdFx0LmNvbnRlbnQge1xyXG5cdFx0XHRcdC5pbm5lciB7XHJcblx0XHRcdFx0XHRtYXgtaGVpZ2h0OiAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRcdFx0XHRwYWRkaW5nLWJvdHRvbTogMDtcclxuXHRcdFx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD1tZWRpdW0nKSB7XHJcblx0XHRcdC5jb250ZW50IHtcclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdGJyIHtcclxuXHRcdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXNtYWxsJykge1xyXG5cdFx0XHQ+ICoge1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IDJyZW07XHJcblxyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdHRvcDogY2FsYygtMnJlbSAtIDFweCk7XHJcblx0XHRcdFx0XHRoZWlnaHQ6IGNhbGMoMnJlbSArIDFweCk7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQubG9nbyB7XHJcblx0XHRcdFx0d2lkdGg6IDQuNzVyZW07XHJcblx0XHRcdFx0aGVpZ2h0OiA0Ljc1cmVtO1xyXG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA0Ljc1cmVtO1xyXG5cclxuXHRcdFx0XHQuaWNvbiB7XHJcblx0XHRcdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0XHRcdGZvbnQtc2l6ZTogMS43NXJlbTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5jb250ZW50IHtcclxuXHRcdFx0XHQuaW5uZXIge1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMi41cmVtIDFyZW07XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHRwIHtcclxuXHRcdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjg3NTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHRAaW5jbHVkZSBicmVha3BvaW50KCc8PXhzbWFsbCcpIHtcclxuXHRcdFx0cGFkZGluZzogMS41cmVtIDA7XHJcblxyXG5cdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0LmlubmVyIHtcclxuXHRcdFx0XHRcdHBhZGRpbmc6IDIuNXJlbSAwO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0bmF2IHtcclxuXHRcdFx0XHR1bCB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgJ2NvbHVtbicpO1xyXG5cdFx0XHRcdFx0bWluLXdpZHRoOiAxMHJlbTtcclxuXHRcdFx0XHRcdG1heC13aWR0aDogMTAwJTtcclxuXHJcblx0XHRcdFx0XHRsaSB7XHJcblx0XHRcdFx0XHRcdGJvcmRlci1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHRib3JkZXItdG9wOiBzb2xpZCBfc2l6ZShib3JkZXItd2lkdGgpIF9wYWxldHRlKGJvcmRlcik7XHJcblxyXG5cdFx0XHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcclxuXHRcdFx0XHRcdFx0XHRib3JkZXItdG9wOiAwO1xyXG5cdFx0XHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdFx0XHRoZWlnaHQ6IDNyZW07XHJcblx0XHRcdFx0XHRcdFx0bGluZS1oZWlnaHQ6IDNyZW07XHJcblx0XHRcdFx0XHRcdFx0bWluLXdpZHRoOiAwO1xyXG5cdFx0XHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmLnVzZS1taWRkbGUge1xyXG5cdFx0XHRcdFx0JjphZnRlciB7XHJcblx0XHRcdFx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRGltZW5zaW9uIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogTWFpbiAqL1xyXG5cclxuXHQjbWFpbiB7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZ3JvdycsICcxJyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtc2hyaW5rJywgJzEnKTtcclxuXHRcdEBpbmNsdWRlIHZlbmRvcignZGlzcGxheScsICdmbGV4Jyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2FsaWduLWl0ZW1zJywgJ2NlbnRlcicpO1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCdqdXN0aWZ5LWNvbnRlbnQnLCAnY2VudGVyJyk7XHJcblx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgJ2NvbHVtbicpO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0ei1pbmRleDogMztcclxuXHJcblx0XHRhcnRpY2xlIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2Zvcm0nLCAndHJhbnNsYXRlWSgwLjI1cmVtKScpO1xyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ3RyYW5zaXRpb24nLCAoXHJcblx0XHRcdFx0J29wYWNpdHkgI3tfZHVyYXRpb24oYXJ0aWNsZSl9IGVhc2UtaW4tb3V0JyxcclxuXHRcdFx0XHQndHJhbnNmb3JtICN7X2R1cmF0aW9uKGFydGljbGUpfSBlYXNlLWluLW91dCdcclxuXHRcdFx0KSk7XHJcblx0XHRcdEBpbmNsdWRlIHBhZGRpbmcoMi41cmVtLCAyLjVyZW0sICgycmVtLCAwLCAxcmVtLCAwKSk7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0d2lkdGg6IDQwcmVtO1xyXG5cdFx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKF9wYWxldHRlKGJnKSwgMC4xNSk7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IF9zaXplKGJvcmRlci1yYWRpdXMpO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cclxuXHRcdFx0Ji5hY3RpdmUge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNmb3JtJywgJ3RyYW5zbGF0ZVkoMCknKTtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQuY2xvc2Uge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdFx0d2lkdGg6IDRyZW07XHJcblx0XHRcdFx0aGVpZ2h0OiA0cmVtO1xyXG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0XHR0ZXh0LWluZGVudDogNHJlbTtcclxuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cdFx0XHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblxyXG5cdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIHZlbmRvcigndHJhbnNpdGlvbicsICdiYWNrZ3JvdW5kLWNvbG9yICN7X2R1cmF0aW9uKHRyYW5zaXRpb24pfSBlYXNlLWluLW91dCcpO1xyXG5cdFx0XHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0XHRcdHRvcDogMC43NXJlbTtcclxuXHRcdFx0XHRcdGxlZnQ6IDAuNzVyZW07XHJcblx0XHRcdFx0XHR3aWR0aDogMi41cmVtO1xyXG5cdFx0XHRcdFx0aGVpZ2h0OiAyLjVyZW07XHJcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMDAlO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogc3ZnLXVybCgnPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgd2lkdGg9XCIyMHB4XCIgaGVpZ2h0PVwiMjBweFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiB6b29tQW5kUGFuPVwiZGlzYWJsZVwiPjxzdHlsZT5saW5lIHsgc3Ryb2tlOiAje19wYWxldHRlKGJvcmRlcil9OyBzdHJva2Utd2lkdGg6IDE7IH08L3N0eWxlPjxsaW5lIHgxPVwiMlwiIHkxPVwiMlwiIHgyPVwiMThcIiB5Mj1cIjE4XCIgLz48bGluZSB4MT1cIjE4XCIgeTE9XCIyXCIgeDI9XCIyXCIgeTI9XCIxOFwiIC8+PC9zdmc+Jyk7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLXNpemU6IDIwcHggMjBweDtcclxuXHRcdFx0XHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOmhvdmVyIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogX3BhbGV0dGUoYm9yZGVyLWJnKTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCY6YWN0aXZlIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogX3BhbGV0dGUoYm9yZGVyLWJnLWFsdCk7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCgnPD1zbWFsbCcpIHtcclxuXHRcdFx0YXJ0aWNsZSB7XHJcblx0XHRcdFx0QGluY2x1ZGUgcGFkZGluZygycmVtLCAycmVtLCAoMS41cmVtLCAwLCAwLjVyZW0sIDApKTtcclxuXHJcblx0XHRcdFx0LmNsb3NlIHtcclxuXHRcdFx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRcdFx0dG9wOiAwLjg3NXJlbTtcclxuXHRcdFx0XHRcdFx0bGVmdDogMC44NzVyZW07XHJcblx0XHRcdFx0XHRcdHdpZHRoOiAyLjI1cmVtO1xyXG5cdFx0XHRcdFx0XHRoZWlnaHQ6IDIuMjVyZW07XHJcblx0XHRcdFx0XHRcdGJhY2tncm91bmQtc2l6ZTogMTRweCAxNHB4O1xyXG5cdFx0XHRcdFx0fVxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQoJzw9eHNtYWxsJykge1xyXG5cdFx0XHRhcnRpY2xlIHtcclxuXHRcdFx0XHRAaW5jbHVkZSBwYWRkaW5nKDJyZW0sIDEuNXJlbSwgKDFyZW0sIDAsIDAuNXJlbSwgMCkpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fSIsIi8vL1xyXG4vLy8gRGltZW5zaW9uIGJ5IEhUTUw1IFVQXHJcbi8vLyBodG1sNXVwLm5ldCB8IEBhamxrblxyXG4vLy8gRnJlZSBmb3IgcGVyc29uYWwgYW5kIGNvbW1lcmNpYWwgdXNlIHVuZGVyIHRoZSBDQ0EgMy4wIGxpY2Vuc2UgKGh0bWw1dXAubmV0L2xpY2Vuc2UpXHJcbi8vL1xyXG5cclxuLyogRm9vdGVyICovXHJcblxyXG5cdCNmb290ZXIge1xyXG5cdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2l0aW9uJywgKFxyXG5cdFx0XHQndHJhbnNmb3JtICN7X2R1cmF0aW9uKGFydGljbGUpfSBlYXNlLWluLW91dCcsXHJcblx0XHRcdCdmaWx0ZXIgI3tfZHVyYXRpb24oYXJ0aWNsZSl9IGVhc2UtaW4tb3V0JyxcclxuXHRcdFx0J29wYWNpdHkgI3tfZHVyYXRpb24oYXJ0aWNsZSl9IGVhc2UtaW4tb3V0JyxcclxuXHRcdCkpO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tdG9wOiAycmVtO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRcdC5jb3B5cmlnaHQge1xyXG5cdFx0XHRsZXR0ZXItc3BhY2luZzogX2ZvbnQobGV0dGVyLXNwYWNpbmcpO1xyXG5cdFx0XHRmb250LXNpemU6IDAuNnJlbTtcclxuXHRcdFx0b3BhY2l0eTogMC43NTtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdH1cclxuXHJcblx0XHRib2R5LmlzLWFydGljbGUtdmlzaWJsZSAmIHtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCd0cmFuc2Zvcm0nLCAnc2NhbGUoMC45NSknKTtcclxuXHRcdFx0QGluY2x1ZGUgdmVuZG9yKCdmaWx0ZXInLCAnYmx1cigwLjFyZW0pJyk7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Ym9keS5pcy1wcmVsb2FkICYge1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0fVxyXG5cdH0iLCJAaW1wb3J0ICdsaWJzL3ZhcnMnO1xyXG5AaW1wb3J0ICdsaWJzL2Z1bmN0aW9ucyc7XHJcbkBpbXBvcnQgJ2xpYnMvbWl4aW5zJztcclxuQGltcG9ydCAnbGlicy92ZW5kb3InO1xyXG5AaW1wb3J0ICdsaWJzL2JyZWFrcG9pbnRzJztcclxuXHJcbi8qXHJcblx0RGltZW5zaW9uIGJ5IEhUTUw1IFVQXHJcblx0aHRtbDV1cC5uZXQgfCBAYWpsa25cclxuXHRGcmVlIGZvciBwZXJzb25hbCBhbmQgY29tbWVyY2lhbCB1c2UgdW5kZXIgdGhlIENDQSAzLjAgbGljZW5zZSAoaHRtbDV1cC5uZXQvbGljZW5zZSlcclxuKi9cclxuXHJcbi8qIEJHICovXHJcblxyXG5cdCNiZyB7XHJcblx0XHRib2R5LmlzLXByZWxvYWQgJiB7XHJcblx0XHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbi8qIEhlYWRlciAqL1xyXG5cclxuXHQjaGVhZGVyIHtcclxuXHRcdGJvZHkuaXMtcHJlbG9hZCAmIHtcclxuXHRcdFx0PiAqIHtcclxuXHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRAaW5jbHVkZSB2ZW5kb3IoJ2ZpbHRlcicsICdub25lJyk7XHJcblxyXG5cdFx0XHQuY29udGVudCB7XHJcblx0XHRcdFx0LmlubmVyIHtcclxuXHRcdFx0XHRcdG1heC1oZWlnaHQ6IG5vbmU7XHJcblx0XHRcdFx0XHRwYWRkaW5nOiAzcmVtIDJyZW07XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbi8qIE1haW4gKi9cclxuXHJcblx0I21haW4ge1xyXG5cdFx0YXJ0aWNsZSB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHRcdG1hcmdpbjogKF9zaXplKGVsZW1lbnQtbWFyZ2luKSAqIDIpIDAgMCAwO1xyXG5cdFx0fVxyXG5cdH0iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/