@font-face {
  font-family: "Gothic";
  src: url(/static/fonts/GothicA1-Regular.ttf); }

@font-face {
  font-family: "Buendia";
  src: url(/static/fonts/buendia-bold.ttf); }

@font-face {
  font-family: "Libre Franklin";
  src: url(/static/fonts/LibreFranklin.ttf); }

:root {
  --lead: 1.5;
  --unit: calc(var(--lead) * 1rem);
  --remPx: 16px;
  --boxSizing: border-box; }

*, *:after, *:before {
  box-sizing: border-box;
  box-sizing: var(--boxSizing);
  transition: all 300ms ease, font-size 0s;
  background-repeat: no-repeat; }

.reset-box-sizing {
  --boxSizing: content-box; }

html {
  line-height: 1.5;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  padding: 0;
  font-family: "Gothic"; }

main {
  display: block; }

dd, dt, li {
  margin-bottom: 0.75rem; }

blockquote,
dl,
figure,
form,
ol,
p,
pre,
table,
ul {
  margin-bottom: 3rem; }

:root {
  --remPx: 16px;
  --rem: 16; }

html {
  font-size: 100%; }

@media screen and (min-width: 50rem) {
  :root {
    --remPx: 17px;
    --rem: 17; }
  html {
    font-size: 106.25%; } }

@media screen and (min-width: 75rem) {
  :root {
    --remPx: 18px;
    --rem: 18; }
  html {
    font-size: 112.5%; } }

@media screen and (min-width: 35rem) {
  :root {
    --remPx: 16px;
    --rem: 16; }
  html {
    font-size: 100%; } }

h1, h2, h3, h4, h5, h6, .h1, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6, .h3, .h4, .h5, .h6,
.heading {
  letter-spacing: -0.03em;
  font-weight: 400;
  color: #552F91;
  font-family: "Buendia", sans-serif;
  margin: 0 0 0.75rem 0; }

h1, .h1 {
  font-size: 1.625rem;
  line-height: 1.25;
  margin: 1.69062rem 0 0.77812rem 0; }

h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
  font-size: 1.4375rem;
  line-height: 1.25;
  margin: 1.91094rem 0 0.79219rem 0; }

h3, .h3 {
  font-size: 1.25rem;
  line-height: 1.25;
  margin: 2.13125rem 0 0.80625rem 0; }

h4, .h4 {
  font-size: 1.125rem;
  line-height: 1.25;
  margin: 2.27813rem 0 0.81562rem 0; }

h5, .h5 {
  font-size: 1rem;
  line-height: 1.5;
  margin: 2.25rem 0 0.75rem 0; }

h6, .h6 {
  font-size: 0.875rem;
  line-height: 1.71429;
  margin: 2.25rem 0 0.75rem 0; }

@media screen and (min-width: 35rem) {
  h1, .h1 {
    font-size: 1.625rem;
    line-height: 1.25;
    margin: 1.69062rem 0 0.77812rem 0; }
  h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
    font-size: 1.4375rem;
    line-height: 1.25;
    margin: 1.91094rem 0 0.79219rem 0; }
  h3, .h3 {
    font-size: 1.25rem;
    line-height: 1.25;
    margin: 2.13125rem 0 0.80625rem 0; }
  h4, .h4 {
    font-size: 1.125rem;
    line-height: 1.25;
    margin: 2.27813rem 0 0.81562rem 0; }
  h5, .h5 {
    font-size: 1rem;
    line-height: 1.5;
    margin: 2.25rem 0 0.75rem 0; }
  h6, .h6 {
    font-size: 0.875rem;
    line-height: 1.71429;
    margin: 2.25rem 0 0.75rem 0; } }

@media screen and (min-width: 50rem) {
  h1, .h1 {
    font-size: 1.6875rem;
    line-height: 1.25;
    margin: 1.61719rem 0 0.77344rem 0; }
  h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
    font-size: 1.5rem;
    line-height: 1.25;
    margin: 1.8375rem 0 0.7875rem 0; }
  h3, .h3 {
    font-size: 1.3125rem;
    line-height: 1.25;
    margin: 2.05781rem 0 0.80156rem 0; }
  h4, .h4 {
    font-size: 1.125rem;
    line-height: 1.25;
    margin: 2.27813rem 0 0.81562rem 0; }
  h5, .h5 {
    font-size: 1rem;
    line-height: 1.5;
    margin: 2.25rem 0 0.75rem 0; }
  h6, .h6 {
    font-size: 0.875rem;
    line-height: 1.71429;
    margin: 2.25rem 0 0.75rem 0; } }

@media screen and (min-width: 75rem) {
  h1, .h1 {
    font-size: 1.875rem;
    line-height: 1.25;
    margin: 2.89687rem 0 0.75937rem 0; }
  h2, .h2, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
    font-size: 1.5625rem;
    line-height: 1.25;
    margin: 1.76406rem 0 0.78281rem 0; }
  h3, .h3 {
    font-size: 1.375rem;
    line-height: 1.25;
    margin: 1.98438rem 0 0.79688rem 0; }
  h4, .h4 {
    font-size: 1.1875rem;
    line-height: 1.25;
    margin: 2.20469rem 0 0.81094rem 0; }
  h5, .h5 {
    font-size: 1rem;
    line-height: 1.5;
    margin: 2.25rem 0 0.75rem 0; }
  h6, .h6 {
    font-size: 0.875rem;
    line-height: 1.71429;
    margin: 2.25rem 0 0.75rem 0; } }

b, strong {
  font-weight: bolder; }

small {
  font-size: 75%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

abbr[title] {
  border-bottom: none;
  text-decoration: underline dotted; }

code, kbd, samp {
  font-family: "IBM Plex Mono", monospace;
  font-size: 1em; }

p, .paragraph {
  margin: 0 0 1.5rem 0; }

pre, .pre {
  font-family: "IBM Plex Mono", monospace;
  font-size: 1em;
  overflow-y: hidden;
  overflow-x: auto;
  white-space: pre; }
  pre > code, .pre > code {
    border-radius: 0;
    display: block;
    padding: 1rem 1.5rem;
    white-space: pre; }

blockquote, .blockquote {
  border-left: 0.25rem solid #552F91; }
  blockquote *:last-child, .blockquote *:last-child {
    margin-bottom: 0; }

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible; }

dl,
ol,
ul {
  list-style: none;
  margin-top: 0;
  padding-left: 0; }
  dl dl,
  dl ol,
  dl ul,
  ol dl,
  ol ol,
  ol ul,
  ul dl,
  ul ol,
  ul ul {
    font-size: 90%;
    margin: 1.5rem 0 1.5rem 3rem; }

ol {
  list-style: decimal inside; }

ul {
  list-style: circle inside; }

table {
  border-spacing: 0;
  width: 100%; }

td,
th {
  padding: 0.75rem;
  text-align: left; }
  td:first-child,
  th:first-child {
    padding-left: 0; }
  td:last-child,
  th:last-child {
    padding-right: 0; }

a {
  color: #552F91;
  text-decoration: none;
  cursor: pointer;
  font-weight: 500; }
  a:focus, a:hover {
    color: #552F91;
    text-decoration: inherit; }

a.text {
  color: #552F91; }
  a.text:focus, a.text:hover {
    color: #552F91; }

img {
  border-style: none;
  max-width: 100%; }

button, input {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

.button, .welcome-page__buttons a,
button,
input[type='button'],
input[type='reset'],
input[type='submit'] {
  color: #f7f5fa;
  background-color: #552F91;
  border: 1px solid;
  border-color: #552F91;
  border-radius: 1.125rem;
  font-weight: 700;
  cursor: pointer;
  display: inline-block;
  font-size: 0.75rem;
  font-family: "Gothic";
  letter-spacing: 0.05em;
  line-height: 2.25rem;
  height: 2.25rem;
  margin: 0 0 0.75rem 0;
  padding: 0 1.5rem;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  white-space: nowrap;
  transition: filter 250ms; }
  .button:focus, .welcome-page__buttons a:focus, .button:hover, .welcome-page__buttons a:hover,
  button:focus,
  button:hover,
  input[type='button']:focus,
  input[type='button']:hover,
  input[type='reset']:focus,
  input[type='reset']:hover,
  input[type='submit']:focus,
  input[type='submit']:hover {
    box-shadow: 0 0 2px 3px rgba(0, 0, 0, 0.12), inset 0 0 16px rgba(230, 225, 132, 0.1); }
  .button[disabled], .welcome-page__buttons a[disabled], .button.is-disabled, .welcome-page__buttons a.is-disabled,
  button[disabled],
  button.is-disabled,
  input[type='button'][disabled],
  input[type='button'].is-disabled,
  input[type='reset'][disabled],
  input[type='reset'].is-disabled,
  input[type='submit'][disabled],
  input[type='submit'].is-disabled {
    filter: saturate(25%);
    cursor: default;
    opacity: 0.75; }
  .button.is-small, .welcome-page__buttons a.is-small,
  button.is-small,
  input[type='button'].is-small,
  input[type='reset'].is-small,
  input[type='submit'].is-small {
    line-height: 1.5rem;
    height: 1.5rem;
    padding: 0 0.375rem; }
  .button.is-primary, .button.conecta-buttons__deny-btn,
  .button.conecta-profile-form__deny-btn, .welcome-page__buttons a,
  button.is-primary,
  button.conecta-buttons__deny-btn,
  button.conecta-profile-form__deny-btn,
  input[type='button'].is-primary,
  [type='button'].conecta-buttons__deny-btn,
  [type='button'].conecta-profile-form__deny-btn,
  input[type='reset'].is-primary,
  [type='reset'].conecta-buttons__deny-btn,
  [type='reset'].conecta-profile-form__deny-btn,
  input[type='submit'].is-primary,
  [type='submit'].conecta-buttons__deny-btn,
  [type='submit'].conecta-profile-form__deny-btn {
    color: #f7f5fa;
    background-color: #552F91;
    border-color: #552F91; }
  .button.is-secondary, .welcome-page__buttons a.is-secondary,
  button.is-secondary,
  input[type='button'].is-secondary,
  input[type='reset'].is-secondary,
  input[type='submit'].is-secondary {
    color: #010a09;
    background-color: #14C4B2;
    border-color: #14C4B2; }
  .button.is-positive, .welcome-page__buttons a.is-positive,
  button.is-positive,
  input[type='button'].is-positive,
  input[type='reset'].is-positive,
  input[type='submit'].is-positive {
    color: #010903;
    background-color: #16ab39;
    border-color: #16ab39; }
  .button.is-warning, .welcome-page__buttons a.is-warning,
  button.is-warning,
  input[type='button'].is-warning,
  input[type='reset'].is-warning,
  input[type='submit'].is-warning {
    color: #0d0900;
    background-color: #fbbd08;
    border-color: #fbbd08; }
  .button.is-negative, .welcome-page__buttons a.is-negative,
  button.is-negative,
  input[type='button'].is-negative,
  input[type='reset'].is-negative,
  input[type='submit'].is-negative {
    color: #0b0002;
    background-color: #de011e;
    border-color: #de011e; }
  .button.is-clear, .welcome-page__buttons a.is-clear,
  button.is-clear,
  input[type='button'].is-clear,
  input[type='reset'].is-clear,
  input[type='submit'].is-clear {
    background-color: transparent;
    border-color: transparent;
    color: inherit;
    cursor: pointer;
    font-size: inherit;
    letter-spacing: inherit;
    line-height: inherit;
    height: initial;
    margin: initial;
    padding: 0;
    text-align: inherit;
    text-decoration: inherit;
    text-transform: inherit;
    white-space: nowrap; }
    .button.is-clear:focus, .welcome-page__buttons a.is-clear:focus, .button.is-clear:hover, .welcome-page__buttons a.is-clear:hover,
    button.is-clear:focus,
    button.is-clear:hover,
    input[type='button'].is-clear:focus,
    input[type='button'].is-clear:hover,
    input[type='reset'].is-clear:focus,
    input[type='reset'].is-clear:hover,
    input[type='submit'].is-clear:focus,
    input[type='submit'].is-clear:hover {
      box-shadow: none;
      text-decoration: underline; }
  .button.is-ghost, .welcome-page__buttons a.is-ghost,
  button.is-ghost,
  input[type='button'].is-ghost,
  input[type='reset'].is-ghost,
  input[type='submit'].is-ghost {
    background-color: transparent;
    color: #552F91; }

input,
optgroup,
select {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.15;
  margin: 0; }

[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  padding: 0; }

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

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px; }

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

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit; }

input[type='email']:hover, input[type='email']:focus,
input[type='number']:hover,
input[type='number']:focus,
input[type='password']:hover,
input[type='password']:focus,
input[type='search']:hover,
input[type='search']:focus,
input[type='tel']:hover,
input[type='tel']:focus,
input[type='text']:hover,
input[type='text']:focus,
input[type='url']:hover,
input[type='url']:focus,
input[type='color']:hover,
input[type='color']:focus,
input[type='date']:hover,
input[type='date']:focus,
input[type='month']:hover,
input[type='month']:focus,
input[type='week']:hover,
input[type='week']:focus,
input[type='datetime']:hover,
input[type='datetime']:focus,
input[type='datetime-local']:hover,
input[type='datetime-local']:focus,
input:not([type]):hover,
input:not([type]):focus,
textarea:hover,
textarea:focus,
select:hover,
select:focus {
  background-color: #fafafa; }

input[type='email']:focus,
input[type='number']:focus,
input[type='password']:focus,
input[type='search']:focus,
input[type='tel']:focus,
input[type='text']:focus,
input[type='url']:focus,
input[type='color']:focus,
input[type='date']:focus,
input[type='month']:focus,
input[type='week']:focus,
input[type='datetime']:focus,
input[type='datetime-local']:focus,
input:not([type]):focus,
textarea:focus,
select:focus {
  box-shadow: inset 0 0 0.5rem 2px rgba(0, 0, 0, 0.08), 0 0 0 2px #552f91;
  filter: none;
  outline: 0; }

input[type='email'],
input[type='number'],
input[type='password'],
input[type='search'],
input[type='tel'],
input[type='text'],
input[type='url'],
input[type='color'],
input[type='date'],
input[type='month'],
input[type='week'],
input[type='datetime'],
input[type='datetime-local'],
input:not([type]),
textarea,
select {
  color: #0d0d0d;
  background-color: white;
  border: 1px solid;
  border-color: #552F91;
  border-radius: 1.125rem;
  min-width: 15em;
  width: 100%;
  max-width: 30rem;
  display: block;
  font-size: 1rem;
  font-family: inherit;
  height: 2.625rem;
  line-height: 1.5;
  margin: 0.375rem 0 1.5rem 0;
  padding: 0 1.125rem; }

input[type='color'] {
  padding: 0.375rem 1.125rem; }

input[type='date'],
input[type='month'],
input[type='week'],
input[type='datetime-local'],
textarea {
  font-size: var(--remPx); }

input[type='checkbox'],
input[type='radio'] {
  display: inline;
  margin-right: 1em; }

input[type='checkbox'],
input[type='radio'] {
  z-index: -1;
  transform: scale(1.5);
  outline: none; }

input[type='checkbox']::after,
input[type='radio']::after {
  display: block;
  content: "";
  z-index: 1;
  cursor: pointer;
  box-sizing: border-box;
  width: 1em;
  height: 1em;
  position: relative;
  background-color: white;
  box-shadow: inset 0 0 0.5em rgba(0, 0, 0, 0.1), inset 0 0 0 1px rgba(0, 0, 0, 0.2);
  outline-color: #552F91; }

input[type='checkbox']::after {
  bottom: 0.9em;
  right: 0.15em;
  border-radius: 0.2em; }

input[type='checkbox']::before {
  content: "";
  display: block;
  z-index: 2;
  border: solid transparent;
  border-width: 0 0.2em 0.2em 0;
  transform: rotate(45deg);
  width: 0.4em;
  height: 0.7em;
  position: relative;
  right: -0.2em;
  bottom: 0.1em; }

input[type='radio']::after {
  border-radius: 50%;
  bottom: 0.25em;
  right: 0.1em; }

input[type='checkbox']:checked::before {
  border-color: white; }

input[type='checkbox']:checked::after {
  background-color: #552F91;
  transition: background-color 0ms; }

input[type='radio']:checked::after {
  border: 0.33333em solid #552F91;
  box-shadow: none; }

input[type='checkbox']:hover:not(:disabled)::after,
input[type='radio']:hover:not(:disabled)::after {
  background-color: #eee; }

input[type='checkbox']:checked:hover:not(:disabled)::after {
  background-color: #40236d; }

input[type='radio']:checked:hover:not(:disabled)::after {
  background-color: white;
  border-color: #40236d; }

input[type='radio']:disabled::after {
  filter: brightness(110%); }

input[type='checkbox']:checked:disabled::after {
  background-color: #888888; }

input[type='radio']:checked:disabled::after {
  border: 0.33333em solid #b0b0b0; }

select {
  padding-right: 3rem; }

textarea {
  overflow: auto;
  padding: 0.75rem 1.125rem;
  min-height: 7.5rem; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  display: table;
  max-width: 30rem;
  white-space: normal;
  color: inherit;
  padding: 0;
  text-align: right;
  font-size: 0.875rem; }

label {
  display: block;
  font-weight: 700;
  margin-bottom: 1.5rem; }

label + input[type='email'],
label + input[type='number'],
label + input[type='password'],
label + input[type='search'],
label + input[type='tel'],
label + input[type='text'],
label + input[type='url'],
label + input[type='color'],
label + input[type='date'],
label + input[type='month'],
label + input[type='week'],
label + input[type='datetime'],
label + input[type='datetime-local'],
label + input:not([type]),
label + textarea,
label + select {
  margin-top: -1.125rem; }

input[type='email'] + legend, .conversation-balloon input[type='email'] + textarea::placeholder, input[type='email'] + .helptext,
input[type='number'] + legend,
.conversation-balloon input[type='number'] + textarea::placeholder,
input[type='number'] + .helptext,
input[type='password'] + legend,
.conversation-balloon input[type='password'] + textarea::placeholder,
input[type='password'] + .helptext,
input[type='search'] + legend,
.conversation-balloon input[type='search'] + textarea::placeholder,
input[type='search'] + .helptext,
input[type='tel'] + legend,
.conversation-balloon input[type='tel'] + textarea::placeholder,
input[type='tel'] + .helptext,
input[type='text'] + legend,
.conversation-balloon input[type='text'] + textarea::placeholder,
input[type='text'] + .helptext,
input[type='url'] + legend,
.conversation-balloon input[type='url'] + textarea::placeholder,
input[type='url'] + .helptext,
input[type='color'] + legend,
.conversation-balloon input[type='color'] + textarea::placeholder,
input[type='color'] + .helptext,
input[type='date'] + legend,
.conversation-balloon input[type='date'] + textarea::placeholder,
input[type='date'] + .helptext,
input[type='month'] + legend,
.conversation-balloon input[type='month'] + textarea::placeholder,
input[type='month'] + .helptext,
input[type='week'] + legend,
.conversation-balloon input[type='week'] + textarea::placeholder,
input[type='week'] + .helptext,
input[type='datetime'] + legend,
.conversation-balloon input[type='datetime'] + textarea::placeholder,
input[type='datetime'] + .helptext,
input[type='datetime-local'] + legend,
.conversation-balloon input[type='datetime-local'] + textarea::placeholder,
input[type='datetime-local'] + .helptext,
input:not([type]) + legend,
.conversation-balloon input:not([type]) + textarea::placeholder,
input:not([type]) + .helptext,
textarea + legend,
.conversation-balloon textarea + textarea::placeholder,
textarea + .helptext,
select + legend,
.conversation-balloon select + textarea::placeholder,
select + .helptext,
label + legend,
.conversation-balloon label + textarea::placeholder {
  margin-top: -1.125rem;
  margin-bottom: 1.5rem; }

fieldset {
  padding: 0; }

progress {
  vertical-align: baseline; }

.label-inline {
  display: inline-block;
  font-weight: normal;
  margin-left: 0.5rem; }

.list-inline {
  padding: 0;
  margin: 0;
  list-style: none; }
  .list-inline > li {
    display: inline; }

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

.text-1 {
  font-size: 1.625rem; }
  @media screen and (min-width: 35rem) {
    .text-1 {
      font-size: 1.625rem; } }
  @media screen and (min-width: 50rem) {
    .text-1 {
      font-size: 1.6875rem; } }
  @media screen and (min-width: 75rem) {
    .text-1 {
      font-size: 1.875rem; } }
.text-2 {
  font-size: 1.4375rem; }
  @media screen and (min-width: 35rem) {
    .text-2 {
      font-size: 1.4375rem; } }
  @media screen and (min-width: 50rem) {
    .text-2 {
      font-size: 1.5rem; } }
  @media screen and (min-width: 75rem) {
    .text-2 {
      font-size: 1.5625rem; } }
.text-3 {
  font-size: 1.25rem; }
  @media screen and (min-width: 35rem) {
    .text-3 {
      font-size: 1.25rem; } }
  @media screen and (min-width: 50rem) {
    .text-3 {
      font-size: 1.3125rem; } }
  @media screen and (min-width: 75rem) {
    .text-3 {
      font-size: 1.375rem; } }
.text-4 {
  font-size: 1.125rem; }
  @media screen and (min-width: 35rem) {
    .text-4 {
      font-size: 1.125rem; } }
  @media screen and (min-width: 50rem) {
    .text-4 {
      font-size: 1.125rem; } }
  @media screen and (min-width: 75rem) {
    .text-4 {
      font-size: 1.1875rem; } }
.text-5 {
  font-size: 1rem; }
  @media screen and (min-width: 35rem) {
    .text-5 {
      font-size: 1rem; } }
  @media screen and (min-width: 50rem) {
    .text-5 {
      font-size: 1rem; } }
  @media screen and (min-width: 75rem) {
    .text-5 {
      font-size: 1rem; } }
.text-6, label, .description dt {
  font-size: 0.875rem; }
  @media screen and (min-width: 35rem) {
    .text-6, label, .description dt {
      font-size: 0.875rem; } }
  @media screen and (min-width: 50rem) {
    .text-6, label, .description dt {
      font-size: 0.875rem; } }
  @media screen and (min-width: 75rem) {
    .text-6, label, .description dt {
      font-size: 0.875rem; } }
.text-7 {
  font-size: 0.75rem; }
  @media screen and (min-width: 35rem) {
    .text-7 {
      font-size: 0.75rem; } }
  @media screen and (min-width: 50rem) {
    .text-7 {
      font-size: 0.75rem; } }
  @media screen and (min-width: 75rem) {
    .text-7 {
      font-size: 0.75rem; } }
.text-8 {
  font-size: 0.625rem; }
  @media screen and (min-width: 35rem) {
    .text-8 {
      font-size: 0.625rem; } }
  @media screen and (min-width: 50rem) {
    .text-8 {
      font-size: 0.625rem; } }
  @media screen and (min-width: 75rem) {
    .text-8 {
      font-size: 0.625rem; } }
.sans-serif {
  font-family: "Gothic"; }

.serif {
  font-family: "IBM Plex Serif", serif; }

.cursive {
  font-family: cursive; }

.monospace {
  font-family: "IBM Plex Mono", monospace; }

.thin {
  font-weight: 100; }

.extra-light {
  font-weight: 200; }

.light {
  font-weight: 300; }

.regular {
  font-weight: 400; }

.medium {
  font-weight: 500; }

.semi-bold {
  font-weight: 600; }

.bold, .tooltip__content, .stat-slab dl dd, .stat-slab dl dt, .description dt, .categories {
  font-weight: 700; }

.extra-bold {
  font-weight: 800; }

.black {
  font-weight: 900; }

.italic {
  font-style: italic; }

.roman {
  font-style: normal; }

.uppercase, .tabs {
  text-transform: uppercase; }

.lowercase, .stat-slab dl dt, .description dt {
  text-transform: lowercase; }

.capitalize {
  text-transform: capitalize; }

.normalcase {
  text-transform: none; }

.underline {
  text-decoration: underline; }

.line-through {
  text-decoration: line-through; }

.no-underline {
  text-decoration: none; }

.left, .moderate .comments-container {
  text-align: left; }

.center, .conversation-balloon, .popup__contents, .intro-paragraph, .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
  text-align: center; }

.right {
  text-align: right; }

.justify {
  text-align: justify; }

.baseline {
  vertical-align: baseline; }

.top {
  vertical-align: top; }

.middle {
  vertical-align: middle; }

.bottom {
  vertical-align: bottom; }

.text-top {
  vertical-align: text-top; }

.text-bottom {
  vertical-align: text-bottom; }

.normal {
  white-space: normal; }

.nowrap {
  white-space: nowrap; }

.pre {
  white-space: pre; }

.pre-line {
  white-space: pre-line; }

.pre-wrap {
  white-space: pre-wrap; }

.leading {
  line-height: 1.5; }

.leading-title {
  line-height: 1.25; }

.leading-solid {
  line-height: 1; }

.leading-loose {
  line-height: 2; }

.measure {
  max-width: 29em; }

.measure-wide {
  max-width: 38em; }

.measure-narrow {
  max-width: 20em; }

.indent {
  text-indent: 1.5em; }

.indent-punctuation {
  text-indent: -0.3em; }

.truncate {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.rtl {
  direction: rtl; }

.ltr {
  direction: ltr; }

.pad-0, .stat-slab dl {
  padding: 0; }

.pad-0p {
  padding: 0.1875rem; }

.pad-1, .categories * {
  padding: 0.375rem; }

.pad-1p {
  padding: 0.5625rem; }

.pad-2, .tooltip__content, .toast__icon {
  padding: 0.75rem; }

.pad-2p {
  padding: 1.125rem; }

.pad-3, .moderate .comment, .modal__btn, .modal__btn--no-fill, .modal__btn--blue, .modal__btn--red, .popup__contents {
  padding: 1.5rem; }

.pad-3p {
  padding: 2.25rem; }

.pad-4, .modal__container, .modal__container--lg, .modal__container--md, .modal__container--sm, .modal__container--sm-height {
  padding: 3rem; }

.pad-4p {
  padding: 4.5rem; }

.pad-5 {
  padding: 6rem; }

.pad-5p {
  padding: 9rem; }

.pad-6 {
  padding: 12rem; }

.pad-6p {
  padding: 18rem; }

.pad-7 {
  padding: 24rem; }

.pad-7p {
  padding: 36rem; }

.pad-8 {
  padding: 48rem; }

.pad-8p {
  padding: 72rem; }

.pad-x0 {
  padding-left: 0;
  padding-right: 0; }

.pad-x0p {
  padding-left: 0.1875rem;
  padding-right: 0.1875rem; }

.pad-x1 {
  padding-left: 0.375rem;
  padding-right: 0.375rem; }

.pad-x1p {
  padding-left: 0.5625rem;
  padding-right: 0.5625rem; }

.pad-x2 {
  padding-left: 0.75rem;
  padding-right: 0.75rem; }

.pad-x2p {
  padding-left: 1.125rem;
  padding-right: 1.125rem; }

.pad-x3 {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

.pad-x3p {
  padding-left: 2.25rem;
  padding-right: 2.25rem; }

.pad-x4 {
  padding-left: 3rem;
  padding-right: 3rem; }

.pad-x4p {
  padding-left: 4.5rem;
  padding-right: 4.5rem; }

.pad-x5 {
  padding-left: 6rem;
  padding-right: 6rem; }

.pad-x5p {
  padding-left: 9rem;
  padding-right: 9rem; }

.pad-x6 {
  padding-left: 12rem;
  padding-right: 12rem; }

.pad-x6p {
  padding-left: 18rem;
  padding-right: 18rem; }

.pad-x7 {
  padding-left: 24rem;
  padding-right: 24rem; }

.pad-x7p {
  padding-left: 36rem;
  padding-right: 36rem; }

.pad-x8 {
  padding-left: 48rem;
  padding-right: 48rem; }

.pad-x8p {
  padding-left: 72rem;
  padding-right: 72rem; }

.pad-y0 {
  padding-top: 0;
  padding-bottom: 0; }

.pad-y0p {
  padding-top: 0.1875rem;
  padding-bottom: 0.1875rem; }

.pad-y1 {
  padding-top: 0.375rem;
  padding-bottom: 0.375rem; }

.pad-y1p {
  padding-top: 0.5625rem;
  padding-bottom: 0.5625rem; }

.pad-y2 {
  padding-top: 0.75rem;
  padding-bottom: 0.75rem; }

.pad-y2p {
  padding-top: 1.125rem;
  padding-bottom: 1.125rem; }

.pad-y3 {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }

.pad-y3p {
  padding-top: 2.25rem;
  padding-bottom: 2.25rem; }

.pad-y4 {
  padding-top: 3rem;
  padding-bottom: 3rem; }

.pad-y4p {
  padding-top: 4.5rem;
  padding-bottom: 4.5rem; }

.pad-y5 {
  padding-top: 6rem;
  padding-bottom: 6rem; }

.pad-y5p {
  padding-top: 9rem;
  padding-bottom: 9rem; }

.pad-y6 {
  padding-top: 12rem;
  padding-bottom: 12rem; }

.pad-y6p {
  padding-top: 18rem;
  padding-bottom: 18rem; }

.pad-y7 {
  padding-top: 24rem;
  padding-bottom: 24rem; }

.pad-y7p {
  padding-top: 36rem;
  padding-bottom: 36rem; }

.pad-y8 {
  padding-top: 48rem;
  padding-bottom: 48rem; }

.pad-y8p {
  padding-top: 72rem;
  padding-bottom: 72rem; }

.pad-l0 {
  padding-left: 0; }

.pad-l0p {
  padding-left: 0.1875rem; }

.pad-l1 {
  padding-left: 0.375rem; }

.pad-l1p {
  padding-left: 0.5625rem; }

.pad-l2 {
  padding-left: 0.75rem; }

.pad-l2p {
  padding-left: 1.125rem; }

.pad-l3 {
  padding-left: 1.5rem; }

.pad-l3p {
  padding-left: 2.25rem; }

.pad-l4 {
  padding-left: 3rem; }

.pad-l4p {
  padding-left: 4.5rem; }

.pad-l5 {
  padding-left: 6rem; }

.pad-l5p {
  padding-left: 9rem; }

.pad-l6 {
  padding-left: 12rem; }

.pad-l6p {
  padding-left: 18rem; }

.pad-l7 {
  padding-left: 24rem; }

.pad-l7p {
  padding-left: 36rem; }

.pad-l8 {
  padding-left: 48rem; }

.pad-l8p {
  padding-left: 72rem; }

.pad-r0 {
  padding-right: 0; }

.pad-r0p {
  padding-right: 0.1875rem; }

.pad-r1 {
  padding-right: 0.375rem; }

.pad-r1p {
  padding-right: 0.5625rem; }

.pad-r2 {
  padding-right: 0.75rem; }

.pad-r2p {
  padding-right: 1.125rem; }

.pad-r3 {
  padding-right: 1.5rem; }

.pad-r3p {
  padding-right: 2.25rem; }

.pad-r4 {
  padding-right: 3rem; }

.pad-r4p {
  padding-right: 4.5rem; }

.pad-r5 {
  padding-right: 6rem; }

.pad-r5p {
  padding-right: 9rem; }

.pad-r6 {
  padding-right: 12rem; }

.pad-r6p {
  padding-right: 18rem; }

.pad-r7 {
  padding-right: 24rem; }

.pad-r7p {
  padding-right: 36rem; }

.pad-r8 {
  padding-right: 48rem; }

.pad-r8p {
  padding-right: 72rem; }

.pad-t0 {
  padding-top: 0; }

.pad-t0p {
  padding-top: 0.1875rem; }

.pad-t1 {
  padding-top: 0.375rem; }

.pad-t1p {
  padding-top: 0.5625rem; }

.pad-t2 {
  padding-top: 0.75rem; }

.pad-t2p {
  padding-top: 1.125rem; }

.pad-t3 {
  padding-top: 1.5rem; }

.pad-t3p {
  padding-top: 2.25rem; }

.pad-t4 {
  padding-top: 3rem; }

.pad-t4p {
  padding-top: 4.5rem; }

.pad-t5 {
  padding-top: 6rem; }

.pad-t5p {
  padding-top: 9rem; }

.pad-t6 {
  padding-top: 12rem; }

.pad-t6p {
  padding-top: 18rem; }

.pad-t7 {
  padding-top: 24rem; }

.pad-t7p {
  padding-top: 36rem; }

.pad-t8 {
  padding-top: 48rem; }

.pad-t8p {
  padding-top: 72rem; }

.pad-b0 {
  padding-bottom: 0; }

.pad-b0p {
  padding-bottom: 0.1875rem; }

.pad-b1 {
  padding-bottom: 0.375rem; }

.pad-b1p {
  padding-bottom: 0.5625rem; }

.pad-b2 {
  padding-bottom: 0.75rem; }

.pad-b2p {
  padding-bottom: 1.125rem; }

.pad-b3, .moderate .comments-container {
  padding-bottom: 1.5rem; }

.pad-b3p {
  padding-bottom: 2.25rem; }

.pad-b4 {
  padding-bottom: 3rem; }

.pad-b4p {
  padding-bottom: 4.5rem; }

.pad-b5 {
  padding-bottom: 6rem; }

.pad-b5p {
  padding-bottom: 9rem; }

.pad-b6 {
  padding-bottom: 12rem; }

.pad-b6p {
  padding-bottom: 18rem; }

.pad-b7 {
  padding-bottom: 24rem; }

.pad-b7p {
  padding-bottom: 36rem; }

.pad-b8 {
  padding-bottom: 48rem; }

.pad-b8p {
  padding-bottom: 72rem; }

.margin-auto {
  margin: auto; }

.margin-0, .stat-slab dl dt, .description dt {
  margin: 0; }

.margin-0p {
  margin: 0.1875rem; }

.margin-1 {
  margin: 0.375rem; }

.margin-1p {
  margin: 0.5625rem; }

.margin-2 {
  margin: 0.75rem; }

.margin-2p {
  margin: 1.125rem; }

.margin-3, .popup__close {
  margin: 1.5rem; }

.margin-3p {
  margin: 2.25rem; }

.margin-4 {
  margin: 3rem; }

.margin-4p {
  margin: 4.5rem; }

.margin-5 {
  margin: 6rem; }

.margin-5p {
  margin: 9rem; }

.margin-6 {
  margin: 12rem; }

.margin-6p {
  margin: 18rem; }

.margin-7 {
  margin: 24rem; }

.margin-7p {
  margin: 36rem; }

.margin-8 {
  margin: 48rem; }

.margin-8p {
  margin: 72rem; }

.margin-n0 {
  margin: 0; }

.margin-n0p {
  margin: -0.1875rem; }

.margin-n1 {
  margin: -0.375rem; }

.margin-n1p {
  margin: -0.5625rem; }

.margin-n2 {
  margin: -0.75rem; }

.margin-n2p {
  margin: -1.125rem; }

.margin-n3 {
  margin: -1.5rem; }

.margin-n3p {
  margin: -2.25rem; }

.margin-n4 {
  margin: -3rem; }

.margin-n4p {
  margin: -4.5rem; }

.margin-n5 {
  margin: -6rem; }

.margin-n5p {
  margin: -9rem; }

.margin-n6 {
  margin: -12rem; }

.margin-n6p {
  margin: -18rem; }

.margin-n7 {
  margin: -24rem; }

.margin-n7p {
  margin: -36rem; }

.margin-n8 {
  margin: -48rem; }

.margin-n8p {
  margin: -72rem; }

.margin-xauto {
  margin-left: auto;
  margin-right: auto; }

.margin-x0 {
  margin-left: 0;
  margin-right: 0; }

.margin-x0p {
  margin-left: 0.1875rem;
  margin-right: 0.1875rem; }

.margin-x1, .categories * {
  margin-left: 0.375rem;
  margin-right: 0.375rem; }

.margin-x1p {
  margin-left: 0.5625rem;
  margin-right: 0.5625rem; }

.margin-x2 {
  margin-left: 0.75rem;
  margin-right: 0.75rem; }

.margin-x2p {
  margin-left: 1.125rem;
  margin-right: 1.125rem; }

.margin-x3 {
  margin-left: 1.5rem;
  margin-right: 1.5rem; }

.margin-x3p {
  margin-left: 2.25rem;
  margin-right: 2.25rem; }

.margin-x4 {
  margin-left: 3rem;
  margin-right: 3rem; }

.margin-x4p {
  margin-left: 4.5rem;
  margin-right: 4.5rem; }

.margin-x5 {
  margin-left: 6rem;
  margin-right: 6rem; }

.margin-x5p {
  margin-left: 9rem;
  margin-right: 9rem; }

.margin-x6 {
  margin-left: 12rem;
  margin-right: 12rem; }

.margin-x6p {
  margin-left: 18rem;
  margin-right: 18rem; }

.margin-x7 {
  margin-left: 24rem;
  margin-right: 24rem; }

.margin-x7p {
  margin-left: 36rem;
  margin-right: 36rem; }

.margin-x8 {
  margin-left: 48rem;
  margin-right: 48rem; }

.margin-x8p {
  margin-left: 72rem;
  margin-right: 72rem; }

.margin-nx0 {
  margin-left: 0;
  margin-right: 0; }

.margin-nx0p {
  margin-left: -0.1875rem;
  margin-right: -0.1875rem; }

.margin-nx1 {
  margin-left: -0.375rem;
  margin-right: -0.375rem; }

.margin-nx1p {
  margin-left: -0.5625rem;
  margin-right: -0.5625rem; }

.margin-nx2 {
  margin-left: -0.75rem;
  margin-right: -0.75rem; }

.margin-nx2p {
  margin-left: -1.125rem;
  margin-right: -1.125rem; }

.margin-nx3 {
  margin-left: -1.5rem;
  margin-right: -1.5rem; }

.margin-nx3p {
  margin-left: -2.25rem;
  margin-right: -2.25rem; }

.margin-nx4 {
  margin-left: -3rem;
  margin-right: -3rem; }

.margin-nx4p {
  margin-left: -4.5rem;
  margin-right: -4.5rem; }

.margin-nx5 {
  margin-left: -6rem;
  margin-right: -6rem; }

.margin-nx5p {
  margin-left: -9rem;
  margin-right: -9rem; }

.margin-nx6 {
  margin-left: -12rem;
  margin-right: -12rem; }

.margin-nx6p {
  margin-left: -18rem;
  margin-right: -18rem; }

.margin-nx7 {
  margin-left: -24rem;
  margin-right: -24rem; }

.margin-nx7p {
  margin-left: -36rem;
  margin-right: -36rem; }

.margin-nx8 {
  margin-left: -48rem;
  margin-right: -48rem; }

.margin-nx8p {
  margin-left: -72rem;
  margin-right: -72rem; }

.margin-yauto {
  margin-top: auto;
  margin-bottom: auto; }

.margin-y0 {
  margin-top: 0;
  margin-bottom: 0; }

.margin-y0p {
  margin-top: 0.1875rem;
  margin-bottom: 0.1875rem; }

.margin-y1 {
  margin-top: 0.375rem;
  margin-bottom: 0.375rem; }

.margin-y1p {
  margin-top: 0.5625rem;
  margin-bottom: 0.5625rem; }

.margin-y2 {
  margin-top: 0.75rem;
  margin-bottom: 0.75rem; }

.margin-y2p {
  margin-top: 1.125rem;
  margin-bottom: 1.125rem; }

.margin-y3 {
  margin-top: 1.5rem;
  margin-bottom: 1.5rem; }

.margin-y3p {
  margin-top: 2.25rem;
  margin-bottom: 2.25rem; }

.margin-y4 {
  margin-top: 3rem;
  margin-bottom: 3rem; }

.margin-y4p {
  margin-top: 4.5rem;
  margin-bottom: 4.5rem; }

.margin-y5 {
  margin-top: 6rem;
  margin-bottom: 6rem; }

.margin-y5p {
  margin-top: 9rem;
  margin-bottom: 9rem; }

.margin-y6 {
  margin-top: 12rem;
  margin-bottom: 12rem; }

.margin-y6p {
  margin-top: 18rem;
  margin-bottom: 18rem; }

.margin-y7 {
  margin-top: 24rem;
  margin-bottom: 24rem; }

.margin-y7p {
  margin-top: 36rem;
  margin-bottom: 36rem; }

.margin-y8 {
  margin-top: 48rem;
  margin-bottom: 48rem; }

.margin-y8p {
  margin-top: 72rem;
  margin-bottom: 72rem; }

.margin-ny0 {
  margin-top: 0;
  margin-bottom: 0; }

.margin-ny0p {
  margin-top: -0.1875rem;
  margin-bottom: -0.1875rem; }

.margin-ny1 {
  margin-top: -0.375rem;
  margin-bottom: -0.375rem; }

.margin-ny1p {
  margin-top: -0.5625rem;
  margin-bottom: -0.5625rem; }

.margin-ny2 {
  margin-top: -0.75rem;
  margin-bottom: -0.75rem; }

.margin-ny2p {
  margin-top: -1.125rem;
  margin-bottom: -1.125rem; }

.margin-ny3 {
  margin-top: -1.5rem;
  margin-bottom: -1.5rem; }

.margin-ny3p {
  margin-top: -2.25rem;
  margin-bottom: -2.25rem; }

.margin-ny4 {
  margin-top: -3rem;
  margin-bottom: -3rem; }

.margin-ny4p {
  margin-top: -4.5rem;
  margin-bottom: -4.5rem; }

.margin-ny5 {
  margin-top: -6rem;
  margin-bottom: -6rem; }

.margin-ny5p {
  margin-top: -9rem;
  margin-bottom: -9rem; }

.margin-ny6 {
  margin-top: -12rem;
  margin-bottom: -12rem; }

.margin-ny6p {
  margin-top: -18rem;
  margin-bottom: -18rem; }

.margin-ny7 {
  margin-top: -24rem;
  margin-bottom: -24rem; }

.margin-ny7p {
  margin-top: -36rem;
  margin-bottom: -36rem; }

.margin-ny8 {
  margin-top: -48rem;
  margin-bottom: -48rem; }

.margin-ny8p {
  margin-top: -72rem;
  margin-bottom: -72rem; }

.margin-lauto {
  margin-left: auto; }

.margin-l0 {
  margin-left: 0; }

.margin-l0p {
  margin-left: 0.1875rem; }

.margin-l1 {
  margin-left: 0.375rem; }

.margin-l1p {
  margin-left: 0.5625rem; }

.margin-l2 {
  margin-left: 0.75rem; }

.margin-l2p {
  margin-left: 1.125rem; }

.margin-l3 {
  margin-left: 1.5rem; }

.margin-l3p {
  margin-left: 2.25rem; }

.margin-l4 {
  margin-left: 3rem; }

.margin-l4p {
  margin-left: 4.5rem; }

.margin-l5 {
  margin-left: 6rem; }

.margin-l5p {
  margin-left: 9rem; }

.margin-l6 {
  margin-left: 12rem; }

.margin-l6p {
  margin-left: 18rem; }

.margin-l7 {
  margin-left: 24rem; }

.margin-l7p {
  margin-left: 36rem; }

.margin-l8 {
  margin-left: 48rem; }

.margin-l8p {
  margin-left: 72rem; }

.margin-nl0 {
  margin-left: 0; }

.margin-nl0p {
  margin-left: -0.1875rem; }

.margin-nl1 {
  margin-left: -0.375rem; }

.margin-nl1p {
  margin-left: -0.5625rem; }

.margin-nl2 {
  margin-left: -0.75rem; }

.margin-nl2p {
  margin-left: -1.125rem; }

.margin-nl3 {
  margin-left: -1.5rem; }

.margin-nl3p {
  margin-left: -2.25rem; }

.margin-nl4 {
  margin-left: -3rem; }

.margin-nl4p {
  margin-left: -4.5rem; }

.margin-nl5 {
  margin-left: -6rem; }

.margin-nl5p {
  margin-left: -9rem; }

.margin-nl6 {
  margin-left: -12rem; }

.margin-nl6p {
  margin-left: -18rem; }

.margin-nl7 {
  margin-left: -24rem; }

.margin-nl7p {
  margin-left: -36rem; }

.margin-nl8 {
  margin-left: -48rem; }

.margin-nl8p {
  margin-left: -72rem; }

.margin-rauto {
  margin-right: auto; }

.margin-r0 {
  margin-right: 0; }

.margin-r0p {
  margin-right: 0.1875rem; }

.margin-r1 {
  margin-right: 0.375rem; }

.margin-r1p {
  margin-right: 0.5625rem; }

.margin-r2 {
  margin-right: 0.75rem; }

.margin-r2p {
  margin-right: 1.125rem; }

.margin-r3 {
  margin-right: 1.5rem; }

.margin-r3p {
  margin-right: 2.25rem; }

.margin-r4 {
  margin-right: 3rem; }

.margin-r4p {
  margin-right: 4.5rem; }

.margin-r5 {
  margin-right: 6rem; }

.margin-r5p {
  margin-right: 9rem; }

.margin-r6 {
  margin-right: 12rem; }

.margin-r6p {
  margin-right: 18rem; }

.margin-r7 {
  margin-right: 24rem; }

.margin-r7p {
  margin-right: 36rem; }

.margin-r8 {
  margin-right: 48rem; }

.margin-r8p {
  margin-right: 72rem; }

.margin-nr0 {
  margin-right: 0; }

.margin-nr0p {
  margin-right: -0.1875rem; }

.margin-nr1 {
  margin-right: -0.375rem; }

.margin-nr1p {
  margin-right: -0.5625rem; }

.margin-nr2 {
  margin-right: -0.75rem; }

.margin-nr2p {
  margin-right: -1.125rem; }

.margin-nr3 {
  margin-right: -1.5rem; }

.margin-nr3p {
  margin-right: -2.25rem; }

.margin-nr4 {
  margin-right: -3rem; }

.margin-nr4p {
  margin-right: -4.5rem; }

.margin-nr5 {
  margin-right: -6rem; }

.margin-nr5p {
  margin-right: -9rem; }

.margin-nr6 {
  margin-right: -12rem; }

.margin-nr6p {
  margin-right: -18rem; }

.margin-nr7 {
  margin-right: -24rem; }

.margin-nr7p {
  margin-right: -36rem; }

.margin-nr8 {
  margin-right: -48rem; }

.margin-nr8p {
  margin-right: -72rem; }

.margin-tauto {
  margin-top: auto; }

.margin-t0 {
  margin-top: 0; }

.margin-t0p {
  margin-top: 0.1875rem; }

.margin-t1 {
  margin-top: 0.375rem; }

.margin-t1p {
  margin-top: 0.5625rem; }

.margin-t2 {
  margin-top: 0.75rem; }

.margin-t2p {
  margin-top: 1.125rem; }

.margin-t3 {
  margin-top: 1.5rem; }

.margin-t3p {
  margin-top: 2.25rem; }

.margin-t4 {
  margin-top: 3rem; }

.margin-t4p {
  margin-top: 4.5rem; }

.margin-t5 {
  margin-top: 6rem; }

.margin-t5p {
  margin-top: 9rem; }

.margin-t6 {
  margin-top: 12rem; }

.margin-t6p {
  margin-top: 18rem; }

.margin-t7 {
  margin-top: 24rem; }

.margin-t7p {
  margin-top: 36rem; }

.margin-t8 {
  margin-top: 48rem; }

.margin-t8p {
  margin-top: 72rem; }

.margin-nt0 {
  margin-top: 0; }

.margin-nt0p {
  margin-top: -0.1875rem; }

.margin-nt1 {
  margin-top: -0.375rem; }

.margin-nt1p {
  margin-top: -0.5625rem; }

.margin-nt2 {
  margin-top: -0.75rem; }

.margin-nt2p {
  margin-top: -1.125rem; }

.margin-nt3 {
  margin-top: -1.5rem; }

.margin-nt3p {
  margin-top: -2.25rem; }

.margin-nt4 {
  margin-top: -3rem; }

.margin-nt4p {
  margin-top: -4.5rem; }

.margin-nt5 {
  margin-top: -6rem; }

.margin-nt5p {
  margin-top: -9rem; }

.margin-nt6 {
  margin-top: -12rem; }

.margin-nt6p {
  margin-top: -18rem; }

.margin-nt7 {
  margin-top: -24rem; }

.margin-nt7p {
  margin-top: -36rem; }

.margin-nt8 {
  margin-top: -48rem; }

.margin-nt8p {
  margin-top: -72rem; }

.margin-bauto {
  margin-bottom: auto; }

.margin-b0 {
  margin-bottom: 0; }

.margin-b0p {
  margin-bottom: 0.1875rem; }

.margin-b1 {
  margin-bottom: 0.375rem; }

.margin-b1p {
  margin-bottom: 0.5625rem; }

.margin-b2 {
  margin-bottom: 0.75rem; }

.margin-b2p {
  margin-bottom: 1.125rem; }

.margin-b3, .moderate .comment {
  margin-bottom: 1.5rem; }

.margin-b3p {
  margin-bottom: 2.25rem; }

.margin-b4 {
  margin-bottom: 3rem; }

.margin-b4p {
  margin-bottom: 4.5rem; }

.margin-b5 {
  margin-bottom: 6rem; }

.margin-b5p {
  margin-bottom: 9rem; }

.margin-b6 {
  margin-bottom: 12rem; }

.margin-b6p {
  margin-bottom: 18rem; }

.margin-b7 {
  margin-bottom: 24rem; }

.margin-b7p {
  margin-bottom: 36rem; }

.margin-b8 {
  margin-bottom: 48rem; }

.margin-b8p {
  margin-bottom: 72rem; }

.margin-nb0 {
  margin-bottom: 0; }

.margin-nb0p {
  margin-bottom: -0.1875rem; }

.margin-nb1 {
  margin-bottom: -0.375rem; }

.margin-nb1p {
  margin-bottom: -0.5625rem; }

.margin-nb2 {
  margin-bottom: -0.75rem; }

.margin-nb2p {
  margin-bottom: -1.125rem; }

.margin-nb3 {
  margin-bottom: -1.5rem; }

.margin-nb3p {
  margin-bottom: -2.25rem; }

.margin-nb4 {
  margin-bottom: -3rem; }

.margin-nb4p {
  margin-bottom: -4.5rem; }

.margin-nb5 {
  margin-bottom: -6rem; }

.margin-nb5p {
  margin-bottom: -9rem; }

.margin-nb6 {
  margin-bottom: -12rem; }

.margin-nb6p {
  margin-bottom: -18rem; }

.margin-nb7 {
  margin-bottom: -24rem; }

.margin-nb7p {
  margin-bottom: -36rem; }

.margin-nb8 {
  margin-bottom: -48rem; }

.margin-nb8p {
  margin-bottom: -72rem; }

.size-0 {
  width: 0;
  height: 0; }

.size-0p {
  width: 0.1875rem;
  height: 0.1875rem; }

.size-1 {
  width: 0.375rem;
  height: 0.375rem; }

.size-1p {
  width: 0.5625rem;
  height: 0.5625rem; }

.size-2 {
  width: 0.75rem;
  height: 0.75rem; }

.size-2p {
  width: 1.125rem;
  height: 1.125rem; }

.size-3 {
  width: 1.5rem;
  height: 1.5rem; }

.size-3p {
  width: 2.25rem;
  height: 2.25rem; }

.size-4 {
  width: 3rem;
  height: 3rem; }

.size-4p {
  width: 4.5rem;
  height: 4.5rem; }

.size-5 {
  width: 6rem;
  height: 6rem; }

.size-5p {
  width: 9rem;
  height: 9rem; }

.size-6 {
  width: 12rem;
  height: 12rem; }

.size-6p {
  width: 18rem;
  height: 18rem; }

.size-7 {
  width: 24rem;
  height: 24rem; }

.size-7p {
  width: 36rem;
  height: 36rem; }

.size-8 {
  width: 48rem;
  height: 48rem; }

.size-8p {
  width: 72rem;
  height: 72rem; }

.size-auto {
  width: auto;
  height: auto; }

.size-available {
  width: available;
  height: available; }

.size-fit {
  width: fit-content;
  height: fit-content; }

.size-max {
  width: max-content;
  height: max-content; }

.size-min {
  width: min-content;
  height: min-content; }

.size-x0 {
  width: 0; }

.size-x0p {
  width: 0.1875rem; }

.size-x1 {
  width: 0.375rem; }

.size-x1p {
  width: 0.5625rem; }

.size-x2 {
  width: 0.75rem; }

.size-x2p {
  width: 1.125rem; }

.size-x3 {
  width: 1.5rem; }

.size-x3p {
  width: 2.25rem; }

.size-x4 {
  width: 3rem; }

.size-x4p {
  width: 4.5rem; }

.size-x5 {
  width: 6rem; }

.size-x5p {
  width: 9rem; }

.size-x6 {
  width: 12rem; }

.size-x6p {
  width: 18rem; }

.size-x7 {
  width: 24rem; }

.size-x7p {
  width: 36rem; }

.size-x8 {
  width: 48rem; }

.size-x8p {
  width: 72rem; }

.size-xauto {
  width: auto; }

.size-xavailable {
  width: available; }

.size-xfit {
  width: fit-content; }

.size-xmax {
  width: max-content; }

.size-xmin {
  width: min-content; }

.size-y0 {
  height: 0; }

.size-y0p {
  height: 0.1875rem; }

.size-y1 {
  height: 0.375rem; }

.size-y1p {
  height: 0.5625rem; }

.size-y2 {
  height: 0.75rem; }

.size-y2p {
  height: 1.125rem; }

.size-y3 {
  height: 1.5rem; }

.size-y3p {
  height: 2.25rem; }

.size-y4 {
  height: 3rem; }

.size-y4p {
  height: 4.5rem; }

.size-y5 {
  height: 6rem; }

.size-y5p {
  height: 9rem; }

.size-y6 {
  height: 12rem; }

.size-y6p {
  height: 18rem; }

.size-y7 {
  height: 24rem; }

.size-y7p {
  height: 36rem; }

.size-y8 {
  height: 48rem; }

.size-y8p {
  height: 72rem; }

.size-yauto {
  height: auto; }

.size-yavailable {
  height: available; }

.size-yfit {
  height: fit-content; }

.size-ymax {
  height: max-content; }

.size-ymin {
  height: min-content; }

.line-height-0 {
  line-height: 0; }

.line-height-0p {
  line-height: 0.1875rem; }

.line-height-1 {
  line-height: 0.375rem; }

.line-height-1p {
  line-height: 0.5625rem; }

.line-height-2 {
  line-height: 0.75rem; }

.line-height-2p {
  line-height: 1.125rem; }

.line-height-3 {
  line-height: 1.5rem; }

.line-height-3p {
  line-height: 2.25rem; }

.line-height-4 {
  line-height: 3rem; }

.line-height-4p {
  line-height: 4.5rem; }

.line-height-5 {
  line-height: 6rem; }

.line-height-5p {
  line-height: 9rem; }

.line-height-6 {
  line-height: 12rem; }

.line-height-6p {
  line-height: 18rem; }

.line-height-7 {
  line-height: 24rem; }

.line-height-7p {
  line-height: 36rem; }

.line-height-8 {
  line-height: 48rem; }

.line-height-8p {
  line-height: 72rem; }

.line-height-normal {
  line-height: normal; }

.width-0 {
  width: 0; }

.width-2\/3 {
  width: 66.66667%; }

.width-1\/3vh {
  width: 33.33333vh; }

.width-1\/3vw {
  width: 33.33333vw; }

.width-1\/3 {
  width: 33.33333%; }

.width-3\/4vh {
  width: 75vh; }

.width-3\/4vw {
  width: 75vw; }

.width-3\/4 {
  width: 75%; }

.width-1\/4vh {
  width: 25vh; }

.width-1\/4vw {
  width: 25vw; }

.width-1\/4 {
  width: 25%; }

.width-1\/2vh {
  width: 50vh; }

.width-1\/2vw {
  width: 50vw; }

.width-1\/2 {
  width: 50%; }

.width-fullvh {
  width: 100vh; }

.width-fullvw {
  width: 100vw; }

.width-full {
  width: 100%; }

.width-7\/12vw {
  width: 58.33333vw; }

.width-7\/12 {
  width: 58.33333%; }

.width-5\/12vh {
  width: 41.66667vh; }

.width-5\/12vw {
  width: 41.66667vw; }

.width-5\/12 {
  width: 41.66667%; }

.width-1\/12vh {
  width: 8.33333vh; }

.width-1\/12vw {
  width: 8.33333vw; }

.width-1\/12 {
  width: 8.33333%; }

.width-5\/6vh {
  width: 83.33333vh; }

.width-5\/6vw {
  width: 83.33333vw; }

.width-5\/6 {
  width: 83.33333%; }

.width-1\/6vh {
  width: 16.66667vh; }

.width-1\/6vw {
  width: 16.66667vw; }

.width-1\/6 {
  width: 16.66667%; }

.width-2\/3vh {
  width: 66.66667vh; }

.width-2\/3vw {
  width: 66.66667vw; }

.width-4\/5vh {
  width: 80vh; }

.width-4\/5vw {
  width: 80vw; }

.width-4\/5 {
  width: 80%; }

.width-3\/5vh {
  width: 60vh; }

.width-3\/5vw {
  width: 60vw; }

.width-3\/5 {
  width: 60%; }

.width-2\/5vh {
  width: 40vh; }

.width-2\/5vw {
  width: 40vw; }

.width-2\/5 {
  width: 40%; }

.width-1\/5vh {
  width: 20vh; }

.width-1\/5vw {
  width: 20vw; }

.width-1\/5 {
  width: 20%; }

.width-11\/12vh {
  width: 91.66667vh; }

.width-11\/12vw {
  width: 91.66667vw; }

.width-11\/12 {
  width: 91.66667%; }

.width-7\/12vh {
  width: 58.33333vh; }

.max-width-0 {
  max-width: 0; }

.max-width-2\/3 {
  max-width: 66.66667%; }

.max-width-1\/3vh {
  max-width: 33.33333vh; }

.max-width-1\/3vw {
  max-width: 33.33333vw; }

.max-width-1\/3 {
  max-width: 33.33333%; }

.max-width-3\/4vh {
  max-width: 75vh; }

.max-width-3\/4vw {
  max-width: 75vw; }

.max-width-3\/4 {
  max-width: 75%; }

.max-width-1\/4vh {
  max-width: 25vh; }

.max-width-1\/4vw {
  max-width: 25vw; }

.max-width-1\/4 {
  max-width: 25%; }

.max-width-1\/2vh {
  max-width: 50vh; }

.max-width-1\/2vw {
  max-width: 50vw; }

.max-width-1\/2 {
  max-width: 50%; }

.max-width-fullvh {
  max-width: 100vh; }

.max-width-fullvw {
  max-width: 100vw; }

.max-width-full {
  max-width: 100%; }

.max-width-7\/12vw {
  max-width: 58.33333vw; }

.max-width-7\/12 {
  max-width: 58.33333%; }

.max-width-5\/12vh {
  max-width: 41.66667vh; }

.max-width-5\/12vw {
  max-width: 41.66667vw; }

.max-width-5\/12 {
  max-width: 41.66667%; }

.max-width-1\/12vh {
  max-width: 8.33333vh; }

.max-width-1\/12vw {
  max-width: 8.33333vw; }

.max-width-1\/12 {
  max-width: 8.33333%; }

.max-width-5\/6vh {
  max-width: 83.33333vh; }

.max-width-5\/6vw {
  max-width: 83.33333vw; }

.max-width-5\/6 {
  max-width: 83.33333%; }

.max-width-1\/6vh {
  max-width: 16.66667vh; }

.max-width-1\/6vw {
  max-width: 16.66667vw; }

.max-width-1\/6 {
  max-width: 16.66667%; }

.max-width-2\/3vh {
  max-width: 66.66667vh; }

.max-width-2\/3vw {
  max-width: 66.66667vw; }

.max-width-4\/5vh {
  max-width: 80vh; }

.max-width-4\/5vw {
  max-width: 80vw; }

.max-width-4\/5 {
  max-width: 80%; }

.max-width-3\/5vh {
  max-width: 60vh; }

.max-width-3\/5vw {
  max-width: 60vw; }

.max-width-3\/5 {
  max-width: 60%; }

.max-width-2\/5vh {
  max-width: 40vh; }

.max-width-2\/5vw {
  max-width: 40vw; }

.max-width-2\/5 {
  max-width: 40%; }

.max-width-1\/5vh {
  max-width: 20vh; }

.max-width-1\/5vw {
  max-width: 20vw; }

.max-width-1\/5 {
  max-width: 20%; }

.max-width-11\/12vh {
  max-width: 91.66667vh; }

.max-width-11\/12vw {
  max-width: 91.66667vw; }

.max-width-11\/12 {
  max-width: 91.66667%; }

.max-width-7\/12vh {
  max-width: 58.33333vh; }

.min-width-0 {
  min-width: 0; }

.min-width-2\/3 {
  min-width: 66.66667%; }

.min-width-1\/3vh {
  min-width: 33.33333vh; }

.min-width-1\/3vw {
  min-width: 33.33333vw; }

.min-width-1\/3 {
  min-width: 33.33333%; }

.min-width-3\/4vh {
  min-width: 75vh; }

.min-width-3\/4vw {
  min-width: 75vw; }

.min-width-3\/4 {
  min-width: 75%; }

.min-width-1\/4vh {
  min-width: 25vh; }

.min-width-1\/4vw {
  min-width: 25vw; }

.min-width-1\/4 {
  min-width: 25%; }

.min-width-1\/2vh {
  min-width: 50vh; }

.min-width-1\/2vw {
  min-width: 50vw; }

.min-width-1\/2 {
  min-width: 50%; }

.min-width-fullvh {
  min-width: 100vh; }

.min-width-fullvw {
  min-width: 100vw; }

.min-width-full {
  min-width: 100%; }

.min-width-7\/12vw {
  min-width: 58.33333vw; }

.min-width-7\/12 {
  min-width: 58.33333%; }

.min-width-5\/12vh {
  min-width: 41.66667vh; }

.min-width-5\/12vw {
  min-width: 41.66667vw; }

.min-width-5\/12 {
  min-width: 41.66667%; }

.min-width-1\/12vh {
  min-width: 8.33333vh; }

.min-width-1\/12vw {
  min-width: 8.33333vw; }

.min-width-1\/12 {
  min-width: 8.33333%; }

.min-width-5\/6vh {
  min-width: 83.33333vh; }

.min-width-5\/6vw {
  min-width: 83.33333vw; }

.min-width-5\/6 {
  min-width: 83.33333%; }

.min-width-1\/6vh {
  min-width: 16.66667vh; }

.min-width-1\/6vw {
  min-width: 16.66667vw; }

.min-width-1\/6 {
  min-width: 16.66667%; }

.min-width-2\/3vh {
  min-width: 66.66667vh; }

.min-width-2\/3vw {
  min-width: 66.66667vw; }

.min-width-4\/5vh {
  min-width: 80vh; }

.min-width-4\/5vw {
  min-width: 80vw; }

.min-width-4\/5 {
  min-width: 80%; }

.min-width-3\/5vh {
  min-width: 60vh; }

.min-width-3\/5vw {
  min-width: 60vw; }

.min-width-3\/5 {
  min-width: 60%; }

.min-width-2\/5vh {
  min-width: 40vh; }

.min-width-2\/5vw {
  min-width: 40vw; }

.min-width-2\/5 {
  min-width: 40%; }

.min-width-1\/5vh {
  min-width: 20vh; }

.min-width-1\/5vw {
  min-width: 20vw; }

.min-width-1\/5 {
  min-width: 20%; }

.min-width-11\/12vh {
  min-width: 91.66667vh; }

.min-width-11\/12vw {
  min-width: 91.66667vw; }

.min-width-11\/12 {
  min-width: 91.66667%; }

.min-width-7\/12vh {
  min-width: 58.33333vh; }

.height-0 {
  height: 0; }

.height-2\/3 {
  height: 66.66667%; }

.height-1\/3vh {
  height: 33.33333vh; }

.height-1\/3vw {
  height: 33.33333vw; }

.height-1\/3 {
  height: 33.33333%; }

.height-3\/4vh {
  height: 75vh; }

.height-3\/4vw {
  height: 75vw; }

.height-3\/4 {
  height: 75%; }

.height-1\/4vh {
  height: 25vh; }

.height-1\/4vw {
  height: 25vw; }

.height-1\/4 {
  height: 25%; }

.height-1\/2vh {
  height: 50vh; }

.height-1\/2vw {
  height: 50vw; }

.height-1\/2 {
  height: 50%; }

.height-fullvh {
  height: 100vh; }

.height-fullvw {
  height: 100vw; }

.height-full {
  height: 100%; }

.height-7\/12vw {
  height: 58.33333vw; }

.height-7\/12 {
  height: 58.33333%; }

.height-5\/12vh {
  height: 41.66667vh; }

.height-5\/12vw {
  height: 41.66667vw; }

.height-5\/12 {
  height: 41.66667%; }

.height-1\/12vh {
  height: 8.33333vh; }

.height-1\/12vw {
  height: 8.33333vw; }

.height-1\/12 {
  height: 8.33333%; }

.height-5\/6vh {
  height: 83.33333vh; }

.height-5\/6vw {
  height: 83.33333vw; }

.height-5\/6 {
  height: 83.33333%; }

.height-1\/6vh {
  height: 16.66667vh; }

.height-1\/6vw {
  height: 16.66667vw; }

.height-1\/6 {
  height: 16.66667%; }

.height-2\/3vh {
  height: 66.66667vh; }

.height-2\/3vw {
  height: 66.66667vw; }

.height-4\/5vh {
  height: 80vh; }

.height-4\/5vw {
  height: 80vw; }

.height-4\/5 {
  height: 80%; }

.height-3\/5vh {
  height: 60vh; }

.height-3\/5vw {
  height: 60vw; }

.height-3\/5 {
  height: 60%; }

.height-2\/5vh {
  height: 40vh; }

.height-2\/5vw {
  height: 40vw; }

.height-2\/5 {
  height: 40%; }

.height-1\/5vh {
  height: 20vh; }

.height-1\/5vw {
  height: 20vw; }

.height-1\/5 {
  height: 20%; }

.height-11\/12vh {
  height: 91.66667vh; }

.height-11\/12vw {
  height: 91.66667vw; }

.height-11\/12 {
  height: 91.66667%; }

.height-7\/12vh {
  height: 58.33333vh; }

.max-height-0 {
  max-height: 0; }

.max-height-2\/3 {
  max-height: 66.66667%; }

.max-height-1\/3vh {
  max-height: 33.33333vh; }

.max-height-1\/3vw {
  max-height: 33.33333vw; }

.max-height-1\/3 {
  max-height: 33.33333%; }

.max-height-3\/4vh {
  max-height: 75vh; }

.max-height-3\/4vw {
  max-height: 75vw; }

.max-height-3\/4 {
  max-height: 75%; }

.max-height-1\/4vh {
  max-height: 25vh; }

.max-height-1\/4vw {
  max-height: 25vw; }

.max-height-1\/4 {
  max-height: 25%; }

.max-height-1\/2vh {
  max-height: 50vh; }

.max-height-1\/2vw {
  max-height: 50vw; }

.max-height-1\/2 {
  max-height: 50%; }

.max-height-fullvh {
  max-height: 100vh; }

.max-height-fullvw {
  max-height: 100vw; }

.max-height-full {
  max-height: 100%; }

.max-height-7\/12vw {
  max-height: 58.33333vw; }

.max-height-7\/12 {
  max-height: 58.33333%; }

.max-height-5\/12vh {
  max-height: 41.66667vh; }

.max-height-5\/12vw {
  max-height: 41.66667vw; }

.max-height-5\/12 {
  max-height: 41.66667%; }

.max-height-1\/12vh {
  max-height: 8.33333vh; }

.max-height-1\/12vw {
  max-height: 8.33333vw; }

.max-height-1\/12 {
  max-height: 8.33333%; }

.max-height-5\/6vh {
  max-height: 83.33333vh; }

.max-height-5\/6vw {
  max-height: 83.33333vw; }

.max-height-5\/6 {
  max-height: 83.33333%; }

.max-height-1\/6vh {
  max-height: 16.66667vh; }

.max-height-1\/6vw {
  max-height: 16.66667vw; }

.max-height-1\/6 {
  max-height: 16.66667%; }

.max-height-2\/3vh {
  max-height: 66.66667vh; }

.max-height-2\/3vw {
  max-height: 66.66667vw; }

.max-height-4\/5vh {
  max-height: 80vh; }

.max-height-4\/5vw {
  max-height: 80vw; }

.max-height-4\/5 {
  max-height: 80%; }

.max-height-3\/5vh {
  max-height: 60vh; }

.max-height-3\/5vw {
  max-height: 60vw; }

.max-height-3\/5 {
  max-height: 60%; }

.max-height-2\/5vh {
  max-height: 40vh; }

.max-height-2\/5vw {
  max-height: 40vw; }

.max-height-2\/5 {
  max-height: 40%; }

.max-height-1\/5vh {
  max-height: 20vh; }

.max-height-1\/5vw {
  max-height: 20vw; }

.max-height-1\/5 {
  max-height: 20%; }

.max-height-11\/12vh {
  max-height: 91.66667vh; }

.max-height-11\/12vw {
  max-height: 91.66667vw; }

.max-height-11\/12 {
  max-height: 91.66667%; }

.max-height-7\/12vh {
  max-height: 58.33333vh; }

.min-height-0 {
  min-height: 0; }

.min-height-2\/3 {
  min-height: 66.66667%; }

.min-height-1\/3vh {
  min-height: 33.33333vh; }

.min-height-1\/3vw {
  min-height: 33.33333vw; }

.min-height-1\/3 {
  min-height: 33.33333%; }

.min-height-3\/4vh {
  min-height: 75vh; }

.min-height-3\/4vw {
  min-height: 75vw; }

.min-height-3\/4 {
  min-height: 75%; }

.min-height-1\/4vh {
  min-height: 25vh; }

.min-height-1\/4vw {
  min-height: 25vw; }

.min-height-1\/4 {
  min-height: 25%; }

.min-height-1\/2vh {
  min-height: 50vh; }

.min-height-1\/2vw {
  min-height: 50vw; }

.min-height-1\/2 {
  min-height: 50%; }

.min-height-fullvh {
  min-height: 100vh; }

.min-height-fullvw {
  min-height: 100vw; }

.min-height-full {
  min-height: 100%; }

.min-height-7\/12vw {
  min-height: 58.33333vw; }

.min-height-7\/12 {
  min-height: 58.33333%; }

.min-height-5\/12vh {
  min-height: 41.66667vh; }

.min-height-5\/12vw {
  min-height: 41.66667vw; }

.min-height-5\/12 {
  min-height: 41.66667%; }

.min-height-1\/12vh {
  min-height: 8.33333vh; }

.min-height-1\/12vw {
  min-height: 8.33333vw; }

.min-height-1\/12 {
  min-height: 8.33333%; }

.min-height-5\/6vh {
  min-height: 83.33333vh; }

.min-height-5\/6vw {
  min-height: 83.33333vw; }

.min-height-5\/6 {
  min-height: 83.33333%; }

.min-height-1\/6vh {
  min-height: 16.66667vh; }

.min-height-1\/6vw {
  min-height: 16.66667vw; }

.min-height-1\/6 {
  min-height: 16.66667%; }

.min-height-2\/3vh {
  min-height: 66.66667vh; }

.min-height-2\/3vw {
  min-height: 66.66667vw; }

.min-height-4\/5vh {
  min-height: 80vh; }

.min-height-4\/5vw {
  min-height: 80vw; }

.min-height-4\/5 {
  min-height: 80%; }

.min-height-3\/5vh {
  min-height: 60vh; }

.min-height-3\/5vw {
  min-height: 60vw; }

.min-height-3\/5 {
  min-height: 60%; }

.min-height-2\/5vh {
  min-height: 40vh; }

.min-height-2\/5vw {
  min-height: 40vw; }

.min-height-2\/5 {
  min-height: 40%; }

.min-height-1\/5vh {
  min-height: 20vh; }

.min-height-1\/5vw {
  min-height: 20vw; }

.min-height-1\/5 {
  min-height: 20%; }

.min-height-11\/12vh {
  min-height: 91.66667vh; }

.min-height-11\/12vw {
  min-height: 91.66667vw; }

.min-height-11\/12 {
  min-height: 91.66667%; }

.min-height-7\/12vh {
  min-height: 58.33333vh; }

.container-1, .Page-title h1 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 47rem; }

.container-2 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 41rem; }

.container-3 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 32rem; }

.container-4 {
  margin: 0 auto;
  position: relative;
  width: 100%;
  padding: 0 1.5rem;
  max-width: 23rem; }

.raise-first > *:first-child {
  margin-top: 0; }

.pin, .overlay {
  top: 0;
  bottom: 0;
  right: 0;
  left: 0; }

.pin-none {
  top: auto;
  bottom: auto;
  left: auto;
  right: auto; }

.pin-x {
  right: 0;
  left: 0; }

.pin-y {
  top: 0;
  bottom: 0; }

.pin-left {
  left: 0; }

.pin-right, .popup__close {
  right: 0; }

.pin-top, .popup__close {
  top: 0; }

.pin-bottom {
  bottom: 0; }

.block {
  display: block; }

.inline, .stat-slab dl dt {
  display: inline; }

.inline-block, .stat-slab dl dd, .stat-slab dl dt {
  display: inline-block; }

.table {
  display: table; }

.table-cell {
  display: table-cell; }

.inline-flex {
  display: inline-flex; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.float-none {
  float: none; }

.absolute, .tooltip__content, .tooltip, .popup__close {
  position: absolute; }

.fixed, .overlay {
  position: fixed; }

.relative, .popup {
  position: relative; }

.static {
  position: static; }

.sticky {
  position: sticky; }

.overflow-auto {
  overflow: auto; }

.overflow-hidden {
  overflow: hidden; }

.overflow-visible {
  overflow: visible; }

.overflow-scroll {
  overflow: scroll; }

.overflow-x-auto {
  overflow-x: auto; }

.overflow-x-hidden {
  overflow-x: hidden; }

.overflow-x-visible {
  overflow-x: visible; }

.overflow-x-scroll {
  overflow-x: scroll; }

.overflow-y-auto {
  overflow-y: auto; }

.overflow-y-hidden {
  overflow-y: hidden; }

.overflow-y-visible {
  overflow-y: visible; }

.overflow-y-scroll {
  overflow-y: scroll; }

.border-1 {
  border: 1px solid; }

.border-2 {
  border: 2px solid; }

.border-4 {
  border: 4px solid; }

.border-8 {
  border: 8px solid; }

.border-l1 {
  border-left: 1px solid; }

.border-l2 {
  border-left: 2px solid; }

.border-l4 {
  border-left: 4px solid; }

.border-l8 {
  border-left: 8px solid; }

.border-r1 {
  border-right: 1px solid; }

.border-r2 {
  border-right: 2px solid; }

.border-r4 {
  border-right: 4px solid; }

.border-r8 {
  border-right: 8px solid; }

.border-t1 {
  border-top: 1px solid; }

.border-t2 {
  border-top: 2px solid; }

.border-t4 {
  border-top: 4px solid; }

.border-t8 {
  border-top: 8px solid; }

.border-b1 {
  border-bottom: 1px solid; }

.border-b2 {
  border-bottom: 2px solid; }

.border-b4 {
  border-bottom: 4px solid; }

.border-b8 {
  border-bottom: 8px solid; }

.border-solid {
  border-style: solid; }

.border-dashed {
  border-style: dashed; }

.border-dotted {
  border-style: dotted; }

.border-none {
  border-style: none; }

.rounded-0 {
  border-radius: 0; }

.rounded-0p {
  border-radius: 0.09375rem; }

.rounded-1 {
  border-radius: 0.1875rem; }

.rounded-1p {
  border-radius: 0.28125rem; }

.rounded-2 {
  border-radius: 0.375rem; }

.rounded-2p {
  border-radius: 0.5625rem; }

.rounded-3 {
  border-radius: 0.75rem; }

.rounded-3p {
  border-radius: 1.125rem; }

.rounded-4 {
  border-radius: 1.5rem; }

.rounded-4p {
  border-radius: 2.25rem; }

.rounded-5 {
  border-radius: 3rem; }

.rounded-5p {
  border-radius: 4.5rem; }

.rounded-6 {
  border-radius: 6rem; }

.rounded-6p {
  border-radius: 9rem; }

.rounded-7 {
  border-radius: 12rem; }

.rounded-7p {
  border-radius: 18rem; }

.rounded-8 {
  border-radius: 24rem; }

.rounded-8p {
  border-radius: 36rem; }

.rounded-t0 {
  border-top-left-radius: 0;
  border-top-right-radius: 0; }

.rounded-t0p {
  border-top-left-radius: 0.09375rem;
  border-top-right-radius: 0.09375rem; }

.rounded-t1 {
  border-top-left-radius: 0.1875rem;
  border-top-right-radius: 0.1875rem; }

.rounded-t1p {
  border-top-left-radius: 0.28125rem;
  border-top-right-radius: 0.28125rem; }

.rounded-t2 {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem; }

.rounded-t2p {
  border-top-left-radius: 0.5625rem;
  border-top-right-radius: 0.5625rem; }

.rounded-t3 {
  border-top-left-radius: 0.75rem;
  border-top-right-radius: 0.75rem; }

.rounded-t3p {
  border-top-left-radius: 1.125rem;
  border-top-right-radius: 1.125rem; }

.rounded-t4 {
  border-top-left-radius: 1.5rem;
  border-top-right-radius: 1.5rem; }

.rounded-t4p {
  border-top-left-radius: 2.25rem;
  border-top-right-radius: 2.25rem; }

.rounded-t5 {
  border-top-left-radius: 3rem;
  border-top-right-radius: 3rem; }

.rounded-t5p {
  border-top-left-radius: 4.5rem;
  border-top-right-radius: 4.5rem; }

.rounded-t6 {
  border-top-left-radius: 6rem;
  border-top-right-radius: 6rem; }

.rounded-t6p {
  border-top-left-radius: 9rem;
  border-top-right-radius: 9rem; }

.rounded-t7 {
  border-top-left-radius: 12rem;
  border-top-right-radius: 12rem; }

.rounded-t7p {
  border-top-left-radius: 18rem;
  border-top-right-radius: 18rem; }

.rounded-t8 {
  border-top-left-radius: 24rem;
  border-top-right-radius: 24rem; }

.rounded-t8p {
  border-top-left-radius: 36rem;
  border-top-right-radius: 36rem; }

.rounded-b0 {
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0; }

.rounded-b0p {
  border-bottom-left-radius: 0.09375rem;
  border-bottom-right-radius: 0.09375rem; }

.rounded-b1 {
  border-bottom-left-radius: 0.1875rem;
  border-bottom-right-radius: 0.1875rem; }

.rounded-b1p {
  border-bottom-left-radius: 0.28125rem;
  border-bottom-right-radius: 0.28125rem; }

.rounded-b2 {
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem; }

.rounded-b2p {
  border-bottom-left-radius: 0.5625rem;
  border-bottom-right-radius: 0.5625rem; }

.rounded-b3 {
  border-bottom-left-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem; }

.rounded-b3p {
  border-bottom-left-radius: 1.125rem;
  border-bottom-right-radius: 1.125rem; }

.rounded-b4 {
  border-bottom-left-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem; }

.rounded-b4p {
  border-bottom-left-radius: 2.25rem;
  border-bottom-right-radius: 2.25rem; }

.rounded-b5 {
  border-bottom-left-radius: 3rem;
  border-bottom-right-radius: 3rem; }

.rounded-b5p {
  border-bottom-left-radius: 4.5rem;
  border-bottom-right-radius: 4.5rem; }

.rounded-b6 {
  border-bottom-left-radius: 6rem;
  border-bottom-right-radius: 6rem; }

.rounded-b6p {
  border-bottom-left-radius: 9rem;
  border-bottom-right-radius: 9rem; }

.rounded-b7 {
  border-bottom-left-radius: 12rem;
  border-bottom-right-radius: 12rem; }

.rounded-b7p {
  border-bottom-left-radius: 18rem;
  border-bottom-right-radius: 18rem; }

.rounded-b8 {
  border-bottom-left-radius: 24rem;
  border-bottom-right-radius: 24rem; }

.rounded-b8p {
  border-bottom-left-radius: 36rem;
  border-bottom-right-radius: 36rem; }

.rounded-r0 {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.rounded-r0p {
  border-top-right-radius: 0.09375rem;
  border-bottom-right-radius: 0.09375rem; }

.rounded-r1 {
  border-top-right-radius: 0.1875rem;
  border-bottom-right-radius: 0.1875rem; }

.rounded-r1p {
  border-top-right-radius: 0.28125rem;
  border-bottom-right-radius: 0.28125rem; }

.rounded-r2 {
  border-top-right-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem; }

.rounded-r2p {
  border-top-right-radius: 0.5625rem;
  border-bottom-right-radius: 0.5625rem; }

.rounded-r3 {
  border-top-right-radius: 0.75rem;
  border-bottom-right-radius: 0.75rem; }

.rounded-r3p {
  border-top-right-radius: 1.125rem;
  border-bottom-right-radius: 1.125rem; }

.rounded-r4 {
  border-top-right-radius: 1.5rem;
  border-bottom-right-radius: 1.5rem; }

.rounded-r4p {
  border-top-right-radius: 2.25rem;
  border-bottom-right-radius: 2.25rem; }

.rounded-r5 {
  border-top-right-radius: 3rem;
  border-bottom-right-radius: 3rem; }

.rounded-r5p {
  border-top-right-radius: 4.5rem;
  border-bottom-right-radius: 4.5rem; }

.rounded-r6 {
  border-top-right-radius: 6rem;
  border-bottom-right-radius: 6rem; }

.rounded-r6p {
  border-top-right-radius: 9rem;
  border-bottom-right-radius: 9rem; }

.rounded-r7 {
  border-top-right-radius: 12rem;
  border-bottom-right-radius: 12rem; }

.rounded-r7p {
  border-top-right-radius: 18rem;
  border-bottom-right-radius: 18rem; }

.rounded-r8 {
  border-top-right-radius: 24rem;
  border-bottom-right-radius: 24rem; }

.rounded-r8p {
  border-top-right-radius: 36rem;
  border-bottom-right-radius: 36rem; }

.rounded-l0 {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.rounded-l0p {
  border-top-left-radius: 0.09375rem;
  border-bottom-left-radius: 0.09375rem; }

.rounded-l1 {
  border-top-left-radius: 0.1875rem;
  border-bottom-left-radius: 0.1875rem; }

.rounded-l1p {
  border-top-left-radius: 0.28125rem;
  border-bottom-left-radius: 0.28125rem; }

.rounded-l2 {
  border-top-left-radius: 0.375rem;
  border-bottom-left-radius: 0.375rem; }

.rounded-l2p {
  border-top-left-radius: 0.5625rem;
  border-bottom-left-radius: 0.5625rem; }

.rounded-l3 {
  border-top-left-radius: 0.75rem;
  border-bottom-left-radius: 0.75rem; }

.rounded-l3p {
  border-top-left-radius: 1.125rem;
  border-bottom-left-radius: 1.125rem; }

.rounded-l4 {
  border-top-left-radius: 1.5rem;
  border-bottom-left-radius: 1.5rem; }

.rounded-l4p {
  border-top-left-radius: 2.25rem;
  border-bottom-left-radius: 2.25rem; }

.rounded-l5 {
  border-top-left-radius: 3rem;
  border-bottom-left-radius: 3rem; }

.rounded-l5p {
  border-top-left-radius: 4.5rem;
  border-bottom-left-radius: 4.5rem; }

.rounded-l6 {
  border-top-left-radius: 6rem;
  border-bottom-left-radius: 6rem; }

.rounded-l6p {
  border-top-left-radius: 9rem;
  border-bottom-left-radius: 9rem; }

.rounded-l7 {
  border-top-left-radius: 12rem;
  border-bottom-left-radius: 12rem; }

.rounded-l7p {
  border-top-left-radius: 18rem;
  border-bottom-left-radius: 18rem; }

.rounded-l8 {
  border-top-left-radius: 24rem;
  border-bottom-left-radius: 24rem; }

.rounded-l8p {
  border-top-left-radius: 36rem;
  border-bottom-left-radius: 36rem; }

.row, .stat-slab, .tabs, .categories {
  align-items: stretch;
  display: flex;
  flex-flow: row;
  justify-content: space-between; }
  .row > *, .stat-slab > *, .tabs > *, .categories > * {
    min-width: 0; }

.row-inline {
  align-items: stretch;
  display: inline-flex;
  flex-flow: row;
  justify-content: space-between; }

.row-expand > * {
  flex: 1; }

.col, .popup__contents, .popup {
  align-items: stretch;
  display: flex;
  flex-flow: column;
  justify-content: space-between; }
  .col > *, .popup__contents > *, .popup > * {
    min-width: 0; }

.col-inline {
  align-items: stretch;
  display: inline-flex;
  flex-flow: column;
  justify-content: space-between; }

.col-expand > * {
  flex: 1; }

.gutter-1 {
  margin: 0.375rem -0.375rem; }
  .gutter-1 > * {
    margin: 0.375rem; }
  .gutter-1 + .gutter-1 {
    margin-top: -0.375rem; }

.gutter-2 {
  margin: 0.75rem -0.75rem; }
  .gutter-2 > * {
    margin: 0.75rem; }
  .gutter-2 + .gutter-2 {
    margin-top: -0.75rem; }

.gutter-3 {
  margin: 1.5rem -1.5rem; }
  .gutter-3 > * {
    margin: 1.5rem; }
  .gutter-3 + .gutter-3 {
    margin-top: -1.5rem; }

.gutter-4 {
  margin: 3rem -3rem; }
  .gutter-4 > * {
    margin: 3rem; }
  .gutter-4 + .gutter-4 {
    margin-top: -3rem; }

.flex-row {
  flex-direction: row; }

.flex-row-reverse {
  flex-direction: row-reverse; }

.flex-column {
  flex-direction: column; }

.flex-column-reverse {
  flex-direction: column-reverse; }

.flex-start {
  justify-content: flex-start; }

.flex-center {
  justify-content: center; }

.flex-end {
  justify-content: flex-end; }

.flex-between {
  justify-content: space-between; }

.flex-around {
  justify-content: space-around; }

.flex-evenly {
  justify-content: space-evenly; }

.items-stretch {
  align-items: stretch; }

.items-start {
  align-items: flex-start; }

.items-center, .stat-slab {
  align-items: center; }

.items-end {
  align-items: flex-end; }

.items-baseline {
  align-items: baseline; }

.content-start {
  align-content: flex-start; }

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

.content-end {
  align-content: flex-end; }

.content-between {
  align-content: space-between; }

.content-around {
  align-content: space-around; }

.content-evenly {
  align-content: space-evenly; }

.wrap, .stat-slab {
  flex-wrap: wrap; }

.nowrap {
  flex-wrap: nowrap; }

.wrap-reverse {
  flex-wrap: wrap-reverse; }

.self-stretch {
  align-self: stretch; }

.self-start {
  align-self: flex-start; }

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

.self-end {
  align-self: flex-end; }

.self-baseline {
  align-self: baseline; }

.flex-shrink {
  flex-shrink: 1; }

.flex-noshrink {
  flex-shrink: 0; }

.flex-grow {
  flex-grow: 1; }

.flex-nogrow {
  flex-grow: 0; }

.flex-auto {
  flex: auto; }

.flex-1 {
  flex: 1; }

.flex-2 {
  flex: 2; }

.flex-3 {
  flex: 3; }

.flex-4 {
  flex: 4; }

.flex-5 {
  flex: 5; }

.flex-6 {
  flex: 6; }

.flex-7 {
  flex: 7; }

.flex-8 {
  flex: 8; }

.flex-9 {
  flex: 9; }

.flex-10 {
  flex: 10; }

.flex-11 {
  flex: 11; }

.flex-12 {
  flex: 12; }

.order-1 {
  order: 1; }

.order-2 {
  order: 2; }

.order-3 {
  order: 3; }

.order-4 {
  order: 4; }

.order-5 {
  order: 5; }

.order-6 {
  order: 6; }

.order-7 {
  order: 7; }

.order-8 {
  order: 8; }

.order-9 {
  order: 9; }

.order-10 {
  order: 10; }

.order-11 {
  order: 11; }

.order-12 {
  order: 12; }

.grid-dense {
  grid-auto-flow: dense; }

.grid-1 {
  --gridGap: 0;
  --gridSize: 1;
  display: grid;
  grid-template-columns: repeat(1, 1fr); }

.grid-2 {
  --gridGap: 0;
  --gridSize: 2;
  display: grid;
  grid-template-columns: repeat(2, 1fr); }

.grid-3 {
  --gridGap: 0;
  --gridSize: 3;
  display: grid;
  grid-template-columns: repeat(3, 1fr); }

.grid-4 {
  --gridGap: 0;
  --gridSize: 4;
  display: grid;
  grid-template-columns: repeat(4, 1fr); }

.grid-5 {
  --gridGap: 0;
  --gridSize: 5;
  display: grid;
  grid-template-columns: repeat(5, 1fr); }

.grid-6 {
  --gridGap: 0;
  --gridSize: 6;
  display: grid;
  grid-template-columns: repeat(6, 1fr); }

.grid-8 {
  --gridGap: 0;
  --gridSize: 8;
  display: grid;
  grid-template-columns: repeat(8, 1fr); }

.grid-9 {
  --gridGap: 0;
  --gridSize: 9;
  display: grid;
  grid-template-columns: repeat(9, 1fr); }

.grid-10 {
  --gridGap: 0;
  --gridSize: 10;
  display: grid;
  grid-template-columns: repeat(10, 1fr); }

.grid-12 {
  --gridGap: 0;
  --gridSize: 12;
  display: grid;
  grid-template-columns: repeat(12, 1fr); }

.grid-15 {
  --gridGap: 0;
  --gridSize: 15;
  display: grid;
  grid-template-columns: repeat(15, 1fr); }

.rows-1 {
  --gridGap: 0;
  --gridSize: 1;
  display: grid;
  grid-template-rows: repeat(1, 1fr); }

.rows-2 {
  --gridGap: 0;
  --gridSize: 2;
  display: grid;
  grid-template-rows: repeat(2, 1fr); }

.rows-3 {
  --gridGap: 0;
  --gridSize: 3;
  display: grid;
  grid-template-rows: repeat(3, 1fr); }

.rows-4 {
  --gridGap: 0;
  --gridSize: 4;
  display: grid;
  grid-template-rows: repeat(4, 1fr); }

.rows-5 {
  --gridGap: 0;
  --gridSize: 5;
  display: grid;
  grid-template-rows: repeat(5, 1fr); }

.rows-6 {
  --gridGap: 0;
  --gridSize: 6;
  display: grid;
  grid-template-rows: repeat(6, 1fr); }

.rows-8 {
  --gridGap: 0;
  --gridSize: 8;
  display: grid;
  grid-template-rows: repeat(8, 1fr); }

.rows-9 {
  --gridGap: 0;
  --gridSize: 9;
  display: grid;
  grid-template-rows: repeat(9, 1fr); }

.rows-10 {
  --gridGap: 0;
  --gridSize: 10;
  display: grid;
  grid-template-rows: repeat(10, 1fr); }

.rows-12 {
  --gridGap: 0;
  --gridSize: 12;
  display: grid;
  grid-template-rows: repeat(12, 1fr); }

.rows-15 {
  --gridGap: 0;
  --gridSize: 15;
  display: grid;
  grid-template-rows: repeat(15, 1fr); }

.gap-1 {
  --gridGap: 0.375rem;
  grid-gap: 0.375rem;
  gap: 0.375rem; }

.gap-2 {
  --gridGap: 0.75rem;
  grid-gap: 0.75rem;
  gap: 0.75rem; }

.gap-3 {
  --gridGap: 1.5rem;
  grid-gap: 1.5rem;
  gap: 1.5rem; }

.gap-4 {
  --gridGap: 3rem;
  grid-gap: 3rem;
  gap: 3rem; }

.grid {
  display: grid; }

.grid-dense {
  grid-auto-flow: dense; }

.place-center {
  place-items: center; }

.place-stretch {
  place-items: stretch; }

.place-right {
  justify-items: right; }

.place-left {
  justify-items: left; }

.place-start {
  justify-items: start; }

.place-end {
  justify-items: end; }

.place-center-x {
  justify-items: center; }

.place-stretch-x {
  justify-items: stretch; }

.place-top {
  align-items: start; }

.place-bottom {
  align-items: end; }

.place-center-y {
  align-items: center; }

.place-center {
  align-items: center; }

.place-stretch-y {
  align-items: stretch; }

.place-stretch {
  align-items: stretch; }

.grid-center {
  place-content: center; }

.grid-stretch {
  place-content: stretch; }

.grid-around {
  place-content: space-around; }

.grid-between {
  place-content: space-between; }

.grid-evenly {
  place-content: space-evenly; }

.grid-right {
  justify-content: right; }

.grid-left {
  justify-content: left; }

.grid-start {
  justify-content: start; }

.grid-end {
  justify-content: end; }

.grid-center-x {
  justify-content: center; }

.grid-stretch-x {
  justify-content: stretch; }

.grid-around-x {
  justify-content: space-around; }

.grid-between-x {
  justify-content: space-between; }

.grid-evenly-x {
  justify-content: space-evenly; }

.grid-top {
  align-content: start; }

.grid-bottom {
  align-content: end; }

.grid-center-y {
  align-content: center; }

.grid-stretch-y {
  align-content: stretch; }

.grid-around-y {
  align-content: space-around; }

.grid-between-y {
  align-content: space-between; }

.grid-evenly-y {
  align-content: space-evenly; }

.cell-center {
  place-self: center; }

.cell-stretch {
  place-self: stretch; }

.cell-right {
  justify-self: right; }

.cell-left {
  justify-self: left; }

.cell-start {
  justify-self: start; }

.cell-end {
  justify-self: end; }

.cell-center-x {
  justify-self: center; }

.cell-stretch-x {
  justify-self: stretch; }

.cell-top {
  align-self: start; }

.cell-bottom {
  align-self: end; }

.cell-center-y {
  align-self: center; }

.cell-stretch-y {
  align-self: stretch; }

.at-col-1 {
  grid-column-start: 1; }

.at-col-2 {
  grid-column-start: 2; }

.at-col-3 {
  grid-column-start: 3; }

.at-col-4 {
  grid-column-start: 4; }

.at-col-5 {
  grid-column-start: 5; }

.at-col-6 {
  grid-column-start: 6; }

.at-col-8 {
  grid-column-start: 8; }

.at-col-9 {
  grid-column-start: 9; }

.at-col-10 {
  grid-column-start: 10; }

.at-col-12 {
  grid-column-start: 12; }

.at-col-15 {
  grid-column-start: 15; }

.at-row-1 {
  grid-row-start: 1; }

.at-row-2 {
  grid-row-start: 2; }

.at-row-3 {
  grid-row-start: 3; }

.at-row-4 {
  grid-row-start: 4; }

.at-row-5 {
  grid-row-start: 5; }

.at-row-6 {
  grid-row-start: 6; }

.at-row-8 {
  grid-row-start: 8; }

.at-row-9 {
  grid-row-start: 9; }

.at-row-10 {
  grid-row-start: 10; }

.at-row-12 {
  grid-row-start: 12; }

.at-row-15 {
  grid-row-start: 15; }

.col-span1 {
  grid-column: auto/span 1; }

.col-span2 {
  grid-column: auto/span 2; }

.col-span3 {
  grid-column: auto/span 3; }

.col-span4 {
  grid-column: auto/span 4; }

.col-span5 {
  grid-column: auto/span 5; }

.col-span6 {
  grid-column: auto/span 6; }

.col-span7 {
  grid-column: auto/span 7; }

.col-span8 {
  grid-column: auto/span 8; }

.col-span9 {
  grid-column: auto/span 9; }

.col-span10 {
  grid-column: auto/span 10; }

.col-span11 {
  grid-column: auto/span 11; }

.col-span12 {
  grid-column: auto/span 12; }

.col-span13 {
  grid-column: auto/span 13; }

.col-span14 {
  grid-column: auto/span 14; }

.col-span15 {
  grid-column: auto/span 15; }

.row-span1 {
  grid-row: auto/span 1; }

.row-span2 {
  grid-row: auto/span 2; }

.row-span3 {
  grid-row: auto/span 3; }

.row-span4 {
  grid-row: auto/span 4; }

.row-span5 {
  grid-row: auto/span 5; }

.row-span6 {
  grid-row: auto/span 6; }

.row-span7 {
  grid-row: auto/span 7; }

.row-span8 {
  grid-row: auto/span 8; }

.row-span9 {
  grid-row: auto/span 9; }

.row-span10 {
  grid-row: auto/span 10; }

.row-span11 {
  grid-row: auto/span 11; }

.row-span12 {
  grid-row: auto/span 12; }

.row-span13 {
  grid-row: auto/span 13; }

.row-span14 {
  grid-row: auto/span 14; }

.row-span15 {
  grid-row: auto/span 15; }

.hard-grid {
  display: grid; }

.hard-grid-1 {
  --grid-gap: 0;
  --grid-size: 1;
  display: grid;
  grid-template-columns: repeat(1, calc(100% - 0 * var(--grid-gap))); }

.hard-grid-2 {
  --grid-gap: 0;
  --grid-size: 2;
  display: grid;
  grid-template-columns: repeat(2, calc(50% - 0.5 * var(--grid-gap))); }

.hard-grid-3 {
  --grid-gap: 0;
  --grid-size: 3;
  display: grid;
  grid-template-columns: repeat(3, calc(33.33333% - 0.66667 * var(--grid-gap))); }

.hard-grid-4 {
  --grid-gap: 0;
  --grid-size: 4;
  display: grid;
  grid-template-columns: repeat(4, calc(25% - 0.75 * var(--grid-gap))); }

.hard-grid-5 {
  --grid-gap: 0;
  --grid-size: 5;
  display: grid;
  grid-template-columns: repeat(5, calc(20% - 0.8 * var(--grid-gap))); }

.hard-grid-6 {
  --grid-gap: 0;
  --grid-size: 6;
  display: grid;
  grid-template-columns: repeat(6, calc(16.66667% - 0.83333 * var(--grid-gap))); }

.hard-grid-8 {
  --grid-gap: 0;
  --grid-size: 8;
  display: grid;
  grid-template-columns: repeat(8, calc(12.5% - 0.875 * var(--grid-gap))); }

.hard-grid-9 {
  --grid-gap: 0;
  --grid-size: 9;
  display: grid;
  grid-template-columns: repeat(9, calc(11.11111% - 0.88889 * var(--grid-gap))); }

.hard-grid-10 {
  --grid-gap: 0;
  --grid-size: 10;
  display: grid;
  grid-template-columns: repeat(10, calc(10% - 0.9 * var(--grid-gap))); }

.hard-grid-12 {
  --grid-gap: 0;
  --grid-size: 12;
  display: grid;
  grid-template-columns: repeat(12, calc(8.33333% - 0.91667 * var(--grid-gap))); }

.hard-grid-15 {
  --grid-gap: 0;
  --grid-size: 15;
  display: grid;
  grid-template-columns: repeat(15, calc(6.66667% - 0.93333 * var(--grid-gap))); }

.hard-rows-1 {
  --grid-gap: 0;
  --grid-size: 1;
  display: grid;
  grid-template-rows: repeat(1, calc(100% - 0 * var(--grid-gap))); }

.hard-rows-2 {
  --grid-gap: 0;
  --grid-size: 2;
  display: grid;
  grid-template-rows: repeat(2, calc(50% - 0.5 * var(--grid-gap))); }

.hard-rows-3 {
  --grid-gap: 0;
  --grid-size: 3;
  display: grid;
  grid-template-rows: repeat(3, calc(33.33333% - 0.66667 * var(--grid-gap))); }

.hard-rows-4 {
  --grid-gap: 0;
  --grid-size: 4;
  display: grid;
  grid-template-rows: repeat(4, calc(25% - 0.75 * var(--grid-gap))); }

.hard-rows-5 {
  --grid-gap: 0;
  --grid-size: 5;
  display: grid;
  grid-template-rows: repeat(5, calc(20% - 0.8 * var(--grid-gap))); }

.hard-rows-6 {
  --grid-gap: 0;
  --grid-size: 6;
  display: grid;
  grid-template-rows: repeat(6, calc(16.66667% - 0.83333 * var(--grid-gap))); }

.hard-rows-8 {
  --grid-gap: 0;
  --grid-size: 8;
  display: grid;
  grid-template-rows: repeat(8, calc(12.5% - 0.875 * var(--grid-gap))); }

.hard-rows-9 {
  --grid-gap: 0;
  --grid-size: 9;
  display: grid;
  grid-template-rows: repeat(9, calc(11.11111% - 0.88889 * var(--grid-gap))); }

.hard-rows-10 {
  --grid-gap: 0;
  --grid-size: 10;
  display: grid;
  grid-template-rows: repeat(10, calc(10% - 0.9 * var(--grid-gap))); }

.hard-rows-12 {
  --grid-gap: 0;
  --grid-size: 12;
  display: grid;
  grid-template-rows: repeat(12, calc(8.33333% - 0.91667 * var(--grid-gap))); }

.hard-rows-15 {
  --grid-gap: 0;
  --grid-size: 15;
  display: grid;
  grid-template-rows: repeat(15, calc(6.66667% - 0.93333 * var(--grid-gap))); }

.grow-0 {
  transform: scale(1, 1); }

.grow-1 {
  transform: scale(1.05, 1.05); }

.grow-2 {
  transform: scale(1.1, 1.1); }

.grow-3 {
  transform: scale(1.25, 1.25); }

.grow-4 {
  transform: scale(1.5, 1.5); }

.grow-5 {
  transform: scale(2, 2); }

.grow-6 {
  transform: scale(3, 3); }

.shrink-0 {
  transform: scale(1, 1); }

.shrink-1 {
  transform: scale(0.95238, 0.95238); }

.shrink-2 {
  transform: scale(0.90909, 0.90909); }

.shrink-3 {
  transform: scale(0.8, 0.8); }

.shrink-4 {
  transform: scale(0.66667, 0.66667); }

.shrink-5 {
  transform: scale(0.5, 0.5); }

.shrink-6 {
  transform: scale(0.33333, 0.33333); }

.rotate-30 {
  transform: rotate(30deg); }

.rotate-45 {
  transform: rotate(45deg); }

.rotate-60 {
  transform: rotate(60deg); }

.rotate-90 {
  transform: rotate(90deg); }

.rotate-n30 {
  transform: rotate(-30deg); }

.rotate-n45 {
  transform: rotate(-45deg); }

.rotate-n60 {
  transform: rotate(-60deg); }

.rotate-n90 {
  transform: rotate(-90deg); }

.rotate-180 {
  transform: rotate(180deg); }

.grayscale-0 {
  filter: grayscale(0%); }

.grayscale-1 {
  filter: grayscale(5%); }

.grayscale-2 {
  filter: grayscale(10%); }

.grayscale-3 {
  filter: grayscale(25%); }

.grayscale-4 {
  filter: grayscale(50%); }

.grayscale-5 {
  filter: grayscale(75%); }

.grayscale-6 {
  filter: grayscale(90%); }

.grayscale-7 {
  filter: grayscale(95%); }

.grayscale-8 {
  filter: grayscale(100%); }

.sepia-0 {
  filter: sepia(0%); }

.sepia-1 {
  filter: sepia(5%); }

.sepia-2 {
  filter: sepia(10%); }

.sepia-3 {
  filter: sepia(25%); }

.sepia-4 {
  filter: sepia(50%); }

.sepia-5 {
  filter: sepia(75%); }

.sepia-6 {
  filter: sepia(90%); }

.sepia-7 {
  filter: sepia(95%); }

.sepia-8 {
  filter: sepia(100%); }

.invert-0 {
  filter: invert(0%); }

.invert-1 {
  filter: invert(5%); }

.invert-2 {
  filter: invert(10%); }

.invert-3 {
  filter: invert(25%); }

.invert-4 {
  filter: invert(50%); }

.invert-5 {
  filter: invert(75%); }

.invert-6 {
  filter: invert(90%); }

.invert-7 {
  filter: invert(95%); }

.invert-8 {
  filter: invert(100%); }

.contrast-n0 {
  filter: contrast(100%); }

.contrast-n1 {
  filter: contrast(95%); }

.contrast-n2 {
  filter: contrast(90%); }

.contrast-n3 {
  filter: contrast(75%); }

.contrast-n4 {
  filter: contrast(50%); }

.contrast-n5 {
  filter: contrast(25%); }

.contrast-n6 {
  filter: contrast(10%); }

.contrast-n7 {
  filter: contrast(5%); }

.contrast-n8 {
  filter: contrast(0%); }

.contrast-0 {
  filter: contrast(100%); }

.contrast-1 {
  filter: contrast(105%); }

.contrast-2 {
  filter: contrast(110%); }

.contrast-3 {
  filter: contrast(125%); }

.contrast-4 {
  filter: contrast(150%); }

.contrast-5 {
  filter: contrast(175%); }

.contrast-6 {
  filter: contrast(190%); }

.contrast-7 {
  filter: contrast(195%); }

.contrast-8 {
  filter: contrast(200%); }

.brightness-n0 {
  filter: brightness(100%); }

.brightness-n1 {
  filter: brightness(95%); }

.brightness-n2 {
  filter: brightness(90%); }

.brightness-n3 {
  filter: brightness(75%); }

.brightness-n4 {
  filter: brightness(50%); }

.brightness-n5 {
  filter: brightness(25%); }

.brightness-n6 {
  filter: brightness(10%); }

.brightness-n7 {
  filter: brightness(5%); }

.brightness-n8 {
  filter: brightness(0%); }

.brightness-0 {
  filter: brightness(100%); }

.brightness-1 {
  filter: brightness(105%); }

.brightness-2 {
  filter: brightness(110%); }

.brightness-3 {
  filter: brightness(125%); }

.brightness-4 {
  filter: brightness(150%); }

.brightness-5 {
  filter: brightness(175%); }

.brightness-6 {
  filter: brightness(190%); }

.brightness-7 {
  filter: brightness(195%); }

.brightness-8 {
  filter: brightness(200%); }

.saturation-n0 {
  filter: saturate(100%); }

.saturation-n1 {
  filter: saturate(95%); }

.saturation-n2 {
  filter: saturate(90%); }

.saturation-n3 {
  filter: saturate(75%); }

.saturation-n4 {
  filter: saturate(50%); }

.saturation-n5 {
  filter: saturate(25%); }

.saturation-n6 {
  filter: saturate(10%); }

.saturation-n7 {
  filter: saturate(5%); }

.saturation-n8 {
  filter: saturate(0%); }

.saturation-0 {
  filter: saturate(100%); }

.saturation-1 {
  filter: saturate(105%); }

.saturation-2 {
  filter: saturate(110%); }

.saturation-3 {
  filter: saturate(125%); }

.saturation-4 {
  filter: saturate(150%); }

.saturation-5 {
  filter: saturate(175%); }

.saturation-6 {
  filter: saturate(190%); }

.saturation-7 {
  filter: saturate(195%); }

.saturation-8 {
  filter: saturate(200%); }

.transform-center {
  transform-origin: center center 0; }

.transform-top {
  transform-origin: center top 0; }

.transform-bottom {
  transform-origin: center bottom 0; }

.transform-left {
  transform-origin: left center 0; }

.transform-right {
  transform-origin: right center 0; }

.transform-ne {
  transform-origin: right top 0; }

.transform-nw {
  transform-origin: left top 0; }

.transform-se {
  transform-origin: right bottom 0; }

.transform-sw {
  transform-origin: left bottom 0; }

.visible {
  visibility: visible; }

.invisible {
  visibility: hidden; }

.opacity-0 {
  opacity: 0; }

.opacity-1 {
  opacity: 0.05; }

.opacity-2 {
  opacity: 0.1; }

.opacity-3 {
  opacity: 0.25; }

.opacity-4 {
  opacity: 0.5; }

.opacity-5 {
  opacity: 0.75; }

.opacity-6 {
  opacity: 0.9; }

.opacity-7 {
  opacity: 0.95; }

.opacity-full {
  opacity: 1; }

.z-0 {
  z-index: 0; }

.z-1 {
  z-index: 100; }

.z-2 {
  z-index: 200; }

.z-3 {
  z-index: 300; }

.z-4 {
  z-index: 400; }

.z-5 {
  z-index: 500; }

.z-6 {
  z-index: 600; }

.z-7 {
  z-index: 700; }

.z-8 {
  z-index: 800; }

.z-9 {
  z-index: 900; }

.z-10 {
  z-index: 1000; }

.hidden {
  display: none; }

[hidden] {
  display: none; }

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

.bg-fixed {
  background-attachment: fixed; }

.bg-local {
  background-attachment: local; }

.bg-scroll {
  background-attachment: scroll; }

.bg-left {
  background-position-x: left; }

.bg-right {
  background-position-x: right; }

.bg-center-x {
  background-position-x: center; }

.bg-bottom {
  background-position-y: bottom; }

.bg-top {
  background-position-y: top; }

.bg-center-y {
  background-position-y: center; }

.bg-repeat {
  background-repeat: repeat; }

.bg-no-repeat {
  background-repeat: no-repeat; }

.bg-repeat-x {
  background-repeat: repeat-x; }

.bg-repeat-y {
  background-repeat: repeat-y; }

.bg-auto {
  background-size: auto; }

.bg-cover {
  background-size: cover; }

.bg-contain {
  background-size: contain; }

.color-primary {
  color: #f7f5fa;
  background-color: #552F91; }

.color-secondary {
  color: #010a09;
  background-color: #14C4B2; }

.color-action {
  color: #f7f5fa;
  background-color: #552F91; }

.color-positive {
  color: #010903;
  background-color: #16ab39; }

.color-negative {
  color: #0b0002;
  background-color: #de011e; }

.color-warning {
  color: #0d0900;
  background-color: #fbbd08; }

.color-white {
  color: #0d0d0d;
  background-color: white; }

.color-black {
  color: #f2f2f2;
  background-color: #000; }

.color-brand {
  color: #f7f5fa;
  background-color: #552F91; }

.color-brand-lighter {
  color: #0b0b0c;
  background-color: #DDD5E9; }

.color-brand-light {
  color: #060408;
  background-color: #7759A7; }

.color-brand-dark {
  color: #f7f5fa;
  background-color: #391f61; }

.color-brand-darker {
  color: #f7f5fa;
  background-color: #150c24; }

.color-accent {
  color: #f7f5fa;
  background-color: #552F91; }

.color-accent-lighter {
  color: #0b0b0c;
  background-color: #e5dcf2; }

.color-accent-light {
  color: #f7f5fa;
  background-color: #643ca3; }

.color-accent-dark {
  color: #f7f5fa;
  background-color: #391f61; }

.color-accent-darker {
  color: #f7f5fa;
  background-color: #150c24; }

.bg-primary {
  background-color: #552F91; }

.bg-secondary {
  background-color: #14C4B2; }

.bg-action {
  background-color: #552F91; }

.bg-positive {
  background-color: #16ab39; }

.bg-negative {
  background-color: #de011e; }

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

.bg-white {
  background-color: white; }

.bg-black {
  background-color: #000; }

.bg-brand {
  background-color: #552F91; }

.bg-brand-lighter {
  background-color: #DDD5E9; }

.bg-brand-light {
  background-color: #7759A7; }

.bg-brand-dark {
  background-color: #391f61; }

.bg-brand-darker {
  background-color: #150c24; }

.bg-accent {
  background-color: #552F91; }

.bg-accent-lighter {
  background-color: #e5dcf2; }

.bg-accent-light {
  background-color: #643ca3; }

.bg-accent-dark {
  background-color: #391f61; }

.bg-accent-darker {
  background-color: #150c24; }

.text-primary {
  color: #552F91; }

.text-secondary {
  color: #14C4B2; }

.text-action {
  color: #552F91; }

.text-positive {
  color: #16ab39; }

.text-negative {
  color: #de011e; }

.text-warning {
  color: #fbbd08; }

.text-white {
  color: white; }

.text-black {
  color: #000; }

.text-brand, .stat-slab dl dt, .description dt {
  color: #552F91; }

.text-brand-lighter {
  color: #DDD5E9; }

.text-brand-light {
  color: #7759A7; }

.text-brand-dark {
  color: #391f61; }

.text-brand-darker {
  color: #150c24; }

.text-accent, .moderate .comment__author, .conversation-balloon h1, .tabs-container [is-selected], .title, .intro-paragraph h1, .intro-paragraph h2, .intro-paragraph h3, .intro-paragraph h4, .intro-paragraph h5, .intro-paragraph h6, .intro-paragraph .h1, .intro-paragraph .h2, .intro-paragraph .h3, .intro-paragraph .h4, .intro-paragraph .h5, .intro-paragraph .h6 {
  color: #552F91; }

.text-accent-lighter {
  color: #e5dcf2; }

.text-accent-light {
  color: #643ca3; }

.text-accent-dark {
  color: #391f61; }

.text-accent-darker {
  color: #150c24; }

.cursor-auto {
  cursor: auto; }

.cursor-default {
  cursor: default; }

.cursor-pointer {
  cursor: pointer; }

.cursor-wait {
  cursor: wait; }

.cursor-move {
  cursor: move; }

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

.pointer-events {
  pointer-events: auto; }

.no-pointer-events {
  pointer-events: none; }

.select {
  user-select: text; }

.no-select {
  user-select: none; }

.list-decimal {
  list-style: decimal; }

.list-circluze {
  list-style: circluze; }

.list-disc {
  list-style: disc; }

.list-square {
  list-style: square; }

.list-roman {
  list-style: roman; }

.shadow-1 {
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25), 0 2px 8px -2px rgba(0, 0, 0, 0.15); }

.shadow-2 {
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08); }

.shadow-3 {
  box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.11), 0 4px 8px 0 rgba(0, 0, 0, 0.08); }

.shadow-4 {
  box-shadow: 0 15px 30px 0 rgba(0, 0, 0, 0.11), 0 5px 15px 0 rgba(0, 0, 0, 0.08); }

.inner-shadow {
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06); }

.no-shadow {
  box-shadow: none; }

i.fa, i.fas, i.fab, i.far {
  margin: auto 0.5em; }

.body {
  margin-bottom: 5rem !important; }
  @media screen and (min-width: 50rem) {
    .body {
      margin-bottom: 0 !important; } }
.intro-paragraph p {
  padding-left: 1.5rem;
  padding-right: 1.5rem; }

.tabs div, .tabs a, .categories div, .categories a {
  font-weight: bold;
  color: #777;
  white-space: nowrap; }

.tabs {
  justify-content: flex-start;
  border-bottom: 1px solid #E5E5E5;
  scrollbar-width: none; }
  .tabs::-webkit-scrollbar {
    display: none;
    /* Safari and Chrome */ }
  .tabs-container {
    display: flex;
    padding: unset !important;
    border-bottom: unset !important; }
    .tabs-container [is-selected] {
      border-bottom-color: #552F91; }
  .tabs a {
    margin-right: 2.625rem;
    padding-bottom: 1.125rem;
    cursor: pointer;
    text-align: center;
    width: 100%;
    border-bottom: 0.25rem solid transparent; }
  .tabs--smaller {
    font-size: 0.75em; }
    .tabs--smaller a {
      padding-bottom: 0.813rem;
      margin-right: 1rem; }
  .tabs--scroll-x {
    overflow-x: scroll; }
  .tabs__tab-content {
    display: none !important; }
    .tabs__tab-content--show {
      display: inherit !important; }

.categories {
  color: #000;
  background-color: #eeeaf4;
  border-color: #eeeaf4;
  flex-wrap: wrap; }
  .categories * {
    color: #552F91; }
  .categories a:hover:not([is-selected]) {
    border-bottom-color: rgba(85, 47, 145, 0.5); }

.popup {
  background-color: white;
  border: 1px solid #552F91;
  border-radius: 1rem;
  max-width: 30rem;
  overflow-y: auto; }
  .popup__contents {
    flex-grow: 1;
    height: 100%; }
  .popup__close {
    color: #000; }

.overlay {
  background-color: rgba(0, 0, 0, 0.5);
  width: 100vw;
  height: 100vh;
  z-index: 500; }
  .overlay > * {
    margin: 12.5vh auto;
    max-height: 75vh;
    min-height: 40vh;
    max-width: 80%; }

/* The snackbar - position it at the bottom and in the middle of the screen */
#snackbar {
  visibility: hidden;
  /* Hidden by default. Visible on click */
  min-width: 250px;
  /* Set a default minimum width */
  margin-left: -125px;
  /* Divide value of min-width by 2 */
  background-color: #333;
  /* Black background color */
  color: #fff;
  /* White text color */
  text-align: center;
  /* Centered text */
  border-radius: 2px;
  /* Rounded borders */
  padding: 16px;
  /* Padding */
  position: fixed;
  /* Sit on top of the screen */
  z-index: 1;
  /* Add a z-index if needed */
  left: 50%;
  /* Center the snackbar */
  bottom: 30px;
  /* 30px from the bottom */ }

.triangle {
  width: 0;
  height: 0;
  border: 0.46875rem solid transparent;
  border-top: 0;
  border-bottom: 0.8375rem solid #FF3D72;
  transform: rotate(-90deg); }
  .triangle--top {
    transform: unset; }
  .triangle--white {
    border-bottom-color: #7759A7; }

/* Animations to fade the snackbar in and out */
@keyframes toast-show {
  from {
    top: 0;
    opacity: 0; }
  to {
    top: 2.25rem;
    opacity: 0.75; } }

@keyframes toast-hide {
  from {
    top: 2.25rem;
    opacity: 0.75; }
  to {
    top: 0;
    opacity: 0; } }

.toast {
  color: #0b0b0c;
  background-color: #DDD5E9;
  padding: 1.5rem;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  font-weight: 600;
  align-items: center;
  animation: toast-show 0.25s 0.25s backwards, toast-hide 0.5s 4s forwards;
  border-radius: 0.75rem;
  display: flex;
  filter: brightness(90%);
  justify-content: center;
  left: 0;
  max-width: 25rem;
  margin: auto;
  opacity: 0.75;
  position: fixed;
  right: 0;
  top: 2.25rem;
  width: 90%;
  z-index: 1001;
  margin-left: 45%; }
  .toast__icon {
    color: #552F91;
    background-color: white;
    border: 6px solid;
    border-radius: 50rem;
    box-sizing: content-box;
    line-height: 2rem;
    font-size: 2rem;
    height: 2rem;
    width: 2rem; }
  .toast__content > * {
    margin: 0 !important; }
  .toast__content h1 {
    font-size: 1.125rem;
    text-transform: uppercase;
    font-weight: 700;
    color: #552F91; }
    @media screen and (min-width: 35rem) {
      .toast__content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 50rem) {
      .toast__content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 75rem) {
      .toast__content h1 {
        font-size: 1.1875rem; } }
.toast--hide {
  display: none !important; }

.toast--show {
  display: flex !important; }

dialog.toast--show {
  border: unset; }

@media only screen and (max-width: 1016px) {
  .toast {
    margin-left: auto; } }

.description dd {
  margin: 0 0 2rem 0; }

.stat-slab dl {
  margin: 0 0 1.5rem 0; }
  .stat-slab dl dt {
    width: 5.25rem; }
  .stat-slab dl dd {
    font-size: 2rem;
    line-height: 1.5rem;
    margin: 0 0 2rem 0;
    position: relative;
    top: 2.25rem;
    right: 4.5rem;
    width: 0; }

.square {
  border-radius: 5px;
  margin-top: 25px; }

.tooltip {
  display: contents;
  font-size: 0.875rem;
  text-align: center;
  z-index: 100;
  transition: .3s; }
  .tooltip__content {
    display: inline-block;
    visibility: hidden;
    opacity: 0;
    transition: opacity .3s ease-in-out, visibility .1s;
    max-width: 50%;
    background-color: #D0F3F0;
    color: #000000;
    text-transform: none;
    font-family: "Work Sans", sans-serif;
    letter-spacing: 0;
    text-align: left;
    font-size: .625rem; }
  .tooltip__icon {
    color: #777;
    margin-left: 0rem !important; }
  .tooltip:hover .tooltip__content {
    visibility: visible;
    opacity: 1; }

.progress-bar, .voting-card__progress-bar {
  align-items: center;
  display: flex;
  flex-flow: row;
  justify-content: center;
  margin-top: 0.375rem;
  margin-bottom: 0.375rem;
  margin: 0 auto;
  max-width: 18em; }
  .progress-bar > *, .voting-card__progress-bar > * {
    min-width: 0; }
  .progress-bar__progress, .voting-card__progress-bar__fg, .voting-card__progress-bar__progress {
    margin-left: 0.375rem;
    margin-right: 0.375rem;
    display: flex;
    border: 1px solid #552F91;
    border-radius: 50rem;
    height: 0.5rem;
    width: 100%; }
  .progress-bar--simple {
    margin: 0;
    text-transform: uppercase;
    color: #FF3D72;
    font-size: .75rem;
    font-family: Work Sans;
    font-weight: 500;
    line-height: 1.25rem;
    max-width: fit-content; }
    .progress-bar--simple strong {
      font-weight: normal; }
    .progress-bar--simple .progress-bar__progress, .progress-bar--simple .voting-card__progress-bar__fg, .progress-bar--simple .voting-card__progress-bar__progress {
      border: 1px solid #FF3D72;
      border-radius: 0.75rem;
      width: 6.188rem;
      margin-left: 0;
      margin-right: .75rem; }
      .progress-bar--simple .progress-bar__progress :first-child, .progress-bar--simple .voting-card__progress-bar__fg :first-child, .progress-bar--simple .voting-card__progress-bar__progress :first-child {
        background-color: #FF3D72 !important; }

.form-profile--buttons input[type=text] {
  border-radius: 1.5625rem !important; }

.form-profile--buttons__cancel {
  background-color: #777777 !important; }

.form-profile--buttons__save {
  background-color: #052b47 !important; }

h1,
h2 {
  margin: unset; }

h1 {
  font-size: 1.25em;
  font-weight: 600; }

h2 {
  font-size: 1em; }

label + input + br,
label + textarea + br,
label + select + br {
  display: none; }

.flex, .flex--wrap {
  display: flex; }

.flex--justify-center {
  justify-content: center; }

.flex--wrap {
  flex-wrap: wrap; }

.flex--gap-1 {
  gap: 1rem; }

.wrap, .stat-slab {
  flex-wrap: wrap;
  justify-content: space-between !important; }

.float-left {
  float: left; }

.float-right {
  float: right; }

.inline-grid {
  display: inline-grid; }

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

.justify-center {
  justify-content: center; }

.cursor-pointer {
  cursor: pointer; }

@media only screen and (max-width: 900px) {
  .full-width {
    grid-column: 1 / 4 !important; } }

.ej-margin-top {
  margin-top: 1rem; }

.ej-margin-bottom {
  margin-bottom: 1rem; }

input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  margin-top: -1.125rem !important;
  margin-bottom: 1.5rem;
  margin-left: 0.75rem; }

.helptext {
  font-size: 1rem;
  text-align: left;
  color: #777777; }
  .helptext-center {
    text-align: center;
    max-width: 50%;
    margin: auto; }

label + ul.errorlist {
  margin-top: -0.75rem;
  margin-bottom: 0; }
  label + ul.errorlist > li:last-child {
    margin-bottom: 0; }

ul.errorlist {
  color: #de011e;
  font-size: 0.75rem;
  font-weight: 600;
  list-style: none;
  margin: 0.375rem;
  text-align: left;
  font-style: italic; }

.terms__content {
  height: 20rem;
  overflow: scroll;
  font-size: 0.9rem;
  border-radius: 0.3125rem;
  height: 6.725rem;
  color: #777777; }

.terms__checkbox {
  font-size: 0.8rem; }
  .terms__checkbox label {
    margin-bottom: 4.145rem; }

.terms label {
  text-transform: unset;
  font-weight: 700;
  font-size: 0.875rem;
  color: #052b47; }

.register-form {
  max-width: 800px;
  margin: auto; }
  .register-form form {
    margin-bottom: unset !important; }
  .register-form__title {
    display: flex;
    justify-content: space-between;
    align-items: center;
    grid-column: 2/5;
    margin-bottom: 2.1875rem;
    margin-top: 4.5rem; }
  .register-form__image {
    width: 5.4rem;
    height: 4.6rem; }
  .register-form__submit-button {
    width: fit-content;
    padding-left: 5.5rem !important;
    padding-right: 5.5rem !important;
    height: 3.3rem !important;
    border: unset !important; }
    @media (max-width: 414px) {
      .register-form__submit-button {
        margin-bottom: 1.5rem !important; } }
  .register-form__label {
    font-size: 1rem;
    text-transform: initial;
    font-weight: 500;
    color: #052b47; }
  .register-form__label--margin {
    margin-bottom: 0.75rem; }
  .register-form__buttons {
    display: flex;
    align-items: start;
    float: right;
    margin-top: 3.9rem; }
    @media (max-width: 414px) {
      .register-form__buttons {
        flex-direction: column-reverse;
        align-items: center; }
        .register-form__buttons .login-form__social-button {
          width: 17.5rem; } }
  @media (max-width: 414px) {
    .register-form {
      max-width: unset !important; }
      .register-form input {
        max-width: unset !important;
        min-width: unset !important; } }
.register-form__input input,
.login-form__input input {
  border-radius: 0.625rem !important;
  background-color: #C4F2F499;
  margin-bottom: 2.0625rem; }

.login-form__logo {
  display: flex;
  justify-content: center;
  margin-bottom: 2.0625rem; }

.login-form__label {
  text-transform: initial; }

.login-form__button-container {
  justify-content: space-between;
  align-items: center;
  display: flex;
  margin: 2.0625rem 0 2.0625rem; }

.login-form__submit-button {
  width: 14.0625rem;
  height: 3.3125rem !important;
  margin-bottom: unset !important;
  border: unset !important; }

.login-form__reset-password {
  color: #552F91;
  font-family: "Work Sans", sans-serif; }

.login-form__reset-password:hover {
  color: #552F91 !important; }

.login-form__social-button {
  width: 17.5rem;
  height: 3.36rem;
  border: 1px solid #BABABA;
  border-radius: 0.3125rem;
  box-shadow: 1px 1px 1px gray;
  display: flex;
  justify-content: center;
  align-items: center; }
  .login-form__social-button span {
    font-weight: 700;
    color: #777777; }
    .login-form__social-button span span {
      text-transform: capitalize; }
  .login-form__social-button a i {
    background: conic-gradient(from -45deg, #ea4335 110deg, #4285f4 90deg 180deg, #34a853 180deg 270deg, #fbbc05 270deg) 73% 55%/150% 150% no-repeat !important;
    -webkit-background-clip: text !important;
    background-clip: text !important;
    color: transparent !important;
    -webkit-text-fill-color: transparent !important;
    font-size: 1rem !important; }
  .login-form__social-button--padding {
    padding: 0 1.5rem; }

.register-redirection {
  display: flex;
  align-items: center;
  justify-content: space-between;
  max-width: 30rem;
  margin: auto;
  padding: 0 1.5rem; }
  .register-redirection__hr {
    margin: 3.0625rem auto !important;
    width: 45%; }
  .register-redirection img {
    width: 9.3525rem;
    height: 7.9375rem; }
  .register-redirection__button {
    display: flex;
    flex-direction: column;
    align-items: center; }
    .register-redirection__button span {
      color: #052b47;
      font-family: "Work Sans", sans-serif;
      margin-bottom: 1.36rem; }
    .register-redirection__button a {
      border: 0.125rem solid #052b47;
      background-color: white;
      color: #052b47;
      height: 3.3125rem;
      line-height: 3.3125rem;
      width: 266px;
      border-radius: 0.3125rem;
      margin-bottom: unset; }
    .register-redirection__button a:hover {
      background-color: white !important;
      color: #052b47 !important; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext,
textarea,
label,
input {
  max-width: unset !important;
  text-indent: unset !important; }

input:not(.button) {
  border: 1px solid #552F91;
  border-radius: 0.3125rem; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  margin: unset !important;
  text-align: unset !important; }

.content-grid, .tools {
  grid-template-columns: minmax(4%, auto) minmax(auto, 1400px) minmax(4%, auto);
  display: grid; }
  .content-grid > *, .tools > * {
    grid-column: 2; }
  .content-grid--padding, .tools {
    padding: 2rem 0 0 0; }
  @media only screen and (max-width: 900px) {
    .content-grid, .tools {
      grid-template-columns: 3% auto 3%;
      grid-template-rows: auto auto; }
    .content-grid--padding, .tools {
      padding: 1rem 0 0 0; } }
.header-space {
  margin-top: 1.5rem; }

.loader, .conecta-loader {
  width: 18px;
  height: 18px;
  border: 2px solid #552F91;
  border-bottom-color: transparent;
  border-radius: 50%;
  display: none;
  box-sizing: border-box;
  animation: rotation 1s linear infinite;
  margin-top: 2rem; }

.hide {
  display: none !important;
  opacity: 0; }

.show {
  display: block !important;
  opacity: 1; }

.htmx-request .loader, .htmx-request .conecta-loader {
  display: inline; }

.htmx-request.loader, .htmx-request.conecta-loader {
  display: inline; }

@keyframes rotation {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@media (max-width: 320px) {
  .terms__content {
    height: 15.4rem; }
  .terms__checkbox label {
    margin-bottom: 2.625rem; }
  .register-form__title {
    grid-column: 2/3;
    flex-direction: column;
    margin-bottom: 0;
    margin-top: 0; }
    .register-form__title h1 {
      margin: 3.375rem 0 1.5rem 0; }
  .register-form__image {
    width: 11.5625rem;
    height: 9.75rem;
    margin-bottom: 1.75rem; }
  .register-redirection {
    flex-direction: column; }
    .register-redirection__hr {
      width: 100%;
      padding: 0 1.5rem; }
    .register-redirection__button span {
      margin-top: 1.58rem; }
  .login-form__input #id_password {
    margin-bottom: 1rem; }
  .login-form__button-container {
    flex-direction: column;
    row-gap: 1.21rem;
    margin-bottom: unset; }
  .login-form__label {
    text-align: center !important; }
  .login-form__social-button {
    width: 100%; }
  .login-form__reset-password {
    margin-bottom: 1.1875rem; }
  .login-form__submit-button {
    margin-bottom: 1.5rem !important; } }

@media (max-width: 900px) and (min-width: 321px) {
  .terms__content {
    height: 15.4rem; }
  .terms__checkbox label {
    margin-bottom: 2.625rem; }
  .register-form__title {
    grid-column: 2/3;
    flex-direction: column;
    margin-bottom: 0;
    margin-top: 0; }
    .register-form__title h1 {
      margin: 3.375rem 0 1.5rem 0; }
  .register-form__image {
    width: 11.5625rem;
    height: 9.75rem;
    margin-bottom: 1.75rem; }
  .register-form__input--margin input {
    margin-bottom: 2.625rem; }
  .register-form__buttons {
    flex-direction: column-reverse;
    align-items: center; }
    .register-form__buttons .login-form__social-button {
      width: 17.5rem; }
  .register-form__submit-button {
    margin-bottom: 0.9rem !important; }
  .register-redirection {
    flex-direction: column; }
    .register-redirection__hr {
      width: 100%;
      padding: 0 1.5rem; }
    .register-redirection__button span {
      margin-top: 1.58rem; }
  .login-form__input #id_password {
    margin-bottom: 1rem; }
  .login-form__button-container {
    flex-direction: column;
    row-gap: 1.21rem;
    margin-bottom: unset; }
  .login-form__label {
    text-align: center !important; }
  .login-form__social-button {
    width: 100%; }
  .login-form__reset-password {
    margin-bottom: 1.1875rem; }
  .login-form__submit-button {
    margin-bottom: 1.5rem !important; } }

h1,
h2,
h3,
p,
span {
  letter-spacing: 0px; }

h1 {
  font-weight: 500; }

h3 {
  color: #14C4B2; }

.body {
  margin-bottom: unset !important; }

.conecta-icon {
  margin: auto 0.5em 0 0; }
  .conecta-icon i {
    margin: 0 .5em 0 0; }

.toast {
  display: none !important;
  padding: 1.5rem;
  box-shadow: 0 4px 8px 0 rgba(0, 0, 0, 0.12), 0 2px 4px 0 rgba(0, 0, 0, 0.08);
  font-weight: 600;
  background-color: #14C4B2;
  color: white;
  margin-left: auto !important;
  opacity: unset; }
  .toast__icon {
    color: #552F91;
    background-color: white;
    border: 6px solid;
    border-radius: 50rem;
    box-sizing: content-box;
    line-height: 2rem;
    font-size: 2rem;
    height: 2rem;
    width: 2rem; }
  .toast__content > * {
    margin: 0 !important; }
  .toast__content span {
    font-size: 1.125rem;
    font-weight: 700;
    color: #552F91;
    color: white !important;
    font-family: 'Buendia'; }
    @media screen and (min-width: 35rem) {
      .toast__content span {
        font-size: 1.125rem; } }
    @media screen and (min-width: 50rem) {
      .toast__content span {
        font-size: 1.125rem; } }
    @media screen and (min-width: 75rem) {
      .toast__content span {
        font-size: 1.1875rem; } }
.toast--show {
  display: flex !important; }

.filter {
  display: flex;
  align-items: center; }

.filter__select {
  margin: 0 0.5rem 0 0.5rem;
  border-radius: 5px;
  border: 2px solid #FF3D72;
  color: #FF3D72;
  font-weight: bold;
  height: 28px; }
  .filter__select--width-sm {
    width: 169px;
    min-width: 169px;
    padding-right: unset; }
  .filter__select--width-md {
    width: 230px;
    min-width: 230px;
    padding-right: unset; }

.filter__container {
  display: flex;
  align-items: center;
  color: #777777;
  font-weight: bold; }

.filter__entries-select {
  width: 4rem;
  min-width: 4rem;
  padding-right: unset; }

.filter__sort {
  display: flex; }
  .filter__sort i {
    color: #bababa;
    margin: unset; }
  .filter__sort .fa-sort-up {
    position: relative;
    top: 0.55rem; }

.filter__input {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center; }
  .filter__input input {
    padding-left: 2.5rem;
    margin: unset; }
  .filter__input--blue input {
    min-width: 150px;
    height: 28px;
    border: 2px solid #30BFD3;
    border-radius: 5px; }
  .filter__input--blue i {
    color: #30BFD3; }

.pipe--divider {
  font-weight: bold;
  color: #bababa;
  margin: 0 0.5rem 0 0.5rem; }

.icon--pink {
  color: #FF3D72 !important; }

@media (max-width: 820px) {
  .pipe--divider {
    display: none; }
  .filter {
    display: block; }
  .filter__container {
    margin-bottom: 0.5rem; } }

/*
 SPACING
 =========================================================================== */
/*
 FONTS FAMILIES AND SIZES
 ============================================================== */
/*
 SPACING
 =========================================================================== */
.tools {
  max-width: 70vw;
  padding: 2rem 0; }
  .tools label {
    text-indent: unset;
    color: #000; }
  .tools input {
    border-radius: 0.6rem; }
  .tools input[type="radio"]::after {
    bottom: 0.1em;
    right: unset; }
  .tools select {
    border-radius: 0.5rem; }
  .tools .h2, .tools .title, .tools .intro-paragraph h1, .intro-paragraph .tools h1, .tools .intro-paragraph h2, .intro-paragraph .tools h2, .tools .intro-paragraph h3, .intro-paragraph .tools h3, .tools .intro-paragraph h4, .intro-paragraph .tools h4, .tools .intro-paragraph h5, .intro-paragraph .tools h5, .tools .intro-paragraph h6, .intro-paragraph .tools h6, .tools .intro-paragraph .h1, .intro-paragraph .tools .h1, .tools .intro-paragraph .h4, .intro-paragraph .tools .h4, .tools .intro-paragraph .h5, .intro-paragraph .tools .h5, .tools .intro-paragraph .h6, .intro-paragraph .tools .h6, .tools .h3 {
    margin: unset; }
    .tools .h2 a, .tools .title a, .tools .intro-paragraph h1 a, .intro-paragraph .tools h1 a, .tools .intro-paragraph h2 a, .intro-paragraph .tools h2 a, .tools .intro-paragraph h3 a, .intro-paragraph .tools h3 a, .tools .intro-paragraph h4 a, .intro-paragraph .tools h4 a, .tools .intro-paragraph h5 a, .intro-paragraph .tools h5 a, .tools .intro-paragraph h6 a, .intro-paragraph .tools h6 a, .tools .intro-paragraph .h1 a, .intro-paragraph .tools .h1 a, .tools .intro-paragraph .h4 a, .intro-paragraph .tools .h4 a, .tools .intro-paragraph .h5 a, .intro-paragraph .tools .h5 a, .tools .intro-paragraph .h6 a, .intro-paragraph .tools .h6 a, .tools .h3 a {
      color: #FF3D72;
      text-decoration: underline; }
  .tools .h3 {
    color: #000; }
  .tools-container-full-width {
    margin-left: 10px;
    margin-right: 10px; }
  .tools-title {
    margin-bottom: 1.5rem; }
    .tools-title span {
      line-height: 1.6; }
  .tools-table td a {
    text-decoration: underline; }
  .tools-table td:last-child {
    line-height: 1.6; }

.tools-section,
.tools-section-2 {
  border-width: 1px;
  border-color: #30BFD3;
  border-radius: 1rem;
  padding: 5px; }

.tools-section-2 {
  border-style: solid; }

.tools-section .scrow,
.tools-section-2 .scrow {
  display: flex; }

.tools-section .scrow div:first-child,
.tools-section-2 .scrow div:first-child {
  flex-grow: 2;
  color: #30BFD3;
  font-weight: 700; }

.tools-section .tools-content {
  overflow: hidden;
  transition: max-height 0.5s; }

@keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-moz-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@-webkit-keyframes fadeIn {
  from {
    opacity: 0; }
  to {
    opacity: 1; } }

@media (max-width: 768px) {
  .tools {
    max-width: unset;
    margin: auto; } }

@media (max-width: 875px) {
  .tools-select {
    flex-grow: 1; }
  .tools-share {
    flex-grow: 1; } }

@media (min-width: 876px) and (max-width: 1300px) {
  .tools-select {
    width: 470px !important; } }

@media (min-width: 1301px) {
  .tools-select {
    flex-grow: 1; } }

@media (max-width: 1210px) {
  .tools-card-expand {
    width: 100% !important; } }

/* Responsive columns */
@media screen and (max-width: 600px) {
  .column {
    width: 100%;
    display: block;
    margin-bottom: 20px; } }

.divider {
  border-bottom: 1px solid rgba(0, 0, 0, 0.12);
  padding-bottom: 0.5rem;
  max-width: 50rem; }

.help-card {
  box-sizing: border-box;
  background: rgba(255, 86, 130, 0.2);
  border-radius: 5px;
  padding: 1rem 1rem 1rem 0;
  display: flex;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  max-width: 375px; }
  .help-card i {
    font-size: x-large; }

#id_authentication_type .tooltip,
#id_template_type .tooltip {
  display: inline; }

#id_authentication_type .tooltip .tooltiptext,
#id_template_type .tooltip .tooltiptext {
  visibility: hidden;
  width: 120px;
  background-color: black;
  opacity: 50%;
  color: white;
  text-align: center;
  border-radius: 6px;
  padding: 5px 0;
  margin-top: 50px;
  font-size: small;
  /* Position the tooltip */
  position: absolute;
  z-index: 1; }

#id_authentication_type .tooltip:hover .tooltiptext,
#id_template_type .tooltip:hover .tooltiptext {
  visibility: visible; }

#id_authentication_type label,
#id_template_type label {
  display: inline-block;
  background-color: aliceblue;
  padding: 15px 40px;
  border-radius: 10px;
  margin: 0;
  border: 1px solid #30BFD3;
  text-indent: 0; }

#id_authentication_type label:hover,
#id_template_type label:hover {
  background-color: #7759A7; }

#id_authentication_type input[type="radio"]:checked + label,
#id_template_type input[type="radio"]:checked + label {
  background-color: #A3D8DD;
  color: #000; }

#id_authentication_type input[type="radio"]:focus + label,
#id_template_type input[type="radio"]:focus + label {
  border: 2px dashed #A3D8DD; }

#id_authentication_type input[type="radio"],
#id_template_type input[type="radio"] {
  opacity: 0;
  position: fixed;
  width: 0; }

#id_authentication_type li,
#id_template_type li {
  display: inline-block;
  margin-right: 0.8rem; }

.color-choice {
  border-radius: 50%;
  display: inline-block;
  position: relative;
  top: 0.1rem;
  height: 1.2rem;
  width: 1.2rem; }

/* Float four columns side by side */
.column {
  float: left;
  width: 50%;
  padding: 0 10px; }

/* Clear floats after the columns */
.row:after, .tabs:after, .categories:after, .stat-slab:after {
  content: "";
  display: table;
  clear: both; }

.tools-divider {
  display: flex;
  flex-direction: column;
  flex-wrap: wrap;
  gap: 1.5rem 0;
  align-items: start;
  margin: 1.313rem 0 0 0; }

.tools-icon-share {
  cursor: pointer; }
  .tools-icon-share img {
    margin: -6px 4px; }

#tools-tip-text {
  width: 150px;
  visibility: hidden;
  font-size: 12px;
  background-color: black;
  color: white;
  text-align: center;
  padding: 5px 5px;
  border-radius: 6px;
  transition: all 0.3s ease;
  transition-delay: 1.2s;
  z-index: 1; }

.tools-tip-text-show {
  visibility: visible !important; }

.tools-tip-text-hidde {
  visibility: hidden; }

.tools-link {
  font-weight: bold; }

.hide {
  display: none !important;
  opacity: 0; }

.show {
  display: block !important;
  opacity: 1; }

.tools-card-container {
  border: 1px solid #C4C4C4;
  border-width: 1px;
  box-sizing: border-box;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  margin: 0 auto 0 0;
  max-width: 800px;
  width: 100%;
  transition: 0.3s;
  border-radius: .5rem;
  overflow: auto; }
  .tools-card-container button {
    font-family: 'Work Sans';
    line-height: 0; }

.tools-card-content {
  margin: 0 0 0 1rem;
  padding: 0 1rem 0 0; }
  .tools-card-content .instruction {
    color: rgba(0, 0, 0, 0.8);
    font-size: 1.125rem;
    margin: 0 0 .8rem 0 !important; }
  .tools-card-content p {
    margin: 0 0 1.813rem 0 !important;
    max-width: 450px; }

.tools-card-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #000; }

.tools-card-body {
  display: flex;
  margin: 12px 0 0 19px; }
  .tools-card-body-img img {
    width: 50px; }
  .tools-card-body-buttons {
    display: flex;
    margin: .7rem 0 1.5rem 0; }
    .tools-card-body-buttons span {
      margin: .5rem .5rem 0 0;
      font-size: .75rem; }

.tools-card-footer {
  float: right;
  margin: 0 0.75rem 0.75rem 0;
  display: flex;
  gap: .3rem; }
  .tools-card-footer button.blue, .tools-card-footer button.grey {
    border-radius: 5px;
    height: 45px;
    width: 145px;
    padding: 0 !important;
    text-transform: capitalize;
    margin: 0 !important; }
  .tools-card-footer button.grey {
    background-color: #bababa;
    border-color: #bababa;
    color: #052B47;
    font-size: 0.7rem; }
  .tools-card-footer button.blue {
    background-color: #052B47;
    color: white;
    border-color: white;
    font-size: 0.75rem; }
    .tools-card-footer button.blue a {
      font-weight: bold;
      color: white; }

.tools-card-title {
  font-size: 1.25rem;
  font-weight: bold;
  color: #000; }

button.blue, button.grey {
  border-radius: 5px;
  height: 45px;
  width: 145px;
  padding: 0 !important;
  text-transform: capitalize;
  margin: 0 !important; }

button.grey {
  background-color: #bababa;
  border-color: #bababa;
  color: #052B47;
  font-size: 0.7rem; }
  button.grey a {
    font-weight: 700;
    font-size: 13px;
    line-height: 15px; }

button.blue {
  background-color: #052B47;
  color: white;
  border-color: white;
  font-size: 0.75rem; }
  button.blue a {
    font-weight: bold;
    color: white;
    font-size: 13px;
    line-height: 15px; }

.tools-settings-form {
  position: relative;
  margin-bottom: 0.844rem; }
  .tools-settings-form h3 {
    margin-block-start: 0; }
  .tools-settings-form hr {
    color: #A3D8DD; }
  .tools-settings-form ul {
    list-style-type: none;
    max-width: 24rem;
    justify-content: center; }
    .tools-settings-form ul li {
      margin-bottom: 0; }
  .tools-settings-form section {
    margin-bottom: 2rem;
    margin-left: 1rem; }
  .tools-settings-form .section-custom {
    max-width: 66%; }
    .tools-settings-form .section-custom h3 {
      display: flex;
      justify-content: space-between; }
  .tools-settings-form-table-about {
    font-weight: bold; }
  .tools-settings-form-settings-form h3 {
    margin-block-start: 0; }
  .tools-settings-form-settings-form hr {
    color: rgba(0, 0, 0, 0.12); }
  .tools-settings-form-settings-form section {
    margin: 20px 0px 20px 0px; }
    @media only screen and (max-width: 740px) {
      .tools-settings-form-settings-form section {
        left: 2.5rem; } }
  .tools-settings-form-settings-form ul {
    list-style-type: none;
    margin-bottom: 0; }
  .tools-settings-form-settings-form ul:after {
    content: "";
    display: table;
    clear: both; }
  .tools-settings-form-settings-form li {
    float: left;
    margin-right: 3%;
    width: 35%;
    width: auto;
    margin-bottom: 0; }
  .tools-settings-form-submit-button {
    float: left; }

.tools-settings-form:after {
  content: "";
  display: table;
  clear: both; }

.title-theme {
  margin-bottom: 2.313rem; }
  .title-theme .avatar {
    width: 3.438rem;
    margin-top: 0.844rem;
    margin-right: 1.5rem;
    margin-left: 1.219rem; }
  .title-theme h3 {
    width: 70%;
    margin-top: 0.75rem;
    color: #000;
    font-family: "Work Sans";
    font-style: normal;
    font-weight: bold;
    font-size: 20px;
    line-height: 23px; }
  .title-theme h4 {
    color: #000;
    font-family: "Work Sans";
    font-weight: bold;
    line-height: 21px;
    margin: unset !important; }
  @media only screen and (max-width: 760px) {
    .title-theme h3 {
      margin-left: 2rem;
      margin-bottom: 1.5rem; }
    .title-theme h4 {
      left: 2rem; }
    .title-theme span {
      left: 2rem; } }
.modal-tools-content {
  position: relative;
  width: 70%;
  max-width: 1200px;
  background: white;
  border-radius: 5px;
  display: flex;
  flex-direction: column;
  place-items: center;
  justify-content: center;
  gap: .75rem; }
  .modal-tools-content button {
    width: 200px;
    height: 50px;
    background: #000;
    border-radius: 70px;
    padding-top: 10px; }
    .modal-tools-content button span {
      text-transform: capitalize;
      color: white;
      font-family: "Work Sans";
      font-style: normal;
      font-weight: bold;
      font-size: 24px;
      line-height: 28px; }
  @media only screen and (max-width: 760px) {
    .modal-tools-content {
      width: 100%;
      height: 100%;
      max-width: none;
      border-radius: 0px;
      justify-content: flex-start; } }
.modal-tools-close {
  display: none;
  z-index: 9999; }

.modal-tools-open {
  display: block;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 9999; }

.close-modal {
  position: absolute;
  right: 5px;
  top: 0px;
  text-align: right;
  font-size: 28px;
  margin-right: 17px;
  cursor: pointer; }

.modal-tools-bg {
  display: grid;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.4);
  place-items: center;
  justify-content: center; }

@media (max-width: 768px) {
  #page-wrapper .modal {
    width: 100vw;
    left: 0;
    margin: 15% auto; }
  .tools {
    width: 100%; }
    .tools-container {
      width: 95%;
      margin: auto; } }

h2.text-accent a, .moderate h2.comment__author a {
  color: #FF3D72; }

.chatbot-options {
  margin-top: 30px;
  margin-left: -8px;
  /* Style the counter cards */ }
  .chatbot-options .card {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 14px;
    border: 1px solid #e5e5e5;
    margin-bottom: 40px;
    cursor: pointer;
    max-width: 500px; }
    .chatbot-options .card h3 {
      margin-top: 20px;
      margin-bottom: 10px;
      color: #042a46;
      font-size: 18px; }
  .chatbot-options .card:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); }
  .chatbot-options .imgcard {
    width: 65px;
    height: 65px; }
  .chatbot-options .balance-bigger-margin {
    width: 50px;
    height: 65px; }

.bots-buttons.share-buttons {
  float: right;
  margin: -20px 400px 0px 0px; }

.bots-buttons button {
  height: 34px;
  width: 98px;
  border-radius: 5px;
  font-size: 0.7rem;
  text-transform: capitalize;
  padding: 0 !important; }

.bots-buttons button.grey {
  background-color: #bababa !important;
  border-color: #bababa !important;
  color: #052B47 !important; }

.bots-buttons button:last-child {
  background-color: #bababa;
  border-color: #bababa;
  color: #052B47; }

.bots-buttons button.pink {
  background-color: #F8127E !important;
  color: white !important;
  border-color: white !important; }

.bots-buttons button:first-child {
  background-color: #F8127E;
  color: white;
  border-color: white; }

.poll-bot-instructions {
  max-width: 410px;
  height: 60px; }
  .poll-bot-instructions li {
    color: rgba(0, 0, 0, 0.8);
    margin: 0 0 0.5rem 0; }

.tool-description {
  display: inline-block;
  max-width: 50rem; }

#custom-domain-label {
  margin-bottom: 0.5rem;
  float: left;
  width: 60%;
  text-transform: unset; }

.preview-template {
  position: relative;
  overflow: hidden;
  height: 40vw;
  width: 100%; }
  .preview-template table tbody tr {
    background: none !important; }

#domain-input {
  margin: 0 0 1rem 0; }

.iframe-section {
  height: 100%;
  width: 100%; }

.display-down {
  margin-right: 10px;
  cursor: pointer; }
  .display-down label {
    cursor: pointer;
    color: unset;
    margin-bottom: unset;
    font-size: 1.5rem;
    transition: transform 2s; }
  .display-down #isexpanded1,
  .display-down #isexpanded2 {
    display: none; }

#download-icon {
  font-size: 1.2rem;
  margin: auto 0.3em; }

#isexpanded1:checked + label > i {
  transform: rotate(180deg); }

#isexpanded2:checked + label > i {
  transform: rotate(180deg); }

#custom-field-section,
#mailing-section {
  animation: fadeIn 0.5s;
  -webkit-animation: fadeIn 0.5s;
  -moz-animation: fadeIn 0.5s; }

#custom-field-section label:first-letter {
  text-transform: uppercase; }

#no-comments-helptext {
  display: flex;
  margin-left: -10rem; }

.modal-tools-content.mailing {
  position: absolute;
  height: fit-content;
  border: none; }
  .modal-tools-content.mailing .close-modal {
    color: white; }

.tools-card-content.mailing {
  margin-left: 3rem; }

.tools-card-footer.mailing {
  margin: 0; }

.card-opinion-component {
  display: grid;
  width: 80%;
  height: auto;
  margin-left: 18px;
  padding-right: 1.219rem;
  border: 1px solid #EEEEEE;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 5px; }
  .card-opinion-component button {
    display: flex;
    place-content: center;
    align-items: center;
    justify-content: space-evenly;
    float: right; }

.opinion-component-card-list {
  display: block;
  margin-top: 1rem;
  width: 22rem;
  padding: 0 1rem; }

.h3--space {
  margin: 0 0 .625rem 0 !important; }

.tabs-space {
  margin-top: 1.25rem; }

.tools-divider.opinion-divider {
  margin-top: 2.688rem; }

.opinion-col-1 {
  display: flex;
  gap: 3.188rem; }
  .opinion-col-1__info {
    width: 36%; }
  .opinion-col-1 .tools-card-body-img img {
    height: 3.313rem; }
  .opinion-col-1 .helptext.opinion-helptext {
    color: rgba(0, 0, 0, 0.8);
    font-size: .875rem;
    font-style: normal;
    font-weight: 400;
    line-height: normal;
    margin-top: 1.25rem; }

.opinion-col-2__subtitle {
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal; }

.opinion-col-2__hint {
  color: #FF3D72;
  font-weight: bold; }

.opinion-col-2__hint-generate {
  color: rgba(0, 0, 0, 0.8);
  font-size: 1rem;
  font-style: normal;
  font-weight: 400;
  line-height: normal; }

.opinion-col-2 .form-component__message {
  margin-top: 0.5rem;
  text-transform: capitalize; }
  .opinion-col-2 .form-component__message__label {
    text-transform: capitalize;
    margin-bottom: 0.5rem; }

.opinion-col-2 .form-component .tools-card-footer.opinion-component {
  margin: .75rem 0 0 0 !important;
  display: block !important;
  float: right; }
  .opinion-col-2 .form-component .tools-card-footer.opinion-component .tools-icon-share__collection-button {
    border-radius: 5px;
    background-color: #FF3D72;
    border-color: #FF3D72; }
    .opinion-col-2 .form-component .tools-card-footer.opinion-component .tools-icon-share__collection-button img {
      width: 16px;
      height: 16px; }
    .opinion-col-2 .form-component .tools-card-footer.opinion-component .tools-icon-share__collection-button a {
      font-size: .75rem;
      font-style: normal;
      font-weight: 700;
      line-height: normal;
      text-transform: initial;
      color: white; }

.opinion-col-2 #copy-snippet {
  display: flex;
  width: 100%;
  height: 7.688rem;
  padding: .813rem 1.25rem;
  align-items: flex-start;
  border-radius: 0px 0px 8px 8px;
  border-color: #D1D5DB;
  max-width: none;
  margin: 2.063rem 0 1.188rem;
  color: #6B7280;
  font-family: 'Inter', sans-serif;
  font-size: 14px;
  font-style: normal;
  font-weight: 400; }

.opinion-col-2__copy-button {
  display: inline-flex;
  height: 2.625rem;
  padding: .5rem 1rem;
  justify-content: center;
  align-items: center;
  border-radius: 5px;
  background: #30BFD3;
  gap: .375rem; }

.opinion-col-2__tooltip {
  color: white;
  font-size: 1rem;
  display: inline-flex;
  place-items: center;
  padding: .75rem;
  padding-left: 0;
  border-radius: 5px;
  background: #FF3D72;
  max-width: 16.563rem;
  height: 2.75rem;
  position: relative;
  top: 5px; }
  .opinion-col-2__tooltip__arrow {
    color: #FF3D72;
    border-top: 10px solid transparent;
    border-bottom: 10px solid transparent;
    border-right: 10px solid #FF3D72;
    border-left: 0;
    position: relative;
    right: .563rem; }

.opinion-col-2 #copy-snippet-message {
  display: none; }

.cke_top {
  padding: 0 !important; }

.domain-form {
  display: flex;
  justify-content: space-between;
  margin-bottom: 76px; }
  .domain-form input:first-child {
    margin-right: 10px;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box;
    margin-bottom: unset;
    margin-top: unset;
    max-width: 565px; }
  .domain-form #domain-submit {
    height: unset;
    box-sizing: content-box;
    -moz-box-sizing: content-box;
    -webkit-box-sizing: content-box; }

.webchat-card {
  box-sizing: border-box;
  max-height: fit-content;
  border: 1px solid #CCCCCC;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  border-radius: 5px;
  margin-top: 9px;
  padding: 1rem 0 0 0; }
  .webchat-card__description {
    display: block;
    max-width: 700px; }
  .webchat-card__section {
    display: flex; }
    .webchat-card__section-content {
      width: 80%; }
  .webchat-card__divider {
    border-bottom: 1px solid #c4c4c4;
    margin-bottom: 25.5px;
    width: 100%; }

.webchat-integrations__title {
  font-size: 18px;
  line-height: 21px;
  margin: 29px 0 12px;
  color: rgba(0, 0, 0, 0.8); }

.webchat-integrations__table {
  margin-top: 0.5rem;
  margin-bottom: 1.5rem; }
  .webchat-integrations__table tbody tr {
    background: none !important; }
  .webchat-integrations__table-row {
    max-width: 530px;
    overflow: hidden; }
    .webchat-integrations__table-row a {
      text-decoration: underline; }
  .webchat-integrations__table-header {
    font-style: normal;
    font-weight: bold;
    font-size: 14.4px;
    line-height: 17px;
    color: #30bfd3;
    padding: 20%;
    background-color: none; }
    .webchat-integrations__table-header th {
      border-bottom: 1px solid #bababa; }

.avatar {
  left: 19px;
  position: relative;
  margin-right: 35px;
  width: 60px;
  height: 60px; }

#form-size {
  margin-bottom: 0 !important; }

.buttons-div {
  display: flex;
  gap: 23px;
  position: relative;
  margin-top: 23px; }

#webchat-help-card {
  display: flex;
  gap: 21px;
  margin-top: 18px; }

.webchat-text-element {
  position: absolute;
  left: -9999px; }

.tip-text-position {
  margin-top: auto;
  height: 45px; }

#domain-label {
  margin-bottom: 0.5rem;
  text-transform: capitalize; }

.width-full-extended {
  margin-bottom: 0.25rem;
  margin-top: 1rem; }

#description-info {
  margin-bottom: 0rem;
  margin-top: 12px;
  display: block; }

#th-remove {
  text-align: end; }

#td-remove {
  text-align: end; }

/*
 SPACING
 =========================================================================== */
/*
 FONTS FAMILIES AND SIZES
 ============================================================== */
/*
 SPACING
 =========================================================================== */
.desative {
  display: none; }

.warning-comments {
  color: #552F91; }

.group-comments {
  position: fixed;
  /* Stay in place */
  z-index: 1010;
  /* Sit on top */
  left: 0;
  top: 0;
  width: 100%;
  /* Full width */
  height: 100vh;
  /* Full height */
  overflow: unset;
  /* Enable scroll if needed */
  background-color: rgba(0, 0, 0, 0.4);
  /* Black w/ opacity */ }

@media (max-width: 875px) {
  .group-comments-content {
    width: 100% !important;
    height: 100vh; } }

/* group-comments Content/Box */
.group-comments-content {
  background: white;
  opacity: 1 !important;
  box-shadow: 0 0 6px 1px rgba(0, 0, 0, 0.35);
  background-color: #fefefe;
  margin: 15% auto;
  /* 15% from the top and centered */
  margin-top: 5vh;
  padding: 1.3rem;
  border: 1px solid #C4C4C4;
  width: 80%;
  /* Could be more or less, depending on screen size */
  max-width: 930px;
  height: 90vh;
  overflow-y: scroll; }
  .group-comments-content table {
    margin-bottom: unset !important;
    border-collapse: collapse;
    table-layout: fixed;
    border: 1px solid #C4C4C4; }
  .group-comments-content td, .group-comments-content th {
    border-bottom: 1px solid #C4C4C4;
    padding: 0.5rem;
    text-align: left;
    white-space: wrap;
    word-break: break-all;
    font-size: 17px;
    font-weight: normal;
    padding-top: 1.1rem !important;
    padding-bottom: 1.3rem !important; }
  .group-comments-content tr {
    color: rgba(0, 0, 0, 0.8);
    background-color: white; }
  .group-comments-content tr:nth-child(odd) {
    background-color: white; }
  .group-comments-content tr:hover, .group-comments-content tr:focus {
    background-color: white; }
  .group-comments-content header {
    padding-bottom: 1.3rem !important;
    padding-top: 1.1rem !important;
    font-family: "Work Sans", sans-serif;
    font-weight: 700;
    font-size: 1.1rem;
    line-height: 1.3rem;
    color: #666666; }
  .group-comments-content .comments-table {
    margin-top: 3rem; }
  .group-comments-content .comments-input {
    -webkit-appearance: none !important;
    width: 0.9rem;
    height: 0.9rem;
    border: 2px solid #042A46;
    border-radius: unset;
    display: block !important;
    border-color: unset;
    position: relative;
    z-index: 1013; }
    .group-comments-content .comments-input::after, .group-comments-content .comments-input::before {
      box-sizing: border-box !important; }
    .group-comments-content .comments-input:before {
      border-color: rgba(255, 255, 255, 0) !important; }
    .group-comments-content .comments-input:after {
      content: "";
      width: 100%;
      height: 100%;
      position: absolute;
      left: 0;
      top: 0;
      display: none; }
    .group-comments-content .comments-input:checked {
      border: none !important;
      background-color: #042A46; }
    .group-comments-content .comments-input .overflow {
      display: none; }
  .group-comments-content .table-text {
    word-break: break-word; }
  .group-comments-content .footer {
    font-size: 0.9rem;
    line-height: 1rem;
    word-break: keep-all;
    height: 2rem;
    vertical-align: bottom;
    padding-top: 1.8rem !important;
    padding-bottom: 0.8rem !important; }
  .group-comments-content .command {
    font-weight: 700; }

.edit-pool-container {
  position: relative; }

.edit-pool-comments {
  position: absolute;
  bottom: 0px;
  right: 0px;
  font-weight: bold; }

.pools-comments-divider {
  border-top: 1px solid #E5E5E5;
  margin-right: -1.3rem;
  margin-left: -1.3rem;
  width: -moz-available;
  margin-bottom: 1.3rem; }

.pool-text {
  font-size: 0.9rem;
  line-height: 1rem !important;
  width: clamp(30ch, 71ch, 71ch);
  display: inline-block;
  margin-top: 0.5rem; }

.close-report {
  color: #000;
  float: right;
  font-size: 28px;
  font-weight: bold;
  margin: 0 .5rem; }

.close-report:hover,
.close-report:focus {
  color: black;
  text-decoration: none;
  cursor: pointer; }

.modal-tools-title h3 {
  width: 100%;
  color: black;
  margin-top: 1rem;
  font-family: "Work Sans";
  font-style: normal;
  font-weight: bold;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
  text-transform: uppercase; }

.modal-tools-title span {
  display: block;
  padding: 2% 14%;
  font-family: "Work Sans";
  font-style: normal;
  font-weight: normal;
  font-size: 24px;
  line-height: 28px;
  text-align: center; }

@media only screen and (max-width: 760px) {
  .modal-tools-title {
    margin-top: 5rem; }
    .modal-tools-title span {
      padding: 2% 7%; } }

.modal-tools-card {
  overflow: hidden;
  display: flex;
  width: 73%; }
  .modal-tools-card .column {
    width: 100%; }
  .modal-tools-card .card {
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    padding: 1rem;
    border: 1px solid #e5e5e5;
    cursor: pointer;
    display: flex;
    place-items: center;
    justify-content: initial; }
    .modal-tools-card .card .card-text {
      display: flex;
      flex-direction: column;
      place-items: flex-start; }
      .modal-tools-card .card .card-text h3 {
        color: black;
        font-family: "Work Sans";
        font-style: normal;
        font-weight: normal;
        font-size: 24px;
        line-height: 28px;
        text-decoration: underline; }
      .modal-tools-card .card .card-text p {
        font-family: "Work Sans";
        font-style: normal;
        font-weight: normal;
        font-size: 16px;
        line-height: 19px; }
    .modal-tools-card .card .card-icon {
      margin-right: 0.3rem; }
      .modal-tools-card .card .card-icon .imgcard {
        width: 75px;
        height: 65px;
        max-width: unset; }
  .modal-tools-card .card:hover {
    box-shadow: 0 8px 16px 0 rgba(0, 0, 0, 0.2); }
  .modal-tools-card .balance-bigger-margin {
    width: 50px;
    height: 65px; }
  @media only screen and (max-width: 860px) {
    .modal-tools-card {
      width: 90%; }
      .modal-tools-card .card {
        justify-content: center; }
        .modal-tools-card .card .card-text h3 {
          font-size: 18px;
          line-height: 21px; }
        .modal-tools-card .card .card-icon {
          margin-left: -1rem;
          margin-right: 0rem; } }
.modal-tools-footer p {
  font-family: "Work Sans";
  font-style: normal;
  font-weight: normal;
  font-size: 18px;
  line-height: 21px;
  text-align: center;
  text-decoration-line: underline; }

/* generic classes */
.center-grid {
  grid-column: 2/3; }

.conversation-dashboard-section__title {
  height: 1.875rem;
  margin-bottom: 1.813rem;
  text-transform: capitalize; }

.dashboard-balloon__container {
  margin: 2.5rem 0 3rem 0; }

.dashboard-balloon__title {
  color: #052b47;
  line-height: 1.375rem;
  margin-top: 0px;
  margin-bottom: 0px; }

.dashboard-balloon__label {
  color: #30BFD3;
  margin-bottom: .3rem; }

.dashboard-balloon__label, .dashboard-balloon__title {
  text-transform: uppercase;
  font-weight: 500; }

.report-container .conversation-dashboard .report-card {
  border: 1px solid #30BFD3;
  border-radius: 0.5rem;
  width: 100%;
  padding: 0 1.375rem 0 1.1875rem;
  min-height: 4.6875rem;
  background-color: #30BFD3;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap; }
  .report-container .conversation-dashboard .report-card__label {
    font-size: 1rem;
    color: #052B47; }
  .report-container .conversation-dashboard .report-card__button {
    padding: 1rem 0 0 0; }
  .report-container .conversation-dashboard .report-card--margin-lg {
    margin-bottom: 3.65rem; }
  .report-container .conversation-dashboard .report-card--margin-sm {
    margin-bottom: 2.56rem; }

.charts-section {
  display: flex;
  gap: 2rem;
  justify-content: space-between;
  margin-bottom: 1.875rem; }
  .charts-section__title {
    font-size: 1.1em;
    line-height: 1.3125rem;
    margin: unset;
    display: flex;
    text-transform: capitalize;
    color: #052b47;
    font-family: "Work Sans", sans-serif;
    font-weight: bold;
    flex-grow: 1; }
  .charts-section #voting-time-chart {
    height: 25rem; }
    .charts-section #voting-time-chart div:first-child {
      width: 100% !important; }
  .charts-section .time-chart {
    width: 100%; }
    .charts-section .time-chart svg {
      margin: 1rem auto auto auto; }
    .charts-section .time-chart .date-picker {
      display: flex;
      flex-wrap: wrap;
      gap: 1rem; }
      .charts-section .time-chart .date-picker__input {
        display: flex;
        gap: .5rem;
        border: 1px solid #777777;
        border-radius: 0.3125rem;
        padding: 0.25rem;
        cursor: pointer;
        color: #777777; }
        .charts-section .time-chart .date-picker__input input {
          min-width: unset !important;
          max-width: 7.5rem !important;
          padding: unset;
          cursor: pointer;
          width: 100%;
          margin: auto;
          height: 1rem;
          border: unset !important;
          border-radius: unset !important;
          font-size: 0.875rem;
          font-weight: 400;
          text-align: center;
          color: #777777; }
        .charts-section .time-chart .date-picker__input input:focus {
          box-shadow: unset !important; }
    .charts-section .time-chart__container {
      position: relative; }
    .charts-section .time-chart--invalid-dates {
      color: red;
      display: none; }
    .charts-section .time-chart--loading {
      text-align: center;
      display: none; }
  .charts-section .channels-chart {
    width: 100%; }
    .charts-section .channels-chart__header {
      display: flex;
      flex-wrap: wrap;
      gap: .85rem;
      justify-content: space-between; }
    .charts-section .channels-chart .participant-filter {
      display: flex;
      gap: .3rem; }
      .charts-section .channels-chart .participant-filter__buttons {
        display: flex;
        gap: .5rem; }
      .charts-section .channels-chart .participant-filter__button {
        border: 1px solid #777777;
        border-radius: 0.3125rem;
        color: #777777;
        background-color: white;
        line-height: 1rem;
        text-transform: capitalize;
        padding: 0 0.5rem;
        margin-right: 0.5625rem;
        text-transform: lowercase;
        height: 1.82rem;
        font-weight: 400;
        font-size: 1rem; }
        .charts-section .channels-chart .participant-filter__button--selected {
          background-color: #777777;
          color: white; }
      .charts-section .channels-chart .participant-filter__button:focus {
        box-shadow: unset; }
      .charts-section .channels-chart .participant-filter__button:active {
        box-shadow: unset; }
  @media (max-width: 1200px) {
    .charts-section {
      flex-wrap: wrap; }
      .charts-section .time-chart,
      .charts-section .channels-chart {
        width: 100% !important; } }
.report-container .conversation-dashboard .voting-section__title {
  align-items: center;
  height: 3.875rem;
  margin-bottom: 0.75rem; }
  .report-container .conversation-dashboard .voting-section__title h2 {
    margin: unset; }

.report-container .conversation-dashboard .voting-section__container {
  margin-bottom: 2.19rem; }

.report-container .conversation-dashboard .dashboard-card {
  flex: 22.5%;
  border: 2px solid #30BFD3;
  border-radius: 0.3125rem;
  padding: 1.1875rem 1.5625rem 1.1875rem 1.5625rem; }
  .report-container .conversation-dashboard .dashboard-card--fit-content {
    flex: inherit !important; }
  .report-container .conversation-dashboard .dashboard-card__container {
    gap: 1.25rem;
    flex-wrap: wrap; }
  .report-container .conversation-dashboard .dashboard-card__title {
    font-weight: bold;
    font-size: 1em;
    color: #052B47; }
  .report-container .conversation-dashboard .dashboard-card__value {
    font-weight: 400;
    font-size: 1.5em;
    color: #30BFD3; }
    .report-container .conversation-dashboard .dashboard-card__value--white {
      color: white; }
  .report-container .conversation-dashboard .dashboard-card--blue {
    background-color: #30BFD3; }
    .report-container .conversation-dashboard .dashboard-card--blue .dashboard-card__value {
      color: white; }

.report-container .conversation-dashboard .comments-section {
  margin-bottom: 2.19rem; }
  .report-container .conversation-dashboard .comments-section__title {
    margin-bottom: 2.56rem; }

.clusters-section .content-grid > *, .clusters-section .tools > * {
  grid-column: 2/3; }

.clusters-section__container {
  display: flex;
  flex-wrap: wrap;
  padding: 0 0 3rem 0;
  justify-content: center; }
  .clusters-section__container--wide-center {
    align-items: center;
    padding: 3rem 0;
    justify-content: center !important; }

.report-container .conversation-dashboard .clusters-section, .clusters-section {
  background-color: #C4F2F4;
  margin-bottom: 5rem;
  grid-column: 1/4; }
  .report-container .conversation-dashboard .clusters-section__title div span, .clusters-section__title div span {
    text-align: left;
    font-family: "Work Sans", "sans-serif";
    font-size: 1.5rem; }
  .report-container .conversation-dashboard .clusters-section__chart, .clusters-section__chart {
    text-align: center; }
  .report-container .conversation-dashboard .clusters-section__detail h2, .report-container .conversation-dashboard .clusters-section__detail p, .clusters-section__detail h2, .clusters-section__detail p {
    color: #000; }
  .report-container .conversation-dashboard .clusters-section__detail p, .report-container .conversation-dashboard .clusters-section__detail button, .clusters-section__detail p, .clusters-section__detail button {
    font-family: "Work Sans"; }
  .report-container .conversation-dashboard .clusters-section__detail button, .clusters-section__detail button {
    border-radius: 0.5rem;
    background-color: #000;
    color: white;
    height: 2.625rem;
    text-transform: capitalize;
    font-size: 1rem; }
  .report-container .conversation-dashboard .clusters-section__detail--filled, .clusters-section__detail--filled {
    max-width: 20rem; }
    .report-container .conversation-dashboard .clusters-section__detail--filled h2, .clusters-section__detail--filled h2 {
      font-size: 1.5em;
      margin-top: unset;
      text-transform: capitalize; }
  .report-container .conversation-dashboard .clusters-section__detail--null, .clusters-section__detail--null {
    font-size: 2.25rem; }
  .report-container .conversation-dashboard .clusters-section__detail--no-margin, .clusters-section__detail--no-margin {
    margin-bottom: unset !important; }
  .report-container .conversation-dashboard .clusters-section__detail--padding, .clusters-section__detail--padding {
    justify-content: unset; }
  .report-container .conversation-dashboard .clusters-section__comment-percentage, .clusters-section__comment-percentage {
    font-size: 2.25em; }
  .report-container .conversation-dashboard .clusters-section__main-comment, .clusters-section__main-comment {
    font-size: 1em;
    margin-bottom: 1rem; }

.scatter-section {
  display: grid;
  grid-template-columns: 30% auto auto auto;
  grid-template-rows: 25rem; }
  @media (max-width: 414px) {
    .scatter-section {
      grid-template-columns: auto;
      grid-template-rows: auto auto; } }
  .scatter-section__filters {
    grid-column: 1 / 2;
    grid-row: 1;
    display: block !important; }
    @media (max-width: 414px) {
      .scatter-section__filters {
        grid-column: 1;
        grid-row: 1; } }
  .scatter-section__chart {
    grid-column: 2 / 5;
    grid-row: 1;
    height: 400px; }
    @media (max-width: 414px) {
      .scatter-section__chart {
        grid-column: 1;
        grid-row: 2; } }
.report-container .conversation-dashboard .scatter-section {
  gap: 2.5rem;
  margin-bottom: 3rem; }
  .report-container .conversation-dashboard .scatter-section__title {
    display: flex;
    flex-wrap: wrap;
    text-align: left; }
    .report-container .conversation-dashboard .scatter-section__title h2 {
      width: 100%; }
    .report-container .conversation-dashboard .scatter-section__title p {
      color: #000;
      font-family: "Work Sans";
      font-size: 1rem; }
  .report-container .conversation-dashboard .scatter-section__container {
    max-width: 37.5rem;
    min-width: 17.5rem;
    width: 100%;
    height: 25rem; }

.report-container .conversation-dashboard .scatter-filter__button--inactive {
  color: #777777 !important;
  background-color: white !important; }

.report-container .conversation-dashboard .scatter-filter__filter-by-text {
  font-size: 1rem;
  color: #777777; }

.report-container .conversation-dashboard .scatter-filter button {
  color: white;
  background-color: #777777;
  border: 1px solid #777777;
  border-radius: 0.5rem;
  line-height: 1rem;
  padding: 0 0.5rem;
  margin-right: 0.5625rem;
  text-transform: lowercase;
  height: 1.82rem;
  font-size: 1rem; }

.report-container .conversation-dashboard .scatter-filter__categories {
  display: flex;
  max-width: 14.375rem;
  flex-wrap: wrap;
  margin: 1rem 0 0 0; }

.report-container .conversation-dashboard .scatter-filter__no-group-text {
  background-color: #797979;
  width: 13.4375rem;
  border-radius: 0.5rem;
  padding: 0.375rem 0.5625rem 0.375rem 1rem; }
  .report-container .conversation-dashboard .scatter-filter__no-group-text span {
    font-weight: 600;
    color: white;
    font-size: 1.25rem;
    font-family: "Work Sans"; }

.report-container .conversation-dashboard .words-cloud-section__title {
  margin-bottom: 1.75rem; }

.report-container .conversation-dashboard .words-cloud-section__container {
  box-sizing: border-box;
  border: 1px solid #bababa;
  width: 100%;
  height: 24.25rem;
  margin-bottom: 2.625rem;
  position: relative; }
  .report-container .conversation-dashboard .words-cloud-section__container p {
    position: absolute;
    left: 1rem;
    top: 1rem;
    font-size: 1.125rem;
    line-height: 1.3125rem; }

.report-container .conversation-dashboard__button {
  margin-left: auto; }
  .report-container .conversation-dashboard__button a {
    border-radius: 0.313rem;
    text-transform: capitalize;
    font-size: 1rem;
    padding: .2rem .8rem;
    box-sizing: content-box; }

.report-container .conversation-dashboard .title, .report-container .conversation-dashboard .intro-paragraph h1, .intro-paragraph .report-container .conversation-dashboard h1, .report-container .conversation-dashboard .intro-paragraph h2, .intro-paragraph .report-container .conversation-dashboard h2, .report-container .conversation-dashboard .intro-paragraph h3, .intro-paragraph .report-container .conversation-dashboard h3, .report-container .conversation-dashboard .intro-paragraph h4, .intro-paragraph .report-container .conversation-dashboard h4, .report-container .conversation-dashboard .intro-paragraph h5, .intro-paragraph .report-container .conversation-dashboard h5, .report-container .conversation-dashboard .intro-paragraph h6, .intro-paragraph .report-container .conversation-dashboard h6, .report-container .conversation-dashboard .intro-paragraph .h1, .intro-paragraph .report-container .conversation-dashboard .h1, .report-container .conversation-dashboard .intro-paragraph .h2, .intro-paragraph .report-container .conversation-dashboard .h2, .report-container .conversation-dashboard .intro-paragraph .h3, .intro-paragraph .report-container .conversation-dashboard .h3, .report-container .conversation-dashboard .intro-paragraph .h4, .intro-paragraph .report-container .conversation-dashboard .h4, .report-container .conversation-dashboard .intro-paragraph .h5, .intro-paragraph .report-container .conversation-dashboard .h5, .report-container .conversation-dashboard .intro-paragraph .h6, .intro-paragraph .report-container .conversation-dashboard .h6 {
  align-items: baseline; }
  .report-container .conversation-dashboard .title h2, .report-container .conversation-dashboard .intro-paragraph h1 h2, .intro-paragraph .report-container .conversation-dashboard h1 h2, .report-container .conversation-dashboard .intro-paragraph h2 h2, .intro-paragraph .report-container .conversation-dashboard h2 h2, .report-container .conversation-dashboard .intro-paragraph h3 h2, .intro-paragraph .report-container .conversation-dashboard h3 h2, .report-container .conversation-dashboard .intro-paragraph h4 h2, .intro-paragraph .report-container .conversation-dashboard h4 h2, .report-container .conversation-dashboard .intro-paragraph h5 h2, .intro-paragraph .report-container .conversation-dashboard h5 h2, .report-container .conversation-dashboard .intro-paragraph h6 h2, .intro-paragraph .report-container .conversation-dashboard h6 h2, .report-container .conversation-dashboard .intro-paragraph .h1 h2, .intro-paragraph .report-container .conversation-dashboard .h1 h2, .report-container .conversation-dashboard .intro-paragraph .h2 h2, .intro-paragraph .report-container .conversation-dashboard .h2 h2, .report-container .conversation-dashboard .intro-paragraph .h3 h2, .intro-paragraph .report-container .conversation-dashboard .h3 h2, .report-container .conversation-dashboard .intro-paragraph .h4 h2, .intro-paragraph .report-container .conversation-dashboard .h4 h2, .report-container .conversation-dashboard .intro-paragraph .h5 h2, .intro-paragraph .report-container .conversation-dashboard .h5 h2, .report-container .conversation-dashboard .intro-paragraph .h6 h2, .intro-paragraph .report-container .conversation-dashboard .h6 h2 {
    margin: unset; }
  .report-container .conversation-dashboard .title span, .report-container .conversation-dashboard .intro-paragraph h1 span, .intro-paragraph .report-container .conversation-dashboard h1 span, .report-container .conversation-dashboard .intro-paragraph h2 span, .intro-paragraph .report-container .conversation-dashboard h2 span, .report-container .conversation-dashboard .intro-paragraph h3 span, .intro-paragraph .report-container .conversation-dashboard h3 span, .report-container .conversation-dashboard .intro-paragraph h4 span, .intro-paragraph .report-container .conversation-dashboard h4 span, .report-container .conversation-dashboard .intro-paragraph h5 span, .intro-paragraph .report-container .conversation-dashboard h5 span, .report-container .conversation-dashboard .intro-paragraph h6 span, .intro-paragraph .report-container .conversation-dashboard h6 span, .report-container .conversation-dashboard .intro-paragraph .h1 span, .intro-paragraph .report-container .conversation-dashboard .h1 span, .report-container .conversation-dashboard .intro-paragraph .h2 span, .intro-paragraph .report-container .conversation-dashboard .h2 span, .report-container .conversation-dashboard .intro-paragraph .h3 span, .intro-paragraph .report-container .conversation-dashboard .h3 span, .report-container .conversation-dashboard .intro-paragraph .h4 span, .intro-paragraph .report-container .conversation-dashboard .h4 span, .report-container .conversation-dashboard .intro-paragraph .h5 span, .intro-paragraph .report-container .conversation-dashboard .h5 span, .report-container .conversation-dashboard .intro-paragraph .h6 span, .intro-paragraph .report-container .conversation-dashboard .h6 span {
    font-family: "Work Sans"; }

.report-container .conversation-dashboard .flex-align {
  gap: 1.25rem;
  align-items: center; }

.report-container .conversation-dashboard .voting-modal-report {
  display: flex;
  align-items: center; }
  .report-container .conversation-dashboard .voting-modal-report i {
    font-size: 1.125rem;
    color: #FF3D72; }
  .report-container .conversation-dashboard .voting-modal-report__card--hide {
    display: none !important; }
  .report-container .conversation-dashboard .voting-modal-report__card {
    display: flex;
    align-items: center;
    width: fit-content; }
  .report-container .conversation-dashboard .voting-modal-report__content {
    display: flex;
    flex-direction: column;
    background-color: #FF3D72;
    color: white;
    border-radius: 0.32rem;
    padding-right: 0.75rem;
    padding-left: 0.75rem;
    align-items: center;
    justify-content: center;
    height: 3.875rem; }
    .report-container .conversation-dashboard .voting-modal-report__content span {
      font-size: 1rem; }
    .report-container .conversation-dashboard .voting-modal-report__content a {
      font-weight: bold;
      color: white;
      text-decoration: underline; }
  .report-container .conversation-dashboard .voting-modal-report__triangle {
    width: 0;
    height: 0;
    border: 0.46875rem solid transparent;
    border-top: 0;
    border-bottom: 0.9375rem solid #FF3D72;
    transform: rotate(-90deg); }

@media (max-width: 375px) {
  .time-chart,
  .channels-chart {
    width: 100vw !important;
    min-width: unset !important; }
  #channel-chart {
    width: 16.5625rem !important; } }

@media (max-width: 559px) {
  .report-container .conversation-dashboard .report-card {
    padding: 1.875rem 0 1.5rem 0;
    grid-column: 2/3;
    border-radius: 0px; }
    .report-container .conversation-dashboard .report-card--external {
      background-color: #30BFD3;
      grid-column: 1/4;
      display: grid;
      grid-template-columns: 3% auto 3%; }
  .report-container .conversation-dashboard .voting-section .dashboard-card {
    flex: 45%; }
  .report-container .conversation-dashboard .voting-section__container {
    grid-column: 1/4;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
  .report-container .conversation-dashboard .comments-section {
    grid-column: 1/4;
    margin-right: 0.9375rem;
    margin-left: 0.9375rem; }
    .report-container .conversation-dashboard .comments-section__title {
      margin-top: 1.56rem; }
  .report-container .conversation-dashboard .clusters-section__container {
    padding: unset !important;
    max-width: unset !important; }
  .report-container .conversation-dashboard .clusters-section__title {
    margin-top: 1.76rem; }
    .report-container .conversation-dashboard .clusters-section__title div {
      max-width: unset !important; }
    .report-container .conversation-dashboard .clusters-section__title span {
      width: 100% !important;
      text-align: left;
      font-family: "Work Sans", "sans-serif";
      font-size: 1.5rem; }
  .report-container .conversation-dashboard .clusters-section__detail--filled {
    margin-bottom: 2rem;
    max-width: 100%;
    width: 100%; }
  .report-container .conversation-dashboard .clusters-section__chart {
    margin: .1rem 0 .1rem 0;
    width: 18rem !important; }
  .report-container .conversation-dashboard .clusters-section__comment-percentage {
    font-size: 1.5rem; }
  .report-container .conversation-dashboard .clusters-section__main-comment,
  .report-container .conversation-dashboard .clusters-section .helptext {
    font-size: 0.875rem;
    margin-bottom: 2rem; }
  .report-container .conversation-dashboard .scatter-section__title {
    max-width: 100%; }
    .report-container .conversation-dashboard .scatter-section__title h2 {
      margin: 0 0 1.75rem 0; }
  .report-container .conversation-dashboard .scatter-section .scatter-filter__categories {
    max-width: unset !important;
    width: 100% !important; }
  .report-container .conversation-dashboard .scatter-section .scatter-filter__button {
    font-size: 0.8rem !important; }
  .report-container .conversation-dashboard .words-cloud-section__title {
    margin-top: unset; }
  .conversation-dashboard .flex-align {
    flex-direction: column;
    align-items: flex-start !important;
    gap: 0px !important; }
  .conversation-dashboard__button a {
    float: right; }
  .report-container .conversation-dashboard.title, .report-container .intro-paragraph h1.conversation-dashboard, .intro-paragraph .report-container h1.conversation-dashboard, .report-container .intro-paragraph h2.conversation-dashboard, .intro-paragraph .report-container h2.conversation-dashboard, .report-container .intro-paragraph h3.conversation-dashboard, .intro-paragraph .report-container h3.conversation-dashboard, .report-container .intro-paragraph h4.conversation-dashboard, .intro-paragraph .report-container h4.conversation-dashboard, .report-container .intro-paragraph h5.conversation-dashboard, .intro-paragraph .report-container h5.conversation-dashboard, .report-container .intro-paragraph h6.conversation-dashboard, .intro-paragraph .report-container h6.conversation-dashboard, .report-container .intro-paragraph .conversation-dashboard.h1, .intro-paragraph .report-container .conversation-dashboard.h1, .report-container .intro-paragraph .conversation-dashboard.h2, .intro-paragraph .report-container .conversation-dashboard.h2, .report-container .intro-paragraph .conversation-dashboard.h3, .intro-paragraph .report-container .conversation-dashboard.h3, .report-container .intro-paragraph .conversation-dashboard.h4, .intro-paragraph .report-container .conversation-dashboard.h4, .report-container .intro-paragraph .conversation-dashboard.h5, .intro-paragraph .report-container .conversation-dashboard.h5, .report-container .intro-paragraph .conversation-dashboard.h6, .intro-paragraph .report-container .conversation-dashboard.h6 {
    width: 90% !important;
    max-width: unset !important; } }

.export-button {
  color: #552F91; }
  .export-button:hover {
    color: #552F91 !important; }
  .export-button__title {
    text-transform: uppercase;
    font-weight: 600;
    font-size: 1em; }
    @media (max-width: 710px) {
      .export-button__title {
        display: none; } }
  .export-button__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative; }
  .export-button__card {
    position: absolute;
    right: 0;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: end; }
    .export-button__card a {
      color: white;
      text-decoration: underline;
      font-weight: bold;
      text-transform: uppercase; }
    .export-button__card--triangle {
      width: 0;
      height: 0;
      border: 0.375rem solid transparent;
      border-top: 0;
      border-bottom: 0.75rem solid #552F91;
      margin-right: 0.625rem; }
  .export-button__card-content {
    display: flex;
    flex-direction: column;
    text-align: center;
    width: fit-content;
    padding: 0.75rem;
    background-color: #552F91;
    border-radius: 0.3125rem;
    line-height: 1.17rem;
    color: white; }
  .export-button i {
    font-size: 1.16em; }

.pagination {
  display: flex;
  gap: 4.313rem;
  float: right;
  align-items: center;
  margin-top: 2.289rem; }
  @media only screen and (max-width: 900px) {
    .pagination {
      flex-direction: column-reverse;
      float: none;
      gap: 0.719rem;
      background-color: #C4F2F4;
      padding: 1.094rem 0;
      margin-top: 0; } }
  .pagination__container {
    display: flex;
    align-items: center; }
    .pagination__container-page {
      color: #052b47;
      float: left;
      padding: 0.375rem 0.75rem;
      text-decoration: none;
      border: 1px solid #052b47;
      font-size: 0.875em;
      font-weight: 500; }
      @media only screen and (max-width: 900px) {
        .pagination__container-page {
          border: none;
          display: flex;
          align-items: center;
          justify-content: center;
          width: 23.8px;
          height: 23.8px; } }
      .pagination__container-page--current {
        background-color: #052b47;
        color: white;
        border: 1px solid #052b47; }
        @media only screen and (max-width: 900px) {
          .pagination__container-page--current {
            border-radius: 50%; } }
      @media only screen and (max-width: 900px) {
        .pagination__container-page--clear-elipse {
          padding-left: 0;
          padding-right: 0;
          width: unset; } }
    @media only screen and (max-width: 900px) {
      .pagination__container-index {
        display: flex;
        gap: 1.5rem; } }
    .pagination__container-arrow--first {
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px; }
      @media only screen and (max-width: 900px) {
        .pagination__container-arrow--first {
          padding-left: 0;
          padding-right: 0.844rem; } }
    .pagination__container-arrow--last {
      border-top-right-radius: 5px;
      border-bottom-right-radius: 5px; }
      @media only screen and (max-width: 900px) {
        .pagination__container-arrow--last {
          padding-right: 0;
          padding-left: 0.844rem; } }
  .pagination__info span {
    color: #000;
    font-size: 0.75em; }

::-webkit-calendar-picker-indicator {
  display: none;
  -webkit-appearance: none; }

.scroll-top {
  display: none; }
  @media only screen and (max-width: 900px) {
    .scroll-top {
      display: flex;
      background-color: #052B47;
      padding: 2.313rem 0 2.688rem;
      justify-content: center;
      align-items: center;
      gap: 0.813rem; } }
  .scroll-top i {
    color: white;
    margin: 0; }
  .scroll-top a {
    color: white;
    text-transform: uppercase;
    font-size: 12px;
    font-weight: 600; }
  .scroll-top--full-width {
    grid-column: 1 / 4; }

#report-filters-form {
  margin: unset;
  position: relative; }

#datatables-container {
  overflow-y: scroll;
  max-height: calc(100vh - 290px); }

#report-table-container::-webkit-scrollbar {
  display: none; }

.report__comments--hide, .report__users--hide {
  display: none; }

.report__comments table thead, .report__users table thead {
  position: sticky;
  top: 0; }

.report__comments table thead tr, .report__users table thead tr {
  background-color: #000;
  color: white; }

.report__comments table thead th, .report__users table thead th {
  padding: 1rem !important;
  text-transform: uppercase; }
  .report__comments table thead th i, .report__users table thead th i {
    font-size: 1.2rem; }

.report__comments table tbody tr:nth-child(odd) td:first-child, .report__users table tbody tr:nth-child(odd) td:first-child {
  background-color: #DDD5E9; }

.report__comment div:nth-child(2),
.report__comment div:nth-child(3),
.report__comment div:nth-child(4), .report__user div:nth-child(2),
.report__user div:nth-child(3),
.report__user div:nth-child(4) {
  font-size: .9em; }

.report__comment div:nth-child(4), .report__user div:nth-child(4) {
  color: #552F91;
  font-weight: 600; }

.report__comment, .report__user {
  padding: 1rem;
  box-sizing: content-box; }
  .report__comment div:first-child, .report__user div:first-child {
    color: #000;
    margin-bottom: 1rem; }
  .report__comment div:nth-child(2), .report__user div:nth-child(2) {
    color: #552F91;
    font-weight: 600; }

.report__comment div:nth-child(3) {
  color: #552F91;
  font-weight: 600; }

.report__comment-detail {
  display: flex;
  align-items: flex-start;
  gap: 1.375rem;
  justify-content: space-between; }
  .report__comment-detail img {
    background-color: #30BFD3;
    border-radius: 50%;
    padding: 0.425rem 0.3rem; }

.report__user div:nth-child(3) {
  color: #552F91;
  font-weight: 600; }

.report__percentages {
  font-weight: bold;
  color: #000; }

.report__filters {
  background-color: #E5E5E5;
  padding: 1rem 1.5rem;
  box-sizing: content-box; }
  .report__filters input, .report__filters select, .report__filters .ordering span, .report__filters .clusters-container span, .report__filters .clusters {
    font-size: 0.75em; }
  .report__filters-inputs {
    gap: 1rem;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media (max-width: 1200px) {
      .report__filters-inputs {
        flex-wrap: wrap; } }
  .report__filters .search {
    max-width: 40rem !important;
    width: 100%; }
    .report__filters .search input {
      margin: unset;
      background-image: url("/static/img/icons/gray-search.svg");
      background-size: 1.4rem;
      background-position: .625rem;
      padding: 0 0 0 2.2rem;
      border-color: #E5E5E5 !important;
      border-radius: 10px !important;
      max-width: 40rem !important;
      width: 100%; }
    @media (max-width: 1200px) {
      .report__filters .search {
        max-width: unset !important; }
        .report__filters .search input {
          max-width: unset !important; } }
  .report__filters .ordering span,
  .report__filters .clusters-container span {
    cursor: pointer;
    white-space: nowrap; }
  .report__filters .ordering span, .report__filters .ordering i,
  .report__filters .clusters-container span,
  .report__filters .clusters-container i {
    text-transform: uppercase;
    color: #000;
    font-weight: 600; }
  .report__filters .ordering {
    display: flex;
    align-items: baseline;
    gap: 1rem; }
    .report__filters .ordering select {
      cursor: pointer;
      border: transparent;
      border-radius: .5rem;
      margin: unset;
      min-width: 15em;
      background-color: white;
      padding-right: 1rem;
      border-right: 8px solid transparent; }
      @media (max-width: 500px) {
        .report__filters .ordering select {
          min-width: unset; } }
  .report__filters .clusters-container {
    display: flex; }
  .report__filters .clusters {
    gap: 1rem;
    display: flex;
    flex-wrap: wrap;
    margin-top: 1rem; }
    .report__filters .clusters .cluster {
      padding: .5rem;
      color: #777777;
      background-color: white;
      font-weight: 600;
      text-transform: uppercase;
      border-radius: .5rem;
      cursor: pointer;
      letter-spacing: 0; }
      .report__filters .clusters .cluster--active {
        background-color: #552F91;
        color: white; }
    .report__filters .clusters select {
      display: none; }
  .report__filters .sorting {
    display: flex;
    align-items: center;
    font-size: 0.75em; }
    .report__filters .sorting #sort-up-icon {
      top: 0.35rem;
      right: -0.05rem; }
    .report__filters .sorting #sort-down-icon {
      margin-left: 0; }
    .report__filters .sorting .icon--blue {
      color: #052b47 !important; }

.environment {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
  margin-bottom: 1.7em; }
  .environment__title--align {
    text-align: start; }

.environment-card {
  border: 2px solid #30BFD3;
  border-radius: 5px;
  width: 261px;
  height: 214px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-align: center;
  align-items: center; }
  .environment-card__title {
    text-decoration-line: underline;
    font-size: 1.25rem;
    font-weight: 700;
    line-height: 1.4675rem;
    margin-bottom: 17px; }
  .environment-card__owner {
    width: 90%;
    text-overflow: ellipsis;
    white-space: nowrap;
    overflow: hidden;
    font-weight: bold; }
  .environment-card__owner, .environment-card__conversation-count {
    color: #000;
    margin-bottom: unset; }

.environment-card--large {
  border: 2px solid #30BFD3;
  border-radius: 5px;
  width: 416px;
  height: 119px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding-left: 26px; }

.environment-statistics {
  margin-bottom: 4.75em; }
  .environment-statistics__cards {
    display: flex;
    gap: 1.7em;
    flex-wrap: wrap;
    margin-top: 36px; }

.recent-boards__filter {
  display: flex;
  margin-bottom: 36px;
  margin-top: 24px; }

.recent-boards__input {
  z-index: unset !important; }

.recent-boards__text {
  display: flex;
  flex-direction: column;
  text-align: start; }
  .recent-boards__text span {
    color: #000; }
  .recent-boards__text span:first-child {
    font-size: 0.875rem;
    font-weight: bold;
    line-height: 0.9025rem; }
  .recent-boards__text span:last-child {
    font-size: 0.75rem;
    line-height: 0.88rem; }

.advanced-search__input--search {
  flex-grow: 1; }
  .advanced-search__input--search input {
    background: white;
    box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
    border-radius: 5px !important;
    border-color: white !important;
    height: 36px !important;
    max-width: 100%; }

.advanced-search__select {
  margin-right: 23px; }

.advanced-search__title {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  margin-bottom: 22px; }
  .advanced-search__title h1, .advanced-search__title .filter {
    margin-bottom: 0; }

.search-table {
  margin-bottom: 0rem; }
  .search-table__container {
    min-height: 500px; }
  .search-table__header {
    height: 44px; }
    .search-table__header th {
      background: #30BFD3 !important;
      padding: 0 1.5rem; }
    .search-table__header th:first-child {
      border-top-left-radius: 5px;
      border-bottom-left-radius: 5px; }
    .search-table__header th:last-child {
      border-bottom-right-radius: 5px;
      border-top-right-radius: 5px; }
  .search-table__row {
    background: white !important; }
    .search-table__row td {
      border-bottom: 1px solid #E5E5E5;
      font-size: 1.25rem;
      height: 60px;
      padding: 0 1.5rem; }
    .search-table__row a {
      text-decoration: underline;
      color: #000000; }
    .search-table__row a:hover {
      text-decoration: inherit; }
  .search-table__title {
    font-size: 1.125rem;
    color: white;
    font-weight: 700;
    line-height: 1.3125rem; }
    .search-table__title--width-sm {
      width: 100px; }
    .search-table__title--width-md {
      width: 200px; }
  .search-table__text--align {
    text-align: left; }
  .search-table__text--ellipse {
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    line-clamp: 1;
    -webkit-box-orient: vertical; }
  .search-table-favorite-count {
    font-weight: unset; }

.conversation-option--hide {
  display: none; }

.button--favorite,
.button--remove-favorite {
  float: right; }
  .button--favorite i,
  .button--remove-favorite i {
    margin-left: 0; }

.button--remove-favorite i {
  color: #30bfd3; }

.button--remove-favorite .button, .button--remove-favorite .welcome-page__buttons a, .welcome-page__buttons .button--remove-favorite a {
  background-color: white;
  color: #30bfd3; }

.button--remove-favorite a:hover > i {
  color: white; }

.favorite-boards__container {
  display: grid;
  grid-gap: 1.25rem;
  grid-template-rows: repeat(2, 1fr);
  overflow-x: scroll;
  grid-auto-flow: column;
  padding-bottom: 2rem; }

.favorite-boards__count {
  font-family: 'Work Sans'; }

@media (min-width: 1280px) {
  .environment {
    min-width: 840px; } }

@media (max-width: 530px) {
  .environment-card--large {
    width: 260px; }
  .favorite-boards__container {
    grid-template-rows: repeat(3, 1fr); } }

/*
 COLLAPSIBLE LIST
 ======================================================================== */
:root {
  --dt-row-hover: 48, 191, 211;
  --dt-column-ordering: 48, 191, 211; }

div.dt-container {
  margin-top: -.3rem; }

table.dataTable {
  width: 100% !important; }

#hr-divider {
  border: 1px solid #bababa;
  margin: 1.4rem 0 1.6rem; }

#cluster-filter {
  display: grid;
  grid-template-columns: 2.313rem auto;
  grid-gap: 1rem;
  margin-bottom: 0; }
  #cluster-filter > * {
    overflow: hidden; }

.form-elements {
  display: flex;
  gap: 2.312rem;
  text-align: left; }
  .form-elements > * {
    width: 50%; }

.form-cluster-description form {
  display: grid;
  grid-gap: 1rem;
  grid-template-rows: 1.187rem auto 1.187rem 1fr;
  margin: 0; }

.form-cluster-description label {
  text-indent: unset;
  font-weight: bold;
  font-size: 1rem;
  line-height: 1.188rem;
  margin-bottom: 0; }

.form-cluster-description ul.errorlist {
  position: relative;
  bottom: 0.813rem;
  color: #FF0000;
  font-size: 0.625rem;
  font-weight: 400;
  font-style: italic;
  list-style: none;
  margin: 0;
  text-align: right; }

.form-cluster-description input, .form-cluster-description textarea {
  border: 1px solid #72CAD7;
  box-sizing: border-box;
  border-radius: 0.313rem;
  margin: 0 !important;
  max-width: unset; }

.form-cluster-description textarea {
  height: 100%; }

.form-cluster-description #cluster-name::placeholder, .form-cluster-description #cluster-description::placeholder {
  color: #777777;
  font-size: 0.875rem; }

.form-cluster-personas {
  position: relative;
  display: grid;
  grid-row-gap: 1rem;
  grid-template-rows: 1.187rem 11.5rem auto auto auto; }
  .form-cluster-personas #stereotypes_label {
    font-weight: bold;
    font-size: 1rem;
    line-height: 1.188rem;
    text-indent: unset; }
    .form-cluster-personas #stereotypes_label img {
      height: 13px;
      align-self: center; }
  .form-cluster-personas .disable-tooltip {
    display: none !important; }
  .form-cluster-personas .tooltip-persona {
    width: fit-content;
    height: 1.375rem;
    background: #FFCEDB;
    padding: 0.25rem 0.375rem;
    display: inline-block; }
    .form-cluster-personas .tooltip-persona p {
      font-weight: 600;
      font-size: 0.625rem;
      line-height: 0.75rem;
      color: #000000;
      text-transform: initial; }
  .form-cluster-personas .new-persona-shortcut {
    display: flex;
    gap: 1rem; }
    .form-cluster-personas .new-persona-shortcut #new_persona_check {
      z-index: 0;
      position: absolute;
      left: 0.375rem; }
    .form-cluster-personas .new-persona-shortcut input[type='checkbox']::before {
      height: 0.9em;
      bottom: 0; }
  .form-cluster-personas #new-persona-text {
    display: inline-grid;
    position: relative;
    left: 2.25rem;
    bottom: 0.313rem; }
    .form-cluster-personas #new-persona-text .label-new-persona {
      margin-bottom: 0;
      font-weight: bold;
      font-size: 0.875rem;
      line-height: 1rem;
      color: #000000;
      text-indent: unset;
      text-transform: none; }
    .form-cluster-personas #new-persona-text #text-new-persona {
      font-size: 0.875rem;
      text-align: left; }
  .form-cluster-personas .btn-container {
    display: grid;
    justify-content: flex-end; }

.hint {
  font-style: italic;
  font-size: 0.875rem;
  line-height: 1rem;
  color: #777777;
  text-align: left; }

.title-cluster {
  font-size: 1.5rem;
  line-height: 1.813rem;
  margin: 1.8rem 0 .8rem;
  text-align: left; }

.personas-list select#id_stereotypes {
  padding: .3rem .5rem !important;
  border: 1px solid #72CAD7;
  box-sizing: border-box;
  height: 100%;
  max-width: unset;
  border-radius: 0.313rem;
  scrollbar-width: auto;
  scrollbar-color: #72CAD7 transparent; }
  .personas-list select#id_stereotypes option {
    margin: 0.438rem 0;
    padding: .9rem 0.25rem;
    font-weight: bold;
    color: #777777; }

.personas-list select {
  margin: 0; }

.personas-list select::-webkit-scrollbar {
  width: 0.875rem; }

.personas-list select::-webkit-scrollbar-track {
  background-color: white; }

.personas-list select::-webkit-scrollbar-thumb {
  background-color: #72CAD7;
  border-radius: 0.625rem;
  border: 5px solid white; }

#cluster-select {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  max-height: 6.62rem;
  overflow-y: auto;
  padding-bottom: 0.188rem;
  padding-right: .5rem;
  text-align: left;
  scrollbar-width: auto;
  scrollbar-color: #72CAD7 transparent; }

#cluster-select::-moz-focus-inner {
  border: 0; }

#cluster-select::-webkit-scrollbar {
  width: 0.875rem; }

#cluster-select::-webkit-scrollbar-track {
  background-color: white; }

#cluster-select::-webkit-scrollbar-thumb {
  background-color: #72CAD7;
  border-radius: 0.625rem;
  border: 5px solid white; }

#new-button {
  display: flex;
  place-items: center;
  justify-content: center;
  color: white;
  background: #FF3D72;
  border: 3px solid #FF3D72;
  box-sizing: border-box; }

.options-groups {
  width: fit-content;
  border: 3px solid #bababa;
  color: #bababa;
  background-color: white;
  text-transform: lowercase;
  padding: 0 0.9rem;
  display: flex;
  place-items: center; }

.select-button {
  height: 2.313rem;
  background-color: #72CAD7;
  color: white;
  border: 3px solid #72CAD7; }

#new-button {
  width: 100%;
  padding: 0; }

#new-button, .options-groups {
  font-size: 1.25rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 0;
  cursor: pointer;
  border-radius: 0.313rem; }

.no-cluster {
  background-color: #bababa;
  color: white;
  cursor: default; }

.close-modal-btn {
  display: none; }

.edit-buttons {
  display: flex;
  gap: 1.875rem;
  justify-content: center; }
  .edit-buttons input {
    line-height: 0; }
  .edit-buttons #save-edit {
    display: flex;
    place-items: center;
    justify-content: center;
    gap: .5rem;
    border-radius: 1.5rem;
    font-size: 0.875rem;
    padding: 1.37rem 1.54rem;
    width: min-content;
    background-color: #052B47;
    border: 1px solid #052B47;
    margin-top: 1rem; }
    .edit-buttons #save-edit i {
      font-size: 0.875rem;
      margin: 0; }
  .edit-buttons .delete-group {
    display: flex;
    place-items: center;
    justify-content: center;
    background: #C70000;
    border: 1px solid #C70000;
    border-radius: 1.563rem;
    font-size: 0.875rem;
    padding: 1.37rem .9rem;
    line-height: 1rem;
    margin: 0;
    margin-top: 1rem; }
    .edit-buttons .delete-group i {
      margin: 0.313rem; }
  .edit-buttons .divider-mobile {
    display: none; }

.manage-personas {
  display: flex;
  place-items: center;
  justify-content: center;
  font-size: 0.875rem;
  padding: 1.37rem 1.063rem;
  width: 13.875rem;
  background: #052B47;
  border: 1px solid #052B47;
  border-radius: 1.563rem;
  margin: 0;
  margin-top: 1rem; }
  .manage-personas i {
    transform: rotate(45deg);
    margin: 0.5em; }

.manage-personas:hover {
  background-color: #052B47 !important; }

.manage-personas-container {
  position: relative;
  bottom: 4.625rem;
  width: fit-content; }

.create-group-btn {
  display: flex;
  place-items: center;
  justify-content: center;
  gap: .5rem;
  border-radius: 1.5rem;
  font-size: 0.875rem;
  padding: 1.37rem 1.54rem;
  width: min-content;
  background-color: #052B47;
  border: 1px solid #052B47; }
  .create-group-btn i {
    font-size: 0.875rem;
    margin: 0; }

.disable-div {
  color: #777777 !important; }

.save-edits-btn {
  background-color: #777777 !important;
  border: 1px solid #777777 !important; }

.form-modal-delete-show {
  display: block; }

.cluster-modal__participants, .cluster-modal__header, .cluster-modal__comments {
  color: #000;
  margin-bottom: 1rem; }

.cluster-modal i {
  margin-left: unset; }

.cluster-modal__header {
  position: relative; }
  .cluster-modal__header i {
    position: absolute;
    right: 0;
    top: 0;
    cursor: pointer;
    font-size: 1.5em;
    color: #000; }
    @media (max-width: 414px) {
      .cluster-modal__header i {
        font-size: 20px; } }
  .cluster-modal__header span {
    font-size: 1.1em !important; }
  @media (max-width: 414px) {
    .cluster-modal__header h1 {
      max-width: 80%; } }
.cluster-modal__comments .comment-stats {
  font-size: 14px;
  color: #6B7280 !important; }

.cluster-modal__comments .comment-content {
  padding: 0 1em 0 0; }

@media (max-width: 875px) {
  .edit-content {
    padding: 0 1.5rem; }
  #new-button, .options-groups {
    font-size: 1rem; }
  .form-elements {
    display: block; }
    .form-elements > * {
      width: auto; }
  .form-cluster-description #cluster-new {
    margin-bottom: 0; }
  .form-cluster-personas {
    margin-top: 1rem; }
    .form-cluster-personas .new-persona-shortcut {
      margin-top: 0; }
      .form-cluster-personas .new-persona-shortcut #new_persona_check {
        left: 0; }
    .form-cluster-personas #new-persona-text {
      left: 1.875rem;
      width: 90%; }
    .form-cluster-personas .tooltip-persona {
      position: absolute;
      height: 30px; }
    .form-cluster-personas .btn-container {
      justify-content: center; }
  .personas-list select[multiple] {
    padding: .3rem .25rem .3rem 0.6rem !important; }
  .new-group-modal {
    left: 15%;
    top: 15%;
    width: 70%; }
  .edit-buttons {
    display: flex;
    flex-wrap: wrap-reverse;
    gap: 0; }
    .edit-buttons #save-edit {
      margin-bottom: 2.625rem; }
    .edit-buttons .delete-group {
      margin-top: 1.938rem;
      margin-bottom: 0.938rem; }
  .divider-mobile {
    border: 1px solid #BABABA;
    display: block;
    width: 100%; }
  .manage-personas-container {
    bottom: .625rem;
    display: flex;
    justify-content: center;
    margin-bottom: 1rem; }
  .confirmation-modal {
    width: 80%;
    padding: 1.5rem;
    left: 66%;
    top: 80%; }
    .confirmation-modal .modal-confirmation-container button.delete, .confirmation-modal .modal-confirmation-container button.return {
      font-size: .75rem; } }

@media (max-width: 996px) and (min-width: 524px) {
  .edit-buttons {
    display: flex;
    place-self: center;
    gap: 0; }
    .edit-buttons .divider-mobile {
      border: 1px solid #BABABA;
      display: block;
      width: 100%; }
  .form-cluster-description form {
    grid-template-rows: 1.187rem auto 1.187rem 18.563rem; }
  .manage-personas-container {
    bottom: 0; } }

@media (max-width: 996px) and (min-width: 876px) {
  .edit-buttons {
    display: flex;
    flex-wrap: wrap-reverse;
    gap: 0; }
    .edit-buttons .divider-mobile {
      border: 1px solid #BABABA;
      display: block;
      width: 100%; }
  .manage-personas-container {
    margin-right: 0.625rem;
    float: right; } }

@media (min-width: 1400px) {
  .new-group-modal {
    left: 22%;
    top: 25%; }
  .confirmation-modal {
    top: 50%; } }

#sort-down-icon, #sort-up-icon {
  width: 1rem;
  height: 0.688rem;
  position: relative;
  color: #C4C4C4; }

#sort-down-icon {
  bottom: 0.25rem;
  margin-right: 0; }

#sort-up-icon {
  margin: 0; }

@media only screen and (max-width: 900px) {
  .select-groups-filter {
    grid-column: 1 / 4; } }

#pagination-create, #pagination-edit {
  display: none; }
  @media only screen and (max-width: 900px) {
    #pagination-create, #pagination-edit {
      display: block;
      height: 1.313rem; }
      #pagination-create ul, #pagination-edit ul {
        list-style: none;
        display: flex;
        gap: 1rem;
        margin-bottom: 0;
        justify-content: center;
        font-size: 0.88em; }
        #pagination-create ul li, #pagination-edit ul li {
          margin-bottom: 0; }
        #pagination-create ul .current, #pagination-edit ul .current {
          color: white;
          border-radius: 1.25rem;
          padding: 0.25rem 0.5625rem;
          background-color: #052B47; }
        #pagination-create ul .prev, #pagination-create ul .next, #pagination-edit ul .prev, #pagination-edit ul .next {
          background-color: transparent;
          color: #052B47 !important;
          padding: 0;
          font-weight: 700 !important; }
        #pagination-create ul .active, #pagination-create ul .page-link, #pagination-create ul .current, #pagination-edit ul .active, #pagination-edit ul .page-link, #pagination-edit ul .current {
          color: white;
          font-weight: 500; }
        #pagination-create ul .page-link, #pagination-create ul .page-link:hover, #pagination-edit ul .page-link, #pagination-edit ul .page-link:hover {
          color: #052B47; } }
.footer-stereotypes {
  display: none; }
  @media only screen and (max-width: 900px) {
    .footer-stereotypes {
      display: flex;
      flex-direction: column;
      gap: 0.813rem;
      margin: 1.094rem 0 0; } }
  @media only screen and (max-width: 900px) {
    .footer-stereotypes #pagination-text-create, .footer-stereotypes #pagination-text-edit {
      color: #052B47;
      font-size: 0.875em;
      font-weight: 500;
      border-radius: 0;
      margin: 0;
      text-align: center; } }
.divider-section {
  border-bottom: 1px solid #bababa;
  padding-bottom: 0;
  display: none; }
  @media (max-width: 320px) {
    .divider-section {
      display: block; } }
  @media (max-width: 875px) and (min-width: 321px) {
    .divider-section {
      display: block; } }
.groups-filter {
  margin-bottom: 0;
  background-color: #D9D9D9;
  padding: 1rem 1rem 0.375rem; }
  @media only screen and (max-width: 900px) {
    .groups-filter {
      background-color: #F0F0F0;
      display: grid;
      grid-template-columns: 3% auto 3%;
      padding: 1rem 0 0.375rem; } }
  .groups-filter__container {
    grid-column: 2; }
  .groups-filter__group, .groups-filter__group:hover {
    background: white;
    border: none;
    box-sizing: border-box;
    border-radius: 0.313rem;
    font-weight: 600;
    font-size: 0.75em;
    line-height: 0;
    color: #052b47;
    padding: 0 0.75rem;
    margin: 0 0.75rem 0.625rem 0;
    box-shadow: none;
    height: 1.5rem;
    letter-spacing: 0;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 14.375rem;
    min-width: 0; }
  .groups-filter--selected {
    background: #552F91 !important;
    border: none !important;
    color: white !important; }

.manage-stereotypes h2 {
  margin-top: 1.5rem; }

@media only screen and (max-width: 900px) {
  .manage-stereotypes h1 {
    font-size: 1.25em; } }

.manage-stereotypes .helptext {
  margin: 1rem 0 2.125rem; }

.manage-stereotypes__helptext-alt {
  margin: 0 0 1.5rem 0 !important; }

.manage-stereotypes__container {
  background-color: #F1F1F1;
  padding: 0 1.5rem; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__container {
      grid-column: 1 / 4;
      background-color: #F0F0F0;
      padding: 0; } }
  .manage-stereotypes__container-header label {
    margin-bottom: 1rem;
    font-size: 1em;
    text-transform: none;
    color: #052b47;
    font-weight: 400; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__container-vote-section {
      display: grid;
      grid-template-columns: 3% auto 3%; }
      .manage-stereotypes__container-vote-section > * {
        grid-column: 2; } }
.manage-stereotypes__form {
  display: flex;
  gap: 1.5rem;
  margin: 2.25rem 0 3.125rem;
  flex-direction: column; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__form {
      margin: 0.375rem 0 1.5rem; } }
  .manage-stereotypes__form-input-container input {
    margin: 0;
    margin-top: 0 !important;
    width: 50%; }
    @media only screen and (max-width: 900px) {
      .manage-stereotypes__form-input-container input {
        width: 100%; } }
  .manage-stereotypes__form-input-container textarea {
    margin: 0;
    width: 100%;
    border-radius: 0.3125rem;
    resize: none; }

.manage-stereotypes__actions {
  display: flex;
  gap: 2.25rem;
  margin: 3rem 0;
  justify-content: center; }
  @media only screen and (max-width: 900px) {
    .manage-stereotypes__actions {
      flex-direction: column;
      flex-wrap: wrap;
      align-content: center;
      margin: 1.875rem 0 2.625rem; } }
  .manage-stereotypes__actions-button {
    width: 15.375rem;
    height: 3.25rem;
    border-radius: 4.375rem;
    font-weight: 500;
    letter-spacing: 0;
    font-size: 1em;
    border: none;
    text-transform: lowercase;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0; }
    .manage-stereotypes__actions-button--green {
      background-color: #18AE00; }
    .manage-stereotypes__actions-button--gray {
      background-color: #777777; }
    .manage-stereotypes__actions-button--red {
      background-color: #C70000; }
    .manage-stereotypes__actions-button--blue {
      background-color: #052b47; }

@media only screen and (max-width: 900px) {
  .manage-stereotypes__grouping {
    display: grid;
    grid-template-columns: 3% auto 3%;
    grid-column: 1 / 4; } }

.votes-container {
  max-height: 30rem;
  overflow-y: scroll;
  padding-right: 1.375rem; }
  @media only screen and (max-width: 900px) {
    .votes-container {
      padding-right: 0;
      overflow-y: unset;
      max-height: unset; } }
@media only screen and (min-width: 900px) {
  .votes-container::-webkit-scrollbar {
    width: 0.438rem; } }

@media only screen and (min-width: 900px) {
  .votes-container::-webkit-scrollbar-track {
    background-color: #D9D9D9; } }

@media only screen and (min-width: 900px) {
  .votes-container::-webkit-scrollbar-thumb {
    background-color: #72CAD7;
    border-radius: 0.438rem; } }

@media only screen and (max-width: 900px) {
  .stereotypes-section {
    grid-column: 2; } }

.stereotypes-section__container {
  margin: 0 0 1.5rem; }
  @media only screen and (max-width: 900px) {
    .stereotypes-section__container {
      grid-column: 2; } }
@media only screen and (max-width: 900px) {
  .stereotypes-section {
    margin-bottom: 0; } }

.stereotypes-section__no-groups {
  font-weight: 600;
  color: #052b47;
  font-size: 0.75em;
  text-transform: uppercase;
  line-height: 162.6%;
  padding: 9.688rem 8.5rem;
  text-align: center; }
  @media only screen and (max-width: 900px) {
    .stereotypes-section__no-groups {
      height: 18.75rem;
      padding: 5.625rem 0; } }
  .stereotypes-section__no-groups p {
    margin-bottom: 0; }

.stereotype-cards form {
  margin-bottom: 0; }

.stereotype-cards__card-comments {
  height: fit-content;
  background-color: white;
  border-radius: 0.313rem;
  margin-bottom: 0.7543rem;
  text-align: center; }
  @media only screen and (max-width: 900px) {
    .stereotype-cards__card-comments {
      padding: 1.125rem 0.625rem;
      border-radius: 0;
      margin: 0; } }
.stereotype-cards p {
  padding: 1.375rem 1.375rem 1.25rem;
  margin: 0;
  font-size: 1em;
  line-height: 1.438rem;
  overflow-wrap: anywhere; }
  @media only screen and (max-width: 900px) {
    .stereotype-cards p {
      padding: 0 0 1.313rem;
      text-align: left; } }
.stereotype-cards__vote-buttons {
  padding-bottom: 1.438rem;
  display: grid;
  grid-gap: 3rem;
  justify-content: center;
  grid-template-columns: repeat(4, auto); }
  @media only screen and (max-width: 900px) {
    .stereotype-cards__vote-buttons {
      grid-template-columns: repeat(3, auto);
      padding-bottom: 1.655rem;
      grid-row-gap: 0.5rem; } }
  .stereotype-cards__vote-buttons i {
    margin: auto 0.4em; }
  .stereotype-cards__vote-buttons button:hover {
    box-shadow: 0 0; }
  @media only screen and (max-width: 900px) {
    .stereotype-cards__vote-buttons button {
      width: 3.773rem;
      font-size: 0.875em; }
      .stereotype-cards__vote-buttons button i {
        display: block; } }
  .stereotype-cards__vote-buttons__delete {
    background-color: transparent;
    border: 0;
    padding: 0;
    margin: 0;
    font-weight: 500;
    font-size: 1em;
    line-height: 1.188rem;
    text-decoration-line: underline;
    color: #777777;
    text-transform: none; }
    @media only screen and (max-width: 900px) {
      .stereotype-cards__vote-buttons__delete {
        display: none; } }
    .stereotype-cards__vote-buttons__delete--icon-1, .stereotype-cards__vote-buttons__delete--icon--1, .stereotype-cards__vote-buttons__delete--icon-0 {
      display: contents; }
      @media only screen and (min-width: 900px) {
        .stereotype-cards__vote-buttons__delete--icon-1, .stereotype-cards__vote-buttons__delete--icon--1, .stereotype-cards__vote-buttons__delete--icon-0 {
          display: none; } }
      .stereotype-cards__vote-buttons__delete--icon-1 img, .stereotype-cards__vote-buttons__delete--icon--1 img, .stereotype-cards__vote-buttons__delete--icon-0 img {
        width: 1.25rem;
        justify-self: center; }
    .stereotype-cards__vote-buttons__delete--icon-1 img {
      grid-column: 1; }
    .stereotype-cards__vote-buttons__delete--icon-0 img {
      grid-column: 2; }
    .stereotype-cards__vote-buttons__delete--icon--1 img {
      grid-column: 3; }

.stereotype-cards .is-clear {
  text-transform: lowercase; }

.agree-1, .disagree--1, .skip-0 {
  width: 8rem;
  height: 2.375rem !important;
  border-radius: 0.313rem;
  color: white !important;
  text-transform: lowercase !important; }
  @media only screen and (max-width: 900px) {
    .agree-1, .disagree--1, .skip-0 {
      width: 5.188rem !important;
      height: 3.313rem !important; } }
.agree-1 {
  background: rgba(24, 174, 0, 0.8) !important; }

.disagree--1 {
  background-color: #C70000 !important; }

.skip-0 {
  background-color: #72CAD7 !important; }

.pointer-1 .tabs-container {
  cursor: not-allowed; }
  .pointer-1 .tabs-container #see-edit-personas-tab {
    pointer-events: none; }

.modal__overlay {
  display: flex;
  position: fixed;
  place-items: center;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 750;
  justify-content: center;
  background: rgba(0, 0, 0, 0.25); }
  .modal__overlay.hide {
    visibility: hidden; }
  .modal__overlay > * {
    min-height: 0;
    margin: auto; }

.modal__container, .modal__container--lg, .modal__container--md, .modal__container--sm, .modal__container--sm-height {
  position: relative;
  z-index: 1250;
  background-color: #E5E5E5;
  box-shadow: 0px 4px 4px rgba(0, 0, 0, 0.25);
  text-align: center;
  border-radius: .5rem;
  max-width: 29.25rem;
  min-height: 14.625rem;
  padding: 3.25rem 5.313rem; }
  @media (max-width: 380px) {
    .modal__container, .modal__container--lg, .modal__container--md, .modal__container--sm, .modal__container--sm-height {
      width: inherit !important; } }
  .modal__container--lighter-bg {
    background-color: #f1f1f1; }
  .modal__container--text-align-unset {
    text-align: unset !important; }
  .modal__container h3, .modal__container--lg h3, .modal__container--md h3, .modal__container--sm h3, .modal__container--sm-height h3 {
    color: #000000;
    font-weight: 500; }
  .modal__container--sm-height {
    max-height: 90vh;
    max-width: 50rem;
    width: 90%; }
    @media (max-width: 414px) {
      .modal__container--sm-height {
        padding: 1rem;
        width: 95%;
        max-height: 80vh;
        transition: height .5s;
        overflow-y: scroll; }
      .modal__container--sm-height-transition {
        height: 70vh; } }
  .modal__container--sm {
    min-width: 20rem; }
  .modal__container--md {
    min-width: 35rem; }
  .modal__container--lg {
    min-width: 45rem; }
  .modal__container form, .modal__container--sm-height form, .modal__container--sm form, .modal__container--md form, .modal__container--lg form {
    margin-bottom: 0; }
  .modal__container--quick-action {
    display: flex;
    gap: 1.875rem;
    margin: 0;
    width: 17.438rem;
    flex-direction: column; }

.modal__icon {
  width: 67px; }
  .modal__icon--alert {
    color: #E20000; }
  .modal__icon--success {
    color: #36C273; }

.modal__title {
  position: relative;
  color: #000000;
  font-size: 1.5rem;
  font-family: "Work Sans", sans-serif;
  margin-bottom: 1rem; }

.modal__subtitle {
  font-size: 1em;
  font-weight: 500;
  letter-spacing: 0;
  color: #052b47;
  margin-bottom: 1.563rem; }

.modal__close-btn {
  position: absolute;
  right: 0;
  top: 0;
  color: #000000;
  cursor: pointer;
  background: transparent;
  padding: 0;
  margin: 0;
  border: none;
  font-size: 1rem; }
  .modal__close-btn:hover {
    box-shadow: none; }

.modal__buttons {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.313rem; }
  .modal__buttons a {
    color: #777777;
    text-transform: lowercase; }

.modal__btn, .modal__btn--no-fill, .modal__btn--blue, .modal__btn--red {
  width: fit-content;
  cursor: pointer;
  display: flex;
  place-items: center center;
  justify-content: center;
  gap: .5rem;
  border: none !important;
  border-radius: 3rem;
  height: 2.875rem;
  text-transform: lowercase;
  font-size: 1em;
  margin: 0; }
  .modal__btn i, .modal__btn--no-fill i, .modal__btn--blue i, .modal__btn--red i {
    margin: 0; }
  .modal__btn--red {
    background-color: #C70000; }
  .modal__btn--blue {
    background-color: #052b47; }
  .modal__btn--no-fill {
    color: #777;
    background: none;
    padding: 0;
    margin: auto !important; }
    .modal__btn--no-fill:hover {
      box-shadow: none; }
  .modal__btn--black {
    background-color: #000000;
    color: white;
    border: none; }

.modal__btn-board-delete {
  margin-bottom: 1.30rem !important;
  width: 17.5625rem !important;
  height: 3.25rem !important; }

.modal__btn-alternative {
  display: grid;
  grid-template-columns: auto auto;
  grid-gap: 1.875rem;
  justify-content: center; }
  .modal__btn-alternative--red, .modal__btn-alternative--gray {
    width: 6.313rem;
    height: 2.75em;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    margin: 0;
    font-size: 0.875em;
    letter-spacing: 0; }
  .modal__btn-alternative--red {
    background-color: #C70000; }
  .modal__btn-alternative--gray {
    background-color: #777777; }

.modal__btn-board a {
  color: #6C6C6C !important; }

.modal__btn-board button {
  text-transform: lowercase;
  font-size: 1em;
  font-weight: 500;
  border-radius: 11.2rem; }

.modal__question {
  margin: unset;
  font-size: 1em;
  font-weight: 500;
  color: #000 !important; }

@media (max-width: 414px) {
  .modal--full-screen-mobile {
    position: fixed;
    bottom: 0;
    margin: unset !important; } }

.modal--hide-overflow-y {
  overflow-y: hidden; }

.tour-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: #000000;
  opacity: .8;
  width: 100%;
  height: 100%;
  z-index: 1000; }

.tour-card {
  background: #DDD5E9;
  z-index: 1001;
  height: 43.75rem;
  position: absolute;
  top: calc(50% - 43.75rem/2);
  left: calc(50% - 56.25rem/2);
  width: 100%;
  max-width: 56.25rem;
  font-size: 16px; }
  @media only screen and (max-width: 500px) {
    .tour-card {
      font-size: 14px; } }
  @media only screen and (max-width: 400px) {
    .tour-card {
      font-size: 13px; } }
.tour-footer {
  display: flex;
  gap: 8rem;
  flex-wrap: wrap; }
  .tour-footer__snapshot {
    z-index: 999; }

.tour-content {
  padding: 3rem; }
  .tour-content .logo {
    margin-bottom: 4vh; }
    .tour-content .logo img {
      width: 153px; }
  .tour-content .bubbles,
  .tour-content .secondary-bubbles {
    position: absolute; }
  .tour-content .bubbles {
    right: 0;
    top: 0; }
  .tour-content .secondary-bubbles {
    left: 0;
    bottom: 0; }
  .tour-content .welcome {
    width: 50%; }
    .tour-content .welcome--width-100 {
      width: 100%; }
    .tour-content .welcome h1,
    .tour-content .welcome p {
      color: #000000; }
    .tour-content .welcome h1 {
      font-size: 2.25em;
      font-family: 'Work Sans';
      margin-top: unset;
      margin-bottom: 3vh; }
    .tour-content .welcome p {
      font-size: 1.5em;
      margin-bottom: 4vh; }
  .tour-content .buttons {
    display: flex;
    gap: 1rem;
    flex-flow: row-reverse;
    flex-wrap: wrap;
    align-content: end;
    margin-bottom: 2rem;
    z-index: 999; }
    .tour-content .buttons a {
      width: 225px;
      margin: unset;
      padding: .5rem 0;
      box-sizing: content-box; }
    .tour-content .buttons .button--skip {
      color: #552F91;
      background-color: #DDD5E9;
      border: 3px solid #552F91; }
  .tour-content .snapshot {
    position: absolute; }

.tour-progress {
  height: .25rem;
  position: sticky;
  left: 0;
  top: 0;
  background-color: #E5E7EB;
  max-width: 56.25rem;
  z-index: 998; }

.tour-progress--1 {
  background-color: #552F91;
  width: 5%;
  z-index: 999;
  height: .25rem; }

.tour-progress--2 {
  background-color: #552F91;
  width: 50%;
  z-index: 999;
  height: .25rem; }

.tour-progress--3 {
  background-color: #552F91;
  width: 100%;
  z-index: 999;
  height: .25rem; }

@media only screen and (max-width: 900px) {
  .tour-progress {
    width: 100vw; }
  .tour-content {
    padding: 1% 14%; }
  .tour-content .logo {
    margin-top: 19vh; }
  .tour-content .logo.logo--minor-margin-top {
    margin-top: 5%;
    margin-bottom: 4%; }
  .tour-content .welcome {
    width: 80vw;
    margin: auto; }
  .tour-content .buttons {
    flex-flow: column;
    margin: auto;
    width: 80%;
    max-width: 25rem; }
  .tour-content .buttons a {
    width: 100%; }
  .tour-content .bubbles {
    max-width: 60%; }
  .tour-footer__snapshot {
    width: 80%; }
  .tour-card {
    width: 100vw;
    height: 100vh;
    top: 0;
    left: 0; }
  .tour-footer {
    gap: 1rem;
    justify-content: center; } }

@media only screen and (max-height: 700px) {
  .tour-content {
    margin-bottom: 1rem; }
  .tour-card {
    height: fit-content; }
  @supports (-moz-appearance: none) {
    .tour-card {
      height: -moz-max-content; } } }

.container-1, .Page-title h1, .container-2, .container-3, .container-4 {
  padding: 0;
  text-align: center; }

.form-container {
  margin: 0 auto;
  max-width: 70rem;
  width: 100%; }
  .form-container label {
    text-align: initial; }
  .form-container form {
    padding: 0 1.5rem;
    max-width: 30rem;
    width: 100%;
    margin: auto; }

.form-container.is-wide {
  max-width: 60rem; }

.form-narrow {
  width: 21rem;
  margin: 0 auto; }

label {
  color: #552F91;
  text-indent: 1.125rem;
  text-transform: lowercase; }

legend, .conversation-balloon textarea::placeholder, input + .helptext,
textarea + .helptext,
select + .helptext,
input + br + .helptext,
textarea + br + .helptext,
select + br + .helptext {
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  text-align: center;
  opacity: 0.75; }

html {
  background-color: white; }

a.button:hover, .welcome-page__buttons a:hover, a.button:focus, .welcome-page__buttons a:focus, a.button:active, .welcome-page__buttons a:active {
  box-shadow: 0 0 4px 0 rgba(0, 0, 0, 0.25), 0 2px 8px -2px rgba(0, 0, 0, 0.15);
  color: #f7f5fa;
  background-color: #552F91; }

a.button.is-primary:hover, .button.conecta-buttons__deny-btn:hover,
.button.conecta-profile-form__deny-btn:hover, .welcome-page__buttons a:hover, a.button.is-primary:focus, .button.conecta-buttons__deny-btn:focus,
.button.conecta-profile-form__deny-btn:focus, .welcome-page__buttons a:focus, a.button.is-primary:active, .button.conecta-buttons__deny-btn:active,
.button.conecta-profile-form__deny-btn:active, .welcome-page__buttons a:active {
  color: #f7f5fa;
  background-color: #552F91; }

.screen-reader, #first-link {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: polygon(0px 0px, 0px 0px, 0px 0px);
  height: 1px;
  overflow: hidden !important;
  position: absolute;
  width: 1px;
  z-index: -1000; }

.lds-ring {
  display: inline-block;
  position: relative;
  width: 80px;
  height: 80px; }

.lds-ring div {
  box-sizing: border-box;
  display: block;
  position: absolute;
  width: 64px;
  height: 64px;
  margin: 8px;
  border: 8px solid #fff;
  border-radius: 50%;
  animation: lds-ring 1.2s cubic-bezier(0.5, 0, 0.5, 1) infinite;
  border-color: #30BFD3 transparent transparent transparent; }

.lds-ring div:nth-child(1) {
  animation-delay: -0.45s; }

.lds-ring div:nth-child(2) {
  animation-delay: -0.3s; }

.lds-ring div:nth-child(3) {
  animation-delay: -0.15s; }

@keyframes lds-ring {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

body {
  display: flex;
  flex-direction: column; }

.main-container {
  width: 100%;
  text-align: left !important;
  margin: 0 0 0 18.75rem; }
  .main-container--without-margin {
    margin: unset !important; }

.main-header {
  align-items: center;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  text-align: center;
  position: sticky;
  top: 0;
  color: #0d0d0d;
  background-color: white;
  z-index: 1000;
  box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.12);
  height: 3rem;
  line-height: 3.5rem;
  order: -1;
  width: 100%; }
  .main-header > * {
    min-width: 0; }
  .main-header > * {
    padding-left: 0.375rem;
    padding-right: 0.375rem;
    display: flex;
    align-items: center; }
  .main-header > a {
    display: flex;
    align-items: center;
    color: #000;
    height: 3rem; }
    .main-header > a i {
      color: #552F91; }
  .main-header__logo img {
    height: 1.8rem;
    position: relative; }
  .main-header__avatar, .voting-card__comment-avatar img {
    display: flex;
    border-radius: 50%;
    width: 36px;
    height: 36px;
    object-fit: cover; }

@media screen and (min-width: 35rem) {
  .container-temporary {
    max-width: 64vw !important;
    padding: 0;
    text-align: center;
    margin: 0 auto;
    position: relative;
    width: 100%; }
  .measure-wide {
    max-width: 60vw; }
  .main-header {
    line-height: 2.5rem;
    top: 0; } }
  @media screen and (min-width: 35rem) and (min-width: 50rem) {
    .main-header > * {
      padding: 0 0.75rem; } }
@media screen and (min-width: 35rem) {
  .main-header {
    align-items: center;
    justify-content: space-between; }
    .main-header > a {
      text-align: left;
      line-height: 3.75rem; }
      .main-header > a:nth-child(1) {
        display: none; }
    .main-header__user > a {
      display: flex;
      align-items: center; }
    .main-header__user:hover #show-floating-menu {
      opacity: 1 !important;
      visibility: visible !important;
      right: 10px; } }

.nav-divider {
  border-top: 1px solid #C4C4C4;
  margin: 0 0.625rem; }
  .nav-divider--darker {
    border-top: 1px solid #bababa; }

.page-menu {
  max-height: 600px;
  height: 100%;
  z-index: 750;
  position: fixed;
  transition: 0.3s;
  background-color: #F1F1F1;
  border-right: 1px solid rgba(0, 0, 0, 0.05);
  overflow: hidden auto; }
  @media only screen and (max-width: 900px) {
    .page-menu {
      width: 80%;
      min-width: 80%;
      max-width: 80%; } }
  @media only screen and (min-height: 500px) and (max-width: 800px) {
    .page-menu {
      max-height: unset; } }
  .page-menu--disable-overflow {
    height: 100%;
    overflow: hidden; }
  .page-menu h3 {
    font-family: "Work Sans", "sans-serif"; }
  .page-menu__links {
    display: flex;
    gap: 2.219rem;
    padding: 2.25rem 0 1.75rem;
    border-bottom: 1px solid #777777; }
    .page-menu__links a {
      font-weight: 600;
      font-size: 0.75em;
      letter-spacing: 0;
      line-height: 0;
      color: #777777;
      text-transform: uppercase;
      display: flex;
      align-items: center; }
      .page-menu__links a i {
        font-size: 1.188em;
        margin-left: 0; }
  .page-menu .nav-categories {
    padding-top: 1.75rem !important; }
    .page-menu .nav-categories h3 {
      font-size: 1rem;
      letter-spacing: 0; }
    .page-menu .nav-categories li {
      padding-top: 0.313rem; }
    .page-menu .nav-categories a {
      font-size: 1rem; }
  .page-menu .menu-padding {
    padding: 0 1.75rem 1.75rem; }
    .page-menu .menu-padding:first-child {
      padding-top: 1.75rem; }
  .page-menu .section-margin {
    margin-top: 3.125rem; }
  .page-menu[is-open=""] {
    width: 17rem; }
  .page-menu[is-menu] {
    width: 17rem;
    visibility: hidden;
    left: -100%; }
  .page-menu[is-open] {
    visibility: visible;
    left: 0;
    top: 3rem;
    z-index: 750; }
  .page-menu nav h1,
  .page-menu nav h2,
  .page-menu nav h3 {
    margin: 0;
    margin-bottom: 0.75rem; }
  .page-menu nav ul {
    padding: 0;
    margin: 0;
    list-style: none; }
  .page-menu nav:last-child {
    border-bottom: none; }
  .page-menu .add-button {
    color: #552F91; }
  .page-menu .board-section {
    padding-bottom: 1.5rem;
    margin-top: 2.25rem; }
    .page-menu .board-section__chevron-transition {
      transform: rotate(-90deg); }
    .page-menu .board-section__toggle-section {
      display: flex !important;
      justify-content: space-between;
      cursor: pointer; }
    .page-menu .board-section #board-chevron-icon {
      color: #777777;
      margin: 0; }
  .page-menu .board-list li {
    display: flex;
    gap: 0.31rem;
    height: 1.7rem;
    color: #000; }
    .page-menu .board-list li p {
      margin-right: 0.5rem;
      font-weight: 700; }
  .page-menu .board-list li.selected-board {
    background-color: #C4C4C4;
    margin: 0rem -2rem 0rem -2rem;
    padding: 0rem 2rem 0rem 2rem; }
  .page-menu .report-section .display-reports {
    color: #000; }
    .page-menu .report-section .display-reports label {
      cursor: pointer;
      color: unset;
      text-indent: unset;
      margin-bottom: unset; }
  .page-menu .report-section div {
    display: flex; }
  .page-menu .report-section label i {
    margin-left: unset; }
  .page-menu .report-section ul {
    display: none;
    position: relative; }
    .page-menu .report-section ul li a {
      font-weight: unset; }
  .page-menu .report-section .selected {
    background: #C4C4C4; }
  .page-menu .report-section .show {
    display: block; }
  .page-menu .report-section .hide {
    display: none; }

#isexpanded3,
.isexpanded-cluster-comments {
  display: none !important; }

.isexpanded-cluster-comments--overflow {
  overflow: hidden scroll;
  max-height: 50vh; }

#isexpanded3:checked + label > i,
.isexpanded-cluster-comments:checked + label > i {
  transform: rotate(180deg); }

#show-floating-menu {
  top: 3rem;
  transition: 0.3s; }
  #show-floating-menu.hide {
    right: -20rem;
    display: block !important;
    visibility: hidden; }

.profile-avatar {
  border-radius: 66.5px;
  width: 44px;
  height: 44px;
  margin-right: 0.75rem;
  object-fit: cover; }

.floating-menu {
  position: fixed;
  top: 3rem;
  right: 0;
  background: white;
  box-shadow: 0 0.25rem 0.25rem rgba(0, 0, 0, 0.25); }
  .floating-menu a {
    cursor: pointer; }
  .floating-menu a,
  .floating-menu p {
    font-size: 1em;
    font-weight: 500;
    color: #000; }
  @media (max-width: 560px) {
    .floating-menu {
      width: 13.5rem; } }
  .floating-menu__section {
    padding: 0.75rem; }
    .floating-menu__section ul {
      margin-bottom: unset; }
    .floating-menu__section li {
      line-height: 1.1875rem;
      margin-bottom: 0;
      text-align: left;
      list-style-type: none;
      padding-top: 0.75rem;
      padding-bottom: 0.75rem; }
    .floating-menu__section h3 {
      display: none; }
    .floating-menu__section:first-child {
      padding-top: 1.5rem;
      padding-bottom: 1.5rem;
      margin-top: 0;
      height: 5.75rem;
      padding: 0 0.75rem;
      background: #F1F1F1; }
  .floating-menu__username {
    display: flex;
    align-items: center;
    height: 100%;
    min-height: 5rem; }
    .floating-menu__username div {
      overflow: hidden; }
    .floating-menu__username p {
      margin: unset;
      text-align: left;
      overflow: hidden;
      text-overflow: ellipsis; }
  .floating-menu__profile i, .floating-menu__environment i {
    color: #777777; }
  .floating-menu__logout {
    text-align: left;
    background-color: #777777;
    color: white; }
    .floating-menu__logout form {
      margin-bottom: unset; }
    .floating-menu__logout a {
      color: white; }

.menu-section__title {
  margin-bottom: 1.4375rem !important;
  color: #552F91;
  font-weight: 400;
  font-size: 1em; }

.menu-section__conversation-text {
  margin-top: 2.25rem;
  display: -webkit-box;
  -webkit-line-clamp: 4;
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis; }
  .menu-section__conversation-text span {
    max-height: 6rem;
    font-size: 1.25em;
    color: #052b47;
    line-height: 1.46rem; }

.conversation-menu {
  display: grid;
  grid-template-columns: 0.63rem auto 0.63rem; }
  @media only screen and (max-width: 900px) {
    .conversation-menu {
      grid-template-columns: 5% auto 5%; } }
  .conversation-menu__buttons {
    margin-top: 1.5rem;
    gap: 0.93rem;
    justify-content: space-between; }
  .conversation-menu__edit-button a, .conversation-menu__delete-button a {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0.313rem;
    margin: 0; }
  .conversation-menu__delete-button a {
    width: 3.125rem;
    height: 2.625rem;
    background-color: #C70000;
    border: #C70000; }
  .conversation-menu__edit-button {
    flex-grow: 1; }
    .conversation-menu__edit-button a {
      color: white;
      background-color: #000;
      border: #000;
      height: 2.625rem;
      text-transform: none;
      letter-spacing: 0;
      font-size: 1em;
      line-height: 1.25rem;
      font-weight: 400;
      text-align: center; }
  .conversation-menu__delete-button a {
    background-color: #C70000;
    border: #C70000;
    font-size: 1em; }
    .conversation-menu__delete-button a i {
      font-size: 1.125em;
      color: white; }
  .conversation-menu__links {
    padding: 2.25rem 0 1.75rem;
    border-bottom: 1px solid #C4C4C4; }
  .conversation-menu__avatar {
    width: 3rem;
    height: 3rem;
    max-width: unset !important;
    display: flex;
    border-radius: 50%;
    object-fit: cover;
    border-style: none;
    margin-bottom: 1rem; }
  .conversation-menu__username {
    font-size: 1rem;
    color: #777777;
    line-height: 1.17rem;
    overflow-wrap: anywhere;
    font-weight: 500; }
  .conversation-menu__conversation-text {
    font-size: 1.25em;
    color: #052b47;
    line-height: 1.46rem;
    max-height: 6rem;
    overflow: hidden;
    margin-top: 2.625rem;
    margin-bottom: 2.375rem; }
  .conversation-menu__conversation-share {
    cursor: pointer; }
    .conversation-menu__conversation-share i {
      color: #052b47; }
    .conversation-menu__conversation-share span {
      color: #052b47;
      font-weight: 500;
      margin-left: 0.375rem; }
  .conversation-menu__conversation-info {
    margin-bottom: 1.4375rem;
    line-height: 1.17rem; }
    .conversation-menu__conversation-info i {
      color: #777777; }
    .conversation-menu__conversation-info span {
      text-transform: lowercase;
      color: #777777;
      font-weight: 500; }
  .conversation-menu__user-section {
    margin: 1.76rem 0 4.25rem 0; }

.participant-menu {
  display: grid;
  grid-template-columns: 1.2rem auto 1.2rem; }
  .participant-menu__buttons {
    margin: 2.25rem 0;
    padding: unset !important; }
    .participant-menu__buttons a:last-child button {
      margin: unset !important; }
    .participant-menu__buttons button {
      width: 100%;
      border-radius: 0.3125rem;
      height: 2.625rem;
      text-transform: none;
      background-color: #052b47;
      border-color: #052b47;
      font-size: 1em;
      font-weight: 400;
      margin: 0 0 0.625rem 0; }
  .participant-menu__item h3 {
    margin: unset !important; }

.participant-menu__item,
.conversation-menu__item {
  overflow: hidden;
  text-overflow: ellipsis;
  grid-column: 2;
  font-size: 1em;
  padding: 0.32rem 0; }
  .participant-menu__item i,
  .conversation-menu__item i {
    color: #777777; }
  .participant-menu__item li,
  .conversation-menu__item li {
    padding: 0.5rem;
    box-sizing: content-box;
    height: unset; }
  .participant-menu__item--selected,
  .conversation-menu__item--selected {
    background-color: #C4C4C480;
    border-radius: 0.3rem;
    height: 2.25rem; }
  .participant-menu__item--column-2,
  .conversation-menu__item--column-2 {
    grid-column: 2/3;
    padding: unset !important;
    font-weight: 400; }
  .participant-menu__item--margin,
  .conversation-menu__item--margin {
    margin-top: 1.93rem !important; }
    @media only screen and (min-height: 500px) {
      .participant-menu__item--margin:last-child,
      .conversation-menu__item--margin:last-child {
        margin-bottom: 2rem; } }
.participant-menu__welcome-title,
.conversation-menu__welcome-title {
  font-size: 1.5em !important;
  line-height: 1.8rem !important;
  color: #000;
  margin-bottom: unset !important;
  padding: unset !important;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis; }

.participant-menu__home-divider,
.conversation-menu__home-divider {
  border-bottom: 1px solid #777777;
  grid-column: 2; }
  .participant-menu__home-divider--lighter,
  .conversation-menu__home-divider--lighter {
    border-bottom: 1px solid #C4C4C4; }

.participant-menu__help-section,
.conversation-menu__help-section {
  margin-bottom: 2.8rem !important; }

.participant-menu .nav-divider,
.conversation-menu .nav-divider {
  margin: 1rem 0.625rem 0 0.625rem !important;
  grid-column: 1/4; }

@media screen and (min-width: 35rem) {
  .page-menu {
    z-index: 750;
    background-color: #F1F1F1;
    border-radius: 0;
    flex: 1;
    min-height: calc(100vh - 3rem);
    min-width: 18.75rem;
    max-width: 18.75rem; }
    .page-menu li {
      margin-top: unset;
      margin-bottom: unset; }
    .page-menu, .page-menu[is-menu], .page-menu[is-menu][is-open] {
      display: block;
      width: 20%;
      height: unset;
      visibility: visible;
      left: 0; }
    .page-menu nav {
      border: none;
      padding-top: 0; }
      .page-menu nav h1,
      .page-menu nav h2,
      .page-menu nav h3 {
        display: block;
        line-height: 1.125rem;
        margin-top: 0; }
    .page-menu nav:last-child::after {
      content: none; }
  #page-wrapper {
    display: flex;
    align-items: stretch; }
  #page-wrapper > *:first-child {
    flex: 1; }
  .page-menu + * {
    flex: 5; } }

#first-link {
  tab-index: 0; }
  #first-link :focus {
    background: 0;
    bottom: 0.75rem;
    padding: 0.375rem;
    position: fixed;
    text-align: center;
    z-index: 1002; }

#docs {
  width: 100%;
  height: 100vh;
  display: contents; }
  #docs iframe {
    height: 100vh;
    width: 100%; }

@media (min-width: 560px) {
  #docs iframe {
    height: 100vh;
    width: 100%; } }

#bg-modal {
  opacity: 0; }
  @media screen and (max-width: 559px) {
    #bg-modal {
      background: #000000;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1005; } }
@media screen and (max-width: 559px) {
  .main-container {
    max-width: unset;
    margin: unset; } }

@font-face {
  font-family: "Gothic";
  src: url(/static/fonts/GothicA1-Regular.ttf); }

@font-face {
  font-family: "Buendia";
  src: url(/static/fonts/buendia-bold.ttf); }

@font-face {
  font-family: "Libre Franklin";
  src: url(/static/fonts/LibreFranklin.ttf); }

.main-header > a:nth-child(1) {
  display: block !important; }

.page-menu h3 {
  font-weight: bold; }

.advanced-search .paginator {
  display: flex;
  justify-content: space-between;
  max-width: 300px; }

:root {
  --theme-color: #552F91;
  --theme-light-color: #DDD5E9; }

.conversation-card {
  text-align: center;
  font-size: 0.875rem;
  align-items: center;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  background-color: var(--theme-color, #552F91);
  border-radius: 50%;
  color: var(--theme-light-color, #DDD5E9);
  width: 100%;
  height: 20rem;
  margin: auto;
  overflow: hidden; }
  @media screen and (min-width: 35rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  @media screen and (min-width: 50rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  @media screen and (min-width: 75rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  .conversation-card > * {
    min-width: 0; }
  @media screen and (max-width: 800px) {
    .conversation-card {
      width: 20rem;
      border-radius: 0.313rem; } }
  .conversation-card__tags {
    font-size: 0.875rem;
    font-weight: 700;
    background-color: var(--theme-light-color, #DDD5E9);
    color: var(--theme-color, #552F91);
    width: 100%;
    padding: 0.1rem; }
    @media screen and (min-width: 35rem) {
      .conversation-card__tags {
        font-size: 0.875rem; } }
    @media screen and (min-width: 50rem) {
      .conversation-card__tags {
        font-size: 0.875rem; } }
    @media screen and (min-width: 75rem) {
      .conversation-card__tags {
        font-size: 0.875rem; } }
    @media screen and (max-width: 800px) {
      .conversation-card__tags {
        display: flex;
        padding: .4rem 21%;
        height: 6rem; }
        .conversation-card__tags .span-icon {
          display: grid;
          margin: 0 auto; } }
  .conversation-card__statistics {
    padding: 0;
    margin: 0;
    list-style: none;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem; }
    .conversation-card__statistics > li {
      display: inline; }
    .conversation-card__statistics > li {
      padding-left: 0.375rem;
      padding-right: 0.375rem; }
  .conversation-card__text {
    align-items: stretch;
    display: flex;
    flex-flow: column;
    justify-content: center;
    padding: 1.5rem;
    flex-grow: 1;
    padding: 1rem; }
    .conversation-card__text > * {
      min-width: 0; }
    .conversation-card__text a {
      font-size: 1.125rem;
      font-family: "Gothic";
      color: white;
      font-weight: 600;
      overflow: hidden;
      text-overflow: ellipsis;
      display: -webkit-box;
      -webkit-line-clamp: 3;
      -webkit-box-orient: vertical;
      padding: 0px 3.5px 0px 3.5px; }
      @media screen and (min-width: 35rem) {
        .conversation-card__text a {
          font-size: 1.125rem; } }
      @media screen and (min-width: 50rem) {
        .conversation-card__text a {
          font-size: 1.125rem; } }
      @media screen and (min-width: 75rem) {
        .conversation-card__text a {
          font-size: 1.1875rem; } }
    @media only screen and (max-width: 560px) {
      .conversation-card__text {
        padding: .8rem; } }
  .conversation-card__moderate {
    text-transform: uppercase;
    font-size: 0.875rem;
    margin: 0.75rem;
    font-weight: 700;
    color: #000;
    display: block; }
    @media screen and (min-width: 35rem) {
      .conversation-card__moderate {
        font-size: 0.875rem; } }
    @media screen and (min-width: 50rem) {
      .conversation-card__moderate {
        font-size: 0.875rem; } }
    @media screen and (min-width: 75rem) {
      .conversation-card__moderate {
        font-size: 0.875rem; } }
  .conversation-card__button {
    padding-top: 0.375rem;
    margin-top: 0.375rem;
    padding-top: 0.8rem;
    background: var(--theme-color, #552F91) url("/static/img/bg/conversation-card.png") repeat;
    background-blend-mode: luminosity;
    width: 100%; }
    @media only screen and (max-width: 560px) {
      .conversation-card__button a {
        margin-bottom: 1.5rem; } }
  .conversation-card .progress-bar, .conversation-card .voting-card__progress-bar {
    width: 10rem; }
    .conversation-card .progress-bar__progress, .conversation-card .voting-card__progress-bar__fg, .conversation-card .voting-card__progress-bar__progress {
      border-color: white; }

@media screen and (min-width: 50rem) {
  .alternate-cards {
    align-items: center;
    display: grid;
    grid-gap: 0.75rem;
    grid-template-columns: repeat(auto-fill, minmax(18rem, 1fr)); }
    .alternate-cards > * {
      justify-self: center;
      width: 100%;
      display: flex; } }
    @media screen and (min-width: 50rem) and (max-width: 65.5rem) {
      .alternate-cards > * {
        max-width: 24rem; } }
@media screen and (min-width: 50rem) {
      .alternate-cards > * > * {
        border-radius: 0.75rem; } }

@media screen and (min-width: 158rem) {
  .alternate-cards {
    max-width: 150rem;
    margin-left: 0;
    grid-template-columns: repeat(6, minmax(calc((100% / 6) - .75rem), 1fr)); } }

.statistics-card-container {
  width: 14.375rem;
  height: 9rem;
  background: #DDD5E9;
  border: 1px solid #FFFFFF;
  box-shadow: 0rem 0.25rem 0.25rem rgba(0, 0, 0, 0.25);
  border-radius: 0.3125rem;
  padding-left: 1.125rem; }

.statistics-card-title {
  padding-top: 1.5rem;
  padding-bottom: 1.125rem;
  text-align: start;
  margin-bottom: unset; }

.statistics-card-value {
  text-align: start;
  font-size: 1.5rem;
  line-height: 2.625rem;
  font-weight: bold; }

.cards-divider .cards-divider-body {
  background: white;
  display: flex;
  height: 100%;
  flex-wrap: wrap;
  margin-top: 2.25rem;
  margin-bottom: 1.4375rem;
  row-gap: 1.4375rem;
  column-gap: 2rem; }

.cards-divider .cards-divider-header {
  display: none;
  width: 100%;
  padding: 1rem 1rem 0 1rem;
  flex-direction: column; }
  .cards-divider .cards-divider-header .close-btn {
    display: flex;
    justify-content: flex-end;
    padding: .5rem; }
  .cards-divider .cards-divider-header h2 {
    color: #552F91;
    text-align: center;
    margin-top: .5rem; }

@media screen and (max-width: 559px) {
  .cards-divider {
    flex-direction: column;
    margin: 0;
    transition: .25s;
    position: fixed;
    bottom: -100%;
    left: 0;
    z-index: 1006;
    border-radius: 0.625rem 0.625rem 0 0;
    background-color: white;
    width: 100%;
    max-height: 80%; }
    .cards-divider .cards-divider-body {
      display: grid;
      justify-content: center;
      overflow-y: auto;
      margin: 0;
      padding: 1.25rem 0; }
    .cards-divider p {
      text-align: center; }
    .cards-divider .statistics-card-container {
      padding: 0; }
    .cards-divider .cards-divider-header {
      display: block; } }

.signature-text {
  font-size: 1em;
  font-style: normal;
  font-weight: 400;
  line-height: 1.3125rem; }

.signature-link {
  line-height: 1.3125rem;
  text-decoration: underline; }

@font-face {
  font-family: "Gothic";
  src: url(/static/fonts/GothicA1-Regular.ttf); }

@font-face {
  font-family: "Buendia";
  src: url(/static/fonts/buendia-bold.ttf); }

@font-face {
  font-family: "Libre Franklin";
  src: url(/static/fonts/LibreFranklin.ttf); }

:root {
  --theme-color: #552F91;
  --theme-light-color: #DDD5E9; }

.conversation-card {
  text-align: center;
  font-size: 0.875rem;
  align-items: center;
  display: flex;
  flex-flow: column;
  justify-content: space-between;
  background-color: white !important;
  border: 1px solid #7759A7;
  color: #000; }
  @media screen and (min-width: 35rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  @media screen and (min-width: 50rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  @media screen and (min-width: 75rem) {
    .conversation-card {
      font-size: 0.875rem; } }
  .conversation-card > * {
    min-width: 0; }
  .conversation-card__tags {
    color: #DDD5E9;
    background-color: #7759A7 !important; }
  .conversation-card__statistics {
    color: #552F91 !important; }
  .conversation-card__button {
    background: url("/static/img/bg/conecta-conversation-card.png"); }
  .conversation-card .progress-bar, .conversation-card .voting-card__progress-bar {
    width: 10rem; }
    .conversation-card .progress-bar__progress, .conversation-card .voting-card__progress-bar__fg, .conversation-card .voting-card__progress-bar__progress {
      border-color: white; }
  .conversation-card__text a {
    color: #000;
    font-weight: 400; }

.banner {
  background-position: center;
  height: 225px;
  position: relative; }
  @media (max-width: 900px) and (min-width: 321px) {
    .banner {
      height: 258px; } }
.conversation-header {
  width: 100%;
  margin: auto;
  height: inherit;
  box-sizing: border-box;
  box-shadow: 0px 10px 10px #00000033;
  background-repeat: repeat; }
  @media only screen and (max-width: 320px) {
    .conversation-header {
      padding: 1.875rem 1.625rem 1.938rem 2rem; } }
  @media (max-width: 900px) and (min-width: 321px) {
    .conversation-header {
      padding: 1.875rem 1.625rem 1.938rem 2rem; } }
  .conversation-header--default-img {
    background-image: url("/static/img/comment_card/conversation-title-bg.svg");
    height: 225px; }
    @media (max-width: 900px) and (min-width: 321px) {
      .conversation-header--default-img {
        height: unset; } }
  .conversation-header__gradient {
    background-image: linear-gradient(to top, black, rgba(119, 119, 119, 0.5));
    position: absolute;
    height: inherit;
    box-sizing: border-box; }
  .conversation-header-grid {
    display: grid;
    grid-template-rows: 4.875rem auto 2rem;
    position: relative; }
    @media (max-width: 600px) {
      .conversation-header-grid {
        grid-template-rows: 3rem auto 2rem; } }
  .conversation-header-content {
    position: relative;
    z-index: 2;
    grid-row: 2;
    display: flex;
    row-gap: .5rem;
    flex-flow: column; }
  .conversation-header__gradient, .conversation-header--default-img {
    width: 100%;
    background-size: cover; }
  .conversation-header__label, .conversation-header__label--dark {
    color: white;
    font-weight: 600;
    text-transform: uppercase;
    font-size: .75em;
    font-family: 'Work Sans'; }
  .conversation-header__label--dark {
    color: #000000; }
  .conversation-header__text {
    color: #000;
    font-weight: 400;
    font-family: 'Work Sans';
    font-size: 1.5em;
    text-transform: unset; }
    @media only screen and (max-width: 320px) {
      .conversation-header__text {
        max-height: 64px;
        overflow-y: scroll; } }
    .conversation-header__text--white {
      color: white; }
  .conversation-header__pipe {
    color: #552F91; }
  .conversation-header__numbers {
    position: absolute;
    top: 2.5rem;
    right: 4rem;
    display: flex;
    gap: 1rem;
    height: 2.625rem;
    background-color: white;
    color: #000;
    border-radius: 1.8rem;
    display: flex;
    padding: .5rem 1rem;
    font-size: .8em;
    font-weight: 500;
    cursor: pointer; }
    .conversation-header__numbers i {
      font-size: 1.25em; }
    .conversation-header__numbers div {
      display: flex;
      align-items: center; }
    @media (max-width: 600px) {
      .conversation-header__numbers {
        top: 0;
        right: 0;
        height: 2rem;
        font-size: 12px; } }
  .conversation-header__tooltip {
    position: absolute;
    display: flex;
    flex-flow: column;
    top: 3.5rem;
    z-index: 2;
    cursor: pointer; }
    .conversation-header__tooltip div:first-child {
      margin-bottom: .2rem; }
    .conversation-header__tooltip div:nth-child(2) {
      padding: .2rem 1rem;
      border-radius: .5rem;
      background-color: #DDD5E9;
      color: #000; }
    @media (max-width: 600px) {
      .conversation-header__tooltip {
        top: 2rem; } }
  .conversation-header .conversation-header-btn {
    background-color: white;
    width: 41px;
    height: 41px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    flex-direction: column;
    cursor: pointer; }
  .conversation-header .conversation-dashboard div {
    text-align: center; }
  .conversation-header .conversation-dashboard div {
    color: #000; }

.conversation-sharing {
  position: absolute;
  bottom: 0;
  width: calc(100% - 300px);
  height: 3.75rem;
  background-color: #552F91;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer; }
  .conversation-sharing--full-width {
    width: 100%; }
  .conversation-sharing-content {
    color: white;
    display: flex;
    gap: 1.25rem; }
    .conversation-sharing-content__text {
      display: flex;
      gap: 1rem; }
      .conversation-sharing-content__text div {
        display: flex;
        background-color: white;
        border-radius: 50%;
        width: 1.5rem;
        height: 1.5rem;
        justify-content: center; }
        .conversation-sharing-content__text div i {
          color: #552F91; }
      .conversation-sharing-content__text span {
        text-transform: uppercase;
        font-weight: bold; }
    @media (max-width: 600px) {
      .conversation-sharing-content {
        flex-flow: column; }
        .conversation-sharing-content__text {
          justify-content: center; } }
  @media (max-width: 600px), (max-height: 800px) {
    .conversation-sharing {
      grid-row: 2;
      grid-column: 1 / 4;
      position: unset !important;
      width: unset;
      font-size: 14px;
      height: 5.375rem;
      text-align: center;
      padding: 1rem; }
      .conversation-sharing-content {
        gap: .5rem; } }
.content-grid.margin-y3, .margin-y3.tools {
  position: relative; }

.conversation-balloon .content-grid, .conversation-balloon .tools {
  grid-template-columns: minmax(4%, auto) minmax(auto, 1400px) minmax(14%, auto); }
  @media (max-width: 875px) {
    .conversation-balloon .content-grid, .conversation-balloon .tools {
      grid-template-columns: 3% auto 3%; } }
.conversation-balloon article {
  background: rgba(48, 191, 215, 0.15);
  text-align: left; }
  .conversation-balloon article #add-more-comments {
    margin-bottom: 1rem;
    color: #552F91 !important;
    text-transform: initial; }

.conversation-balloon h1 {
  font-family: "Work Sans", sans-serif; }

.conversation-balloon__social {
  align-items: stretch;
  display: flex;
  flex-flow: row;
  justify-content: space-between;
  padding-left: 3rem;
  padding-right: 3rem;
  bottom: 1.5rem;
  position: relative; }
  .conversation-balloon__social > * {
    min-width: 0; }
  .conversation-balloon__social i {
    color: #552F91; }

.conversation-balloon input,
.conversation-balloon textarea {
  background: white;
  border-radius: 0.375rem;
  max-width: 100%; }

.conversation-balloon textarea {
  height: 4.5rem;
  font-size: 1.5rem; }

.conversation-balloon__tags {
  margin-top: 1.5rem; }
  .conversation-balloon__tags label {
    margin-bottom: 0; }

.conversation-balloon__title label {
  margin-bottom: .5rem; }

.conversation-balloon__title input {
  margin-bottom: 0; }

.conversation-balloon__question {
  margin-bottom: 0; }

.conversation-balloon .helptext {
  width: 85%;
  margin-top: 1rem; }

.conversation-balloon .errorlist {
  margin-top: 0.875rem; }

.conversation-balloon label,
.conversation-form label,
.board-form label {
  color: #052b47;
  font-family: 'Work Sans', sans-serif;
  font-size: 1.1em;
  font-weight: 400; }

.conversation-balloon label span {
  display: inline-block; }

.conversation-balloon label span::first-letter {
  text-transform: capitalize; }

.conversation-balloon label:first-letter,
.conversation-form div label:first-letter {
  text-transform: capitalize !important; }

.conversation-form {
  width: 100%;
  margin-top: 3.188rem;
  display: grid;
  grid-template-columns: minmax(4%, auto) minmax(auto, 1400px) minmax(14%, auto); }
  @media only screen and (max-width: 900px) {
    .conversation-form {
      grid-template-columns: 3% auto 3%;
      padding: 1.5rem; } }
  .conversation-form__h3 {
    font-size: 1.5rem; }
  .conversation-form__h4 {
    font-family: 'Work Sans', sans-serif;
    font-size: 1.125rem;
    font-weight: 700;
    margin-bottom: 0; }
  .conversation-form__duration {
    display: flex;
    gap: 1rem;
    flex-wrap: wrap; }
    .conversation-form__duration input {
      margin-bottom: 0; }
  .conversation-form__custom-richtext {
    margin-top: 1.75rem; }
    .conversation-form__custom-richtext__text {
      margin-top: 0.375rem; }
    .conversation-form__custom-richtext .django-ckeditor-widget {
      width: 100%; }
  .conversation-form .checkbox {
    display: flex;
    gap: 1rem;
    align-items: baseline;
    padding-left: 0.5rem; }
  .conversation-form label {
    margin-top: 1rem; }
  .conversation-form .helptext {
    width: 85%;
    margin-top: 1rem; }
  .conversation-form .block input[type="number"] {
    margin: 0.375rem 0 0.688rem 0; }
  .conversation-form__create-button {
    float: right; }
    @media (max-width: 875px) {
      .conversation-form__create-button {
        text-align: center;
        float: none; } }
    .conversation-form__create-button .is-primary.button, .conversation-form__create-button .button.conecta-buttons__deny-btn,
    .conversation-form__create-button .button.conecta-profile-form__deny-btn, .conversation-form__create-button .welcome-page__buttons a, .welcome-page__buttons .conversation-form__create-button a {
      padding: 0 3.375rem; }
  .conversation-form label {
    margin-bottom: unset !important; }
  .conversation-form input {
    margin: 0.375rem 0 !important; }
  .conversation-form .form-component__drop-box {
    margin: 0.375rem 0;
    padding: 1.875rem 3.125rem;
    border-radius: 5px;
    border: 2px dashed #E5E7EB;
    background: #F9FAFB;
    text-align: center;
    height: 305px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 0.875rem; }
    @media only screen and (max-width: 320px) {
      .conversation-form .form-component__drop-box {
        padding: 1.875rem 2rem; } }
  .conversation-form .form-component__drop-box:nth-child(4) {
    margin-top: .813rem; }
  .conversation-form .form-component__image {
    color: #30BFD3;
    font-weight: bold;
    display: block; }
  .conversation-form .form-component__image-name {
    color: #6B7280;
    font-size: x-small; }
  .conversation-form .form-component__message {
    margin-top: 1.813rem; }
    .conversation-form .form-component__message__label {
      margin-bottom: .75rem;
      color: #052b47;
      font-size: 1em;
      font-style: normal;
      font-weight: 700;
      line-height: 1.5rem;
      text-transform: initial; }
  .conversation-form .form-component__upload-buttons {
    display: flex;
    justify-content: center;
    gap: 1.875rem; }
    .conversation-form .form-component__upload-buttons--remove, .conversation-form .form-component__upload-buttons--view {
      text-transform: uppercase; }
    .conversation-form .form-component__upload-buttons--remove {
      color: #552F91; }
    .conversation-form .form-component__upload-buttons--view {
      color: #777777; }
  .conversation-form .form-component--uploaded {
    display: flex;
    flex-direction: column;
    gap: 0.875rem; }
    @media only screen and (max-width: 320px) {
      .conversation-form .form-component--uploaded {
        width: 90%; } }
.dropzone .upload {
  display: flex;
  padding: .5rem .75rem;
  justify-content: center;
  align-items: center;
  gap: .5rem;
  border-radius: 5px;
  background: #30BFD3;
  margin: auto;
  height: 2.5rem;
  text-transform: initial; }

.dropzone label {
  text-align: center;
  margin-bottom: 1rem !important;
  text-transform: initial; }

.dropzone__hint-size {
  color: #6B7280 !important;
  text-align: center;
  font-size: 0.85em;
  font-style: normal;
  font-weight: 700;
  line-height: normal; }

.dropzone--label-margin-0 {
  margin-bottom: 0; }

.dropzone__upload-card-content {
  text-align: center;
  font-size: 1.15em;
  font-style: normal;
  font-weight: 700;
  line-height: 1.5rem;
  color: #6B7280; }
  .dropzone__upload-card-content__field-title {
    color: #6B7280;
    text-align: center;
    font-size: 1em;
    font-style: normal;
    font-weight: 700;
    line-height: 1.5rem; }
  .dropzone__upload-card-content__hint {
    font-weight: 400; }

.comment-form {
  padding: 2.25rem;
  margin-left: 0.75rem;
  margin-right: 0.75rem;
  width: 100%;
  border-radius: 0.75rem; }

.comment-form {
  text-align: center;
  color: #000;
  background: rgba(48, 191, 215, 0.15); }
  .comment-form label {
    font-weight: 400;
    margin-bottom: 0.75rem;
    color: #000;
    text-transform: none; }
  .comment-form textarea {
    margin: 1.5rem 0 0 0;
    min-height: 10em;
    width: 100%; }
  .comment-form form {
    margin: 0; }
  .comment-form__count {
    font-size: 0.75rem;
    bottom: 2rem;
    color: rgba(0, 0, 0, 0.5);
    float: right;
    position: relative;
    right: 0.5rem; }
    @media screen and (min-width: 35rem) {
      .comment-form__count {
        font-size: 0.75rem; } }
    @media screen and (min-width: 50rem) {
      .comment-form__count {
        font-size: 0.75rem; } }
    @media screen and (min-width: 75rem) {
      .comment-form__count {
        font-size: 0.75rem; } }
  .comment-form input[type=submit] {
    background: #552F91;
    border-color: var(--theme-color, #552F91);
    margin-bottom: 0; }

.extra-content {
  text-align: center;
  margin: 2rem auto;
  width: 75%; }
  .extra-content h1 {
    font-size: 1.125rem;
    text-transform: uppercase;
    color: #552F91;
    font-family: "Gothic";
    font-weight: 700; }
    @media screen and (min-width: 35rem) {
      .extra-content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 50rem) {
      .extra-content h1 {
        font-size: 1.125rem; } }
    @media screen and (min-width: 75rem) {
      .extra-content h1 {
        font-size: 1.1875rem; } }
.voting-card {
  border-radius: 5px;
  background: rgba(48, 191, 211, 0.15);
  padding: 2.875rem 2.625rem 1.531rem 3rem;
  grid-row: 1; }
  @media (max-width: 375px) {
    .voting-card {
      bottom: unset !important; } }
  .voting-card__header {
    display: flex;
    flex-wrap: wrap;
    margin: 1rem 0 3.25rem 0;
    gap: 1rem;
    align-items: center; }
  .voting-card__progress {
    display: flex;
    max-width: 8.5rem; }
    .voting-card__progress-bar {
      margin: unset;
      width: 6.1875rem;
      position: relative; }
      .voting-card__progress-bar__progress, .voting-card__progress-bar__fg {
        border-color: #000000; }
      .voting-card__progress-bar__progress {
        background-color: white; }
      .voting-card__progress-bar__fg {
        position: absolute;
        background-color: #000000;
        left: 0; }
    .voting-card__progress__values {
      color: #000000;
      font-family: Work Sans;
      font-size: 0.75rem;
      font-style: normal;
      font-weight: 500;
      line-height: 1.25rem;
      text-transform: uppercase;
      width: fit-content; }
  .voting-card__label {
    color: #777777;
    font-family: Work Sans;
    text-transform: uppercase;
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 500;
    line-height: 1.25rem; }
  .voting-card__label--bold {
    font-weight: 600 !important; }
  .voting-card__label--underline {
    text-decoration: underline; }
  .voting-card__add-comment {
    display: flex;
    width: max-content;
    background-color: white;
    border-radius: 0.3125rem;
    padding: 0.375rem; }
    .voting-card__add-comment--summary {
      display: inline;
      margin-right: 1.938rem; }
    .voting-card__add-comment i {
      margin-left: 0rem; }
    .voting-card__add-comment:hover {
      color: #777777; }
  .voting-card hr {
    border: 1px solid white; }
  .voting-card__comment {
    color: #000;
    font-family: "Work Sans";
    font-size: 1.25rem;
    font-style: normal;
    line-height: 125%;
    margin: 0.5rem 0 2.125rem 0;
    transition: opacity 1s;
    display: flex;
    gap: 1rem;
    margin-top: 1.5rem; }
    .voting-card__comment-avatar img {
      width: 48px;
      height: 48px;
      max-width: unset !important; }
    .voting-card__comment--show {
      opacity: 1 !important; }
  .voting-card textarea {
    border-radius: 0;
    border-color: transparent !important;
    max-width: none;
    padding: 1rem 1.125rem;
    margin: 0.75rem 0 1.063rem; }
  .voting-card .comment__buttons {
    display: flex;
    gap: 0.75rem;
    float: right;
    flex-wrap: wrap; }
    @media (max-width: 875px) {
      .voting-card .comment__buttons {
        margin: 1rem 0 0 0; } }
    .voting-card .comment__buttons--white, .voting-card .comment__buttons--blue, .voting-card .comment__buttons--gray {
      display: flex;
      padding: 0.875rem 1.5rem;
      align-items: center;
      justify-content: center;
      border-radius: 25px;
      border-color: transparent; }
    .voting-card .comment__buttons--white {
      background: white;
      color: #052B47; }
    .voting-card .comment__buttons--blue {
      background: #052B47;
      color: white; }
    .voting-card .comment__buttons--gray {
      background: #BABABA;
      color: #777777; }
  .voting-card__voting-form {
    margin-bottom: 0; }
    .voting-card__voting-form__back {
      display: none; }
    .voting-card__voting-form__choices {
      display: flex;
      gap: 2.25rem;
      flex-wrap: wrap;
      justify-content: center; }
      .voting-card__voting-form__choices--agree, .voting-card__voting-form__choices--disagree, .voting-card__voting-form__choices--skip {
        display: flex;
        height: 2.375rem;
        width: 8rem;
        justify-content: center;
        align-items: center;
        border-radius: 5px;
        font-size: 1rem;
        font-style: normal;
        line-height: normal;
        text-transform: lowercase;
        padding: 0;
        letter-spacing: 0px; }
        .voting-card__voting-form__choices--agree i, .voting-card__voting-form__choices--disagree i, .voting-card__voting-form__choices--skip i {
          color: white; }
      .voting-card__voting-form__choices--agree {
        background-color: #18AE00;
        border: 1px solid #18AE00; }
      .voting-card__voting-form__choices--disagree {
        background-color: #C70000;
        border: 1px solid #C70000; }
      .voting-card__voting-form__choices--skip {
        background-color: transparent;
        border: 1px solid #000000;
        color: #000000; }
        .voting-card__voting-form__choices--skip i {
          color: #000000;
          transform: rotate(45deg); }
      @media (max-width: 430px) {
        .voting-card__voting-form__choices {
          gap: 1rem; } }
  .voting-card__message {
    padding: 1rem 0 2rem 0;
    color: #000000;
    font-family: "Work Sans";
    font-size: 1.5em;
    font-style: normal;
    font-weight: 300;
    line-height: 125%; }
    .voting-card__message p {
      margin: 0; }
  @media (max-width: 600px) {
    .voting-card {
      padding: 1.875rem 1.625rem 0.531rem 2rem;
      grid-column: 1 / 4; }
    .voting-card textarea {
      height: 30vh; }
    .voting-card__comment-avatar {
      display: none; } }
.comment-card {
  max-height: 529px; }
  @media (max-width: 875px) {
    .comment-card {
      max-height: unset; } }
  .comment-card__limit-tooltip {
    color: white;
    font-size: 1rem;
    place-items: center;
    padding: 0 0.75rem;
    border-radius: 5px;
    background: #FF3D72;
    width: fit-content;
    min-height: 43px;
    margin-bottom: 21px; }
    .comment-card__limit-tooltip__arrow {
      color: #FF3D72;
      width: 0;
      height: 0;
      border-left: 10px solid transparent;
      border-right: 10px solid transparent;
      border-top: 10px solid #FF3D72;
      position: relative;
      left: 80%;
      top: 100%; }
  .comment-card__submit-container {
    margin-bottom: 1.3125rem;
    display: grid;
    justify-items: end; }

.no-margin {
  margin: 0; }

.voting-card__voting-form__choices--disagree .loader, .voting-card__voting-form__choices--disagree .conecta-loader,
.voting-card__voting-form__choices--agree .loader,
.voting-card__voting-form__choices--agree .conecta-loader {
  border: 2px solid white !important; }

.voting-card__voting-form__choices--skip .loader, .voting-card__voting-form__choices--skip .conecta-loader {
  border: 2px solid #000000 !important; }

.voting-card__voting-form__choices--disagree .loader, .voting-card__voting-form__choices--disagree .conecta-loader,
.voting-card__voting-form__choices--agree .loader,
.voting-card__voting-form__choices--agree .conecta-loader,
.voting-card__voting-form__choices--skip .loader,
.voting-card__voting-form__choices--skip .conecta-loader {
  margin-top: unset !important;
  border-bottom-color: transparent !important; }

@media (max-width: 875px) {
  .body {
    margin: unset !important; } }

.main-header {
  height: 4rem; }
  .main-header__logo img {
    height: 3rem; }

.comment-card {
  max-height: unset !important; }

.conecta-loader {
  position: absolute;
  top: 1em;
  left: calc(50% - 1.5em);
  width: 3em;
  height: 3em;
  margin: unset; }

.moderate label {
  display: grid;
  text-indent: 0;
  grid-gap: .5rem; }

.moderate .hide {
  display: none; }

.moderate textarea {
  max-width: unset;
  border-radius: .3125rem;
  margin-bottom: .375rem !important; }

.moderate .comment-container__error-message {
  transition: .35s;
  height: 0;
  visibility: hidden;
  color: #E20000; }

.moderate .comment-container.active textarea {
  animation: background-alert;
  animation-duration: 3s;
  animation-iteration-count: infinite; }

.moderate .comment-container.active .comment-container__error-message {
  visibility: visible;
  height: inherit; }

.moderate .comments-panel {
  display: grid;
  width: 100%;
  grid-template-rows: auto auto;
  grid-template-columns: 1fr 1fr;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: .5rem; }
  .moderate .comments-panel__add-btn {
    text-transform: uppercase;
    font-weight: bold;
    justify-self: start;
    grid-row: 1/span 1;
    grid-column: 1/span 2; }
  .moderate .comments-panel__save-btn, .moderate .comments-container__save-btn {
    background-color: #052b47;
    border-color: #052b47;
    justify-self: end;
    grid-row: 2/span 1;
    grid-column: 2/span 1; }
  .moderate .comments-panel__error-container {
    transition: opacity .5s linear 0s, height .05s linear .5s;
    color: #E20000;
    opacity: 0;
    height: 0;
    font-size: .75rem;
    margin-top: .5rem;
    text-transform: none; }
    .moderate .comments-panel__error-container.show {
      opacity: 1;
      height: auto; }

.moderate .comments-container__message {
  color: #777; }

.moderate .comments-container__save-btn {
  float: right; }

.moderate .comment {
  background-color: #E5E5E5;
  border-radius: .3125rem; }
  .moderate .comment__text {
    font-size: 1.125rem; }
  .moderate .comment__details {
    padding-top: .5rem;
    font-size: .875rem;
    margin-bottom: .5rem; }
    .moderate .comment__details > * {
      font-weight: bold; }
  .moderate .comment__date {
    color: #777; }
  .moderate .comment__actions {
    display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 2.5rem; }
  .moderate .comment__action {
    background: none;
    border: none;
    letter-spacing: unset;
    line-height: unset;
    height: unset;
    margin: 0;
    border-radius: .3125rem;
    padding: 0.25rem 0.625rem;
    text-transform: lowercase;
    font-weight: bold;
    font-size: 1rem;
    color: #000000; }
    .moderate .comment__action > * {
      transition: 0s; }
    .moderate .comment__action i {
      margin-left: 0; }
    .moderate .comment__action:hover {
      box-shadow: unset; }
  .moderate .comment.rejected .comment__action.reject-btn, .moderate .comment.approved .comment__action.approve-btn {
    color: white;
    background: #000000; }

@keyframes background-alert {
  0%, 100% {
    background-color: rgba(226, 0, 0, 0.05); }
  50% {
    background-color: rgba(226, 0, 0, 0.15); } }

#terms-modal {
  visibility: hidden;
  opacity: 1;
  font-family: 'Gothic'; }
  #terms-modal .tour-card {
    height: unset; }
  #terms-modal .terms-modal__close-icon, #terms-modal .terms-modal__title {
    color: white;
    font-size: 1.5rem; }
  #terms-modal .terms-modal__title {
    font-family: 'Buendia';
    flex-grow: 1; }
  #terms-modal .terms-modal__header {
    height: 3.8rem;
    padding: 1rem;
    display: flex;
    background-color: #552F91; }
  #terms-modal .terms-modal__body {
    background: white;
    padding: 2rem 1rem;
    background-color: whitesmoke; }
  #terms-modal .terms-modal__content {
    overflow: scroll;
    height: 17.5rem;
    border: unset;
    background: white; }

#public-tag-buttons, #my-tag-buttons {
  display: none; }

#public-conversations, #my-conversations {
  grid-column: 1/4; }

.move-icon {
  transform: rotate(-90deg); }

.public-tag-header, .my-tag-header, .comments-tag-header {
  display: flex !important;
  place-items: baseline;
  background-color: #D9D9D9;
  padding: 1rem;
  flex-flow: wrap;
  row-gap: 0.75rem;
  column-gap: 1.25rem; }
  .public-tag-header button, .my-tag-header button, .comments-tag-header button {
    margin-bottom: unset !important; }
  .public-tag-header #public-tag-choice, .my-tag-header #public-tag-choice, .comments-tag-header #public-tag-choice {
    width: auto;
    border-radius: 5px;
    height: 2.25rem;
    min-width: 13rem;
    margin: 0 .438rem 0 0; }
  .public-tag-header #my-tag-choice, .public-tag-header #my-all-tags, .public-tag-header .my-tag-header--add, .my-tag-header #my-tag-choice, .my-tag-header #my-all-tags, .my-tag-header .my-tag-header--add, .comments-tag-header #my-tag-choice, .comments-tag-header #my-all-tags, .comments-tag-header .my-tag-header--add {
    display: none; }
  .public-tag-header .public-tag-header--add--not-allowed, .my-tag-header .public-tag-header--add--not-allowed, .comments-tag-header .public-tag-header--add--not-allowed {
    cursor: not-allowed; }
  .public-tag-header--add, .my-tag-header--add, .comments-tag-header--add {
    color: white;
    background: #30BFD3;
    border: 3px solid #30BFD3;
    box-sizing: border-box;
    border-radius: 5px;
    width: 2.25rem;
    height: 2.25rem;
    display: flex;
    margin: 0 1.5rem 0 0; }
    .public-tag-header--add i, .my-tag-header--add i, .comments-tag-header--add i {
      margin: auto 0.6em; }
  .public-tag-header__tags, .my-tag-header__tags, .comments-tag-header__tags {
    display: flex;
    gap: .75rem;
    flex-flow: wrap; }
    .public-tag-header__tags--selected, .my-tag-header__tags--selected, .comments-tag-header__tags--selected {
      border: 1px solid #FF3D72;
      background-color: #FF3D72;
      color: white; }
    .public-tag-header__tags--unselected, .my-tag-header__tags--unselected, .comments-tag-header__tags--unselected {
      background-color: white;
      border: 1px solid white;
      color: #052b47; }
    .public-tag-header__tags--selected, .public-tag-header__tags--unselected, .my-tag-header__tags--selected, .my-tag-header__tags--unselected, .comments-tag-header__tags--selected, .comments-tag-header__tags--unselected {
      border-radius: 5px;
      font-size: 0.75rem;
      font-weight: 700;
      padding: 0 .75rem;
      height: 1.5rem;
      line-height: 0; }
  .public-tag-header__all--unselected, .my-tag-header__all--unselected, .comments-tag-header__all--unselected {
    border: 1px solid white;
    background-color: white;
    color: #FF3D72; }
  .public-tag-header__all--selected, .my-tag-header__all--selected, .comments-tag-header__all--selected {
    border: 1px solid #FF3D72;
    background-color: #FF3D72;
    color: white; }
  .public-tag-header__all--unselected, .public-tag-header__all--selected, .my-tag-header__all--unselected, .my-tag-header__all--selected, .comments-tag-header__all--unselected, .comments-tag-header__all--selected {
    border-radius: 5px;
    font-weight: 700;
    padding: 0 .75rem;
    height: 1.5rem;
    line-height: 0; }
  .public-tag-header__tooltip, .my-tag-header__tooltip, .comments-tag-header__tooltip {
    color: white;
    font-size: 1rem;
    display: inline-flex;
    place-items: center;
    padding: .75rem;
    padding-left: 0;
    border-radius: 5px;
    background: #FF3D72;
    max-width: 16.563rem;
    height: 62px;
    position: relative;
    top: 5px;
    margin-right: 0.313rem; }
    .public-tag-header__tooltip__arrow, .my-tag-header__tooltip__arrow, .comments-tag-header__tooltip__arrow {
      color: #FF3D72;
      border-top: 10px solid transparent;
      border-bottom: 10px solid transparent;
      border-right: 10px solid #FF3D72;
      border-left: 0;
      position: relative;
      right: .563rem; }

.comments-tag-header {
  background-color: unset !important;
  margin-top: 1.75rem;
  margin-bottom: 1.75rem;
  padding: 0; }
  .comments-tag-header--no-margin {
    margin-left: 0; }
  .comments-tag-header #comments-status-buttons {
    display: contents; }

.home-header--add {
  color: #30BFD3 !important;
  font-size: 1rem; }

.my_conversations, .contributions-comments, .contribution-votes {
  margin-bottom: 2.5rem; }
  .my_conversations__message, .contributions-comments__message, .contribution-votes__message {
    margin: 1.75rem;
    color: #777777;
    font-size: 1rem;
    font-style: normal;
    font-weight: 500;
    line-height: normal;
    margin-left: 0; }
    .my_conversations__message--no-margin-top, .contributions-comments__message--no-margin-top, .contribution-votes__message--no-margin-top {
      margin-top: 0; }

#current-votes hr {
  margin-top: 2.281rem; }

#comments-current-cards {
  display: grid;
  grid-template-columns: repeat(2, 50%);
  grid-column-gap: 1.625rem;
  grid-row-gap: 1.5rem;
  color: #052b47;
  font-weight: 500; }

.contribution-votes__card {
  margin: 1.75rem 0 0 0;
  display: grid;
  grid-template-columns: auto auto;
  grid-column-gap: 1.938rem;
  grid-row-gap: 2.25rem; }

.conversation-summary {
  display: flex;
  margin-bottom: .938rem; }
  .conversation-summary__title {
    color: #052b47;
    font-size: 20px;
    font-style: normal;
    font-weight: 700;
    line-height: normal; }
  .conversation-summary .span-icon {
    font-size: 14px;
    font-weight: 700;
    line-height: 24px;
    margin-left: -5px;
    color: #30BFD3; }

.comment-summary {
  padding: 1.125rem 1.188rem;
  border-radius: 5px;
  background: #E5E5E5;
  max-width: 43.75rem; }
  .comment-summary__status {
    color: #FF3D72;
    font-size: 1rem;
    font-style: normal;
    font-weight: 700;
    line-height: normal; }
  .comment-summary__info {
    color: #777777;
    font-family: Work Sans;
    font-size: .75rem;
    font-style: normal;
    font-weight: 400;
    line-height: 1.25rem;
    text-transform: uppercase;
    display: inline-block; }
  .comment-summary__title {
    margin: 1.25rem 0;
    display: block;
    font-weight: 500;
    line-height: normal; }

.home-tabs {
  display: flex;
  border-bottom: 1px solid #bababa;
  overflow: unset;
  margin-top: 1.5rem; }
  .home-tabs__add {
    display: flex;
    align-items: center;
    white-space: nowrap;
    margin-right: 2.625rem;
    padding-bottom: 1.6rem; }
    .home-tabs__add i {
      color: #30BFD3;
      margin: 0 0.688rem 0 0; }
    .home-tabs__add a {
      color: #30BFD3;
      font-size: 1rem;
      font-style: normal;
      font-weight: 700;
      line-height: normal;
      text-transform: uppercase; }
  .home-tabs .tabs {
    border-bottom: none; }

.input-container {
  background-color: #E5E5E5;
  justify-content: space-between;
  display: flex;
  align-items: baseline;
  gap: 1.313rem;
  padding: 1rem; }
  .input-container__filter-theme, .input-container__filter-theme:hover {
    color: #F8127E;
    font-family: "Work Sans";
    font-size: 0.75rem;
    font-style: normal;
    font-weight: 700;
    line-height: 24px;
    text-transform: uppercase;
    display: flex; }
  .input-container__search {
    border-radius: 5px !important;
    border: 1px solid white !important;
    height: 2.25rem !important;
    box-sizing: border-box;
    background-position: 0.5rem 0.563rem !important;
    background-size: 1.25rem !important;
    background-repeat: no-repeat !important;
    padding: 0.6875rem 0px 0.6875rem 2.1875rem !important;
    background: url("/static/img/icons/blue-search.svg");
    width: 51.5% !important;
    color: #000;
    margin: 0px !important;
    font-size: 0.75rem !important; }
    .input-container__search::placeholder {
      color: #777777; }
  .input-container__warn-message {
    color: #C70000;
    font-size: 0.75rem;
    font-weight: 400;
    grid-template-columns: none;
    margin-top: 0.2rem; }
  @media (max-width: 875px) {
    .input-container {
      flex-wrap: wrap;
      gap: 0; }
    .input-container__search {
      min-width: 100% !important;
      margin: 0 0 12px 0 !important; } }
.search-filter-container {
  margin-bottom: 0.5rem; }
  @media (max-width: 875px) {
    .search-filter-container {
      margin-bottom: 0rem;
      grid-column: 1/4; } }
@media only screen and (max-width: 320px) {
  .public-tag-header #public-tag-choice, .my-tag-header #public-tag-choice, .comments-tag-header #public-tag-choice {
    width: 80%;
    margin: 0 .438rem 0 0; }
  .public-tag-header--add, .my-tag-header--add, .comments-tag-header--add {
    margin: 0px 0.7rem 0 0; }
  .comments-tag-header #all-comments-button {
    margin-left: 0; }
  .comment-summary {
    font-size: .75rem; }
  #comments-current-cards {
    grid-template-columns: none; }
  .contribution-votes__card {
    grid-template-columns: none; }
  .home-tabs {
    overflow: scroll hidden; }
    .home-tabs__add {
      padding-bottom: 1.5rem; } }

@media (max-width: 875px) and (min-width: 321px) {
  .public-tag-header__tooltip__arrow, .my-tag-header__tooltip__arrow, .comments-tag-header__tooltip__arrow {
    bottom: 2.1rem;
    transform: rotate(90deg);
    left: 1rem; }
  .home-tabs {
    overflow: scroll hidden;
    scrollbar-width: none; }
    .home-tabs__add {
      padding-bottom: 1.5rem; }
    .home-tabs::-webkit-scrollbar {
      display: none;
      /* Safari and Chrome */ }
  #comments-current-cards {
    grid-template-columns: none; }
  .comment-summary {
    font-size: .75rem; }
  .contribution-votes__card {
    grid-template-columns: none; } }

#comment-anchor {
  color: #552F91;
  cursor: pointer;
  text-decoration: none; }

.welcome-page {
  background-color: #F2F2F2;
  text-align: center;
  height: calc(100vh - 64px);
  display: grid;
  grid-template-rows: 10% 50% 15% 15%;
  grid-template-columns: 10% auto 10%;
  font-size: 16px;
  grid-template-areas: ". header ." ". content ." ". buttons ." ". logos . "; }
  .welcome-page-content {
    grid-area: content;
    max-width: 900px;
    margin: auto; }
    .welcome-page-content h1 {
      font-size: 4em;
      margin: 2rem 0; }
    .welcome-page-content__subtitle {
      color: #552F91;
      font-size: 2em;
      line-height: 1.2em;
      text-align: center;
      margin-bottom: 2rem;
      letter-spacing: 0; }
    @media only screen and (max-width: 450px) {
      .welcome-page-content {
        margin: unset !important; } }
  .welcome-page__buttons {
    grid-area: buttons;
    gap: 1rem;
    display: flex;
    flex-wrap: wrap; }
    .welcome-page__buttons div {
      width: 100%; }
      .welcome-page__buttons div a {
        text-transform: unset;
        font-size: 1.5em; }
    .welcome-page__buttons div:first-child a {
      background-color: #14C4B2;
      border: 1px solid #14C4B2;
      color: #000; }
    .welcome-page__buttons div:first-child a:hover {
      border: 1px solid #552F91; }
    .welcome-page__buttons__button,
    .welcome-page__buttons a[class="is-primary button"] {
      max-width: 25rem;
      margin: auto;
      width: 100%; }
    .welcome-page__buttons a {
      border-radius: 0.2rem;
      font-family: "Buendia", sans-serif;
      padding: 0.5rem 0;
      box-sizing: content-box; }
    .welcome-page__buttons__button {
      background-color: #00D9C7;
      font-family: "Buendia", sans-serif;
      border-color: #00D9C7;
      border-radius: 0;
      color: #000000;
      text-transform: lowercase !important;
      font-family: "Buendia", sans-serif;
      font-size: 1.5em;
      font-weight: 400;
      letter-spacing: 0;
      height: 5rem; }
  .welcome-page .developed-by {
    grid-area: logos;
    margin-top: 2rem;
    position: relative; }
    .welcome-page .developed-by-container {
      width: 21rem;
      position: absolute;
      right: calc(50% - 10.68rem);
      bottom: 0; }
    .welcome-page .developed-by .logos {
      display: flex;
      justify-content: space-evenly;
      margin-top: 1rem; }
      .welcome-page .developed-by .logos a {
        border-radius: unset;
        padding: unset;
        box-sizing: unset;
        background-color: unset;
        border-color: unset;
        border: unset; }
    .welcome-page .developed-by #pencillabs img {
      width: 7.375rem; }
    .welcome-page .developed-by #hacklab a {
      text-transform: unset;
      color: #000;
      font-size: 1.2em; }
      .welcome-page .developed-by #hacklab a b {
        color: red; }
  @media only screen and (max-height: 768px) {
    .welcome-page {
      grid-template-rows: 2% auto 20% 15%;
      font-size: 14px; }
      .welcome-page-content {
        max-width: 700px; } }
  @media only screen and (max-width: 900px) {
    .welcome-page {
      grid-template-rows: 2% auto 20% 15%;
      font-size: 14px; }
      .welcome-page-content {
        max-width: 700px; } }
  @media only screen and (max-width: 700px) {
    .welcome-page {
      grid-template-rows: 2% auto 20% 15%;
      grid-template-columns: 2% auto 2%;
      font-size: 13px; }
      .welcome-page-content {
        max-width: 600px; } }
  @media only screen and (max-width: 414px) {
    .welcome-page {
      grid-template-rows: 0% 60% 25% 10%;
      grid-template-columns: 1% auto 1%;
      font-size: 11px; }
      .welcome-page__buttons {
        gap: 0.1rem; }
        .welcome-page__buttons__button,
        .welcome-page__buttons a[class="is-primary button"] {
          max-width: 80%; }
      .welcome-page-content {
        max-width: 600px; } }
.conecta-vote-grid {
  grid-template-columns: auto minmax(auto, 900px) auto;
  display: grid; }
  .conecta-vote-grid > * {
    grid-column: 2; }

.conecta-comment-grid {
  grid-template-columns: auto minmax(auto, 1000px) auto;
  display: grid; }
  @media only screen and (max-width: 414px) {
    .conecta-comment-grid .conecta-comment-grid {
      grid-template-columns: 2% auto 2%; } }
  .conecta-comment-grid > * {
    grid-column: 2; }

.conecta-vote-card {
  font-size: 16px;
  position: relative; }
  .conecta-vote-card-header {
    text-align: left;
    box-shadow: 0px 10px 10px #00000033;
    padding: 3em 0 4em 0; }
    .conecta-vote-card-header span {
      font-size: 1.2em;
      font-weight: 600; }
    .conecta-vote-card-header--purple {
      background: #552F91 0% 0% no-repeat padding-box;
      color: #F2F2F2; }
    .conecta-vote-card-header__label {
      font-family: "Gothic";
      font-size: 1.5em;
      letter-spacing: 0px; }
    .conecta-vote-card-header__text--gray {
      color: #F2F2F2;
      font-size: 2.5em !important; }
      @media only screen and (max-width: 414px) {
        .conecta-vote-card-header__text--gray {
          margin: unset;
          font-size: 2em !important; } }
    @media only screen and (max-width: 414px) {
      .conecta-vote-card-header {
        padding: 3em 1em !important;
        width: 100%; } }
.comment-card {
  background: #DDD5E9 0% 0% no-repeat padding-box !important;
  box-shadow: 0px 5px 10px #00000033;
  display: flex;
  flex-direction: column;
  padding: 0 3em 0.5em 2.5em !important;
  font-family: "Gothic";
  font-size: 1.25em;
  border-radius: 0; }
  .comment-card .comment {
    position: relative;
    overflow: scroll;
    scroll-behavior: smooth;
    -ms-overflow-style: none;
    /* IE and Edge */
    scrollbar-width: none; }
    .comment-card .comment::-webkit-scrollbar {
      display: none; }
    .comment-card .comment__text {
      font-family: "Gothic";
      font-weight: 600;
      font-size: 1.4em;
      letter-spacing: 0px;
      margin: unset !important; }
      .comment-card .comment__text--center {
        text-align: center; }
      .comment-card .comment__text--small {
        font-size: 1em;
        font-weight: 400; }
      @media only screen and (max-width: 414px) {
        .comment-card .comment__text {
          font-size: 1em; } }
  .comment-card__progress {
    font-family: "Gothic";
    letter-spacing: 0px;
    font-style: italic;
    font-weight: normal;
    font-size: 0.7em;
    margin: 1rem 0;
    display: flex;
    gap: 1rem;
    justify-content: center; }
    .comment-card__progress div:first-child {
      text-decoration: underline; }
    .comment-card__progress--left {
      justify-content: left; }
  .comment-card__subtitle {
    margin: 0 0 1em 0;
    font-family: "Gothic";
    font-size: 0.85em;
    letter-spacing: 0px;
    font-weight: normal; }
  .comment-card__gradient {
    background: linear-gradient(to bottom, rgba(255, 0, 0, 0), #ddd5e9);
    position: sticky;
    bottom: 0;
    z-index: 10;
    height: 45px;
    width: 100%; }
  .comment-card article {
    text-align: left;
    margin-top: 1.5rem; }
    .comment-card article--end-message {
      color: #552F91;
      font-family: "Gothic";
      font-size: 1em;
      margin: 0;
      padding: 1em; }
    .comment-card article hr {
      max-width: 60%;
      margin: 0 auto 1rem auto;
      border-bottom: 1px solid #262626;
      opacity: 0.8; }
  .comment-card > form {
    max-width: 50rem;
    display: flex;
    margin: auto;
    justify-content: space-evenly;
    flex-wrap: wrap;
    gap: 1rem;
    padding-bottom: 1rem; }
  .comment-card > article {
    font-size: unset !important; }
  .comment-card__button {
    visibility: visible;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around;
    flex-flow: column;
    text-align: center;
    max-width: 8.75rem;
    cursor: pointer; }
    .comment-card__button button {
      outline: 0;
      position: relative !important; }
      .comment-card__button button img {
        max-width: unset;
        width: 5em;
        transition: unset !important; }
        @media only screen and (max-width: 414px) {
          .comment-card__button button img {
            width: 3.5em; } }
    .comment-card__button span {
      font-style: italic;
      font-size: 0.9em;
      text-align: center; }
      @media only screen and (max-width: 414px) {
        .comment-card__button span {
          font-size: 0.75em; } }
    .comment-card__button--hidden {
      visibility: hidden; }
  @media only screen and (max-width: 500px) {
    .comment-card {
      padding: 0 1em !important;
      width: 100%; }
    .comment-card__comment {
      margin: 1rem 0 0 0 !important; }
      .comment-card__comment hr {
        max-width: unset !important;
        width: 100% !important;
        margin: 0 auto 1rem auto !important; } }
.add-comment-form {
  background: transparent;
  grid-template-columns: auto minmax(auto, 800px) auto;
  margin: 1rem 0 0 0; }
  .add-comment-form,
  .add-comment-form form {
    display: flex;
    flex-direction: column;
    align-items: center; }
  .add-comment-form textarea {
    background: white 0% 0% no-repeat padding-box;
    margin-bottom: 1.5em;
    box-shadow: inset 0px 5px 10px #00000029;
    border: 1px solid #DDD5E9;
    letter-spacing: 0px;
    color: #552F91;
    border-radius: 0.5rem;
    padding: 1em;
    font-size: 1em;
    min-height: unset !important;
    height: 5rem;
    resize: none; }
  .add-comment-form textarea::placeholder {
    letter-spacing: 0px;
    color: #552F91BF !important;
    opacity: 0.68; }
  .add-comment-form button {
    width: 180px;
    height: 50px;
    font-size: 1.2em;
    font-family: "Buendia";
    border-radius: 0.2rem;
    background: #9982BD 0% 0% no-repeat padding-box !important;
    border: transparent;
    text-transform: lowercase; }

.conecta-register-form {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: auto 1fr auto;
  margin-bottom: unset;
  gap: 1rem; }
  .conecta-register-form label {
    margin: 0 0 0.5rem 0; }
  .conecta-register-form label,
  .conecta-register-form input[type="submit"].is-primary,
  .conecta-register-form [type="submit"].conecta-buttons__deny-btn,
  .conecta-register-form [type="submit"].conecta-profile-form__deny-btn,
  .conecta-register-form .welcome-page__buttons a[type="submit"],
  .welcome-page__buttons .conecta-register-form a[type="submit"] {
    font-weight: bold !important;
    color: #262626 !important;
    font-family: "Buendia";
    font-size: 1.2em; }
  .conecta-register-form input[type="email"],
  .conecta-register-form input[type="text"] {
    border: 1px solid #DDD5E9 !important;
    border-radius: 100px !important;
    background: #ffffff 0% 0% no-repeat padding-box;
    box-shadow: inset 0px 5px 10px #00000029;
    padding: 0.2rem 1rem;
    box-sizing: content-box; }
    @media (max-width: 700px) {
      .conecta-register-form input[type="email"],
      .conecta-register-form input[type="text"] {
        width: 100% !important; } }
    @media (max-width: 500px) {
      .conecta-register-form input[type="email"],
      .conecta-register-form input[type="text"] {
        width: 90% !important; } }
  .conecta-register-form input[type="email"] {
    width: 90%; }
  .conecta-register-form input[type="text"] {
    width: 40%; }
  .conecta-register-form input[type="submit"].is-primary, .conecta-register-form [type="submit"].conecta-buttons__deny-btn,
  .conecta-register-form [type="submit"].conecta-profile-form__deny-btn, .conecta-register-form .welcome-page__buttons a[type="submit"], .welcome-page__buttons .conecta-register-form a[type="submit"] {
    box-shadow: 0px 3px 10px #00000029;
    background: #552f91 0% 0% no-repeat padding-box;
    border-radius: 0.2rem !important;
    border: 0px !important;
    color: white !important;
    font-weight: 400 !important;
    font-size: 1em;
    text-transform: lowercase;
    max-width: 300px !important;
    display: block;
    height: 60px; }
  .conecta-register-form .margin-xauto,
  .conecta-register-form .span2 {
    grid-column: span 2; }
  .conecta-register-form span {
    font-size: 1em;
    font-weight: 600;
    text-decoration: underline;
    font-family: "Gothic";
    color: #7e7e7e;
    cursor: pointer; }
  .conecta-register-form--centered {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 30px;
    margin: 0 0 1rem 0; }
    .conecta-register-form--centered span {
      font-size: 0.9em; }
    .conecta-register-form--centered input:first-child {
      background: #9982bd 0% 0% no-repeat padding-box !important; }
    @media (max-width: 700px) {
      .conecta-register-form--centered {
        flex-direction: column; } }
  .conecta-register-form__field ul:first-of-type {
    display: none; }
  .conecta-register-form__field input[type="email"],
  .conecta-register-form__field input[type="text"] {
    margin: 0; }
  @media (max-width: 414px) {
    .conecta-register-form .span2.register-form--centered {
      align-items: flex-start; } }
  @media (max-width: 700px) {
    .conecta-register-form {
      display: flex;
      flex-direction: column;
      margin-top: 0;
      gap: 2rem; }
      .conecta-register-form label {
        margin-bottom: 0; }
      .conecta-register-form input[type="submit"].is-primary, .conecta-register-form [type="submit"].conecta-buttons__deny-btn,
      .conecta-register-form [type="submit"].conecta-profile-form__deny-btn, .conecta-register-form .welcome-page__buttons a[type="submit"], .welcome-page__buttons .conecta-register-form a[type="submit"] {
        width: 100% !important; }
      .conecta-register-form span,
      .conecta-register-form input[type="submit"].is-primary,
      .conecta-register-form [type="submit"].conecta-buttons__deny-btn,
      .conecta-register-form [type="submit"].conecta-profile-form__deny-btn,
      .conecta-register-form .welcome-page__buttons a[type="submit"],
      .welcome-page__buttons .conecta-register-form a[type="submit"] {
        font-size: 18px; } }
.conecta-finish-vote {
  background: #00D9C7 0% 0% no-repeat padding-box !important;
  box-shadow: 0px 10px 10px #00000033;
  border: 1px solid #DDD5E9;
  border: 1px solid #DDD5E9; }
  .conecta-finish-vote__btn-purple {
    background: #9982BD 0% 0% no-repeat padding-box;
    border-color: #9982BD;
    box-shadow: 0px 3px 10px #00000029;
    border-radius: 0;
    color: #F2F2F2;
    font-family: "Buendia";
    text-transform: initial;
    font-size: 1em;
    letter-spacing: 0;
    margin-top: 1.5em; }

#profile-info-page {
  background: #ddd5e9 0% 0% no-repeat padding-box;
  height: 100vh; }

.conecta-buttons .profile-btn,
.conecta-profile-form .profile-btn {
  display: flex;
  gap: 3rem; }

.conecta-buttons .justify-center,
.conecta-profile-form .justify-center {
  justify-content: center; }

.conecta-buttons input[type="submit"].is-primary, .conecta-buttons [type="submit"].conecta-buttons__deny-btn,
.conecta-buttons [type="submit"].conecta-profile-form__deny-btn,
.conecta-buttons a,
.conecta-profile-form input[type="submit"].is-primary,
.conecta-profile-form [type="submit"].conecta-buttons__deny-btn,
.conecta-profile-form [type="submit"].conecta-profile-form__deny-btn,
.conecta-profile-form a {
  background: #552f91 0% 0% no-repeat padding-box; }

.conecta-buttons .is-primary-purple,
.conecta-profile-form .is-primary-purple {
  background: #552f91 0% 0% no-repeat padding-box; }

.conecta-buttons input[type="submit"].is-primary, .conecta-buttons [type="submit"].conecta-buttons__deny-btn,
.conecta-buttons [type="submit"].conecta-profile-form__deny-btn, .conecta-buttons .welcome-page__buttons a[type="submit"], .welcome-page__buttons .conecta-buttons a[type="submit"],
.conecta-profile-form input[type="submit"].is-primary,
.conecta-profile-form [type="submit"].conecta-buttons__deny-btn,
.conecta-profile-form [type="submit"].conecta-profile-form__deny-btn,
.conecta-profile-form .welcome-page__buttons a[type="submit"],
.welcome-page__buttons .conecta-profile-form a[type="submit"] {
  box-shadow: 0px 3px 10px #00000029;
  border-radius: 0.2rem !important;
  border: transparent !important;
  color: #f2f2f2 !important;
  font-weight: 400 !important;
  font-size: 1.4em !important;
  text-transform: lowercase !important;
  width: auto !important;
  display: block !important;
  margin: auto !important;
  height: 60px !important;
  font-family: "Buendia" !important;
  letter-spacing: 0 !important; }

.conecta-buttons__deny-btn,
.conecta-profile-form__deny-btn {
  background: #9982bd 0% 0% no-repeat padding-box !important; }

.conecta-buttons--share,
.conecta-profile-form--share {
  display: flex; }

button[name="vote"] {
  all: unset; }

.width-100 {
  width: 100%; }

@media only screen and (max-width: 414px) {
  .comment-form {
    padding: unset !important;
    max-width: unset !important;
    margin: unset !important; }
  textarea {
    min-width: unset !important; }
  .conecta-buttons .profile-btn,
  .conecta-profile-form .profile-btn {
    gap: 2rem;
    flex-direction: column; }
    .conecta-buttons .profile-btn input[type="submit"],
    .conecta-profile-form .profile-btn input[type="submit"] {
      width: 100% !important;
      margin-bottom: 1rem !important; }
  .conecta-vote-grid {
    grid-template-columns: 2% auto 2%; } }

@media only screen and (max-width: 900px) {
  .comment-form {
    max-width: unset !important;
    margin: unset !important; } }

@media (min-width: 1600px) {
  .conecta-profile-form .form-fields {
    display: grid;
    grid-template-areas: "label_is_app_worker label_state label_state" "app_worker state state" "profile-subtitle profile-subtitle profile-subtitle" "label_gender label_race label_birth_date" "gender race birth_date";
    grid-template-rows: repeat(5, auto);
    grid-template-columns: 22% 18% 15%; } }

.visible {
  visibility: visible !important; }

.inputs-min-size input, .inputs-min-size textarea, .inputs-min-size select {
  min-width: unset; }

.profile-photo {
  display: relative; }
  .profile-photo__edit {
    position: absolute;
    top: 45%;
    z-index: 3;
    text-align: center;
    width: 100%;
    cursor: pointer; }
    .profile-photo__edit span {
      color: #000;
      font-weight: bold; }
  .profile-photo__form {
    display: none; }
  .profile-photo--unfocused {
    position: absolute;
    z-index: 1;
    background-color: rgba(196, 196, 196, 0.8);
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    margin-top: 24px; }

#id_profile_photo {
  visibility: hidden; }

.profile-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  column-gap: 2rem;
  padding-bottom: 2.5rem; }
  .profile-header__photo {
    position: relative; }
    .profile-header__photo--rounded {
      border-radius: 50%; }
    .profile-header__photo img {
      object-fit: cover; }
  .profile-header h1 {
    font-size: 2.25rem;
    color: #FF3D72;
    font-family: "Work Sans";
    font-weight: 400; }
  .profile-header h4 {
    font-size: 1rem;
    color: #777777;
    font-family: "Work Sans";
    font-weight: 700;
    margin: 0.62rem 0px; }
  .profile-header--edit {
    position: relative; }
    .profile-header--edit img {
      opacity: 0.3; }
    .profile-header--edit__options {
      position: absolute;
      left: 34%;
      top: 31%;
      z-index: 1;
      opacity: 1; }
      .profile-header--edit__options input {
        display: none; }
      .profile-header--edit__options label {
        color: #052b47; }
      .profile-header--edit__options form {
        display: none; }

.form-element {
  width: 100%;
  padding: 0px 0px; }

.form-profile--row-separation {
  grid-row-gap: 2.56rem;
  padding-top: 1.5rem; }

.form-profile--subtitle {
  font-weight: 500;
  font-size: 24px; }

.form-profile {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-column-gap: 1.4rem;
  grid-row-gap: 1rem; }
  .form-profile span {
    font-family: 'Work Sans';
    font-size: 1rem;
    font-weight: 700;
    color: #777777; }
  .form-profile__name {
    grid-area: 1 / 1 / 2 / 3; }
  .form-profile__email {
    grid-area: 1 / 3 / 2 / 5; }
  .form-profile__city {
    grid-area: 2 / 1 / 3 / 2; }
  .form-profile__state {
    grid-area: 2 / 2 / 3 / 3; }
  .form-profile__country {
    grid-area: 2 / 3 / 3 / 4; }
  .form-profile__birth-date {
    grid-area: 3 / 1 / 4 / 2; }
  .form-profile__occupation {
    grid-area: 3 / 2 / 4 / 4; }
  .form-profile__education {
    grid-area: 3 / 4 / 4 / 5; }
  .form-profile__education--detail {
    grid-area: 3 / 3 / 4 / 5; }
  .form-profile__ethnicity {
    grid-area: 4 / 1 / 5 / 2; }
  .form-profile__gender_other {
    grid-area: 4 / 2 / 5 / 4; }
  .form-profile__political_activity {
    grid-area: 5 / 1 / 7 / 3; }
  .form-profile__political_activity--detail {
    grid-area: 5 / 1 / 7 / 2; }
  .form-profile__biography {
    grid-area: 5 / 3 / 7 / 5; }
  .form-profile__phone {
    grid-area: 5 / 3 / 7 / 5; }
  .form-profile__biography--detail {
    grid-area: 5 / 2 / 7 / 5; }
  .form-profile__current-password {
    grid-area: 1 / 1 / 1 / 1; }
    .form-profile__current-password input[type='password'] {
      margin: -1.125rem 0 0rem 0; }
  .form-profile__new-password {
    grid-area: 2 / 1 / 2 / 2; }
    .form-profile__new-password input[type='password'] {
      margin: -1.125rem 0 0rem 0; }
  .form-profile__confirm-password {
    grid-area: 2; }
  .form-profile__save {
    grid-area: 2;
    align-items: center;
    display: grid; }
    .form-profile__save input {
      margin: 0;
      width: fit-content; }
  .form-profile__edit {
    grid-area: 6 / 4 / 6 / 4; }
  .form-profile select, .form-profile textarea {
    border-radius: 0.3125rem !important; }
  .form-profile--buttons {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-content: end;
    column-gap: 2rem; }
    .form-profile--buttons input, .form-profile--buttons a {
      border: none !important;
      border-radius: 1.5625rem !important; }
    .form-profile--buttons a {
      background-color: #FF3D72 !important; }

@media (max-width: 900px) {
  .profile-header {
    padding: 0px 1.88rem; }
  .form-element {
    padding: 0 0.6rem; }
  .profile-header {
    padding-bottom: 3.6rem; }
  .form-profile--row-separation {
    padding-top: 2.5rem; }
  .form-profile {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap; }
    .form-profile--buttons {
      flex-direction: column;
      align-items: center; }
    .form-profile__save {
      justify-content: center; }
  .profile-header {
    flex-direction: column; }
    .profile-header__text {
      display: flex;
      flex-direction: column;
      align-items: center; }
    .profile-header h1 {
      text-align: center; } }

.form-profile {
  grid-template-rows: repeat(5, 1fr) !important; }

.form-profile__gender_other {
  grid-area: 4 / 2 / 5 / 3 !important; }

input[disabled] {
  border-color: #DDD5E9; }

/* generic classes */
.light-blue-bg {
  background-color: #f2f2f2; }

.report-container .conversation-dashboard .voting-modal-report i {
  color: #14C4B2; }

.report-container .conversation-dashboard .voting-modal-report__content {
  display: flex;
  flex-direction: column;
  background-color: #14C4B2;
  color: #000; }

.report-container .conversation-dashboard .voting-modal-report__triangle {
  border-bottom: 0.9375rem solid #14C4B2; }

.report-container .conversation-dashboard .report-card {
  background-color: #F2F2F2;
  border: 1px solid #F2F2F2; }
  .report-container .conversation-dashboard .report-card__count, .report-container .conversation-dashboard .report-card_label {
    color: #000; }

.report-container .conversation-dashboard .dashboard-card {
  border: 2px solid #F2F2F2;
  background-color: #F2F2F2; }
  .report-container .conversation-dashboard .dashboard-card__value {
    color: #000; }
  .report-container .conversation-dashboard .dashboard-card--blue {
    background-color: #14C4B2;
    color: #000;
    border: 2px solid #14C4B2; }

.charts-section {
  position: relative; }
  .charts-section > .loader, .charts-section > .conecta-loader {
    display: block;
    visibility: hidden;
    opacity: 0;
    width: 50px;
    height: 50px;
    position: absolute;
    left: 48%;
    top: 34%;
    transition: visibility 0s, opacity 0.5s linear;
    z-index: 9999; }

.export-chart-button {
  position: relative; }
  .export-chart-button .export-button {
    transition: visibility 0s, opacity 0.5s linear;
    visibility: visible;
    opacity: 1;
    border: 1px solid #777777;
    border-radius: 0.3125rem;
    color: #777777;
    background-color: white;
    line-height: 1rem;
    text-transform: capitalize;
    padding: 0 0.5rem;
    margin-right: 0.5625rem;
    text-transform: lowercase;
    height: 1.82rem;
    font-weight: 400;
    font-size: 1rem; }

.conecta-header__right-items {
  display: flex;
  gap: 1.5rem; }

.conecta-header .form-language-selector {
  margin-bottom: 0;
  margin-right: 20px; }
  .conecta-header .form-language-selector:hover, .conecta-header .form-language-selector:focus, .conecta-header .form-language-selector:active {
    background-color: transparent;
    border-width: 0px; }
  .conecta-header .form-language-selector select {
    color: #552F91;
    margin: 0;
    min-width: 0;
    padding: 0px 7px;
    border-radius: 6px;
    line-height: 0px;
    border-width: 0px; }
    .conecta-header .form-language-selector select:hover, .conecta-header .form-language-selector select:focus, .conecta-header .form-language-selector select:active {
      background-color: transparent;
      border-width: 0px;
      box-shadow: none; }

.conecta-header .help-text {
  line-height: normal;
  text-align: left;
  font-size: 14px; }
  .conecta-header .help-text a {
    margin: 0;
    color: #552F91BF;
    font-family: 'Buendia', sans-serif; }
    .conecta-header .help-text a span {
      text-transform: lowercase; }

@media (max-width: 700px) {
  .conecta-header .help-text {
    display: none; } }

.conecta-profile-form {
  max-width: 1000px;
  margin: auto;
  background: #F2F2F2 0% 0% no-repeat padding-box;
  box-shadow: 0px 10px 10px #00000033;
  border: 1px solid #DDD5E9;
  padding: 45px; }
  .conecta-profile-form .form-fields {
    display: grid;
    grid-template-rows: auto auto auto;
    grid-template-columns: 33% 10% 25% 1fr; }
    .conecta-profile-form .form-fields > * {
      font-family: 'Buendia' !important;
      letter-spacing: 0px; }
    .conecta-profile-form .form-fields__worker {
      grid-row: 1;
      grid-column: 1; }
    .conecta-profile-form .form-fields__state {
      grid-row: 1;
      grid-column: 3/4; }
    .conecta-profile-form .form-fields .profile-subtitle {
      grid-row: 2;
      grid-column: 1 / 4;
      margin-bottom: 2rem;
      margin-top: 1rem; }
      .conecta-profile-form .form-fields .profile-subtitle span {
        color: #552F91 !important; }
    .conecta-profile-form .form-fields__gender label::after, .conecta-profile-form .form-fields__race label::after, .conecta-profile-form .form-fields__current-age label::after {
      content: ":"; }
    .conecta-profile-form .form-fields__gender {
      grid-row: 3;
      grid-column: 1; }
    .conecta-profile-form .form-fields__race {
      grid-row: 3;
      grid-column: 2 / 4; }
    .conecta-profile-form .form-fields__current-age {
      grid-row: 3;
      grid-column: 4 / 5; }
    .conecta-profile-form .form-fields label {
      text-transform: initial;
      margin-bottom: 0.5em;
      font-size: 1.1em; }
      .conecta-profile-form .form-fields label input {
        letter-spacing: 0px; }
    .conecta-profile-form .form-fields__label--bigger {
      font-size: 1.4em !important;
      font-weight: bold; }
    .conecta-profile-form .form-fields #id_current_age {
      width: 50%;
      margin-top: 0;
      background: #9982BD 0% 0% no-repeat padding-box;
      border: transparent !important;
      border-radius: 35px !important;
      color: #f2f2f2; }
    .conecta-profile-form .form-fields #id_is_app_worker li.active {
      background: #552F91 !important; }
      .conecta-profile-form .form-fields #id_is_app_worker li.active label {
        color: white !important; }
    .conecta-profile-form .form-fields #id_is_app_worker {
      list-style-type: none;
      margin-bottom: 2rem;
      display: flex; }
      .conecta-profile-form .form-fields #id_is_app_worker li {
        float: left;
        margin: 0 20px 0 0;
        width: 80px;
        height: 35px;
        position: relative;
        background: #9982BD 0% 0% no-repeat padding-box;
        box-shadow: 0px 3px 6px #00000029;
        border-radius: 35px;
        cursor: pointer; }
      .conecta-profile-form .form-fields #id_is_app_worker input[type="radio"] {
        cursor: pointer; }
      .conecta-profile-form .form-fields #id_is_app_worker label {
        padding: 7px 7px 7px 24px;
        cursor: pointer;
        z-index: 90;
        font-family: 'Gothic' !important;
        font-weight: bold;
        font-size: 1em; }
    .conecta-profile-form .form-fields select {
      background: #9982BD 0% 0% no-repeat padding-box;
      box-shadow: 0px 3px 6px #00000029;
      border: transparent;
      border-radius: 35px;
      color: white;
      width: fit-content;
      margin-top: 0;
      padding: .2rem 1rem;
      box-sizing: content-box; }
    @media (max-width: 700px) {
      .conecta-profile-form .form-fields {
        grid-template-columns: auto;
        grid-template-rows: auto; }
        .conecta-profile-form .form-fields__worker, .conecta-profile-form .form-fields__state, .conecta-profile-form .form-fields__gender, .conecta-profile-form .form-fields__race, .conecta-profile-form .form-fields__current-age,
        .conecta-profile-form .form-fields .profile-subtitle {
          grid-column: 1;
          grid-row: unset; } }
@media (max-width: 700px) {
  .conecta-profile-form {
    width: 95%;
    background: #F2F2F2 0% 0% no-repeat padding-box;
    box-shadow: 0px 10px 10px #00000033;
    border: 1px solid #DDD5E9;
    padding: 45px; } }

@media (max-width: 900px) {
  .profile-header h1 {
    overflow-wrap: anywhere !important; } }

.visible {
  visibility: visible !important; }

.inputs-min-size input, .inputs-min-size textarea, .inputs-min-size select {
  min-width: unset; }

.profile-photo {
  display: relative; }
  .profile-photo__edit {
    position: absolute;
    top: 45%;
    z-index: 3;
    text-align: center;
    width: 100%;
    cursor: pointer; }
    .profile-photo__edit span {
      color: #000;
      font-weight: bold; }
  .profile-photo__form {
    display: none; }
  .profile-photo--unfocused {
    position: absolute;
    z-index: 1;
    background-color: rgba(196, 196, 196, 0.8);
    width: 12rem;
    height: 12rem;
    border-radius: 50%;
    margin-top: 24px; }

#id_profile_photo {
  visibility: hidden; }

.profile-header {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: start;
  column-gap: 2rem;
  padding-bottom: 2.5rem; }
  .profile-header__photo {
    position: relative; }
    .profile-header__photo--rounded {
      border-radius: 50%; }
    .profile-header__photo img {
      object-fit: cover; }
  .profile-header h1 {
    font-size: 2.25rem;
    color: #FF3D72;
    font-family: "Work Sans";
    font-weight: 400; }
  .profile-header h4 {
    font-size: 1rem;
    color: #777777;
    font-family: "Work Sans";
    font-weight: 700;
    margin: 0.62rem 0px; }
  .profile-header--edit {
    position: relative; }
    .profile-header--edit img {
      opacity: 0.3; }
    .profile-header--edit__options {
      position: absolute;
      left: 34%;
      top: 31%;
      z-index: 1;
      opacity: 1; }
      .profile-header--edit__options input {
        display: none; }
      .profile-header--edit__options label {
        color: #052b47; }
      .profile-header--edit__options form {
        display: none; }

.form-element {
  width: 100%;
  padding: 0px 0px; }

.form-profile--row-separation {
  grid-row-gap: 2.56rem;
  padding-top: 1.5rem; }

.form-profile--subtitle {
  font-weight: 500;
  font-size: 24px; }

.form-profile {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-template-rows: repeat(6, 1fr);
  grid-column-gap: 1.4rem;
  grid-row-gap: 1rem; }
  .form-profile span {
    font-family: 'Work Sans';
    font-size: 1rem;
    font-weight: 700;
    color: #777777; }
  .form-profile__name {
    grid-area: 1 / 1 / 2 / 3; }
  .form-profile__email {
    grid-area: 1 / 3 / 2 / 5; }
  .form-profile__city {
    grid-area: 2 / 1 / 3 / 2; }
  .form-profile__state {
    grid-area: 2 / 2 / 3 / 3; }
  .form-profile__country {
    grid-area: 2 / 3 / 3 / 4; }
  .form-profile__birth-date {
    grid-area: 3 / 1 / 4 / 2; }
  .form-profile__occupation {
    grid-area: 3 / 2 / 4 / 4; }
  .form-profile__education {
    grid-area: 3 / 4 / 4 / 5; }
  .form-profile__education--detail {
    grid-area: 3 / 3 / 4 / 5; }
  .form-profile__ethnicity {
    grid-area: 4 / 1 / 5 / 2; }
  .form-profile__gender_other {
    grid-area: 4 / 2 / 5 / 4; }
  .form-profile__political_activity {
    grid-area: 5 / 1 / 7 / 3; }
  .form-profile__political_activity--detail {
    grid-area: 5 / 1 / 7 / 2; }
  .form-profile__biography {
    grid-area: 5 / 3 / 7 / 5; }
  .form-profile__phone {
    grid-area: 5 / 3 / 7 / 5; }
  .form-profile__biography--detail {
    grid-area: 5 / 2 / 7 / 5; }
  .form-profile__current-password {
    grid-area: 1 / 1 / 1 / 1; }
    .form-profile__current-password input[type='password'] {
      margin: -1.125rem 0 0rem 0; }
  .form-profile__new-password {
    grid-area: 2 / 1 / 2 / 2; }
    .form-profile__new-password input[type='password'] {
      margin: -1.125rem 0 0rem 0; }
  .form-profile__confirm-password {
    grid-area: 2; }
  .form-profile__save {
    grid-area: 2;
    align-items: center;
    display: grid; }
    .form-profile__save input {
      margin: 0;
      width: fit-content; }
  .form-profile__edit {
    grid-area: 6 / 4 / 6 / 4; }
  .form-profile select, .form-profile textarea {
    border-radius: 0.3125rem !important; }
  .form-profile--buttons {
    display: flex;
    flex-direction: row;
    align-items: end;
    justify-content: end;
    column-gap: 2rem; }
    .form-profile--buttons input, .form-profile--buttons a {
      border: none !important;
      border-radius: 1.5625rem !important; }
    .form-profile--buttons a {
      background-color: #FF3D72 !important; }

@media (max-width: 900px) {
  .profile-header {
    padding: 0px 1.88rem; }
  .form-element {
    padding: 0 0.6rem; }
  .profile-header {
    padding-bottom: 3.6rem; }
  .form-profile--row-separation {
    padding-top: 2.5rem; }
  .form-profile {
    display: flex;
    flex-direction: column;
    flex-wrap: wrap; }
    .form-profile--buttons {
      flex-direction: column;
      align-items: center; }
    .form-profile__save {
      justify-content: center; }
  .profile-header {
    flex-direction: column; }
    .profile-header__text {
      display: flex;
      flex-direction: column;
      align-items: center; }
    .profile-header h1 {
      text-align: center; } }

.form-profile {
  grid-template-rows: repeat(5, 1fr) !important; }

.form-profile__gender_other {
  grid-area: 4 / 2 / 5 / 3 !important; }

input[disabled] {
  border-color: #DDD5E9; }

/*
 FONTS FAMILIES AND SIZES
 ============================================================== */
/*
 SPACING
 =========================================================================== */
/*
 SPACING
 =========================================================================== */
/*
 COLORS ROLES
 =========================================================================== */
/*
 PAGE LAYOUT AND BREAKPOINTS
 =========================================================================== */
/*
 SPACING
 =========================================================================== */
/*
 GENERIC PAGE ELEMENTS
 ======================================================================== */
.Page {
  box-sizing: border-box;
  display: flex;
  flex-flow: column;
  height: 100vh;
  overflow: hidden;
  padding: 45px 0 45px 0; }
  @media screen and (min-width: 35rem) {
    .Page {
      padding: 70px 0 45px 0; } }
  @media screen and (min-width: 35rem) {
    .Page.talks {
      padding: 45px 0 0 0; } }
  .Page-content-container {
    display: flex; }
    .Page-content-container .NavMenu {
      position: fixed; }
  @media only screen and (min-width: 960px) {
    .Page-content.logged-in, .Page #docs {
      padding-left: 400px !important; } }
  @media only screen and (max-width: 960px) {
    .Page .NavMenu-fixed {
      display: none; } }
  .Page-mainContainer {
    background: url(/static/img/page-bg.svg) center no-repeat;
    background-size: contain;
    box-sizing: border-box;
    height: 100vh;
    display: flex;
    flex-flow: column;
    overflow-x: hidden;
    overflow-y: auto; }
  .Page-title {
    background: #552F91;
    color: #f7f5fa;
    margin: 0 0 32px 0;
    box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2); }
    .Page-title h1 {
      font-size: 23.1px;
      padding: 8px 24px; }
    .Page-title em {
      font-weight: bold;
      font-style: normal; }
  .Page-content {
    flex-grow: 1;
    margin: 0 auto 65px auto;
    padding: 0; }

/*
 PAGE SIDEBAR
 =========================================================================== */
.NavMenu {
  width: 100%;
  min-height: 100vh;
  max-width: 400px;
  box-shadow: 2px 0 4px 0 rgba(18, 48, 102, 0.08);
  box-sizing: border-box;
  font-size: 15px;
  opacity: 1;
  -ms-overflow-style: none;
  overflow: -moz-scrollbars-none;
  color: #f7f5fa;
  padding: 32px; }
  .NavMenu a, .NavMenu button {
    color: #f7f5fa; }
  .NavMenu::-webkit-scrollbar {
    display: none; }
  .NavMenu em {
    font-weight: bold;
    font-style: normal; }
  .NavMenu button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0px;
    font-weight: bold;
    font-size: 13px; }
  .NavMenu img,
  .NavMenu i {
    height: 1em;
    padding-right: 8px; }
  .NavMenu .icon-stack :first-child {
    font-size: 7.2px;
    padding-right: 0px;
    vertical-align: middle;
    margin-right: -3px;
    margin-bottom: 3px; }
  .NavMenu .icon-stack i + i {
    font-size: 12px; }
  .NavMenu li {
    list-style: none;
    padding: 16px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.25);
    font-weight: bold;
    font-size: 13px; }
  .NavMenu li:last-child {
    border: none; }
  .NavMenu ul {
    padding: 0; }
  .NavMenu-DropDown {
    cursor: pointer; }
  .NavMenu-AngleDownIcon {
    float: right; }
  .NavMenu-UserMenu {
    display: none; }
    .NavMenu-UserMenu > li {
      margin-left: 32px; }
  .NavMenu-Accessibility {
    display: none; }
    .NavMenu-Accessibility > li {
      margin-left: 32px; }

.FileInput {
  padding: 0;
  font-family: "Raleway", sans-serif;
  font-size: 12px;
  overflow: hidden;
  font-weight: 600; }
  .FileInput .PickFileButton {
    border-top-left-radius: 24px;
    border-bottom-left-radius: 24px;
    background: #552F91;
    height: 45px;
    width: max-content;
    line-height: 45px;
    padding-left: 7px;
    padding-right: 7px;
    float: left;
    position: relative;
    color: #f7f5fa; }
    .FileInput .PickFileButton input[type=file] {
      height: 45px;
      width: 100%;
      position: absolute; }
  .FileInput .FileStatus {
    font-weight: 600;
    width: 100%;
    height: inherit;
    line-height: 45px;
    text-align: center; }

.theme-brand {
  --theme-color: #552F91;
  --theme-light-color: #DDD5E9; }

.bg-theme-brand {
  background: #552F91; }

.bg-theme-brand-light {
  background: #DDD5E9; }

.theme-accent {
  --theme-color: #14C4B2;
  --theme-light-color: #D0F3F0; }

.bg-theme-accent {
  background: #14C4B2; }

.bg-theme-accent-light {
  background: #D0F3F0; }

.theme-green {
  --theme-color: #36C273;
  --theme-light-color: #B4FDD4; }

.bg-theme-green {
  background: #36C273; }

.bg-theme-green-light {
  background: #B4FDD4; }

.theme-orange {
  --theme-color: #F68128;
  --theme-light-color: #FFE1CA; }

.bg-theme-orange {
  background: #F68128; }

.bg-theme-orange-light {
  background: #FFE1CA; }

.theme-purple {
  --theme-color: #7758B3;
  --theme-light-color: #E7DBFF; }

.bg-theme-purple {
  background: #7758B3; }

.bg-theme-purple-light {
  background: #E7DBFF; }

.theme-grey {
  --theme-color: #797979;
  --theme-light-color: #EEEEEE; }

.bg-theme-grey {
  background: #797979; }

.bg-theme-grey-light {
  background: #EEEEEE; }

.theme-icd {
  --theme-color: #005BAA;
  --theme-light-color: #F5821F; }

.bg-theme-icd {
  background: #005BAA; }

.bg-theme-icd-light {
  background: #F5821F; }

.theme-votorantim {
  --theme-color: #04082D;
  --theme-light-color: #F14236; }

.bg-theme-votorantim {
  background: #04082D; }

.bg-theme-votorantim-light {
  background: #F14236; }

.theme-osf {
  --theme-color: #1D1088;
  --theme-light-color: #F8127E; }

.bg-theme-osf {
  background: #1D1088; }

.bg-theme-osf-light {
  background: #F8127E; }

.theme-bocadelobo {
  --theme-color: #83E760;
  --theme-light-color: #161616; }

.bg-theme-bocadelobo {
  background: #83E760; }

.bg-theme-bocadelobo-light {
  background: #161616; }

.theme-brand input[type="text"], .theme-brand textarea, .theme-accent input[type="text"], .theme-accent textarea, .theme-green input[type="text"], .theme-green textarea, .theme-orange input[type="text"], .theme-orange textarea, .theme-purple input[type="text"], .theme-purple textarea, .theme-grey input[type="text"], .theme-grey textarea, .theme-icd input[type="text"], .theme-icd textarea, .theme-votorantim input[type="text"], .theme-votorantim textarea, .theme-osf input[type="text"], .theme-osf textarea {
  border-color: var(--theme-color); }

.theme-brand label, .theme-accent label, .theme-green label, .theme-orange label, .theme-purple label, .theme-grey label, .theme-icd label, .theme-votorantim label, .theme-osf label {
  color: var(--theme-color); }

p a:hover, p a:focus, p a:visited, p a {
  text-decoration: underline; }

hr {
  border-color: rgba(0, 0, 0, 0.12);
  margin: 1rem 1rem 0 0; }
  @media only screen and (max-width: 768px) {
    hr {
      margin: unset; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiLi4vc2Nzcy9tYWluLmNzcyIsCgkic291cmNlUm9vdCI6ICIvZWotYXBwbGljYXRpb24vc3JjL2VqX2NvbmVjdGFfdHJhYmFsaGFkb3Jlcy9zdGF0aWMvZWpfY29uZWN0YV90cmFiYWxoYWRvcmVzL2NzcyIsCgkic291cmNlcyI6IFsKCQkiLi4vc2Nzcy9tYWluLnNjc3MiLAoJCSIuLi9zY3NzL19jb25maWcuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9fZm4uc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL2ZuLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fZnVuY3Rpb25zLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fbGlzdC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2xpc3QtcGVyZi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2FycmF5LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fbWFwLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fc3RyaW5nLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fbnVtYmVycy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2NvbG9yLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fdGVzdGluZy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3Byb2ZpbGVzL19kZWZhdWx0LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJvZmlsZXMvX3N0YWNrLWZvbnQuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcm9maWxlcy9fc3RhY2stY29sb3Iuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcm9maWxlcy9fYmFzZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL21lbmRlbGVldi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3ByZWx1ZGUuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25maWcvX21peGlucy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbmZpZy9fbW9kdWxlcy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbmZpZy9fZnVuY3Rpb25zLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uc3RhbnRzL19zdGF0aWMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25zdGFudHMvX3ZhbHVlcy5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbnN0YW50cy9fZ3JpZHMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25zdGFudHMvX2NvbmZpZ3VyYWJsZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3ByZWx1ZGUvX3NpemVzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJlbHVkZS9fY29sb3Iuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlL190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJlbHVkZS9fdXRpbGl0aWVzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX3R5cG9ncmFwaHkuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fc2l6aW5nLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX2xheW91dC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L19ib3JkZXJzLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX2ZsZXguc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fZ3JpZC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L190cmFuc2Zvcm1hdGlvbnMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fdmlzaWJpbGl0eS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L19taXNjLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJlbHVkZS9fdXRpbGl0aWVzLWNhY2hlLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZWxlbWVudHMuc2NzcyIsCgkJIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9lbGVtZW50cy9fYmFzZS5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzL190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZWxlbWVudHMvX2J1dHRvbi5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzL19mb3JtLnNjc3MiLAoJCSIuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvdXRpbGl0aWVzLnNjc3MiLAoJCSIuLi9zY3NzL19lbGVtZW50cy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9tYWluL19lbGVtZW50cy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvX2VsZW1lbnRzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzL19iYXNlLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzL190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2VsZW1lbnRzL19idXR0b24uc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZWxlbWVudHMvX2Zvcm0uc2NzcyIsCgkJIi4uL3Njc3MvX2NvbXBvbmVudHMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvbWFpbi9fZmlsdGVycy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy90b29scy9fY2FyZC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy90b29scy9fdG9vbHMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL19jb25maWcuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvX2ZuLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvZm4uc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fZnVuY3Rpb25zLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2xpc3Quc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fbGlzdC1wZXJmLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX2FycmF5LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuLnNhc3MvX21hcC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL19zdHJpbmcuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4uc2Fzcy9fbnVtYmVycy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL19jb2xvci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbi5zYXNzL190ZXN0aW5nLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3Byb2ZpbGVzL19kZWZhdWx0LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3Byb2ZpbGVzL19zdGFjay1mb250LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3Byb2ZpbGVzL19zdGFjay1jb2xvci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcm9maWxlcy9fYmFzZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9tZW5kZWxlZXYuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJlbHVkZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25maWcvX21peGlucy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25maWcvX21vZHVsZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uZmlnL19mdW5jdGlvbnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uc3RhbnRzL19zdGF0aWMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uc3RhbnRzL192YWx1ZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29uc3RhbnRzL19ncmlkcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9jb25zdGFudHMvX2NvbmZpZ3VyYWJsZS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlL19zaXplcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlL19jb2xvci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlL190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3ByZWx1ZGUvX3V0aWxpdGllcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fdHlwb2dyYXBoeS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fc2l6aW5nLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL3JlZ2lzdHJ5L19sYXlvdXQuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX2JvcmRlcnMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX2ZsZXguc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX2dyaWQuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcmVnaXN0cnkvX3RyYW5zZm9ybWF0aW9ucy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fdmlzaWJpbGl0eS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9yZWdpc3RyeS9fbWlzYy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcmVsdWRlL191dGlsaXRpZXMtY2FjaGUuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvdXRpbGl0aWVzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy8xX3NldHRpbmdzL19zcGFjaW5nLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy8xX3NldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL19nZW5lcmljLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL19jaGF0Ym90LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL19tYWlsaW5nLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL19vcGluaW9uLWNvbXBvbmVudC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy90b29scy9fd2ViY2hhdC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy90b29scy9fc3VydmV5LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2xpbmtzLW1vZGFsLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3JlcG9ydHMvX2Rhc2hib2FyZC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL19leHBvcnQtZGF0YS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL19nZW5lcmljcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL19wYWdpbmF0aW9uLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL2FkbWluL19lbnZpcm9ubWVudC5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9fY29sbGFwc2libGUuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvX2RhdGF0YWJsZXMuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvX2NsdXN0ZXJzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL19zdGVyZW90eXBlcy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9fbW9kYWwuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9fdG91ci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9fdG91ci5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9tYWluL19tZW5kZWxlZXYtc2hhbWUuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9fbG9hZGluZy5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL21haW4vX25hdmlnYXRpb24uc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvbWFpbi9fbmF2aWdhdGlvbi5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2NhcmQuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy9fY2FyZC5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2RldGFpbC5zY3NzIiwKCQkiLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbXBvbmVudHMvbWl4aW5zL19hcnJvdy5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9jb252ZXJzYXRpb25zL19kZXRhaWwuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29tcG9uZW50cy9taXhpbnMvX2Fycm93LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2RldGFpbC1oZWFkZXIuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvY29udmVyc2F0aW9ucy9fZGV0YWlsLXNoYXJpbmcuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9jb252ZXJzYXRpb25zL19tb2RlcmF0ZS1jb21tZW50cy5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvdGVybXMtb2YtdXNlLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29uZWN0YV90cmFiYWxoYWRvcmVzL19jYXJkLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Byb2ZpbGVzL19ob21lLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29uZWN0YV90cmFiYWxoYWRvcmVzL19wcm9maWxlLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Byb2ZpbGVzL19wcm9maWxlLnNjc3MiLAoJCSIuLi9zY3NzL2NvbXBvbmVudHMvY29uZWN0YV90cmFiYWxoYWRvcmVzL19kYXNoYm9hcmQuc2NzcyIsCgkJIi4uL3Njc3MvY29tcG9uZW50cy9jb25lY3RhX3RyYWJhbGhhZG9yZXMvX2hlYWRlci5zY3NzIiwKCQkiLi4vc2Nzcy9jb21wb25lbnRzL2NvbmVjdGFfdHJhYmFsaGFkb3Jlcy9fd29ya2VyLWFkZGl0aW9uYWwtaW5mb3Muc2NzcyIsCgkJIi4uL3Njc3MvX2xlZ2FjeS5zY3NzIiwKCQkiLi4vLi4vLi4vLi4vZWovc3RhdGljL2VqL3Njc3MvMV9zZXR0aW5ncy9fY29sb3JzLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy8xX3NldHRpbmdzL19sYXlvdXQuc2NzcyIsCgkJIi4uLy4uLy4uLy4uL2VqL3N0YXRpYy9lai9zY3NzLzZfY29tcG9uZW50cy9nZW5lcmljL19wYWdlLnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy82X2NvbXBvbmVudHMvZ2VuZXJpYy9fcGFnZS1tZW51LnNjc3MiLAoJCSIuLi8uLi8uLi8uLi9lai9zdGF0aWMvZWovc2Nzcy82X2NvbXBvbmVudHMvX2ZpbGUtaW5wdXQuc2NzcyIsCgkJIi4uL3Njc3MvX3V0aWxpdGllcy5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGltcG9ydCAnY29uZmlnJztcbkBpbXBvcnQgJ2VsZW1lbnRzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMnO1xuQGltcG9ydCAnbGVnYWN5JztcbkBpbXBvcnQgJ3V0aWxpdGllcyc7XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09MT1JTIFJPTEVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gJy4uLy4uLy4uLy4uLy4uL2xpYi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4nO1xuLy8gQGltcG9ydCAnLi4vLi4vLi4vLi4vLi4vLi4vbGliL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbic7XG4vLyBAaW1wb3J0ICdsaWIvbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2ZuJztcbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9mbic7XG5cbi8vIEhhY2tsYWIgY29sb3JzXG4kY29sb3ItcHJpbWFyeS1kYXJrOiAjNTUyRjkxO1xuJGNvbG9yLXByaW1hcnktbGlnaHQ6ICNEREQ1RTk7XG4kY29sb3Itc2Vjb25kYXJ5LWRhcms6ICMxNEM0QjI7XG4kY29sb3Itc2Vjb25kYXJ5LWxpZ2h0OiAjRDBGM0YwO1xuJGNvbG9yLXNlY29uZGFyeS1wdXJlOiAjNDNEMEMxO1xuJGNvbG9yLWxvdy1wdXJlOiAjMDAwO1xuJGNvbG9yLXByaW1hcnktcHVyZTogIzc3NTlBNztcbiRjb2xvci1sb3ctZGFyazogIzM5MzkzOTtcbiRjb2xvci1oaWdobGlnaHQ6ICNGNUY1RjU7XG4kY29sb3ItaGlnaGxpZ2h0LWRhcms6ICNGNzU3MDE7XG5cbi8vIEJyYW5kIGNvbG9yczogdGhleSBhcmUgdXNlZCBvbiB0aGUgbG9nbyBhbmQgb24gdGhlIG1haW4gZWxlbWVudHMgb24gdGhlIHBhZ2UsXG4vLyBsaWtlIGJ1dHRvbnMsIGNvbnZlcnNhdGlvbiBjYXJkcywgbGlua3MsIGV0Yy5cbiRjb2xvci1icmFuZDogJGNvbG9yLXByaW1hcnktZGFyaztcbiRjb2xvci1hY2NlbnQ6ICRjb2xvci1wcmltYXJ5LWRhcms7XG5cbi8vIERlcml2ZWQgYnJhbmQgY29sb3JzXG4kY29sb3ItYWNjZW50LWxpZ2h0OiBzY2FsZS1jb2xvcigkY29sb3ItYWNjZW50LCAkc2F0dXJhdGlvbjogLTEwJSwgJGxpZ2h0bmVzczogMTAlKSAhZGVmYXVsdDsgLy8gI0ZGNTc4M1xuJGNvbG9yLWFjY2VudC1saWdodGVyOiBzY2FsZS1jb2xvcigkY29sb3ItYWNjZW50LCAkbGlnaHRuZXNzOiA4NSUsICRzYXR1cmF0aW9uOiAtMTAlKSAhZGVmYXVsdDsgLy8gI0ZGRTNFQVxuJGNvbG9yLWJyYW5kLWxpZ2h0OiBzY2FsZS1jb2xvcigkY29sb3ItYnJhbmQsICRsaWdodG5lc3M6IDU1JSwgJHNhdHVyYXRpb246IDIwJSkgIWRlZmF1bHQ7IC8vICM5RkU1RUFcbiRjb2xvci1icmFuZC1saWdodGVyOiBzY2FsZS1jb2xvcigkY29sb3ItYnJhbmQsICRsaWdodG5lc3M6IDg1JSwgJHNhdHVyYXRpb246IDEwJSkgIWRlZmF1bHQ7IC8vICNFMEY3RjhcbiRjb2xvci1icmFuZC1saWdodGVyOiAkY29sb3ItcHJpbWFyeS1kYXJrOyAvLyAjRTBGN0Y4XG4kY29sb3ItYnJhbmQtYWx0ZXJuYXRlOiBzY2FsZS1jb2xvcigkY29sb3ItYnJhbmQsICRsaWdodG5lc3M6IDU1JSwgJHNhdHVyYXRpb246IC00NSUpICFkZWZhdWx0OyAvLyNBM0Q4RERcbkBpZiAkY29sb3ItYnJhbmQgPT0gIzU1MkY5MSB7XG4gICAgJGNvbG9yLWJyYW5kLWxpZ2h0OiAjNzc1OUE3O1xuICAgICRjb2xvci1icmFuZC1saWdodGVyOiAjRERENUU5O1xuICAgICRjb2xvci1icmFuZC1hbHRlcm5hdGU6ICNBM0Q4REQ7XG59XG5cbi8vIFRleHQgYW5kIGJhY2tncm91bmRcbiRjb2xvci1ibGFjazogIzAwMCAhZGVmYXVsdDtcbiRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTogIzAwMDAwMCAhZGVmYXVsdDtcbiRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZS1saWdodDogcmdiYSgwLCAwLCAwLCAwLjgpICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29sb3IgdGhlbWVzXG4kY29sb3ItdGhlbWUtYnJhbmQ6ICRjb2xvci1icmFuZCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1icmFuZC1saWdodDogI0RERDVFOSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1icmFuZC1kYXJrZXI6ICM1NTJGOTEgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtYWNjZW50OiAkY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWFjY2VudC1saWdodDogI0QwRjNGMCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1hY2NlbnQtZGFya2VyOiAjMTRDNEIyICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZWVuOiAjMzZDMjczICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZWVuLWxpZ2h0OiAjQjRGREQ0ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLW9yYW5nZTogI0Y2ODEyOCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1vcmFuZ2UtbGlnaHQ6ICNGRkUxQ0EgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcHVycGxlOiAjNzc1OEIzICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXB1cnBsZS1saWdodDogI0U3REJGRiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1ncmV5OiAjNzk3OTc5ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZXktbGlnaHQ6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtZGFyay1ibHVlOiAjMDUyYjQ3ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlZDogI0UyMDAwMCAhZGVmYXVsdDtcblxuLy8gT25seSBDb25lY3RhIHRyYWJhbGhhZG9yZXNcbiRjb2xvci10aGVtZS1sb3cta2V5OiAjNzM3MzczO1xuJGNvbG9yLXRoZW1lLWxvdy1wdXJlOiAjMDAwMDAwO1xuJGNvbG9yLXRoZW1lLWhpZ2hsaWdodC1wdXJlOiAjRjk3OTM0O1xuJGNvbG9yLXRoZW1lLXdoaXRlLWljZTogI0YyRjJGMjtcbiRjb2xvci1ibHVlLWxpZ2h0OiAjMDBEOUM3O1xuJGNvbG9yLWJsYWNrLW9wYWNpdHk6ICMwMDAwMDAzMztcbiRjb2xvci1waW5rLWxpZ2h0ZXI6ICM5OTgyQkQ7XG4kY29sb3ItcHVycGxlLWRhcmtlcjogIzU1MkY5MUJGO1xuXG4vL09waW5pb24gY29tcG9uZW50IGNvbG9yc1xuJGNvbG9yLXRoZW1lLWJvY2FkZWxvYm86ICM4M0U3NjAgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtYm9jYWRlbG9iby1saWdodDogIzE2MTYxNiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1pY2Q6ICMwMDVCQUEgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtaWNkLWxpZ2h0OiAjRjU4MjFGICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXZvdG9yYW50aW06ICMwNDA4MkQgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtdm90b3JhbnRpbS1saWdodDogI0YxNDIzNiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1vc2Y6ICMxRDEwODggIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtb3NmLWxpZ2h0OiAjRjgxMjdFICFkZWZhdWx0O1xuXG4vL1JlcG9ydCBjb2xvcnNcbiRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtZ3JheTogI0U1RTVFNSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTogI2JhYmFiYSAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5OiAjNzc3Nzc3ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodGVyOiAjZmVmZWZlICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlOiAjMDUyQjQ3ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlOiAjMzBCRkQzICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1ibGFjazogYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LXRyYW5zcGFyZW50LWJsYWNrOiByZ2JhKDAsIDAsIDAsIDAuMTIpICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1yZWQ6IHJlZCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1yZWQ6ICNFMjAwMDAgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtaW5mby1jYXJkLXJlcG9ydDogI0ZGQ0VEQiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtcGluazogI0ZGM0Q3MiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtZ3JlZW46ICMxOEFFMDAgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWdyYXktYmx1ZS10cmFuc3BhcmVudDogI0M0RjJGNDk5ICFkZWZhdWx0O1xuXG4vL0NsdXN0ZXJzIGNvbG9yc1xuJGNvbG9yLWJyaWdodC1ibHVlOiAjMzBDMUQ0ICFkZWZhdWx0O1xuJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTogIzc3Nzc3NyAhZGVmYXVsdDtcbiRjb2xvci1waW5rLWxpZ2h0OiAjRkYzRDcyICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktYnJpZ3RoZXI6ICNFNUU1RTUgIWRlZmF1bHQ7XG4kY29sb3ItcmVkLW5lZ2F0aXZlOiAjQzcwMDAwICFkZWZhdWx0O1xuJGNvbG9yLXRvb2x0aXAtcmVkOiAjRkZDRURCICFkZWZhdWx0O1xuJGNvbG90LWVycm9saXN0LXJlZDogI0ZGMDAwMCAhZGVmYXVsdDtcblxuLy9Qb2xsIGJvdFxuJG1vZGFsLXRyYW5zcGFyZW50LWJhY2tnb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuJG1vZGFsLXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcblxuLy9NYW5hZ2UgU3RlcmVvdHlwZXNcbiRjb2xvci1idXR0b24tZ3JheTogI0JBQkFCQTtcbiRjb2xvci1jYXJkLWdyYXktbGlnaHRlcjogI0U2RUFFRDtcbiRjb2xvci1ncmF5LW1pZGRsZTogIzk3OTc5NztcbiRjb2xvci1ncmF5LWRhcms6ICM2QzZDNkM7XG4kY29sb3ItZ3JheS1kYXJrZXI6ICM3Nzc3Nzc7XG4kY29sb3ItYWdyZWU6IHJnYmEoMjQsIDE3NCwgMCwgMC44KTtcbiRjb2xvci1kaXNhZ3JlZTogI0M3MDAwMDtcbiRjb2xvci1iYXNlLXBpbms6ICNGRjNENzI7XG5cblxuLy8gQWN0aW9uIGNvbG9yc1xuJGNvbG9yLWFjdGlvbjogJGNvbG9yLXByaW1hcnktZGFyayAhZGVmYXVsdDtcbiRjb2xvci1wcmltYXJ5OiAkY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAkY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuXG4vLyBOYXZpZ2F0aW9uIGl0ZW1cbiRjb2xvci1uYXZpZ2F0aW9uOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItbmF2aWdhdGlvbi10ZXh0OiAkY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItbmF2aWdhdGlvbi1oZWFkZXI6ICNDNEM0QzQ7XG4kY29sb3ItbmF2aWdhdGlvbi1oZWFkZXItdGV4dDogIzc3NztcbiRjb2xvci1uYXZpZ2F0aW9uLW1lbnUtYmFja2dyb3VuZDogI0YwRjBGMDtcblxuLy9DYXJkIHNoYWRvd3NcbiRjb2xvci1jYXJkLXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAhZGVmYXVsdDtcbi8vIE92ZXJyaWRlIGRlZmF1bHQgTWVuZGVsZWV2IGNvbG9yIHBhbGV0dGVcbiRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogKFxuICAgIC8vXG4gICAgLy8gQnJhbmQgY29sb3JzXG4gICAgJ2JyYW5kJzogJGNvbG9yLWJyYW5kLFxuICAgICdhY2NlbnQnOiAkY29sb3ItYWNjZW50LFxuICAgICdicmFuZC1saWdodCc6ICRjb2xvci1icmFuZC1saWdodCxcbiAgICAnYnJhbmQtbGlnaHRlcic6ICRjb2xvci1icmFuZC1saWdodGVyLFxuICAgICdicmFuZC1hbHRlcm5hdGUnOiAkY29sb3ItYnJhbmQtYWx0ZXJuYXRlLFxuICAgICdhY2NlbnQtbGlnaHQnOiAkY29sb3ItYWNjZW50LWxpZ2h0LFxuICAgICdhY2NlbnQtbGlnaHRlcic6ICRjb2xvci1hY2NlbnQtbGlnaHRlcixcbiAgICAvL1xuICAgIC8vIEFjdGlvbiBjb2xvcnNcbiAgICAncHJpbWFyeSc6ICRjb2xvci1wcmltYXJ5LWRhcmssXG4gICAgJ3NlY29uZGFyeSc6ICRjb2xvci1zZWNvbmRhcnktZGFyayxcbiAgICAnbmF2aWdhdGlvbic6ICRjb2xvci1uYXZpZ2F0aW9uLFxuICAgICduYXZpZ2F0aW9uLXRleHQnOiAkY29sb3ItbmF2aWdhdGlvbi10ZXh0LFxuICAgIC8vXG4gICAgLy8gVGV4dFxuICAgICdibGFjayc6ICRjb2xvci1ibGFjayxcbiAgICAnd2hpdGUnOiAkY29sb3Itd2hpdGUsXG4gICAgJ2RhcmsnOiAkY29sb3ItYmxhY2ssXG4gICAgJ2xpZ2h0JzogJGNvbG9yLXdoaXRlLFxuICAgIC8vXG4gICAgLy8gVGhlbWUgY29sb3JzXG4gICAgJ3RoZW1lLWJyYW5kJzogJGNvbG9yLXByaW1hcnktZGFyayxcbiAgICAndGhlbWUtYnJhbmQtbGlnaHQnOiAkY29sb3ItdGhlbWUtYnJhbmQtbGlnaHQsXG4gICAgJ3RoZW1lLWFjY2VudCc6ICRjb2xvci1zZWNvbmRhcnktZGFyayxcbiAgICAndGhlbWUtYWNjZW50LWxpZ2h0JzogJGNvbG9yLXRoZW1lLWFjY2VudC1saWdodCxcbiAgICAndGhlbWUtZ3JlZW4nOiAkY29sb3ItdGhlbWUtZ3JlZW4sXG4gICAgJ3RoZW1lLWdyZWVuLWxpZ2h0JzogJGNvbG9yLXRoZW1lLWdyZWVuLWxpZ2h0LFxuICAgICd0aGVtZS1vcmFuZ2UnOiAkY29sb3ItdGhlbWUtb3JhbmdlLFxuICAgICd0aGVtZS1vcmFuZ2UtbGlnaHQnOiAkY29sb3ItdGhlbWUtb3JhbmdlLWxpZ2h0LFxuICAgICd0aGVtZS1wdXJwbGUnOiAkY29sb3ItdGhlbWUtcHVycGxlLFxuICAgICd0aGVtZS1wdXJwbGUtbGlnaHQnOiAkY29sb3ItdGhlbWUtcHVycGxlLWxpZ2h0LFxuICAgICd0aGVtZS1ncmV5JzogJGNvbG9yLXRoZW1lLWdyZXksXG4gICAgJ3RoZW1lLWdyZXktbGlnaHQnOiAkY29sb3ItdGhlbWUtZ3JleS1saWdodCxcbiAgICAndGhlbWUtcmVkJzogJGNvbG9yLXRoZW1lLXJlZCxcblxuICAgIC8vT3BpbmlvbiBjb21wb25lbnQgdGhlbWVzXG4gICAgJ3RoZW1lLWJvY2FkZWxvYm8nOiAkY29sb3ItdGhlbWUtYm9jYWRlbG9ibyxcbiAgICAndGhlbWUtYm9jYWRlbG9iby1saWdodCc6ICRjb2xvci10aGVtZS1ib2NhZGVsb2JvLWxpZ2h0LFxuICAgICd0aGVtZS1pY2QnOiAkY29sb3ItdGhlbWUtaWNkLFxuICAgICd0aGVtZS1pY2QtbGlnaHQnOiAkY29sb3ItdGhlbWUtaWNkLWxpZ2h0LFxuICAgICd0aGVtZS12b3RvcmFudGltJzogJGNvbG9yLXRoZW1lLXZvdG9yYW50aW0sXG4gICAgJ3RoZW1lLXZvdG9yYW50aW0tbGlnaHQnOiAkY29sb3ItdGhlbWUtdm90b3JhbnRpbS1saWdodCxcbiAgICAndGhlbWUtb3NmJzogJGNvbG9yLXRoZW1lLW9zZixcbiAgICAndGhlbWUtb3NmLWxpZ2h0JzogJGNvbG9yLXRoZW1lLW9zZi1saWdodCxcbik7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUWVBPR1JBUEhZXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICcuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvcHJvZmlsZXMvZGVmYXVsdCc7XG5cbi8vIEFkZCBmb250XG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoaWNcIjtcbiAgICBzcmM6IHVybCgvc3RhdGljL2ZvbnRzL0dvdGhpY0ExLVJlZ3VsYXIudHRmKTtcbn1cblxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiQnVlbmRpYVwiO1xuICAgIHNyYzogdXJsKC9zdGF0aWMvZm9udHMvYnVlbmRpYS1ib2xkLnR0Zik7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkxpYnJlIEZyYW5rbGluXCI7XG4gICAgc3JjOiB1cmwoL3N0YXRpYy9mb250cy9MaWJyZUZyYW5rbGluLnR0Zik7XG59XG5cbi8vIEZvbnQgcm9sZXMgYW5kIGJhc2Ugc3R5bGVzXG4kZm9udC1zdGFjay1wYXJhZ3JhcGg6ICdHb3RoaWMnICFkZWZhdWx0O1xuJGZvbnQtc3RhY2staGVhZGluZ3M6ICdCdWVuZGlhJywgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8gUmVzZXQgTWVuZGVsZWV2IHZhcmlhYmxlcyBhbmQgc3R5bGVzXG4kbWVuZGVsZWV2LXR5cGVmYWNlOiAkZm9udC1zdGFjay1wYXJhZ3JhcGg7XG4kbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiAoKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0LCAoXG4gICAgIzMwQkZEMzogJGNvbG9yLXdoaXRlLFxuICAgICNGRjNENzI6ICRjb2xvci13aGl0ZSxcbiAgICAjMDQyQTQ2OiAkY29sb3Itd2hpdGUsXG4pKTtcblxuLy8gRUogY29uZmlndXJhdGlvbnNcbiRlai1oZWFkaW5nczogKFxuICAgIGZvbnQtd2VpZ2h0OiA0MDAsXG4gICAgZm9udC1mYW1pbHk6ICRmb250LXN0YWNrLWhlYWRpbmdzLFxuKSAhZGVmYXVsdDtcbiRlai1idXR0b24tcmFkaXVzOiAyLjI1cmVtIC8gMiAhZGVmYXVsdDtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1FTkRFTEVFViBDT05GSUdcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtZW5kZWxlZXYtY29uZmlnOiBtYXAtbWVyZ2UtZGVlcChcbiAgICAgICAgJG1lbmRlbGVldi1jb25maWcsIChcbiAgICAgICAgLy8gQnJlYWtpbmcgcG9pbnRzXG4gICAgICAgICdicmVha3BvaW50cyc6IChcbiAgICAgICAgICAgICdzbSc6IDM1cmVtLFxuICAgICAgICApLFxuICAgICAgICAvLyBUeXBvZ3JhcGh5XG4gICAgICAgICd0eXBvZ3JhcGh5JzogKFxuICAgICAgICAgICAgJ2hlYWRpbmdzJzogJGVqLWhlYWRpbmdzLFxuICAgICAgICAgICAgJ3NhbnMtc2VyaWYnOiAkZm9udC1zdGFjay1wYXJhZ3JhcGgsXG4gICAgICAgICAgICAnc2l6ZSc6IChcbiAgICAgICAgICAgICAgICAnc3RhcnQnOiAxNixcbiAgICAgICAgICAgICAgICAnc20nOiAxNixcbiAgICAgICAgICAgICAgICAnbWQnOiAxNyxcbiAgICAgICAgICAgICAgICAnbGcnOiAxOCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnc2NhbGUnOiAoXG4gICAgICAgICAgICAgICAgJ3N0YXJ0JzogOS84LFxuICAgICAgICAgICAgICAgICdzbSc6IDkvOCxcbiAgICAgICAgICAgICAgICAnbWQnOiA4LzcsXG4gICAgICAgICAgICAgICAgJ2xnJzogNy82LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgLy8gQ29sb3JzXG4gICAgICAgICdjb2xvcic6KFxuICAgICAgICAgICAgJ3JvbGVzJzogKFxuICAgICAgICAgICAgICAgICdwcmltYXJ5JywgJ3NlY29uZGFyeScsXG4gICAgICAgICAgICAgICAgJ2FjdGlvbicsICdwb3NpdGl2ZScsICduZWdhdGl2ZScsXG4gICAgICAgICAgICAgICAgJ3dhcm5pbmcnLCAnd2hpdGUnLCAnYmxhY2snLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgLy8gRm9ybXNcbiAgICAgICAgJ2lucHV0JzogKFxuICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAkZWotYnV0dG9uLXJhZGl1cyxcbiAgICAgICAgICAgICdtaW4td2lkdGgnOiAxNWVtLFxuICAgICAgICAgICAgJ3dpZHRoJzogMTAwJSxcbiAgICAgICAgICAgICdtYXgtd2lkdGgnOiAzMHJlbSxcbiAgICAgICAgKSxcbiAgICAgICAgJ2J1dHRvbic6IChcbiAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogJGVqLWJ1dHRvbi1yYWRpdXMsXG4gICAgICAgICAgICAnZm9udC13ZWlnaHQnOiA3MDAsXG4gICAgICAgICksXG4gICAgICAgIC8vIEVKIEdsb2JhbCBzdHlsZXMgYW5kIGNvbXBvbmVudHNcbiAgICAgICAgJ2VqJzogKFxuICAgICAgICAgICAgJ3N0eWxlJyA6IChcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6IC43NXJlbSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnY29udmVyc2F0aW9uLWNhcmQnOiAoXG4gICAgICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiA1MCUsXG4gICAgICAgICAgICAgICAgJ2hpZ2hsaWdodC10YWdzJzogdHJ1ZSxcbiAgICAgICAgICAgICAgICAnYmctaW1hZ2UnOiAnL3N0YXRpYy9pbWcvYmcvY29udmVyc2F0aW9uLWNhcmQyLnBuZycsXG4gICAgICAgICAgICApLFxuICAgICAgICApXG4gICAgKSk7XG5cbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9tZW5kZWxlZXYnO1xuIiwKCQkiLy8gQWxpYXMgdG8gZm4uc2Fzc1xuQGltcG9ydCAnZm4uc2Fzcy9mbic7XG5cbi8vLyBMb2cgZ2l2ZW4gJHZhbHVlcyBhbmQgcmV0dXJuIHRoZSBsYXN0IGFyZ3VtZW50LlxuQGZ1bmN0aW9uIGxvZygkYXJncy4uLikge1xuICAgIEB3YXJuICdMT0c6ICN7JGFyZ3N9JztcbiAgICBAcmV0dXJuIG50aCgkYXJncywgbGVuZ3RoKCRhcmdzKSk7XG59XG5cbkBtaXhpbiB2YXItZmFsbGJhY2soJGRlZnMpIHtcbiAgICBAZWFjaCAkcHJvcCwgJHBhaXIgaW4gJGRlZnMge1xuICAgICAgICAkdmFsdWU6IG50aCgkcGFpciwgMSk7XG4gICAgICAgICR2YXItbmFtZTogbnRoKCRwYWlyLCAyKTtcbiAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgI3skcHJvcH06IHVucXVvdGUoJ3ZhcigtLSN7JHZhci1uYW1lfSknKTtcbiAgICB9XG59XG5cbkBmdW5jdGlvbiBtYXAtc29tZS1rZXlzKCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkcHJlZCk7XG5cbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBjYWxsKCRmbiwgJGssICRhcmdzLi4uKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuQGZ1bmN0aW9uIG1hcC1zb21lLXZhbHVlcygkcHJlZCwgJG1hcCwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJHByZWQpO1xuXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICBAaWYgY2FsbCgkZm4sICR2LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gZmFsc2U7XG59XG5cbkBmdW5jdGlvbiBtYXAtZXZlcnkta2V5KCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkcHJlZCk7XG5cbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBub3QgY2FsbCgkZm4sICRrLCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbkBmdW5jdGlvbiBtYXAtZXZlcnktdmFsdWUoJHByZWQsICRtYXAsICRhcmdzLi4uKSB7XG4gICAgJGZuOiBhcy1mdW5jKCRwcmVkKTtcblxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgICAgQGlmIG5vdCBjYWxsKCRmbiwgJHYsICRhcmdzLi4uKSB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdsaXN0JztcbkBpbXBvcnQgJ2FycmF5JztcbkBpbXBvcnQgJ21hcCc7XG5AaW1wb3J0ICdzdHJpbmcnO1xuQGltcG9ydCAnbnVtYmVycyc7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICd0ZXN0aW5nJztcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gVVRJTElUWSBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgdXRpbGl0eSBmdW5jdGlvbnNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIENvbnZlcnQgZnVuY3Rpb24gb3Igc3RyaW5nIHRvIGEgZnVuY3Rpb24gaGFuZGxlLlxuQGZ1bmN0aW9uIGFzLWZ1bmMoJGZuKSB7XG4gICAgQGlmIHR5cGUtb2YoJGZuKSA9PSBmdW5jdGlvbiB7XG4gICAgICAgIEByZXR1cm4gJGZuXG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRmbikgPT0gc3RyaW5nIHtcbiAgICAgICAgLy9ub2luc3BlY3Rpb24gQ3NzSW52YWxpZEZ1bmN0aW9uXG4gICAgICAgIEByZXR1cm4gZ2V0LWZ1bmN0aW9uKCRmbik7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIkludmFsaWQgZnVuY3Rpb246ICN7JGZufVwiO1xuICAgIH1cbn1cblxuLy8vIFZlcnNpb24gb2YgY2FsbCguLi4pIHRoYXQgYWNjZXB0cyBuYW1lcyBhbmQgZnVuY3Rpb24gcmVmZXJlbmNlc1xuQGZ1bmN0aW9uIGNhbGwtZm4oJGZuLCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gY2FsbChhcy1mdW5jKCRmbiksICRhcmdzLi4uKTtcbn1cblxuLy8vIFBhc3MgYXJndW1lbnQgdGhyb3VnaCBhIHNlcmllcyBvZiBmdW5jdGlvbnMuXG5AZnVuY3Rpb24gcGlwZSgkeCwgJGZucy4uLikge1xuICAgIEBlYWNoICRmbiBpbiAkZm5zIHtcbiAgICAgICAgJHg6IGNhbGwtZm4oJGZuLCAkeCk7XG4gICAgfVxuICAgIEByZXR1cm4gJHg7XG59XG5cbi8vLyBQYXNzIGFyZ3VtZW50cyBwYWlyd2lzZSB0aHJvdWdoIGEgc2VyaWVzIG9mIGZ1bmN0aW9ucy5cbi8vLyBBbGwgaW50ZXJtZWRpYXRlIGZ1bmN0aW9ucyBtdXN0IHJldHVybiBsaXN0cyBvZiBhcmd1bWVudHMgdG8gdGhlIGZvbGxvd2luZ1xuLy8vIGZ1bmN0aW9ucy4gVGhlIGxhc3QgZnVuY3Rpb24gaW4gdGhlIHBpcGUgY2FuIHJldHVybiBhbnl0aGluZy5cbkBmdW5jdGlvbiBwaXBlLTIoJHgsICR5LCAkZm5zLi4uKSB7XG4gICAgJGFyZ3M6ICgkeCwgJHkpO1xuICAgIEBlYWNoICRmbiBpbiAkZm5zIHtcbiAgICAgICAgJGFyZ3M6IGNhbGwtZm4oJGZuLCAkYXJncy4uLik7XG4gICAgfVxuICAgIEByZXR1cm4gJGFyZ3M7XG59XG5cbi8vLyBGbGlwIHRoZSBvcmRlciBvZiBhIDItZWxlbWVudCBsaXN0XG5AZnVuY3Rpb24gZmxpcCgkeCwgJHkpIHtcbiAgICBAcmV0dXJuICgkeSwgJHgpO1xufVxuXG4vLy8gUmV0dXJuIGl0cyBhcmd1bWVudFxuQGZ1bmN0aW9uIGlkZW50aXR5KCR4KSB7XG4gICAgQHJldHVybiAkeDtcbn1cblxuLy8vIFJldHVybiBmaXJzdCBlbGVtZW50IG9mIGEgbGlzdFxuQGZ1bmN0aW9uIGZpcnN0KCRsc3QpIHtcbiAgICBAcmV0dXJuIG50aCgkbHN0LCAxKTtcbn1cblxuLy8vIFJldHVybiBzZWNvbmQgZWxlbWVudCBvZiBhIGxpc3RcbkBmdW5jdGlvbiBzZWNvbmQoJGxzdCkge1xuICAgIEByZXR1cm4gbnRoKCRsc3QsIDIpO1xufVxuXG4vLy8gUmV0dXJuIGZpcnN0IGFyZ3VtZW50XG5AZnVuY3Rpb24gZmlyc3QtYXJnKCR4LCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gJHg7XG59XG5cbi8vLyBSZXR1cm4gc2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gc2Vjb25kLWFyZygkeCwgJHksICRhcmdzLi4uKSB7XG4gICAgQHJldHVybiAkeTtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhID4gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gZ3QoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA+ICRiO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGEgPj0gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gZ2UoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA+PSAkYjtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhIDwgJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gbHQoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA8ICRiO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGEgPD0gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gbGUoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA8PSAkYjtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhICE9ICRiXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIG5lKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgIT0gJGI7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiAkYSA9PSAkYlxuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBlcSgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhID09ICRiO1xufVxuXG4vLy8gQWRkIHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGFkZCgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhICsgJGI7XG59XG5cbi8vLyBSZXZlcnNlIGFkZGl0aW9uICh1c2VmdWwgZm9yIHN0cmluZ3MpXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIHJhZGQoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiArICRhO1xufVxuXG4vLy8gU3VidHJhY3QgdHdvIG51bWJlcnNcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gc3ViKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgLSAkYjtcbn1cblxuLy8vIEZsaXBwZWQgYXBwbGljYXRpb24gb2Ygc3ViXG5AZnVuY3Rpb24gb3AtcnN1YigkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRiIC0gJGE7XG59XG5cbi8vLyBNdWx0aXBseSB0d28gbnVtYmVyc1xuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBtdWwoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSAqICRiO1xufVxuXG4vLy8gUmV2ZXJzZSBtdWx0aXBsaWNhdGlvblxuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBtdWwoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAqICRhO1xufVxuXG4vLy8gRGl2aWRlIHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGRpdigkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhIC8gJGI7XG59XG5cbi8vLyBGbGlwcGVkIGFwcGxpY2F0aW9uIG9mIGRpdlxuQGZ1bmN0aW9uIHJkaXYoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAvICRhO1xufVxuXG4vLy8gTW9kdWxvIGRpdmlzaW9uIG9mIHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIG1vZCgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhICUgJGI7XG59XG5cbi8vLyBGbGlwcGVkIGFwcGxpY2F0aW9uIG9mIG1vZFxuQGZ1bmN0aW9uIHJtb2QoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAlICRhO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgZm9yIG5vbi1udWxsIHZhbHVlc1xuQGZ1bmN0aW9uIG5vdC1udWxsKCR4KSB7XG4gICAgQHJldHVybiAkeCAhPSBudWxsO1xufVxuXG4vLy8gTXVsdGlwbHkgbnVtYmVyIGJ5IC0xIG9yIGludmVydCBib29sZWFuIHZhbHVlc1xuQGZ1bmN0aW9uIG5lZ2F0ZSgkeCkge1xuICAgIEBpZiAkeCA9PSB0cnVlIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9IEBlbHNlIGlmICR4ID09IGZhbHNlIHtcbiAgICAgICAgQHJldHVybiB0cnVlO1xuICAgIH1cbiAgICBAcmV0dXJuIC0xICogJHg7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBmb3IgZXZlbiBudW1iZXJzXG5AZnVuY3Rpb24gaXMtZXZlbigkeCkge1xuICAgIEByZXR1cm4gJHggJSAyID09IDA7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBmb3Igb2RkIG51bWJlcnNcbkBmdW5jdGlvbiBpcy1vZGQoJHgpIHtcbiAgICBAcmV0dXJuICR4ICUgMiA9PSAxO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJHggaXMgZGl2aXNpYmxlIGJ5ICRuLlxuLy8vXG4vLy8gQGFyZyAkeCAtIEFyZ3VtZW50XG4vLy8gQGFyZyAkbiAtIERpdmlzb3JcbkBmdW5jdGlvbiBpcy1kaXZpc2libGUtYnkoJHgsICRuKSB7XG4gICAgQHJldHVybiAkeCAlICRuID09IDA7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBhbGwgdGhlIGdpdmVuIGtleXMgYXJlIHJlcGxpY2F0ZWQgd2l0aCB0aGUgc2FtZSB2YWx1ZXMgaW5cbi8vLyB0aGUgYXJndW1lbnQgbWFwLlxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG4vLy8gQGFyZyAka2V5cyAtIEEgbWFwIG9mIGtleXMgdG8gdmFsdWVzIHRvIGNvbXBhcmUgd2l0aCB0aGUgbGhzXG5AZnVuY3Rpb24ga2V5cy1lcXVhbCgkbWFwLCAka2V5cykge1xuICAgIEBlYWNoICRrLCAkdiBpbiAka2V5cyB7XG4gICAgICAgIEBpZiBtYXAtZ2V0KCRtYXAsICRrKSAhPSAkdiB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTElOS0VEIExJU1RTXG4vLy8gQGdyb3VwIGxpc3Rcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdsaXN0LXBlcmYnO1xuXG4kX2ZuLWxpc3Qtbm90LWdpdmVuOiB1bmlxdWUtaWQoKSAhZGVmYXVsdDtcbiRmbi1lbXB0eS1hcnJheTogam9pbigoKSwgKCksIGNvbW1hKSAhZGVmYXVsdDtcbiRmbi1lbXB0eS1tYXA6IG1hcC1yZW1vdmUoKCksIG51bGwpICFkZWZhdWx0O1xuXG4vLyBCQVNJQyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBjb25zIGNlbGxzIGZyb20gYXJndW1lbnRzXG4vLy8gVXNlIGFzIEwoMSwgMiwgMywgNClcbkBmdW5jdGlvbiBMKCR4MTogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4MjogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4MzogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4NDogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4NTogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICR4NjogJF9mbi1saXN0LW5vdC1naXZlbixcbiAgICAgICAgICAgICRhcmdzLi4uKSB7XG4gICAgQGlmICR4MSA9PSAkX2ZuLWxpc3Qtbm90LWdpdmVuIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH0gQGVsc2UgaWYgJHgyID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAcmV0dXJuICgkeDEgbnVsbCk7XG4gICAgfSBAZWxzZSBpZiAkeDMgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEByZXR1cm4gKCR4MSAoJHgyIG51bGwpKTtcbiAgICB9IEBlbHNlIGlmICR4NCA9PSAkX2ZuLWxpc3Qtbm90LWdpdmVuIHtcbiAgICAgICAgQHJldHVybiAoJHgxICgkeDIgKCR4MyBudWxsKSkpO1xuICAgIH0gQGVsc2UgaWYgJHg1ID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAcmV0dXJuICgkeDEgKCR4MiAoJHgzICgkeDQgbnVsbCkpKSk7XG4gICAgfSBAZWxzZSBpZiAkeDYgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEByZXR1cm4gKCR4MSAoJHgyICgkeDMgKCR4NCAoJHg1IG51bGwpKSkpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAoJHgxICgkeDIgKCR4MyAoJHg0ICgkeDUgKCR4NiBMKCRhcmdzLi4uKSkpKSkpKTtcbiAgICB9XG59XG5cbi8vLyBSZXR1cm5zIGZpcnN0IGVsZW1lbnQgb2YgbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gY2FyKCR4cykge1xuICAgIEByZXR1cm4gbnRoKCR4cywgMSk7XG59XG5cbi8vLyBSZXR1cm5zIGxpc3QncyB0YWlsXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBjZHIoJHhzKSB7XG4gICAgQHJldHVybiBudGgoJHhzLCAyKTtcbn1cblxuLy8vIENvbnN0cnVjdCBsaXN0LCBhZGRpbmcgZmlyc3QgYXJndW1lbnQgJHggaW4gZnJvbnQgb2YgYSBsaXN0IG9mICR4cy5cbi8vL1xuLy8vIEBhcmcgJHggLSBFbGVtZW50XG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gY29ucygkeCwgJHhzKSB7XG4gICAgQHJldHVybiAoJHggJHhzKTtcbn1cblxuLy8vIFJldHVybiBsaXN0IGxlbmd0aFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWxlbmd0aCgkeHMpIHtcbiAgICAkc2l6ZTogMDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHNpemU6ICRzaXplICsgMTtcbiAgICB9XG4gICAgQHJldHVybiAkc2l6ZTtcbn1cblxuLy8vIFJldHVybiB0aGUgbi10aCBlbGVtZW50IGluIGxpc3Qgb2YgJHhzXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICRuIC0gUmVxdWVzdGVkIHBvc2l0aW9uXG5AZnVuY3Rpb24gbHN0LW50aCgkeHMsICRuLCAkZGVmYXVsdDogbnVsbCkge1xuICAgIEBpZiAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEBlcnJvciBcIkxpc3QgZG8gbm90IGhhdmUgZW5vdWdoIGVsZW1lbnRzLlwiXG4gICAgfVxuICAgIEBpZiAkbiA8PSAwIHtcbiAgICAgICAgQGVycm9yIFwiTmVnYXRpdmUgb3IgemVybyBpbmRleGVzIG5vdCBhbGxvd2VkLlwiXG4gICAgfVxuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICBAaWYgJG4gPT0gMSB7XG4gICAgICAgICAgICBAcmV0dXJuIG50aCgkeHMsIDEpO1xuICAgICAgICB9XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRuOiAkbiAtIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBSZXR1cm4gdGhlIHBvc2l0aW9uIG9mICR2YWx1ZSBpbiBsaXN0IG9mICR4cy5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHZhbHVlIC0gTG9va3VwIHZhbHVlXG5AZnVuY3Rpb24gbHN0LWluZGV4KCR4cywgJHZhbHVlLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRpZHg6IDA7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICRpZHg6ICRpZHggKyAxO1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiAkeCA9PSAkdmFsdWUge1xuICAgICAgICAgICAgQHJldHVybiAkaWR4O1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBsaXN0IG9mICR4cyBjb250YWlucyAkdmFsdWVcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHZhbHVlIC0gTG9va3VwIHZhbHVlXG5AZnVuY3Rpb24gbHN0LWNvbnRhaW5zKCR4cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBsc3QtaW5kZXgoJHhzLCAkdmFsdWUpICE9IG51bGw7XG59XG5cbi8vLyBDYXN0IGxpc3Qgb2JqZWN0IGFzIGEgbGlua2VkIGxpc3QuXG4vLy9cbi8vLyBAYXJnICR4cyAtIGxpc3Qgb3IgbGlzdC1saWtlIG9iamVjdC5cbkBmdW5jdGlvbiB0by1sc3QoJHhzKSB7XG4gICAgLy9ub2luc3BlY3Rpb24gQ3NzSW52YWxpZEZ1bmN0aW9uXG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAkeHM7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR4cykgPT0gJ2xpc3QnIHtcbiAgICAgICAgQGlmIGlzLWJyYWNrZXRlZCgkeHMpIG9yIGxpc3Qtc2VwYXJhdG9yKCR4cykgPT0gJ2NvbW1hJyB7XG4gICAgICAgICAgICBAcmV0dXJuIGxzdC1mcm9tLWFycmF5KCR4cyk7XG4gICAgICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR4cykgPT0gMiB7XG4gICAgICAgICAgICBAcmV0dXJuICR4cztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAZXJyb3IgXCJJbnB1dCBtdXN0IGJlIGEgbGlua2VkIGxpc3QuXFxuSGludDogY3JlYXRlIG9uZSBmcm9tIGEgcmVndWxhciBTYXNzIGFycmF5IHVzaW5nIEwoJHhzLi4uKVwiXG59XG5cbi8vIEpPSU5JTkcgQU5EIE1FUkdJTkcgTElTVFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBmdW5jdGlvbiBfbHN0LXJldmVyc2UoJHhzKSB7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gUmV2ZXJzZSBvcmRlciBvZiBlbGVtZW50cyBpbiBsaXN0XG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtcmV2ZXJzZSgkeHMpIHtcbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZSh0by1sc3QoJHhzKSk7XG59XG5cbi8vLyBaaXAgdHdvIGxpc3RzIHRvZ2V0aGVyIGFuZCByZXR1cm4gYSBsaXN0IG9mIGNvbnNlcy5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHlzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC16aXAoJHhzLCAkeXMsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICRyZXM6IG51bGw7XG4gICAgQHdoaWxlICR4cyBhbmQgJHlzIHtcbiAgICAgICAgJHJlczogKChudGgoJHhzLCAxKSBudGgoJHlzLCAxKSkgJHJlcyk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogbnRoKCR5cywgMik7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsICRyZXMsIF9sc3QtcmV2ZXJzZSgkcmVzKSk7XG59XG5cbkBmdW5jdGlvbiBfbHN0LXN0aXRjaCgkeHMsICR5cykge1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCB3aXRoIHJldmVyc2VkICR4cyBmb2xsb3dlZCBieSAkeXMuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR5cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtc3RpdGNoKCR4cywgJHlzKSB7XG4gICAgQHJldHVybiBfbHN0LXN0aXRjaCh0by1sc3QoJHhzKSwgdG8tbHN0KCR5cykpO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCB3aXRoICR4cyBmb2xsb3dlZCBieSAkeXMuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR5cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtam9pbigkeHMsICR5cykge1xuICAgIEByZXR1cm4gX2xzdC1zdGl0Y2goX2xzdC1yZXZlcnNlKHRvLWxzdCgkeHMpKSwgdG8tbHN0KCR5cykpO1xufVxuXG4vLy8gQXBwZW5kIGFuIGFycmF5IG9mIGxpc3RzIHRvZ2V0aGVyXG4vLy9cbi8vLyBAYXJnICRsaXN0cyAtIEFycmF5IG9mIGxpc3RzXG5AZnVuY3Rpb24gbHN0LWNvbmNhdCgkbGlzdHMpIHtcbiAgICAkeHM6IG50aCgkbGlzdHMsIGxlbmd0aCgkbGlzdHMpKTtcbiAgICBAZm9yICRpIGZyb20gbGVuZ3RoKCRsaXN0cykgLSAxIHRocm91Z2ggMSB7XG4gICAgICAgICR4czogbHN0LWpvaW4obnRoKCRsaXN0cywgJGkpLCAkeHMpO1xuICAgIH1cbiAgICBAcmV0dXJuICR4cztcbn1cblxuLy8vIEludGVyc3BlcnNlICR2YWx1ZSBiZXR3ZWVuIGVsZW1lbnRzIG9mICR4c1xuLy8vICAgICBsc3QtaW50ZXJzcGVyc2UoTCgxLCAyLCAzKSwgMCkgPT0+IEwoMSwgMCwgMiwgMCwgMylcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJHZhbHVlIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1pbnRlcnNwZXJzZSgkeHMsICR2YWx1ZSwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICRyZXM6IG51bGw7XG4gICAgJHk6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHJlczogKCR2YWx1ZSAoJHkgJHJlcykpO1xuICAgICAgICAkeTogJHg7XG4gICAgfVxuICAgICRyZXM6ICgkeSAkcmVzKTtcbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG4vLy8gSW50ZXJjYWxhdGUgZWxlbWVudHMgb2YgYm90aCBsaXN0c1xuLy8vXG4vLy8gQGFyZyAkeHMgLSBGaXJzdCBsaXN0XG4vLy8gQGFyZyAkeXMgLSBTZWNvbmQgbGlzdFxuQGZ1bmN0aW9uIGxzdC1pbnRlcmNhbGF0ZSgkeHMsICR5cywgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkeXM6IHRvLWxzdCgkeXMpO1xuICAgICRyZXM6IG51bGw7XG4gICAgQHdoaWxlICR4cyBhbmQgJHlzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkeTogbnRoKCR5cywgMSk7XG4gICAgICAgICR5czogbnRoKCR5cywgMik7XG4gICAgICAgICRyZXM6ICgkeSAoJHggJHJlcykpO1xuICAgICAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgICAgICBAcmV0dXJuIF9sc3Qtc3RpdGNoKCRyZXMsICR5cylcbiAgICAgICAgfVxuICAgICAgICBAaWYgbm90ICR5cyB7XG4gICAgICAgICAgICBAcmV0dXJuIF9sc3Qtc3RpdGNoKCRyZXMsICR4cylcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG4vLyBDUkVBVElPTiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQ3JlYXRlIGxpc3Qgd2l0aCAkbiByZXBldGl0aW9uIG9mICR4XG4vLy9cbi8vLyBAYXJnICR4IC0gVmFsdWVcbi8vLyBAYXJnICRuIC0gTnVtYmVyIG9mIHJlcGV0aXRpb25zXG5AZnVuY3Rpb24gbHN0LXJlcGVhdCgkeCwgJG46IDEpIHtcbiAgICAkeXM6IG51bGw7XG4gICAgQHdoaWxlICRuID4gMCB7XG4gICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgICAgICRuOiAkbiAtIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gUmV0dXJuIGEgcmFuZ2Ugb2YgbnVtYmVycyBmcm9tICRhIHRvICRiIChpbmNsdXNpdmUpXG4vLy9cbi8vLyBAYXJnICRhIC0gU3RhcnRpbmcgb2YgcmFuZ2Vcbi8vLyBAYXJnICRiIC0gRW5kIG9mIHJhbmdlXG4vLy8gQGFyZyAkc3RlcCAob3B0aW9uYWwpIC0gU3RlcCBiZXR3ZWVuIHN1Y2Nlc3NpdmUgdmFsdWVzLlxuQGZ1bmN0aW9uIGxzdC1yYW5nZSgkYSwgJGIsICRzdGVwOiAxKSB7XG4gICAgQGlmICRiIDwgJGEge1xuICAgICAgICBAcmV0dXJuIGxzdC1yYW5nZSgkYiwgJGEsIC0kc3RlcCk7XG4gICAgfVxuXG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkYSA8PSAkYiB7XG4gICAgICAgICR5czogKCRhICR5cyk7XG4gICAgICAgICRhOiAkYSArICRzdGVwO1xuICAgIH1cbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZSgkeXMpO1xufVxuXG4vLyBUUkFOU0ZPUk1BVElPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gX2xzdC1tYXAoJGZuLCAkeHMsICRhcmdzKSB7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKGNhbGwoJGZuLCAkeCwgJGFyZ3MuLi4pICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBmbigkeCkgZm9yIGVhY2ggJHggaW4gJHhzLlxuLy8vXG4vLy8gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uIGR1cmluZyBmdW5jdGlvblxuLy8vIGFwcGxpY2F0aW9uLiBJZiBvcmRlciBvZiBlbGVtZW50cyBpcyBub3QgaW1wb3J0YW50LCB1c2UgbHN0LXJldm1hcCwgc2luY2UgaXRcbi8vLyBpcyBmYXN0ZXIuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uIG5hbWUgb3IgaGFuZGxlXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LW1hcCgkZm4sICR4cywgJGFyZ3MuLi4pIHtcbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZShfbHN0LW1hcChhcy1mdW5jKCRmbiksIHRvLWxzdCgkeHMpLCAkYXJncykpO1xufVxuXG4vLy8gTGlrZSBtYXAsIGJ1dCByZXR1cm4gYSByZXZlcnNlZCBjb3B5IG9mIHRoZSBtYXBwZWQgbGlzdC5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gRnVuY3Rpb24gbmFtZSBvciBoYW5kbGVcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtcmV2bWFwKCRmbiwgJHhzLCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gX2xzdC1tYXAoYXMtZnVuYygkZm4pLCB0by1sc3QoJHhzKSwgJGFyZ3MpO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBmbigkeCkgZm9yIGVhY2ggJHggaW4gJHhzLlxuLy8vIERpZmZlcmVudGx5IGZyb20gbHN0LW1hcCwgdGhpcyBmdW5jdGlvbiBhcHBsaWVzICR4ICoqYWZ0ZXIqKiB0aGUgZXh0cmFcbi8vLyBhcmd1bWVudHMuXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uIG5hbWUgb3IgaGFuZGxlXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXJtYXAoJGZuLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgQGlmIGxlbmd0aCgkYXJncykgPT0gMCB7XG4gICAgICAgIEByZXR1cm4gbHN0LW1hcCgkZm4sICR4cyk7XG4gICAgfVxuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRhcmdzLWFsbDogYXBwZW5kKCRhcmdzLCAkeCk7XG4gICAgICAgICR5czogKGNhbGwoJGZuLCAkYXJncy1hbGwuLi4pICR5cyk7XG4gICAgfVxuICAgIEByZXR1cm4gX2xzdC1yZXZlcnNlKCR5cyk7XG59XG5cbi8vLyBDcmVhdGUgYSBsaXN0IG9mIGZuKCRwb3NpdGlvbiwgJHgpIGZvciBlYWNoICR4IGluICR4cy4gUG9zaXRpb24gc3RhcnRzXG4vLy8gY291bnRpbmcgYXQgMS5cbi8vL1xuLy8vIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiBkdXJpbmcgZnVuY3Rpb25cbi8vLyBhcHBsaWNhdGlvbi5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gRnVuY3Rpb24gbmFtZSBvciBoYW5kbGVcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtaW5kZXgtbWFwKCRmbiwgJHhzLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgICRpZHg6IDE7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHlzOiAoY2FsbCgkZm4sICRpZHgsICR4LCAkYXJncy4uLikgJHlzKTtcbiAgICAgICAgJGlkeDogJGlkeCArIDE7XG4gICAgfVxuICAgIEByZXR1cm4gX2xzdC1yZXZlcnNlKCR5cyk7XG59XG5cbi8vLyBGaWx0ZXIgbGlzdCBieSBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtZmlsdGVyKCRwcmVkLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgJHByZWQ6IGFzLWZ1bmMoJHByZWQpO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiBjYWxsKCRwcmVkLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgICR5czogKCR4ICR5cyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBfbHN0LXJldmVyc2UoJHlzKTtcbn1cblxuLy8vIFJldHVybiAyIGxpc3RzLCB3aXRoIGVsZW1lbnRzIHNlcGFyYXRlZCBieSBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtc2VwYXJhdGUoJHByZWQsICR4cywgJGFyZ3MuLi4pIHtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgICRsZWZ0OiBudWxsO1xuICAgICRyaWdodDogbnVsbDtcbiAgICAkcHJlZDogYXMtZnVuYygkcHJlZCk7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmIGNhbGwoJHByZWQsICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgJGxlZnQ6ICgkeCAkbGVmdCk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJHJpZ2h0OiAoJHggJHJpZ2h0KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIChfbHN0LXJldmVyc2UoJGxlZnQpIF9sc3QtcmV2ZXJzZSgkcmlnaHQpKTtcbn1cblxuLy8vIERyb3AgdGhlIGZpcnN0ICRuIGVsZW1lbnRzIG9mIGxpc3QuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzXG5AZnVuY3Rpb24gbHN0LWRyb3AoJHhzLCAkbikge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQHdoaWxlICR4cyBhbmQgJG4gPiAwIHtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJG46ICRuIC0gMTtcbiAgICB9XG4gICAgQHJldHVybiAkeHM7XG59XG5cbi8vLyBLZWVwIGF0IG1vc3QgdGhlIGZpcnN0IG4gZWxlbWVudHMgb2YgbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkbiAtIE51bWJlciBvZiBlbGVtZW50c1xuQGZ1bmN0aW9uIGxzdC10YWtlKCR4cywgJG4pIHtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgIEBpZiAkbiA8PSAwIG9yICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICBAcmV0dXJuIChudGgoJHhzLCAxKSBsc3QtdGFrZShudGgoJHhzLCAyKSwgJG4gLSAxKSk7XG59XG5cbi8vLyBRdWljayBzb3J0IGFsZ29yaXRobVxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXNvcnQoJHhzKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICRwYWlyOiBsc3Qtc2VwYXJhdGUobHQsICR4cywgJHgpO1xuICAgIEByZXR1cm4gbHN0LWpvaW4obHN0LXNvcnQobnRoKCRwYWlyLCAxKSksICgkeCBsc3Qtc29ydChudGgoJHBhaXIsIDIpKSkpO1xufVxuXG4vLy8gSXRlcmF0ZSBpbiBjaHVua3Mgb2Ygc2l6ZSAkbi5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJG4gLSBNYXhpbXVtIG51bWJlciBvZiBlbGVtZW50cyBpbiBlYWNoIGNodW5rXG5AZnVuY3Rpb24gbHN0LWNodW5rcygkeHMsICRuKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkY2h1bms6IG51bGw7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbiB7XG4gICAgICAgIEBpZiAkeHMgIT0gbnVsbCB7XG4gICAgICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAgICAgJGNodW5rOiAoJHggJGNodW5rKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRjaHVuayA9PSBudWxsLCBudWxsLCAoX2xzdC1yZXZlcnNlKCRjaHVuaykgbHN0LWNodW5rcygkeHMsICRuKSkpO1xufVxuXG4vLy8gSXRlcmF0ZSBpbiBjaHVua3Mgb2YgMi5cbi8vLyBTaW1pbGFyIHRvIGxzdC1jaHVua3MsIGJ1dCBlbGVtZW50cyBhcmUgY29ucyBjZWxscyBhbmQgaXQgaXMgc2xpZ2h0bHkgbW9yZVxuLy8vIGVmZmljaWVudC5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdC5cbi8vLyBAYXJnICRyZXZlcnNlIC0gSWYgdHJ1ZSwgcmV2ZXJzZSByZXN1bHQuXG5AZnVuY3Rpb24gbHN0LXBhaXJ3aXNlKCR4cywgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkeXM6IG51bGw7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICRhOiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmICR4cyB7XG4gICAgICAgICAgICAkYjogbnRoKCR4cywgMSk7XG4gICAgICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAgICAgJHlzOiAoKCRhICRiKSAkeXMpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICR5czogKGFwcGVuZCgoKSwgJGEpICR5cyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHlzLCBfbHN0LXJldmVyc2UoJHlzKSk7XG59XG5cbi8vLyBDcmVhdGUgYSBsaXN0IG9mIHBhaXJzIG9mIChwb3NpdGlvbiB2YWx1ZSkuXG4vLy9cbi8vLyBAYXJnICR4cyAtIElucHV0IGxpc3Rcbi8vLyBAYXJnICRzdGFydCAtIE9wdGlvbmFsIHN0YXJ0aW5nIHZhbHVlIChiZWdpbnMgd2l0aCAxKVxuLy8vIEBhcmcgJHN0ZXAgLSBPcHRpb25hbCBzdGVwICgxIGlmIG5vdCBnaXZlbilcbkBmdW5jdGlvbiBsc3QtZW51bWVyYXRlKCR4cywgJHN0YXJ0OiAxLCAkc3RlcDogMSwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkcmVzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRyZXM6IGNvbnMoKCRzdGFydCAkeCksICRyZXMpO1xuICAgICAgICAkc3RhcnQ6ICRzdGFydCArICRzdGVwO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG4vLyBGT0xEUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gX2xzdC1yZWR1Y2UoJGZuLCAkeHMsICRpbml0LCAkYXJncykge1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkaW5pdDogY2FsbCgkZm4sIG50aCgkeHMsIDEpLCAkaW5pdCwgJGFyZ3MuLi4pO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIH1cbiAgICBAcmV0dXJuICRpbml0O1xufVxuXG4vLy8gUmVkdWNlIG5vbi1lbXB0eSBsaXN0IGJ5IGZ1bmN0aW9uICRmbi5cbi8vL1xuLy8vIEFyZ3VtZW50cyBhcmUgcGFzc2VkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcHBlYXIgaW4gdGhlIHRoZSBmdW5jdGlvblxuLy8vIHNpZ25hdHVyZSwgaS5lLiwgZm4oJHgsICRpbml0LCAuLi4pXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkaW5pdCAtIEluaXRpYWwgdmFsdWUgb2YgcmVkdWN0aW9uXG5AZnVuY3Rpb24gbHN0LXJlZHVjZSgkZm4sICR4cywgJGluaXQ6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sICRhcmdzLi4uKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJGluaXQgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEBpZiAkeHMge1xuICAgICAgICAgICAgJGluaXQ6IG50aCgkeHMsIDEpO1xuICAgICAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZXJyb3IgXCJDYW5ub3QgcmVkdWNlIGFuIGVtcHR5IGxpc3RcIjtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIF9sc3QtcmVkdWNlKGFzLWZ1bmMoJGZuKSwgJHhzLCAkaW5pdCwgJGFyZ3MpO1xufVxuXG4vLy8gU3VtIGFsbCBlbGVtZW50cyBvZiBsaXN0LlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXN1bSgkeHMpIHtcbiAgICBAcmV0dXJuIGxzdC1yZWR1Y2UoYWRkLCAkeHMsIDApO1xufVxuXG4vLy8gTXVsdGlwbHkgYWxsIGVsZW1lbnRzIG9mIGxpc3QuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtcHJvZCgkeHMpIHtcbiAgICBAcmV0dXJuIGxzdC1yZWR1Y2UobXVsLCAkeHMsIDEpO1xufVxuXG4vLy8gVHJ1ZSBpZiBhbGwgZWxlbWVudHMgYXJlIHRydWUuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtYWxsKCR4cykge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgQGlmIG5vdCBudGgoJHhzLCAxKSB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIFRydWUgaWYgYW55IGVsZW1lbnQgaXMgdHJ1ZS5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1hbnkoJHhzKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgQGlmIG50aCgkeHMsIDEpIHtcbiAgICAgICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIH1cbiAgICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgc29tZSBlbGVtZW50cyBwYXNzIHByZWRpY2F0ZS5cbi8vL1xuLy8vIEBhcmcgJHByZWQgLSBQcmVkaWNhdGUgZnVuY3Rpb24gKGkuZS4sIGZ1bmN0aW9uIHRoYXQgcmV0dXJuIGJvb2xlYW5zKVxuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1zb21lKCRwcmVkLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgJHByZWQ6IGFzLWZ1bmMoJHByZWQpO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmIGNhbGwoJHByZWQsICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBhbGwgZWxlbWVudHMgcGFzcyBwcmVkaWNhdGUuXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtZXZlcnkoJHByZWQsICR4cywgJGFyZ3MuLi4pIHtcbiAgICAkcHJlZDogYXMtZnVuYygkcHJlZCk7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICBAaWYgbm90IGNhbGwoJHByZWQsICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBSZXR1cm4gbWF4aW11bSB2YWx1ZSBpbiBsaXN0XG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtbWF4KCR4cykge1xuICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICR5OiBpZigkeHMgPT0gbnVsbCwgJHgsIGxzdC1tYXgoJHhzKSk7XG4gICAgQHJldHVybiBpZigkeCA+ICR5LCAkeCwgJHkpO1xufVxuXG4vLy8gUmV0dXJuIG1pbmltdW0gdmFsdWUgaW4gbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LW1pbigkeHMpIHtcbiAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAkeTogaWYoJHhzID09IG51bGwsICR4LCBsc3QtbWluKCR4cykpO1xuICAgIEByZXR1cm4gaWYoJHggPCAkeSwgJHgsICR5KTtcbn1cblxuLy8vIEdlbmVyYWxpemVkIGpvaW4uIFJlZHVjZSBsaXN0IHdpdGggJGZuIGJ5IGFwcGx5aW5nIGJpbmFyeSBwYXJ0aXRpb25zLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBCaW5hcnkgb3BlcmF0b3IgdXNlZCB0byBqb2luIGNvbnNlY3V0aXZlIGVsZW1lbnRzLlxuLy8vIEBhcmcgJGVtcHR5IC0gTmV1dHJhbCBlbGVtZW50IHRvICRmbiAoaS5lLiwgZm4oJHgsICRlbXB0eSkgPT0+ICR4LlxuLy8vIEBhcmcgJHhzIC0gTGlzdC5cbkBmdW5jdGlvbiBsc3Qtam9pbi1ieSgkZm4sICRlbXB0eSwgJHhzKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gJGVtcHR5O1xuICAgIH1cbiAgICBAd2hpbGUgbnRoKCR4cywgMikge1xuICAgICAgICAkeXM6IG51bGw7XG4gICAgICAgICRwYWlyczogbHN0LXBhaXJ3aXNlKCR4cywgdHJ1ZSk7XG4gICAgICAgIEB3aGlsZSAkcGFpcnMgIT0gbnVsbCB7XG4gICAgICAgICAgICAkcGFpcjogbnRoKCRwYWlycywgMSk7XG4gICAgICAgICAgICAkcGFpcnM6IG50aCgkcGFpcnMsIDIpO1xuICAgICAgICAgICAgQGlmIGxlbmd0aCgkcGFpcikgPT0gMSB7XG4gICAgICAgICAgICAgICAgJHlzOiAoY2FsbCgkZm4sIG50aCgkcGFpciwgMSksICRlbXB0eSkgJHlzKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICR5czogKGNhbGwoJGZuLCBudGgoJHBhaXIsIDEpLCBudGgoJHBhaXIsIDIpKSAkeXMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICR4czogJHlzO1xuICAgIH1cbiAgICBAcmV0dXJuIG50aCgkeHMsIDEpO1xufVxuXG4vLyBDT05WRVJTSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQ3JlYXRlIGxpc3QgZnJvbSBzdGFuZGFyZCBsaXN0cy9hcnJheVxuLy8vXG4vLy8gQGFyZyAkYXJyIC0gQSByZWd1bGFyIFNhc3MgYXJyYXkuXG5AZnVuY3Rpb24gbHN0LWZyb20tYXJyYXkoJGFyciwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiBudWxsO1xuICAgIEBlYWNoICR4IGluICRhcnIge1xuICAgICAgICAkeHM6ICgkeCAkeHMpO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkeHMsIF9sc3QtcmV2ZXJzZSgkeHMpKTtcbn1cblxuLy8vIENyZWF0ZSBsaXN0IGZyb20gbWFwXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBBIHJlZ3VsYXIgU2FzcyBtYXAuXG5AZnVuY3Rpb24gbHN0LWZyb20tbWFwKCRtYXAsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogbnVsbDtcbiAgICBAZWFjaCAkeCwgJHkgaW4gJG1hcCB7XG4gICAgICAgICR4czogKCgkeCAkeSkgJHhzKTtcbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHhzLCBfbHN0LXJldmVyc2UoJHhzKSk7XG59XG5cbi8vLyBGbGF0dGVuIGEgbGlzdCBvZiBhcnJheXNcbi8vL1xuLy8vIEBhcmcgJGFzIC0gTGlzdCBvZiBhcnJheXNcbkBmdW5jdGlvbiBsc3QtZmxhdHRlbigkYXJycywgJF9qb2luLXNpemU6IDEyOCkge1xuICAgIEBpZiAkYXJycyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAkZm4tZW1wdHktYXJyYXk7XG4gICAgfSBAZWxzZSBpZiBudGgoJGFycnMsIDIpID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG50aCgkYXJycywgMSk7XG4gICAgfVxuXG4gICAgJHJlczogbnVsbDtcbiAgICAkYWNjOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgJHNpemU6IDA7XG5cbiAgICBAd2hpbGUgJGFycnMge1xuICAgICAgICAkYTogbnRoKCRhcnJzLCAxKTtcbiAgICAgICAgJGFycnM6IG50aCgkYXJycywgMik7XG4gICAgICAgICRuOiBsZW5ndGgoJGEpO1xuICAgICAgICBAaWYgJG4gKyAkc2l6ZSA8PSAkX2pvaW4tc2l6ZSB7XG4gICAgICAgICAgICAkc2l6ZTogJHNpemUgKyAkbjtcbiAgICAgICAgICAgICRhY2M6IGpvaW4oJGFjYywgJGEpO1xuICAgICAgICB9IEBlbHNlIGlmICRzaXplID49ICRfam9pbi1zaXplIHtcbiAgICAgICAgICAgICRyZXM6ICgkYWNjICgkYSAoJHJlcykpKTtcbiAgICAgICAgICAgICRzaXplOiAwO1xuICAgICAgICAgICAgJGFjYzogJGZuLWVtcHR5LWFycmF5O1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRyZXM6ICgkYWNjICgkcmVzKSk7XG4gICAgICAgICAgICAkc2l6ZTogJG47XG4gICAgICAgICAgICAkYWNjOiAkYTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgbGVuZ3RoKCRhY2MpICE9IDAge1xuICAgICAgICAkcmVzOiAoJGFjYyAkcmVzKTtcbiAgICB9XG4gICAgQHJldHVybiBsc3QtZmxhdHRlbihfbHN0LXJldmVyc2UoJHJlcyksICRfam9pbi1zaXplOiAyICogJF9qb2luLXNpemUpO1xufVxuXG4vLy8gQ29udmVydCBsaXN0IG9mICR4cyBpbnRvIGEgU2FzcyBhcnJheS5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC10by1hcnJheSgkeHMpIHtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICgpO1xuICAgIH0gQGVsc2UgaWYgbnRoKCR4cywgMikgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gKG50aCgkeHMsIDEpLCk7XG4gICAgfVxuXG4gICAgLy8gQ29sbGVjdCBwYXJ0aWFsIHN1Yi1hcnJheXNcbiAgICAkYXJyYXlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkYXV4OiBfbHN0LWNvbnN1bWUoJHhzKTtcbiAgICAgICAgJGFycjogbnRoKCRhdXgsIDEpO1xuICAgICAgICAkeHM6IG50aCgkYXV4LCAyKTtcbiAgICAgICAgQGlmICR4cyB7XG4gICAgICAgICAgICAkYXV4OiBfbHN0LWNvbnN1bWUoJHhzKTtcbiAgICAgICAgICAgICRhcnI6IGpvaW4oJGFyciwgbnRoKCRhdXgsIDEpKTtcbiAgICAgICAgICAgICR4czogbnRoKCRhdXgsIDIpO1xuICAgICAgICAgICAgQGlmICR4cyB7XG4gICAgICAgICAgICAgICAgJGF1eDogX2xzdC1jb25zdW1lKCR4cyk7XG4gICAgICAgICAgICAgICAgJGFycjogam9pbigkYXJyLCBudGgoJGF1eCwgMSkpO1xuICAgICAgICAgICAgICAgICR4czogbnRoKCRhdXgsIDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICRhcnJheXM6ICgkYXJyICRhcnJheXMpO1xuICAgIH1cbiAgICBAcmV0dXJuIGxzdC1mbGF0dGVuKF9sc3QtcmV2ZXJzZSgkYXJyYXlzKSk7XG59XG5cbi8vLyBGbGF0dGVuIGEgbGlzdCBvZiBtYXBzXG4vLy9cbi8vLyBAYXJnICRtYXBzIC0gTGlzdCBvZiBtYXBzXG5AZnVuY3Rpb24gbHN0LWZsYXR0ZW4tbWFwKCRtYXBzLCAkX2pvaW4tc2l6ZTogNjQpIHtcbiAgICBAaWYgbm90ICRtYXBzIHtcbiAgICAgICAgQHJldHVybiAkZm4tZW1wdHktbWFwO1xuICAgIH1cbiAgICBAd2hpbGUgbnRoKCRtYXBzLCAyKSB7XG4gICAgICAgICRuZXc6IG51bGw7XG4gICAgICAgIEB3aGlsZSAkbWFwcyB7XG4gICAgICAgICAgICAkbWFwOiBudGgoJG1hcHMsIDEpO1xuICAgICAgICAgICAgJG1hcHM6IG50aCgkbWFwcywgMik7XG4gICAgICAgICAgICBAaWYgJG1hcHMge1xuICAgICAgICAgICAgICAgICRtYXA6IG1hcC1tZXJnZSgkbWFwLCBudGgoJG1hcHMsIDEpKTtcbiAgICAgICAgICAgICAgICAkbWFwczogbnRoKCRtYXBzLCAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRuZXc6ICgkbWFwICRuZXcpO1xuICAgICAgICB9XG4gICAgICAgICRtYXBzOiBfbHN0LXJldmVyc2UoJG5ldyk7XG4gICAgfVxuICAgIEByZXR1cm4gbnRoKCRtYXBzLCAxKTtcbn1cblxuLy8vIFRyYW5zZm9ybSBsaXN0IG9mIHBhaXJzIGludG8gYSBtYXBcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC10by1tYXAoJHhzKSB7XG4gICAgJG1hcHM6IG51bGw7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICRhdXg6IF9sc3QtY29uc3VtZS1wYWlycygkeHMsIDE2KTtcbiAgICAgICAgJG1hcDogbnRoKCRhdXgsIDEpO1xuICAgICAgICAkeHM6IG50aCgkYXV4LCAyKTtcbiAgICAgICAgJG1hcHM6ICgkbWFwICRtYXBzKTtcbiAgICB9XG4gICAgQHJldHVybiBsc3QtZmxhdHRlbi1tYXAoJG1hcHMpO1xufVxuXG4vLy8gQ29lcmNlIG9iamVjdCB0byBsaXN0LiBMaXN0cyBhcmUgcmV0dXJuZWQgYXMgaXMuXG4vLy9cbi8vLyBJdCBpcyBtb3JlIGFnZ3Jlc3NpdmUgdGhhbiB0by1sc3QgdG8gY2FzdCBvYmplY3RzIHRvIGxpc3QuXG4vLy8gICAgICogU2NhbGFycyBhcmUgY29udmVydGVkIHRvIHNpbmdsZSBhcmd1bWVudCBsaXN0cy5cbi8vLyAgICAgKiBBcnJheXMgYXJlIGNvbnZlcnRlZCB0byBsaXN0cyAoZXhjZXB0IHdoZW4gaXQgY2F1c2VzIGFtYmlndWl0eSlcbkBmdW5jdGlvbiBjb2VyY2UtdG8tbHN0KCR4cykge1xuICAgIC8vbm9pbnNwZWN0aW9uIENzc0ludmFsaWRGdW5jdGlvblxuICAgIEBpZiAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHhzKSA9PSAnbGlzdCcge1xuICAgICAgICBAaWYgaXMtYnJhY2tldGVkKCR4cykgb3IgbGlzdC1zZXBhcmF0b3IoJHhzKSA9PSAnY29tbWEnIHtcbiAgICAgICAgICAgIEByZXR1cm4gbHN0LWZyb20tYXJyYXkoJHhzKTtcbiAgICAgICAgfSBAZWxzZSBpZiBsZW5ndGgoJHhzKSA9PSAyIHtcbiAgICAgICAgICAgIEByZXR1cm4gJHhzO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEB3YXJuICdQbGVhc2UgYXZvaWQgdXNpbmcgc3BhY2VkLXNlcGFyYXRlZCBsaXN0cyBpbiBwbGFjZXMgdGhhdCBleHBlY3QgbGlua2VkLWxpc3RzJztcbiAgICAgICAgICAgIEByZXR1cm4gbHN0LWZyb20tYXJyYXkoJHhzKTtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkeHMpID09ICdtYXAnIHtcbiAgICAgICAgQHJldHVybiBsc3QtZnJvbS1tYXAoJHhzKTtcbiAgICB9XG4gICAgQHJldHVybiAoJHhzIG51bGwpO1xufVxuIiwKCQkiLy8vIFVnbHkgcGVyZm9ybWFuY2UtZW5oYW5jaW5nIGZ1bmN0aW9ucyBmb3IgbGlzdHNcbiRmbi1lbXB0eS1tYXA6IG1hcC1yZW1vdmUoKCksIG51bGwpICFkZWZhdWx0O1xuXG4vLyBDb25zdW1lIDggZWxlbWVudHMgb2YgbGlzdCBhbmQgcmV0dXJuIChlbGVtLWFycmF5LCB0YWlsKVxuQGZ1bmN0aW9uIF9sc3QtY29uc3VtZSgkeHMpIHtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDFcbiAgICAkeDE6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgkeDEsKSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggMlxuICAgICR4MjogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyKSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggM1xuICAgICR4MzogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMpLCBudWxsO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCA0XG4gICAgJHg0OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIEBpZiBub3QgJHhzIHtcbiAgICAgICAgQHJldHVybiAoJHgxLCAkeDIsICR4MywgJHg0KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggNVxuICAgICR4NTogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMsICR4NCwgJHg1KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggNlxuICAgICR4NjogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMsICR4NCwgJHg1LCAkeDYpLCBudWxsO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCA3XG4gICAgJHg3OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIEBpZiBub3QgJHhzIHtcbiAgICAgICAgQHJldHVybiAoJHgxLCAkeDIsICR4MywgJHg0LCAkeDUsICR4NiwgJHg3KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggOFxuICAgICR4ODogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAcmV0dXJuICgkeDEsICR4MiwgJHgzLCAkeDQsICR4NSwgJHg2LCAkeDcsICR4OCksICR4cztcbn1cblxuLy8gQ29uc3VtZSBuIGVsZW1lbnRzIGZyb20gYSBsaXN0IG9mIHBhaXJzIGFuZCByZXR1cm4gKGVsZW0tbWFwLCB0YWlsKVxuQGZ1bmN0aW9uIF9sc3QtY29uc3VtZS1wYWlycygkeHMsICRuOiAxNikge1xuICAgICRyZXM6ICRmbi1lbXB0eS1tYXA7XG4gICAgQHdoaWxlICR4cyBhbmQgJG4gPiAwIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgKG50aCgkeCwgMSk6IG50aCgkeCwgMikpKTtcbiAgICAgICAgJG46ICRuIC0gMTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzLCAkeHM7XG59XG5cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTElTVCBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgYXJyYXlcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5cbiRmbi1hcnJheS1ub3QtZ2l2ZW46IHVuaXF1ZS1pZCgpICFkZWZhdWx0O1xuJGZuLWVtcHR5LWFycmF5OiBqb2luKCgpLCAoKSwgY29tbWEpICFkZWZhdWx0O1xuXG4vLyBCQVNJQyBGVU5DVElPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gUmV0dXJuIGFycmF5IG9mIGEgc2luZ2xlIGVsZW1lbnQuXG4vLy9cbi8vLyBAYXJnICR4IC0gU2luZ2xlIGVsZW1lbnQgb2YgcmVzdWx0aW5nIGFycmF5LlxuQGZ1bmN0aW9uIHNpbmdsZXRvbigkeCwgJHNlcGFyYXRvcjogc3BhY2UpIHtcbiAgICBAcmV0dXJuIGFwcGVuZCgoKSwgJHgsICRzZXBhcmF0b3IpO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGFyciBjb250YWlucyAkdmFsdWUuXG4vLy9cbi8vLyBAYXJnICRhcnIgLSBJbnB1dCBhcnJheVxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWVcbkBmdW5jdGlvbiBjb250YWlucygkYXJyLCAkdmFsdWUpIHtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgQGlmICR4ID09ICR2YWx1ZSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vIFJldHVybiBhbiBhcnJheSBzbGljZS5cbi8vL1xuLy8vIEBhcmcgJGFyciAtIElucHV0IGFycmF5XG4vLy8gQGFyZyAkc3RhcnQgLSBTdGFydGluZyBpbmRleFxuLy8vIEBhcmcgJGVuZCAtIEVuZGluZyBpbmRleCAob3IgbnVsbCwgdG8gc2xpY2UgdXAgdG8gdGhlIGVuZClcbkBmdW5jdGlvbiBzbGljZSgkYXJyLCAkc3RhcnQsICRlbmQ6IG51bGwpIHtcbiAgICAvLyBVZ2x5IFwicGVyZm9ybWF0aWNcIiBTYXNzIGNvZGUgOy0pXG4gICAgLy8gSG9tZXdvcms6IG1heWJlIHdlIGNhbiBrZWVwIHBlcmZvcm1hbmNlIGFuZCB3aXRoIGFuIGVsZWdhbnQgY29kZSBiYXNlZFxuICAgIC8vIG9uIGxzdC1qb2luLWJ5XG4gICAgJG46IGxlbmd0aCgkYXJyKTtcbiAgICAkZW5kOiBpZigkZW5kID09IG51bGwsICRuLCAkZW5kKTtcbiAgICAkc2l6ZTogJGVuZCAtICRzdGFydCArIDE7XG5cbiAgICBAaWYgJHNpemUgPD0gMzIge1xuICAgICAgICAkcmVzdWx0OiAoKTtcbiAgICAgICAgQHdoaWxlICRzaXplID4gOCB7XG4gICAgICAgICAgICAkcmVzdWx0OiBqb2luKCRyZXN1bHQsIChcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJHN0YXJ0KSwgbnRoKCRhcnIsICRzdGFydCArIDEpLCBudGgoJGFyciwgJHN0YXJ0ICsgMiksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRzdGFydCArIDMpLCBudGgoJGFyciwgJHN0YXJ0ICsgNCksIG50aCgkYXJyLCAkc3RhcnQgKyA1KSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJHN0YXJ0ICsgNiksIG50aCgkYXJyLCAkc3RhcnQgKyA3KVxuICAgICAgICAgICAgKSk7XG4gICAgICAgICAgICAkc2l6ZTogJHNpemUgLSA4O1xuICAgICAgICAgICAgJHN0YXJ0OiAkc3RhcnQgKyA4O1xuICAgICAgICB9XG4gICAgICAgIEBmb3IgJGkgZnJvbSAkc3RhcnQgdGhyb3VnaCAkZW5kIHtcbiAgICAgICAgICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGFyciwgJGkpKTtcbiAgICAgICAgfVxuICAgICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICRmaXJzdC1lbmQ6ICRzdGFydCArIGZsb29yKCRzaXplIC8gMikgLSAxO1xuICAgICAgICBAcmV0dXJuIGpvaW4oXG4gICAgICAgICAgICAgICAgc2xpY2UoJGFyciwgJHN0YXJ0LCAkZmlyc3QtZW5kKSxcbiAgICAgICAgICAgICAgICBzbGljZSgkYXJyLCAkZmlyc3QtZW5kICsgMSwgJGVuZClcbiAgICAgICAgKTtcbiAgICB9XG59XG5cbi8vIENMQVNTSUMgRlAgRlVOQ1RJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBBcHBseSBmdW5jdGlvbiB0byBldmVyeSBlbGVtZW50IG9mIGFycmF5LlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBBIGJpbmFyeSBvcGVyYXRvciBmdW5jdGlvblxuLy8vIEBhcmcgJGFyciAtIEFycmF5XG5AZnVuY3Rpb24gbWFwKCRmbiwgJGFyciwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkeXM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgJHlzOiBhcHBlbmQoJHlzLCBjYWxsKCRmbiwgJHgsICRhcmdzLi4uKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gS2VlcCBvbmx5IGVsZW1lbnRzIG9mIGFycmF5IHRoYXQgcGFzcyBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkYXJyIC0gQXJyYXlcbkBmdW5jdGlvbiBmaWx0ZXIoJGZuLCAkYXJyLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR5czogJGZuLWVtcHR5LWFycmF5O1xuICAgIEBlYWNoICR4IGluICRhcnIge1xuICAgICAgICBAaWYgY2FsbCgkZm4sICR4LCAkYXJncy4uLikge1xuICAgICAgICAgICAgJHlzOiBhcHBlbmQoJHlzLCAkeCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkeXM7XG59XG5cbi8vLyBSZWR1Y2UgYXJyYXkgYnkgZnVuY3Rpb25cbi8vL1xuLy8vIEFyZ3VtZW50cyBhcmUgcGFzc2VkIGluIHRoZSBzYW1lIG9yZGVyIHRoYXQgdGhleSBhcHBlYXIgaW4gdGhlIHRoZSBmdW5jdGlvblxuLy8vIHNpZ25hdHVyZSwgaS5lLiwgZm4oJHgsICRpbml0LCAuLi4pXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkYXJyIC0gTGlzdFxuLy8vIEBhcmcgJGluaXQgLSBJbml0aWFsIHZhbHVlIG9mIHJlZHVjdGlvblxuQGZ1bmN0aW9uIHJlZHVjZSgkZm4sICRhcnIsICRpbml0OiAkZm4tYXJyYXktbm90LWdpdmVuLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICR5OiAkaW5pdDtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgJHk6IGlmKCR5ID09ICRmbi1hcnJheS1ub3QtZ2l2ZW4sICR4LCBjYWxsKCRmbiwgJHgsICR5LCAkYXJncy4uLikpO1xuICAgIH1cbiAgICBAaWYgJHkgPT0gJGZuLWFycmF5LW5vdC1naXZlbiB7XG4gICAgICAgIEBlcnJvciBcIkVtcHR5IGFycmF5XCI7XG4gICAgfVxuICAgIEByZXR1cm4gJHk7XG59XG5cbi8vLyBLZWVwIG9ubHkgZWxlbWVudHMgb2YgYXJyYXkgdGhhdCBwYXNzIHByZWRpY2F0ZSBmdW5jdGlvbi5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gQSBiaW5hcnkgb3BlcmF0b3IgZnVuY3Rpb25cbi8vLyBAYXJnICRhcnIgLSBBcnJheVxuQGZ1bmN0aW9uIHNlcGFyYXRlKCRmbiwgJGFyciwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkYXM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICAkYnM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgQGlmIGNhbGwoJGZuLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgICRhczogYXBwZW5kKCRhcywgJHgpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRiczogYXBwZW5kKCRicywgJHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gKCRhcywgJGJzKTtcbn1cblxuLy8gQ0hVTktFRCBJVEVSQVRJT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRoaXMgd2lsbCBiZSB0aGUgYmFzaXMgb2YgYSBzZXJpZXMgb2Ygb3B0aW1pemF0aW9ucyBmb3IgbWFwLCBmaWx0ZXIsIGV0Yy5cbi8vIENodW5rZWQgaXRlcmF0aW9uIGFsbG93IHVzIHRvIGxpbWl0IHRoZSBPKG5eMikgYmVoYXZpb3Igb2YgdGhvc2UgZnVuY3Rpb25zXG4vLyB0byBhIG1vcmUgc2NhbGFibGUgbGluZWFyIGJlaGF2aW9yLiBGb3Igc21hbGwgYXJyYXlzIChidXQgaG93IHNtYWxsPyksXG4vLyBxdWFkcmF0aWMgYmVoYXZpb3IgaXMgZmFzdGVyIHRoYW4gbGluZWFyLlxuXG4vLy8gQ29udmVydCBhcnJheSB0byBhIChsaW5rZWQtKWxpc3Qgb2YgYXJyYXkgY2h1bmtzLlxuLy8vXG4vLy8gQGFyZyAkYXJyIC0gQXJyYXlcbi8vLyBAYXJnICRuIC0gQ2h1bmsgc2l6ZVxuLy8vIEBhcmcgJHJldmVyc2UgLSBUcnVlIHRvIGluY2x1ZGUgY2h1bmtzIGluIHJldmVyc2Ugb3JkZXIgKGZhc3RlcilcbkBmdW5jdGlvbiBjaHVua3MoJGFyciwgJG4sICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICRzaXplLXBsdXMtb25lOiBsZW5ndGgoJGFycikgKyAxO1xuICAgICRjaHVua3M6IG51bGw7XG4gICAgJGVuZDogMTtcbiAgICBAd2hpbGUgJGVuZCA8ICRzaXplLXBsdXMtb25lIHtcbiAgICAgICAgJGNodW5rOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgICAgIEBpZiAkbiA9PSA4IGFuZCAkc2l6ZS1wbHVzLW9uZSA+PSAkZW5kICsgOCB7XG4gICAgICAgICAgICAkY2h1bms6IChcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyAxKSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCArIDIpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgMyksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyA0KSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCArIDUpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgNiksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyA3KSxcbiAgICAgICAgICAgIClcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZm9yICRpIGZyb20gJGVuZCB0byBtaW4oJGVuZCArICRuLCAkc2l6ZS1wbHVzLW9uZSkge1xuICAgICAgICAgICAgICAgICRjaHVuazogYXBwZW5kKCRjaHVuaywgbnRoKCRhcnIsICRpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJGNodW5rczogKCRjaHVuayAkY2h1bmtzKTtcbiAgICAgICAgJGVuZDogJGVuZCArICRuO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkY2h1bmtzLCBsc3QtcmV2ZXJzZSgkY2h1bmtzKSk7XG59XG5cbi8vLyBKb2luIGEgKGxpbmtlZC0pIGxpc3Qgb2YgY2h1bmtzIGNyZWF0ZWQgYnkgdGhlIGNodW5rcyBmdW5jdGlvbi5cbi8vL1xuLy8vIEBhcmcgJGNodW5rcyAtIExpc3Qgb2YgY2h1bmtzXG4vLy8gQGFyZyAkcmV2ZXJzZSAtIFRydWUgaWYgY2h1bmtzIGFyZSBpbmNsdWRlZCBpbiByZXZlcnNlIG9yZGVyXG5AZnVuY3Rpb24gam9pbi1jaHVua3MoJGNodW5rcywgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgQGlmIG5vdCAkY2h1bmtzIHtcbiAgICAgICAgQHJldHVybiAkZm4tZW1wdHktYXJyYXk7XG4gICAgfVxuXG4gICAgJGExOiBudGgoJGNodW5rcywgMSk7XG4gICAgJGNodW5rczogbnRoKCRjaHVua3MsIDIpO1xuICAgIEBpZiBub3QgJGNodW5rcyB7XG4gICAgICAgIEByZXR1cm4gJGExO1xuICAgIH1cblxuICAgICRhMjogbnRoKCRjaHVua3MsIDEpO1xuICAgICRjaHVua3M6IG50aCgkY2h1bmtzLCAyKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCBqb2luKCRhMiwgJGExKSwgam9pbigkYTEsICRhMikpO1xuICAgIH1cblxuICAgICRhMzogbnRoKCRjaHVua3MsIDEpO1xuICAgICRjaHVua3M6IG50aCgkY2h1bmtzLCAyKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCBqb2luKGpvaW4oJGEzLCAkYTIpLCAkYTEpLCBqb2luKGpvaW4oJGExLCAkYTIpLCAkYTMpKTtcbiAgICB9XG5cbiAgICAkYTQ6IG50aCgkY2h1bmtzLCAxKTtcbiAgICAkY2h1bmtzOiBudGgoJGNodW5rcywgMik7XG4gICAgJHByZWZpeDogaWYoJHJldmVyc2UsXG4gICAgICAgIGpvaW4oam9pbigkYTQsICRhMyksIGpvaW4oJGEyLCAkYTEpKSxcbiAgICAgICAgam9pbihqb2luKCRhMSwgJGEyKSwgam9pbigkYTMsICRhNCkpXG4gICAgKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuICRwcmVmaXg7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsXG4gICAgICAgIGpvaW4oam9pbi1jaHVua3MoJGNodW5rcyksICRwcmVmaXgsIGNvbW1hKSxcbiAgICAgICAgam9pbigkcHJlZml4LCBqb2luLWNodW5rcygkY2h1bmtzKSwgY29tbWEpKTtcbn1cblxuLy8gQ09OVkVSU0lPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIENvbnZlcnQgdmFsdWUgdG8gbGlzdC5cbi8vLyBMaXN0cyBhcmUgcmV0dXJuZWQgYXMtaXMsIG1hcHMgYmVjb21lIGxpc3Qgb2YgMi10dXBsZXMgYW5kIG90aGVyIGVsZW1lbnRzXG4vLy8gYmVjb21lIGEgbGlzdCB3aXRoIGEgc2luZ2xlIHZhbHVlXG4vLy9cbi8vLyBAYXV0aG9yIC0gaHR0cHM6Ly9odWdvZ2lyYXVkZWwuY29tLzIwMTQvMDQvMjgvY2FzdGluZy1tYXAtaW50by1saXN0L1xuLy8vIEBhcmcgJHZhbHVlIC0gb2JqZWN0IHRvIGJlIGNvbnZlcnRlZFxuLy8vIEBhcmcgJGtlZXAgLSBjYW4gYmUgJ2tleXMnLCAndmFsdWVzJyBvciAnYm90aCcgKGRlZmF1bHQpLiBJdCBhZmZlY3RzIGNvbnZlcnNpb24gb2YgbWFwcy5cbkBmdW5jdGlvbiB0by1hcnJheSgkdmFsdWUsICRrZWVwOiAnYm90aCcpIHtcbiAgICAka2VlcDogaWYoaW5kZXgoJ2tleXMnICd2YWx1ZXMnLCAka2VlcCksICRrZWVwLCAnYm90aCcpO1xuXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbWFwJyB7XG4gICAgICAgICRrZXlzOiAoKTtcbiAgICAgICAgJHZhbHVlczogKCk7XG5cbiAgICAgICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkdmFsdWUge1xuICAgICAgICAgICAgJGtleXM6IGFwcGVuZCgka2V5cywgJGtleSk7XG4gICAgICAgICAgICAkdmFsdWVzOiBhcHBlbmQoJHZhbHVlcywgJHZhbCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGtlZXAgPT0gJ2tleXMnIHtcbiAgICAgICAgICAgIEByZXR1cm4gJGtleXM7XG4gICAgICAgIH0gQGVsc2UgaWYgJGtlZXAgPT0gJ3ZhbHVlcycge1xuICAgICAgICAgICAgQHJldHVybiAkdmFsdWVzO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEByZXR1cm4gemlwKCRrZXlzLCAkdmFsdWVzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEByZXR1cm4gaWYodHlwZS1vZigkdmFsdWUpICE9ICdsaXN0JywgKCR2YWx1ZSwpLCAkdmFsdWUpO1xufVxuXG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEZVTkNUSU9OUyBUSEFUIE9QRVJBVEUgT04gQkFTSUMgU0FTUyBEQVRBVFlQRVNcbi8vLyBAZ3JvdXAgbWFwIGZ1bmN0aW9uc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnbGlzdCc7XG5cbiRmbi1lbXB0eS1tYXA6IG1hcC1yZW1vdmUoKCksIG51bGwpO1xuXG4vLy8gUmV0dXJuIHZhbHVlIGlmIGtleSBleGlzdHMgb24gbWFwLCBvdGhlcndpc2UgcmV0dXJuIGRlZmF1bHQuXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBtYXAgdG8gb3BlcmF0ZSBmcm9tXG4vLy8gQGFyZyAka2V5IC0ga2V5XG4vLy8gQGFyZyAkZGVmYXVsdCAtIGRlZmF1bHQgdmFsdWUuIElmIG5vdCBnaXZlbiBhbmQga2V5IG5vdCBwcmVzZW50LCByZXR1cm4gbnVsbDtcbkBmdW5jdGlvbiBtYXAtcmVhZCgkbWFwLCAka2V5LCAkZGVmYXVsdDogbnVsbCkge1xuICAgICR2YWx1ZTogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICBAcmV0dXJuIGlmKCR2YWx1ZSA9PSBudWxsLCAkZGVmYXVsdCwgJHZhbHVlKTtcbn1cblxuLy8vIEpvaW4gYSAobGlua2VkLSlsaXN0IG9mIG1hcHMgdG9nZXRoZXIuIEVudHJpZXMgaW4gbGF0ZXIgbWFwcyBvdmVycmlkZVxuLy8vIHByZXZpb3VzbHkgZGVmaW5lZCB2YWx1ZXMuXG4vLy9cbi8vLyBAYXJnICRtYXBzIC0gYSBsaXN0IG9mIG1hcHNcbkBmdW5jdGlvbiBtYXAtam9pbigkbWFwcykge1xuICAgICRtYXBzOiB0by1sc3QoJG1hcHMpO1xuICAgICRyZXN1bHQ6IG1hcC1yZW1vdmUoKCksIG51bGwpO1xuICAgIEB3aGlsZSAkbWFwcyAhPSBudWxsIHtcbiAgICAgICAgJG1hcDogY2FyKCRtYXBzKTtcbiAgICAgICAgJG1hcHM6IGNkcigkbWFwcyk7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAkbWFwKTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gQ29udmVydCBhcmd1bWVudCB0byBtYXAuIFdvcmtzIGZvciBsaXN0cyBvZiAyLXR1cGxlcyBhbmQgbWFwcy5cbi8vL1xuLy8vIEBhcmcgJG9iaiAtIEEgbWFwIG9yIGxpc3Qgb2JqZWN0LlxuQGZ1bmN0aW9uIHRvLW1hcCgkb2JqKSB7XG4gICAgQGlmIHR5cGUtb2YoJG9iaikgPT0gbGlzdCB7XG4gICAgICAgICRyZXN1bHQ6ICgpO1xuICAgICAgICBAZWFjaCAkaywgJHYgaW4gJG9iaiB7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrOiAkdikpXG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiAkcmVzdWx0XG4gICAgfSBAZWxzZSBpZiAodHlwZS1vZigkb2JqKSA9PSBtYXApIHtcbiAgICAgICAgQHJldHVybiAkb2JqO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJDYW5ub3QgY29udmVydCBhcmd1bWVudCB0byBtYXAuXCJcbiAgICB9XG59XG5cbi8vLyBNZXJnZSB0d28gbWFwcyB1cCB0byBvbmUgbGV2ZWwgb2YgbmVzdGluZy5cbi8vL1xuLy8vIEBhcmcgJG1hcDFcbi8vLyBAYXJnICRtYXAyXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIG1hcC1tZXJnZS1uZXN0ZWQoKGZvbzogKHg6IDEsIHk6IDMpKSxcbi8vLyAgICAgICAgICAgICAgICAgICAgICAoZm9vOiAoeTogMiwgejogMyksIGJhcjogYmF6KSk7XG4vLy8gICAgIC8vIChmb286ICh4OiAxLCB5OiAyLCB6OiAzKSwgYmFyOiBiYXopXG5AZnVuY3Rpb24gbWFwLW1lcmdlLW5lc3RlZCgkbWFwMSwgJG1hcDIpIHtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJG1hcDEsICRtYXAyKTtcblxuICAgIC8vIE1lcmdlIHN1Yi1tYXBzIGZyb20gbWFwMVxuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwMSB7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIGFuZCBtYXAtaGFzLWtleSgkbWFwMiwgJGtleSkge1xuICAgICAgICAgICAgJHZhbHVlOiBtYXAtbWVyZ2UoJHZhbHVlLCBtYXAtZ2V0KCRtYXAyLCAka2V5KSk7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6ICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIE1lcmdlIHR3byBtYXBzIHdpdGggYXJiaXRyYXJ5IG5lc3RpbmcuXG4vLy9cbi8vLyBNYXBzIGFyZSBtZXJnZWQuIElmIGEgdmFsdWUgaXMgYSBtYXAgaW4gb25lIGRpY3Rpb25hcnksIGJ1dCBub3QgaW4gdGhlXG4vLy8gb3RoZXIsIGl0IGlzIG1lcmdlZCBhbmQgc2F2ZWQgaW50byB0aGUgKCRrZXktbmFtZTogJHZhbHVlKS4gTnVsbCB2YWx1ZXNcbi8vLyBhcmUgb21pdHRlZC5cbi8vL1xuLy8vIEBhcmcgJG1hcDFcbi8vLyBAYXJnICRtYXAyXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIG1hcC1tZXJnZS1uZXN0ZWQoKGZvbzogKHg6IDEsIHk6ICh6OiAzKSksXG4vLy8gICAgICAgICAgICAgICAgICAgICAgKGZvbzogKHk6ICh3OiA0KSwgYmFyOiBiYXopKTtcbi8vLyAgICAgLy8gKGZvbzogKHg6IDEsIHk6ICh6OiAzLCB3OiA0KSwgYmFyOiBiYXopXG5AZnVuY3Rpb24gbWFwLW1lcmdlLWRlZXAoJG1hcDEsICRtYXAyLCAka2V5OiB2YWx1ZSkge1xuICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkbWFwMSwgJG1hcDIpO1xuXG4gICAgLy8gTWVyZ2Ugc3ViLW1hcHMgZnJvbSBtYXAxXG4gICAgQGVhY2ggJGssICR2MSBpbiAkbWFwMSB7XG4gICAgICAgICR2MjogbWFwLWdldCgkbWFwMiwgJGspO1xuICAgICAgICBAaWYgdHlwZS1vZigkdjEpID09IG1hcCBhbmQgdHlwZS1vZigkdjIpID09IG1hcCB7XG4gICAgICAgICAgICAkdmFsdWU6IG1hcC1tZXJnZS1kZWVwKCR2MSwgJHYyLCAka2V5KTtcbiAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2YWx1ZSkpO1xuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHYxKSA9PSBtYXAge1xuICAgICAgICAgICAgQGlmICR2MiAhPSBudWxsIGFuZCAka2V5ICE9IG51bGwge1xuICAgICAgICAgICAgICAgICR2YWx1ZTogbWFwLW1lcmdlKCR2MSwgKCRrZXk6ICR2MikpO1xuICAgICAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2YWx1ZSkpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgkazogJHYxKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdjIpID09IG1hcCBhbmQgJHYxICE9IG51bGwgYW5kICRrZXkgIT0gbnVsbCB7XG4gICAgICAgICAgICAkdmFsdWU6IG1hcC1tZXJnZSgoJGtleTogJHYxKSwgJHYyKTtcbiAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIEZldGNoIGtleXMgaW4gcGF0aCByZWN1cnNpdmVseS5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICAgbWFwLXBhdGgoKCdmb28nOiAoJ2Jhcic6ICdiYXonKSksIEwoJ2ZvbycsICdiYXInKSkgPT0+ICdiYXonXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBhIG1hcCB0byBleHRyYWN0IHRoZSB2YWx1ZSBmcm9tXG4vLy8gQGFyZyAkcGF0aCAtIChsaW5rZWQtKWxpc3Qgb2YgdmFsdWVzXG4vLy8gQGFyZyAkZGVmYXVsdCAtIGZhbGxiYWNrIHZhbHVlIGlmIGtleSBpcyBub3QgcHJlc2VudFxuQGZ1bmN0aW9uIG1hcC1wYXRoKCRtYXAsICRwYXRoLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRwYXRoOiBjb2VyY2UtdG8tbHN0KCRwYXRoKTtcbiAgICBAaWYgJHBhdGggPT0gbnVsbCB7XG4gICAgICAgIEBlcnJvciAnRW1wdHkgcGF0aCc7XG4gICAgfVxuICAgICRrZXk6IGNhcigkcGF0aCk7XG4gICAgQHdoaWxlIGNkcigkcGF0aCkgIT0gbnVsbCB7XG4gICAgICAgICRwYXRoOiBjZHIoJHBhdGgpO1xuICAgICAgICAkbWFwOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgICAgICBAaWYgJG1hcCA9PSBudWxsIHtcbiAgICAgICAgICAgIEByZXR1cm4gJGRlZmF1bHQ7XG4gICAgICAgIH1cbiAgICAgICAgJGtleTogY2FyKCRwYXRoKTtcbiAgICB9XG4gICAgQHJldHVybiBtYXAtcmVhZCgkbWFwLCAka2V5LCAkZGVmYXVsdCk7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiBtYXAgaGFzIGFsbCBrZXlzIGluIHRoZSAobGlua2VkLSlsaXN0XG4vLy9cbi8vLyBAYXJnICRtYXAgLSBBIG1hcHBpbmdcbi8vLyBAYXJnICRrZXlzIC0gQSAobGlua2VkLSlsaXN0IG9mIHRlc3Qga2V5cy5cbkBmdW5jdGlvbiBtYXAtaGFzLWtleXMoJG1hcCwgJGtleXMpIHtcbiAgICAka2V5czogdG8tbHN0KCRrZXlzKTtcbiAgICBAd2hpbGUgJGtleXMgIT0gbnVsbCB7XG4gICAgICAgICRrZXk6IGNhcigka2V5cyk7XG4gICAgICAgICRrZXlzOiBjZHIoJGtleXMpO1xuICAgICAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gS2VlcCBvbmx5IHRoZSBnaXZlbiBrZXlzIG9uIG1hcC5cbi8vL1xuLy8vIEBhcmcgJG1hcCAtIEEgbWFwcGluZ1xuLy8vIEBhcmcgJGtleXMgLSBBIChsaW5rZWQtKWxpc3Qgb2YgdGVzdCBrZXlzLlxuQGZ1bmN0aW9uIG1hcC1zZWxlY3QoJG1hcCwgJGtleXMpIHtcbiAgICAka2V5czogdG8tbHN0KCRrZXlzKTtcbiAgICAkcmVzdWx0OiBtYXAtcmVtb3ZlKCgpLCBudWxsKTtcblxuICAgIEB3aGlsZSAka2V5cyAhPSBudWxsIHtcbiAgICAgICAgJGtleTogY2FyKCRrZXlzKTtcbiAgICAgICAgJGtleXM6IGNkcigka2V5cyk7XG4gICAgICAgIEBpZiBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6IG1hcC1nZXQoJG1hcCwgJGtleSkpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBSZW1vdmUgdGhlIGdpdmVuIGtleXMgZnJvbSBtYXBcbi8vL1xuLy8vIEBhcmcgJG1hcCAtIEEgbWFwcGluZ1xuLy8vIEBhcmcgJGtleXMgLSBBIChsaW5rZWQtKWxpc3Qgb2YgdGVzdCBrZXlzLlxuQGZ1bmN0aW9uIG1hcC1leGNsdWRlKCRtYXAsICRrZXlzKSB7XG4gICAgJGtleXM6IHRvLWxzdCgka2V5cyk7XG4gICAgJHJlc3VsdDogJG1hcDtcblxuICAgIEB3aGlsZSAka2V5cyAhPSBudWxsIHtcbiAgICAgICAgJGtleTogY2FyKCRrZXlzKTtcbiAgICAgICAgJGtleXM6IGNkcigka2V5cyk7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1yZW1vdmUoJHJlc3VsdCwgJGtleSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIFNlbGVjdCBmaXJzdCBlbGVtZW50IHRoYXQgbWF0Y2hlcyBvbmUgZWxlbWVudCBmcm9tIGFuIGFycmF5IG9mIGtleXMgb3IgcmV0dXJuXG4vLy8gdGhlIGdpdmVuIGRlZmF1bHRcbi8vL1xuLy8vIEBhcmcgJG1hcCAtIG1hcCB0byBvcGVyYXRlIGZyb21cbi8vLyBAYXJnICRrZXlzIC0gYXJyYXkgb2Yga2V5c1xuLy8vIEBhcmcgJGRlZmF1bHQgLSBkZWZhdWx0IHZhbHVlLlxuQGZ1bmN0aW9uIG1hcC1nZXQtZmlyc3QoJG1hcCwgJGtleXMsICRkZWZhdWx0OiBudWxsKSB7XG4gICAgJGtleXM6IHRvLWxzdCgka2V5cyk7XG5cbiAgICBAd2hpbGUgJGtleXMgIT0gbnVsbCB7XG4gICAgICAgICRrZXk6IGNhcigka2V5cyk7XG4gICAgICAgICRrZXlzOiBjZHIoJGtleXMpO1xuICAgICAgICAkdmFsdWU6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgICAgIEBpZiAkdmFsdWUgIT0gbnVsbCB7XG4gICAgICAgICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gRmlsdGVyIG1hcCB0byBpbmNsdWRlIG9ubHkgaXRlbXMgaW4gd2hpY2ggdGhlIHZhbHVlIHBhc3NlcyBhIHByZWRpY2F0ZVxuLy8vXG4vLy8gQGFyZyAkcHJlZCAtIEZ1bmN0aW9uIG9yIG5hbWUgb2YgYm9vbGVhbiBmdW5jdGlvbiB0aGF0IGlzIHVzZWQgdG8gZmlsdGVyIGl0ZW1zLlxuLy8vIEBhcmcgJG1hcCAtIElucHV0IG1hcFxuQGZ1bmN0aW9uIG1hcC1maWx0ZXItdmFsdWVzKCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRwcmVkOiBhcy1mdW5jKCRwcmVkKTtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBjYWxsKCRwcmVkLCAkdmFsdWUsICRhcmdzLi4uKSB7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6ICR2YWx1ZSkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIEFwcGx5IGZ1bmN0aW9uIHRvIGFsbCB2YWx1ZXMgaW4gbWFwXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG5AZnVuY3Rpb24gbWFwLWFwcGx5LXZhbHVlcygkZm4sICRtYXAsICRhcmdzLi4uKSB7XG4gICAgJGZ1bmM6IGFzLWZ1bmMoJGZuKTtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogY2FsbCgkZnVuYywgJHZhbHVlLCAkYXJncy4uLikpKTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gQXBwbHkgZnVuY3Rpb24gdG8gdGhlIGtleXMgb2YgYSBnaXZlbiBtYXAuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG5AZnVuY3Rpb24gbWFwLWFwcGx5LWtleXMoJGZuLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkZm4pO1xuICAgICRhY2M6ICRmbi1lbXB0eS1tYXA7XG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICAkYWNjOiBtYXAtbWVyZ2UoJGFjYywgKGNhbGwoJGZuLCAkaywgJGFyZ3MuLi4pOiAkdikpO1xuICAgIH1cbiAgICBAcmV0dXJuICRhY2M7XG59XG5cbkBmdW5jdGlvbiBfZm4td2l0aC1wcmVmaXgoJHgsICRwcmVmaXgpIHtcbiAgICBAcmV0dXJuICcjeyRwcmVmaXh9I3skeH0nO1xufVxuXG4vLy8gQWRkIHByZWZpeGVzIHRvIGFsbCBrZXlzIG9mIG1hcFxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gSW5wdXQgbWFwXG4vLy8gQGFyZyAkcHJlZml4ZXMuLi4gLSBTdHJpbmdzIHRvIGFkZCBhcyBwcmVmaXhcbkBmdW5jdGlvbiBtYXAtcHJlZml4LWtleXMoJG1hcCwgJHByZWZpeGVzLi4uKSB7XG4gICAgJHJlczogbWFwLXJlbW92ZSgoKSwgbnVsbCk7XG4gICAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgbWFwLWFwcGx5LWtleXMoX2ZuLXdpdGgtcHJlZml4LCAkbWFwLCAkcHJlZml4KSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcztcbn1cblxuLy8vIEV4dHJhY3QgaW5mb3JtYXRpb24gb24gJHBhdGggZnJvbSBhIChsaW5rZWQtKWxpc3Qgb2YgbXVsdGlwbGUgJG1hcHMuXG4vLy9cbi8vLyBUaGlzIGZ1bmN0aW9uIGlzIHVzZWZ1bCB0byBpbXBsZW1lbnQgYWNjZXNzIHRvIG5lc3RlZCBjb25maWd1cmF0aW9uIG1hcHMsXG4vLy8gd2hlbiB3ZSB3YW50IHRvIG1lcmdlIHRoZSByZXN1bHRzIG9mIGRpZmZlcmVudCBzb3VyY2VzIHRvIHdvcmsgYXMgYSBzaW5nbGVcbi8vLyBuZXN0ZWQgbWFwcGluZy5cbi8vL1xuLy8vIEBhcmcgJG1hcHMgLSBhIChsaW5rZWQtKWxpc3Qgb2YgbWFwcy5cbi8vLyBAYXJnICRwYXRoIC0gYSAobGlua2VkLSlsaXN0IGxvY2F0aW9uIG9mIGVudHJ5IG9uIG1hcHMuXG4vLy8gQGFyZyAkZGVmYXVsdCAtIHJlc3VsdCB0aGlzIHZhbHVlLCBpZiBnaXZlbiwgd2hlbiByZXF1ZXN0ZWQgZGF0YSBpcyBub3Rcbi8vLyAgICAgICAgICAgICAgICAgcHJlc2VudCBvbiBtYXBzXG5AZnVuY3Rpb24gbWFwLXBhdGgtbWVyZ2UoJG1hcHMsICRwYXRoLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRtYXBzOiB0by1sc3QoJG1hcHMpO1xuICAgIEBpZiAkbWFwcz09IG51bGwge1xuICAgICAgICBAZXJyb3IgJ01hcHMgY2Fubm90IGJlIGVtcHR5JztcbiAgICB9XG5cbiAgICAvL25vaW5zcGVjdGlvbiBDc3NJbnZhbGlkRnVuY3Rpb25cbiAgICBAd2hpbGUgJG1hcHMge1xuICAgICAgICAkbWFwOiBudGgoJG1hcHMsIDEpO1xuICAgICAgICAkbWFwczogbnRoKCRtYXBzLCAyKTtcbiAgICAgICAgJGRlZmF1bHQ6IF9mbi1tZXJnZS1kZWZhdWx0KCRkZWZhdWx0LCBtYXAtcGF0aCgkbWFwLCAkcGF0aCkpO1xuICAgIH1cblxuICAgIEByZXR1cm4gJGRlZmF1bHQ7XG59XG5cbkBmdW5jdGlvbiBfZm4tbWVyZ2UtZGVmYXVsdCgkdmFsdWUsICRuZXcpIHtcbiAgICBAaWYgJG5ldyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gJG5ldztcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJG5ldykgPT0gbWFwIGFuZCB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICAgQHJldHVybiBtYXAtbWVyZ2UtbmVzdGVkKCR2YWx1ZSwgJG5ldyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRuZXcpID09IG1hcCB7XG4gICAgICAgIEByZXR1cm4gbWFwLW1lcmdlKCh2YWx1ZTogJHZhbHVlKSwgJG5ldyk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICAgQHJldHVybiBtYXAtbWVyZ2UoJHZhbHVlLCAodmFsdWU6ICRuZXcpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiAkbmV3O1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEF1eGlsaWFyeSBub24tYXBpIGZ1bmN0aW9uc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBmdW5jdGlvbiBfbWFwLWdldDIoJG1hcCwgJGtleTEsICRrZXkyKSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJG1hcCwgJGtleTEpLCAka2V5Mik7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFNUUklORyBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgc3RyaW5nIGZ1bmN0aW9uc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnbGlzdCc7XG5cbi8vLyBQYXJ0aXRpb24gc3RyaW5nIGludG8gc2VwYXJhdG9yIGFuZCByZXR1cm4gYW4gYXJyYXkgb2YgKHByZWZpeCwgc2VwLCBwb3N0Zml4KS5cbi8vLyBJZiBlbGVtZW50IGlzIG5vdCBmb3VuZCBvbiBzdHJpbmcsIHJldHVybiAoc3QsICcnLCAnJykuIEluIGFsbCBjYXNlcyxcbi8vLyBgJHN0ID09IHN0ci5qb2luKEwoc3RyLXBhcnRpdGlvbigkc3QpLi4uKSlgLlxuLy8vXG4vLy8gQGFyZyAkc3QgLSBTdHJpbmdcbi8vLyBAYXJnICRzZXAgLSBTZXBhcmF0b3JcbkBmdW5jdGlvbiBzdHItcGFydGl0aW9uKCRzdCwgJHNlcCkge1xuICAgICRpZHg6IHN0ci1pbmRleCgkc3QsICRzZXApO1xuICAgIEBpZiAkaWR4ID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICgkc3QsICcnLCAnJyk7XG4gICAgfVxuICAgICRwcmU6IHN0ci1zbGljZSgkc3QsIDEsICRpZHggLSAxKTtcbiAgICAkcG9zdDogc3RyLXNsaWNlKCRzdCwgJGlkeCArIHN0ci1sZW5ndGgoJHNlcCkpO1xuICAgIEByZXR1cm4gKCRwcmUsICRzZXAsICRwb3N0KTtcbn1cblxuLy8vIFNwbGl0IHN0cmluZyBpbnRvIHNlcGFyYXRvciBhbmQgcmV0dXJuIGEgKGxpbmtlZC0pbGlzdCBvZiBzdHJpbmdzXG4vLy9cbi8vLyBAYXJnICRzdCAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQGFyZyAkc2VwIC0gU2VwYXJhdG9yXG5AZnVuY3Rpb24gc3RyLXNwbGl0KCRzdCwgJHNlcCkge1xuICAgICRpZHg6IHN0ci1pbmRleCgkc3QsICRzZXApO1xuICAgIEBpZiAkaWR4ID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICgkc3QgbnVsbCk7XG4gICAgfVxuICAgICRwcmU6IHN0ci1zbGljZSgkc3QsIDEsICRpZHggLSAxKTtcbiAgICAkcG9zdDogc3RyLXNsaWNlKCRzdCwgJGlkeCArIHN0ci1sZW5ndGgoJHNlcCkpO1xuICAgIEByZXR1cm4gKCRwcmUgc3RyLXNwbGl0KCRwb3N0LCAkc2VwKSk7XG59XG5cbi8vLyBKb2luIGFsbCB2YWx1ZXMgaW4gYSAobGlua2VkLSlsaXN0IG9mIHN0cmluZ3MgaW50byBhIHNpbmdsZSBzdHJpbmcuXG4vLy9cbi8vLyBAYXJnICR4cyAtIElucHV0IGxpc3Rcbi8vLyBAYXJnICRzZXAgLSBPcHRpb25hbCBzZXBhcmF0b3JcbkBmdW5jdGlvbiBzdHItam9pbigkeHMsICRzZXA6ICcnKSB7XG4gICAgJHhzOiBjb2VyY2UtdG8tbHN0KCR4cyk7XG4gICAgJHhzOiBpZigkc2VwID09ICcnLCAkeHMsIGxzdC1pbnRlcnNwZXJzZSgkeHMsICRzZXApKTtcbiAgICBAcmV0dXJuIGxzdC1qb2luLWJ5KGFkZCwgJycsICR4cyk7XG59XG5cbi8vLyBSZXBsYWNlIGAkc3ViYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdGBcbi8vL1xuLy8vIEBhcmcgJHN0IC0gSW5pdGlhbCBzdHJpbmdcbi8vLyBAYXJnICRzdWIgLSBTdWJzdHJpbmdcbi8vLyBAYXJnICRyZXBsYWNlIC0gUmVwbGFjZW1lbnQgKGRlZmF1bHRzIHRvIGVtcHR5IHN0cmluZylcbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3QsICRzdWIsICRyZXBsYWNlOiAnJykge1xuICAgIEByZXR1cm4gc3RyLWpvaW4oc3RyLXNwbGl0KCRzdCwgJHN1YiksICRyZXBsYWNlKTtcbn1cblxuLy8vIENoZWNrcyBpZiBzdHJpbmcgc3RhcnRzIHdpdGggZ2l2ZW4gc3ViLXN0cmluZ1xuLy8vXG4vLy8gQGFyZyAkc3RyIC0gaW5wdXQgc3RyaW5nXG4vLy8gQGFyZyAkcHJlZml4IC0gc3Vic3RyaW5nIHByZWZpeFxuQGZ1bmN0aW9uIHN0ci1zdGFydHMtd2l0aCgkc3RyLCAkcHJlZml4KSB7XG4gICAgQHJldHVybiBzdHItc2xpY2UoJHN0ciwgMSwgc3RyLWxlbmd0aCgkcHJlZml4KSkgPT0gJHByZWZpeDtcbn1cblxuLy8vIENoZWNrcyBpZiBzdHJpbmcgZW5kcyB3aXRoIGdpdmVuIHN1Yi1zdHJpbmdcbi8vL1xuLy8vIEBhcmcgJHN0ciAtIGlucHV0IHN0cmluZ1xuLy8vIEBhcmcgJHN1ZmZpeC0gc3Vic3RyaW5nIHN1ZmZpeFxuQGZ1bmN0aW9uIHN0ci1lbmRzLXdpdGgoJHN0ciwgJHN1ZmZpeCkge1xuICAgICRuOiBzdHItbGVuZ3RoKCRzdWZmaXgpO1xuICAgIEBpZiAkbiA+IHN0ci1sZW5ndGgoJHN0cikge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgICAkZW5kOiBzdHItc2xpY2UoJHN0ciwgLSRuKTtcbiAgICBAcmV0dXJuICRlbmQgPT0gJHN1ZmZpeDtcbn1cblxuXG4vLy8gSW50ZXJwb2xhdGUgYWxsIHN1YnN0aXR1dGlvbiBlbGVtZW50cyBpbiB0aGUgZ2l2ZW4gdGVtcGxhdGUgc3RyaW5nLlxuLy8vIEludGVycG9sYXRpb24gcG9pbnRzIGluIHRoZSB0ZW1wbGF0ZSBzdHJpbmcgYXJlIGlkZW50aWZpZWQgYXMgJDEsICQyLCAkMywgZXRjXG4vLy8gYW5kICRzdWJzIGlzIGEgKGxpbmtlZC0pIGxpc3Qgb2YgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZyAkc3QgLSBUZW1wbGF0ZSBzdHJpbmcuXG4vLy8gQGFyZyAkc3VicyAtIChsaW5rZWQtKWxpc3Qgb2Ygc3Vic3RpdHV0aW9uIHZhbHVlcy5cbkBmdW5jdGlvbiBzdHItaW50ZXJwb2xhdGUoJHN0LCAkc3Vicykge1xuICAgICRzdWJzOiBjb2VyY2UtdG8tbHN0KCRzdWJzKTtcbiAgICAkaWR4OiAxO1xuICAgIEB3aGlsZSAkc3VicyB7XG4gICAgICAgICRzdWI6IGNhcigkc3Vicyk7XG4gICAgICAgICRzdWJzOiBjZHIoJHN1YnMpO1xuICAgICAgICAkc3Q6IHN0ci1yZXBsYWNlKCRzdCwgJyQjeyRpZHh9JywgJHN1Yik7XG4gICAgICAgICRpZHg6ICRpZHggKyAxO1xuICAgIH1cbiAgICBAcmV0dXJuICRzdDtcbn1cblxuIiwKCQkiLy8vL1xuLy8vIE5VTUJFUiBGVU5DVElPTlNcbi8vLyBAZ3JvdXAgbnVtZXJpYyBmdW5jdGlvbnNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2xpc3QnO1xuXG4vLy8gQ29udmVydCBhcmd1bWVudCB0byBwZXJjZW50YWdlLlxuLy8vIEBhcmcgJHZhbHVlIC0gQSBudW1iZXIgaW5wdXRcbkBmdW5jdGlvbiBwYygkdmFsdWUpIHtcbiAgICBAaWYgdW5pdCgkdmFsdWUpID09ICcnIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWUgKiAxMDAlO1xuICAgIH0gQGVsc2UgaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgJ0Nhbm5vdCBjb252ZXJ0ICN7dW5pdCgkdmFsdWUpfSB0byBwZXJjZW50Lic7XG4gICAgfVxufVxuXG4vLy8gUmFpc2UgdmFsdWUgdG8gaW50ZWdlciBwb3dlci5cbi8vLyBAYXJnICR2YWx1ZSAtIEEgbnVtYmVyIGlucHV0XG4vLy8gQGFyZyAkbiAtIEV4cG9uZW50XG5AZnVuY3Rpb24gcG93KCR2YWx1ZSwgJG4pIHtcbiAgICAkcmVzdWx0OiAxO1xuICAgIEBpZiAkbiA+IDAge1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRuIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRuIDwgMCB7XG4gICAgICAgICRuOiAtJG47XG4gICAgICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG4ge1xuICAgICAgICAgICAgJHJlc3VsdDogJHJlc3VsdCAvICR2YWx1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBSZXR1cm4gYSAobGlua2VkLSlsaXN0IHdpdGggYW4gZXhwb25lbnRpYWwgcHJvZ3Jlc3Npb24gb2YgbnVtYmVycyBmb3JtaW5nXG4vLy8gdGhlIGdpdmVuIHJhdGlvLlxuLy8vXG4vLy8gQGFyZyAkcmF0aW8gLSBSYXRpbyBiZXR3ZWVuIHR3byBzdWNjZXNzaXZlIG51bWJlcnNcbi8vLyBAYXJnICRzaXplIC0gU2l6ZSBvZiB0aGUgcmVzdWx0aW5nIGxpc3Rcbi8vLyBAYXJnICRpbml0aWFsIC0gSW5pdGlhbCB2YWx1ZSAoZGVmYXVsdHMgdG8gMSlcbkBmdW5jdGlvbiBleHBvbmVudGlhbC1wcm9ncmVzc2lvbigkcmF0aW8sICRzaXplLCAkaW5pdDogMSwgJHJldmVyc2U6IGZhbHNlKSB7XG4gICAgJHhzOiAoJGluaXQgbnVsbCk7XG4gICAgQGZvciAkaSBmcm9tIDEgdG8gJHNpemUge1xuICAgICAgICAkaW5pdDogJGluaXQgKiAkcmF0aW87XG4gICAgICAgICR4czogKCRpbml0ICR4cyk7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsICR4cywgbHN0LXJldmVyc2UoJHhzKSk7XG59XG5cbi8vLyBDb21wdXRlcyB0aGUgc3F1YXJlIHJvb3Qgb2YgYSBudW1iZXIgdXNpbmcgdGhlIEJhYnlsb25pYW4vTmV3dG9uJ3MgbWV0aG9kLlxuQGZ1bmN0aW9uIHNxcnQoJHgpIHtcbiAgICBAaWYgJHggPCAwIHtcbiAgICAgICAgQGVycm9yICdDYW5ub3QgY29tcHV0ZSB0aGUgc3F1YXJlIHJvb3Qgb2YgYSBuZWdhdGl2ZSBudW1iZXInO1xuICAgIH1cbiAgICAkc3FydDogMTtcbiAgICBAd2hpbGUgYWJzKCRzcXJ0ICogJHNxcnQgLSAkeCkgPiAwLjAwMDAwMDEge1xuICAgICAgICAkc3FydDogMC41ICogKCRzcXJ0ICsgJHggLyAkc3FydCk7XG4gICAgfVxuICAgIEByZXR1cm4gJHNxcnQ7XG59XG5cbi8vLyBSZXR1cm4gLTEsIDAgb3IgMSBhY2NvcmRpbmcgd2l0aCB0aGUgc2lnbiBvZiBhIG51bWVyaWNhbCBpbnB1dC5cbkBmdW5jdGlvbiBzaWduKCR4KSB7XG4gICAgQGlmICR4ID4gMCB7XG4gICAgICAgIEByZXR1cm4gMTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQHJldHVybiBpZigkeCA9PSAwLCAwLCAtMSk7XG4gICAgfVxufVxuXG4vLy8gQWRkIGAkdW5pdGAgdG8gYCR2YWx1ZWBcbi8vL1xuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWUgdG8gYWRkIHVuaXQgdG9cbi8vLyBAYXJnICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG5AZnVuY3Rpb24gdG8tbGVuZ3RoKCR2YWx1ZSwgJHVuaXQpIHtcbiAgICAkdW5pdHM6IChcbiAgICAgICAgJ3B4JzogMXB4LCAnY20nOiAxY20sICdtbSc6IDFtbSwgJyUnOiAxJSwgJ2NoJzogMWNoLCAncGMnOiAxcGMsXG4gICAgICAgICdpbic6IDFpbiwgJ2VtJzogMWVtLCAncmVtJzogMXJlbSwgJ3B0JzogMXB0LCAnZXgnOiAxZXgsICd2dyc6IDF2dyxcbiAgICAgICAgJ3ZoJzogMXZoLCAndm1pbic6IDF2bWluLCAndm1heCc6IDF2bWF4KTtcbiAgICBAaWYgbm90IGluZGV4KG1hcC1rZXlzKCR1bml0cyksICR1bml0KSB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCB1bml0IGAjeyR1bml0fWAuJztcbiAgICB9XG4gICAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy8gQ29udmVydCB2YWx1ZSB0byBudW1iZXJcbi8vLyBTZWU6IGh0dHBzOi8vd3d3LnNhc3NtZWlzdGVyLmNvbS9naXN0LzlmYTE5ZDI1NDg2NGYzM2Q0YTgwXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYXJnICR2YWx1ZSAtIElucHV0IHN0cmluZ1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdudW1iZXInIHtcbiAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ3N0cmluZycge1xuICAgICAgICBAZXJyb3IgJ1ZhbHVlIGZvciBgdG8tbnVtYmVyYCBzaG91bGQgYmUgYSBudW1iZXIgb3IgYSBzdHJpbmcuJztcbiAgICB9XG5cbiAgICAkcmVzdWx0OiAwO1xuICAgICRkaWdpdHM6IDA7XG4gICAgJG1pbnVzOiBzdHItc2xpY2UoJHZhbHVlLCAxLCAxKSA9PSAnLSc7XG4gICAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gICAgQGZvciAkaSBmcm9tIGlmKCRtaW51cywgMiwgMSkgdGhyb3VnaCBzdHItbGVuZ3RoKCR2YWx1ZSkge1xuICAgICAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgICAgIEBpZiBub3QgKGluZGV4KG1hcC1rZXlzKCRudW1iZXJzKSwgJGNoYXJhY3Rlcikgb3IgJGNoYXJhY3RlciA9PSAnLicpIHtcbiAgICAgICAgICAgIEByZXR1cm4gdG8tbGVuZ3RoKGlmKCRtaW51cywgLSRyZXN1bHQsICRyZXN1bHQpLCBzdHItc2xpY2UoJHZhbHVlLCAkaSkpXG4gICAgICAgIH1cbiAgICAgICAgQGlmICRjaGFyYWN0ZXIgPT0gJy4nIHtcbiAgICAgICAgICAgICRkaWdpdHM6IDE7XG4gICAgICAgIH0gQGVsc2UgaWYgJGRpZ2l0cyA9PSAwIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKiAxMCArIG1hcC1nZXQoJG51bWJlcnMsICRjaGFyYWN0ZXIpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBDT0xPUiBUUkFOU0ZPUk1BVElPTlMgQU5EIFVUSUxJVElFU1xuLy8vIEBncm91cCBDb2xvclxuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kZm4tY29udHJhc3QtY29sb3Itd2hpdGU6IHdoaXRlICFkZWZhdWx0O1xuJGZuLWNvbnRyYXN0LWNvbG9yLWJsYWNrOiBibGFjayAhZGVmYXVsdDtcbiRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbjogbnVsbDtcblxuLy8vIENhbGN1bGF0ZSBsdW1pbmFuY2Ugb2YgYXJndW1lbnQuIFJldHVybnMgYSB2YWx1ZSBiZXR3ZWVuIDAgYW5kIDEuXG4vLy9cbi8vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHMgYW5kXG4vLy8gaHR0cHM6Ly9tZWRpdW0uY29tL2Rldi1jaGFubmVsL3VzaW5nLXNhc3MtdG8tYXV0b21hdGljYWxseS1waWNrLXRleHQtY29sb3JzLTRiYTc2NDVkMjc5NlxuLy8vXG4vLy8gQGFyZyAkY29sb3IgLSBDb2xvciBhcmd1bWVudC5cbkBmdW5jdGlvbiBsdW1pbmFuY2UoJGNvbG9yKSB7XG4gICAgJHJlZDogbnRoKCRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbiwgcmVkKCRjb2xvcikgKyAxKTtcbiAgICAkZ3JlZW46IG50aCgkZm4tbHVtaW5hbmNlLWludGVycG9sYXRpb24sIGdyZWVuKCRjb2xvcikgKyAxKTtcbiAgICAkYmx1ZTogbnRoKCRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbiwgYmx1ZSgkY29sb3IpICsgMSk7XG4gICAgQHJldHVybiAuMjEyNiAqICRyZWQgKyAuNzE1MiAqICRncmVlbiArIC4wNzIyICogJGJsdWU7XG59XG5cbi8vLyBDYWxjdWxhdGUgdGhlIGNvbnRyYXN0IHJhdGlvIGJldHdlZW4gdHdvIGNvbG9ycyBpbiBhIHNjYWxlIG9mIDAgdG8gMS5cbi8vLyBTZWUgaHR0cHM6Ly93d3cudzMub3JnL1RSL1dDQUcyMC1URUNIUy9HMTcuaHRtbCNHMTctdGVzdHNcbi8vL1xuLy8vIEBhcmcgJGNvbG9yIC0gQ29sb3IgYXJndW1lbnQuXG4vLy8gQGFyZyAkb3RoZXIgLSBDb2xvciB0byBjb250cmFzdCB3aXRoICRjb2xvclxuQGZ1bmN0aW9uIGNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJG90aGVyKSB7XG4gICAgJGJhY2stbHVtOiBsdW1pbmFuY2UoJGNvbG9yKSArIDAuMDE7XG4gICAgJGZvcmUtbHVtOiBsdW1pbmFuY2UoJG90aGVyKSArIDAuMDE7XG4gICAgQHJldHVybiAobWF4KCRiYWNrLWx1bSwgJGZvcmUtbHVtKSAvIG1pbigkYmFjay1sdW0sICRmb3JlLWx1bSkgLSAxKSAvIDEwMDtcbn1cblxuLy8vIENob29zZSB0aGUgY29sb3IgdGhhdCBtYWtlcyBhIGJldHRlciBjb250cmFzdCB3aXRoIHRoZSBmaXJzdCBhcmd1bWVudCBhbW9uZ1xuLy8vIHR3byBvcHRpb25zIGAkb3B0MWAgYW5kIGAkb3B0MmAuXG4vLy9cbi8vLyBAYXJnICRjb2xvciAtIFJlZmVyZW5jZSBjb2xvclxuLy8vIEBhcmcgJGNvbG9yLTEgLSBGaXJzdCBvdXRwdXQgb3B0aW9uXG4vLy8gQGFyZyAkY29sb3ItMiAtIFNlY29uZCBvdXRwdXQgb3B0aW9uXG4vLy8gQGFyZyAkYmlhcyAtIEEgZmFjdG9yIGJldHdlZW4gLTEgYW5kIDEgdG8gYXJ0aWZpY2lhbGx5IGZhdm9yICRjb2xvci0xIG92ZXIgJGNvbG9yLTJcbkBmdW5jdGlvbiBjaG9vc2UtY29udHJhc3QtY29sb3IoJGNvbG9yLCAkY29sb3ItMTogbnVsbCwgJGNvbG9yLTI6IG51bGwsICRiaWFzOiAwKSB7XG4gICAgQGlmIG5vdCAkY29sb3Ige1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuXG4gICAgJGNvbG9yLTE6ICRjb2xvci0xIG9yICRmbi1jb250cmFzdC1jb2xvci13aGl0ZTtcbiAgICAkY29sb3ItMjogJGNvbG9yLTIgb3IgJGZuLWNvbnRyYXN0LWNvbG9yLWJsYWNrO1xuXG4gICAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgICAgIEByZXR1cm4gaWYobGlnaHRuZXNzKCRjb2xvci0xKSA8IGxpZ2h0bmVzcygkY29sb3ItMiksICRjb2xvci0xLCAkY29sb3ItMik7XG4gICAgfVxuICAgIEBpZiAoY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkY29sb3ItMSkgKiAoMSArICRiaWFzKVxuICAgICAgICAgICAgPiBjb250cmFzdC1yYXRpbygkY29sb3IsICRjb2xvci0yKSAqICgxIC0gJGJpYXMpKSB7XG4gICAgICAgIEByZXR1cm4gJGNvbG9yLTE7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJGNvbG9yLTI7XG4gICAgfVxufVxuXG4vLyBJbnRlcnBvbGF0ZSBsdW1pbmFuY2UgZnVuY3Rpb25cbiRmbi1sdW1pbmFuY2UtaW50ZXJwb2xhdGlvbjogKFxuICAgIDAuMCxcbiAgICAwLjAwMDMwMzUyNjk4MzU0ODgzNzUsXG4gICAgMC4wMDA2MDcwNTM5NjcwOTc2NzUsXG4gICAgMC4wMDA5MTA1ODA5NTA2NDY1MTI1LFxuICAgIDAuMDAxMjE0MTA3OTM0MTk1MzUsXG4gICAgMC4wMDE1MTc2MzQ5MTc3NDQxODc0LFxuICAgIDAuMDAxODIxMTYxOTAxMjkzMDI1LFxuICAgIDAuMDAyMTI0Njg4ODg0ODQxODYyNixcbiAgICAwLjAwMjQyODIxNTg2ODM5MDcsXG4gICAgMC4wMDI3MzE3NDI4NTE5Mzk1MzczLFxuICAgIDAuMDAzMDM1MjY5ODM1NDg4Mzc1LFxuICAgIDAuMDAzMzQ2NTM1NzYzODk5MTYxLFxuICAgIDAuMDAzNjc2NTA3MzI0MDQ3NDM2LFxuICAgIDAuMDA0MDI0NzE3MDE4NDk2MzA3LFxuICAgIDAuMDA0MzkxNDQyMDM3NDEwMjkzLFxuICAgIDAuMDA0Nzc2OTUzNDgwNjkzNzI5LFxuICAgIDAuMDA1MTgxNTE2NzAyMzM4Mzg2LFxuICAgIDAuMDA1NjA1MzkxNjI0MjAyNzIzLFxuICAgIDAuMDA2MDQ4ODMzMDIyODU3MDU0LFxuICAgIDAuMDA2NTEyMDkwNzkyNTk0NDc1LFxuICAgIDAuMDA2OTk1NDEwMTg3MjY1Mzg3LFxuICAgIDAuMDA3NDk5MDMyMDQzMjI2MTc1LFxuICAgIDAuMDA4MDIzMTkyOTg1Mzg0OTk0LFxuICAgIDAuMDA4NTY4MTI1NjE4MDY5MzA3LFxuICAgIDAuMDA5MTM0MDU4NzAyMjIwNzg3LFxuICAgIDAuMDA5NzIxMjE3MzIwMjM3ODUsXG4gICAgMC4wMTAzMjk4MjMwMjk2MjY5MzYsXG4gICAgMC4wMTA5NjAwOTQwMDY0ODgyNDYsXG4gICAgMC4wMTE2MTIyNDUxNzk3NDM4ODUsXG4gICAgMC4wMTIyODY0ODgzNTY5MTU4NzIsXG4gICAgMC4wMTI5ODMwMzIzNDIxNzMwMTIsXG4gICAgMC4wMTM3MDIwODMwNDcyODk2ODYsXG4gICAgMC4wMTQ0NDM4NDM1OTYwOTI1NDUsXG4gICAgMC4wMTUyMDg1MTQ0MjI5MTI3MSxcbiAgICAwLjAxNTk5NjI5MzM2NTUwOTYzLFxuICAgIDAuMDE2ODA3Mzc1NzUyODg3Mzg0LFxuICAgIDAuMDE3NjQxOTU0NDg4Mzg0MDc4LFxuICAgIDAuMDE4NTAwMjIwMTI4Mzc5Njk3LFxuICAgIDAuMDE5MzgyMzYwOTU2OTM1NzIzLFxuICAgIDAuMDIwMjg4NTYzMDU2NjUyNCxcbiAgICAwLjAyMTIxOTAxMDM3NjAwMzU1NSxcbiAgICAwLjAyMjE3Mzg4NDc5MzM4NzM4NSxcbiAgICAwLjAyMzE1MzM2NjE3ODExMDQxLFxuICAgIDAuMDI0MTU3NjMyNDQ4NTA0NzU2LFxuICAgIDAuMDI1MTg2ODU5NjI3MzYxNjMsXG4gICAgMC4wMjYyNDEyMjE4OTQ4NDk4OTgsXG4gICAgMC4wMjczMjA4OTE2MzkwNzQ4OTQsXG4gICAgMC4wMjg0MjYwMzk1MDQ0MjA3OTMsXG4gICAgMC4wMjk1NTY4MzQ0Mzc4MDg4LFxuICAgIDAuMDMwNzEzNDQzNzMyOTkzNjM1LFxuICAgIDAuMDMxODk2MDMzMDczMDExNTMsXG4gICAgMC4wMzMxMDQ3NjY1NzA4ODUwNTUsXG4gICAgMC4wMzQzMzk4MDY4MDg2ODIxNyxcbiAgICAwLjAzNTYwMTMxNDg3NTAyMDM0LFxuICAgIDAuMDM2ODg5NDUwNDAxMTAwMDQsXG4gICAgMC4wMzgyMDQzNzE1OTUzNDY1LFxuICAgIDAuMDM5NTQ2MjM1Mjc2NzMyODQsXG4gICAgMC4wNDA5MTUxOTY5MDY4NTMxOSxcbiAgICAwLjA0MjMxMTQxMDYyMDgwOTY3NSxcbiAgICAwLjA0MzczNTAyOTI1Njk3MzQ2NSxcbiAgICAwLjA0NTE4NjIwNDM4NTY3NTU0LFxuICAgIDAuMDQ2NjY1MDg2MzM2ODgwMDk1LFxuICAgIDAuMDQ4MTcxODI0MjI2ODg5NDIsXG4gICAgMC4wNDk3MDY1NjU5ODQxMjcyMyxcbiAgICAwLjA1MTI2OTQ1ODM3NDA0MzI0LFxuICAgIDAuMDUyODYwNjQ3MDIzMTgwMjQ2LFxuICAgIDAuMDU0NDgwMjc2NDQyNDQyMzcsXG4gICAgMC4wNTYxMjg0OTAwNDk2MDAwOSxcbiAgICAwLjA1NzgwNTQzMDE5MTA2NzIzLFxuICAgIDAuMDU5NTExMjM4MTYyOTgxMixcbiAgICAwLjA2MTI0NjA1NDIzMTYxNzYxLFxuICAgIDAuMDYzMDEwMDE3NjUzMTY3NjcsXG4gICAgMC4wNjQ4MDMyNjY2OTI5MDU3NyxcbiAgICAwLjA2NjYyNTkzODY0Mzc3Mjg5LFxuICAgIDAuMDY4NDc4MTY5ODQ0NDAwMTcsXG4gICAgMC4wNzAzNjAwOTU2OTY1OTU4OCxcbiAgICAwLjA3MjI3MTg1MDY4MjMxNzQ4LFxuICAgIDAuMDc0MjEzNTY4MzgwMTQ5NjMsXG4gICAgMC4wNzYxODUzODE0ODEzMDc4NSxcbiAgICAwLjA3ODE4NzQyMTgwNTE4NjMzLFxuICAgIDAuMDgwMjE5ODIwMzE0NDY4MzIsXG4gICAgMC4wODIyODI3MDcxMjk4MTQ4LFxuICAgIDAuMDg0Mzc2MjExNTQ0MTQ4ODIsXG4gICAgMC4wODY1MDA0NjIwMzY1NDk3NixcbiAgICAwLjA4ODY1NTU4NjI4NTc3Mjk0LFxuICAgIDAuMDkwODQxNzExMTgzNDA3NjgsXG4gICAgMC4wOTMwNTg5NjI4NDY2ODc0NSxcbiAgICAwLjA5NTMwNzQ2NjYzMDk2NDcsXG4gICAgMC4wOTc1ODczNDcxNDE4NjI0NixcbiAgICAwLjA5OTg5ODcyODI0NzExMzg5LFxuICAgIDAuMTAyMjQxNzMzMDg4MTAxMzIsXG4gICAgMC4xMDQ2MTY0ODQwOTExMDQxOSxcbiAgICAwLjEwNzAyMzEwMjk3ODI2NzYxLFxuICAgIDAuMTA5NDYxNzEwNzc4Mjk5MzMsXG4gICAgMC4xMTE5MzI0Mjc4MzY5MDU2LFxuICAgIDAuMTE0NDM1MzczODI2OTczNzMsXG4gICAgMC4xMTY5NzA2Njc3NTg1MTA4NCxcbiAgICAwLjExOTUzODQyNzk4ODM0NTYyLFxuICAgIDAuMTIyMTM4NzcyMjI5NjAxODcsXG4gICAgMC4xMjQ3NzE4MTc1NjA5NTA0OSxcbiAgICAwLjEyNzQzNzY4MDQzNTY0NzQzLFxuICAgIDAuMTMwMTM2NDc2NjkwMzY0MyxcbiAgICAwLjEzMjg2ODMyMTU1MzgxNzk4LFxuICAgIDAuMTM1NjMzMzI5NjU1MjA1NjYsXG4gICAgMC4xMzg0MzE2MTUwMzI0NTE4MyxcbiAgICAwLjE0MTI2MzI5MTE0MDI3MTY0LFxuICAgIDAuMTQ0MTI4NDcwODU4MDU3NzcsXG4gICAgMC4xNDcwMjcyNjY0OTc1OTQ5OCxcbiAgICAwLjE0OTk1OTc4OTgxMDYwODU2LFxuICAgIDAuMTUyOTI2MTUxOTk2MTUwMTcsXG4gICAgMC4xNTU5MjY0NjM3MDc4Mjc0LFxuICAgIDAuMTU4OTYwODM1MDYwODgwNCxcbiAgICAwLjE2MjAyOTM3NTYzOTExMSxcbiAgICAwLjE2NTEzMjE5NDUwMTY2NzYsXG4gICAgMC4xNjgyNjk0MDAxODk2OTA3NSxcbiAgICAwLjE3MTQ0MTEwMDczMjgyMjYsXG4gICAgMC4xNzQ2NDc0MDM2NTU1ODUwNCxcbiAgICAwLjE3Nzg4ODQxNTk4MzYyOTEyLFxuICAgIDAuMTgxMTY0MjQ0MjQ5ODYwMjIsXG4gICAgMC4xODQ0NzQ5OTQ1MDA0NDEsXG4gICAgMC4xODc4MjA3NzIzMDA2Nzc4NyxcbiAgICAwLjE5MTIwMTY4Mjc0MDc5MTM4LFxuICAgIDAuMTk0NjE3ODMwNDQxNTc1OCxcbiAgICAwLjE5ODA2OTMxOTU1OTk0ODg2LFxuICAgIDAuMjAxNTU2MjUzNzk0Mzk3MDcsXG4gICAgMC4yMDUwNzg3MzYzOTAzMTY5MyxcbiAgICAwLjIwODYzNjg3MDE0NTI1NTc1LFxuICAgIDAuMjEyMjMwNzU3NDE0MDU1MjMsXG4gICAgMC4yMTU4NjA1MDAxMTM4OTkyNixcbiAgICAwLjIxOTUyNjE5OTcyOTI2OTIsXG4gICAgMC4yMjMyMjc5NTczMTY4MDg1LFxuICAgIDAuMjI2OTY1ODczNTEwMDk4MzYsXG4gICAgMC4yMzA3NDAwNDg1MjQzNDkxNSxcbiAgICAwLjIzNDU1MDU4MjE2MTAwNTIyLFxuICAgIDAuMjM4Mzk3NTczODEyMjcxLFxuICAgIDAuMjQyMjgxMTIyNDY1NTU0ODYsXG4gICAgMC4yNDYyMDEzMjY3MDc4MzU0OCxcbiAgICAwLjI1MDE1ODI4NDcyOTk1MzQ0LFxuICAgIDAuMjU0MTUyMDk0MzMwODI2NzUsXG4gICAgMC4yNTgxODI4NTI5MjE1OTU4LFxuICAgIDAuMjYyMjUwNjU3NTI5Njk2MjMsXG4gICAgMC4yNjYzNTU2MDQ4MDI4NjI0NyxcbiAgICAwLjI3MDQ5Nzc5MTAxMzA2NTgsXG4gICAgMC4yNzQ2NzczMTIwNjAzODQ2NSxcbiAgICAwLjI3ODg5NDI2MzQ3NjgxMDQsXG4gICAgMC4yODMxNDg3NDA0Mjk5OTIxLFxuICAgIDAuMjg3NDQwODM3NzI2OTE3NSxcbiAgICAwLjI5MTc3MDY0OTgxNzUzNTg3LFxuICAgIDAuMjk2MTM4MjcwNzk4MzIxMSxcbiAgICAwLjMwMDU0Mzc5NDQxNTc3NjUsXG4gICAgMC4zMDQ5ODczMTQwNjk4ODYzLFxuICAgIDAuMzA5NDY4OTIyODE3NTA4NTQsXG4gICAgMC4zMTM5ODg3MTMzNzU3MTc1NCxcbiAgICAwLjMxODU0Njc3ODEyNTA5MTg2LFxuICAgIDAuMzIzMTQzMjA5MTEyOTUwNzUsXG4gICAgMC4zMjc3NzgwOTgwNTY1NDIyLFxuICAgIDAuMzMyNDUxNTM2MzQ2MTc5MzUsXG4gICAgMC4zMzcxNjM2MTUwNDgzMzAzNyxcbiAgICAwLjM0MTkxNDQyNDkwODY2MDksXG4gICAgMC4zNDY3MDQwNTYzNTUwMjk2LFxuICAgIDAuMzUxNTMyNTk5NTAwNDM5MzYsXG4gICAgMC4zNTY0MDAxNDQxNDU5NDM1LFxuICAgIDAuMzYxMzA2Nzc5NzgzNTA5NSxcbiAgICAwLjM2NjI1MjU5NTU5ODgzOTUsXG4gICAgMC4zNzEyMzc2ODA0NzQxNDkxLFxuICAgIDAuMzc2MjYyMTIyOTkwOTA2NSxcbiAgICAwLjM4MTMyNjAxMTQzMjUzMDE0LFxuICAgIDAuMzg2NDI5NDMzNzg3MDQ5LFxuICAgIDAuMzkxNTcyNDc3NzQ5NzIzMjYsXG4gICAgMC4zOTY3NTUyMzA3MjU2MjY4NSxcbiAgICAwLjQwMTk3Nzc3OTgzMjE5NTgsXG4gICAgMC40MDcyNDAyMTE5MDE3MzY3LFxuICAgIDAuNDEyNTQyNjEzNDgzOTAzNzUsXG4gICAgMC40MTc4ODUwNzA4NDgxMzc1LFxuICAgIDAuNDIzMjY3NjY5OTg2MDcxNyxcbiAgICAwLjQyODY5MDQ5NjYxMzkwNjYsXG4gICAgMC40MzQxNTM2MzYxNzQ3NDg5NSxcbiAgICAwLjQzOTY1NzE3Mzg0MDkxODgsXG4gICAgMC40NDUyMDExOTQ1MTYyMjc4NixcbiAgICAwLjQ1MDc4NTc4MjgzODIyMzQ2LFxuICAgIDAuNDU2NDExMDIzMTgwNDA0NjYsXG4gICAgMC40NjIwNzY5OTk2NTQ0MDcxLFxuICAgIDAuNDY3NzgzNzk2MTEyMTU5LFxuICAgIDAuNDczNTMxNDk2MTQ4MDA5NTUsXG4gICAgMC40NzkzMjAxODMxMDA4MjY4LFxuICAgIDAuNDg1MTQ5OTQwMDU2MDcwNCxcbiAgICAwLjQ5MTAyMDg0OTg0NzgzNTYsXG4gICAgMC40OTY5MzI5OTUwNjA4NzA0LFxuICAgIDAuNTAyODg2NDU4MDMyNTY4NyxcbiAgICAwLjUwODg4MTMyMDg1NDkzMzgsXG4gICAgMC41MTQ5MTc2NjUzNzY1MjE0LFxuICAgIDAuNTIwOTk1NTczMjA0MzU0MyxcbiAgICAwLjUyNzExNTEyNTcwNTgxMzEsXG4gICAgMC41MzMyNzY0MDQwMTA1MDUyLFxuICAgIDAuNTM5NDc5NDg5MDEyMTA3MixcbiAgICAwLjU0NTcyNDQ2MTM3MDE4NjYsXG4gICAgMC41NTIwMTE0MDE1MTIwMDAxLFxuICAgIDAuNTU4MzQwMzg5NjM0MjY3OSxcbiAgICAwLjU2NDcxMTUwNTcwNDkyOTIsXG4gICAgMC41NzExMjQ4Mjk0NjQ4NzMxLFxuICAgIDAuNTc3NTgwNDQwNDI5NjUwNixcbiAgICAwLjU4NDA3ODQxNzg5MTE2NDEsXG4gICAgMC41OTA2MTg4NDA5MTkzMzY5LFxuICAgIDAuNTk3MjAxNzg4MzYzNzYzNCxcbiAgICAwLjYwMzgyNzMzODg1NTMzNzgsXG4gICAgMC42MTA0OTU1NzA4MDc4NjQ4LFxuICAgIDAuNjE3MjA2NTYyNDE5NjUxMSxcbiAgICAwLjYyMzk2MDM5MTY3NTA3NjEsXG4gICAgMC42MzA3NTcxMzYzNDYxNDY4LFxuICAgIDAuNjM3NTk2ODczOTk0MDMyNixcbiAgICAwLjY0NDQ3OTY4MTk3MDU4MjEsXG4gICAgMC42NTE0MDU2Mzc0MTk4MjQyLFxuICAgIDAuNjU4Mzc0ODE3Mjc5NDQ4NSxcbiAgICAwLjY2NTM4NzI5ODI4MjI3MixcbiAgICAwLjY3MjQ0MzE1Njk1NzY4NzUsXG4gICAgMC42Nzk1NDI0Njk2MzMwOTM4LFxuICAgIDAuNjg2Njg1MzEyNDM1MzEzNSxcbiAgICAwLjY5Mzg3MTc2MTI5MTk4OTksXG4gICAgMC43MDExMDE4OTE5MzI5NzMxLFxuICAgIDAuNzA4Mzc1Nzc5ODkxNjg2OCxcbiAgICAwLjcxNTY5MzUwMDUwNjQ4MDcsXG4gICAgMC43MjMwNTUxMjg5MjE5NjkzLFxuICAgIDAuNzMwNDYwNzQwMDkwMzUzNyxcbiAgICAwLjczNzkxMDQwODc3MjczMDgsXG4gICAgMC43NDU0MDQyMDk1NDAzODc0LFxuICAgIDAuNzUyOTQyMjE2Nzc2MDc3OSxcbiAgICAwLjc2MDUyNDUwNDY3NTI5MjQsXG4gICAgMC43NjgxNTExNDcyNDc1MDcsXG4gICAgMC43NzU4MjIyMTgzMTc0MjM2LFxuICAgIDAuNzgzNTM3NzkxNTI2MTkzNSxcbiAgICAwLjc5MTI5Nzk0MDMzMjYzMDIsXG4gICAgMC43OTkxMDI3MzgwMTQ0MDksXG4gICAgMC44MDY5NTIyNTc2NjkyNTE2LFxuICAgIDAuODE0ODQ2NTcyMjE2MTAxMixcbiAgICAwLjgyMjc4NTc1NDM5NjI4MzUsXG4gICAgMC44MzA3Njk4NzY3NzQ2NTQ2LFxuICAgIDAuODM4Nzk5MDExNzQwNzQsXG4gICAgMC44NDY4NzMyMzE1MDk4NTgsXG4gICAgMC44NTQ5OTI2MDgxMjQyMzM4LFxuICAgIDAuODYzMTU3MjEzNDU0MTAyMyxcbiAgICAwLjg3MTM2NzExOTE5ODc5NzIsXG4gICAgMC44Nzk2MjIzOTY4ODc4MzE3LFxuICAgIDAuODg3OTIzMTE3ODgxOTY2MyxcbiAgICAwLjg5NjI2OTM1MzM3NDI2NjQsXG4gICAgMC45MDQ2NjExNzQzOTExNDk2LFxuICAgIDAuOTEzMDk4NjUxNzkzNDE5MixcbiAgICAwLjkyMTU4MTg1NjI3NzI5NDYsXG4gICAgMC45MzAxMTA4NTgzNzU0MjM3LFxuICAgIDAuOTM4Njg1NzI4NDU3ODg4LFxuICAgIDAuOTQ3MzA2NTM2NzMzMTk5OSxcbiAgICAwLjk1NTk3MzM1MzI0OTI4NjEsXG4gICAgMC45NjQ2ODYyNDc4OTQ0NjUxLFxuICAgIDAuOTczNDQ1MjkwMzk4NDEyNSxcbiAgICAwLjk4MjI1MDU1MDMzMzExNzEsXG4gICAgMC45OTExMDIwOTcxMTM4Mjk4LFxuICAgIDEuMCxcbik7XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFRFU1RJTkcgRlVOQ1RJT05TXG4vLy8gQGdyb3VwIHRlc3Rpbmdcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIEFzc2VydCBlcXVhbGl0eSBvbiB1bml0IHRlc3RzXG4vLy9cbi8vLyBAYXJnICRmc3QgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJHNuZCAtIFNlY29uZCBhcmd1bWVudFxuLy8vIEBhcmcgJG1zZyAtIE9wdGlvbmFsIG1lc3NhZ2Vcbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgICRkbzogYXNzZXJ0LWVxKGpvaW4oaGVsbG8sIHdvcmxkKSwgaGVsbG8gd29ybGQpO1xuQGZ1bmN0aW9uIGFzc2VydC1lcSgkZnN0LCAkc25kLCAkbXNnOiAnQXNzZXJ0aW9uIGVycm9yJykge1xuICAgIEBpZiAkZnN0ICE9ICRzbmQge1xuICAgICAgICBAZXJyb3IgJyN7JG1zZ306IGV4cGVjdCBcIiN7aW5zcGVjdCgkc25kKX1cIiwgYnV0IGdvdCBcIiN7aW5zcGVjdCgkZnN0KX1cIi4nO1xuICAgIH1cbiAgICBAcmV0dXJuICRmc3Q7XG59XG5cbi8vLyBBc3NlcnQgZm4gcmV0dXJucyB0cnVlIHdoZW4gY2FsbGVkIHdpdGggYm90aCBhcmd1bWVudHMuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uXG4vLy8gQGFyZyAkZnN0IC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRzbmQgLSBTZWNvbmQgYXJndW1lbnRcbi8vLyBAYXJnICRtc2cgLSBPcHRpb25hbCBtZXNzYWdlXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICAkZG86IGFzc2VydC1mbihndCwgMiwgMyk7XG5AZnVuY3Rpb24gYXNzZXJ0LWZuKCRmbiwgJGZzdCwgJHNuZCwgJG1zZzogJ0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAaWYgY2FsbC1mbigkZm4sICRmc3QsICRzbmQpIHtcbiAgICAgICAgQHJldHVybiAkZnN0O1xuICAgIH1cbiAgICBAZXJyb3IgJyN7JG1zZ306IGNvbmRpdGlvbiAjeyRmbn0gbm90IG1ldCB3aXRoIFwiI3tpbnNwZWN0KCRmc3QpfVwiIGFuZCBcIiN7aW5zcGVjdCgkc25kKX1cIi4nO1xufVxuXG5AZnVuY3Rpb24gYXNzZXJ0LWd0KCRmc3QsICRzbmQsICRtc2c6J0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAcmV0dXJuIGFzc2VydC1mbihndCwgJGZzdCwgJHNuZCwgJG1zZylcbn1cblxuQGZ1bmN0aW9uIGFzc2VydC1sdCgkZnN0LCAkc25kLCAkbXNnOidBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQHJldHVybiBhc3NlcnQtZm4obHQsICRmc3QsICRzbmQsICRtc2cpXG59XG5cbkBmdW5jdGlvbiBhc3NlcnQtZ2UoJGZzdCwgJHNuZCwgJG1zZzonQXNzZXJ0aW9uIGVycm9yJykge1xuICAgIEByZXR1cm4gYXNzZXJ0LWZuKGdlLCAkZnN0LCAkc25kLCAkbXNnKVxufVxuXG5AZnVuY3Rpb24gYXNzZXJ0LWxlKCRmc3QsICRzbmQsICRtc2c6J0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAcmV0dXJuIGFzc2VydC1mbihsZSwgJGZzdCwgJHNuZCwgJG1zZylcbn1cblxuLy8vIEFzc2VydCBhcHByb3hpbWF0ZSBudW1lcmljYWwgZXF1YWxpdHlcbi8vL1xuLy8vIEBhcmcgJGZzdCAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkc25kIC0gU2Vjb25kIGFyZ3VtZW50XG4vLy8gQGFyZyAkdG9sIC0gTWF4aW11bSB0b2xlcmFuY2Vcbi8vLyBAYXJnICRtc2cgLSBPcHRpb25hbCBtZXNzYWdlXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICAkZG86IGFzc2VydC1lcShqb2luKGhlbGxvLCB3b3JsZCksIGhlbGxvIHdvcmxkKTtcbkBmdW5jdGlvbiBhc3NlcnQtc2ltZXEoJGZzdCwgJHNuZCwgJHRvbDogMC4wMDAwMDEsICRtc2c6ICdBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQGlmIGFicygkZnN0IC0gJHNuZCkgPiAkdG9sIHtcbiAgICAgICAgQGVycm9yICcjeyRtc2d9OiBleHBlY3QgXCIje2luc3BlY3QoJHNuZCl9XCIsIGJ1dCBnb3QgXCIje2luc3BlY3QoJGZzdCl9XCIuJztcbiAgICB9XG4gICAgQHJldHVybiAkZnN0O1xufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gbWFwXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLyBAZ3JvdXAgQ29uZmlnXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnc3RhY2stZm9udCc7XG5AaW1wb3J0ICdzdGFjay1jb2xvcic7XG5AaW1wb3J0ICdiYXNlJztcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT05UIFNUQUNLU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gRk9OVCBOQU1FU1xuXG4vLyBTeXN0ZW0gZm9udHNcbiRmb250LXN0YWNrLXN5c3RlbS1mb250OiAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIOKAnFNlZ29lIFVJ4oCdLCDigJxPeHlnZW7igJ0sIOKAnFVidW50deKAnSwg4oCcQ2FudGFyZWxs4oCdLCDigJxSb2JvdG/igJ0sIOKAnEZpcmEgU2Fuc+KAnSwg4oCcRHJvaWQgU2Fuc+KAnSwg4oCcSGVsdmV0aWNhIE5ldWXigJ0sIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFNhbnMtc2VyaWZcbiRmb250LXN0YWNrLXN5c3RlbS1zYW5zOiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stcm9ib3RvOiBcIlJvYm90b1wiLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIOKAnFNlZ29lIFVJ4oCdLCDigJxPeHlnZW7igJ0sIOKAnFVidW50deKAnSwg4oCcQ2FudGFyZWxs4oCdLCDigJxGaXJhIFNhbnPigJ0sIOKAnERyb2lkIFNhbnPigJ0sIOKAnEhlbHZldGljYSBOZXVl4oCdLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLW9wZW4tc2FuczogXCJPcGVuIFNhbnNcIiwgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1leG86IFwiRXhvXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stcmFsZXdheTogXCJSYWxld2F5XCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stbGF0bzogXCJMYXRvXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stcGF0dWEtb25lOiBcIlBhdHVhIE9uZVwiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LXNhbnM6ICdJQk0gUGxleCBTYW5zJywgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG5cbi8vIFNhbnMgQ29uZGVuc2VkXG4kZm9udC1zdGFjay1zeXN0ZW0tc2Fucy1jb25kZW5zZWQ6ICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stb3Blbi1zYW5zLWNvbmRlbnNlZDogXCJPcGVuIFNhbnMgQ29uZGVuc2VkXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zLWNvbmRlbnNlZCAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LXNhbnMtY29uZGVuc2VkOiAnSUJNIFBsZXggU2FucyBDb25zZW5zZWQnLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcblxuLy8gU2VyaWZcbiRmb250LXN0YWNrLXN5c3RlbS1zZXJpZjogc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1nZW9yZ2lhOiBcIkdlb3JnaWFcIiwgJGZvbnQtc3RhY2stc3lzdGVtLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stdGltZXM6IFwiVGltZXMgTmV3IFJvbWFuXCIsICRmb250LXN0YWNrLXN5c3RlbS1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LXNlcmlmOiAnSUJNIFBsZXggU2VyaWYnLCAkZm9udC1zdGFjay1zeXN0ZW0tc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIEN1cnNpdmVcbiRmb250LXN0YWNrLXN5c3RlbS1jdXJzaXZlOiBjdXJzaXZlICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stY29taWMtc2FuczogXCJDb21pYyBTYW5zXCIsICRmb250LXN0YWNrLXN5c3RlbS1jdXJzaXZlICFkZWZhdWx0O1xuXG4vLyBNb25vc3BhY2VcbiRmb250LXN0YWNrLXN5c3RlbS1tb25vc3BhY2U6IG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWlibS1wbGV4LW1vbm86IFwiSUJNIFBsZXggTW9ub1wiLCAkZm9udC1zdGFjay1zeXN0ZW0tbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBJY29uc1xuJGZvbnQtc3RhY2stZm9udC1hd2Vzb21lOiBcIkZvbnQgQXdlc29tZSA1IEZyZWVcIiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLW1hdGVyaWFsLWljb25zOiBcIk1hdGVyaWFsIEljb25zXCIgIWRlZmF1bHQ7XG5cbiRtZW5kZWxlZXYtdHlwZWZhY2U6IG51bGwgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWN1cnNpdmU6ICRmb250LXN0YWNrLXN5c3RlbS1jdXJzaXZlICFkZWZhdWx0O1xuJG1lbmRlbGVldi1tb25vc3BhY2U6ICRmb250LXN0YWNrLWlibS1wbGV4LW1vbm8gIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXNhbnMtc2VyaWY6ICRmb250LXN0YWNrLWV4byAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2VyaWY6ICRmb250LXN0YWNrLWlibS1wbGV4LXNlcmlmICFkZWZhdWx0O1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTE9SIE5BTUVTIEFORCBERUZBVUxUIFZBTFVFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2hpdGVzXG4kY29sb3ItYmxhY2s6ICMxNTE1MTUgIWRlZmF1bHQ7XG4kY29sb3Itd2hpdGU6IHdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLWRhcms6ICRjb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjb2xvci1saWdodDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLWdyZXk6ICNhNzlkOTYgIWRlZmF1bHQ7XG5cbiRjb2xvci1yZWd1bGFyLXRleHQ6ICRjb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjb2xvci1pbnZlcnNlLXRleHQ6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci1iYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItaW52ZXJzZS1iYWNrZ3JvdW5kOiAkY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG5cbiRjb2xvci1tdXRlZC10ZXh0OiBtaXgoJGNvbG9yLXJlZ3VsYXItdGV4dCwgJGNvbG9yLWdyZXksIDUwJSkgIWRlZmF1bHQ7XG4kY29sb3ItbXV0ZWQtYmFja2dyb3VuZDogbWl4KCRjb2xvci1iYWNrZ3JvdW5kLCAkY29sb3ItZ3JleSwgOTAlKSAhZGVmYXVsdDtcbiRjb2xvci1tdXRlZC1pbnZlcnNlLXRleHQ6IG1peCgkY29sb3ItaW52ZXJzZS10ZXh0LCAkY29sb3ItZ3JleSwgNTAlKSAhZGVmYXVsdDtcbiRjb2xvci1tdXRlZC1pbnZlcnNlLWJhY2tncm91bmQ6IG1peCgkY29sb3ItaW52ZXJzZS1iYWNrZ3JvdW5kLCAkY29sb3ItZ3JleSwgOTAlKSAhZGVmYXVsdDtcblxuLy8gQ29sb3JzXG4kY29sb3ItcmVkOiAjZGUwMTFlICFkZWZhdWx0O1xuJGNvbG9yLW9yYW5nZTogI2YyNjIwMiAhZGVmYXVsdDtcbiRjb2xvci15ZWxsb3c6ICNmYmJkMDggIWRlZmF1bHQ7XG4kY29sb3Itb2xpdmU6ICNiNWNjMTggIWRlZmF1bHQ7XG4kY29sb3ItZ3JlZW46ICMxNmFiMzkgIWRlZmF1bHQ7XG4kY29sb3ItdGVhbDogIzAwYjVhZCAhZGVmYXVsdDtcbiRjb2xvci1ibHVlOiAjMDA2ZDkzICFkZWZhdWx0O1xuJGNvbG9yLXZpb2xldDogIzFjMDA1MiAhZGVmYXVsdDtcbiRjb2xvci1wdXJwbGU6ICM5NjI3YmEgIWRlZmF1bHQ7XG4kY29sb3ItcGluazogI2UwMzk5NyAhZGVmYXVsdDtcbiRjb2xvci1icm93bjogI2E1NjczZiAhZGVmYXVsdDtcblxuLy8gUm9sZXNcbi8vJGNvbG9yLWJyYW5kOiAkY29sb3ItdmlvbGV0ICFkZWZhdWx0O1xuJGNvbG9yLWJyYW5kOiAkY29sb3ItcmVkICFkZWZhdWx0O1xuJGNvbG9yLWFjY2VudDogJGNvbG9yLXZpb2xldCAhZGVmYXVsdDtcbiRjb2xvci1hY3Rpb246IG1peCgkY29sb3ItZ3JleSwgJGNvbG9yLXdoaXRlKSAhZGVmYXVsdDtcbiRjb2xvci1wcmltYXJ5OiAkY29sb3ItYnJhbmQgIWRlZmF1bHQ7XG4kY29sb3Itc2Vjb25kYXJ5OiAkY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuJGNvbG9yLXBvc2l0aXZlOiAkY29sb3ItZ3JlZW4gIWRlZmF1bHQ7XG4kY29sb3ItbmVnYXRpdmU6ICRjb2xvci1yZWQgIWRlZmF1bHQ7XG4kY29sb3Itd2FybmluZzogJGNvbG9yLXllbGxvdyAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBjb2xvciBwYWxldHRlXG4kbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGU6ICgpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1wYWxldHRlOiBtYXAtbWVyZ2UoKFxuICAgIC8vXG4gICAgLy8gV2hpdGVzXG4gICAgJ2JsYWNrJzogJGNvbG9yLWJsYWNrLFxuICAgICd3aGl0ZSc6ICRjb2xvci13aGl0ZSxcbiAgICAnbGlnaHQnOiAkY29sb3ItbGlnaHQsXG4gICAgJ2RhcmsnOiAkY29sb3ItZGFyayxcbiAgICAnZ3JleSc6ICRjb2xvci1ncmV5LFxuICAgICdyZWd1bGFyLXRleHQnOiAkY29sb3ItcmVndWxhci10ZXh0LFxuICAgICdpbnZlcnNlLXRleHQnOiAkY29sb3ItaW52ZXJzZS10ZXh0LFxuICAgICdiYWNrZ3JvdW5kJzogJGNvbG9yLWJhY2tncm91bmQsXG4gICAgJ2ludmVyc2UtYmFja2dyb3VuZCc6ICRjb2xvci1pbnZlcnNlLWJhY2tncm91bmQsXG4gICAgJ211dGVkLXRleHQnOiAkY29sb3ItbXV0ZWQtdGV4dCxcbiAgICAnbXV0ZWQtaW52ZXJzZS10ZXh0JzogJGNvbG9yLW11dGVkLWludmVyc2UtdGV4dCxcbiAgICAnbXV0ZWQtYmFja2dyb3VuZCc6ICRjb2xvci1tdXRlZC1iYWNrZ3JvdW5kLFxuICAgICdtdXRlZC1pbnZlcnNlLWJhY2tncm91bmQnOiAkY29sb3ItbXV0ZWQtaW52ZXJzZS1iYWNrZ3JvdW5kLFxuICAgIC8vXG4gICAgLy8gQ29sb3JzXG4gICAgJ3JlZCc6ICRjb2xvci1yZWQsXG4gICAgJ29yYW5nZSc6ICRjb2xvci1vcmFuZ2UsXG4gICAgJ3llbGxvdyc6ICRjb2xvci15ZWxsb3csXG4gICAgJ29saXZlJzogJGNvbG9yLW9saXZlLFxuICAgICdncmVlbic6ICRjb2xvci1ncmVlbixcbiAgICAndGVhbCc6ICRjb2xvci10ZWFsLFxuICAgICdibHVlJzogJGNvbG9yLWJsdWUsXG4gICAgJ3Zpb2xldCc6ICRjb2xvci12aW9sZXQsXG4gICAgJ3B1cnBsZSc6ICRjb2xvci1wdXJwbGUsXG4gICAgJ3BpbmsnOiAkY29sb3ItcGluayxcbiAgICAnYnJvd24nOiAkY29sb3ItYnJvd24sXG4gICAgLy9cbiAgICAvLyAgUm9sZXNcbiAgICAnYnJhbmQnOiAkY29sb3ItYnJhbmQsXG4gICAgJ2FjY2VudCc6ICRjb2xvci1hY2NlbnQsXG4gICAgJ2FjdGlvbic6ICRjb2xvci1hY3Rpb24sXG4gICAgJ3ByaW1hcnknOiAkY29sb3ItcHJpbWFyeSxcbiAgICAnc2Vjb25kYXJ5JzogJGNvbG9yLXNlY29uZGFyeSxcbiAgICAncG9zaXRpdmUnOiAkY29sb3ItcG9zaXRpdmUsXG4gICAgJ25lZ2F0aXZlJzogJGNvbG9yLW5lZ2F0aXZlLFxuICAgICd3YXJuaW5nJzogJGNvbG9yLXdhcm5pbmcsXG4pLCAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUpO1xuXG4vLyBEZWZhdWx0IGNvbnRyYXN0IG92ZXJyaWRlc1xuJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogKFxuICAgICMzM2MzZjA6ICRjb2xvci13aGl0ZSxcbiAgICAjMDBiNWFkOiAkY29sb3Itd2hpdGUsXG4gICAgI2I1Y2MxODogJGNvbG9yLXdoaXRlLFxuKSAhZGVmYXVsdDtcblxuJG1lbmRlbGVldi1jb2xvci1icmFuZDogJGNvbG9yLWJyYW5kO1xuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBCYXNlIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vIEBncm91cCBDb25maWdcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0ICcuLi9mbic7XG5cbiRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6ICRmbi1lbXB0eS1tYXAgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGU6ICRmbi1lbXB0eS1tYXAgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXR5cGVmYWNlOiBudWxsICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jdXJzaXZlOiBjdXJzaXZlICFkZWZhdWx0O1xuJG1lbmRlbGVldi1tb25vc3BhY2U6IG1vbm9zcGFjZSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2Fucy1zZXJpZjogc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2VyaWY6IHNlcmlmICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1icmFuZDogYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05GSUdVUkFUSU9OIERJQ1RJT05BUllcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBNYWluIGNvbmZpZ3VyYXRpb24gZGljdGlvbmFyeS4gWW91IGN1c3RvbWl6ZSBNZW5kZWxlZXYgYnkgc2V0dGluZyB2YWx1ZXNcbi8vLyB0byB0aGlzIGRpY3Rpb25hcnkuXG4kY29uZmlnOiAoKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29uZmlndXJhdGlvbiBvcHRpb25zLlxuLy8vIFRoaXMgbWFwIGNvbnRhaW5zIGFsbCBkZWZhdWx0IHZhbHVlcyBmb3IgY29uZmlndXJhdGlvbnMgdGhhdCBjYW4gYmVcbi8vLyBvdmVycmlkZGVuIGJ5IHRoZSBgJGNvbmZpZ2Agb3IgYCRjb25maWctZGVmYXVsdHNgIG1hcHBpbmdzLlxuJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlOiB0cnVlICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb25maWc6IChcbiAgICAvL1xuICAgIC8vIEdMT0JBTFxuICAgICdicmVha3BvaW50cyc6IChcbiAgICAgICAgJ3NtJzogMzByZW0sXG4gICAgICAgICdtZCc6IDUwcmVtLFxuICAgICAgICAnbGcnOiA3NXJlbSxcbiAgICApLFxuICAgICd1dGlsaXRpZXMnOiAoXG4gICAgICAgICdpbXBvcnRhbnQnOiB0cnVlLFxuICAgICAgICAnZW1pdCc6ICdyZXNwZWN0JyxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gVFlQT0dSQVBIWVxuICAgICd0eXBvZ3JhcGh5JzogKFxuICAgICAgICAvL1xuICAgICAgICAvLyBHZW5lcmljXG4gICAgICAgICdtb2R1bGVzJzogKFxuICAgICAgICAgICAgJ2hlYWRpbmdzJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ3BhcmFncmFwaCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdzY2FsZSc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdsZWFkaW5nJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ21lYXN1cmUnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnaW5kZW50JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ2FsaWdubWVudCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdzdHlsZXMnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnd2VpZ2h0cyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdmb250cyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdkaXJlY3Rpb24nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnd2hpdGUtc3BhY2UnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICksXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFR5cGVmYWNlc1xuICAgICAgICAndHlwZWZhY2UnOiAkbWVuZGVsZWV2LXR5cGVmYWNlLFxuICAgICAgICAnY3Vyc2l2ZSc6ICRtZW5kZWxlZXYtY3Vyc2l2ZSxcbiAgICAgICAgJ21vbm9zcGFjZSc6ICRtZW5kZWxlZXYtbW9ub3NwYWNlLFxuICAgICAgICAnc2Fucy1zZXJpZic6ICRtZW5kZWxlZXYtc2Fucy1zZXJpZixcbiAgICAgICAgJ3NlcmlmJzogJG1lbmRlbGVldi1zZXJpZixcbiAgICAgICAgLy9cbiAgICAgICAgLy8gVmVydGljYWwgcmh5dGhtIGFuZCBtb2R1bGFyIHNjYWxlXG4gICAgICAgICdzaXplJzogKFxuICAgICAgICAgICAgJ3N0YXJ0JzogMTYsXG4gICAgICAgICAgICAnbWQnOiAxNyxcbiAgICAgICAgICAgICdsZyc6IDE4LFxuICAgICAgICApLFxuICAgICAgICAnbGVhZCc6IDEuNSxcbiAgICAgICAgJ2hlYWRpbmctbGVhZCc6IDEuMjUwLFxuICAgICAgICAnc2NhbGUnOiAoXG4gICAgICAgICAgICAnc3RhcnQnOiA5LzgsXG4gICAgICAgICAgICAnc20nOiAoOS80ICsgNS80KSAvIDMsXG4gICAgICAgICAgICAnbWQnOiAoOS84ICsgNS8yKSAvIDMsXG4gICAgICAgICAgICAnbGcnOiA1LzQsXG4gICAgICAgICksXG4gICAgICAgIC8vXG4gICAgICAgIC8vIE92ZXJyaWRkZW4gcHJvcGVydGllc1xuICAgICAgICAnYm9keSc6ICgpLFxuICAgICAgICAncGFyYWdyYXBoJzogKCksXG4gICAgICAgICdoZWFkaW5ncyc6IChcbiAgICAgICAgICAgICdsZXR0ZXItc3BhY2luZyc6IC0wLjAzZW0sXG4gICAgICAgICAgICAnZm9udC13ZWlnaHQnOiA5MDAsXG4gICAgICAgICAgICAnY29sb3InOiAkbWVuZGVsZWV2LWNvbG9yLWJyYW5kLFxuICAgICAgICApLFxuICAgICksXG4gICAgLy9cbiAgICAvLyBDT0xPUlNcbiAgICAncGFsZXR0ZSc6ICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSxcbiAgICAnY29udHJhc3QnOiAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0LFxuICAgICdjb2xvcic6IChcbiAgICAgICAgJ2NvbnRyYXN0LWJpYXMnOiAwLjEyNSxcbiAgICAgICAgJ3JvbGVzJzogKFxuICAgICAgICAgICAgJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JywgJ2FjdGlvbicsXG4gICAgICAgICAgICAncG9zaXRpdmUnLCAnbmVnYXRpdmUnLCAnd2FybmluZycsXG4gICAgICAgICAgICAnYmxhY2snLCAnd2hpdGUnLCAnZ3JleScsICdyZWQnLCAnb3JhbmdlJywgJ3llbGxvdycsICdvbGl2ZScsXG4gICAgICAgICAgICAnZ3JlZW4nLCAndGVhbCcsICdibHVlJywgJ3Zpb2xldCcsICdwdXJwbGUnLCAncGluaycsICdicm93bicsXG4gICAgICAgICksXG4gICAgICAgICd0ZXh0JzogKFxuICAgICAgICAgICAgJ2ludmVyc2UnLCAnbXV0ZWQnLCAnbXV0ZWQtaW52ZXJzZScsXG4gICAgICAgICksXG4gICAgICAgICd2YXJpYW50cyc6IChcbiAgICAgICAgICAgICdjb2xvcnMnOiAoXG4gICAgICAgICAgICAgICAgJ2JyYW5kJywgJ2FjY2VudCcsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ2NvbnRyYXN0JzogKFxuICAgICAgICAgICAgICAgICdsaWdodCc6ICgnd2hpdGUnLCA5NSUpLFxuICAgICAgICAgICAgICAgICdkYXJrJzogKCdibGFjaycsIDk1JSksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJ2xldmVscyc6IChcbiAgICAgICAgICAgICAgICAnbGlnaHRlcic6ICgnd2hpdGUnLCA3NSUpLFxuICAgICAgICAgICAgICAgICdsaWdodCc6ICgnd2hpdGUnLCAzMyUpLFxuICAgICAgICAgICAgICAgICdkYXJrJzogKCdibGFjaycsIDMzJSksXG4gICAgICAgICAgICAgICAgJ2Rhcmtlcic6ICgnYmxhY2snLCA3NSUpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gQU5JTUFUSU9OU1xuICAgICdhbmltYXRpb24nOiAoXG4gICAgICAgICdkdXJhdGlvbic6IDMwMG1zLFxuICAgICAgICAndGltaW5nLWZ1bmN0aW9uJzogZWFzZSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gRk9STSBJVEVNU1xuICAgICdpbnB1dCc6IChcbiAgICAgICAgJ2NvbG9yLXJvbGUnOiAnd2hpdGUnLFxuICAgICAgICAnYm9yZGVyJzogMXB4IHNvbGlkLFxuICAgICAgICAnYm9yZGVyLWNvbG9yJzogJ2FjdGlvbicsXG4gICAgICAgICdib3JkZXItcmFkaXVzJzogMC4yNSxcbiAgICApLFxuICAgICdidXR0b24nOiAoXG4gICAgICAgICdjb2xvci1yb2xlJzogJ2FjdGlvbicsXG4gICAgICAgICdib3JkZXInOiAxcHggc29saWQsXG4gICAgICAgICdib3JkZXItY29sb3InOiAnYWN0aW9uJyxcbiAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAwLjI1LFxuICAgICAgICAnZm9udC13ZWlnaHQnOiBib2xkLFxuICAgICksXG4gICAgLy9cbiAgICAvLyBMQVlPVVRcbiAgICAnbGF5b3V0JzogKFxuICAgICAgICAnZGlzcGxheSc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgJ2Zsb2F0JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAncG9zaXRpb24nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICdjb250YWluZXInOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICdvdmVyZmxvdyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gT1RIRVIgTU9EVUxFU1xuICAgICdiYWNrZ3JvdW5kJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdib3JkZXInOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2NvbG9ycyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnZmxleCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnZmxleC1ncmlkJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdncmlkJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdoYXJkLWdyaWQnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2ludGVyYWN0aXZpdHknOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2xpc3QnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ21hcmdpbic6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAncGFkZGluZyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAncm91bmRlZCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnc2hhZG93JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdzaXppbmcnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3NpemVzJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICd0cmFuc2Zvcm0nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3Zpc2liaWxpdHknOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgLy9cbiAgICAvLyBFTEVNRU5UIE9WRVJSSURFU1xuICAgICdlbGVtZW50cyc6ICgpLFxuKSAhZGVmYXVsdDtcblxuIiwKCQkiQGltcG9ydCAncHJvZmlsZXMvZGVmYXVsdCc7XG5AaW1wb3J0ICdwcmVsdWRlJztcbkBpbXBvcnQgJ2VsZW1lbnRzJztcbkBpbXBvcnQgJ3V0aWxpdGllcyc7XG4iLAoJCSIvLyBDb25maWd1cmF0aW9uXG5AaW1wb3J0ICdmbic7XG5AaW1wb3J0ICdwcm9maWxlcy9iYXNlJztcbkBpbXBvcnQgJ2NvbmZpZy9taXhpbnMnO1xuQGltcG9ydCAnY29uZmlnL21vZHVsZXMnO1xuQGltcG9ydCAnY29uZmlnL2Z1bmN0aW9ucyc7XG5cbi8vIENvbnN0YW50c1xuQGltcG9ydCAnY29uc3RhbnRzL3N0YXRpYyc7XG5AaW1wb3J0ICdjb25zdGFudHMvdmFsdWVzJztcbkBpbXBvcnQgJ2NvbnN0YW50cy9ncmlkcyc7XG5AaW1wb3J0ICdjb25zdGFudHMvY29uZmlndXJhYmxlJztcblxuLy8gTG9hZCBwcmVsdWRlIGZ1bmN0aW9uc1xuQGltcG9ydCAncHJlbHVkZS9zaXplcyc7XG5AaW1wb3J0ICdwcmVsdWRlL2NvbG9yJztcbkBpbXBvcnQgJ3ByZWx1ZGUvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdwcmVsdWRlL3V0aWxpdGllcyc7XG5cbi8vIExvYWQgZGF0YSBpbnRvIHJlZ2lzdHJ5XG4kbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllczogdHJ1ZSAhZGVmYXVsdDtcblxuQGltcG9ydCAncmVnaXN0cnkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdyZWdpc3RyeS9zaXppbmcnO1xuQGltcG9ydCAncmVnaXN0cnkvbGF5b3V0JztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L2JvcmRlcnMnO1xuQGltcG9ydCAncmVnaXN0cnkvZmxleCc7XG5AaW1wb3J0ICdyZWdpc3RyeS9ncmlkJztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L3RyYW5zZm9ybWF0aW9ucyc7XG5AaW1wb3J0ICdyZWdpc3RyeS92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L21pc2MnO1xuQGltcG9ydCAncHJlbHVkZS91dGlsaXRpZXMtY2FjaGUnO1xuXG4kbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllczogZmFsc2U7XG4kbWVuZGVsZWV2LXByZWx1ZGUtbG9hZGVkOiB0cnVlO1xuXG4vLyBObyBDU1MgZ2VuZXJhdGVkIHVwIHRvIHRoaXMgcG9pbnRcblxuIiwKCQkiLy8vIEluY2x1ZGUgZGVjbGFyYXRpb25zIG9ubHkgZm9yIHRoZSBnaXZlbiBicmVha3BvaW50LlxuLy8vXG4vLy8gQGFyZyAkYnAgLSBCcmVha3BvaW50IG5hbWUgKGUuZy4sIHN0YXJ0LCBzbSwgbWQsIGxnLCBldGMpXG4vLy8gQGFyZyAkcHJvcGVydGllcyAtIEEgbWFwIG9mIHByb3BlcnRpZXNcbi8vLyBAYXJnICRzdWZmaXggLSBPcHRpb25hbCBzdWZmaXggKGUuZy4sICFpbXBvcnRhbnQpO1xuQG1peGluIGJyZWFrcG9pbnQoJGJwLCAkcHJvcGVydGllczogKCksICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaWYgJGJwID09ICdzdGFydCcge1xuICAgICAgICBAY29udGVudDtcbiAgICAgICAgQGluY2x1ZGUgb3B0aW9ucygkcHJvcGVydGllcywgJHN1ZmZpeDogJHN1ZmZpeCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IGNvbmZpZygnYnJlYWtwb2ludHMuI3skYnB9JykpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICAgICAgQGluY2x1ZGUgb3B0aW9ucygkcHJvcGVydGllcywgJHN1ZmZpeDogJHN1ZmZpeCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBJbmNsdWRlIGFsbCBwYWlycyBvZiAoa2V5OiB2YWx1ZSkgaW4gbWFwIGFzIENTUyBkZWNsYXJhdGlvbnMuIElmIHZhbHVlIGlzXG4vLy8gYW5vdGhlciBtYXAsIGluY2x1ZGUgbmVzdGVkIHZhbHVlcy5cbkBtaXhpbiBmcm9tLW1hcCgkbWFwLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICBAaWYgdHlwZS1vZigkdikgPT0gbWFwIHtcbiAgICAgICAgICAgIEBpZiB0eXBlLW9mKCRrKSA9PSBsaXN0IGFuZCBudGgoJGssIDEpID09ICdAbWVkaWEnIHtcbiAgICAgICAgICAgICAgICAkbWluOiBtYXAtZ2V0KG50aCgkaywgMiksIG1pbi13aWR0aCk7XG4gICAgICAgICAgICAgICAgQGlmIG5vdCAkbWluIHtcbiAgICAgICAgICAgICAgICAgICAgQGVycm9yICdJbnZhbGlkIG1lZGlhIHNwZWNpZmljYXRpb246ICN7bnRoKCRrLCAyKX0nO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAjeyRtaW59KSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyb20tbWFwKCR2LCAkc3VmZml4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAjeyRrfSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZyb20tbWFwKCR2LCAkc3VmZml4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2UgaWYgJHYge1xuICAgICAgICAgICAgI3ska306ICR2ICRzdWZmaXg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBJbmNsdWRlIHdpdGggdGhlIGdpdmVuIHNlbGVjdG9yIGFuZCBkZWZpbmVkIGJ5IGEgbWFwcGluZyBvZiBwcm9wZXJ0eSB0b1xuLy8vIHZhbHVlcy5cbkBtaXhpbiBzaW1wbGUtdXRpbGl0eS1kZWNsYXJhdGlvbigkc2VsZWN0b3IsICRkYXRhLCAkbW9kZSkge1xuICAgIEBpZiBtb2RlID09IHJlc3BvbnNpdmUge1xuICAgICAgICBAZXJyb3IgJ05vdCBpbXBsZW1lbnRlZCc7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmcm9tLW1hcCgkZGF0YSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBMaWtlIHNpbXBsZS11dGlsaXR5LWRlY2xhcmF0aW9uLCBidXQgcmVjZWl2ZXMgYSBtYXBwaW5nIG9mIHNlbGVjdG9ycyB0b1xuLy8vIGRlY2xhcmF0aW9ucy5cbkBtaXhpbiBtdWx0aXBsZS11dGlsaXRpZXMtZGVjbGFyYXRpb24oJGRhdGEsICRtb2RlKSB7XG4gICAgQGVhY2ggJG5hbWUsICRkZWNsYXJhdGlvbnMgaW4gJGRhdGEge1xuICAgICAgICBAaW5jbHVkZSBzaW1wbGUtdXRpbGl0eS1kZWNsYXJhdGlvbigkbmFtZSwgJGRlY2xhcmF0aW9ucywgJG1vZGUpO1xuICAgIH1cbn1cblxuJG1lbmRlbGVldi1yZWdpc3RlcmVkLXV0aWxpdGllczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBNaXhpbiB0aGF0IGluY2x1ZGVzIGFsbCByZWdpc3RlcmVkIHV0aWxpdGllcy4gVGhpcyBtaXhpbiBpcyBhdXRvbWF0aWNhbGx5XG4vLy8gRXhlY3V0ZWQgd2hlbiB0aGUgbWVuZGVsZWV2IHV0aWxpdGllcyBtb2R1bGUgaXMgaW1wb3J0ZWQuXG4vLy9cbkBtaXhpbiBtZW5kZWxlZXYtcmVnaXN0ZXItdXRpbGl0aWVzKCkge1xuICAgIEBpZiBub3QgJG1lbmRlbGVldi1yZWdpc3RlcmVkLXV0aWxpdGllcyB7XG5cbiAgICAgICAgJGxzdDogbHN0LXJldmVyc2UoJG1lbmRlbGVldi1jc3MpO1xuICAgICAgICAkbHN0OiBsc3Qtc3RpdGNoKCRtZW5kZWxlZXYtY3NzLWNsYXNzZXMsICRsc3QpO1xuXG4gICAgICAgIEB3aGlsZSAkbHN0IHtcbiAgICAgICAgICAgICRpbmZvOiBudGgoJGxzdCwgMSk7XG4gICAgICAgICAgICAkbHN0OiBudGgoJGxzdCwgMik7XG5cbiAgICAgICAgICAgICR0eXBlOiBtYXAtZ2V0KCRpbmZvLCB0eXBlKTtcbiAgICAgICAgICAgICRlbWl0OiBtYXAtZ2V0KCRpbmZvLCBlbWl0KTtcbiAgICAgICAgICAgICRkYXRhOiBtYXAtZ2V0KCRpbmZvLCBkYXRhKTtcblxuICAgICAgICAgICAgQGlmICRlbWl0IHtcbiAgICAgICAgICAgICAgICBAaWYgJHR5cGU9PSBtdWx0aXBsZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG11bHRpcGxlLXV0aWxpdGllcy1kZWNsYXJhdGlvbigkZGF0YSwgJG1vZGU6ICRlbWl0KTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIGlmICR0eXBlID09IHNpbXBsZSB7XG4gICAgICAgICAgICAgICAgICAgICRuYW1lOiBtYXAtZ2V0KCRpbmZvLCBuYW1lKTtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgc2ltcGxlLXV0aWxpdHktZGVjbGFyYXRpb24oJG5hbWUsICRkYXRhLCAkbW9kZTogJGVtaXQpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBAZXJyb3IgJ0ludmFsaWQgdHlwZTogI3skdHlwZX0nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICRtZW5kZWxlZXYtcmVnaXN0ZXJlZC11dGlsaXRpZXM6IHRydWUgIWdsb2JhbDtcbn1cblxuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERFQ0xBUkUgTUVOREVMRUVWIE1PRFVMRVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgZGljdGlvbmFyeSB3aXRoIE1lbmRlbGVldiBzdGF0ZS5cbiRtZW5kZWxlZXYtY3NzOiBudWxsICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jc3MtY2xhc3NlczogbnVsbCAhZGVmYXVsdDtcblxuLy8vIERlY2xhcmUgYSBNZW5kZWxlZXYgbW9kdWxlIG9mIENTUyBkZWNsYXJhdGlvbnMuXG4vLy9cbi8vLyBAYXJnICRjZmcgLSBTdHJpbmcgcGF0aCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGluIHRoZSBnbG9iYWxcbi8vLyAgICAgICAgICAgICBNZW5kZWxlZXYgY29uZmlnXG4vLy8gQGFyZyAkc3BlYyAtIERpY3Rpb25hcnkgb2YgZGVjbGFyYXRpb25zIG1hcHBpbmcgQ1NTIHNlbGVjdG9yIHdpdGggQ1NTXG4vLy8gICAgICAgICAgICAgIGRlZmluaXRpb25zXG5AZnVuY3Rpb24gbWVuZGVsZWV2LW1vZHVsZSgkY2ZnLCAkc3BlYywgJGlzLWNsYXNzOiBmYWxzZSkge1xuICAgICRlbWl0OiBjb25maWcoJGNmZyk7XG4gICAgJHJlczogbnVsbDtcblxuICAgIEBlYWNoICRzZWxlY3RvciwgJGRhdGEgaW4gJHNwZWMge1xuICAgICAgICBAaWYgdHlwZS1vZigkZGF0YSkgPT0gbWFwIHtcbiAgICAgICAgICAgICRpbmZvOiAobmFtZTogJHNlbGVjdG9yLCBkYXRhOiAkZGF0YSwgZW1pdDogJGVtaXQsIHR5cGU6IHNpbXBsZSk7XG4gICAgICAgICAgICBAaWYgJGlzLWNsYXNzIHtcbiAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNzcy1jbGFzc2VzOiAoJGluZm8gJG1lbmRlbGVldi1jc3MtY2xhc3NlcykgIWdsb2JhbDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICRtZW5kZWxlZXYtY3NzOiAoJGluZm8gJG1lbmRlbGVldi1jc3MpICFnbG9iYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkcmVzOiAoJGluZm8gJHJlcyk7XG5cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIGNvbnRlbnQgZm9yICN7JHNlbGVjdG9yfS5cIlxuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcztcbn1cblxuLy8vIERlY2xhcmUgYSBNZW5kZWxlZXYgbW9kdWxlIG9mIENTUyB1dGlsaXRpZXMuIEEgdXRpbGl0eSBpcyB1bmRlcnN0b29kIGFzIGFcbi8vLyBDU1MgZGVjbGFyYXRpb24gdGhhdCBkZWZpbmVzIGEgc2luZ2xlIENTUyBwcm9wZXJ0eS5cbi8vL1xuLy8vIFRoaXMgZnVuY3Rpb24gbWFrZXMgaXQgZWFzaWVyIHRvIGRlY2xhcmUgbG90cyBvZiBjbGFzc2VzIGluIGJhdGNoLCBidXQgaXNcbi8vLyBmYXIgbGVzcyBmbGV4aWJsZSBvbiB0aGUga2luZCBvZiBkZWNsYXJhdGlvbnMgdGhhdCBjYW4gYmUgbWFkZS5cbi8vL1xuLy8vIEBhcmcgJGNmZyAtIFN0cmluZyBwYXRoIGZvciB0aGUgY29uZmlndXJhdGlvbiBvcHRpb24gaW4gdGhlIGdsb2JhbFxuLy8vICAgICAgICAgICAgIE1lbmRlbGVldiBjb25maWdcbi8vLyBAYXJnICRzcGVjIC0gRGljdGlvbmFyeSBvZiBkZWNsYXJhdGlvbnMgbWFwcGluZyBDU1Mgc2VsZWN0b3Igd2l0aCBDU1Ncbi8vLyAgICAgICAgICAgICAgZGVmaW5pdGlvbnNcbkBmdW5jdGlvbiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoJGNmZywgJHNwZWMpIHtcbiAgICAkZW1pdDogY29uZmlnKCRjZmcpO1xuICAgICRyZXM6IG51bGw7XG4gICAgQGVhY2ggJHByb3AsICRkYXRhIGluICRzcGVjIHtcbiAgICAgICAgJHByZWZpeDogbnRoKCRkYXRhLCAxKTtcbiAgICAgICAgJGNvbnRlbnQ6IG50aCgkZGF0YSwgMik7XG5cbiAgICAgICAgQGlmIHR5cGUtb2YoJGNvbnRlbnQpID09IG1hcCB7XG4gICAgICAgICAgICAkZGF0YTogKCk7XG4gICAgICAgICAgICBAZWFjaCAkc3VmZml4LCAkdmFsdWUgaW4gJGNvbnRlbnQge1xuICAgICAgICAgICAgICAgICRzdWZmaXg6IGlmKHR5cGUtb2YoJHN1ZmZpeCkgPT0gc3RyaW5nLCAkc3VmZml4LCBpbnNwZWN0KCRzdWZmaXgpKTtcbiAgICAgICAgICAgICAgICAkbmFtZTogJHByZWZpeCArICRzdWZmaXg7XG4gICAgICAgICAgICAgICAgJGRhdGE6IG1hcC1tZXJnZSgkZGF0YSwgKCRuYW1lOiAoI3skcHJvcH06ICR2YWx1ZSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRpbmZvOiAocHJlZml4OiAkcHJlZml4LCBkYXRhOiAkZGF0YSwgdHlwZTogbXVsdGlwbGUsIGVtaXQ6ICRlbWl0KTtcbiAgICAgICAgICAgICRyZXM6ICgkaW5mbyAkcmVzKTtcbiAgICAgICAgICAgICRtZW5kZWxlZXYtY3NzOiAoJGluZm8gJG1lbmRlbGVldi1jc3MpICFnbG9iYWw7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVycm9yIFwiSW52YWxpZCBzcGVjaWZpY2F0aW9uIGZvciAjeyRwcm9wfS5cIlxuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcztcbn1cblxuLy8vIERlY2xhcmVzIGEgY29tcGxldGUgc2NhbGUgb2YgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZyAkc2NhbGUgLSBBIG1hcCBvciBsaXN0IG9mIDItdHVwbGVzIGZyb20gbmFtZXMgdG8gdmFsdWVzLlxuLy8vIEBhcmcgJGNzcyAtIEEgbWFwIG9mIChwcm9wOiB2YWx1ZSkgcGFpcnMuIElmIHZhbHVlIGlzIG51bGwsIGl0IGlzIHJlcGxhY2VkXG4vLy8gICAgICAgICAgICAgYnkgZWFjaCB2YWx1ZSBpbiB0aGUgZ2l2ZW4gc2NhbGUuXG4vLy8gQGFyZyAkaW50ZXJwb2xhdGUgLSBMaWtlICRjc3MsIGJ1dCBlYWNoIHZhbHVlIGlzIHRyZWF0ZWQgYXMgYW4gaW50ZXJwb2xhdGlvblxuLy8vICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIGluIHdoaWNoIGFsbCBvY2N1cnJlbmNlcyBvZiAkMSBhcmUgcmVwbGFjZSBieVxuLy8vICAgICAgICAgICAgICAgICAgICAgdGhlIHZhbHVlIGdpdmVuIGJ5IHRoZSBzY2FsZS5cbkBmdW5jdGlvbiBzY2FsZS1vZigkc2NhbGUsICRjc3M6ICgpLCAkaW50ZXJwb2xhdGU6IG51bGwsICRwcmVmaXg6ICcmJykge1xuICAgICRtYXA6ICRmbi1lbXB0eS1tYXA7XG4gICAgJGNzcy10ZW1wbGF0ZTogJGNzcztcbiAgICBAZWFjaCAkaywgJHYgaW4gJHNjYWxlIHtcbiAgICAgICAgJGNzczogJGZuLWVtcHR5LW1hcDtcblxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRjc3MtdGVtcGxhdGUge1xuICAgICAgICAgICAgJGNzczogbWFwLW1lcmdlKCRjc3MsICgkcHJvcDogJHZhbHVlIG9yICR2KSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgJGludGVycG9sYXRlIHtcbiAgICAgICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJGludGVycG9sYXRlIHtcbiAgICAgICAgICAgICAgICAkcHJvcDogaWYodHlwZS1vZigkcHJvcCkgPT0gc3RyaW5nLCAkcHJvcCwgaW5zcGVjdCgkcHJvcCkpO1xuICAgICAgICAgICAgICAgICR2YWx1ZTogdW5xdW90ZShzdHItcmVwbGFjZSgkdmFsdWUsICckMScsICR2KSk7XG4gICAgICAgICAgICAgICAgJGNzczogbWFwLW1lcmdlKCRjc3MsICgkcHJvcDogJHZhbHVlKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAkbWFwOiBtYXAtbWVyZ2UoJG1hcCwgKCcjeyRwcmVmaXh9I3ska30nOiAkY3NzKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG1hcDtcbn1cbiIsCgkJIkBpbXBvcnQgJy4uL3Byb2ZpbGVzL2Jhc2UnO1xuXG4vLy8gRmV0Y2ggY29uZmlndXJhdGlvbiB2YWx1ZSBmcm9tIGRlZmF1bHQgY29uZmlnIGRpY3Rpb25hcnkuXG4vLy9cbi8vLyBAYXJnICRwYXRoIC0gTGlzdCB3aXRoIHRoZSBwYXRoIHRvIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXJnICRkZWZhdWx0IC0gRGVmYXVsdCByZXN1bHQgaWYgZGF0YSBpcyBub3QgZm91bmQgaW4gcGF0aC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICAgY29uZmlnKCdwYWxldHRlLmJsYWNrJylcbi8vLyAgICAgLy8gIzFhMWExYVxuQGZ1bmN0aW9uIGNvbmZpZygkcGF0aCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICBAaWYgbm90IHR5cGUtb2YoJHBhdGgpID09IHN0cmluZyB7XG4gICAgICAgIEBlcnJvciAnUGF0aCBtdXN0IGJlIGdpdmVuIGFzIGEgc3RyaW5nJztcbiAgICB9XG4gICAgQHJldHVybiBtYXAtcGF0aC1tZXJnZShMKCRtZW5kZWxlZXYtY29uZmlnLCAkY29uZmlnKSwgc3RyLXNwbGl0KCRwYXRoLCAnLicpLCAkZGVmYXVsdCk7XG59XG5cbi8vLyBJbmNsdWRlIGEgY29uZmlndXJhdGlvbi5cbkBtaXhpbiBjb25maWcoJHBhdGgsICRkZWZhdWx0OiAoKSwgJGZvcjogbnVsbCwgJGV4dHJhOiAoKSkge1xuICAgIEBpZiAkZm9yIHtcbiAgICAgICAgI3skZm9yfTogY29uZmlnKCRwYXRoLCAkZGVmYXVsdCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlYWNoICRrLCAkdiBpbiBtYXAtbWVyZ2UoJGV4dHJhLCBjb25maWcoJHBhdGgsICRkZWZhdWx0KSkge1xuICAgICAgICAgICAgQGlmIHR5cGUtb2YoJHYpID09IHN0cmluZyB7XG4gICAgICAgICAgICAgICAgI3ska306IHVucXVvdGUoJHYpO1xuICAgICAgICAgICAgfSBAZWxzZSBpZiAkdiAhPSAoKSB7XG4gICAgICAgICAgICAgICAgI3ska306ICR2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBHTE9CQUwgTUVOREVMRUVWIFNDQUxFU1xuLy8vIEBncm91cCBzY2FsZXNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vXG4vLy8gQWxsIGdsb2JhbCBzdGF0aWMgc2NhbGVzIHVzZWQgaW4gTWVuZGVsZWV2IChpbiBhbHBoYWJldGljYWwgb3JkZXIpXG4vLy8gICogU2l6ZSBzY2FsZSAoZGVmYXVsdC9udW1iZXJlZClcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBNYXBzIHNpemVzIGluIHRvIHVuaXQtbGVzcyB2YWx1ZXMuIFJlYWwgc2l6ZSBhcmUgY29tcHV0ZWQgbXVsdGlwbHlpbmdcbi8vLyAkbWVuZGVsZWV2LXNpemUtdW5pdC5cbiRtZW5kZWxlZXYtc2l6ZS1zY2FsZTogKFxuICAgICcwJzogMCxcbiAgICAnMHAnOiAwLjEyNSxcbiAgICAnMSc6IDAuMjUsXG4gICAgJzFwJzogMC4zNzUsXG4gICAgJzInOiAwLjUsXG4gICAgJzJwJzogMC43NSxcbiAgICAnMyc6IDEsXG4gICAgJzNwJzogMS41LFxuICAgICc0JzogMixcbiAgICAnNHAnOiAzLFxuICAgICc1JzogNCxcbiAgICAnNXAnOiA2LFxuICAgICc2JzogOCxcbiAgICAnNnAnOiAxMixcbiAgICAnNyc6IDE2LFxuICAgICc3cCc6IDI0LFxuICAgICc4JzogMzIsXG4gICAgJzhwJzogNDgsXG4gICAgJzknOiA2NCxcbiAgICAnOXAnOiA5NixcbiAgICAnMTAnOiAxMjgsXG4gICAgJzEwcCc6IDE5MixcbiAgICAnMTEnOiAyNTYsXG4gICAgJzExcCc6IDM4NCxcbiAgICAnMTInOiA1MTIsXG4gICAgJzEycCc6IDc2OCxcbiAgICAnMTMnOiAxMDI0LFxuICAgICcxM3AnOiAxNTM2LFxuKSAhZGVmYXVsdDtcblxuXG4vLy8gTGlrZSBzaXplLXNjYWxlLCBidXQga2V5cyBhcmUgbnVtZXJpYy5cbiRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1udW1lcmljOiAoXG4gICAgMDogMCxcbiAgICAxOiAwLjI1LFxuICAgIDI6IDAuNSxcbiAgICAzOiAxLFxuICAgIDQ6IDIsXG4gICAgNTogNCxcbiAgICA2OiA4LFxuICAgIDc6IDE2LFxuICAgIDg6IDMyLFxuICAgIDk6IDY0LFxuICAgIDEwOiAxMjgsXG4gICAgMTE6IDI1NixcbiAgICAxMjogNTEyLFxuICAgIDEzOiAxMDI0LFxuKSAhZGVmYXVsdDtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gR0xPQkFMIE1FTkRFTEVFViBWQUxVRVNcbi8vLyBAZ3JvdXAgY29uc3RhbnRzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vL1xuLy8vIEdsb2JhbCBjb25zdGFudHMgY29tcHV0ZWQgZnJvbSB1c2VyIGNvbmZpZ3VyYXRpb25zLlxuLy8vICAqIGNvbnRhaW5lclxuLy8vICAqIGxlYWRcbi8vLyAgKiB1bml0LXNpemVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBCYXNpYyBsZWFkaW5nIHZhbHVlXG4kbWVuZGVsZWV2LWxlYWQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJywgMS41KSAhZGVmYXVsdDtcblxuLy8vIEJhc2ljIHNpemUgcmVmZXJlbmNlIChzcGVjaWZpZWQgaW4gcmVtcyk7XG4kbWVuZGVsZWV2LXVuaXQtc2l6ZTogJG1lbmRlbGVldi1sZWFkICogMXJlbSAhZGVmYXVsdDtcblxuLy8vIENvbnRhaW5lciBjb25maWd1cmF0aW9uXG4kbWVuZGVsZWV2LWNvbnRhaW5lcjogKFxuICAgIG1hcmdpbjogMCBhdXRvLFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZSxcbiAgICB3aWR0aDogMTAwJSxcbiAgICBwYWRkaW5nOiAwICRtZW5kZWxlZXYtdW5pdC1zaXplLFxuICAgIG1heC13aWR0aDogNTByZW0sXG4pICFkZWZhdWx0O1xuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBNRU5ERUxFRVYgR1JJRCBTWVNURU1TXG4vLy8gQGdyb3VwIGdyaWQgc3lzdGVtc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBEZWZpbmUgYWxsIHVzZWZ1bCBncmlkIHN5c3RlbSBmcm9tIHRoZSB0cml2aWFsIGdyaWQtMSB1cCB0byBncmlkLTE1LlxuQGZ1bmN0aW9uIF9tZW5kZWxlZXYtbWFrZS1ncmlkLXN5c3RlbXMoKSB7XG4gICAgJGdyaWQtMTogKFxuICAgICAgICAnMCc6IDAsXG4gICAgICAgICdmdWxsJzogMTAwLFxuICAgICk7XG4gICAgJGdyaWQtMjogbWFwLW1lcmdlKCRncmlkLTEsIChcbiAgICAgICAgJzFcXFxcLzInOiA1MCxcbiAgICApKTtcbiAgICAkZ3JpZC0zOiBtYXAtbWVyZ2UoJGdyaWQtMSwgKFxuICAgICAgICAnMVxcXFwvMyc6IDEwMCAvIDMsXG4gICAgICAgICcyXFxcXC8zJzogMjAwIC8gMyxcbiAgICApKTtcbiAgICAkZ3JpZC00OiBtYXAtbWVyZ2UoJGdyaWQtMiwgKFxuICAgICAgICAnMVxcXFwvNCc6IDI1LFxuICAgICAgICAnM1xcXFwvNCc6IDc1LFxuICAgICkpO1xuICAgICRncmlkLTU6IG1hcC1tZXJnZSgkZ3JpZC0xLCAoXG4gICAgICAgICcxXFxcXC81JzogMjAsXG4gICAgICAgICcyXFxcXC81JzogNDAsXG4gICAgICAgICczXFxcXC81JzogNjAsXG4gICAgICAgICc0XFxcXC81JzogODAsXG4gICAgKSk7XG4gICAgJGdyaWQtNjogbWFwLW1lcmdlKG1hcC1tZXJnZSgkZ3JpZC0yLCAkZ3JpZC0zKSwgKFxuICAgICAgICAnMVxcXFwvNic6IDEwMCAvIDYsXG4gICAgICAgICc1XFxcXC82JzogNTAwIC8gNixcbiAgICApKTtcbiAgICAkZ3JpZC04OiBtYXAtbWVyZ2UoJGdyaWQtNCwgKFxuICAgICAgICAnMVxcXFwvOCc6IDEwMCAvIDgsXG4gICAgICAgICczXFxcXC84JzogMzAwIC8gOCxcbiAgICAgICAgJzVcXFxcLzgnOiA1MDAgLyA4LFxuICAgICAgICAnN1xcXFwvOCc6IDcwMCAvIDgsXG4gICAgKSk7XG4gICAgJGdyaWQtNzogJ0dyaWQgNywgcmVhbGx5PyEnO1xuICAgICRncmlkLTk6IG1hcC1tZXJnZSgkZ3JpZC0zLCAoXG4gICAgICAgICcxXFxcXC85JzogMTAwIC8gOSxcbiAgICAgICAgJzJcXFxcLzknOiAyMDAgLyA5LFxuICAgICAgICAnNFxcXFwvOSc6IDQwMCAvIDksXG4gICAgICAgICc1XFxcXC85JzogNTAwIC8gOSxcbiAgICAgICAgJzdcXFxcLzknOiA3MDAgLyA5LFxuICAgICAgICAnOFxcXFwvOSc6IDgwMCAvIDksXG4gICAgKSk7XG4gICAgJGdyaWQtMTA6IG1hcC1tZXJnZShtYXAtbWVyZ2UoJGdyaWQtMiwgJGdyaWQtNSksIChcbiAgICAgICAgJzFcXFxcLzEwJzogMTAsXG4gICAgICAgICczXFxcXC8xMCc6IDMwLFxuICAgICAgICAnN1xcXFwvMTAnOiA3MCxcbiAgICAgICAgJzlcXFxcLzEwJzogOTAsXG4gICAgKSk7XG4gICAgJGdyaWQtMTE6ICdHcmlkIDExLCByZWFsbHk/ISc7XG4gICAgJGdyaWQtMTI6IG1hcC1tZXJnZShtYXAtbWVyZ2UoJGdyaWQtNCwgJGdyaWQtNiksIChcbiAgICAgICAgJzFcXFxcLzEyJzogMTAwIC8gMTIsXG4gICAgICAgICc1XFxcXC8xMic6IDUwMCAvIDEyLFxuICAgICAgICAnN1xcXFwvMTInOiA3MDAgLyAxMixcbiAgICAgICAgJzExXFxcXC8xMic6IDExMDAgLyAxMixcbiAgICApKTtcbiAgICAkZ3JpZC0xNTogbWFwLW1lcmdlKG1hcC1tZXJnZSgkZ3JpZC0zLCAkZ3JpZC01KSwgKFxuICAgICAgICAnMVxcXFwvMTUnOiAxMDAgLyAxNSxcbiAgICAgICAgJzJcXFxcLzE1JzogMjAwIC8gMTUsXG4gICAgICAgICc0XFxcXC8xNSc6IDQwMCAvIDE1LFxuICAgICAgICAnN1xcXFwvMTUnOiA3MDAgLyAxNSxcbiAgICAgICAgJzhcXFxcLzE1JzogODAwIC8gMTUsXG4gICAgICAgICcxMVxcXFwvMTUnOiAxMTAwIC8gMTUsXG4gICAgICAgICcxM1xcXFwvMTUnOiAxMzAwIC8gMTUsXG4gICAgICAgICcxNFxcXFwvMTUnOiAxNDAwIC8gMTUsXG4gICAgKSk7XG4gICAgQHJldHVybiAoXG4gICAgICAgIDE6ICRncmlkLTEsXG4gICAgICAgIDI6ICRncmlkLTIsXG4gICAgICAgIDM6ICRncmlkLTMsXG4gICAgICAgIDQ6ICRncmlkLTQsXG4gICAgICAgIDU6ICRncmlkLTUsXG4gICAgICAgIDY6ICRncmlkLTYsXG4gICAgICAgIDg6ICRncmlkLTgsXG4gICAgICAgIDk6ICRncmlkLTksXG4gICAgICAgIDEwOiAkZ3JpZC0xMCxcbiAgICAgICAgMTI6ICRncmlkLTEyLFxuICAgICAgICAxNTogJGdyaWQtMTUsXG4gICAgKTtcbn1cblxuJG1lbmRlbGVldi1ncmlkLXN5c3RlbXM6IF9tZW5kZWxlZXYtbWFrZS1ncmlkLXN5c3RlbXMoKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBncmlkIHN5c3RlbSBiYXNlZCBvbiBhIHByZS1kZWZpbmVkIHNldCBvZiBzdWItZGl2aXNpb25zXG5AZnVuY3Rpb24gZ3JpZC1zeXN0ZW0oJGFyZ3MuLi4pIHtcbiAgICAkcmVzdWx0OiAoKTtcbiAgICBAZWFjaCAkbiBpbiAkYXJncyB7XG4gICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZShtYXAtZ2V0KCRtZW5kZWxlZXYtZ3JpZC1zeXN0ZW1zLCAkbiksICRyZXN1bHQpO1xuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBBZGQgc2l6aW5nIHVuaXRzIG9mICUsIHZ3IGFuZCB2aCBmb3IgZ2l2ZW4gdW5pdC1sZXNzIHNjYWxlXG5AZnVuY3Rpb24gYWRkLXNpemluZy11bml0cygkc2NhbGUpIHtcbiAgICAkcmVzOiBudWxsO1xuICAgIEBlYWNoICRrLCAkdiBpbiAkc2NhbGUge1xuICAgICAgICAkcmVzOiAoKCRrICgkdiAqIGlmKCR2ID09IDAsIDAsIDElKSkpICRyZXMpO1xuICAgICAgICBAaWYgJHYgIT0gMCB7XG4gICAgICAgICAgICAkcmVzOiAoKCcjeyRrfXZ3JyAoJHYgKiAxdncpKSAkcmVzKTtcbiAgICAgICAgICAgICRyZXM6ICgoJyN7JGt9dmgnICgkdiAqIDF2aCkpICRyZXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gbHN0LXRvLW1hcCgkcmVzKTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gR0xPQkFMIE1FTkRFTEVFViBDT05GSUdVUkFCTEUgU0NBTEVTXG4vLy8gQGdyb3VwIHNjYWxlc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy9cbi8vLyBHbG9iYWwgc2NhbGVzIGFuZCBjb25zdGFudHMgY29tcHV0ZWQgZnJvbSB1c2VyIGNvbmZpZ3VyYXRpb25zLlxuLy8vXG4vLy8gU2NhbGVzOlxuLy8vICAqIGJvcmRlci1zY2FsZVxuLy8vICAqIHJhZGl1cy1zY2FsZS0ocmVtKVxuLy8vICAqIHNpemUtc2NhbGUtKHJlbXxwb3MtcmVtfGF1dG98cG9zLWF1dG8pXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnc3RhdGljJztcbkBpbXBvcnQgJ3ZhbHVlcyc7XG5AaW1wb3J0ICdncmlkcyc7XG5cbi8vIEJPUkRFUiBTQ0FMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVuZGVsZWV2LWJvcmRlci1zY2FsZTogKFxuICAgICcxJzogdW5xdW90ZSgnMXB4IHNvbGlkJyksXG4gICAgJzInOiB1bnF1b3RlKCcycHggc29saWQnKSxcbiAgICAnNCc6IHVucXVvdGUoJzRweCBzb2xpZCcpLFxuICAgICc4JzogdW5xdW90ZSgnOHB4IHNvbGlkJyksXG4pICFkZWZhdWx0O1xuXG4vLyBTSVpFL1JBRElVUyBTQ0FMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LXNpemUtc2NhbGUtbWF4LXNpemU6IGNvbmZpZygnbWVuZGVsZWV2LnNjYWxlcy5tYXgtc2l6ZScsIDY0KSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW06IG51bGwgIWRlZmF1bHQ7XG5AaWYgbm90ICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0ge1xuICAgICRuZXc6ICgpO1xuICAgIEBlYWNoICRrLCAkdiBpbiAkbWVuZGVsZWV2LXNpemUtc2NhbGUge1xuICAgICAgICBAaWYgJHYgPCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtbWF4LXNpemUge1xuICAgICAgICAgICAgJHY6IGlmKCR2ID09IDAsIDAsICR2ICogJG1lbmRlbGVldi11bml0LXNpemUpO1xuICAgICAgICAgICAgJG5ldzogbWFwLW1lcmdlKCRuZXcsICgkazogJHYpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAaWYgbm90ICAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtIHtcbiAgICAgICAgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbTogJG5ldyAhZ2xvYmFsO1xuICAgIH1cbn1cblxuJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtOiBtYXAtYXBwbHktdmFsdWVzKGRpdiwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSwgMik7XG5cbi8vIEdSSUQgU0laSU5HIFNDQUxFIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlLW5vLXVuaXQ6IGdyaWQtc3lzdGVtKDUsIDEyKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlOiBhZGQtc2l6aW5nLXVuaXRzKCRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlLW5vLXVuaXQpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1ncmlkLXNjYWxlOiAoXG4gICAgJzEnOiAxLFxuICAgICcyJzogMixcbiAgICAnMyc6IDMsXG4gICAgJzQnOiA0LFxuICAgICc1JzogNSxcbiAgICAnNic6IDYsXG4gICAgJzgnOiA4LFxuICAgICc5JzogOSxcbiAgICAnMTAnOiAxMCxcbiAgICAnMTInOiAxMixcbiAgICAnMTUnOiAxNSxcbikgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWdyaWQtZ2FwLXNjYWxlOiAoXG4gICAgJzEnOiAwLjI1ICogJG1lbmRlbGVldi11bml0LXNpemUsXG4gICAgJzInOiAwLjUwICogJG1lbmRlbGVldi11bml0LXNpemUsXG4gICAgJzMnOiAxLjAwICogJG1lbmRlbGVldi11bml0LXNpemUsXG4gICAgJzQnOiAyLjAwICogJG1lbmRlbGVldi11bml0LXNpemUsXG4pICFkZWZhdWx0O1xuJG1lbmRlbGVldi1ncmlkLXNwYW4tZGF0YTogKFxuICAgIDE6IGF1dG8gLyBzcGFuIDEsXG4gICAgMjogYXV0byAvIHNwYW4gMixcbiAgICAzOiBhdXRvIC8gc3BhbiAzLFxuICAgIDQ6IGF1dG8gLyBzcGFuIDQsXG4gICAgNTogYXV0byAvIHNwYW4gNSxcbiAgICA2OiBhdXRvIC8gc3BhbiA2LFxuICAgIDc6IGF1dG8gLyBzcGFuIDcsXG4gICAgODogYXV0byAvIHNwYW4gOCxcbiAgICA5OiBhdXRvIC8gc3BhbiA5LFxuICAgIDEwOiBhdXRvIC8gc3BhbiAxMCxcbiAgICAxMTogYXV0byAvIHNwYW4gMTEsXG4gICAgMTI6IGF1dG8gLyBzcGFuIDEyLFxuICAgIDEzOiBhdXRvIC8gc3BhbiAxMyxcbiAgICAxNDogYXV0byAvIHNwYW4gMTQsXG4gICAgMTU6IGF1dG8gLyBzcGFuIDE1LFxuKTtcblxuLy8gVFJBTlNGT1JNQVRJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRtZW5kZWxlZXYtdHJhbnNmb3JtLXNjYWxlOiAoXG4gICAgMDogMCUsIDE6IDUlLCAyOiAxMCUsIDM6IDI1JSwgNDogNTAlLCA1OiA3NSUsIDY6IDkwJSwgNzogOTUlLCA4OiAxMDAlLFxuKTtcbiRtZW5kZWxlZXYtdHJhbnNmb3JtLWRvdWJsZS1zY2FsZTogKFxuICAgIG4wOiAxMDAlLCBuMTogOTUlLCBuMjogOTAlLCBuMzogNzUlLCBuNDogNTAlLCBuNTogMjUlLCBuNjogMTAlLCBuNzogNSUsIG44OiAwJSxcbiAgICAwOiAxMDAlLCAxOiAxMDUlLCAyOiAxMTAlLCAzOiAxMjUlLCA0OiAxNTAlLCA1OiAxNzUlLCA2OiAxOTAlLCA3OiAxOTUlLCA4OiAyMDAlLFxuKTtcbiRtZW5kZWxlZXYtZ3Jvdy1zY2FsZTogKFxuICAgIDA6IDEsIDE6IDEuMDUsIDI6IDEuMTAsIDM6IDEuMjUsIDQ6IDEuNTAsIDU6IDIsIDY6IDMsXG4pO1xuJG1lbmRlbGVldi1zaHJpbmstc2NhbGU6IChcbiAgICAwOiAxLCAxOiAxIC8gMS4wNSwgMjogMSAvIDEuMTAsIDM6IDEgLyAxLjI1LCA0OiAxIC8gMS41MCwgNTogMSAvIDIsIDY6IDEgLyAzLFxuKTtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTUFOSVBVTEFURSBTSVpFU1xuLy8vIEBncm91cCBzaXppbmdcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8vIENvbnZlcnQgdW5pdGxlc3MgbnVtYmVyIHRvIHNpemUgYnkgbXVsdGlwbHlpbmcgaXQgYnkgbGVhZCAqIDFyZW0uXG4vLy9cbi8vLyBJZiBpbnB1dCBpcyBhIG51bWJlciB3aXRoIHVuaXRzLCBpdCBpcyByZXR1cm5lZCB1bmNoYW5nZWQuXG4vLy9cbi8vLyBAYXJnICR4IC0gTnVtYmVyXG5AZnVuY3Rpb24gc2l6ZSgkeCkge1xuICAgIEBpZiB0eXBlLW9mKCR4KSA9PSBudW1iZXIgYW5kIHVuaXQoJHgpID09ICcnIHtcbiAgICAgICAgQHJldHVybiAkeCAqICRtZW5kZWxlZXYtdW5pdC1zaXplO1xuICAgIH1cbiAgICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ29udmVydCB2YWx1ZSB0byBhIHVuaXQgb24gdGhlIHNpemUgc2NhbGUuXG4vLy9cbi8vLyBAYXJnICR4IC0gaW5wdXQgdmFsdWVcbkBmdW5jdGlvbiBzaXplLXNjYWxlKCR4KSB7XG4gICAgQGlmIHR5cGUtb2YoJHgpID09IG51bWJlciB7XG4gICAgICAgIEBpZiB1bml0KCR4KSAhPSAnJyB7XG4gICAgICAgICAgICBAZXJyb3IgJ09ubHkgdW5pdGxlc3MgbnVtYmVycyBhcmUgdmFsaWQgc2l6ZSBzY2FsZXMuJ1xuICAgICAgICB9XG4gICAgICAgICRzOiBzaWduKCR4KTtcbiAgICAgICAgJHY6IGFicygkeCk7XG4gICAgICAgICRzaXplOiBtYXAtZ2V0KCRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1udW1lcmljLCAkdik7XG4gICAgICAgICRzaXplOiBpZigkc2l6ZSA9PSBudWxsLCBwb3coMiwgYWJzKCR4KSAtIDMpLCAkc2l6ZSk7XG4gICAgICAgIEByZXR1cm4gJHMgKiAkc2l6ZSAqICRtZW5kZWxlZXYtdW5pdC1zaXplO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkeCkgPT0gc3RyaW5nIHtcbiAgICAgICAgJHg6IG1hcC1nZXQoJG1lbmRlbGVldi1zaXplLXNjYWxlLCAkeCk7XG4gICAgICAgIEBpZiAkeCA9PSBudWxsIHtcbiAgICAgICAgICAgIEBlcnJvciAnSW52YWxpZCBzaXplICN7JHh9Lic7XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiBzaXplLXNjYWxlKCR4KTtcbiAgICB9IEBlbHNlIGlmICR4ID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCBzaXplICN7JHh9Lic7XG4gICAgfVxufVxuXG4vLy8gUmV0dXJuIGEgbWFwIG9mIHNpemluZ3Mgd2l0aCBwcm9wZXJ0eS0obGVmdC9yaWdodC90b3ApIGV0YyB0byB0aGUgdmFsdWVzXG4vLy8gZGVmaW5lZCBpbiB2bWFwLlxuQGZ1bmN0aW9uIHNpemluZy1tYXAoJHByb3AsICR2bWFwKSB7XG4gICAgQHJldHVybiAoXG4gICAgICAgICN7JHByb3B9LWxlZnQ6IG1hcC1nZXQtZmlyc3QoJHZtYXAsIEwobGVmdCwgbCwgeCwgaG9yaXpvbnRhbCwgYWxsKSksXG4gICAgICAgICN7JHByb3B9LXJpZ2h0OiBtYXAtZ2V0LWZpcnN0KCR2bWFwLCBMKHJpZ2h0LCByLCB4LCBob3Jpem9udGFsLCBhbGwpKSxcbiAgICAgICAgI3skcHJvcH0tdG9wOiBtYXAtZ2V0LWZpcnN0KCR2bWFwLCBMKHRvcCwgdCwgeSwgdmVydGljYWwsIGFsbCkpLFxuICAgICAgICAjeyRwcm9wfS1ib3R0b206IG1hcC1nZXQtZmlyc3QoJHZtYXAsIEwoYm90dG9tLCBiLCB5LCB2ZXJ0aWNhbCwgYWxsKSksXG4gICAgKTtcbn1cblxuLy8vIFJldHVybiBhIG1hcCB3aXRoIHNpemluZyB2YWx1ZXMgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBhcmcgJHByb3BlcnR5IC0gUHJvcGVydHkgbmFtZVxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWUgYXNzaWduZWQgdG8gcHJvcGVydHkuIFdpbGwgYmUgY29udmVydGVkIHRvIGEgc2l6aW5nLlxuQGZ1bmN0aW9uIHNpemluZygkcHJvcGVydHksICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIG9yIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6IHNpemUoJHZhbHVlKSk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogbWFwKHNpemUsICR2YWx1ZSkpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgICR2YWx1ZTogc2l6aW5nLW1hcCgkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgICAgIEByZXR1cm4gbWFwLWFwcGx5LXZhbHVlcyhzaXplLCBtYXAtZmlsdGVyLXZhbHVlcyhub3QtbnVsbCwgJHZhbHVlKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogJHZhbHVlKTtcbiAgICB9XG59XG5cbi8vLyBSZXR1cm4gYSBtYXAgd2l0aCBzaXppbmcgdmFsdWVzIGluIHRoZSBzaXppbmcgc2NhbGUgZm9yIHRoZSBnaXZlbiBwcm9wZXJ0eS5cbi8vL1xuLy8vIEBhcmcgJHByb3BlcnR5IC0gUHJvcGVydHkgbmFtZVxuLy8vIEBhcmcgJHZhbHVlIC0gVmFsdWUgYXNzaWduZWQgdG8gcHJvcGVydHkuIFdpbGwgYmUgY29udmVydGVkIHRvIGEgdmFsdWUgb24gdGhlXG4vLy8gICAgICAgICAgICAgICBzaXplIHNjYWxlLlxuQGZ1bmN0aW9uIHNpemluZy1zY2FsZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbnVtYmVyIG9yIHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6IHNpemUtc2NhbGUoJHZhbHVlKSk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbGlzdCB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogbWFwKHNpemUtc2NhbGUsICR2YWx1ZSkpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgICR2YWx1ZTogc2l6aW5nLW1hcCgkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgICAgIEByZXR1cm4gbWFwLWFwcGx5LXZhbHVlcyhzaXplLXNjYWxlLCBtYXAtZmlsdGVyLXZhbHVlcyhub3QtbnVsbCwgJHZhbHVlKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCRwcm9wZXJ0eTogJHZhbHVlKTtcbiAgICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBJbmNsdWRlIHNvbWUgc2l6aW5nIHByb3BlcnR5LlxuLy8vXG4vLy8gVmFsdWUgY2FuIGJlIGEgc2l6ZSBvciBhIG1hcCBmcm9tIGRpcmVjdGlvbnMgdG8gc2l6ZXMuIEl0IHVuZGVyc3RhbmRzIHRoZVxuLy8vIGZvbGxvd2luZyBkaXJlY3Rpb25zOiB0b3AsIGJvdHRvbSwgbGVmdCBhbmQgcmlnaHQgYW5kIHRoZSBwc2V1ZG8gZGlyZWN0aW9uczpcbi8vLyBob3Jpem9udGFsLCB4LCB2ZXJ0aWNhbCwgeSwgYW5kIGFsbC5cbi8vL1xuLy8vIEBhcmcgJHByb3BlcnR5IC0gUHJvcGVydHkgbmFtZS5cbi8vLyBAYXJnICR2YWx1ZSAtIFNpemUgb3IgbWFwcGluZyBvZiBzaXplcy5cbi8vLyBAYXJnICRzdWZmaXggLSBTdWZmaXggdG8gYWRkIHRvIHByb3BlcnR5IGRlY2xhcmF0aW9uIChlLmcuLiAhaW1wb3J0YW50KTtcbkBtaXhpbiBzaXppbmcoJHByb3BlcnR5LCAkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICAkZGF0YTogc2l6aW5nKCRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBmcm9tLW1hcCgkZGF0YSwgJHN1ZmZpeDogJHN1ZmZpeCk7XG59XG5cbkBtaXhpbiBzaXppbmctc2NhbGUoJHByb3BlcnR5LCAkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICAkZGF0YTogc2l6aW5nLXNjYWxlKCRwcm9wZXJ0eSwgJHZhbHVlKTtcbiAgICBAaW5jbHVkZSBmcm9tLW1hcCgkZGF0YSwgJHN1ZmZpeDogJHN1ZmZpeCk7XG59XG5cbi8vLyBBIHNpemluZyBmdW5jdGlvbiBmb3Igd2lkdGhzLlxuQG1peGluIHdpZHRoKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZyh3aWR0aCwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIHdpZHRoLXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZy1zY2FsZSh3aWR0aCwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuLy8vIEEgc2l6aW5nIGZ1bmN0aW9uIGZvciBoZWlnaHRzLlxuQG1peGluIGhlaWdodCgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmcoaGVpZ2h0LCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gaGVpZ2h0LXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZy1zY2FsZShoZWlnaHQsICR2YWx1ZSwgJHN1ZmZpeCk7XG59XG5cbi8vLyBBIHNpemluZyBmdW5jdGlvbiBmb3IgbWFyZ2lucy5cbkBtaXhpbiBtYXJnaW4oJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGluY2x1ZGUgc2l6aW5nKG1hcmdpbiwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIG1hcmdpbi1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmctc2NhbGUobWFyZ2luLCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG4vLy8gQSBzaXppbmcgZnVuY3Rpb24gZm9yIHBhZHMuXG5AbWl4aW4gcGFkKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZyhwYWRkaW5nLCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gcGFkLXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZy1zY2FsZShwYWRkaW5nLCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG4vLy8gQWxpYXMgdG8gdGhlIHBhZCBtaXhpbi5cbkBtaXhpbiBwYWRkaW5nKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHBhZCgkdmFsdWUsICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gcGFkZGluZy1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBwYWQtc2NhbGUoJHZhbHVlLCAkc3VmZml4KTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQ09MT1IgVFJBTlNGT1JNQVRJT05TIEFORCBVVElMSVRJRVNcbi8vLyBAZ3JvdXAgQ29sb3Jcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gQ29uZmlndXJhdGlvbiBvcHRpb25zXG4kbWVuZGVsZWV2LWNvbG9yLWJpYXM6IGNvbmZpZygnY29sb3IuY29udHJhc3QtYmlhcycpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1yb2xlczogJGZuLWVtcHR5LW1hcCAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtdmFyaWFudC1sZXZlbHM6IG1hcC1rZXlzKGNvbmZpZygnY29sb3IudmFyaWFudHMubGV2ZWxzJykpICFkZWZhdWx0O1xuXG4vLyBGZXRjaCBkYXJrIGFuZCBsaWdodCBjb250cmFzdCBtaXhlcyB0byBjcmVhdGUgY29udHJhc3QgdmFyaWFudHNcbiRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdDogY29uZmlnKCdjb2xvci52YXJpYW50cy5jb250cmFzdC5saWdodCcpICFkZWZhdWx0O1xuJG1lbmRlbGVldi12YXJpYW50LWRhcmstY29udHJhc3Q6IGNvbmZpZygnY29sb3IudmFyaWFudHMuY29udHJhc3QuZGFyaycpICFkZWZhdWx0O1xuXG4vLy8gUmV0dXJuIG5hbWVkIGNvbG9yIG9yIGEgZGVmYXVsdCB2YWx1ZSBpZiBjb2xvciBpcyBub3QgcmVnaXN0ZXJlZFxuLy8vXG4vLy8gQGFyZyAkbmFtZSAtIENvbG9yIG5hbWUgb3IgY29sb3IgdmFsdWVcbi8vLyBAYXJnICR2YXJpYW50IC0gQ2hvc2VuIHZhcmlhbnQuIENhbiBhbHNvIGJlIHRoZSBzdHJpbmcgJ2NvbnRyYXN0Jy5cbi8vLyBAYXJnICRhbHBoYSAtIEFwcGx5IGFscGhhIGFkanVzdG1lbnQgdG8gY29sb3IsIGlmIGdpdmVuLlxuLy8vIEBhcmcgJGRlZmF1bHQgLSBJZiBnaXZlbiwgdXNlcyB0aGlzIHZhbHVlIGlmIGNvbG9yIG5hbWUgaXMgbm90IGZvdW5kIGluIHRoZVxuLy8vICAgICAgICAgICAgICAgICBwYWxldHRlIGRpY3Rpb25hcnkuXG5AZnVuY3Rpb24gY29sb3IoJG5hbWUsICR2YXJpYW50OiBudWxsLCAkYWxwaGE6IG51bGwsICRkZWZhdWx0OiBudWxsKSB7XG4gICAgJHJlc3VsdDogJG5hbWU7XG4gICAgQGlmICRuYW1lID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSBzdHJpbmcge1xuICAgICAgICAkcmVzdWx0OiBtYXAtcmVhZCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICRuYW1lLCAkZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgLy8gTWFrZSB0cmFuc2Zvcm1hdGlvbnNcbiAgICBAaWYgJHZhcmlhbnQgPT0gY29udHJhc3Qge1xuICAgICAgICAkY29udHJhc3Q6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgJHJlc3VsdCk7XG4gICAgICAgIEBpZiAkY29udHJhc3QgPT0gbnVsbCB7XG4gICAgICAgICAgICAkY29udHJhc3Q6IGNob29zZS1jb250cmFzdC1jb2xvcigkcmVzdWx0LCAkYmlhczogJG1lbmRlbGVldi1jb2xvci1iaWFzKTtcbiAgICAgICAgfVxuICAgICAgICAkcmVzdWx0OiAkY29udHJhc3Q7XG4gICAgfSBAZWxzZSBpZiAkdmFyaWFudCAhPSBudWxsIHtcbiAgICAgICAgQGVycm9yICdJbnZhbGlkIHZhcmlhbnQgZm9yIGNvbG9yICN7JG5hbWV9OiAjeyR2YXJpYW50fSc7XG4gICAgfVxuICAgIEBpZiAkYWxwaGEgIT0gbnVsbCB7XG4gICAgICAgICRyZXN1bHQ6IGNoYW5nZS1jb2xvcigkcmVzdWx0LCAkYWxwaGE6ICRhbHBoYSk7XG4gICAgfVxuXG4gICAgLy8gUmV0dXJuIHJlc3VsdFxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIFJldHVybiBhIG5hbWVkIHZhcmlhbnQgZm9yIHRoZSBnaXZlbiBjb2xvci5cbkBmdW5jdGlvbiBjb2xvci12YXJpYW50KCRjb2xvciwgJHZhcmlhbnQpIHtcbiAgICBAaWYgbm90ICRjb2xvciB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgJHZhbHVlOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gc3RyaW5nLCBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJGNvbG9yKSwgJGNvbG9yKTtcbiAgICBAaWYgbm90ICR2YWx1ZSB7XG4gICAgICAgIEBlcnJvciAnQ29sb3IgZG9lcyBub3QgZXhpc3Q6ICN7aW5zcGVjdCgkY29sb3IpfSc7XG4gICAgfVxuXG4gICAgLy8gUmF3IHZhcmlhbnQgY2FsbDogcGFzc2luZyBhIHR1cGxlIG9mIChjb2xvci1uYW1lLCBtaXgpXG4gICAgQGlmIHR5cGUtb2YoJHZhcmlhbnQpID09IGxpc3Qge1xuICAgICAgICAkb3RoZXI6IGNvbG9yKG50aCgkdmFyaWFudCwgMSkpO1xuICAgICAgICAkbWl4OiBudGgoJHZhcmlhbnQsIDIpO1xuICAgICAgICBAcmV0dXJuIG1peCgkb3RoZXIsICR2YWx1ZSwgJG1peCk7XG4gICAgfVxuXG4gICAgLy8gRmV0Y2ggY29uZmlndXJhdGlvblxuICAgICRjZmc6IG1hcC1nZXQoJG1lbmRlbGVldi12YXJpYW50LWxldmVscywgJHZhcmlhbnQpO1xuICAgIEBpZiBub3QgJGNmZyB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCB2YXJpYW50OiAjeyR2YXJpYW50fSc7XG4gICAgfVxuXG4gICAgLy8gVHJ5IGNvbG9yIGZyb20gY2FjaGVcbiAgICAkcmVzOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJyN7JGNvbG9yfS0jeyR2YXJpYW50fScpO1xuICAgIEBpZiAkcmVzIHtcbiAgICAgICAgQHJldHVybiAkcmVzO1xuICAgIH1cblxuICAgIC8vIENvbXB1dGUgdmFyaWF0aW9uXG4gICAgJHZhcmlhbnQtY29sb3I6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkY2ZnKTtcblxuICAgIC8vIENvbXB1dGUgY29udHJhc3QgYW5kIHNhdmUgaW4gZGljdGlvbmFyeVxuICAgICRsaWdodDogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdCk7XG4gICAgJGRhcms6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtZGFyay1jb250cmFzdCk7XG4gICAgJGNvbnRyYXN0OiBjaG9vc2UtY29udHJhc3QtY29sb3IoJHZhcmlhbnQsICRsaWdodCwgJGRhcmssICRtZW5kZWxlZXYtY29sb3ItYmlhcyk7XG4gICAgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKChcbiAgICAgICAgJHZhcmlhbnQtY29sb3I6ICRjb250cmFzdCxcbiAgICAgICAgJGNvbnRyYXN0OiAkdmFyaWFudC1jb2xvcixcbiAgICApLCAkbWVuZGVsZWV2LWNvbG9yX2NvbnRyYXN0KSAhZ2xvYmFsO1xuXG4gICAgQHJldHVybiAkdmFyaWFudC1jb2xvcjtcbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUlYSU5TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gRGVmaW5lIHRoZSBjb2xvciBhbmQgYmFja2dyb3VuZC1jb2xvciBwcm9wZXJ0aWVzLlxuLy8vIElmIGNhbGxlZCB3aXRoIGEgc2luZ2xlIGFyZ3VtZW50LCB0cmVhdHMgdGhlIGNvbG9yIGFzIGEgY29sb3IgbmFtZSBhbmRcbi8vLyBhc3NpZ24gaXQgdG8gdGhlIGJhY2tncm91bmQgYW5kIHRoZSBjb250cmFzdCBjb2xvciB0byB0aGUgZm9yZWdyb3VuZC5cbkBtaXhpbiBjb2xvcigkY29sb3IsICRib3JkZXI6IGZhbHNlLCAkZmxpcDogZmFsc2UpIHtcbiAgICAkYmc6IGNvbG9yKG50aCgkY29sb3IsIDEpKTtcbiAgICAkZmc6IGlmKHR5cGUtb2YoJGNvbG9yKSA9PSBsaXN0LCBudGgoJGNvbG9yLCAyKSwgbnVsbCk7XG4gICAgJGZnOiBpZigkZmcsIGNvbG9yKCRmZyksIGNvbG9yKCRiZywgY29udHJhc3QpKTtcbiAgICBAaWYgJGZsaXAge1xuICAgICAgICAkYXV4OiAkYmc7XG4gICAgICAgICRiZzogJGZnO1xuICAgICAgICAkZmc6ICRhdXg7XG4gICAgfVxuICAgICRyZXM6IChjb2xvcjogJGZnLCBiYWNrZ3JvdW5kLWNvbG9yOiAkYmcpO1xuXG4gICAgLy8gQWRkIGJvcmRlciBjb2xvclxuICAgIEBpZiAkYm9yZGVyID09IGZvcmVncm91bmQgb3IgJGJvcmRlciA9PSBmZyB7XG4gICAgICAgICRyZXM6IG1hcC1tZXJnZSgkcmVzLCAoYm9yZGVyLWNvbG9yOiAkZmcpKTtcbiAgICB9IEBlbHNlIGlmICRib3JkZXIgPT0gYmFja2dyb3VuZCBvciAkYm9yZGVyID09IGJnIG9yICRib3JkZXIge1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgKGJvcmRlci1jb2xvcjogJGJnKSk7XG4gICAgfVxuXG4gICAgLy8gU2V0IHByb3BlcnRpZXNcbiAgICBAaW5jbHVkZSBmcm9tLW1hcCgkcmVzKTtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTkZJR1VSQVRJT05TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWNvbG9yLWNvbmZpZzogZmFsc2UgIWRlZmF1bHQ7XG5AaWYgbm90ICRtZW5kZWxlZXYtY29sb3ItY29uZmlnIHtcbiAgICAkdmFyaWFudC1sZXZlbHM6IGNvbmZpZygnY29sb3IudmFyaWFudHMubGV2ZWxzJyk7XG4gICAgJGJpYXM6ICRtZW5kZWxlZXYtY29sb3ItYmlhcztcblxuICAgIC8vLyBEaWN0aW9uYXJ5IHRoYXQgc3RvcmVzIGFsbCBuYW1lZCBjb2xvcnMgd2l0aCB0aGVpciByZXNwZWN0aXZlIHZhbHVlc1xuICAgICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogbWFwLW1lcmdlKCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgY29uZmlnKCdwYWxldHRlJywgJGZuLWVtcHR5LW1hcCkpO1xuXG4gICAgLy8vIERpY3Rpb25hcnkgbWFwcGluZyBjb2xvciB2YWx1ZXMgdG8gdGhlaXIgcmVzcGVjdGl2ZSBjb250cmFzdHNcbiAgICAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgY29uZmlnKCdjb250cmFzdCcsICRmbi1lbXB0eS1tYXApKTtcblxuICAgIC8vIENyZWF0ZSBhIGxpc3Qgd2l0aCBhbGwgY29udHJhc3RzIGZyb20gbmFtZWQgY29sb3JzLlxuICAgICRhY2M6ICgpO1xuICAgIEBlYWNoICRjb2xvciwgJHZhbHVlIGluICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSB7XG4gICAgICAgIEBpZiBub3QgbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0LCAkdmFsdWUpIHtcbiAgICAgICAgICAgICRsaWdodDogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdCk7XG4gICAgICAgICAgICAkZGFyazogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1kYXJrLWNvbnRyYXN0KTtcbiAgICAgICAgICAgICRjb250cmFzdDogY2hvb3NlLWNvbnRyYXN0LWNvbG9yKCR2YWx1ZSwgJGxpZ2h0LCAkZGFyaywgJGJpYXMpO1xuICAgICAgICAgICAgJGFjYzogbWFwLW1lcmdlKCgkdmFsdWU6ICRjb250cmFzdCwgJGNvbnRyYXN0OiAkdmFsdWUpLCAkYWNjKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiBtYXAtbWVyZ2UoJGFjYywgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCkgIWdsb2JhbDtcblxuICAgIC8vIENyZWF0ZSBhIGxpc3Qgb2YgY29sb3Igcm9sZXMgdXNlZCB0byBkZXJpdmUgdGhlIGNvbG9yIGNsYXNzZXMuXG4gICAgLy8gV2hlbiBjcmVhdGluZyB0aGF0IGxpc3QsIGFsc28gc2F2ZSBhbGwgdmFyaWFudCBjb2xvcnMgaW4gdGhlIGRlZmF1bHRcbiAgICAvLyBjb2xvciBkaWN0aW9uYXJ5LlxuICAgICRyb2xlczogY29uZmlnKCdjb2xvci5yb2xlcycpO1xuXG4gICAgQGVhY2ggJGNvbG9yIGluIGNvbmZpZygnY29sb3IudmFyaWFudHMuY29sb3JzJykge1xuICAgICAgICAvLyBTYXZlIG1haW4gY29sb3JcbiAgICAgICAgQGlmIG5vdCBjb250YWlucygkcm9sZXMsICRjb2xvcikge1xuICAgICAgICAgICAgJHJvbGVzOiBhcHBlbmQoJHJvbGVzLCAkY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICR2YWx1ZTogbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICRjb2xvcik7XG5cbiAgICAgICAgLy8gQ29tcHV0ZSBjb250cmFzdHNcbiAgICAgICAgJGxpZ2h0OiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJG1lbmRlbGVldi12YXJpYW50LWxpZ2h0LWNvbnRyYXN0KTtcbiAgICAgICAgJGRhcms6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtZGFyay1jb250cmFzdCk7XG4gICAgICAgICRhY2M6ICgpO1xuICAgICAgICAkYWNjLWNvbnRyYXN0OiAoKTtcbiAgICAgICAgQGVhY2ggJHN1ZmZpeCwgJGNmZyBpbiAkdmFyaWFudC1sZXZlbHMge1xuICAgICAgICAgICAgJHJvbGU6ICcjeyRjb2xvcn0tI3skc3VmZml4fSc7XG4gICAgICAgICAgICAkcm9sZXM6IGFwcGVuZCgkcm9sZXMsICRyb2xlKTtcbiAgICAgICAgICAgICR2YXJpYW50OiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJGNmZyk7XG4gICAgICAgICAgICAkY29udHJhc3Q6IGNob29zZS1jb250cmFzdC1jb2xvcigkdmFyaWFudCwgJGxpZ2h0LCAkZGFyaywgJGJpYXMpO1xuICAgICAgICAgICAgJGFjYzogbWFwLW1lcmdlKCRhY2MsICgkcm9sZTogJHZhcmlhbnQpKTtcbiAgICAgICAgICAgICRhY2MtY29udHJhc3Q6IG1hcC1tZXJnZSgkYWNjLWNvbnRyYXN0LCAoXG4gICAgICAgICAgICAgICAgJHZhcmlhbnQ6ICRjb250cmFzdCxcbiAgICAgICAgICAgICAgICAkY29udHJhc3Q6ICR2YXJpYW50LFxuICAgICAgICAgICAgKSk7XG4gICAgICAgIH1cbiAgICAgICAgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKCRhY2MtY29udHJhc3QsICRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QpICFnbG9iYWw7XG4gICAgICAgICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogbWFwLW1lcmdlKCRhY2MsICRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSkgIWdsb2JhbDtcbiAgICB9XG5cbiAgICAvLyBTYXZlIGNvbmZpZ3VyYXRpb25zXG4gICAgJG1lbmRlbGVldi1jb2xvci1jb25maWc6IHRydWUgIWdsb2JhbDtcbiAgICAkbWVuZGVsZWV2LWNvbG9yLXJvbGVzOiAkcm9sZXMgIWdsb2JhbDtcbiAgICAkZm4tY29udHJhc3QtY29sb3Itd2hpdGU6IGNvbG9yKCdpbnZlcnNlLXRleHQnKSAhZ2xvYmFsO1xuICAgICRmbi1jb250cmFzdC1jb2xvci1ibGFjazogY29sb3IoJ3JlZ3VsYXItdGV4dCcpICFnbG9iYWw7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFRZUE9HUkFQSFlcbi8vLyBAZ3JvdXAgVHlwb2dyYXBoeVxuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kbWVuZGVsZWV2LXR5cGUtc2NhbGVzOiAoXG4gICAgbWlub3Itc2Vjb25kOiAxNi8xNSxcbiAgICBtYWpvci1zZWNvbmQ6IDkvOCxcbiAgICBtaW5vci10aGlyZDogNi81LFxuICAgIG1ham9yLXRoaXJkOiA1LzQsXG4gICAgcGVyZmVjdC1mb3VydGg6IDQvMyxcbiAgICBhdWdtZW50ZWQtZm91cnRoOiBzcXJ0KDIpLFxuICAgIHBlcmZlY3QtZmlmdGg6IDMvMixcbiAgICBnb2xkZW4tcmF0aW86ICgxICsgc3FydCg1KSkgLyAyLFxuKTtcbiRtZW5kZWxlZXYtdHlwZS1zY2FsZTogKCkgIWRlZmF1bHQ7XG5cbi8vLyBSZXR1cm4gYSB0eXBlIHNjYWxlIG1hcHBpbmcgZnJvbSB0aGUgYXJndW1lbnQuXG4vLy9cbi8vLyBJZiBhcmd1bWVudCBpcyBhIG51bWJlciBwcm92aWRlcyBhIHJhdGlvLWJhc2VkIHNjYWxlLlxuLy8vIElmIGFyZ3VtZW50IGlzIGEgbGlzdCwgY29udmVydCB0byBhIG1hcCB3aXRoIHRoZSBwcm9ncmVzc2lvbjpcbi8vLyAoJzEnOiBmaXJzdCwgJzInOiBzZWNvbmQsICczJzogdGhpcmQsIC4uLmV0Yylcbi8vLyBBcmd1bWVudCBjYW4gYmUgb25lIG9mIHRoZSBwcmUtZGVmaW5lZCB0eXBlIHNjYWxlczogdmVyeS1uYXJyb3csIG5hcnJvdywgbWVkaXVtLCB3aWRlLCB2ZXJ5LXdpZGUuXG5AZnVuY3Rpb24gdHlwZS1zY2FsZSgkc2NhbGUpIHtcbiAgICBAaWYgdHlwZS1vZigkc2NhbGUpID09IG51bWJlciB7XG4gICAgICAgIEBpZiAkc2NhbGUgPCAxIHtcbiAgICAgICAgICAgIEBlcnJvciAnUHJvZ3Jlc3Npb24gaW4gdHlwZSBzY2FsZSBtdXN0IGJlIGEgbnVtYmVyIGxhcmdlciB0aGFuIDEnO1xuICAgICAgICB9XG4gICAgICAgICRoZWFkaW5nczogZXhwb25lbnRpYWwtcHJvZ3Jlc3Npb24oJHNjYWxlLCA1LCAkcmV2ZXJzZTogdHJ1ZSk7XG4gICAgICAgICRyYXc6IGpvaW4obHN0LXRvLWFycmF5KCRoZWFkaW5ncyksIDAuODc1IDAuNzUgMC42MjUpO1xuICAgICAgICAkc2NhbGU6ICgpO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkcmF3KSB7XG4gICAgICAgICAgICAkbjogbnRoKCRyYXcsICRpKTtcbiAgICAgICAgICAgICRzY2FsZTogbWFwLW1lcmdlKCRzY2FsZSwgKGluc3BlY3QoJGkpOiByb3VuZCgkbiAqIDE2KSAvIDE2KSk7XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiB0eXBlLXNjYWxlKCRzY2FsZSk7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRzY2FsZSkgPT0gbGlzdCB7XG4gICAgICAgICRyZXN1bHQ6ICgpO1xuICAgICAgICAka2V5OiBudWxsO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkc2NhbGUpIHtcbiAgICAgICAgICAgICRrZXk6IHF1b3RlKGluc3BlY3QoJGkpKTtcbiAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGtleTogbnRoKCRzY2FsZSwgJGkpKSlcbiAgICAgICAgfVxuICAgICAgICBAcmV0dXJuICRyZXN1bHQ7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRzY2FsZSkgPT0gbWFwIHtcbiAgICAgICAgQGlmIG5vdCBtYXAtaGFzLWtleXMoJHNjYWxlLCAoJzEnLCAnMicsICczJywgJzQnLCAnNScsICc2JykpIHtcbiAgICAgICAgICAgIEBlcnJvciAnTWFwIG11c3Qgc2hvdyBwcm9ncmVzc2lvbiBmcm9tIDEsIDMsIHVwIHRvIGF0IGxlYXN0IDYnO1xuICAgICAgICB9XG4gICAgICAgIEByZXR1cm4gJHNjYWxlO1xuICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1lbmRlbGVldi10eXBlLXNjYWxlcywgJHNjYWxlKSB7XG4gICAgICAgIEByZXR1cm4gdHlwZS1zY2FsZShtYXAtZ2V0KCRtZW5kZWxlZXYtdHlwZS1zY2FsZXMsICRzY2FsZSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgJ1dyb25nIGFyZ3VtZW50IGZvciBnZXQtdHlwZS1zY2FsZTogI3skc2NhbGV9JztcbiAgICB9XG59XG5cbi8vLyBSZXR1cm4gYSBmb250IHByb3BlcnR5IGxpa2UgZmFtaWx5LCBsaW5lLWhlaWdodCwgbGV0dGVyLXNwYWNpbmcsIHNpemUsXG4vLy8gdHJhbnNmb3JtLCBvciB3ZWlnaHQuXG4vLy9cbi8vLyBAYXJnICRwcm9wIC0gUHJvcGVydHkgbmFtZVxuLy8vIEBhcmcgJHdoaWNoIC0gSWYgZ2l2ZW4sIG11c3QgYmUgZWl0aGVyIGhlYWRpbmdzIG9yIHBhcmFncmFwaCBhbmQgZGVub3Rlc1xuLy8vICAgICAgICAgICAgICAgd2hpY2ggc2VjdGlvbiB0byBsb29rIGZvciB0aGUgcHJvcGVydHlcbkBmdW5jdGlvbiBmb250LXByb3BlcnR5KCRwcm9wLCAkd2hpY2g6IHBhcmFncmFwaCkge1xuICAgICRjb25mOiBjb25maWcoJ3R5cG9ncmFwaHknLCAkd2hpY2gpO1xuICAgIEBpZiBtYXAtaGFzLWtleSgkY29uZiwgJHByb3ApIHtcbiAgICAgICAgQHJldHVybiBtYXAtZ2V0KCRjb25mLCAkcHJvcCk7XG4gICAgfVxuICAgIEByZXR1cm4gY29uZmlnKCd0eXBvZ3JhcGh5LiN7JHByb3B9Jyk7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBfaGVhZGluZy12ZXJ0aWNhbC1yaHl0aG0oJHJhdGlvKSB7XG4gICAgJGxlYWQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJyk7XG4gICAgJGgtbGVhZDogY29uZmlnKCd0eXBvZ3JhcGh5LmhlYWRpbmctbGVhZCcpO1xuICAgICRkZXNjZW5kZXI6IDAuMTtcbiAgICAkbWFyZ2luLWJvdHRvbTogMC41ICogKDEuMiAtICRyYXRpbyAqICRkZXNjZW5kZXIpO1xuICAgICRoZWlnaHQtdW5pdHM6ICRtYXJnaW4tYm90dG9tICsgJHJhdGlvICogJGgtbGVhZCAvICRsZWFkO1xuICAgICRkZWx0YTogY2VpbCgkaGVpZ2h0LXVuaXRzKSAtICRoZWlnaHQtdW5pdHM7XG4gICAgZm9udC1zaXplOiAkcmF0aW8gKiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAkaC1sZWFkO1xuICAgIG1hcmdpbjogKCRsZWFkICogKDEgKyAkZGVsdGEpICogMXJlbSkgMCAoJGxlYWQgKiAkbWFyZ2luLWJvdHRvbSAqIDFyZW0pIDA7XG59XG5cbkBtaXhpbiBoZWFkaW5ncy10eXBlLXNjYWxlKCRmYWN0b3IpIHtcbiAgICAkc2NhbGU6IG1hcC1yZW1vdmUodHlwZS1zY2FsZSgkZmFjdG9yKSwgJzUnLCAnNicsICc3JywgJzgnKTtcbiAgICBAZWFjaCAkbiwgJHJhdGlvIGluICRzY2FsZSB7XG4gICAgICAgICRzZWxlY3RvcjogdW5xdW90ZSgnaCN7JG59LCAuaCN7JG59Jyk7XG4gICAgICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBfaGVhZGluZy12ZXJ0aWNhbC1yaHl0aG0oJHJhdGlvKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBoNSwgLmg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogJG1lbmRlbGVldi1sZWFkO1xuICAgICAgICBtYXJnaW46ICgkbWVuZGVsZWV2LWxlYWQgKiAxLjVyZW0pIDAgKCRtZW5kZWxlZXYtbGVhZCAqIDAuNXJlbSkgMDtcbiAgICB9XG4gICAgaDYsIC5oNiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE0Mjg1NzE0MyAqICRtZW5kZWxlZXYtbGVhZDtcbiAgICAgICAgbWFyZ2luOiAoJG1lbmRlbGVldi1sZWFkICogMS41cmVtKSAwICgkbWVuZGVsZWV2LWxlYWQgKiAwLjVyZW0pIDA7XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09ORklHVVJBVElPTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRtZW5kZWxlZXYtdHlwb2dyYXBoeS1jb25maWc6IGZhbHNlICFkZWZhdWx0O1xuQGlmIG5vdCAkbWVuZGVsZWV2LXR5cG9ncmFwaHktY29uZmlnIHtcblxuICAgIC8vIENvbXB1dGUgdHlwZSBzY2FsZXNcbiAgICAkdHlwZS1zY2FsZXM6ICgpO1xuICAgIEBlYWNoICRicCwgJGZhY3RvciBpbiBjb25maWcoJ3R5cG9ncmFwaHkuc2NhbGUnKSB7XG4gICAgICAgICR0eXBlLXNjYWxlczogbWFwLW1lcmdlKCR0eXBlLXNjYWxlcywgKCRmYWN0b3I6IHR5cGUtc2NhbGUoJGZhY3RvcikpKTtcbiAgICB9XG5cbiAgICAvLyBDcmVhdGUgdGhlIHJlc3BvbnNpdmUgdHlwZSBzY2FsZVxuICAgICRzY2FsZTogKCk7XG4gICAgQGVhY2ggJG4gaW4gKCcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicsICc3JywgJzgnKSB7XG5cbiAgICAgICAgJGRhdGE6ICgpO1xuICAgICAgICBAZWFjaCAkYnAsICRmYWN0b3IgaW4gY29uZmlnKCd0eXBvZ3JhcGh5LnNjYWxlJykge1xuICAgICAgICAgICAgJHR5cGUtc2NhbGU6IG1hcC1nZXQoJHR5cGUtc2NhbGVzLCAkZmFjdG9yKTtcbiAgICAgICAgICAgICRzaXplOiBtYXAtZ2V0KCR0eXBlLXNjYWxlLCAkbikgKiAxcmVtO1xuXG4gICAgICAgICAgICBAaWYgJGJwID09ICdzdGFydCcge1xuICAgICAgICAgICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsIChmb250LXNpemU6ICRzaXplKSk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkYnA6IGNvbmZpZygnYnJlYWtwb2ludHMuI3skYnB9Jyk7XG4gICAgICAgICAgICAgICAgJG1lZGlhOiAnQG1lZGlhJyAobWluLXdpZHRoOiAkYnApO1xuICAgICAgICAgICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsICgkbWVkaWE6IChmb250LXNpemU6ICRzaXplKSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICRzY2FsZTogbWFwLW1lcmdlKCRzY2FsZSwgKCcmI3skbn0nOiAkZGF0YSkpO1xuICAgIH1cbiAgICAvL0BlcnJvciAkc2NhbGU7XG4gICAgJG1lbmRlbGVldi10eXBlLXNjYWxlOiAkc2NhbGUgIWdsb2JhbDtcbiAgICAkbWVuZGVsZWV2LXR5cG9ncmFwaHktY29uZmlnOiB0cnVlICFnbG9iYWw7XG59XG5cbi8vQGVycm9yICRtZW5kZWxlZXYtdHlwZS1zY2FsZTtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTUlYSU5TIFRIQVQgSEVMUCBDUkVBVElORyBVVElMSVRZIENMQVNTRVNcbi8vLyBAZ3JvdXAgVXRpbGl0aWVzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbkBmdW5jdGlvbiBtZW5kZWxlZXYtbWFrZS1wYWlyKCRwcm9wLCAkZnVuYywgJHZhbHVlKSB7XG4gICAgQHJldHVybiAoJHByb3A6IGNhbGwoYXMtZnVuYygkZnVuYyksICR2YWx1ZSkpO1xufVxuXG5AZnVuY3Rpb24gbWVuZGVsZWV2LWNvbG9yLXJvbGUoJHZhbHVlKSB7XG4gICAgQHJldHVybiAoXG4gICAgICAgIGNvbG9yOiBjb2xvcigkdmFsdWUsIGNvbnRyYXN0KSxcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJHZhbHVlKSxcbiAgICApO1xufVxuXG4vLy8gRGVjbGFyZXMgYSBjc3MgdmFyaWFibGUgd2l0aCBhIHBvc3NpYmxlIGZhbGxiYWNrLlxuLy8vXG4vLy8gQGFyZ3MgJHZhciAtIE5hbWUgb2YgY3NzIHZhcmlhYmxlIChwcmVmaXggZGFzaGVzLCBpbmNsdWRlZClcbi8vLyBAYXJncyAkZmFsbGJhY2sgLSBPcHRpb25hbCBmYWxsYmFjayB2YWx1ZVxuQGZ1bmN0aW9uIGNzcy12YXIoJHZhciwgJGZhbGxiYWNrOiBudWxsKSB7XG4gICAgQHJldHVybiBpZigkZmFsbGJhY2ssIHVucXVvdGUoJ3ZhcigjeyR2YXJ9LCAjeyRmYWxsYmFja30pJyksIHVucXVvdGUoJ3ZhcigjeyR2YXJ9KScpKTtcbn1cblxuJG1lbmRlbGVldi1tYWtlLXBhaXItZm46IGFzLWZ1bmMobWVuZGVsZWV2LW1ha2UtcGFpcik7XG4kbWVuZGVsZWV2LWNvbG9yLXJvbGUtZm46IGFzLWZ1bmMobWVuZGVsZWV2LWNvbG9yLXJvbGUpO1xuJG1lbmRlbGVldi1zaXppbmctZm46IGFzLWZ1bmMoc2l6aW5nKTtcbiRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuOiBhcy1mdW5jKHNpemluZy1zY2FsZSk7XG4kbWVuZGVsZWV2LXNwZWNpYWwtcHJvcGVydGllczogKFxuICAgIC8vXG4gICAgLy8gU2l6aW5nXG4gICAgYm9yZGVyLXJhZGl1czpcbiAgICAgICAgKCRtZW5kZWxlZXYtbWFrZS1wYWlyLWZuLCAoJ2JvcmRlci1yYWRpdXMnLCBzaXplKSksXG4gICAgbWFyZ2luOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChtYXJnaW4sKSksXG4gICAgaGVpZ2h0OlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChoZWlnaHQsKSksXG4gICAgcGFkOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChwYWRkaW5nLCkpLFxuICAgIHBhZGRpbmc6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1mbiwgKHBhZGRpbmcsKSksXG4gICAgd2lkdGg6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1mbiwgKHdpZHRoLCkpLFxuICAgIG1hcmdpbi1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAobWFyZ2luLCkpLFxuICAgIGhlaWdodC1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAoaGVpZ2h0LCkpLFxuICAgIHBhZC1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAocGFkZGluZywpKSxcbiAgICBwYWRkaW5nLXNjYWxlOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctc2NhbGUtZm4sIChwYWRkaW5nLCkpLFxuICAgIHdpZHRoLXNjYWxlOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctc2NhbGUtZm4sICh3aWR0aCwpKSxcbiAgICAvL1xuICAgIC8vIENvbG9yc1xuICAgIGNvbG9yLXJvbGU6XG4gICAgICAgICgkbWVuZGVsZWV2LWNvbG9yLXJvbGUtZm4sICRmbi1lbXB0eS1hcnJheSksXG4gICAgY29sb3I6XG4gICAgICAgICgkbWVuZGVsZWV2LW1ha2UtcGFpci1mbiwgKCdjb2xvcicsICdjb2xvcicpKSxcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOlxuICAgICAgICAoJG1lbmRlbGVldi1tYWtlLXBhaXItZm4sICgnYmFja2dyb3VuZC1jb2xvcicsICdjb2xvcicpKSxcbiAgICBib3JkZXItY29sb3I6XG4gICAgICAgICgkbWVuZGVsZWV2LW1ha2UtcGFpci1mbiwgKCdib3JkZXItY29sb3InLCAnY29sb3InKSksXG4pO1xuXG4vLy8gSW5jbHVkZSBhbGwgaXRlbXMgb24gbWFwIGFzIHBhaXJzIG9mIGBwcm9wZXJ0eTogdmFsdWVgLlxuLy8vXG4vLy8gU29tZSBwcm9wZXJ0aWVzIGhhdmUgYSBzcGVjaWFsIHRyZWF0bWVudDpcbi8vLyAgKiBwYWRkaW5nL3BhZC93aWR0aC9oZWlnaHQvbWFyZ2luOlxuLy8vICAgICAgICB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byBzaXplcywgYW5kIG1hcHBpbmdzIGFyZSBleHBhbmRlZFxuLy8vICAgICAgICBpbnRvIGRpcmVjdGlvbnMuXG4vLy8gICogcGFkZGluZy1zY2FsZS9wYWQtc2NhbGUvLi4uOlxuLy8vICAgICAgICBsaWtlIGJlZm9yZSwgYnV0IHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHRoZSBzaXppbmcgc2NhbGUuXG4vLy8gICogY29sb3IvYmFja2dyb3VuZC1jb2xvci9ib3JkZXItY29sb3I6XG4vLy8gICAgICAgIGluY2x1ZGUgY29sb3IgYnkgdmFsdWUgb3IgbmFtZS5cbkBtaXhpbiBvcHRpb25zKCRtYXAsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgIC8vIEhhbmRsZSBzcGVjaWFsIHByb3BlcnRpZXM6IHNpemVzXG4gICAgICAgICRzcGVjaWFsOiBtYXAtZ2V0KCRtZW5kZWxlZXYtc3BlY2lhbC1wcm9wZXJ0aWVzLCAka2V5KTtcbiAgICAgICAgQGlmICRzcGVjaWFsIHtcbiAgICAgICAgICAgICRmdW5jOiBudGgoJHNwZWNpYWwsIDEpO1xuICAgICAgICAgICAgJGFyZ3M6IGFwcGVuZChudGgoJHNwZWNpYWwsIDIpLCAkdmFsdWUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZnJvbS1tYXAoY2FsbCgkZnVuYywgJGFyZ3MuLi4pLCAkc3VmZml4KTtcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gbWFwIHtcbiAgICAgICAgICAgICN7JGtleX0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG9wdGlvbnMoJHZhbHVlLCAkc3VmZml4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgICAgICN7JGtleX06ICR2YWx1ZSAkc3VmZml4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUWVBPR1JBUEhZXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuc2NhbGUnLCAoXG4gICAgICAgICAgICAnLnRleHQtJzogJG1lbmRlbGVldi10eXBlLXNjYWxlLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTaW1wbGUgc3lzdGVtIGZvbnQgc3R5bGVzOiBmb250LXNhbnMsIGZvbnQtc2VyaWYsIGZvbnQtbW9ubywgZm9udC1jdXJzaXZlXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuZm9udHMnLCAoXG4gICAgICAgICAgICBmb250LWZhbWlseTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHNhbnMtc2VyaWY6IGNvbmZpZygndHlwb2dyYXBoeS5zYW5zLXNlcmlmJyksXG4gICAgICAgICAgICAgICAgICAgIHNlcmlmOiBjb25maWcoJ3R5cG9ncmFwaHkuc2VyaWYnKSxcbiAgICAgICAgICAgICAgICAgICAgY3Vyc2l2ZTogY29uZmlnKCd0eXBvZ3JhcGh5LmN1cnNpdmUnKSxcbiAgICAgICAgICAgICAgICAgICAgbW9ub3NwYWNlOiBjb25maWcoJ3R5cG9ncmFwaHkubW9ub3NwYWNlJyksXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZvbnQgd2VpZ2h0XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMud2VpZ2h0cycsIChcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgdGhpbjogMTAwLFxuICAgICAgICAgICAgICAgICAgICBleHRyYS1saWdodDogMjAwLFxuICAgICAgICAgICAgICAgICAgICBsaWdodDogMzAwLFxuICAgICAgICAgICAgICAgICAgICByZWd1bGFyOiA0MDAsXG4gICAgICAgICAgICAgICAgICAgIG1lZGl1bTogNTAwLFxuICAgICAgICAgICAgICAgICAgICBzZW1pLWJvbGQ6IDYwMCxcbiAgICAgICAgICAgICAgICAgICAgYm9sZDogNzAwLFxuICAgICAgICAgICAgICAgICAgICBleHRyYS1ib2xkOiA4MDAsXG4gICAgICAgICAgICAgICAgICAgIGJsYWNrOiA5MDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFN0eWxlcywgZGVjb3JhdGlvbnMgYW5kIHRleHQgdHJhbnNmb3JtXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuc3R5bGVzJywgKFxuICAgICAgICAgICAgZm9udC1zdHlsZTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGl0YWxpYzogaXRhbGljLFxuICAgICAgICAgICAgICAgICAgICByb21hbjogbm9ybWFsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICB1cHBlcmNhc2U6IHVwcGVyY2FzZSxcbiAgICAgICAgICAgICAgICAgICAgbG93ZXJjYXNlOiBsb3dlcmNhc2UsXG4gICAgICAgICAgICAgICAgICAgIGNhcGl0YWxpemU6IGNhcGl0YWxpemUsXG4gICAgICAgICAgICAgICAgICAgIG5vcm1hbGNhc2U6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICB1bmRlcmxpbmU6IHVuZGVybGluZSxcbiAgICAgICAgICAgICAgICAgICAgbGluZS10aHJvdWdoOiBsaW5lLXRocm91Z2gsXG4gICAgICAgICAgICAgICAgICAgIG5vLXVuZGVybGluZTogbm9uZVxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRleHQgYWxpZ25tZW50XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuYWxpZ25tZW50JywgKFxuICAgICAgICAgICAgdGV4dC1hbGlnbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnk6IGp1c3RpZnksXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgICAgICAgICAgICAgdG9wOiB0b3AsXG4gICAgICAgICAgICAgICAgICAgIG1pZGRsZTogbWlkZGxlLFxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10b3A6IHRleHQtdG9wLFxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWJvdHRvbTogdGV4dC1ib3R0b20sXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gV2hpdGVzcGFjZVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLndoaXRlLXNwYWNlJywgKFxuICAgICAgICAgICAgd2hpdGUtc3BhY2U6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBub3JtYWw6IG5vcm1hbCxcbiAgICAgICAgICAgICAgICAgICAgbm93cmFwOiBub3dyYXAsXG4gICAgICAgICAgICAgICAgICAgIHByZTogcHJlLFxuICAgICAgICAgICAgICAgICAgICBwcmUtbGluZTogcHJlLWxpbmUsXG4gICAgICAgICAgICAgICAgICAgIHByZS13cmFwOiBwcmUtd3JhcCxcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMZWFkaW5nXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMubGVhZGluZycsIChcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZzogY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKSxcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZy10aXRsZTogY29uZmlnKCd0eXBvZ3JhcGh5LmhlYWRpbmctbGVhZCcpLFxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nLXNvbGlkOiAxLFxuICAgICAgICAgICAgICAgICAgICBsZWFkaW5nLWxvb3NlOiAyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBNZWFzdXJlXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMubWVhc3VyZScsIChcbiAgICAgICAgICAgIG1heC13aWR0aDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIG1lYXN1cmU6IDI5ZW0sIC8vIH4gNjUgY2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICBtZWFzdXJlLXdpZGU6IDM4ZW0sIC8vIH4gODUgY2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICAgICBtZWFzdXJlLW5hcnJvdzogMjBlbSwgLy8gfiA0NSBjaGFyYWN0ZXJzXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSW5kZW50YXRpb25cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3R5cG9ncmFwaHkubW9kdWxlcy5pbmRlbnQnLCAoXG4gICAgICAgICAgICB0ZXh0LWluZGVudDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGluZGVudDogMS41ZW0sXG4gICAgICAgICAgICAgICAgICAgIGluZGVudC1wdW5jdHVhdGlvbjogLTAuM2VtLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuaW5kZW50JywgKFxuICAgICAgICAgICAgJy50cnVuY2F0ZSc6IChcbiAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwLFxuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW4sXG4gICAgICAgICAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXMsXG4gICAgICAgICAgICApXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIERpcmVjdGlvblxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLmRpcmVjdGlvbicsIChcbiAgICAgICAgICAgIGRpcmVjdGlvbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHJ0bDogcnRsLFxuICAgICAgICAgICAgICAgICAgICBsdHI6IGx0cixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gREVGSU5FIFRIRSBERUZBVUxUIFNJWklORyBTQ0FMRVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUEFERElORyBTQ0FMRVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAncGFkZGluZycsIChcbiAgICAgICAgICAgIHBhZGRpbmc6XG4gICAgICAgICAgICAgICAgKCcucGFkLScsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3BhZGRpbmcnLCAoXG4gICAgICAgICAgICAnLnBhZC14Jzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBhZC15Jzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAncGFkZGluZycsIChcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDpcbiAgICAgICAgICAgICAgICAoJy5wYWQtbCcsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLFxuICAgICAgICAgICAgcGFkZGluZy1yaWdodDpcbiAgICAgICAgICAgICAgICAoJy5wYWQtcicsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLFxuICAgICAgICAgICAgcGFkZGluZy10b3A6XG4gICAgICAgICAgICAgICAgKCcucGFkLXQnLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSxcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOlxuICAgICAgICAgICAgICAgICgnLnBhZC1iJywgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIE1BUkdJTiBTQ0FMRVxuXG4gICAgJG1lbmRlbGVldi1zaXplcy1hdXRvOiBtYXAtbWVyZ2UoKGF1dG86IGF1dG8pLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ21hcmdpbicsIChcbiAgICAgICAgICAgIG1hcmdpbjpcbiAgICAgICAgICAgICAgICAoJy5tYXJnaW4tJywgbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1zaXplcy1hdXRvLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbilcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdtYXJnaW4nLCAoXG4gICAgICAgICAgICAnLm1hcmdpbi0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIHgpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbngpXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnbWFyZ2luJywgKFxuICAgICAgICAgICAgJy5tYXJnaW4tJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCB5KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG55KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbWFyZ2luJywgKFxuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6XG4gICAgICAgICAgICAgICAgKCcubWFyZ2luLScsIG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIGwpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbmwpXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6XG4gICAgICAgICAgICAgICAgKCcubWFyZ2luLScsIG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIHIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbnIpXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBtYXJnaW4tdG9wOlxuICAgICAgICAgICAgICAgICgnLm1hcmdpbi0nLCBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCB0KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG50KVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpcbiAgICAgICAgICAgICAgICAoJy5tYXJnaW4tJywgbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKCRtZW5kZWxlZXYtc2l6ZXMtYXV0bywgYiksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMobWFwLWFwcGx5LXZhbHVlcyhuZWdhdGUsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLCBuYilcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU0laRVNcblxuICAgICRtZW5kZWxlZXYtc2l6ZXM6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLCAoXG4gICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgIGF2YWlsYWJsZTogYXZhaWxhYmxlLFxuICAgICAgICBmaXQ6IGZpdC1jb250ZW50LFxuICAgICAgICBtYXg6IG1heC1jb250ZW50LFxuICAgICAgICBtaW46IG1pbi1jb250ZW50LFxuICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3NpemVzJywgKFxuICAgICAgICAgICAgJy5zaXplLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1zaXplcyxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IG51bGwsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBIb3Jpem9udGFsIGFuZCB2ZXJ0aWNhbFxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3NpemVzJywgKFxuICAgICAgICAgICAgd2lkdGg6XG4gICAgICAgICAgICAgICAgKCcuc2l6ZS14JywgJG1lbmRlbGVldi1zaXplcyksXG4gICAgICAgICAgICBoZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcuc2l6ZS15JywgJG1lbmRlbGVldi1zaXplcyksXG4gICAgICAgICAgICBsaW5lLWhlaWdodDpcbiAgICAgICAgICAgICAgICAoJy5saW5lLWhlaWdodC0nLCBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICAgICAgICAgKG5vcm1hbDogbm9ybWFsKVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3NpemluZycsIChcbiAgICAgICAgICAgIHdpZHRoOlxuICAgICAgICAgICAgICAgICgnLndpZHRoLScsICRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlKSxcbiAgICAgICAgICAgIG1heC13aWR0aDpcbiAgICAgICAgICAgICAgICAoJy5tYXgtd2lkdGgtJywgJG1lbmRlbGVldi1ncmlkLXNpemUtc2NhbGUpLFxuICAgICAgICAgICAgbWluLXdpZHRoOlxuICAgICAgICAgICAgICAgICgnLm1pbi13aWR0aC0nLCAkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZSksXG4gICAgICAgICAgICBoZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcuaGVpZ2h0LScsICRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlKSxcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcubWF4LWhlaWdodC0nLCAkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZSksXG4gICAgICAgICAgICBtaW4taGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLm1pbi1oZWlnaHQtJywgJG1lbmRlbGVldi1ncmlkLXNpemUtc2NhbGUpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05UUk9MIExBWU9VVCAoT1ZFUkZMT1csIEZMT0FUUywgRElTUExBWSwgUE9TSVRJT04pXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuXG4gICAgLy8gQ29udGFpbmVyXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2xheW91dC5jb250YWluZXInLCAoXG4gICAgICAgICAgICAnLmNvbnRhaW5lci0xJzogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgKG1heC13aWR0aDogNDRyZW0gKyAyICogJG1lbmRlbGVldi11bml0LXNpemUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5jb250YWluZXItMic6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIChtYXgtd2lkdGg6IDM4cmVtICsgMiAqICRtZW5kZWxlZXYtdW5pdC1zaXplKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY29udGFpbmVyLTMnOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICRtZW5kZWxlZXYtY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAobWF4LXdpZHRoOiAyOXJlbSArIDIgKiAkbWVuZGVsZWV2LXVuaXQtc2l6ZSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNvbnRhaW5lci00JzogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgKG1heC13aWR0aDogMjByZW0gKyAyICogJG1lbmRlbGVldi11bml0LXNpemUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5yYWlzZS1maXJzdCA+ICo6Zmlyc3QtY2hpbGQnOiAoXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgLy8gUG9zaXRpb24gb24gcGFnZSAocGluLCBwaW4tbGVmdCwgcGluLXRvcCwgZXRjKVxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdsYXlvdXQucG9zaXRpb24nLCAoXG4gICAgICAgICAgICAnLnBpbic6IChcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tbm9uZSc6IChcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8sXG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvLFxuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG8sXG4gICAgICAgICAgICAgICAgcmlnaHQ6IGF1dG8sXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4teCc6IChcbiAgICAgICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucGluLXknOiAoXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBpbi1sZWZ0JzogKFxuICAgICAgICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tcmlnaHQnOiAoXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tdG9wJzogKFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBpbi1ib3R0b20nOiAoXG4gICAgICAgICAgICAgICAgYm90dG9tOiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBEaXNwbGF5XG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbGF5b3V0LmRpc3BsYXknLCAoXG4gICAgICAgICAgICBkaXNwbGF5OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgYmxvY2s6IGJsb2NrLFxuICAgICAgICAgICAgICAgICAgICBpbmxpbmU6IGlubGluZSxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lLWJsb2NrOiBpbmxpbmUtYmxvY2ssXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlOiB0YWJsZSxcbiAgICAgICAgICAgICAgICAgICAgdGFibGUtY2VsbDogdGFibGUtY2VsbCxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lLWZsZXg6IGlubGluZS1mbGV4LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vIEZsb2F0XG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbGF5b3V0LmZsb2F0JywgKFxuICAgICAgICAgICAgZmxvYXQ6XG4gICAgICAgICAgICAgICAgKCcuZmxvYXQtJywgKFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8gUG9zaXRpb24gKGFic29sdXRlLCByZWxhdGl2ZSwgZXRjKVxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2xheW91dC5wb3NpdGlvbicsIChcbiAgICAgICAgICAgIHBvc2l0aW9uOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgYWJzb2x1dGU6IGFic29sdXRlLFxuICAgICAgICAgICAgICAgICAgICBmaXhlZDogZml4ZWQsXG4gICAgICAgICAgICAgICAgICAgIHJlbGF0aXZlOiByZWxhdGl2ZSxcbiAgICAgICAgICAgICAgICAgICAgc3RhdGljOiBzdGF0aWMsXG4gICAgICAgICAgICAgICAgICAgIHN0aWNreTogc3RpY2t5LFxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgLy8gT3ZlcmZsb3dcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdsYXlvdXQub3ZlcmZsb3cnLCAoXG4gICAgICAgICAgICBvdmVyZmxvdzpcbiAgICAgICAgICAgICAgICAoJy5vdmVyZmxvdy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIG92ZXJmbG93LXg6XG4gICAgICAgICAgICAgICAgKCcub3ZlcmZsb3cteC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIG92ZXJmbG93LXk6XG4gICAgICAgICAgICAgICAgKCcub3ZlcmZsb3cteS0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGhpZGRlbjogaGlkZGVuLFxuICAgICAgICAgICAgICAgICAgICB2aXNpYmxlOiB2aXNpYmxlLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQk9SREVSU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQm9yZGVyIHNpemUgKHB4KVxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2JvcmRlcicsIChcbiAgICAgICAgICAgIGJvcmRlcjpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItJywgJG1lbmRlbGVldi1ib3JkZXItc2NhbGUpLFxuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLWwnLCAkbWVuZGVsZWV2LWJvcmRlci1zY2FsZSksXG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLXInLCAkbWVuZGVsZWV2LWJvcmRlci1zY2FsZSksXG4gICAgICAgICAgICBib3JkZXItdG9wOlxuICAgICAgICAgICAgICAgICgnLmJvcmRlci10JywgJG1lbmRlbGVldi1ib3JkZXItc2NhbGUpLFxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItYicsICRtZW5kZWxlZXYtYm9yZGVyLXNjYWxlKSxcbiAgICAgICAgICAgIGJvcmRlci1zdHlsZTpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItJywgKFxuICAgICAgICAgICAgICAgICAgICBzb2xpZDogc29saWQsXG4gICAgICAgICAgICAgICAgICAgIGRhc2hlZDogZGFzaGVkLFxuICAgICAgICAgICAgICAgICAgICBkb3R0ZWQ6IGRvdHRlZCxcbiAgICAgICAgICAgICAgICAgICAgbm9uZTogbm9uZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUm91bmRlZCBjb3JuZXJzXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3JvdW5kZWQnLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQWxsIGRpcmVjdGlvbnNcbiAgICAgICAgICAgICcucm91bmRlZC0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtcmFkaXVzLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRGlyZWN0aW9uYWwgcm91bmRlZCBjb3JuZXJzXG4gICAgICAgICAgICAnLnJvdW5kZWQtdCc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdW5kZWQtYic6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdW5kZWQtcic6c2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXJhZGl1cy1zY2FsZS1yZW0sXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdW5kZWQtbCc6c2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXJhZGl1cy1zY2FsZS1yZW0sXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGTEVYIEJPWEVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWd1dHRlci1zY2FsZTogJGZuLWVtcHR5LW1hcDtcbkBlYWNoICRrIGluICgxLCAyLCAzLCA0KSB7XG4gICAgJHNpemU6IHNpemUtc2NhbGUoJGspO1xuICAgICRjc3M6IChcbiAgICAgICAgbWFyZ2luOiB1bnF1b3RlKCcjeyRzaXplfSAtI3skc2l6ZX0nKSxcbiAgICAgICAgJz4gKic6IChcbiAgICAgICAgICAgIG1hcmdpbjogJHNpemUsXG4gICAgICAgICksXG4gICAgICAgICcmICsgJic6KFxuICAgICAgICAgICAgbWFyZ2luLXRvcDogLSRzaXplLFxuICAgICAgICApLFxuICAgICk7XG4gICAgJG1lbmRlbGVldi1ndXR0ZXItc2NhbGU6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LWd1dHRlci1zY2FsZSwgKCcmI3ska30nOiAkY3NzKSk7XG59XG5cbkBpZiAkbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllcyB7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRmxleGlibGUgZ3JpZFxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdmb28nLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gUm93IGRlZmluaXRpb25zIGFuZCBtb2RpZmllcnNcbiAgICAgICAgICAgICcuZm9vYmFyJzogKFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXgsXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3csXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnZmxleC1ncmlkJywgKFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFJvdyBkZWZpbml0aW9ucyBhbmQgbW9kaWZpZXJzXG4gICAgICAgICAgICAnLnJvdyc6IChcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93LFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnJvdy1pbmxpbmUnOiAoXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXgsXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3csXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucm93LWV4cGFuZCc6IChcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIENvbCBkZWZpbml0aW9ucyBhbmQgbW9kaWZpZXJzXG4gICAgICAgICAgICAnLmNvbCc6IChcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uLFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDAsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNvbC1pbmxpbmUnOiAoXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXgsXG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW4sXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY29sLWV4cGFuZCc6IChcbiAgICAgICAgICAgICAgICAnPiAqJzogKFxuICAgICAgICAgICAgICAgICAgICBmbGV4OiAxLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gR3V0dGVyIHNjYWxlXG4gICAgICAgICAgICAnLmd1dHRlci0nOiAkbWVuZGVsZWV2LWd1dHRlci1zY2FsZSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRmxleGJveCByZWxhdGVkIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2ZsZXgnLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRGlyZWN0aW9uXG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjpcbiAgICAgICAgICAgICAgICAoJy5mbGV4LScsIChcbiAgICAgICAgICAgICAgICAgICAgcm93OiByb3csXG4gICAgICAgICAgICAgICAgICAgIHJvdy1yZXZlcnNlOiByb3ctcmV2ZXJzZSxcbiAgICAgICAgICAgICAgICAgICAgY29sdW1uOiBjb2x1bW4sXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1yZXZlcnNlOiBjb2x1bW4tcmV2ZXJzZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBBbGlnbm1lbnQgYWxvbmcgdGhlIGZsZXggYXhpc1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmZsZXgtJywgKFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICAgICAgICAgICAgICBldmVubHk6IHNwYWNlLWV2ZW5seSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBBbGlnbm1lbnQgcGVycGVuZGljdWxhcmx5IHRvIHRoZSBmbGV4IGF4aXNcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOlxuICAgICAgICAgICAgICAgICgnLml0ZW1zLScsIChcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICAgICAgICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQWxpZ25tZW50IG9mIGZsZXggY29udGVudCBsaW5lcyBpbiB0aGUgYXZhaWxhYmxlIGFyZWFcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6XG4gICAgICAgICAgICAgICAgKCcuY29udGVudC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgICAgICAgICAgICAgYmV0d2Vlbjogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgICAgICAgICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFdyYXBwaW5nXG4gICAgICAgICAgICBmbGV4LXdyYXA6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICB3cmFwOiB3cmFwLFxuICAgICAgICAgICAgICAgICAgICBub3dyYXA6IG5vd3JhcCxcbiAgICAgICAgICAgICAgICAgICAgd3JhcC1yZXZlcnNlOiB3cmFwLXJldmVyc2UsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvLyBBbGlnbiBhIHNpbmdsZSBlbGVtZW50XG4gICAgICAgICAgICBhbGlnbi1zZWxmOlxuICAgICAgICAgICAgICAgICgnLnNlbGYtJywgKFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgICAgICAgICAgICAgIGJhc2VsaW5lOiBiYXNlbGluZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBGbGV4IGdyb3cgYW5kIHNocmlua1xuICAgICAgICAgICAgZmxleC1zaHJpbms6XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHNocmluazogMSxcbiAgICAgICAgICAgICAgICAgICAgbm9zaHJpbms6IDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBmbGV4LWdyb3c6XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGdyb3c6IDEsXG4gICAgICAgICAgICAgICAgICAgIG5vZ3JvdzogMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBGbGV4IGdyb3cgc2NhbGVcbiAgICAgICAgICAgIGZsZXg6XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgICcxJzogMSxcbiAgICAgICAgICAgICAgICAgICAgJzInOiAyLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IDMsXG4gICAgICAgICAgICAgICAgICAgICc0JzogNCxcbiAgICAgICAgICAgICAgICAgICAgJzUnOiA1LFxuICAgICAgICAgICAgICAgICAgICAnNic6IDYsXG4gICAgICAgICAgICAgICAgICAgICc3JzogNyxcbiAgICAgICAgICAgICAgICAgICAgJzgnOiA4LFxuICAgICAgICAgICAgICAgICAgICAnOSc6IDksXG4gICAgICAgICAgICAgICAgICAgICcxMCc6IDEwLFxuICAgICAgICAgICAgICAgICAgICAnMTEnOiAxMSxcbiAgICAgICAgICAgICAgICAgICAgJzEyJzogMTIsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRmxleCBvcmRlciBzY2FsZVxuICAgICAgICAgICAgb3JkZXI6XG4gICAgICAgICAgICAgICAgKCcub3JkZXItJywgKFxuICAgICAgICAgICAgICAgICAgICAnMSc6IDEsXG4gICAgICAgICAgICAgICAgICAgICcyJzogMixcbiAgICAgICAgICAgICAgICAgICAgJzMnOiAzLFxuICAgICAgICAgICAgICAgICAgICAnNCc6IDQsXG4gICAgICAgICAgICAgICAgICAgICc1JzogNSxcbiAgICAgICAgICAgICAgICAgICAgJzYnOiA2LFxuICAgICAgICAgICAgICAgICAgICAnNyc6IDcsXG4gICAgICAgICAgICAgICAgICAgICc4JzogOCxcbiAgICAgICAgICAgICAgICAgICAgJzknOiA5LFxuICAgICAgICAgICAgICAgICAgICAnMTAnOiAxMCxcbiAgICAgICAgICAgICAgICAgICAgJzExJzogMTEsXG4gICAgICAgICAgICAgICAgICAgICcxMic6IDEyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDU1MgR1JJRFxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcblxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBSRUdVTEFSIENTUyBHUklEXG4gICAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2dyaWQnLCAoXG4gICAgICAgICAgICAvLyBCYXNpYyBkZWZpbml0aW9uc1xuICAgICAgICAgICAgJy5ncmlkLWRlbnNlJzogKFxuICAgICAgICAgICAgICAgIGdyaWQtYXV0by1mbG93OiBkZW5zZVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vIFRlbXBsYXRlc1xuICAgICAgICAgICAgJy5ncmlkLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1ncmlkLXNjYWxlLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZEdhcCc6IDAsXG4gICAgICAgICAgICAgICAgICAgICctLWdyaWRTaXplJzogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6ICdyZXBlYXQoJDEsIDFmciknLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAvLyBSb3cgdGVtcGxhdGVzXG4gICAgICAgICAgICAnLnJvd3MtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LWdyaWQtc2NhbGUsXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICAnLS1ncmlkR2FwJzogMCxcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZFNpemUnOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogJ3JlcGVhdCgkMSwgMWZyKScsXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHYXAgYmV0d2VlbiBjZWxsc1xuICAgICAgICAgICAgJy5nYXAtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LWdyaWQtZ2FwLXNjYWxlLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZEdhcCc6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICdncmlkLWdhcCc6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgICdnYXAnOiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgIClcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdncmlkJywgKFxuICAgICAgICAgICAgZGlzcGxheTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGdyaWQ6IGdyaWQsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBncmlkLWF1dG8tZmxvdzpcbiAgICAgICAgICAgICAgICAoJy5ncmlkLScsIChcbiAgICAgICAgICAgICAgICAgICAgZGVuc2U6IGRlbnNlLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEdsb2JhbCBjZWxsIHBsYWNlbWVudFxuICAgICAgICAgICAgcGxhY2UtaXRlbXM6XG4gICAgICAgICAgICAgICAgKCcucGxhY2UtJywgKFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGp1c3RpZnktaXRlbXM6XG4gICAgICAgICAgICAgICAgKCcucGxhY2UtJywgKFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOlxuICAgICAgICAgICAgICAgICgnLnBsYWNlLScsIChcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci15OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXk6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2hcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHcmlkIGFsaWdubWVudCBvbiBpdHMgY29udGFpbmVyXG4gICAgICAgICAgICBwbGFjZS1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmdyaWQtJywgKFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kOiBzcGFjZS1hcm91bmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGV2ZW5seTogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmdyaWQtJywgKFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kLXg6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgICAgICAgICAgICAgYmV0d2Vlbi14OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBldmVubHkteDogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYWxpZ24tY29udGVudDpcbiAgICAgICAgICAgICAgICAoJy5ncmlkLScsIChcbiAgICAgICAgICAgICAgICAgICAgdG9wOiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci15OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteTogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgYXJvdW5kLXk6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgICAgICAgICAgICAgYmV0d2Vlbi15OiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBldmVubHkteTogc3BhY2UtZXZlbmx5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEluZGl2aWR1YWwgY2VsbCBhbGlnbm1lbnRcbiAgICAgICAgICAgIHBsYWNlLXNlbGY6XG4gICAgICAgICAgICAgICAgKCcuY2VsbC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAganVzdGlmeS1zZWxmOlxuICAgICAgICAgICAgICAgICgnLmNlbGwtJywgKFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBzdGFydCxcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBlbmQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2gteDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGFsaWduLXNlbGY6XG4gICAgICAgICAgICAgICAgKCcuY2VsbC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHRvcDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteTogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXk6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gSW5kaXZpZHVhbCBjZWxsIHBvc2l0aW9uaW5nIGFuZCBzcGFuXG4gICAgICAgICAgICBncmlkLWNvbHVtbi1zdGFydDpcbiAgICAgICAgICAgICAgICAoJy5hdC1jb2wtJywgJG1lbmRlbGVldi1ncmlkLXNjYWxlKSxcbiAgICAgICAgICAgIGdyaWQtcm93LXN0YXJ0OlxuICAgICAgICAgICAgICAgICgnLmF0LXJvdy0nLCAkbWVuZGVsZWV2LWdyaWQtc2NhbGUpLFxuICAgICAgICAgICAgZ3JpZC1jb2x1bW46XG4gICAgICAgICAgICAgICAgKCcuY29sLXNwYW4nLCAkbWVuZGVsZWV2LWdyaWQtc3Bhbi1kYXRhKSxcbiAgICAgICAgICAgIGdyaWQtcm93OlxuICAgICAgICAgICAgICAgICgnLnJvdy1zcGFuJywgJG1lbmRlbGVldi1ncmlkLXNwYW4tZGF0YSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBIQVJEIEdSSURcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGNvbDogKCk7XG4gICAgJHJvdzogKCk7XG4gICAgQGVhY2ggJGssICRuIGluICRtZW5kZWxlZXYtZ3JpZC1zY2FsZSB7XG4gICAgICAgICRjb2w6IG1hcC1tZXJnZSgkY29sLCAoJyYjeyRrfSc6IChcbiAgICAgICAgICAgICctLWdyaWQtZ2FwJzogMCxcbiAgICAgICAgICAgICctLWdyaWQtc2l6ZSc6ICRuLFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZCxcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogdW5xdW90ZSgncmVwZWF0KCN7JG59LCBjYWxjKCN7MTAwJSAvICRufSAtICN7KCRuIC0gMSkgLyAkbn0gKiB2YXIoLS1ncmlkLWdhcCkpKScpLFxuICAgICAgICApKSk7XG5cbiAgICAgICAgJHJvdzogbWFwLW1lcmdlKCRyb3csICgnJiN7JGt9JzogKFxuICAgICAgICAgICAgJy0tZ3JpZC1nYXAnOiAwLFxuICAgICAgICAgICAgJy0tZ3JpZC1zaXplJzogJG4sXG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkLFxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiB1bnF1b3RlKCdyZXBlYXQoI3skbn0sIGNhbGMoI3sxMDAlIC8gJG59IC0gI3soJG4gLSAxKSAvICRufSAqIHZhcigtLWdyaWQtZ2FwKSkpJyksXG4gICAgICAgICkpKTtcbiAgICB9XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnaGFyZC1ncmlkJywgKFxuICAgICAgICAgICAgLy8gQmFzaWMgZGVmaW5pdGlvbnNcbiAgICAgICAgICAgICcuaGFyZC1ncmlkJzogKFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gVGVtcGxhdGVzXG4gICAgICAgICAgICAnLmhhcmQtZ3JpZC0nOiAkY29sLFxuICAgICAgICAgICAgJy5oYXJkLXJvd3MtJzogJHJvdyxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFJBTlNGT1JNQVRJT05TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd0cmFuc2Zvcm0nLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gR3JvdyBhbmQgc2hyaW5rXG4gICAgICAgICAgICAnLmdyb3ctJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LWdyb3ctc2NhbGUsXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKCQxLCAkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgJy5zaHJpbmstJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXNocmluay1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAnc2NhbGUoJDEsICQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gUm90YXRpb25zXG4gICAgICAgICAgICAnLnJvdGF0ZS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICgzMDogMzAsIDQ1OiA0NSwgNjA6IDYwLCA5MDogOTApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoJDFkZWcpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgICcucm90YXRlLW4nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICgzMDogMzAsIDQ1OiA0NSwgNjA6IDYwLCA5MDogOTApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdyb3RhdGUoLSQxZGVnKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdGF0ZS0xODAnOiAoXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB1bnF1b3RlKCdyb3RhdGUoMTgwZGVnKScpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHcmV5IHNjYWxlXG4gICAgICAgICAgICAnLmdyYXlzY2FsZS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtdHJhbnNmb3JtLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdncmF5c2NhbGUoJDEpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBTZXBpYVxuICAgICAgICAgICAgJy5zZXBpYS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtdHJhbnNmb3JtLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdzZXBpYSgkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEludmVydFxuICAgICAgICAgICAgJy5pbnZlcnQtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXRyYW5zZm9ybS1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnaW52ZXJ0KCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQ29udHJhc3RcbiAgICAgICAgICAgICcuY29udHJhc3QtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXRyYW5zZm9ybS1kb3VibGUtc2NhbGUsXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogJ2NvbnRyYXN0KCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQnJpZ2h0bmVzc1xuICAgICAgICAgICAgJy5icmlnaHRuZXNzLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi10cmFuc2Zvcm0tZG91YmxlLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdicmlnaHRuZXNzKCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gU2F0dXJhdGlvblxuICAgICAgICAgICAgJy5zYXR1cmF0aW9uLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi10cmFuc2Zvcm0tZG91YmxlLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdzYXR1cmF0ZSgkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3RyYW5zZm9ybScsIChcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBPcmlnaW4gbG9jYXRpb25cbiAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46XG4gICAgICAgICAgICAgICAgKCcudHJhbnNmb3JtLScsIChcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIgY2VudGVyIDAsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2VudGVyIHRvcCAwLFxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGNlbnRlciBib3R0b20gMCxcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogbGVmdCBjZW50ZXIgMCxcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0IGNlbnRlciAwLFxuICAgICAgICAgICAgICAgICAgICBuZTogcmlnaHQgdG9wIDAsXG4gICAgICAgICAgICAgICAgICAgIG53OiBsZWZ0IHRvcCAwLFxuICAgICAgICAgICAgICAgICAgICBzZTogcmlnaHQgYm90dG9tIDAsXG4gICAgICAgICAgICAgICAgICAgIHN3OiBsZWZ0IGJvdHRvbSAwLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05UUk9MIFZJU0lCSUxJVFksIE9QQUNJVFkgQU5EIFotVkFMVUVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgIC8vIC52aXNpYmxlIGFuZCAuaGlkZGVuIHV0aWxpdHkgY2xhc3Nlc1xuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3Zpc2liaWxpdHknLCAoXG4gICAgICAgICAgICB2aXNpYmlsaXR5OlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgaW52aXNpYmxlOiBoaWRkZW4sXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBvcGFjaXR5OlxuICAgICAgICAgICAgICAgICgnLm9wYWNpdHktJywgKFxuICAgICAgICAgICAgICAgICAgICAnMCc6IDAuMDAsXG4gICAgICAgICAgICAgICAgICAgICcxJzogMC4wNSxcbiAgICAgICAgICAgICAgICAgICAgJzInOiAwLjEwLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IDAuMjUsXG4gICAgICAgICAgICAgICAgICAgICc0JzogMC41MCxcbiAgICAgICAgICAgICAgICAgICAgJzUnOiAwLjc1LFxuICAgICAgICAgICAgICAgICAgICAnNic6IDAuOTAsXG4gICAgICAgICAgICAgICAgICAgICc3JzogMC45NSxcbiAgICAgICAgICAgICAgICAgICAgZnVsbDogMS4wMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHotaW5kZXg6XG4gICAgICAgICAgICAgICAgKCcuei0nLCAoXG4gICAgICAgICAgICAgICAgICAgICcwJzogMCxcbiAgICAgICAgICAgICAgICAgICAgJzEnOiAxMDAsXG4gICAgICAgICAgICAgICAgICAgICcyJzogMjAwLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IDMwMCxcbiAgICAgICAgICAgICAgICAgICAgJzQnOiA0MDAsXG4gICAgICAgICAgICAgICAgICAgICc1JzogNTAwLFxuICAgICAgICAgICAgICAgICAgICAnNic6IDYwMCxcbiAgICAgICAgICAgICAgICAgICAgJzcnOiA3MDAsXG4gICAgICAgICAgICAgICAgICAgICc4JzogODAwLFxuICAgICAgICAgICAgICAgICAgICAnOSc6IDkwMCxcbiAgICAgICAgICAgICAgICAgICAgJzEwJzogMTAwMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBWaXNpYmlsaXR5XG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3Zpc2liaWxpdHknLCAoXG4gICAgICAgICAgICAnLmhpZGRlbic6IChcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICdbaGlkZGVuXSc6IChcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY2xlYXJmaXg6YWZ0ZXInOiAoXG4gICAgICAgICAgICAgICAgY2xlYXI6IGJvdGgsXG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCIsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogdGFibGUsXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVNDOiBDb25jZW50cmF0ZSBzaW1wbGUgdXRpbGl0eSBkZWNsYXJhdGlvbnNcbi8vXG4vLyBTZWN0aW9uczpcbi8vICAqIEJhY2tncm91bmRcbi8vICAqIENvbG9yc1xuLy8gICogSW50ZXJhY3Rpdml0eVxuLy8gICogTGlzdFxuLy8gICogU2hhZG93c1xuLy9cbi8vIG9icy46IGtlZXAgYWxsIHNlY3Rpb25zIGluIGFscGhhYmV0aWMgb3JkZXIuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBCQUNLR1JPVU5EXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnYmFja2dyb3VuZCcsIChcbiAgICAgICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGZpeGVkOiBmaXhlZCxcbiAgICAgICAgICAgICAgICAgICAgbG9jYWw6IGxvY2FsLFxuICAgICAgICAgICAgICAgICAgICBzY3JvbGw6IHNjcm9sbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teDpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByaWdodCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyLXg6IGNlbnRlcixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogYm90dG9tLFxuICAgICAgICAgICAgICAgICAgICB0b3A6dG9wLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteTogY2VudGVyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgKFxuICAgICAgICAgICAgICAgICAgICByZXBlYXQ6IHJlcGVhdCxcbiAgICAgICAgICAgICAgICAgICAgbm8tcmVwZWF0OiBuby1yZXBlYXQsXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdC14OiByZXBlYXQteCxcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0LXk6IHJlcGVhdC15LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOlxuICAgICAgICAgICAgICAgICgnLmJnLScsIChcbiAgICAgICAgICAgICAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgICAgICAgICAgICAgY292ZXI6IGNvdmVyLFxuICAgICAgICAgICAgICAgICAgICBjb250YWluOiBjb250YWluLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQ09MT1JTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRhdGE6ICgpO1xuICAgIEBlYWNoICRyb2xlIGluICRtZW5kZWxlZXYtY29sb3Itcm9sZXMge1xuICAgICAgICAkdmFsdWU6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1wYWxldHRlLCAkcm9sZSk7XG4gICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsIChcbiAgICAgICAgICAgICcuY29sb3ItI3skcm9sZX0nOiAoXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgJHZhbHVlKSxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdmFsdWUsXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcbiAgICB9XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnY29sb3JzJyxcbiAgICAgICAgICAgICRkYXRhXG4gICAgKTtcblxuICAgICRkYXRhOiAoKTtcbiAgICBAZWFjaCAkcm9sZSBpbiAkbWVuZGVsZWV2LWNvbG9yLXJvbGVzIHtcbiAgICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJHJvbGUpO1xuICAgICAgICAkZGF0YTogbWFwLW1lcmdlKCRkYXRhLCAoJHJvbGU6ICR2YWx1ZSkpO1xuICAgIH1cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2NvbG9ycycsIChcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBDcmVhdGUgYWxsIC5iZy0qIGNsYXNzZXNcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgJGRhdGEpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIENyZWF0ZSBhbGwgLnRleHQtKiBjbGFzc2VzXG4gICAgICAgICAgICBjb2xvcjpcbiAgICAgICAgICAgICAgICAoJy50ZXh0LScsICRkYXRhKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSU5URVJBQ1RJVklUWVxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2ludGVyYWN0aXZpdHknLCAoXG4gICAgICAgICAgICBjdXJzb3I6XG4gICAgICAgICAgICAgICAgKCcuY3Vyc29yLScsIChcbiAgICAgICAgICAgICAgICAgICAgYXV0bzogYXV0byxcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdDogZGVmYXVsdCxcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlcjogcG9pbnRlcixcbiAgICAgICAgICAgICAgICAgICAgd2FpdDogd2FpdCxcbiAgICAgICAgICAgICAgICAgICAgbW92ZTogbW92ZSxcbiAgICAgICAgICAgICAgICAgICAgbm90LWFsbG93ZWQ6IG5vdC1hbGxvd2VkLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0byxcbiAgICAgICAgICAgICAgICAgICAgbm8tcG9pbnRlci1ldmVudHM6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB1c2VyLXNlbGVjdDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHNlbGVjdDogdGV4dCxcbiAgICAgICAgICAgICAgICAgICAgbm8tc2VsZWN0OiBub25lLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMSVNUXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gUmVtb3ZlIGxpc3Qgc3R5bGVzXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2xpc3QnLCAoXG4gICAgICAgICAgICAnLmxpc3QtaW5saW5lJzogKFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAsXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLFxuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmUsXG4gICAgICAgICAgICAgICAgJz4gbGknOiAoXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcubGlzdC1yZXNldCc6IChcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSxcbiAgICAgICAgJGlzLWNsYXNzOiB0cnVlXG4gICAgKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2xpc3QnLCAoXG4gICAgICAgICAgICBsaXN0LXN0eWxlOlxuICAgICAgICAgICAgICAgICgnLmxpc3QtJywgKFxuICAgICAgICAgICAgICAgICAgICBkZWNpbWFsOiBkZWNpbWFsLFxuICAgICAgICAgICAgICAgICAgICBjaXJjbHV6ZTogY2lyY2x1emUsXG4gICAgICAgICAgICAgICAgICAgIGRpc2M6IGRpc2MsXG4gICAgICAgICAgICAgICAgICAgIHNxdWFyZTogc3F1YXJlLFxuICAgICAgICAgICAgICAgICAgICByb21hbjogcm9tYW4sXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNIQURPV1NcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdzaGFkb3cnLCAoXG4gICAgICAgICAgICBib3gtc2hhZG93OlxuICAgICAgICAgICAgICAgICgnLnNoYWRvdy0nLCAoXG4gICAgICAgICAgICAgICAgICAgICcxJzogdW5xdW90ZSgnMCAwIDRweCAwIHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMnB4IDhweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSknKSxcbiAgICAgICAgICAgICAgICAgICAgJzInOiB1bnF1b3RlKCcwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpJyksXG4gICAgICAgICAgICAgICAgICAgICczJzogdW5xdW90ZSgnMCA4cHggMTZweCAwIHJnYmEoMCwgMCwgMCwgMC4xMSksIDAgNHB4IDhweCAwIHJnYmEoMCwgMCwgMCwgMC4wOCknKSxcbiAgICAgICAgICAgICAgICAgICAgJzQnOiB1bnF1b3RlKCcwIDE1cHggMzBweCAwIHJnYmEoMCwgMCwgMCwgMC4xMSksIDAgNXB4IDE1cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpJyksXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnc2hhZG93JywgKFxuICAgICAgICAgICAgJy5pbm5lci1zaGFkb3cnOiAoXG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5xdW90ZSgnaW5zZXQgMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA2KScpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcubm8tc2hhZG93JzogKFxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUsXG4gICAgICAgICAgICApXG4gICAgICAgICkpO1xufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBJTlRFUlBPTEFURSBVVElMSVRZIENMQVNTRVNcbi8vLyBAZ3JvdXAgVXRpbGl0aWVzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbiRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZTogJGZuLWVtcHR5LW1hcCAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIGNzcy1mcm9tLXV0aWxpdGllcygkYXJncy4uLikge1xuICAgICRyZXM6ICRmbi1lbXB0eS1tYXA7XG4gICAgJGNsYXNzZXM6IGxzdC1tYXAocmFkZCwgbHN0LWZyb20tYXJyYXkoJGFyZ3MpLCAnLicpO1xuICAgIEB3aGlsZSAkY2xhc3NlcyB7XG4gICAgICAgICRjbHM6IG50aCgkY2xhc3NlcywgMSk7XG4gICAgICAgICRjc3M6IG1hcC1nZXQoJG1lbmRlbGVldi1jbGFzc2VzLWNhY2hlLCAkY2xzKTtcbiAgICAgICAgJGNsYXNzZXM6IG50aCgkY2xhc3NlcywgMik7XG4gICAgICAgIEBpZiAkY3NzIHtcbiAgICAgICAgICAgICRyZXM6IG1hcC1tZXJnZSgkcmVzLCAkY3NzKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAZXJyb3IgJ1V0aWxpdHkgbm90IGZvdW5kOiAjeyRjbHN9JztcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXM7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNSVhJTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBJbmNsdWRlcyBkZWZpbml0aW9ucyBmcm9tIHRoZSBsaXN0ZWQgdXRpbGl0eSBjbGFzc2VzIGluIGFyZ3VtZW50XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIC5mb28ge1xuLy8vICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdjb2xvci1icmFuZCBtYXJnaW4tMiBwYWQtNCcpO1xuLy8vICAgICB9XG5AbWl4aW4gdXRpbGl0aWVzKCRhcmdzLi4uKSB7XG4gICAgJGFyZ3M6IGlmKGxlbmd0aCgkYXJncykgPT0gMSwgbnRoKCRhcmdzLCAxKSwgJGFyZ3MpO1xuICAgIEBpZiBsZW5ndGgoJGFyZ3MpID09IDEgYW5kIHR5cGUtb2YoJGFyZ3MpID09IHN0cmluZyB7XG4gICAgICAgICRhcmdzOiBsc3QtdG8tYXJyYXkoc3RyLXNwbGl0KCRhcmdzLCAnICcpKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZnJvbS1tYXAoY3NzLWZyb20tdXRpbGl0aWVzKCRhcmdzLi4uKSk7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHTE9CQUwgY29uZmlndXJhdGlvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiBub3QgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cyhNRU5ERUxFRVZfVVRJTElUSUVTX0NBQ0hFKSB7XG4gICAgJGF1eDogbHN0LXNlcGFyYXRlKGtleXMtZXF1YWwsIGxzdC1zdGl0Y2goJG1lbmRlbGVldi1jc3MtY2xhc3NlcywgJG1lbmRlbGVldi1jc3MpLCAodHlwZTogbXVsdGlwbGUpKTtcbiAgICAkY3NzLW11bHRpcGxlOiBudGgoJGF1eCwgMSk7XG4gICAgJGNzcy1zaW1wbGU6IG50aCgkYXV4LCAyKTtcblxuICAgIC8vIEZsYXR0ZW4gYWxsIGRlY2xhcmF0aW9ucyBtYWRlIHdpdGggbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlICh0eXBlPT1tdWx0aXBsZSlcbiAgICAvLyBpbnRvIGEgc2luZ2xlIGRpY3Rpb25hcnkuXG4gICAgJGNhY2hlOiBsc3QtZmxhdHRlbi1tYXAobHN0LW1hcChtYXAtZ2V0LCAkY3NzLW11bHRpcGxlLCBkYXRhKSk7XG5cbiAgICAvLyBFeHRyYWN0IGRlY2xhcmF0aW9ucyB0aGF0IHVzZXMgbWVuZGVsZWV2LXV0aWxpdHkuIChUT0RPKVxuICAgIC8vIFRob3NlIGRlY2xhcmF0aW9ucyBjYW4gYmUgdHJpY2tpZXIgc2luY2UgaXQgbWlnaHQgaW5jbHVkZSBuZXN0ZWQgbWFwcGluZ3NcbiAgICAvLyBhbmQgb3RoZXIgY29tcGxpY2F0aW9ucy5cbiAgICAkZW50cmllczogbnVsbDtcbiAgICBAd2hpbGUgJGNzcy1zaW1wbGUge1xuICAgICAgICAkY3NzOiBudGgoJGNzcy1zaW1wbGUsIDEpO1xuICAgICAgICAkY3NzLXNpbXBsZTogbnRoKCRjc3Mtc2ltcGxlLCAyKTtcblxuICAgICAgICAkbmFtZTogbWFwLWdldCgkY3NzLCBuYW1lKTtcbiAgICAgICAgJGRhdGE6IG1hcC1nZXQoJGNzcywgZGF0YSk7XG5cbiAgICAgICAgQGlmIG5vdCBtYXAtc29tZS1rZXlzKHN0ci1pbmRleCwgJGRhdGEsICcmJykge1xuICAgICAgICAgICAgJGVudHJpZXM6ICgoJG5hbWU6ICRkYXRhKSAkZW50cmllcyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJGZsYXQtY3NzOiBudWxsO1xuICAgICAgICAgICAgJGNvbW1vbjogJGZuLWVtcHR5LW1hcDtcbiAgICAgICAgICAgIEBlYWNoICRrLCAkdiBpbiAkZGF0YSB7XG4gICAgICAgICAgICAgICAgQGlmIHN0ci1pbmRleCgkaywgJyYnKSB7XG4gICAgICAgICAgICAgICAgICAgICRzZWxlY3Rvcjogc2VsZWN0b3ItbmVzdCgkbmFtZSwgJGspO1xuICAgICAgICAgICAgICAgICAgICAkc2VsZWN0b3I6IGlmKGxlbmd0aCgkc2VsZWN0b3IpID09IDEsIGluc3BlY3QoJHNlbGVjdG9yKSwgJHNlbGVjdG9yKTtcbiAgICAgICAgICAgICAgICAgICAgJGZsYXQtY3NzOiAoKCRzZWxlY3RvcjogJHYpICRmbGF0LWNzcyk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgICAgICRjb21tb246IG1hcC1tZXJnZSgkY29tbW9uLCAoJGs6ICR2KSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmIGxlbmd0aCgkY29tbW9uKSAhPSAwIHtcbiAgICAgICAgICAgICAgICAkZmxhdC1jc3M6IGxzdC1ybWFwKG1hcC1tZXJnZSwgJGZsYXQtY3NzLCAkY29tbW9uKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICRmbGF0LWNzczogbHN0LWZsYXR0ZW4tbWFwKCRmbGF0LWNzcyk7XG4gICAgICAgICAgICAkZW50cmllczogKCRmbGF0LWNzcyAkZW50cmllcyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJGNhY2hlLWZyb20tbW9kdWxlczogbHN0LWZsYXR0ZW4tbWFwKCRlbnRyaWVzKTtcblxuICAgIC8vIENvbnNvbGlkYXRlIGFsbCBkZWNsYXJhdGlvbnNcbiAgICAkY2FjaGU6IG1hcC1tZXJnZSgkY2FjaGUsICRjYWNoZS1mcm9tLW1vZHVsZXMpO1xuICAgICRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZTogbWFwLW1lcmdlKCRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZSwgJGNhY2hlKSAhZ2xvYmFsO1xufVxuXG4kTUVOREVMRUVWX1VUSUxJVElFU19DQUNIRTogdHJ1ZTtcblxuIiwKCQkiQGlmIG5vdCB2YXJpYWJsZS1leGlzdHMobWVuZGVsZWV2LXByZWx1ZGUtbG9hZGVkKSB7XG4gICAgQGVycm9yICdDYW5ub3QgbG9hZCBlbGVtZW50cyB3aXRob3V0IGltcG9ydGluZyBwcmVsdWRlIGZpcnN0Lic7XG59XG5cbi8vIEZpcnN0IGxheWVyIHRoYXQgZW1pdHMgQ1NTLlxuLy8gTG9hZCBkZWZhdWx0IHN0eWxlcyBmb3IgZWxlbWVudHMgYW5kIHJlc2V0cyBiYXNlZCBvbiBub3JtYWxpemUuY3NzLlxuQGltcG9ydCAnZWxlbWVudHMvYmFzZSc7XG5AaW1wb3J0ICdlbGVtZW50cy90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2VsZW1lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdlbGVtZW50cy9mb3JtJztcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNQUlOIFJFU0VUUyBBTkQgQ09ORklHVVJBVElPTlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNldCByb290IHZhcmlhYmxlc1xuJG1lbmRlbGVldi1yb290LWRlZmF1bHRzOiAoXG4gICAgLy9cbiAgICAvLyBUeXBvZ3JhcGh5XG4gICAgbGVhZDogY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKSxcbiAgICAvL1xuICAgIC8vIFNpemluZ1xuICAgIHVuaXQ6IGNhbGModmFyKC0tbGVhZCkgKiAxcmVtKSxcbiAgICByZW1QeDogY29uZmlnKCd0eXBvZ3JhcGh5LnNpemUuc3RhcnQnKSAqIDFweCxcbiAgICBib3hTaXppbmc6IGJvcmRlci1ib3gsXG4pICFkZWZhdWx0O1xuXG5AaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLUJBU0UpIHtcbiAgICA6cm9vdCB7XG4gICAgICAgIEBlYWNoICRrLCAkdiBpbiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1yb290LWRlZmF1bHRzLCBjb25maWcoJ3Jvb3QnLCAoKSkpIHtcbiAgICAgICAgICAgIC0tI3ska306ICN7JHZ9O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgICAkX2FuaW1hdGlvbjogY29uZmlnKCdhbmltYXRpb24uZHVyYXRpb24nKSBjb25maWcoJ2FuaW1hdGlvbi50aW1pbmctZnVuY3Rpb24nKTtcbiAgICAqLCAqOmFmdGVyLCAqOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIHZhci1mYWxsYmFjaygoXG4gICAgICAgICAgICBib3gtc2l6aW5nOiAoYm9yZGVyLWJveCBib3hTaXppbmcpXG4gICAgICAgICkpO1xuICAgICAgICBAaWYgY29uZmlnKCdhbmltYXRpb24uZHVyYXRpb24nKSA+IDAge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogKFxuICAgICAgICAgICAgICAgIGFsbCAkX2FuaW1hdGlvbixcbiAgICAgICAgICAgICAgICBmb250LXNpemUgMHMsIC8vIG1ha2VzIGFuaW1hdGlvbiB2ZXJ5IHNsdWdnaXNoIGR1ZSB0byBtYW55IGxheW91dCByZS1jYWxjdWxhdGlvbnNcbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB9XG5cbiAgICAvLyBVdGlsaXR5IHRvIHJlbW92ZSBnbG9iYWwgcmVzZXQgb2YgYm94LXNpemluZ1xuICAgIC5yZXNldC1ib3gtc2l6aW5nIHtcbiAgICAgICAgLS1ib3hTaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIH1cblxuICAgIC8vIDEuIERlZmluZSBnbG9iYWwgZm9udCBzaXplIGFuZCBiYXNlIFJFTVxuICAgIC8vIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAvLyAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIGlPUy5cbiAgICBodG1sIHtcbiAgICAgICAgLy9mb250LXNpemU6IGdldC1iYXNlLXNpemUoKSAvIDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpO1xuICAgICAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgIGJvZHkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAje2NvbmZpZygndHlwb2dyYXBoeS50eXBlZmFjZScpIG9yIGNvbmZpZygndHlwb2dyYXBoeS5zYW5zLXNlcmlmJyl9O1xuICAgICAgICBAaW5jbHVkZSBjb25maWcoJ3R5cG9ncmFwaHkuYm9keScpO1xuICAgIH1cblxuICAgIC8vIFJlbmRlciB0aGUgYG1haW5gIGVsZW1lbnQgY29uc2lzdGVudGx5IGluIElFLlxuICAgIG1haW4ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIERlZmF1bHQgc3BhY2luZ3NcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgZGQsIGR0LCBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUtc2NhbGUoMik7XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSxcbiAgICBkbCxcbiAgICBmaWd1cmUsXG4gICAgZm9ybSxcbiAgICBvbCxcbiAgICBwLFxuICAgIHByZSxcbiAgICB0YWJsZSxcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUtc2NhbGUoNCk7XG4gICAgfVxufVxuXG4kTUVOREVMRUVWLUVMRU1FTlRTLUJBU0U6IHRydWU7XG4iLAoJCSJAaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLVRZUE9HUkFQSFkpIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSEVBRElOR1NcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyBNZWRpYSBxdWVyaWVzIHRvIGFkanVzdCBnbG9iYWwgZm9udCBzaXplXG4gICAgQGVhY2ggJGJwLCAkdmFsdWUgaW4gY29uZmlnKCd0eXBvZ3JhcGh5LnNpemUnKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJwKSB7XG4gICAgICAgICAgICA6cm9vdCB7XG4gICAgICAgICAgICAgICAgLS1yZW1QeDogI3skdmFsdWUgKiAxcHh9O1xuICAgICAgICAgICAgICAgIC0tcmVtOiAjeyR2YWx1ZX07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBodG1sIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHBjKCR2YWx1ZSAvIDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEdlbmVyaWMgaGVhZGluZ3Mgc3R5bGVzIChoMSwgaDIsIGV0Yy4uLilcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDEsIC5oMiwgLmgzLCAuaDQsIC5oNSwgLmg2LFxuICAgIC5oZWFkaW5nLCAlaGVhZGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGNvbmZpZygndHlwb2dyYXBoeS5oZWFkaW5ncycpO1xuICAgICAgICBtYXJnaW46IDAgMCAoY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKSAqIDAuNXJlbSkgMDtcbiAgICB9XG5cbiAgICAvLyBUeXBlIHNjYWxlIGZvciBkaWZmZXJlbnQgcmF0aW9zIChwcm9iYWJseSB3ZSBzaG91bGQgam9pbiB3aXRoIHRoZSBwcmV2aW91cyBsb29wKVxuICAgIEBlYWNoICRicCwgJHJhdGlvIGluIGNvbmZpZygndHlwb2dyYXBoeS5zY2FsZScpIHtcbiAgICAgICAgQGlmICRicCA9PSAnc3RhcnQnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzLXR5cGUtc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkYnA6IGNvbmZpZygnYnJlYWtwb2ludHMuI3skYnB9Jyk7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBudGgoJGJwLCAxKSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGhlYWRpbmdzLXR5cGUtc2NhbGUoJHJhdGlvKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBJTkxJTkUgU1RZTEVTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gTm9ybWFsaXplIGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICBiLCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZGVyO1xuICAgIH1cblxuICAgIC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiA3NSU7XG4gICAgICAgIEBpbmNsdWRlIGNvbmZpZygnZWxlbWVudHMuc21hbGwnKTtcbiAgICB9XG5cbiAgICAvLyBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzXG4gICAgc3ViLCBzdXAge1xuICAgICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICAgICAgQGluY2x1ZGUgY29uZmlnKCdlbGVtZW50cy5zdWInKTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgICB0b3A6IC0wLjVlbTtcbiAgICAgICAgQGluY2x1ZGUgY29uZmlnKCdlbGVtZW50cy5zdXAnKTtcbiAgICB9XG5cbiAgICAvLyAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LVxuICAgIC8vIDItMy4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgICB9XG5cbiAgICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICBjb2RlLCBrYmQsIHNhbXAge1xuICAgICAgICBmb250LWZhbWlseTogY29uZmlnKCd0eXBvZ3JhcGh5Lm1vbm9zcGFjZScpO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICB9XG5cbiAgICAvL2NvZGUge1xuICAgIC8vICAgIEBpbmNsdWRlIGV4dGVuZC1mcm9tKCRjb2RlLCAoJy5jb2xvci1zdWJ0bGUnKSk7XG4gICAgLy8gICAgYm9yZGVyLXJhZGl1czogMC4yNXJlbTtcbiAgICAvLyAgICBmb250LXNpemU6IDg3LjUlO1xuICAgIC8vICAgIG1hcmdpbjogMCAwLjI1cmVtO1xuICAgIC8vICAgIHBhZGRpbmc6IDAuMjVyZW0gMC43NXJlbTtcbiAgICAvL31cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBQQVJBR1JBUEggU1RZTEVTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgcCwgLnBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbjogMCAwIChjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpICogMXJlbSkgMDtcbiAgICB9XG5cbiAgICAvLyAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgIC8vIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICBwcmUsIC5wcmUge1xuICAgICAgICBmb250LWZhbWlseTogY29uZmlnKCd0eXBvZ3JhcGh5Lm1vbm9zcGFjZScpO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgLy9AaW5jbHVkZSBleHRlbmQtZnJvbSgkcHJlLCAoJy5jb2xvci1zdWJ0bGUnKSk7XG4gICAgICAgIC8vYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG5cbiAgICAgICAgJiA+IGNvZGUge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAxLjVyZW07XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYmxvY2txdW90ZSwgLmJsb2NrcXVvdGUge1xuICAgICAgICAvL0BpbmNsdWRlIGV4dGVuZC1mcm9tKCRibG9ja3F1b3RlKTtcbiAgICAgICAgLy9AaW5jbHVkZSBtYXJnaW4obWFwLWdldCgkYmxvY2txdW90ZSwgbWFyZ2luKSk7XG4gICAgICAgIC8vQGluY2x1ZGUgcGFkZGluZyhtYXAtZ2V0KCRibG9ja3F1b3RlLCBwYWRkaW5nKSk7XG5cbiAgICAgICAgYm9yZGVyLWxlZnQ6IDAuMjVyZW0gc29saWQgY29uZmlnKCdwYWxldHRlLmJyYW5kJyk7XG5cbiAgICAgICAgKjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAxLTIuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgLy8gMy4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgaHIge1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvL2hyIHtcbiAgICAvLyAgICBib3JkZXI6IDA7XG4gICAgLy8gICAgYm9yZGVyLXRvcDogLjEyNXJlbSBzb2xpZCBtYXAtZ2V0KCRociwgY29sb3IpO1xuICAgIC8vICAgIG1hcmdpbjogMi4wcmVtIDA7XG4gICAgLy9cbiAgICAvLyAgICBAZWFjaCAkbmFtZSBpbiBtYXAtZ2V0KCRociwgY29sb3Itcm9sZXMpIHtcbiAgICAvLyAgICAgICAgJi5jb2xvci0jeyRuYW1lfSB7XG4gICAgLy8gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvcigkbmFtZSk7XG4gICAgLy8gICAgICAgIH1cbiAgICAvLyAgICB9XG4gICAgLy99XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTElTVFNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBkbCxcbiAgICBvbCxcbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcblxuICAgICAgICBkbCxcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjVyZW0gMCAxLjVyZW0gM3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIG9sIHtcbiAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbCBpbnNpZGU7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBjaXJjbGUgaW5zaWRlO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBUQUJMRVNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgdGFibGUge1xuICAgICAgICBib3JkZXItc3BhY2luZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgICBwYWRkaW5nOiBzaXplKDAuNSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMSU5LXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIGEge1xuICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEudGV4dCB7XG4gICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTUlTQ1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIDEuIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAuXG4gICAgLy8gMi4gUHJldmVudCByZXNwb25zaXZlIGltYWdlcyBmcm9tIG92ZXJmbG93aW5nIGluIHNtYWxsIHZpZXdwb3J0c1xuICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuJE1FTkRFTEVFVi1FTEVNRU5UUy1UWVBPR1JBUEhZOiB0cnVlO1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJVVFRPTlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmIG5vdCBnbG9iYWwtdmFyaWFibGUtZXhpc3RzKE1FTkRFTEVFVi1FTEVNRU5UUy1CVVRUT05TKSB7XG5cbiAgICAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRSBhbmQgaW4gRWRnZS5cbiAgICBidXR0b24sIGlucHV0IHtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gICAgYnV0dG9uLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC8vIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgYnV0dG9uLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdLFxuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgICBbdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcbiAgICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICAgIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gICAgW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG4gICAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLFxuICAgIGJ1dHRvbixcbiAgICBpbnB1dFt0eXBlPSdidXR0b24nXSxcbiAgICBpbnB1dFt0eXBlPSdyZXNldCddLFxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgICAgICAgQGluY2x1ZGUgb3B0aW9ucyhjb25maWcoJ2J1dHRvbicpKTtcblxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogY29uZmlnKCd0eXBvZ3JhcGh5LnR5cGVmYWNlJykgb3IgY29uZmlnKCd0eXBvZ3JhcGh5LnNhbnMtc2VyaWYnKTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMjVyZW07XG4gICAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgc2l6ZSgwLjUpIDA7XG4gICAgICAgIHBhZGRpbmc6IDAgc2l6ZSgxKTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIHRyYW5zaXRpb246IGZpbHRlciAyNTBtcztcblxuICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC4xMiksIGluc2V0IDAgMCAxNnB4IHJnYmEoMjMwLCAyMjUsIDEzMiwgMC4xKTtcbiAgICAgICAgfVxuICAgICAgICAmW2Rpc2FibGVkXSwgJi5pcy1kaXNhYmxlZCB7XG4gICAgICAgICAgICBmaWx0ZXI6IHNhdHVyYXRlKDI1JSk7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc1O1xuICAgICAgICB9XG4gICAgICAgICYuaXMtc21hbGwge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHNpemUoMSk7XG4gICAgICAgICAgICBoZWlnaHQ6IHNpemUoMSk7XG4gICAgICAgICAgICAvL21hcmdpbjogMCAwIHNpemUoMC41KSAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCBzaXplKDAuMjUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtcHJpbWFyeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvcigncHJpbWFyeScsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtc2Vjb25kYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCdzZWNvbmRhcnknLCAkYm9yZGVyOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLXBvc2l0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCdwb3NpdGl2ZScsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtd2FybmluZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvcignd2FybmluZycsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtbmVnYXRpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoJ25lZ2F0aXZlJywgJGJvcmRlcjogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1jbGVhciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICBoZWlnaHQ6IGluaXRpYWw7XG4gICAgICAgICAgICBtYXJnaW46IGluaXRpYWw7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgICAgICAgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmlzLWdob3N0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IGNvbG9yKGNvbmZpZygnYnV0dG9uLmNvbG9yJywgJGRlZmF1bHQ6IGNvbmZpZygnaW5wdXQuY29sb3InLCAkZGVmYXVsdDogJ2FjdGlvbicpKSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiRNRU5ERUxFRVYtRUxFTUVOVFMtQlVUVE9OUzogdHJ1ZTtcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGT1JNU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tOiBzaXplKDEpO1xuJG1lbmRlbGVldi1pbnB1dC1lbGVtZW50LWZvcm0tY29sb3I6IGNvbG9yKCdicmFuZCcpICFkZWZhdWx0O1xuXG5AaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLUZPUk1TKSB7XG5cbiAgICAvLyAxLTMuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzXG4gICAgLy8gNC4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLy8gMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gICAgLy8gMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgIFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8vIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgIC8vIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgIFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4O1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICB9XG5cbiAgICAvLyAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgIC8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICA6Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICAgICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nZW1haWwnXSxcbiAgICBpbnB1dFt0eXBlPSdudW1iZXInXSxcbiAgICBpbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuICAgIGlucHV0W3R5cGU9J3NlYXJjaCddLFxuICAgIGlucHV0W3R5cGU9J3RlbCddLFxuICAgIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgICBpbnB1dFt0eXBlPSd1cmwnXSxcbiAgICBpbnB1dFt0eXBlPSdjb2xvciddLFxuICAgIGlucHV0W3R5cGU9J2RhdGUnXSxcbiAgICBpbnB1dFt0eXBlPSdtb250aCddLFxuICAgIGlucHV0W3R5cGU9J3dlZWsnXSxcbiAgICBpbnB1dFt0eXBlPSdkYXRldGltZSddLFxuICAgIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgaW5wdXQ6bm90KFt0eXBlXSksXG4gICAgdGV4dGFyZWEsXG4gICAgc2VsZWN0IHtcbiAgICAgICAgQGV4dGVuZCAlbWVuZGVsZWV2LWlucHV0O1xuXG4gICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTtcbiAgICAgICAgfVxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICRfY29sb3I6IGFkanVzdC1jb2xvcigkbWVuZGVsZWV2LWlucHV0LWVsZW1lbnQtZm9ybS1jb2xvciwgJGFscGhhOiAwLjUpO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAuNXJlbSAycHggcmdiYSgwLCAwLCAwLCAwLjA4KSwgMCAwIDAgMnB4ICN7JF9jb2xvcn07XG4gICAgICAgICAgICBmaWx0ZXI6IG5vbmU7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJW1lbmRlbGVldi1pbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIG9wdGlvbnMoY29uZmlnKCdpbnB1dCcpKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGhlaWdodDogc2l6ZSgxLjc1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJyk7XG4gICAgICAgIG1hcmdpbjogc2l6ZSgwLjI1KSAwICRtZW5kZWxlZXYtbGFiZWwtbWFyZ2luLWJvdHRvbSAwO1xuICAgICAgICBwYWRkaW5nOiAwIHNpemUoMC43NSk7XG5cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjb2xvciddIHtcbiAgICAgICAgcGFkZGluZzogc2l6ZSgwLjI1KSBzaXplKDAuNzUpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2RhdGUnXSxcbiAgICBpbnB1dFt0eXBlPSdtb250aCddLFxuICAgIGlucHV0W3R5cGU9J3dlZWsnXSxcbiAgICBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgZm9udC1zaXplOiB2YXIoLS1yZW1QeCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXSxcbiAgICBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDFlbTtcbiAgICB9XG5cbiAgICAkX3N0eWxlLWNvbnRyb2xzOiB0cnVlO1xuICAgIEBpZiAkX3N0eWxlLWNvbnRyb2xzIHtcbiAgICAgICAgJGNvbG9yOiAkbWVuZGVsZWV2LWlucHV0LWVsZW1lbnQtZm9ybS1jb2xvcjtcbiAgICAgICAgJGNvbG9yLWRhcms6IG1peCgkY29sb3IsIGNvbG9yKCdibGFjaycpLCA3NSUpO1xuICAgICAgICAkY29sb3ItbGlnaHQ6IGFkanVzdC1jb2xvcihtaXgoJGNvbG9yLCBjb2xvcignd2hpdGUnKSwgNzUlKSwgJHNhdHVyYXRpb246IC01MCUpO1xuICAgICAgICAkc2l6ZTogMWVtO1xuICAgICAgICAkY2hlY2stbWFyay13aWR0aDogMC4yZW07XG5cbiAgICAgICAgLy8gSGlkZSBjb250cm9sc1xuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddIHtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERlZmF1bHQgaW5wdXQgYnV0dG9uIHN0eWxlc1xuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOjphZnRlcixcbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTo6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gRGlzcGxheVxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgLy8gU2l6aW5nXG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLy8gQ29sb3JcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAwICgkc2l6ZSAvIDIpIHJnYmEoMCwgMCwgMCwgMC4xKSwgaW5zZXQgMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yMCk7XG4gICAgICAgICAgICBvdXRsaW5lLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOjphZnRlciB7XG4gICAgICAgICAgICBib3R0b206IDAuOWVtO1xuICAgICAgICAgICAgcmlnaHQ6IDAuMTVlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIC8vIERpc3BsYXlcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgIC8vIEJvcmRlclxuICAgICAgICAgICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAkY2hlY2stbWFyay13aWR0aCAkY2hlY2stbWFyay13aWR0aCAwO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuXG4gICAgICAgICAgICAvLyBQb3NpdGlvblxuICAgICAgICAgICAgd2lkdGg6IDAuNGVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjdlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMC4yZW07XG4gICAgICAgICAgICBib3R0b206IDAuMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgYm90dG9tOiAwLjI1ZW07XG4gICAgICAgICAgICByaWdodDogMC4xZW07XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2VkIHN0YXRlXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGU7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDBtcztcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogKCRzaXplIC8gMykgc29saWQgJGNvbG9yO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEhvdmVyIGVmZmVjdFxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlcixcbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrZWQgaG92ZXIgZWZmZWN0XG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpob3Zlcjpub3QoOmRpc2FibGVkKTo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRhcms7XG4gICAgICAgIH1cbiAgICAgICAgaW5wdXRbdHlwZT0ncmFkaW8nXTpjaGVja2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWRhcms7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBEaXNhYmxlZFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmRpc2FibGVkOjphZnRlciB7XG4gICAgICAgICAgICBmaWx0ZXI6IGJyaWdodG5lc3MoMTEwJSk7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBDaGVja2VkIGFuZCBkaXNhYmxlZFxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1saWdodDtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogKCRzaXplIC8gMykgc29saWQgbWl4KHdoaXRlLCBncmF5c2NhbGUoJGNvbG9yKSwgNTAlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHNlbGVjdCB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDI5IDE0XCIgd2lkdGg9XCIyOVwiPjxwYXRoIGZpbGw9XCIlMjNkMWQxZDFcIiBkPVwiTTkuMzc3MjcgMy42MjVsNS4wODE1NCA2LjkzNTIzTDE5LjU0MDM2IDMuNjI1XCIvPjwvc3ZnPicpIGNlbnRlciByaWdodCBuby1yZXBlYXQ7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAvL2JhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDI5IDE0XCIgd2lkdGg9XCIyOVwiPjxwYXRoIGZpbGw9XCIlMjM5YjRkY2FcIiBkPVwiTTkuMzc3MjcgMy42MjVsNS4wODE1NCA2LjkzNTIzTDE5LjU0MDM2IDMuNjI1XCIvPjwvc3ZnPicpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gMS4gUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSAxMCsuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgcGFkZGluZzogc2l6ZSgwLjUpIHNpemUoMC43NSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHNpemUoNSk7XG4gICAgfVxuXG4gICAgLy8gMS0zLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgIC8vIDQuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAvLyA1LiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgLy8gICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICBsZWdlbmQge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTsgLy8gKDEwMCUgaW4gbm9ybWFsaXplLmNzcylcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW5kZWxlZXYtbGFiZWwtbWFyZ2luLWJvdHRvbTtcbiAgICB9XG5cbiAgICBsYWJlbCArICVtZW5kZWxlZXYtaW5wdXQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDAuMjUpIC0gJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgICVtZW5kZWxlZXYtaW5wdXQgKyBsZWdlbmQsXG4gICAgbGFiZWwgKyBsZWdlbmQge1xuICAgICAgICBtYXJnaW4tdG9wOiBzaXplKDAuMjUpIC0gJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiBzaXplKDEpO1xuICAgIH1cblxuICAgIC8vIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICBmaWVsZHNldCB7XG4gICAgICAgIC8vYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyAvLyAoMC4zNWVtIDAuNzVlbSAwLjYyNWVtIGluIG5vcm1hbGl6ZS5jc3MpXG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICBwcm9ncmVzcyB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgICB9XG5cbiAgICAubGFiZWwtaW5saW5lIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgIH1cbn1cblxuJE1FTkRFTEVFVi1FTEVNRU5UUy1GT1JNUzogdHJ1ZTtcbiIsCgkJIkBpZiBub3QgdmFyaWFibGUtZXhpc3RzKG1lbmRlbGVldi1wcmVsdWRlLWxvYWRlZCkge1xuICAgIEBlcnJvciAnQ2Fubm90IGxvYWQgZWxlbWVudHMgd2l0aG91dCBpbXBvcnRpbmcgcHJlbHVkZSBmaXJzdC4nO1xufVxuXG5AaW5jbHVkZSBtZW5kZWxlZXYtcmVnaXN0ZXItdXRpbGl0aWVzO1xuIiwKCQkiQGltcG9ydCAnc3JjL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvbWFpbi9fZWxlbWVudHMuc2Nzcyc7XG5AaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvX2VsZW1lbnRzLnNjc3MnO1xuXG5oMSxcbmgyLFxuaDMsXG5wLFxuc3BhbiB7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbn1cblxuaDEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbmgzIHtcbiAgICBjb2xvcjogJGNvbG9yLXNlY29uZGFyeS1kYXJrO1xufVxuXG4uYm9keSB7XG4gICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLmNvbmVjdGEtaWNvbiB7XG4gICAgaSB7XG4gICAgICAgIG1hcmdpbjogMCAuNWVtIDAgMDtcbiAgICB9XG4gICAgbWFyZ2luOiBhdXRvIDAuNWVtIDAgMDtcbn1cblxuLnRvYXN0IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdwYWQtMyBzaGFkb3ctMiBzZW1pLWJvbGQnKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRhcms7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IHVuc2V0O1xuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIEBleHRlbmQgLnBhZC0yO1xuICAgICAgICBAaW5jbHVkZSBjb2xvcignd2hpdGUnICdicmFuZCcpO1xuICAgICAgICBib3JkZXI6IDZweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTByZW07XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgIHdpZHRoOiAycmVtO1xuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgICAgPiAqIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCd0ZXh0LTQgYm9sZCB0ZXh0LWJyYW5kJyk7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0J1ZW5kaWEnO1xuICAgICAgICB9XG4gICAgfVxufVxuLnRvYXN0LS1zaG93IHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR0VORVJJQyBFSiBVSSBFTEVNRU5UU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU21hbGwgdHdlYWtzXG5pLmZhLCBpLmZhcywgaS5mYWIsIGkuZmFyIHtcbiAgICBtYXJnaW46IGF1dG8gMC41ZW07XG59XG5cbi5ib2R5IHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtICFpbXBvcnRhbnQ7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgnbWQnKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJbnRybyB0aXRsZVxuLnRpdGxlIHtcbiAgICBAZXh0ZW5kIC5oMiwgLmNlbnRlciwgLnRleHQtYWNjZW50O1xufVxuXG4uaW50cm8tcGFyYWdyYXBoIHtcbiAgICBAZXh0ZW5kIC5jZW50ZXI7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gICAgICAgIEBleHRlbmQgLnRpdGxlO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiBzaXplKDEpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiBzaXplKDEpO1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRhYnMgYW5kIGNhdGVnb3JpZXNcbi50YWJzLCAuY2F0ZWdvcmllcyB7XG4gICAgQGV4dGVuZCAucm93O1xuXG4gICAgZGl2LGEge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlci10ZXh0O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbn1cblxuLnRhYnMge1xuICAgIEBleHRlbmQgLnVwcGVyY2FzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtZ3JheTtcblxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7ICAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xuICAgIH1cblxuICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcblxuICAgICAgICAmIFtpcy1zZWxlY3RlZF0ge1xuICAgICAgICAgICAgQGV4dGVuZCAudGV4dC1hY2NlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBjb2xvcignYWNjZW50Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMTI1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMjVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgJi0tc21hbGxlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjgxM3JlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLXNjcm9sbC14IHtcbiAgICAgICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIH1cbiAgICAmX190YWItY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgICAmLS1zaG93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhdGVnb3JpZXMge1xuICAgIEBpbmNsdWRlIGNvbG9yKG1peChjb2xvcignYnJhbmQtbGlnaHRlcicpLCBjb2xvcignd2hpdGUnKSksICdicmFuZCcpO1xuICAgIEBleHRlbmQgLmJvbGQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgKiB7XG4gICAgICAgIEBleHRlbmQgLnBhZC0xLCAubWFyZ2luLXgxO1xuICAgICAgICBjb2xvcjogY29sb3IoJ2JyYW5kJyk7XG4gICAgfVxuICAgIGE6aG92ZXI6bm90KFtpcy1zZWxlY3RlZF0pIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogY29sb3IoJ2JyYW5kJywgJGFscGhhOiAwLjUpO1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBvcC11cCB3aW5kb3dcbi5wb3B1cCB7XG4gICAgQGV4dGVuZCAucmVsYXRpdmUsIC5jb2w7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ2JhY2tncm91bmQnKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcignYWNjZW50Jyk7XG4gICAgYm9yZGVyLXJhZGl1czogMXJlbTtcbiAgICBtYXgtd2lkdGg6IDMwcmVtO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAmX19jb250ZW50cyB7XG4gICAgICAgIEBleHRlbmQgLnBhZC0zLCAuY2VudGVyLCAuY29sO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmX19jbG9zZSB7XG4gICAgICAgIEBleHRlbmQgLmFic29sdXRlLCAucGluLXRvcCwgLnBpbi1yaWdodCwgLm1hcmdpbi0zO1xuICAgICAgICBjb2xvcjogY29sb3IoJ2JsYWNrJyk7XG4gICAgfVxufVxuXG4ub3ZlcmxheSB7XG4gICAgQGV4dGVuZCAuZml4ZWQsIC5waW47XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHotaW5kZXg6IDUwMDtcblxuICAgID4gKiB7XG4gICAgICAgIG1hcmdpbjogMTIuNXZoIGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IDc1dmg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwdmg7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRvYXN0IGVsZW1lbnRcbi8qIFRoZSBzbmFja2JhciAtIHBvc2l0aW9uIGl0IGF0IHRoZSBib3R0b20gYW5kIGluIHRoZSBtaWRkbGUgb2YgdGhlIHNjcmVlbiAqL1xuI3NuYWNrYmFyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IC8qIEhpZGRlbiBieSBkZWZhdWx0LiBWaXNpYmxlIG9uIGNsaWNrICovXG4gICAgbWluLXdpZHRoOiAyNTBweDsgLyogU2V0IGEgZGVmYXVsdCBtaW5pbXVtIHdpZHRoICovXG4gICAgbWFyZ2luLWxlZnQ6IC0xMjVweDsgLyogRGl2aWRlIHZhbHVlIG9mIG1pbi13aWR0aCBieSAyICovXG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgLyogQmxhY2sgYmFja2dyb3VuZCBjb2xvciAqL1xuICAgIGNvbG9yOiAjZmZmOyAvKiBXaGl0ZSB0ZXh0IGNvbG9yICovXG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyAvKiBDZW50ZXJlZCB0ZXh0ICovXG4gICAgYm9yZGVyLXJhZGl1czogMnB4OyAvKiBSb3VuZGVkIGJvcmRlcnMgKi9cbiAgICBwYWRkaW5nOiAxNnB4OyAvKiBQYWRkaW5nICovXG4gICAgcG9zaXRpb246IGZpeGVkOyAvKiBTaXQgb24gdG9wIG9mIHRoZSBzY3JlZW4gKi9cbiAgICB6LWluZGV4OiAxOyAvKiBBZGQgYSB6LWluZGV4IGlmIG5lZWRlZCAqL1xuICAgIGxlZnQ6IDUwJTsgLyogQ2VudGVyIHRoZSBzbmFja2JhciAqL1xuICAgIGJvdHRvbTogMzBweDsgLyogMzBweCBmcm9tIHRoZSBib3R0b20gKi9cbn1cblxuLnRyaWFuZ2xlIHtcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiAwLjQ2ODc1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMC44Mzc1cmVtIHNvbGlkICRjb2xvci1iYXNlLXBpbms7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcblxuICAgICYtLXRvcCB7XG4gICAgICAgIHRyYW5zZm9ybTogdW5zZXQ7XG4gICAgfVxuXG4gICAgJi0td2hpdGUge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHQ7XG4gICAgfVxufVxuXG5cbi8qIEFuaW1hdGlvbnMgdG8gZmFkZSB0aGUgc25hY2tiYXIgaW4gYW5kIG91dCAqL1xuJHRvYXN0LWhlaWdodDogc2l6ZSgxLjUpO1xuJHRvYXN0LW9wYWNpdHk6IDAuNzU7XG5cbkBrZXlmcmFtZXMgdG9hc3Qtc2hvdyB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0b3A6ICR0b2FzdC1oZWlnaHQ7XG4gICAgICAgIG9wYWNpdHk6ICR0b2FzdC1vcGFjaXR5O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB0b2FzdC1oaWRlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdG9wOiAkdG9hc3QtaGVpZ2h0O1xuICAgICAgICBvcGFjaXR5OiAkdG9hc3Qtb3BhY2l0eTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxufVxuXG4udG9hc3Qge1xuICAgIEBpbmNsdWRlIHV0aWxpdGllcygnY29sb3ItYnJhbmQtbGlnaHRlciBwYWQtMyBzaGFkb3ctMiBzZW1pLWJvbGQnKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGFuaW1hdGlvbjogdG9hc3Qtc2hvdyAwLjI1cyAwLjI1cyBiYWNrd2FyZHMsIHRvYXN0LWhpZGUgMC41cyA0cyBmb3J3YXJkcztcbiAgICBib3JkZXItcmFkaXVzOiBzaXplKDAuNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmaWx0ZXI6IGJyaWdodG5lc3MoOTAlKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsZWZ0OiAwO1xuICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIG9wYWNpdHk6ICR0b2FzdC1vcGFjaXR5O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6ICR0b2FzdC1oZWlnaHQ7XG4gICAgd2lkdGg6IDkwJTtcbiAgICB6LWluZGV4OiAxMDAxO1xuICAgIG1hcmdpbi1sZWZ0OiA0NSU7XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgQGV4dGVuZCAucGFkLTI7XG4gICAgICAgIEBpbmNsdWRlIGNvbG9yKCd3aGl0ZScgJ2JyYW5kJyk7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICBmb250LXNpemU6IDJyZW07XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgd2lkdGg6IDJyZW07XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCd0ZXh0LTQgdXBwZXJjYXNlIGJvbGQgdGV4dC1icmFuZCcpO1xuICAgICAgICB9XG4gICAgfVxufVxuLnRvYXN0LS1oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG4udG9hc3QtLXNob3cge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbn1cbmRpYWxvZy50b2FzdC0tc2hvdyB7XG4gICAgYm9yZGVyOiB1bnNldDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDE2cHgpIHtcbiAgICAudG9hc3Qge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG59XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGVzY3JpcHRpb24gbGlzdCAoZm9yIHByb2ZpbGUgYW5kIG90aGVycylcbi5kZXNjcmlwdGlvbiB7XG4gICAgZHQge1xuICAgICAgICBAZXh0ZW5kIC5ib2xkLCAudGV4dC02LCAudGV4dC1icmFuZCwgLmxvd2VyY2FzZSwgLm1hcmdpbi0wO1xuICAgIH1cbiAgICBkZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDJyZW0gMDtcbiAgICB9XG59XG5cbi5zdGF0LXNsYWIge1xuICAgIEBleHRlbmQgLnJvdywgLndyYXAsIC5pdGVtcy1jZW50ZXI7XG5cbiAgICBkbCB7XG4gICAgICAgIEBleHRlbmQgLnBhZC0wO1xuICAgICAgICBtYXJnaW46IDAgMCBzaXplKDEpIDA7XG5cbiAgICAgICAgZHQge1xuICAgICAgICAgICAgQGV4dGVuZCAuYm9sZCwgLnRleHQtYnJhbmQsIC5sb3dlcmNhc2UsIC5tYXJnaW4tMCwgLmlubGluZSwgLmlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBzaXplKDMuNSk7XG4gICAgICAgIH1cblxuICAgICAgICBkZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5ib2xkLCAuaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHNpemUoMSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAycmVtIDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IHNpemUoMS41KTtcbiAgICAgICAgICAgIHJpZ2h0OiBzaXplKDMpO1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zcXVhcmUge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAyNXB4O1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVG9vbHRpcCBjb21wb25lbnRcbi50b29sdGlwIHtcbiAgICBAZXh0ZW5kIC5hYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBjb250ZW50cztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDA7XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIEBleHRlbmQgLnBhZC0yLCAuYWJzb2x1dGUsIC5ib2xkO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgLjFzO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLWFjY2VudC1saWdodDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcblxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IC42MjVyZW1cbiAgICB9XG5cbiAgICAmX19pY29uIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlci10ZXh0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMHJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6aG92ZXIgLnRvb2x0aXBfX2NvbnRlbnQge1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLy9wcm9ncmVzcyBiYXIgZWxlbWVudFxuLnByb2dyZXNzLWJhciB7XG4gICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdyb3cgZmxleC1jZW50ZXIgaXRlbXMtY2VudGVyIG1hcmdpbi15MScpO1xuXG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxOGVtO1xuXG4gICAgJl9fcHJvZ3Jlc3Mge1xuICAgICAgICBAaW5jbHVkZSBtYXJnaW4tc2NhbGUoKHg6IDEpKTtcblxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcignYnJhbmQnKTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTByZW07XG4gICAgICAgIGhlaWdodDogMC41cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLS1zaW1wbGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIHN0cm9uZyB7Zm9udC13ZWlnaHQ6bm9ybWFsO31cblxuICAgICAgICAucHJvZ3Jlc3MtYmFyX19wcm9ncmVzcyB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNzVyZW07XG4gICAgICAgICAgICB3aWR0aDogNi4xODhyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLjc1cmVtO1xuICAgICAgICAgICAgOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb3JtLXByb2ZpbGUtLWJ1dHRvbnN7XG4gICAgaW5wdXRbdHlwZT10ZXh0XXtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMS41NjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX2NhbmNlbHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktZGFya2VyICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX3NhdmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuIiwKCQkiQGltcG9ydCBcIi4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9lbGVtZW50c1wiO1xuXG5oMSxcbmgyIHtcbiAgICBtYXJnaW46IHVuc2V0O1xufVxuXG5oMSB7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuaDIge1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG5sYWJlbCArIGlucHV0ICsgYnIsXG5sYWJlbCArIHRleHRhcmVhICsgYnIsXG5sYWJlbCArIHNlbGVjdCArIGJyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtLWp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmZsZXgtLXdyYXAge1xuICAgIEBleHRlbmQgLmZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4uZmxleC0tZ2FwLTEge1xuICAgIGdhcDogMXJlbTtcbn1cbi53cmFwIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7XG59XG4uZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG4uZmxvYXQtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5pbmxpbmUtZ3JpZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWdyaWQ7XG59XG4uYWxpZ24tY2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuLmp1c3RpZnktY2VudGVyIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmN1cnNvci1wb2ludGVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mdWxsLXdpZHRoIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmVqLW1hcmdpbi10b3Age1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5lai1tYXJnaW4tYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5pbnB1dCArIC5oZWxwdGV4dCxcbnRleHRhcmVhICsgLmhlbHB0ZXh0LFxuc2VsZWN0ICsgLmhlbHB0ZXh0LFxuaW5wdXQgKyBiciArIC5oZWxwdGV4dCxcbnRleHRhcmVhICsgYnIgKyAuaGVscHRleHQsXG5zZWxlY3QgKyBiciArIC5oZWxwdGV4dCB7XG4gICAgQGV4dGVuZCBsZWdlbmQ7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgwLjI1KSAtICRtZW5kZWxlZXYtbGFiZWwtbWFyZ2luLWJvdHRvbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IHNpemUoMSk7XG4gICAgbWFyZ2luLWxlZnQ6IHNpemUoMC41KTtcbn1cblxuLmhlbHB0ZXh0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgJi1jZW50ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxufVxuXG5sYWJlbCArIHVsLmVycm9ybGlzdCB7XG4gICAgbWFyZ2luLXRvcDogc2l6ZSgtMC41KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJiA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxudWwuZXJyb3JsaXN0IHtcbiAgICBjb2xvcjogY29sb3IoXCJyZWRcIik7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IHNpemUoMC4yNSk7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi50ZXJtcyB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGhlaWdodDogMjByZW07XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgICAgIGhlaWdodDogNi43MjVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICB9XG4gICAgJl9fY2hlY2tib3gge1xuICAgICAgICBmb250LXNpemU6IDAuOHJlbTtcblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjE0NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgfVxufVxuXG4ucmVnaXN0ZXItZm9ybSB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXJnaW46IGF1dG87XG5cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIvNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4xODc1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiA0LjVyZW07XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogNS40cmVtO1xuICAgICAgICBoZWlnaHQ6IDQuNnJlbTtcbiAgICB9XG5cbiAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1LjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzLjNyZW0gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgIH1cblxuICAgICZfX2xhYmVsLS1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgbWFyZ2luLXRvcDogMy45cmVtO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmxvZ2luLWZvcm1fX3NvY2lhbC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNy41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlZ2lzdGVyLWZvcm0sXG4ubG9naW4tZm9ybSB7XG4gICAgJl9faW5wdXQge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5LWJsdWUtdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjA2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dpbi1mb3JtIHtcbiAgICAmX19sb2dvIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMDYyNXJlbTtcbiAgICB9XG5cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIH1cblxuICAgICZfX2J1dHRvbi1jb250YWluZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogMi4wNjI1cmVtIDAgMi4wNjI1cmVtO1xuICAgIH1cblxuICAgICZfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICB3aWR0aDogMTQuMDYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX3Jlc2V0LXBhc3N3b3JkIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIH1cbiAgICAmX19yZXNldC1wYXNzd29yZDpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fc29jaWFsLWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxNy41cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuMzZyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1idXR0b24tZ3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICBib3gtc2hhZG93OiAxcHggMXB4IDFweCBncmF5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSBpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IGNvbmljLWdyYWRpZW50KFxuICAgICAgICAgICAgICAgICAgICBmcm9tIC00NWRlZyxcbiAgICAgICAgICAgICAgICAgICAgI2VhNDMzNSAxMTBkZWcsXG4gICAgICAgICAgICAgICAgICAgICM0Mjg1ZjQgOTBkZWcgMTgwZGVnLFxuICAgICAgICAgICAgICAgICAgICAjMzRhODUzIDE4MGRlZyAyNzBkZWcsXG4gICAgICAgICAgICAgICAgICAgICNmYmJjMDUgMjcwZGVnXG4gICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIDczJSA1NSUvMTUwJSAxNTAlIG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY2xpcDogdGV4dCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAtd2Via2l0LXRleHQtZmlsbC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFkZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlZ2lzdGVyLXJlZGlyZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1heC13aWR0aDogMzByZW07XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuXG4gICAgJl9faHIge1xuICAgICAgICBtYXJnaW46IDMuMDYyNXJlbSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0NSU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgd2lkdGg6IDkuMzUyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA3LjkzNzVyZW07XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM2cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMy4zMTI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDI2NnB4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vL292ZXJ3cml0ZSBtZW5kZWxlZXYgcnVsZXNcbmxlZ2VuZCxcbnRleHRhcmVhLFxubGFiZWwsXG5pbnB1dCB7XG4gICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRleHQtaW5kZW50OiB1bnNldCAhaW1wb3J0YW50O1xufVxuaW5wdXQ6bm90KC5idXR0b24pIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvcihcImJyYW5kXCIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbn1cbmxlZ2VuZCB7XG4gICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IHVuc2V0ICFpbXBvcnRhbnQ7XG59XG5cbi5jb250ZW50LWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbWlubWF4KDQlLCBhdXRvKSBtaW5tYXgoYXV0bywgMTQwMHB4KSBtaW5tYXgoXG4gICAgICAgICAgICA0JSxcbiAgICAgICAgICAgIGF1dG9cbiAgICAgICAgKTtcbiAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgJiA+ICoge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICB9XG5cbiAgICAmLS1wYWRkaW5nIHtcbiAgICAgICAgcGFkZGluZzogMnJlbSAwIDAgMDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMyUgYXV0byAzJTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcGFkZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDAgMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaGVhZGVyLXNwYWNlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG59XG5cbi5sb2FkZXIge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItYWNjZW50O1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYW5pbWF0aW9uOiByb3RhdGlvbiAxcyBsaW5lYXIgaW5maW5pdGU7XG4gICAgbWFyZ2luLXRvcDogMnJlbTtcbn1cblxuLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAwO1xufVxuXG4uc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uaHRteC1yZXF1ZXN0IC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbn1cbi5odG14LXJlcXVlc3QubG9hZGVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRpb24ge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgLnRlcm1zIHtcbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1LjRyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19jaGVja2JveCB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaXN0ZXItZm9ybSB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMuMzc1cmVtIDAgMS41cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTEuNTYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogOS43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVnaXN0ZXItcmVkaXJlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICZfX2hyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41OHJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dpbi1mb3JtIHtcbiAgICAgICAgJl9faW5wdXQgI2lkX3Bhc3N3b3JkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24tY29udGFpbmVyIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICByb3ctZ2FwOiAxLjIxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3NvY2lhbC1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19yZXNldC1wYXNzd29yZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIGFuZCAobWluLXdpZHRoOiAzMjFweCkge1xuICAgIC50ZXJtcyB7XG4gICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNS40cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY2hlY2tib3gge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5yZWdpc3Rlci1mb3JtIHtcbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvMztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMy4zNzVyZW0gMCAxLjVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICB3aWR0aDogMTEuNTYyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogOS43NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbnB1dC0tbWFyZ2luIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbnMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgLmxvZ2luLWZvcm1fX3NvY2lhbC1idXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNy41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjlyZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWdpc3Rlci1yZWRpcmVjdGlvbiB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgJl9faHIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjU4cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvZ2luLWZvcm0ge1xuICAgICAgICAmX19pbnB1dCAjaWRfcGFzc3dvcmQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbi1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHJvdy1nYXA6IDEuMjFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc29jaWFsLWJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3Jlc2V0LXBhc3N3b3JkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX3N1Ym1pdC1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSJAaWYgbm90IHZhcmlhYmxlLWV4aXN0cyhtZW5kZWxlZXYtcHJlbHVkZS1sb2FkZWQpIHtcbiAgICBAZXJyb3IgJ0Nhbm5vdCBsb2FkIGVsZW1lbnRzIHdpdGhvdXQgaW1wb3J0aW5nIHByZWx1ZGUgZmlyc3QuJztcbn1cblxuLy8gRmlyc3QgbGF5ZXIgdGhhdCBlbWl0cyBDU1MuXG4vLyBMb2FkIGRlZmF1bHQgc3R5bGVzIGZvciBlbGVtZW50cyBhbmQgcmVzZXRzIGJhc2VkIG9uIG5vcm1hbGl6ZS5jc3MuXG5AaW1wb3J0ICdlbGVtZW50cy9iYXNlJztcbkBpbXBvcnQgJ2VsZW1lbnRzL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZWxlbWVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2VsZW1lbnRzL2Zvcm0nO1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1BSU4gUkVTRVRTIEFORCBDT05GSUdVUkFUSU9OU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2V0IHJvb3QgdmFyaWFibGVzXG4kbWVuZGVsZWV2LXJvb3QtZGVmYXVsdHM6IChcbiAgICAvL1xuICAgIC8vIFR5cG9ncmFwaHlcbiAgICBsZWFkOiBjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpLFxuICAgIC8vXG4gICAgLy8gU2l6aW5nXG4gICAgdW5pdDogY2FsYyh2YXIoLS1sZWFkKSAqIDFyZW0pLFxuICAgIHJlbVB4OiBjb25maWcoJ3R5cG9ncmFwaHkuc2l6ZS5zdGFydCcpICogMXB4LFxuICAgIGJveFNpemluZzogYm9yZGVyLWJveCxcbikgIWRlZmF1bHQ7XG5cbkBpZiBub3QgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cyhNRU5ERUxFRVYtRUxFTUVOVFMtQkFTRSkge1xuICAgIDpyb290IHtcbiAgICAgICAgQGVhY2ggJGssICR2IGluIG1hcC1tZXJnZSgkbWVuZGVsZWV2LXJvb3QtZGVmYXVsdHMsIGNvbmZpZygncm9vdCcsICgpKSkge1xuICAgICAgICAgICAgLS0jeyRrfTogI3skdn07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAgICRfYW5pbWF0aW9uOiBjb25maWcoJ2FuaW1hdGlvbi5kdXJhdGlvbicpIGNvbmZpZygnYW5pbWF0aW9uLnRpbWluZy1mdW5jdGlvbicpO1xuICAgICosICo6YWZ0ZXIsICo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgdmFyLWZhbGxiYWNrKChcbiAgICAgICAgICAgIGJveC1zaXppbmc6IChib3JkZXItYm94IGJveFNpemluZylcbiAgICAgICAgKSk7XG4gICAgICAgIEBpZiBjb25maWcoJ2FuaW1hdGlvbi5kdXJhdGlvbicpID4gMCB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAoXG4gICAgICAgICAgICAgICAgYWxsICRfYW5pbWF0aW9uLFxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZSAwcywgLy8gbWFrZXMgYW5pbWF0aW9uIHZlcnkgc2x1Z2dpc2ggZHVlIHRvIG1hbnkgbGF5b3V0IHJlLWNhbGN1bGF0aW9uc1xuICAgICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIH1cblxuICAgIC8vIFV0aWxpdHkgdG8gcmVtb3ZlIGdsb2JhbCByZXNldCBvZiBib3gtc2l6aW5nXG4gICAgLnJlc2V0LWJveC1zaXppbmcge1xuICAgICAgICAtLWJveFNpemluZzogY29udGVudC1ib3g7XG4gICAgfVxuXG4gICAgLy8gMS4gRGVmaW5lIGdsb2JhbCBmb250IHNpemUgYW5kIGJhc2UgUkVNXG4gICAgLy8gMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICAgIC8vIDMuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICAgIGh0bWwge1xuICAgICAgICAvL2ZvbnQtc2l6ZTogZ2V0LWJhc2Utc2l6ZSgpIC8gMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJyk7XG4gICAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIG1hcmdpbiBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgYm9keSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICN7Y29uZmlnKCd0eXBvZ3JhcGh5LnR5cGVmYWNlJykgb3IgY29uZmlnKCd0eXBvZ3JhcGh5LnNhbnMtc2VyaWYnKX07XG4gICAgICAgIEBpbmNsdWRlIGNvbmZpZygndHlwb2dyYXBoeS5ib2R5Jyk7XG4gICAgfVxuXG4gICAgLy8gUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gICAgbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gRGVmYXVsdCBzcGFjaW5nc1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBkZCwgZHQsIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZS1zY2FsZSgyKTtcbiAgICB9XG5cbiAgICBibG9ja3F1b3RlLFxuICAgIGRsLFxuICAgIGZpZ3VyZSxcbiAgICBmb3JtLFxuICAgIG9sLFxuICAgIHAsXG4gICAgcHJlLFxuICAgIHRhYmxlLFxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogc2l6ZS1zY2FsZSg0KTtcbiAgICB9XG59XG5cbiRNRU5ERUxFRVYtRUxFTUVOVFMtQkFTRTogdHJ1ZTtcbiIsCgkJIkBpZiBub3QgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cyhNRU5ERUxFRVYtRUxFTUVOVFMtVFlQT0dSQVBIWSkge1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBIRUFESU5HU1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIE1lZGlhIHF1ZXJpZXMgdG8gYWRqdXN0IGdsb2JhbCBmb250IHNpemVcbiAgICBAZWFjaCAkYnAsICR2YWx1ZSBpbiBjb25maWcoJ3R5cG9ncmFwaHkuc2l6ZScpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnApIHtcbiAgICAgICAgICAgIDpyb290IHtcbiAgICAgICAgICAgICAgICAtLXJlbVB4OiAjeyR2YWx1ZSAqIDFweH07XG4gICAgICAgICAgICAgICAgLS1yZW06ICN7JHZhbHVlfTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGh0bWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcGMoJHZhbHVlIC8gMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR2VuZXJpYyBoZWFkaW5ncyBzdHlsZXMgKGgxLCBoMiwgZXRjLi4uKVxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIC5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYsXG4gICAgLmhlYWRpbmcsICVoZWFkaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgY29uZmlnKCd0eXBvZ3JhcGh5LmhlYWRpbmdzJyk7XG4gICAgICAgIG1hcmdpbjogMCAwIChjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpICogMC41cmVtKSAwO1xuICAgIH1cblxuICAgIC8vIFR5cGUgc2NhbGUgZm9yIGRpZmZlcmVudCByYXRpb3MgKHByb2JhYmx5IHdlIHNob3VsZCBqb2luIHdpdGggdGhlIHByZXZpb3VzIGxvb3ApXG4gICAgQGVhY2ggJGJwLCAkcmF0aW8gaW4gY29uZmlnKCd0eXBvZ3JhcGh5LnNjYWxlJykge1xuICAgICAgICBAaWYgJGJwID09ICdzdGFydCcge1xuICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ3MtdHlwZS1zY2FsZSgkcmF0aW8pO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRicDogY29uZmlnKCdicmVha3BvaW50cy4jeyRicH0nKTtcbiAgICAgICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IG50aCgkYnAsIDEpKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgaGVhZGluZ3MtdHlwZS1zY2FsZSgkcmF0aW8pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIElOTElORSBTVFlMRVNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAvLyBOb3JtYWxpemUgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgIGIsIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgICAgQGluY2x1ZGUgY29uZmlnKCdlbGVtZW50cy5zbWFsbCcpO1xuICAgIH1cblxuICAgIC8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnNcbiAgICBzdWIsIHN1cCB7XG4gICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgICAgYm90dG9tOiAtMC4yNWVtO1xuICAgICAgICBAaW5jbHVkZSBjb25maWcoJ2VsZW1lbnRzLnN1YicpO1xuICAgIH1cblxuICAgIHN1cCB7XG4gICAgICAgIHRvcDogLTAuNWVtO1xuICAgICAgICBAaW5jbHVkZSBjb25maWcoJ2VsZW1lbnRzLnN1cCcpO1xuICAgIH1cblxuICAgIC8vIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gICAgLy8gMi0zLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgIGFiYnJbdGl0bGVdIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkO1xuICAgIH1cblxuICAgIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgIGNvZGUsIGtiZCwgc2FtcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBjb25maWcoJ3R5cG9ncmFwaHkubW9ub3NwYWNlJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgIC8vY29kZSB7XG4gICAgLy8gICAgQGluY2x1ZGUgZXh0ZW5kLWZyb20oJGNvZGUsICgnLmNvbG9yLXN1YnRsZScpKTtcbiAgICAvLyAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIC8vICAgIGZvbnQtc2l6ZTogODcuNSU7XG4gICAgLy8gICAgbWFyZ2luOiAwIDAuMjVyZW07XG4gICAgLy8gICAgcGFkZGluZzogMC4yNXJlbSAwLjc1cmVtO1xuICAgIC8vfVxuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFBBUkFHUkFQSCBTVFlMRVNcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICBwLCAucGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgKGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJykgKiAxcmVtKSAwO1xuICAgIH1cblxuICAgIC8vIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgLy8gMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgIHByZSwgLnByZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBjb25maWcoJ3R5cG9ncmFwaHkubW9ub3NwYWNlJyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAvL0BpbmNsdWRlIGV4dGVuZC1mcm9tKCRwcmUsICgnLmNvbG9yLXN1YnRsZScpKTtcbiAgICAgICAgLy9ib3JkZXItbGVmdDogM3B4IHNvbGlkIGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgd2hpdGUtc3BhY2U6IHByZTtcblxuICAgICAgICAmID4gY29kZSB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtIDEuNXJlbTtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBibG9ja3F1b3RlLCAuYmxvY2txdW90ZSB7XG4gICAgICAgIC8vQGluY2x1ZGUgZXh0ZW5kLWZyb20oJGJsb2NrcXVvdGUpO1xuICAgICAgICAvL0BpbmNsdWRlIG1hcmdpbihtYXAtZ2V0KCRibG9ja3F1b3RlLCBtYXJnaW4pKTtcbiAgICAgICAgLy9AaW5jbHVkZSBwYWRkaW5nKG1hcC1nZXQoJGJsb2NrcXVvdGUsIHBhZGRpbmcpKTtcblxuICAgICAgICBib3JkZXItbGVmdDogMC4yNXJlbSBzb2xpZCBjb25maWcoJ3BhbGV0dGUuYnJhbmQnKTtcblxuICAgICAgICAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIDEtMi4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAvLyAzLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICBociB7XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8vaHIge1xuICAgIC8vICAgIGJvcmRlcjogMDtcbiAgICAvLyAgICBib3JkZXItdG9wOiAuMTI1cmVtIHNvbGlkIG1hcC1nZXQoJGhyLCBjb2xvcik7XG4gICAgLy8gICAgbWFyZ2luOiAyLjByZW0gMDtcbiAgICAvL1xuICAgIC8vICAgIEBlYWNoICRuYW1lIGluIG1hcC1nZXQoJGhyLCBjb2xvci1yb2xlcykge1xuICAgIC8vICAgICAgICAmLmNvbG9yLSN7JG5hbWV9IHtcbiAgICAvLyAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IGNvbG9yKCRuYW1lKTtcbiAgICAvLyAgICAgICAgfVxuICAgIC8vICAgIH1cbiAgICAvL31cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBMSVNUU1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIGRsLFxuICAgIG9sLFxuICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuXG4gICAgICAgIGRsLFxuICAgICAgICBvbCxcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiA5MCU7XG4gICAgICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDEuNXJlbSAzcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgb2wge1xuICAgICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsIGluc2lkZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IGNpcmNsZSBpbnNpZGU7XG4gICAgfVxuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFRBQkxFU1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICB0YWJsZSB7XG4gICAgICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICB0ZCxcbiAgICB0aCB7XG4gICAgICAgIHBhZGRpbmc6IHNpemUoMC41KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIExJTktcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS50ZXh0IHtcbiAgICAgICAgY29sb3I6IGNvbG9yKCdwcmltYXJ5Jyk7XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoJ3ByaW1hcnknKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBNSVNDXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgLy8gMS4gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAvLyAyLiBQcmV2ZW50IHJlc3BvbnNpdmUgaW1hZ2VzIGZyb20gb3ZlcmZsb3dpbmcgaW4gc21hbGwgdmlld3BvcnRzXG4gICAgaW1nIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4kTUVOREVMRUVWLUVMRU1FTlRTLVRZUE9HUkFQSFk6IHRydWU7XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQlVUVE9OXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWLUVMRU1FTlRTLUJVVFRPTlMpIHtcblxuICAgIC8vIFNob3cgdGhlIG92ZXJmbG93IGluIElFIGFuZCBpbiBFZGdlLlxuICAgIGJ1dHRvbiwgaW5wdXQge1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICAgIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICAgIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gICAgW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgIGJ1dHRvbjotbW96LWZvY3VzcmluZyxcbiAgICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICAgIFt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgIH1cblxuICAgIC5idXR0b24sXG4gICAgYnV0dG9uLFxuICAgIGlucHV0W3R5cGU9J2J1dHRvbiddLFxuICAgIGlucHV0W3R5cGU9J3Jlc2V0J10sXG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgICBAaW5jbHVkZSBvcHRpb25zKGNvbmZpZygnYnV0dG9uJykpO1xuXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBjb25maWcoJ3R5cG9ncmFwaHkudHlwZWZhY2UnKSBvciBjb25maWcoJ3R5cG9ncmFwaHkuc2Fucy1zZXJpZicpO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNWVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjI1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCBzaXplKDAuNSkgMDtcbiAgICAgICAgcGFkZGluZzogMCBzaXplKDEpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgdHJhbnNpdGlvbjogZmlsdGVyIDI1MG1zO1xuXG4gICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDJweCAzcHggcmdiYSgwLCAwLCAwLCAwLjEyKSwgaW5zZXQgMCAwIDE2cHggcmdiYSgyMzAsIDIyNSwgMTMyLCAwLjEpO1xuICAgICAgICB9XG4gICAgICAgICZbZGlzYWJsZWRdLCAmLmlzLWRpc2FibGVkIHtcbiAgICAgICAgICAgIGZpbHRlcjogc2F0dXJhdGUoMjUlKTtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1zbWFsbCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogc2l6ZSgxKTtcbiAgICAgICAgICAgIGhlaWdodDogc2l6ZSgxKTtcbiAgICAgICAgICAgIC8vbWFyZ2luOiAwIDAgc2l6ZSgwLjUpIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHNpemUoMC4yNSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1wcmltYXJ5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCdwcmltYXJ5JywgJGJvcmRlcjogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1zZWNvbmRhcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoJ3NlY29uZGFyeScsICRib3JkZXI6IHRydWUpO1xuICAgICAgICB9XG4gICAgICAgICYuaXMtcG9zaXRpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY29sb3IoJ3Bvc2l0aXZlJywgJGJvcmRlcjogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy13YXJuaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNvbG9yKCd3YXJuaW5nJywgJGJvcmRlcjogdHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1uZWdhdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjb2xvcignbmVnYXRpdmUnLCAkYm9yZGVyOiB0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAmLmlzLWNsZWFyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbjogaW5pdGlhbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgICAgICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuaXMtZ2hvc3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogY29sb3IoY29uZmlnKCdidXR0b24uY29sb3InLCAkZGVmYXVsdDogY29uZmlnKCdpbnB1dC5jb2xvcicsICRkZWZhdWx0OiAnYWN0aW9uJykpKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuJE1FTkRFTEVFVi1FTEVNRU5UUy1CVVRUT05TOiB0cnVlO1xuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEZPUk1TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWxhYmVsLW1hcmdpbi1ib3R0b206IHNpemUoMSk7XG4kbWVuZGVsZWV2LWlucHV0LWVsZW1lbnQtZm9ybS1jb2xvcjogY29sb3IoJ2JyYW5kJykgIWRlZmF1bHQ7XG5cbkBpZiBub3QgZ2xvYmFsLXZhcmlhYmxlLWV4aXN0cyhNRU5ERUxFRVYtRUxFTUVOVFMtRk9STVMpIHtcblxuICAgIC8vIDEtMy4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnNcbiAgICAvLyA0LiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgaW5wdXQsXG4gICAgb3B0Z3JvdXAsXG4gICAgc2VsZWN0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAvLyAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC5cbiAgICAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLy8gMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIH1cblxuICAgIC8vIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgLy8gMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgICAgICAgZm9udDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdlbWFpbCddLFxuICAgIGlucHV0W3R5cGU9J251bWJlciddLFxuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG4gICAgaW5wdXRbdHlwZT0ndGVsJ10sXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddLFxuICAgIGlucHV0W3R5cGU9J3VybCddLFxuICAgIGlucHV0W3R5cGU9J2NvbG9yJ10sXG4gICAgaW5wdXRbdHlwZT0nZGF0ZSddLFxuICAgIGlucHV0W3R5cGU9J21vbnRoJ10sXG4gICAgaW5wdXRbdHlwZT0nd2VlayddLFxuICAgIGlucHV0W3R5cGU9J2RhdGV0aW1lJ10sXG4gICAgaW5wdXRbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgICBpbnB1dDpub3QoW3R5cGVdKSxcbiAgICB0ZXh0YXJlYSxcbiAgICBzZWxlY3Qge1xuICAgICAgICBAZXh0ZW5kICVtZW5kZWxlZXYtaW5wdXQ7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xuICAgICAgICB9XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgJF9jb2xvcjogYWRqdXN0LWNvbG9yKCRtZW5kZWxlZXYtaW5wdXQtZWxlbWVudC1mb3JtLWNvbG9yLCAkYWxwaGE6IDAuNSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMC41cmVtIDJweCByZ2JhKDAsIDAsIDAsIDAuMDgpLCAwIDAgMCAycHggI3skX2NvbG9yfTtcbiAgICAgICAgICAgIGZpbHRlcjogbm9uZTtcbiAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAlbWVuZGVsZWV2LWlucHV0IHtcbiAgICAgICAgQGluY2x1ZGUgb3B0aW9ucyhjb25maWcoJ2lucHV0JykpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAgICAgaGVpZ2h0OiBzaXplKDEuNzUpO1xuICAgICAgICBsaW5lLWhlaWdodDogY29uZmlnKCd0eXBvZ3JhcGh5LmxlYWQnKTtcbiAgICAgICAgbWFyZ2luOiBzaXplKDAuMjUpIDAgJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tIDA7XG4gICAgICAgIHBhZGRpbmc6IDAgc2l6ZSgwLjc1KTtcblxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J2NvbG9yJ10ge1xuICAgICAgICBwYWRkaW5nOiBzaXplKDAuMjUpIHNpemUoMC43NSk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT0nZGF0ZSddLFxuICAgIGlucHV0W3R5cGU9J21vbnRoJ10sXG4gICAgaW5wdXRbdHlwZT0nd2VlayddLFxuICAgIGlucHV0W3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLXJlbVB4KTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddLFxuICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMWVtO1xuICAgIH1cblxuICAgICRfc3R5bGUtY29udHJvbHM6IHRydWU7XG4gICAgQGlmICRfc3R5bGUtY29udHJvbHMge1xuICAgICAgICAkY29sb3I6ICRtZW5kZWxlZXYtaW5wdXQtZWxlbWVudC1mb3JtLWNvbG9yO1xuICAgICAgICAkY29sb3ItZGFyazogbWl4KCRjb2xvciwgY29sb3IoJ2JsYWNrJyksIDc1JSk7XG4gICAgICAgICRjb2xvci1saWdodDogYWRqdXN0LWNvbG9yKG1peCgkY29sb3IsIGNvbG9yKCd3aGl0ZScpLCA3NSUpLCAkc2F0dXJhdGlvbjogLTUwJSk7XG4gICAgICAgICRzaXplOiAxZW07XG4gICAgICAgICRjaGVjay1tYXJrLXdpZHRoOiAwLjJlbTtcblxuICAgICAgICAvLyBIaWRlIGNvbnRyb2xzXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J10sXG4gICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ10ge1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRGVmYXVsdCBpbnB1dCBidXR0b24gc3R5bGVzXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106OmFmdGVyLFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOjphZnRlciB7XG4gICAgICAgICAgICAvLyBEaXNwbGF5XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAvLyBTaXppbmdcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICB3aWR0aDogJHNpemU7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAvLyBDb2xvclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgKCRzaXplIC8gMikgcmdiYSgwLCAwLCAwLCAwLjEpLCBpbnNldCAwIDAgMCAxcHggcmdiYSgwLCAwLCAwLCAwLjIwKTtcbiAgICAgICAgICAgIG91dGxpbmUtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106OmFmdGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMC45ZW07XG4gICAgICAgICAgICByaWdodDogMC4xNWVtO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4yZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOjpiZWZvcmUge1xuICAgICAgICAgICAgLy8gRGlzcGxheVxuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgLy8gQm9yZGVyXG4gICAgICAgICAgICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwICRjaGVjay1tYXJrLXdpZHRoICRjaGVjay1tYXJrLXdpZHRoIDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG5cbiAgICAgICAgICAgIC8vIFBvc2l0aW9uXG4gICAgICAgICAgICB3aWR0aDogMC40ZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDAuN2VtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcmlnaHQ6IC0wLjJlbTtcbiAgICAgICAgICAgIGJvdHRvbTogMC4xZW07XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOjphZnRlciB7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBib3R0b206IDAuMjVlbTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrZWQgc3RhdGVcbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMG1zO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAoJHNpemUgLyAzKSBzb2xpZCAkY29sb3I7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gSG92ZXIgZWZmZWN0XG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106aG92ZXI6bm90KDpkaXNhYmxlZCk6OmFmdGVyLFxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gQ2hlY2tlZCBob3ZlciBlZmZlY3RcbiAgICAgICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFyaztcbiAgICAgICAgfVxuICAgICAgICBpbnB1dFt0eXBlPSdyYWRpbyddOmNoZWNrZWQ6aG92ZXI6bm90KDpkaXNhYmxlZCk6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIERpc2FibGVkXG4gICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ106ZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgICAgICAgIGZpbHRlcjogYnJpZ2h0bmVzcygxMTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIENoZWNrZWQgYW5kIGRpc2FibGVkXG4gICAgICAgIGlucHV0W3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZDpkaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWxpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0W3R5cGU9J3JhZGlvJ106Y2hlY2tlZDpkaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAoJHNpemUgLyAzKSBzb2xpZCBtaXgod2hpdGUsIGdyYXlzY2FsZSgkY29sb3IpLCA1MCUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgLy8gYmFja2dyb3VuZDogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMjkgMTRcIiB3aWR0aD1cIjI5XCI+PHBhdGggZmlsbD1cIiUyM2QxZDFkMVwiIGQ9XCJNOS4zNzcyNyAzLjYyNWw1LjA4MTU0IDYuOTM1MjNMMTkuNTQwMzYgMy42MjVcIi8+PC9zdmc+JykgY2VudGVyIHJpZ2h0IG5vLXJlcGVhdDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIC8vYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMjkgMTRcIiB3aWR0aD1cIjI5XCI+PHBhdGggZmlsbD1cIiUyMzliNGRjYVwiIGQ9XCJNOS4zNzcyNyAzLjYyNWw1LjA4MTU0IDYuOTM1MjNMMTkuNTQwMzYgMy42MjVcIi8+PC9zdmc+Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAxLiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiBzaXplKDAuNSkgc2l6ZSgwLjc1KTtcbiAgICAgICAgbWluLWhlaWdodDogc2l6ZSg1KTtcbiAgICB9XG5cbiAgICAvLyAxLTMuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgLy8gNC4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgIC8vIDUuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAvLyAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgIGxlZ2VuZCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBtYXgtd2lkdGg6IDMwcmVtOyAvLyAoMTAwJSBpbiBub3JtYWxpemUuY3NzKVxuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1lbmRlbGVldi1sYWJlbC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgIGxhYmVsICsgJW1lbmRlbGVldi1pbnB1dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNpemUoMC4yNSkgLSAkbWVuZGVsZWV2LWxhYmVsLW1hcmdpbi1ib3R0b207XG4gICAgfVxuXG4gICAgJW1lbmRlbGVldi1pbnB1dCArIGxlZ2VuZCxcbiAgICBsYWJlbCArIGxlZ2VuZCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHNpemUoMC4yNSkgLSAkbWVuZGVsZWV2LWxhYmVsLW1hcmdpbi1ib3R0b207XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHNpemUoMSk7XG4gICAgfVxuXG4gICAgLy8gQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgIGZpZWxkc2V0IHtcbiAgICAgICAgLy9ib3JkZXItd2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IC8vICgwLjM1ZW0gMC43NWVtIDAuNjI1ZW0gaW4gbm9ybWFsaXplLmNzcylcbiAgICB9XG5cbiAgICAvLyBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgIHByb2dyZXNzIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIC5sYWJlbC1pbmxpbmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgfVxufVxuXG4kTUVOREVMRUVWLUVMRU1FTlRTLUZPUk1TOiB0cnVlO1xuIiwKCQkiLy8gQ29yZSBlbGVtZW50c1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL21haW4vZmlsdGVyc1wiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL2NhcmRcIjtcbkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy90b29scy90b29sc1wiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL2dlbmVyaWNcIjtcbkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy90b29scy9jaGF0Ym90XCI7XG5AaW1wb3J0IFwic3JjL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvdG9vbHMvbWFpbGluZ1wiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL29waW5pb24tY29tcG9uZW50XCI7XG5AaW1wb3J0IFwic3JjL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvdG9vbHMvd2ViY2hhdFwiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3Rvb2xzL3N1cnZleVwiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvbGlua3MtbW9kYWxcIjtcbkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL2Rhc2hib2FyZFwiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3JlcG9ydHMvZXhwb3J0LWRhdGFcIjtcbkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9yZXBvcnRzL2dlbmVyaWNzXCI7XG5AaW1wb3J0IFwic3JjL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvYWRtaW4vZW52aXJvbm1lbnRcIjtcbkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9jb2xsYXBzaWJsZVwiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL2RhdGF0YWJsZXNcIjtcbkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9jbHVzdGVyc1wiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL3N0ZXJlb3R5cGVzXCI7XG5AaW1wb3J0IFwic3JjL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvbW9kYWxcIjtcblxuQGltcG9ydCBcImNvbXBvbmVudHMvdG91clwiO1xuQGltcG9ydCBcInNyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL21haW4vbWVuZGVsZWV2LXNoYW1lXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9sb2FkaW5nXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9tYWluL25hdmlnYXRpb25cIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29udmVyc2F0aW9ucy9kZXRhaWxcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvbW9kZXJhdGUtY29tbWVudHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvdGVybXMtb2YtdXNlXCI7XG5cbi8vZWpfY29uZWN0YV90cmFiYWxoYWRvcmVzIHRoZW1lXG5AaW1wb3J0IFwiY29tcG9uZW50cy9jb25lY3RhX3RyYWJhbGhhZG9yZXMvY2FyZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29uZWN0YV90cmFiYWxoYWRvcmVzL3Byb2ZpbGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbmVjdGFfdHJhYmFsaGFkb3Jlcy9kYXNoYm9hcmRcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbmVjdGFfdHJhYmFsaGFkb3Jlcy9oZWFkZXJcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2NvbmVjdGFfdHJhYmFsaGFkb3Jlcy93b3JrZXItYWRkaXRpb25hbC1pbmZvc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvY29uZWN0YV90cmFiYWxoYWRvcmVzL3Byb2ZpbGVcIjtcbiIsCgkJIi5maWx0ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLmZpbHRlcl9fc2VsZWN0IHtcbiAgICBtYXJnaW46IDAgMC41cmVtIDAgMC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LXBpbms7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtcGluaztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICAmLS13aWR0aC1zbSB7XG4gICAgICAgIHdpZHRoOiAxNjlweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNjlweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJi0td2lkdGgtbWQge1xuICAgICAgICB3aWR0aDogMjMwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMjMwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xuICAgIH1cbn1cblxuLmZpbHRlcl9fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4uZmlsdGVyX19lbnRyaWVzLXNlbGVjdCB7XG4gICAgd2lkdGg6IDRyZW07XG4gICAgbWluLXdpZHRoOiA0cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IHVuc2V0O1xufVxuXG4uZmlsdGVyX19zb3J0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGkge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgIH1cbiAgICAuZmEtc29ydC11cCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwLjU1cmVtO1xuICAgIH1cbn1cblxuLmZpbHRlcl9faW5wdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaW5wdXQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICB9XG4gICAgJi0tYmx1ZSB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTUwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBpcGUtLWRpdmlkZXIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgbWFyZ2luOiAwIDAuNXJlbSAwIDAuNXJlbTtcbn1cblxuLmljb24tLXBpbmsge1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LXBpbmsgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDgyMHB4KSB7XG4gICAgLnBpcGUtLWRpdmlkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAuZmlsdGVyX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxufVxuIiwKCQkiIiwKCQkiQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuQGltcG9ydCBcIi4uLy4uLzFfc2V0dGluZ3Mvc3BhY2luZ1wiO1xuQGltcG9ydCBcIi4uLy4uLzFfc2V0dGluZ3MvdHlwb2dyYXBoeVwiO1xuXG4kbW9kYWwtdHJhbnNwYXJlbnQtYmFja2dvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4kbW9kYWwtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMzUpO1xuXG4udG9vbHMge1xuICAgIEBleHRlbmQgLmNvbnRlbnQtZ3JpZDtcbiAgICBAZXh0ZW5kIC5jb250ZW50LWdyaWQtLXBhZGRpbmc7XG4gICAgbWF4LXdpZHRoOiA3MHZ3O1xuICAgIHBhZGRpbmc6IDJyZW0gMDtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IHVuc2V0O1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIH1cbiAgICBpbnB1dCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNnJlbTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogMC4xZW07XG4gICAgICAgIHJpZ2h0OiB1bnNldDtcbiAgICB9XG4gICAgc2VsZWN0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgIH1cbiAgICAuaDIsIC5oMyB7XG4gICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oMyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgJi1jb250YWluZXItZnVsbC13aWR0aCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtdGFibGUgdGQgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICYtdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgfVxufVxuXG4udG9vbHMtc2VjdGlvbixcbi50b29scy1zZWN0aW9uLTIge1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDFyZW07XG4gICAgcGFkZGluZzogNXB4O1xufVxuXG4udG9vbHMtc2VjdGlvbi0yIHtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuXG4udG9vbHMtc2VjdGlvbiAuc2Nyb3csXG4udG9vbHMtc2VjdGlvbi0yIC5zY3JvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbn1cbi50b29scy1zZWN0aW9uIC5zY3JvdyBkaXY6Zmlyc3QtY2hpbGQsXG4udG9vbHMtc2VjdGlvbi0yIC5zY3JvdyBkaXY6Zmlyc3QtY2hpbGQge1xuICAgIGZsZXgtZ3JvdzogMjtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi50b29scy1zZWN0aW9uIC50b29scy1jb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC41cztcbn1cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuQC1tb3ota2V5ZnJhbWVzIGZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC50b29scyB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuICAgIC50b29scy1zZWxlY3Qge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuICAgIC50b29scy1zaGFyZSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4NzZweCkgYW5kIChtYXgtd2lkdGg6IDEzMDBweCkge1xuICAgIC50b29scy1zZWxlY3Qge1xuICAgICAgICB3aWR0aDogNDcwcHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMzAxcHgpIHtcbiAgICAudG9vbHMtc2VsZWN0IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6MTIxMHB4KSB7XG4gICAgLnRvb2xzLWNhcmQtZXhwYW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIFJlc3BvbnNpdmUgY29sdW1ucyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT0xPUlMgUk9MRVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvZm4nO1xuXG4vLyBCcmFuZCBjb2xvcnM6IHRoZXkgYXJlIHVzZWQgb24gdGhlIGxvZ28gYW5kIG9uIHRoZSBtYWluIGVsZW1lbnRzIG9uIHRoZSBwYWdlLFxuLy8gbGlrZSBidXR0b25zLCBjb252ZXJzYXRpb24gY2FyZHMsIGxpbmtzLCBldGMuXG4kY29sb3ItYnJhbmQ6ICMzMEJGRDMgIWRlZmF1bHQ7XG4kY29sb3ItYWNjZW50OiAjRkYzRTcyICFkZWZhdWx0O1xuXG4vLyBEZXJpdmVkIGJyYW5kIGNvbG9yc1xuJGNvbG9yLWFjY2VudC1saWdodDogc2NhbGUtY29sb3IoJGNvbG9yLWFjY2VudCwgJHNhdHVyYXRpb246IC0xMCUsICRsaWdodG5lc3M6IDEwJSkgIWRlZmF1bHQ7IC8vICNGRjU3ODNcbiRjb2xvci1hY2NlbnQtbGlnaHRlcjogc2NhbGUtY29sb3IoJGNvbG9yLWFjY2VudCwgJGxpZ2h0bmVzczogODUlLCAkc2F0dXJhdGlvbjogLTEwJSkgIWRlZmF1bHQ7IC8vICNGRkUzRUFcbiRjb2xvci1icmFuZC1saWdodDogc2NhbGUtY29sb3IoJGNvbG9yLWJyYW5kLCAkbGlnaHRuZXNzOiA1NSUsICRzYXR1cmF0aW9uOiAyMCUpICFkZWZhdWx0OyAvLyAjOUZFNUVBXG4kY29sb3ItYnJhbmQtbGlnaHRlcjogc2NhbGUtY29sb3IoJGNvbG9yLWJyYW5kLCAkbGlnaHRuZXNzOiA4NSUsICRzYXR1cmF0aW9uOiAxMCUpICFkZWZhdWx0OyAvLyAjRTBGN0Y4XG4kY29sb3ItYnJhbmQtYWx0ZXJuYXRlOiBzY2FsZS1jb2xvcigkY29sb3ItYnJhbmQsICRsaWdodG5lc3M6IDU1JSwgJHNhdHVyYXRpb246IC00NSUpICFkZWZhdWx0OyAvLyNBM0Q4RERcbkBpZiAkY29sb3ItYnJhbmQgPT0gIzMwQkZEMyB7XG4gICAgJGNvbG9yLWJyYW5kLWxpZ2h0OiAjOUZFNUVBO1xuICAgICRjb2xvci1icmFuZC1saWdodGVyOiAjQzRGMkY0O1xuICAgICRjb2xvci1icmFuZC1hbHRlcm5hdGU6ICNBM0Q4REQ7XG59XG5cbi8vIFRleHQgYW5kIGJhY2tncm91bmRcbiRjb2xvci1ibGFjazogIzA1MmI0NyAhZGVmYXVsdDtcbiRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTogIzAwMDAwMCAhZGVmYXVsdDtcbiRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZS1saWdodDogcmdiYSgwLCAwLCAwLCAwLjgpICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlOiB3aGl0ZSAhZGVmYXVsdDtcblxuLy8gQ29sb3IgdGhlbWVzXG4kY29sb3ItdGhlbWUtYnJhbmQ6ICRjb2xvci1icmFuZCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1icmFuZC1saWdodDogJGNvbG9yLWJyYW5kLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtYWNjZW50OiAkY29sb3ItYWNjZW50ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWFjY2VudC1saWdodDogJGNvbG9yLWFjY2VudC1saWdodGVyICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZWVuOiAjMzZDMjczICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZWVuLWxpZ2h0OiAjQjRGREQ0ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLW9yYW5nZTogI0Y2ODEyOCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1vcmFuZ2UtbGlnaHQ6ICNGRkUxQ0EgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcHVycGxlOiAjNzc1OEIzICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXB1cnBsZS1saWdodDogI0U3REJGRiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1ncmV5OiAjNzk3OTc5ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWdyZXktbGlnaHQ6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtZGFyay1ibHVlOiAjMDUyYjQ3ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlZDogI0UyMDAwMCAhZGVmYXVsdDtcblxuLy9PcGluaW9uIGNvbXBvbmVudCBjb2xvcnNcbiRjb2xvci10aGVtZS1ib2NhZGVsb2JvOiAjODNFNzYwICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWJvY2FkZWxvYm8tbGlnaHQ6ICMxNjE2MTYgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtaWNkOiAjMDA1QkFBICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLWljZC1saWdodDogI0Y1ODIxRiAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS12b3RvcmFudGltOiAjMDQwODJEICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXZvdG9yYW50aW0tbGlnaHQ6ICNGMTQyMzYgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtb3NmOiAjMUQxMDg4ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLW9zZi1saWdodDogI0Y4MTI3RSAhZGVmYXVsdDtcbiRjb2xvci1saWdodC1ncmF5OiByZ2JhKDAsIDAsIDAsIDAuODApICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktMjAwOiAjRTVFN0VCICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktNTA6ICNGOUZBRkIgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS01MDA6ICM2QjcyODAgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS0zMDA6ICNEMUQ1REIgIWRlZmF1bHQ7XG5cbi8vUmVwb3J0IGNvbG9yc1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ncmF5OiAjRTVFNUU1ICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5OiAjYmFiYWJhICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0ZXI6ICNmZWZlZmUgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWdyYXktYmx1ZTogI0M0RjJGNCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtZ3JheS1ibHVlLXRyYW5zcGFyZW50OiAjQzRGMkY0OTkgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU6ICMwNTJCNDcgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU6ICMzMEJGRDMgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LWJsYWNrOiBibGFjayAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1yZXBvcnQtdHJhbnNwYXJlbnQtYmxhY2s6IHJnYmEoMCwgMCwgMCwgMC4xMikgIWRlZmF1bHQ7XG4kY29sb3ItdGhlbWUtcmVwb3J0LXJlZDogcmVkICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLXJlZDogI0UyMDAwMCAhZGVmYXVsdDtcbiRjb2xvci10aGVtZS1pbmZvLWNhcmQtcmVwb3J0OiAjRkZDRURCICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1waW5rOiAjRkYzRDcyICFkZWZhdWx0O1xuJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmVlbjogIzE4QUUwMCAhZGVmYXVsdDtcbiRjb2xvci1yZXBvcnQtaW5mby1waW5rOiAjZmY1NjgyICFkZWZhdWx0O1xuXG4vL0NsdXN0ZXJzIGNvbG9yc1xuJGNvbG9yLWJyaWdodC1ibHVlOiAjMzBDMUQ0ICFkZWZhdWx0O1xuJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTogIzc3Nzc3NyAhZGVmYXVsdDtcbiRjb2xvci1waW5rLWxpZ2h0OiAjRkYzRDcyICFkZWZhdWx0O1xuJGNvbG9yLWdyYXktYnJpZ3RoZXI6ICNFNUU1RTUgIWRlZmF1bHQ7XG4kY29sb3ItZ3JheS1kZWVwZXI6ICNEOUQ5RDkgIWRlZmF1bHQ7XG4kY29sb3ItcmVkLW5lZ2F0aXZlOiAjQzcwMDAwICFkZWZhdWx0O1xuJGNvbG9yLXRvb2x0aXAtcmVkOiAjRkZDRURCICFkZWZhdWx0O1xuJGNvbG90LWVycm9saXN0LXJlZDogI0ZGMDAwMCAhZGVmYXVsdDtcblxuLy9Qb2xsIGJvdFxuJG1vZGFsLXRyYW5zcGFyZW50LWJhY2tnb3VuZDogcmdiYSgwLCAwLCAwLCAwLjQpO1xuJG1vZGFsLXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgwLCAwLCAwLCAwLjM1KTtcblxuLy9NYW5hZ2UgU3RlcmVvdHlwZXNcbiRjb2xvci1idXR0b24tZ3JheTogI0JBQkFCQTtcbiRjb2xvci1jYXJkLWdyYXktbGlnaHRlcjogI0U2RUFFRDtcbiRjb2xvci1icmlnaHQtYmx1ZTogIzcyQ0FENztcbiRjb2xvci1ncmF5LWRhcms6ICM2QzZDNkM7XG4kY29sb3ItZ3JheS1kYXJrZXI6ICM3Nzc3Nzc7XG4kY29sb3ItYWdyZWU6IHJnYmEoMjQsIDE3NCwgMCwgMC44KTtcbiRjb2xvci1kaXNhZ3JlZTogI0M3MDAwMDtcbiRjb2xvci1iYXNlLXBpbms6ICNGRjNENzI7XG4kY29sb3ItZ3JheS13aGl0ZTogI0YwRjBGMDtcblxuLy8gQWN0aW9uIGNvbG9yc1xuJGNvbG9yLWFjdGlvbjogJGNvbG9yLWJyYW5kICFkZWZhdWx0O1xuJGNvbG9yLXByaW1hcnk6ICRjb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjb2xvci1zZWNvbmRhcnk6ICRjb2xvci1hY2NlbnQgIWRlZmF1bHQ7XG5cbi8vIE5hdmlnYXRpb24gaXRlbVxuJGNvbG9yLW5hdmlnYXRpb246ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci1uYXZpZ2F0aW9uLXRleHQ6ICRjb2xvci1ibGFjayAhZGVmYXVsdDtcbiRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlcjogI0M0QzRDNDtcbiRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlci13aXRoLW9wYWNpdHk6ICNDNEM0QzQ4MDtcbiRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlci10ZXh0OiAjNzc3O1xuJGNvbG9yLW5hdmlnYXRpb24tbWVudS1iYWNrZ3JvdW5kOiAjRjFGMUYxO1xuXG4vLyBtb2RhbHMgaXRlbXNcbiRjb2xvci1tb2RhbC1iYWNrZ3JvdW5kOiAjRTVFNUU1O1xuJGNvbG9yLW1vZGFsLWJhY2tncm91bmQtbGlnaHRlcjogI2YxZjFmMTtcblxuLy9DYXJkIHNoYWRvd3NcbiRjb2xvci1jYXJkLXNoYWRvdzogcmdiYSgwLCAwLCAwLCAwLjI1KSAhZGVmYXVsdDtcbi8vIE92ZXJyaWRlIGRlZmF1bHQgTWVuZGVsZWV2IGNvbG9yIHBhbGV0dGVcbiRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogKFxuICAgIC8vXG4gICAgLy8gQnJhbmQgY29sb3JzXG4gICAgJ2JyYW5kJzogJGNvbG9yLWJyYW5kLFxuICAgICdhY2NlbnQnOiAkY29sb3ItYWNjZW50LFxuICAgICdicmFuZC1saWdodCc6ICRjb2xvci1icmFuZC1saWdodCxcbiAgICAnYnJhbmQtbGlnaHRlcic6ICRjb2xvci1icmFuZC1saWdodGVyLFxuICAgICdicmFuZC1hbHRlcm5hdGUnOiAkY29sb3ItYnJhbmQtYWx0ZXJuYXRlLFxuICAgICdhY2NlbnQtbGlnaHQnOiAkY29sb3ItYWNjZW50LWxpZ2h0LFxuICAgICdhY2NlbnQtbGlnaHRlcic6ICRjb2xvci1hY2NlbnQtbGlnaHRlcixcbiAgICAvL1xuICAgIC8vIEFjdGlvbiBjb2xvcnNcbiAgICAncHJpbWFyeSc6ICRjb2xvci1wcmltYXJ5LFxuICAgICdzZWNvbmRhcnknOiAkY29sb3Itc2Vjb25kYXJ5LFxuICAgICduYXZpZ2F0aW9uJzogJGNvbG9yLW5hdmlnYXRpb24sXG4gICAgJ25hdmlnYXRpb24tdGV4dCc6ICRjb2xvci1uYXZpZ2F0aW9uLXRleHQsXG4gICAgLy9cbiAgICAvLyBUZXh0XG4gICAgJ2JsYWNrJzogJGNvbG9yLWJsYWNrLFxuICAgICd3aGl0ZSc6ICRjb2xvci13aGl0ZSxcbiAgICAnZGFyayc6ICRjb2xvci1ibGFjayxcbiAgICAnbGlnaHQnOiAkY29sb3Itd2hpdGUsXG4gICAgLy9cbiAgICAvLyBUaGVtZSBjb2xvcnNcbiAgICAndGhlbWUtYnJhbmQnOiAkY29sb3ItdGhlbWUtYnJhbmQsXG4gICAgJ3RoZW1lLWJyYW5kLWxpZ2h0JzogJGNvbG9yLXRoZW1lLWJyYW5kLWxpZ2h0LFxuICAgICd0aGVtZS1hY2NlbnQnOiAkY29sb3ItdGhlbWUtYWNjZW50LFxuICAgICd0aGVtZS1hY2NlbnQtbGlnaHQnOiAkY29sb3ItdGhlbWUtYWNjZW50LWxpZ2h0LFxuICAgICd0aGVtZS1ncmVlbic6ICRjb2xvci10aGVtZS1ncmVlbixcbiAgICAndGhlbWUtZ3JlZW4tbGlnaHQnOiAkY29sb3ItdGhlbWUtZ3JlZW4tbGlnaHQsXG4gICAgJ3RoZW1lLW9yYW5nZSc6ICRjb2xvci10aGVtZS1vcmFuZ2UsXG4gICAgJ3RoZW1lLW9yYW5nZS1saWdodCc6ICRjb2xvci10aGVtZS1vcmFuZ2UtbGlnaHQsXG4gICAgJ3RoZW1lLXB1cnBsZSc6ICRjb2xvci10aGVtZS1wdXJwbGUsXG4gICAgJ3RoZW1lLXB1cnBsZS1saWdodCc6ICRjb2xvci10aGVtZS1wdXJwbGUtbGlnaHQsXG4gICAgJ3RoZW1lLWdyZXknOiAkY29sb3ItdGhlbWUtZ3JleSxcbiAgICAndGhlbWUtZ3JleS1saWdodCc6ICRjb2xvci10aGVtZS1ncmV5LWxpZ2h0LFxuICAgICd0aGVtZS1yZWQnOiAkY29sb3ItdGhlbWUtcmVkLFxuXG4gICAgLy9PcGluaW9uIGNvbXBvbmVudCB0aGVtZXNcbiAgICAndGhlbWUtYm9jYWRlbG9ibyc6ICRjb2xvci10aGVtZS1ib2NhZGVsb2JvLFxuICAgICd0aGVtZS1ib2NhZGVsb2JvLWxpZ2h0JzogJGNvbG9yLXRoZW1lLWJvY2FkZWxvYm8tbGlnaHQsXG4gICAgJ3RoZW1lLWljZCc6ICRjb2xvci10aGVtZS1pY2QsXG4gICAgJ3RoZW1lLWljZC1saWdodCc6ICRjb2xvci10aGVtZS1pY2QtbGlnaHQsXG4gICAgJ3RoZW1lLXZvdG9yYW50aW0nOiAkY29sb3ItdGhlbWUtdm90b3JhbnRpbSxcbiAgICAndGhlbWUtdm90b3JhbnRpbS1saWdodCc6ICRjb2xvci10aGVtZS12b3RvcmFudGltLWxpZ2h0LFxuICAgICd0aGVtZS1vc2YnOiAkY29sb3ItdGhlbWUtb3NmLFxuICAgICd0aGVtZS1vc2YtbGlnaHQnOiAkY29sb3ItdGhlbWUtb3NmLWxpZ2h0LFxuKTtcblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRZUE9HUkFQSFlcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbXBvcnQgJy4uL25vZGVfbW9kdWxlcy9tZW5kZWxlZXYuY3NzL3NyYy9wcm9maWxlcy9kZWZhdWx0JztcblxuLy8gRm9udCByb2xlcyBhbmQgYmFzZSBzdHlsZXNcbiRmb250LXN0YWNrLXBhcmFncmFwaDogXCJXb3JrIFNhbnNcIiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWhlYWRpbmdzOiBcIldvcmsgU2Fuc1wiICFkZWZhdWx0O1xuXG4vLyBSZXNldCBNZW5kZWxlZXYgdmFyaWFibGVzIGFuZCBzdHlsZXNcbiRtZW5kZWxlZXYtdHlwZWZhY2U6ICRmb250LXN0YWNrLXBhcmFncmFwaDtcbiRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6ICgpICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKCRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QsIChcbiAgICAjMzBCRkQzOiAkY29sb3Itd2hpdGUsXG4gICAgI0ZGM0Q3MjogJGNvbG9yLXdoaXRlLFxuICAgICMwNDJBNDY6ICRjb2xvci13aGl0ZSxcbikpO1xuXG4vLyBFSiBjb25maWd1cmF0aW9uc1xuJGVqLWhlYWRpbmdzOiAoXG4gICAgZm9udC13ZWlnaHQ6IDQwMCxcbiAgICBmb250LWZhbWlseTogJGZvbnQtc3RhY2staGVhZGluZ3MsXG4pICFkZWZhdWx0O1xuJGVqLWJ1dHRvbi1yYWRpdXM6IDIuMjVyZW0gLyAyICFkZWZhdWx0O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUVOREVMRUVWIENPTkZJR1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1lbmRlbGVldi1jb25maWc6IG1hcC1tZXJnZS1kZWVwKFxuICAgICAgICAkbWVuZGVsZWV2LWNvbmZpZywgKFxuICAgICAgICAvLyBCcmVha2luZyBwb2ludHNcbiAgICAgICAgJ2JyZWFrcG9pbnRzJzogKFxuICAgICAgICAgICAgJ3NtJzogMzVyZW0sXG4gICAgICAgICksXG4gICAgICAgIC8vIFR5cG9ncmFwaHlcbiAgICAgICAgJ3R5cG9ncmFwaHknOiAoXG4gICAgICAgICAgICAnaGVhZGluZ3MnOiAkZWotaGVhZGluZ3MsXG4gICAgICAgICAgICAnc2Fucy1zZXJpZic6ICRmb250LXN0YWNrLXBhcmFncmFwaCxcbiAgICAgICAgICAgICdzaXplJzogKFxuICAgICAgICAgICAgICAgICdzdGFydCc6IDE2LFxuICAgICAgICAgICAgICAgICdzbSc6IDE2LFxuICAgICAgICAgICAgICAgICdtZCc6IDE3LFxuICAgICAgICAgICAgICAgICdsZyc6IDE4LFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICdzY2FsZSc6IChcbiAgICAgICAgICAgICAgICAnc3RhcnQnOiA5LzgsXG4gICAgICAgICAgICAgICAgJ3NtJzogOS84LFxuICAgICAgICAgICAgICAgICdtZCc6IDgvNyxcbiAgICAgICAgICAgICAgICAnbGcnOiA3LzYsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICAvLyBDb2xvcnNcbiAgICAgICAgJ2NvbG9yJzooXG4gICAgICAgICAgICAncm9sZXMnOiAoXG4gICAgICAgICAgICAgICAgJ3ByaW1hcnknLCAnc2Vjb25kYXJ5JyxcbiAgICAgICAgICAgICAgICAnYWN0aW9uJywgJ3Bvc2l0aXZlJywgJ25lZ2F0aXZlJyxcbiAgICAgICAgICAgICAgICAnd2FybmluZycsICd3aGl0ZScsICdibGFjaycsXG4gICAgICAgICAgICApLFxuICAgICAgICApLFxuICAgICAgICAvLyBGb3Jtc1xuICAgICAgICAnaW5wdXQnOiAoXG4gICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6ICRlai1idXR0b24tcmFkaXVzLFxuICAgICAgICAgICAgJ21pbi13aWR0aCc6IDE1ZW0sXG4gICAgICAgICAgICAnd2lkdGgnOiAxMDAlLFxuICAgICAgICAgICAgJ21heC13aWR0aCc6IDMwcmVtLFxuICAgICAgICApLFxuICAgICAgICAnYnV0dG9uJzogKFxuICAgICAgICAgICAgJ2JvcmRlci1yYWRpdXMnOiAkZWotYnV0dG9uLXJhZGl1cyxcbiAgICAgICAgICAgICdmb250LXdlaWdodCc6IDcwMCxcbiAgICAgICAgKSxcbiAgICAgICAgLy8gRUogR2xvYmFsIHN0eWxlcyBhbmQgY29tcG9uZW50c1xuICAgICAgICAnZWonOiAoXG4gICAgICAgICAgICAnc3R5bGUnIDogKFxuICAgICAgICAgICAgICAgICdib3JkZXItcmFkaXVzJzogLjc1cmVtLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICdjb252ZXJzYXRpb24tY2FyZCc6IChcbiAgICAgICAgICAgICAgICAnYm9yZGVyLXJhZGl1cyc6IDUwJSxcbiAgICAgICAgICAgICAgICAnaGlnaGxpZ2h0LXRhZ3MnOiB0cnVlLFxuICAgICAgICAgICAgICAgICdiZy1pbWFnZSc6ICcvc3RhdGljL2ltZy9iZy9jb252ZXJzYXRpb24tY2FyZC5wbmcnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKVxuICAgICkpO1xuXG5AaW1wb3J0ICcuLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvbWVuZGVsZWV2JztcbiIsCgkJIi8vIEFsaWFzIHRvIGZuLnNhc3NcbkBpbXBvcnQgJ2ZuLnNhc3MvZm4nO1xuXG4vLy8gTG9nIGdpdmVuICR2YWx1ZXMgYW5kIHJldHVybiB0aGUgbGFzdCBhcmd1bWVudC5cbkBmdW5jdGlvbiBsb2coJGFyZ3MuLi4pIHtcbiAgICBAd2FybiAnTE9HOiAjeyRhcmdzfSc7XG4gICAgQHJldHVybiBudGgoJGFyZ3MsIGxlbmd0aCgkYXJncykpO1xufVxuXG5AbWl4aW4gdmFyLWZhbGxiYWNrKCRkZWZzKSB7XG4gICAgQGVhY2ggJHByb3AsICRwYWlyIGluICRkZWZzIHtcbiAgICAgICAgJHZhbHVlOiBudGgoJHBhaXIsIDEpO1xuICAgICAgICAkdmFyLW5hbWU6IG50aCgkcGFpciwgMik7XG4gICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgICN7JHByb3B9OiB1bnF1b3RlKCd2YXIoLS0jeyR2YXItbmFtZX0pJyk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gbWFwLXNvbWUta2V5cygkcHJlZCwgJG1hcCwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJHByZWQpO1xuXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICBAaWYgY2FsbCgkZm4sICRrLCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gZmFsc2U7XG59XG5cbkBmdW5jdGlvbiBtYXAtc29tZS12YWx1ZXMoJHByZWQsICRtYXAsICRhcmdzLi4uKSB7XG4gICAgJGZuOiBhcy1mdW5jKCRwcmVkKTtcblxuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgICAgQGlmIGNhbGwoJGZuLCAkdiwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AZnVuY3Rpb24gbWFwLWV2ZXJ5LWtleSgkcHJlZCwgJG1hcCwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJHByZWQpO1xuXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgICBAaWYgbm90IGNhbGwoJGZuLCAkaywgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiB0cnVlO1xufVxuXG5AZnVuY3Rpb24gbWFwLWV2ZXJ5LXZhbHVlKCRwcmVkLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmbjogYXMtZnVuYygkcHJlZCk7XG5cbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICAgIEBpZiBub3QgY2FsbCgkZm4sICR2LCAkYXJncy4uLikge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG4iLAoJCSJAaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAnbGlzdCc7XG5AaW1wb3J0ICdhcnJheSc7XG5AaW1wb3J0ICdtYXAnO1xuQGltcG9ydCAnc3RyaW5nJztcbkBpbXBvcnQgJ251bWJlcnMnO1xuQGltcG9ydCAnY29sb3InO1xuQGltcG9ydCAndGVzdGluZyc7XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIFVUSUxJVFkgRlVOQ1RJT05TXG4vLy8gQGdyb3VwIHV0aWxpdHkgZnVuY3Rpb25zXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBDb252ZXJ0IGZ1bmN0aW9uIG9yIHN0cmluZyB0byBhIGZ1bmN0aW9uIGhhbmRsZS5cbkBmdW5jdGlvbiBhcy1mdW5jKCRmbikge1xuICAgIEBpZiB0eXBlLW9mKCRmbikgPT0gZnVuY3Rpb24ge1xuICAgICAgICBAcmV0dXJuICRmblxuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkZm4pID09IHN0cmluZyB7XG4gICAgICAgIC8vbm9pbnNwZWN0aW9uIENzc0ludmFsaWRGdW5jdGlvblxuICAgICAgICBAcmV0dXJuIGdldC1mdW5jdGlvbigkZm4pO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIGZ1bmN0aW9uOiAjeyRmbn1cIjtcbiAgICB9XG59XG5cbi8vLyBWZXJzaW9uIG9mIGNhbGwoLi4uKSB0aGF0IGFjY2VwdHMgbmFtZXMgYW5kIGZ1bmN0aW9uIHJlZmVyZW5jZXNcbkBmdW5jdGlvbiBjYWxsLWZuKCRmbiwgJGFyZ3MuLi4pIHtcbiAgICBAcmV0dXJuIGNhbGwoYXMtZnVuYygkZm4pLCAkYXJncy4uLik7XG59XG5cbi8vLyBQYXNzIGFyZ3VtZW50IHRocm91Z2ggYSBzZXJpZXMgb2YgZnVuY3Rpb25zLlxuQGZ1bmN0aW9uIHBpcGUoJHgsICRmbnMuLi4pIHtcbiAgICBAZWFjaCAkZm4gaW4gJGZucyB7XG4gICAgICAgICR4OiBjYWxsLWZuKCRmbiwgJHgpO1xuICAgIH1cbiAgICBAcmV0dXJuICR4O1xufVxuXG4vLy8gUGFzcyBhcmd1bWVudHMgcGFpcndpc2UgdGhyb3VnaCBhIHNlcmllcyBvZiBmdW5jdGlvbnMuXG4vLy8gQWxsIGludGVybWVkaWF0ZSBmdW5jdGlvbnMgbXVzdCByZXR1cm4gbGlzdHMgb2YgYXJndW1lbnRzIHRvIHRoZSBmb2xsb3dpbmdcbi8vLyBmdW5jdGlvbnMuIFRoZSBsYXN0IGZ1bmN0aW9uIGluIHRoZSBwaXBlIGNhbiByZXR1cm4gYW55dGhpbmcuXG5AZnVuY3Rpb24gcGlwZS0yKCR4LCAkeSwgJGZucy4uLikge1xuICAgICRhcmdzOiAoJHgsICR5KTtcbiAgICBAZWFjaCAkZm4gaW4gJGZucyB7XG4gICAgICAgICRhcmdzOiBjYWxsLWZuKCRmbiwgJGFyZ3MuLi4pO1xuICAgIH1cbiAgICBAcmV0dXJuICRhcmdzO1xufVxuXG4vLy8gRmxpcCB0aGUgb3JkZXIgb2YgYSAyLWVsZW1lbnQgbGlzdFxuQGZ1bmN0aW9uIGZsaXAoJHgsICR5KSB7XG4gICAgQHJldHVybiAoJHksICR4KTtcbn1cblxuLy8vIFJldHVybiBpdHMgYXJndW1lbnRcbkBmdW5jdGlvbiBpZGVudGl0eSgkeCkge1xuICAgIEByZXR1cm4gJHg7XG59XG5cbi8vLyBSZXR1cm4gZmlyc3QgZWxlbWVudCBvZiBhIGxpc3RcbkBmdW5jdGlvbiBmaXJzdCgkbHN0KSB7XG4gICAgQHJldHVybiBudGgoJGxzdCwgMSk7XG59XG5cbi8vLyBSZXR1cm4gc2Vjb25kIGVsZW1lbnQgb2YgYSBsaXN0XG5AZnVuY3Rpb24gc2Vjb25kKCRsc3QpIHtcbiAgICBAcmV0dXJuIG50aCgkbHN0LCAyKTtcbn1cblxuLy8vIFJldHVybiBmaXJzdCBhcmd1bWVudFxuQGZ1bmN0aW9uIGZpcnN0LWFyZygkeCwgJGFyZ3MuLi4pIHtcbiAgICBAcmV0dXJuICR4O1xufVxuXG4vLy8gUmV0dXJuIHNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIHNlY29uZC1hcmcoJHgsICR5LCAkYXJncy4uLikge1xuICAgIEByZXR1cm4gJHk7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiAkYSA+ICRiXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGd0KCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgPiAkYjtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhID49ICRiXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGdlKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgPj0gJGI7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiAkYSA8ICRiXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGx0KCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgPCAkYjtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhIDw9ICRiXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIGxlKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgPD0gJGI7XG59XG5cbi8vLyBSZXR1cm4gdHJ1ZSBpZiAkYSAhPSAkYlxuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBuZSgkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhICE9ICRiO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgJGEgPT0gJGJcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gZXEoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSA9PSAkYjtcbn1cblxuLy8vIEFkZCB0d28gbnVtYmVyc1xuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBhZGQoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSArICRiO1xufVxuXG4vLy8gUmV2ZXJzZSBhZGRpdGlvbiAodXNlZnVsIGZvciBzdHJpbmdzKVxuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiByYWRkKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGIgKyAkYTtcbn1cblxuLy8vIFN1YnRyYWN0IHR3byBudW1iZXJzXG4vLy8gQGFyZyAkYSAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkYiAtIFNlY29uZCBhcmd1bWVudFxuQGZ1bmN0aW9uIHN1YigkYSwgJGIpIHtcbiAgICBAcmV0dXJuICRhIC0gJGI7XG59XG5cbi8vLyBGbGlwcGVkIGFwcGxpY2F0aW9uIG9mIHN1YlxuQGZ1bmN0aW9uIG9wLXJzdWIoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYiAtICRhO1xufVxuXG4vLy8gTXVsdGlwbHkgdHdvIG51bWJlcnNcbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gbXVsKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGEgKiAkYjtcbn1cblxuLy8vIFJldmVyc2UgbXVsdGlwbGljYXRpb25cbi8vLyBAYXJnICRhIC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRiIC0gU2Vjb25kIGFyZ3VtZW50XG5AZnVuY3Rpb24gbXVsKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGIgKiAkYTtcbn1cblxuLy8vIERpdmlkZSB0d28gbnVtYmVyc1xuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBkaXYoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSAvICRiO1xufVxuXG4vLy8gRmxpcHBlZCBhcHBsaWNhdGlvbiBvZiBkaXZcbkBmdW5jdGlvbiByZGl2KCRhLCAkYikge1xuICAgIEByZXR1cm4gJGIgLyAkYTtcbn1cblxuLy8vIE1vZHVsbyBkaXZpc2lvbiBvZiB0d28gbnVtYmVyc1xuLy8vIEBhcmcgJGEgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJGIgLSBTZWNvbmQgYXJndW1lbnRcbkBmdW5jdGlvbiBtb2QoJGEsICRiKSB7XG4gICAgQHJldHVybiAkYSAlICRiO1xufVxuXG4vLy8gRmxpcHBlZCBhcHBsaWNhdGlvbiBvZiBtb2RcbkBmdW5jdGlvbiBybW9kKCRhLCAkYikge1xuICAgIEByZXR1cm4gJGIgJSAkYTtcbn1cblxuLy8vIFJldHVybiB0cnVlIGZvciBub24tbnVsbCB2YWx1ZXNcbkBmdW5jdGlvbiBub3QtbnVsbCgkeCkge1xuICAgIEByZXR1cm4gJHggIT0gbnVsbDtcbn1cblxuLy8vIE11bHRpcGx5IG51bWJlciBieSAtMSBvciBpbnZlcnQgYm9vbGVhbiB2YWx1ZXNcbkBmdW5jdGlvbiBuZWdhdGUoJHgpIHtcbiAgICBAaWYgJHggPT0gdHJ1ZSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfSBAZWxzZSBpZiAkeCA9PSBmYWxzZSB7XG4gICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgQHJldHVybiAtMSAqICR4O1xufVxuXG4vLy8gUmV0dXJuIHRydWUgZm9yIGV2ZW4gbnVtYmVyc1xuQGZ1bmN0aW9uIGlzLWV2ZW4oJHgpIHtcbiAgICBAcmV0dXJuICR4ICUgMiA9PSAwO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgZm9yIG9kZCBudW1iZXJzXG5AZnVuY3Rpb24gaXMtb2RkKCR4KSB7XG4gICAgQHJldHVybiAkeCAlIDIgPT0gMTtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICR4IGlzIGRpdmlzaWJsZSBieSAkbi5cbi8vL1xuLy8vIEBhcmcgJHggLSBBcmd1bWVudFxuLy8vIEBhcmcgJG4gLSBEaXZpc29yXG5AZnVuY3Rpb24gaXMtZGl2aXNpYmxlLWJ5KCR4LCAkbikge1xuICAgIEByZXR1cm4gJHggJSAkbiA9PSAwO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgYWxsIHRoZSBnaXZlbiBrZXlzIGFyZSByZXBsaWNhdGVkIHdpdGggdGhlIHNhbWUgdmFsdWVzIGluXG4vLy8gdGhlIGFyZ3VtZW50IG1hcC5cbi8vL1xuLy8vIEBhcmcgJG1hcCAtIElucHV0IG1hcFxuLy8vIEBhcmcgJGtleXMgLSBBIG1hcCBvZiBrZXlzIHRvIHZhbHVlcyB0byBjb21wYXJlIHdpdGggdGhlIGxoc1xuQGZ1bmN0aW9uIGtleXMtZXF1YWwoJG1hcCwgJGtleXMpIHtcbiAgICBAZWFjaCAkaywgJHYgaW4gJGtleXMge1xuICAgICAgICBAaWYgbWFwLWdldCgkbWFwLCAkaykgIT0gJHYge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIExJTktFRCBMSVNUU1xuLy8vIEBncm91cCBsaXN0XG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuQGltcG9ydCAnbGlzdC1wZXJmJztcblxuJF9mbi1saXN0LW5vdC1naXZlbjogdW5pcXVlLWlkKCkgIWRlZmF1bHQ7XG4kZm4tZW1wdHktYXJyYXk6IGpvaW4oKCksICgpLCBjb21tYSkgIWRlZmF1bHQ7XG4kZm4tZW1wdHktbWFwOiBtYXAtcmVtb3ZlKCgpLCBudWxsKSAhZGVmYXVsdDtcblxuLy8gQkFTSUMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIENyZWF0ZSBhIGxpc3Qgb2YgY29ucyBjZWxscyBmcm9tIGFyZ3VtZW50c1xuLy8vIFVzZSBhcyBMKDEsIDIsIDMsIDQpXG5AZnVuY3Rpb24gTCgkeDE6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sXG4gICAgICAgICAgICAkeDI6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sXG4gICAgICAgICAgICAkeDM6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sXG4gICAgICAgICAgICAkeDQ6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sXG4gICAgICAgICAgICAkeDU6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sXG4gICAgICAgICAgICAkeDY6ICRfZm4tbGlzdC1ub3QtZ2l2ZW4sXG4gICAgICAgICAgICAkYXJncy4uLikge1xuICAgIEBpZiAkeDEgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9IEBlbHNlIGlmICR4MiA9PSAkX2ZuLWxpc3Qtbm90LWdpdmVuIHtcbiAgICAgICAgQHJldHVybiAoJHgxIG51bGwpO1xuICAgIH0gQGVsc2UgaWYgJHgzID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAcmV0dXJuICgkeDEgKCR4MiBudWxsKSk7XG4gICAgfSBAZWxzZSBpZiAkeDQgPT0gJF9mbi1saXN0LW5vdC1naXZlbiB7XG4gICAgICAgIEByZXR1cm4gKCR4MSAoJHgyICgkeDMgbnVsbCkpKTtcbiAgICB9IEBlbHNlIGlmICR4NSA9PSAkX2ZuLWxpc3Qtbm90LWdpdmVuIHtcbiAgICAgICAgQHJldHVybiAoJHgxICgkeDIgKCR4MyAoJHg0IG51bGwpKSkpO1xuICAgIH0gQGVsc2UgaWYgJHg2ID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAcmV0dXJuICgkeDEgKCR4MiAoJHgzICgkeDQgKCR4NSBudWxsKSkpKSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gKCR4MSAoJHgyICgkeDMgKCR4NCAoJHg1ICgkeDYgTCgkYXJncy4uLikpKSkpKSk7XG4gICAgfVxufVxuXG4vLy8gUmV0dXJucyBmaXJzdCBlbGVtZW50IG9mIGxpc3Rcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGNhcigkeHMpIHtcbiAgICBAcmV0dXJuIG50aCgkeHMsIDEpO1xufVxuXG4vLy8gUmV0dXJucyBsaXN0J3MgdGFpbFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gY2RyKCR4cykge1xuICAgIEByZXR1cm4gbnRoKCR4cywgMik7XG59XG5cbi8vLyBDb25zdHJ1Y3QgbGlzdCwgYWRkaW5nIGZpcnN0IGFyZ3VtZW50ICR4IGluIGZyb250IG9mIGEgbGlzdCBvZiAkeHMuXG4vLy9cbi8vLyBAYXJnICR4IC0gRWxlbWVudFxuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGNvbnMoJHgsICR4cykge1xuICAgIEByZXR1cm4gKCR4ICR4cyk7XG59XG5cbi8vLyBSZXR1cm4gbGlzdCBsZW5ndGhcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1sZW5ndGgoJHhzKSB7XG4gICAgJHNpemU6IDA7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRzaXplOiAkc2l6ZSArIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJHNpemU7XG59XG5cbi8vLyBSZXR1cm4gdGhlIG4tdGggZWxlbWVudCBpbiBsaXN0IG9mICR4c1xuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkbiAtIFJlcXVlc3RlZCBwb3NpdGlvblxuQGZ1bmN0aW9uIGxzdC1udGgoJHhzLCAkbiwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAZXJyb3IgXCJMaXN0IGRvIG5vdCBoYXZlIGVub3VnaCBlbGVtZW50cy5cIlxuICAgIH1cbiAgICBAaWYgJG4gPD0gMCB7XG4gICAgICAgIEBlcnJvciBcIk5lZ2F0aXZlIG9yIHplcm8gaW5kZXhlcyBub3QgYWxsb3dlZC5cIlxuICAgIH1cbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgQGlmICRuID09IDEge1xuICAgICAgICAgICAgQHJldHVybiBudGgoJHhzLCAxKTtcbiAgICAgICAgfVxuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkbjogJG4gLSAxO1xuICAgIH1cbiAgICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gUmV0dXJuIHRoZSBwb3NpdGlvbiBvZiAkdmFsdWUgaW4gbGlzdCBvZiAkeHMuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR2YWx1ZSAtIExvb2t1cCB2YWx1ZVxuQGZ1bmN0aW9uIGxzdC1pbmRleCgkeHMsICR2YWx1ZSwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICAkaWR4OiAwO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkaWR4OiAkaWR4ICsgMTtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICBAaWYgJHggPT0gJHZhbHVlIHtcbiAgICAgICAgICAgIEByZXR1cm4gJGlkeDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgbGlzdCBvZiAkeHMgY29udGFpbnMgJHZhbHVlXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR2YWx1ZSAtIExvb2t1cCB2YWx1ZVxuQGZ1bmN0aW9uIGxzdC1jb250YWlucygkeHMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gbHN0LWluZGV4KCR4cywgJHZhbHVlKSAhPSBudWxsO1xufVxuXG4vLy8gQ2FzdCBsaXN0IG9iamVjdCBhcyBhIGxpbmtlZCBsaXN0LlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBsaXN0IG9yIGxpc3QtbGlrZSBvYmplY3QuXG5AZnVuY3Rpb24gdG8tbHN0KCR4cykge1xuICAgIC8vbm9pbnNwZWN0aW9uIENzc0ludmFsaWRGdW5jdGlvblxuICAgIEBpZiAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gJHhzO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkeHMpID09ICdsaXN0JyB7XG4gICAgICAgIEBpZiBpcy1icmFja2V0ZWQoJHhzKSBvciBsaXN0LXNlcGFyYXRvcigkeHMpID09ICdjb21tYScge1xuICAgICAgICAgICAgQHJldHVybiBsc3QtZnJvbS1hcnJheSgkeHMpO1xuICAgICAgICB9IEBlbHNlIGlmIGxlbmd0aCgkeHMpID09IDIge1xuICAgICAgICAgICAgQHJldHVybiAkeHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGVycm9yIFwiSW5wdXQgbXVzdCBiZSBhIGxpbmtlZCBsaXN0LlxcbkhpbnQ6IGNyZWF0ZSBvbmUgZnJvbSBhIHJlZ3VsYXIgU2FzcyBhcnJheSB1c2luZyBMKCR4cy4uLilcIlxufVxuXG4vLyBKT0lOSU5HIEFORCBNRVJHSU5HIExJU1RTIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AZnVuY3Rpb24gX2xzdC1yZXZlcnNlKCR4cykge1xuICAgICR5czogbnVsbDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkeXM6ICgkeCAkeXMpO1xuICAgIH1cbiAgICBAcmV0dXJuICR5cztcbn1cblxuLy8vIFJldmVyc2Ugb3JkZXIgb2YgZWxlbWVudHMgaW4gbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXJldmVyc2UoJHhzKSB7XG4gICAgQHJldHVybiBfbHN0LXJldmVyc2UodG8tbHN0KCR4cykpO1xufVxuXG4vLy8gWmlwIHR3byBsaXN0cyB0b2dldGhlciBhbmQgcmV0dXJuIGEgbGlzdCBvZiBjb25zZXMuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR5cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtemlwKCR4cywgJHlzLCAkcmV2ZXJzZTogZmFsc2UpIHtcbiAgICAkcmVzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMgYW5kICR5cyB7XG4gICAgICAgICRyZXM6ICgobnRoKCR4cywgMSkgbnRoKCR5cywgMSkpICRyZXMpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkeXM6IG50aCgkeXMsIDIpO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkcmVzLCBfbHN0LXJldmVyc2UoJHJlcykpO1xufVxuXG5AZnVuY3Rpb24gX2xzdC1zdGl0Y2goJHhzLCAkeXMpIHtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkeXM6ICgkeCAkeXMpO1xuICAgIH1cbiAgICBAcmV0dXJuICR5cztcbn1cblxuLy8vIENyZWF0ZSBhIGxpc3Qgd2l0aCByZXZlcnNlZCAkeHMgZm9sbG93ZWQgYnkgJHlzLlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkeXMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXN0aXRjaCgkeHMsICR5cykge1xuICAgIEByZXR1cm4gX2xzdC1zdGl0Y2godG8tbHN0KCR4cyksIHRvLWxzdCgkeXMpKTtcbn1cblxuLy8vIENyZWF0ZSBhIGxpc3Qgd2l0aCAkeHMgZm9sbG93ZWQgYnkgJHlzLlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkeXMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWpvaW4oJHhzLCAkeXMpIHtcbiAgICBAcmV0dXJuIF9sc3Qtc3RpdGNoKF9sc3QtcmV2ZXJzZSh0by1sc3QoJHhzKSksIHRvLWxzdCgkeXMpKTtcbn1cblxuLy8vIEFwcGVuZCBhbiBhcnJheSBvZiBsaXN0cyB0b2dldGhlclxuLy8vXG4vLy8gQGFyZyAkbGlzdHMgLSBBcnJheSBvZiBsaXN0c1xuQGZ1bmN0aW9uIGxzdC1jb25jYXQoJGxpc3RzKSB7XG4gICAgJHhzOiBudGgoJGxpc3RzLCBsZW5ndGgoJGxpc3RzKSk7XG4gICAgQGZvciAkaSBmcm9tIGxlbmd0aCgkbGlzdHMpIC0gMSB0aHJvdWdoIDEge1xuICAgICAgICAkeHM6IGxzdC1qb2luKG50aCgkbGlzdHMsICRpKSwgJHhzKTtcbiAgICB9XG4gICAgQHJldHVybiAkeHM7XG59XG5cbi8vLyBJbnRlcnNwZXJzZSAkdmFsdWUgYmV0d2VlbiBlbGVtZW50cyBvZiAkeHNcbi8vLyAgICAgbHN0LWludGVyc3BlcnNlKEwoMSwgMiwgMyksIDApID09PiBMKDEsIDAsIDIsIDAsIDMpXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICR2YWx1ZSAtIExpc3RcbkBmdW5jdGlvbiBsc3QtaW50ZXJzcGVyc2UoJHhzLCAkdmFsdWUsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICAkcmVzOiBudWxsO1xuICAgICR5OiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRyZXM6ICgkdmFsdWUgKCR5ICRyZXMpKTtcbiAgICAgICAgJHk6ICR4O1xuICAgIH1cbiAgICAkcmVzOiAoJHkgJHJlcyk7XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHJlcywgX2xzdC1yZXZlcnNlKCRyZXMpKTtcbn1cblxuLy8vIEludGVyY2FsYXRlIGVsZW1lbnRzIG9mIGJvdGggbGlzdHNcbi8vL1xuLy8vIEBhcmcgJHhzIC0gRmlyc3QgbGlzdFxuLy8vIEBhcmcgJHlzIC0gU2Vjb25kIGxpc3RcbkBmdW5jdGlvbiBsc3QtaW50ZXJjYWxhdGUoJHhzLCAkeXMsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiB0by1sc3QoJHlzKTtcbiAgICAkcmVzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMgYW5kICR5cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHk6IG50aCgkeXMsIDEpO1xuICAgICAgICAkeXM6IG50aCgkeXMsIDIpO1xuICAgICAgICAkcmVzOiAoJHkgKCR4ICRyZXMpKTtcbiAgICAgICAgQGlmIG5vdCAkeHMge1xuICAgICAgICAgICAgQHJldHVybiBfbHN0LXN0aXRjaCgkcmVzLCAkeXMpXG4gICAgICAgIH1cbiAgICAgICAgQGlmIG5vdCAkeXMge1xuICAgICAgICAgICAgQHJldHVybiBfbHN0LXN0aXRjaCgkcmVzLCAkeHMpXG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHJlcywgX2xzdC1yZXZlcnNlKCRyZXMpKTtcbn1cblxuLy8gQ1JFQVRJT04gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIENyZWF0ZSBsaXN0IHdpdGggJG4gcmVwZXRpdGlvbiBvZiAkeFxuLy8vXG4vLy8gQGFyZyAkeCAtIFZhbHVlXG4vLy8gQGFyZyAkbiAtIE51bWJlciBvZiByZXBldGl0aW9uc1xuQGZ1bmN0aW9uIGxzdC1yZXBlYXQoJHgsICRuOiAxKSB7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkbiA+IDAge1xuICAgICAgICAkeXM6ICgkeCAkeXMpO1xuICAgICAgICAkbjogJG4gLSAxO1xuICAgIH1cbiAgICBAcmV0dXJuICR5cztcbn1cblxuLy8vIFJldHVybiBhIHJhbmdlIG9mIG51bWJlcnMgZnJvbSAkYSB0byAkYiAoaW5jbHVzaXZlKVxuLy8vXG4vLy8gQGFyZyAkYSAtIFN0YXJ0aW5nIG9mIHJhbmdlXG4vLy8gQGFyZyAkYiAtIEVuZCBvZiByYW5nZVxuLy8vIEBhcmcgJHN0ZXAgKG9wdGlvbmFsKSAtIFN0ZXAgYmV0d2VlbiBzdWNjZXNzaXZlIHZhbHVlcy5cbkBmdW5jdGlvbiBsc3QtcmFuZ2UoJGEsICRiLCAkc3RlcDogMSkge1xuICAgIEBpZiAkYiA8ICRhIHtcbiAgICAgICAgQHJldHVybiBsc3QtcmFuZ2UoJGIsICRhLCAtJHN0ZXApO1xuICAgIH1cblxuICAgICR5czogbnVsbDtcbiAgICBAd2hpbGUgJGEgPD0gJGIge1xuICAgICAgICAkeXM6ICgkYSAkeXMpO1xuICAgICAgICAkYTogJGEgKyAkc3RlcDtcbiAgICB9XG4gICAgQHJldHVybiBfbHN0LXJldmVyc2UoJHlzKTtcbn1cblxuLy8gVFJBTlNGT1JNQVRJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGZ1bmN0aW9uIF9sc3QtbWFwKCRmbiwgJHhzLCAkYXJncykge1xuICAgICR5czogbnVsbDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkeXM6IChjYWxsKCRmbiwgJHgsICRhcmdzLi4uKSAkeXMpO1xuICAgIH1cbiAgICBAcmV0dXJuICR5cztcbn1cblxuLy8vIENyZWF0ZSBhIGxpc3Qgb2YgZm4oJHgpIGZvciBlYWNoICR4IGluICR4cy5cbi8vL1xuLy8vIEFueSBhZGRpdGlvbmFsIGFyZ3VtZW50cyBhcmUgcGFzc2VkIHRvIHRoZSBmdW5jdGlvbiBkdXJpbmcgZnVuY3Rpb25cbi8vLyBhcHBsaWNhdGlvbi4gSWYgb3JkZXIgb2YgZWxlbWVudHMgaXMgbm90IGltcG9ydGFudCwgdXNlIGxzdC1yZXZtYXAsIHNpbmNlIGl0XG4vLy8gaXMgZmFzdGVyLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBGdW5jdGlvbiBuYW1lIG9yIGhhbmRsZVxuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1tYXAoJGZuLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgQHJldHVybiBfbHN0LXJldmVyc2UoX2xzdC1tYXAoYXMtZnVuYygkZm4pLCB0by1sc3QoJHhzKSwgJGFyZ3MpKTtcbn1cblxuLy8vIExpa2UgbWFwLCBidXQgcmV0dXJuIGEgcmV2ZXJzZWQgY29weSBvZiB0aGUgbWFwcGVkIGxpc3QuXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uIG5hbWUgb3IgaGFuZGxlXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXJldm1hcCgkZm4sICR4cywgJGFyZ3MuLi4pIHtcbiAgICBAcmV0dXJuIF9sc3QtbWFwKGFzLWZ1bmMoJGZuKSwgdG8tbHN0KCR4cyksICRhcmdzKTtcbn1cblxuLy8vIENyZWF0ZSBhIGxpc3Qgb2YgZm4oJHgpIGZvciBlYWNoICR4IGluICR4cy5cbi8vLyBEaWZmZXJlbnRseSBmcm9tIGxzdC1tYXAsIHRoaXMgZnVuY3Rpb24gYXBwbGllcyAkeCAqKmFmdGVyKiogdGhlIGV4dHJhXG4vLy8gYXJndW1lbnRzLlxuLy8vXG4vLy8gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uIGR1cmluZyBmdW5jdGlvblxuLy8vIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBGdW5jdGlvbiBuYW1lIG9yIGhhbmRsZVxuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1ybWFwKCRmbiwgJHhzLCAkYXJncy4uLikge1xuICAgIEBpZiBsZW5ndGgoJGFyZ3MpID09IDAge1xuICAgICAgICBAcmV0dXJuIGxzdC1tYXAoJGZuLCAkeHMpO1xuICAgIH1cbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgICR5czogbnVsbDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkYXJncy1hbGw6IGFwcGVuZCgkYXJncywgJHgpO1xuICAgICAgICAkeXM6IChjYWxsKCRmbiwgJGFyZ3MtYWxsLi4uKSAkeXMpO1xuICAgIH1cbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZSgkeXMpO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBmbigkcG9zaXRpb24sICR4KSBmb3IgZWFjaCAkeCBpbiAkeHMuIFBvc2l0aW9uIHN0YXJ0c1xuLy8vIGNvdW50aW5nIGF0IDEuXG4vLy9cbi8vLyBBbnkgYWRkaXRpb25hbCBhcmd1bWVudHMgYXJlIHBhc3NlZCB0byB0aGUgZnVuY3Rpb24gZHVyaW5nIGZ1bmN0aW9uXG4vLy8gYXBwbGljYXRpb24uXG4vLy9cbi8vLyBAYXJnICRmbiAtIEZ1bmN0aW9uIG5hbWUgb3IgaGFuZGxlXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWluZGV4LW1hcCgkZm4sICR4cywgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgICR5czogbnVsbDtcbiAgICAkaWR4OiAxO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICR5czogKGNhbGwoJGZuLCAkaWR4LCAkeCwgJGFyZ3MuLi4pICR5cyk7XG4gICAgICAgICRpZHg6ICRpZHggKyAxO1xuICAgIH1cbiAgICBAcmV0dXJuIF9sc3QtcmV2ZXJzZSgkeXMpO1xufVxuXG4vLy8gRmlsdGVyIGxpc3QgYnkgcHJlZGljYXRlIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uIGR1cmluZyBmdW5jdGlvblxuLy8vIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQGFyZyAkcHJlZCAtIFByZWRpY2F0ZSBmdW5jdGlvbiAoaS5lLiwgZnVuY3Rpb24gdGhhdCByZXR1cm4gYm9vbGVhbnMpXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWZpbHRlcigkcHJlZCwgJHhzLCAkYXJncy4uLikge1xuICAgICRwcmVkOiBhcy1mdW5jKCRwcmVkKTtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgICR5czogbnVsbDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICBAaWYgY2FsbCgkcHJlZCwgJHgsICRhcmdzLi4uKSB7XG4gICAgICAgICAgICAkeXM6ICgkeCAkeXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gX2xzdC1yZXZlcnNlKCR5cyk7XG59XG5cbi8vLyBSZXR1cm4gMiBsaXN0cywgd2l0aCBlbGVtZW50cyBzZXBhcmF0ZWQgYnkgcHJlZGljYXRlIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQW55IGFkZGl0aW9uYWwgYXJndW1lbnRzIGFyZSBwYXNzZWQgdG8gdGhlIGZ1bmN0aW9uIGR1cmluZyBmdW5jdGlvblxuLy8vIGFwcGxpY2F0aW9uLlxuLy8vXG4vLy8gQGFyZyAkcHJlZCAtIFByZWRpY2F0ZSBmdW5jdGlvbiAoaS5lLiwgZnVuY3Rpb24gdGhhdCByZXR1cm4gYm9vbGVhbnMpXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXNlcGFyYXRlKCRwcmVkLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICAkbGVmdDogbnVsbDtcbiAgICAkcmlnaHQ6IG51bGw7XG4gICAgJHByZWQ6IGFzLWZ1bmMoJHByZWQpO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiBjYWxsKCRwcmVkLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgICRsZWZ0OiAoJHggJGxlZnQpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRyaWdodDogKCR4ICRyaWdodCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAoX2xzdC1yZXZlcnNlKCRsZWZ0KSBfbHN0LXJldmVyc2UoJHJpZ2h0KSk7XG59XG5cbi8vLyBEcm9wIHRoZSBmaXJzdCAkbiBlbGVtZW50cyBvZiBsaXN0LlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG4vLy8gQGFyZyAkbiAtIE51bWJlciBvZiBlbGVtZW50c1xuQGZ1bmN0aW9uIGxzdC1kcm9wKCR4cywgJG4pIHtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgIEB3aGlsZSAkeHMgYW5kICRuID4gMCB7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgICRuOiAkbiAtIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJHhzO1xufVxuXG4vLy8gS2VlcCBhdCBtb3N0IHRoZSBmaXJzdCBuIGVsZW1lbnRzIG9mIGxpc3Rcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJG4gLSBOdW1iZXIgb2YgZWxlbWVudHNcbkBmdW5jdGlvbiBsc3QtdGFrZSgkeHMsICRuKSB7XG4gICAgJHhzOiB0by1sc3QoJHhzKTtcbiAgICBAaWYgJG4gPD0gMCBvciAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgQHJldHVybiAobnRoKCR4cywgMSkgbHN0LXRha2UobnRoKCR4cywgMiksICRuIC0gMSkpO1xufVxuXG4vLy8gUXVpY2sgc29ydCBhbGdvcml0aG1cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1zb3J0KCR4cykge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAkcGFpcjogbHN0LXNlcGFyYXRlKGx0LCAkeHMsICR4KTtcbiAgICBAcmV0dXJuIGxzdC1qb2luKGxzdC1zb3J0KG50aCgkcGFpciwgMSkpLCAoJHggbHN0LXNvcnQobnRoKCRwYWlyLCAyKSkpKTtcbn1cblxuLy8vIEl0ZXJhdGUgaW4gY2h1bmtzIG9mIHNpemUgJG4uXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3Rcbi8vLyBAYXJnICRuIC0gTWF4aW11bSBudW1iZXIgb2YgZWxlbWVudHMgaW4gZWFjaCBjaHVua1xuQGZ1bmN0aW9uIGxzdC1jaHVua3MoJHhzLCAkbikge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJGNodW5rOiBudWxsO1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJG4ge1xuICAgICAgICBAaWYgJHhzICE9IG51bGwge1xuICAgICAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgICAgICRjaHVuazogKCR4ICRjaHVuayk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBpZigkY2h1bmsgPT0gbnVsbCwgbnVsbCwgKF9sc3QtcmV2ZXJzZSgkY2h1bmspIGxzdC1jaHVua3MoJHhzLCAkbikpKTtcbn1cblxuLy8vIEl0ZXJhdGUgaW4gY2h1bmtzIG9mIDIuXG4vLy8gU2ltaWxhciB0byBsc3QtY2h1bmtzLCBidXQgZWxlbWVudHMgYXJlIGNvbnMgY2VsbHMgYW5kIGl0IGlzIHNsaWdodGx5IG1vcmVcbi8vLyBlZmZpY2llbnQuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3QuXG4vLy8gQGFyZyAkcmV2ZXJzZSAtIElmIHRydWUsIHJldmVyc2UgcmVzdWx0LlxuQGZ1bmN0aW9uIGxzdC1wYWlyd2lzZSgkeHMsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHlzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkYTogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiAkeHMge1xuICAgICAgICAgICAgJGI6IG50aCgkeHMsIDEpO1xuICAgICAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgICAgICR5czogKCgkYSAkYikgJHlzKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkeXM6IChhcHBlbmQoKCksICRhKSAkeXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsICR5cywgX2xzdC1yZXZlcnNlKCR5cykpO1xufVxuXG4vLy8gQ3JlYXRlIGEgbGlzdCBvZiBwYWlycyBvZiAocG9zaXRpb24gdmFsdWUpLlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBJbnB1dCBsaXN0XG4vLy8gQGFyZyAkc3RhcnQgLSBPcHRpb25hbCBzdGFydGluZyB2YWx1ZSAoYmVnaW5zIHdpdGggMSlcbi8vLyBAYXJnICRzdGVwIC0gT3B0aW9uYWwgc3RlcCAoMSBpZiBub3QgZ2l2ZW4pXG5AZnVuY3Rpb24gbHN0LWVudW1lcmF0ZSgkeHMsICRzdGFydDogMSwgJHN0ZXA6IDEsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJHJlczogbnVsbDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgICAgICAkcmVzOiBjb25zKCgkc3RhcnQgJHgpLCAkcmVzKTtcbiAgICAgICAgJHN0YXJ0OiAkc3RhcnQgKyAkc3RlcDtcbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHJlcywgX2xzdC1yZXZlcnNlKCRyZXMpKTtcbn1cblxuLy8gRk9MRFMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGZ1bmN0aW9uIF9sc3QtcmVkdWNlKCRmbiwgJHhzLCAkaW5pdCwgJGFyZ3MpIHtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJGluaXQ6IGNhbGwoJGZuLCBudGgoJHhzLCAxKSwgJGluaXQsICRhcmdzLi4uKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICB9XG4gICAgQHJldHVybiAkaW5pdDtcbn1cblxuLy8vIFJlZHVjZSBub24tZW1wdHkgbGlzdCBieSBmdW5jdGlvbiAkZm4uXG4vLy9cbi8vLyBBcmd1bWVudHMgYXJlIHBhc3NlZCBpbiB0aGUgc2FtZSBvcmRlciB0aGF0IHRoZXkgYXBwZWFyIGluIHRoZSB0aGUgZnVuY3Rpb25cbi8vLyBzaWduYXR1cmUsIGkuZS4sIGZuKCR4LCAkaW5pdCwgLi4uKVxuLy8vXG4vLy8gQGFyZyAkZm4gLSBBIGJpbmFyeSBvcGVyYXRvciBmdW5jdGlvblxuLy8vIEBhcmcgJHhzIC0gTGlzdFxuLy8vIEBhcmcgJGluaXQgLSBJbml0aWFsIHZhbHVlIG9mIHJlZHVjdGlvblxuQGZ1bmN0aW9uIGxzdC1yZWR1Y2UoJGZuLCAkeHMsICRpbml0OiAkX2ZuLWxpc3Qtbm90LWdpdmVuLCAkYXJncy4uLikge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQGlmICRpbml0ID09ICRfZm4tbGlzdC1ub3QtZ2l2ZW4ge1xuICAgICAgICBAaWYgJHhzIHtcbiAgICAgICAgICAgICRpbml0OiBudGgoJHhzLCAxKTtcbiAgICAgICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVycm9yIFwiQ2Fubm90IHJlZHVjZSBhbiBlbXB0eSBsaXN0XCI7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiBfbHN0LXJlZHVjZShhcy1mdW5jKCRmbiksICR4cywgJGluaXQsICRhcmdzKTtcbn1cblxuLy8vIFN1bSBhbGwgZWxlbWVudHMgb2YgbGlzdC5cbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1zdW0oJHhzKSB7XG4gICAgQHJldHVybiBsc3QtcmVkdWNlKGFkZCwgJHhzLCAwKTtcbn1cblxuLy8vIE11bHRpcGx5IGFsbCBlbGVtZW50cyBvZiBsaXN0LlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LXByb2QoJHhzKSB7XG4gICAgQHJldHVybiBsc3QtcmVkdWNlKG11bCwgJHhzLCAxKTtcbn1cblxuLy8vIFRydWUgaWYgYWxsIGVsZW1lbnRzIGFyZSB0cnVlLlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWFsbCgkeHMpIHtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgIEBpZiAkeHMgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgIEBpZiBub3QgbnRoKCR4cywgMSkge1xuICAgICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIH1cbiAgICBAcmV0dXJuIHRydWU7XG59XG5cbi8vLyBUcnVlIGlmIGFueSBlbGVtZW50IGlzIHRydWUuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtYW55KCR4cykge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgIEBpZiBudGgoJHhzLCAxKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICB9XG4gICAgQHJldHVybiBmYWxzZTtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmIHNvbWUgZWxlbWVudHMgcGFzcyBwcmVkaWNhdGUuXG4vLy9cbi8vLyBAYXJnICRwcmVkIC0gUHJlZGljYXRlIGZ1bmN0aW9uIChpLmUuLCBmdW5jdGlvbiB0aGF0IHJldHVybiBib29sZWFucylcbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3Qtc29tZSgkcHJlZCwgJHhzLCAkYXJncy4uLikge1xuICAgICRwcmVkOiBhcy1mdW5jKCRwcmVkKTtcbiAgICAkeHM6IHRvLWxzdCgkeHMpO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgICAgICR4czogbnRoKCR4cywgMik7XG4gICAgICAgIEBpZiBjYWxsKCRwcmVkLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgIEByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGZhbHNlO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgYWxsIGVsZW1lbnRzIHBhc3MgcHJlZGljYXRlLlxuLy8vXG4vLy8gQGFyZyAkcHJlZCAtIFByZWRpY2F0ZSBmdW5jdGlvbiAoaS5lLiwgZnVuY3Rpb24gdGhhdCByZXR1cm4gYm9vbGVhbnMpXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LWV2ZXJ5KCRwcmVkLCAkeHMsICRhcmdzLi4uKSB7XG4gICAgJHByZWQ6IGFzLWZ1bmMoJHByZWQpO1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgQHdoaWxlICR4cyB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgQGlmIG5vdCBjYWxsKCRwcmVkLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8gUmV0dXJuIG1heGltdW0gdmFsdWUgaW4gbGlzdFxuLy8vXG4vLy8gQGFyZyAkeHMgLSBMaXN0XG5AZnVuY3Rpb24gbHN0LW1heCgkeHMpIHtcbiAgICAkeDogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAkeTogaWYoJHhzID09IG51bGwsICR4LCBsc3QtbWF4KCR4cykpO1xuICAgIEByZXR1cm4gaWYoJHggPiAkeSwgJHgsICR5KTtcbn1cblxuLy8vIFJldHVybiBtaW5pbXVtIHZhbHVlIGluIGxpc3Rcbi8vL1xuLy8vIEBhcmcgJHhzIC0gTGlzdFxuQGZ1bmN0aW9uIGxzdC1taW4oJHhzKSB7XG4gICAgJHg6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgJHk6IGlmKCR4cyA9PSBudWxsLCAkeCwgbHN0LW1pbigkeHMpKTtcbiAgICBAcmV0dXJuIGlmKCR4IDwgJHksICR4LCAkeSk7XG59XG5cbi8vLyBHZW5lcmFsaXplZCBqb2luLiBSZWR1Y2UgbGlzdCB3aXRoICRmbiBieSBhcHBseWluZyBiaW5hcnkgcGFydGl0aW9ucy5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gQmluYXJ5IG9wZXJhdG9yIHVzZWQgdG8gam9pbiBjb25zZWN1dGl2ZSBlbGVtZW50cy5cbi8vLyBAYXJnICRlbXB0eSAtIE5ldXRyYWwgZWxlbWVudCB0byAkZm4gKGkuZS4sIGZuKCR4LCAkZW1wdHkpID09PiAkeC5cbi8vLyBAYXJnICR4cyAtIExpc3QuXG5AZnVuY3Rpb24gbHN0LWpvaW4tYnkoJGZuLCAkZW1wdHksICR4cykge1xuICAgICR4czogdG8tbHN0KCR4cyk7XG4gICAgJGZuOiBhcy1mdW5jKCRmbik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICRlbXB0eTtcbiAgICB9XG4gICAgQHdoaWxlIG50aCgkeHMsIDIpIHtcbiAgICAgICAgJHlzOiBudWxsO1xuICAgICAgICAkcGFpcnM6IGxzdC1wYWlyd2lzZSgkeHMsIHRydWUpO1xuICAgICAgICBAd2hpbGUgJHBhaXJzICE9IG51bGwge1xuICAgICAgICAgICAgJHBhaXI6IG50aCgkcGFpcnMsIDEpO1xuICAgICAgICAgICAgJHBhaXJzOiBudGgoJHBhaXJzLCAyKTtcbiAgICAgICAgICAgIEBpZiBsZW5ndGgoJHBhaXIpID09IDEge1xuICAgICAgICAgICAgICAgICR5czogKGNhbGwoJGZuLCBudGgoJHBhaXIsIDEpLCAkZW1wdHkpICR5cyk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkeXM6IChjYWxsKCRmbiwgbnRoKCRwYWlyLCAxKSwgbnRoKCRwYWlyLCAyKSkgJHlzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkeHM6ICR5cztcbiAgICB9XG4gICAgQHJldHVybiBudGgoJHhzLCAxKTtcbn1cblxuLy8gQ09OVkVSU0lPTlMgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIENyZWF0ZSBsaXN0IGZyb20gc3RhbmRhcmQgbGlzdHMvYXJyYXlcbi8vL1xuLy8vIEBhcmcgJGFyciAtIEEgcmVndWxhciBTYXNzIGFycmF5LlxuQGZ1bmN0aW9uIGxzdC1mcm9tLWFycmF5KCRhcnIsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogbnVsbDtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgJHhzOiAoJHggJHhzKTtcbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJHhzLCBfbHN0LXJldmVyc2UoJHhzKSk7XG59XG5cbi8vLyBDcmVhdGUgbGlzdCBmcm9tIG1hcFxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gQSByZWd1bGFyIFNhc3MgbWFwLlxuQGZ1bmN0aW9uIGxzdC1mcm9tLW1hcCgkbWFwLCAkcmV2ZXJzZTogZmFsc2UpIHtcbiAgICAkeHM6IG51bGw7XG4gICAgQGVhY2ggJHgsICR5IGluICRtYXAge1xuICAgICAgICAkeHM6ICgoJHggJHkpICR4cyk7XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJHJldmVyc2UsICR4cywgX2xzdC1yZXZlcnNlKCR4cykpO1xufVxuXG4vLy8gRmxhdHRlbiBhIGxpc3Qgb2YgYXJyYXlzXG4vLy9cbi8vLyBAYXJnICRhcyAtIExpc3Qgb2YgYXJyYXlzXG5AZnVuY3Rpb24gbHN0LWZsYXR0ZW4oJGFycnMsICRfam9pbi1zaXplOiAxMjgpIHtcbiAgICBAaWYgJGFycnMgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gJGZuLWVtcHR5LWFycmF5O1xuICAgIH0gQGVsc2UgaWYgbnRoKCRhcnJzLCAyKSA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudGgoJGFycnMsIDEpO1xuICAgIH1cblxuICAgICRyZXM6IG51bGw7XG4gICAgJGFjYzogJGZuLWVtcHR5LWFycmF5O1xuICAgICRzaXplOiAwO1xuXG4gICAgQHdoaWxlICRhcnJzIHtcbiAgICAgICAgJGE6IG50aCgkYXJycywgMSk7XG4gICAgICAgICRhcnJzOiBudGgoJGFycnMsIDIpO1xuICAgICAgICAkbjogbGVuZ3RoKCRhKTtcbiAgICAgICAgQGlmICRuICsgJHNpemUgPD0gJF9qb2luLXNpemUge1xuICAgICAgICAgICAgJHNpemU6ICRzaXplICsgJG47XG4gICAgICAgICAgICAkYWNjOiBqb2luKCRhY2MsICRhKTtcbiAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA+PSAkX2pvaW4tc2l6ZSB7XG4gICAgICAgICAgICAkcmVzOiAoJGFjYyAoJGEgKCRyZXMpKSk7XG4gICAgICAgICAgICAkc2l6ZTogMDtcbiAgICAgICAgICAgICRhY2M6ICRmbi1lbXB0eS1hcnJheTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkcmVzOiAoJGFjYyAoJHJlcykpO1xuICAgICAgICAgICAgJHNpemU6ICRuO1xuICAgICAgICAgICAgJGFjYzogJGE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmIGxlbmd0aCgkYWNjKSAhPSAwIHtcbiAgICAgICAgJHJlczogKCRhY2MgJHJlcyk7XG4gICAgfVxuICAgIEByZXR1cm4gbHN0LWZsYXR0ZW4oX2xzdC1yZXZlcnNlKCRyZXMpLCAkX2pvaW4tc2l6ZTogMiAqICRfam9pbi1zaXplKTtcbn1cblxuLy8vIENvbnZlcnQgbGlzdCBvZiAkeHMgaW50byBhIFNhc3MgYXJyYXkuXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtdG8tYXJyYXkoJHhzKSB7XG4gICAgQGlmICR4cyA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAoKTtcbiAgICB9IEBlbHNlIGlmIG50aCgkeHMsIDIpID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIChudGgoJHhzLCAxKSwpO1xuICAgIH1cblxuICAgIC8vIENvbGxlY3QgcGFydGlhbCBzdWItYXJyYXlzXG4gICAgJGFycmF5czogbnVsbDtcbiAgICBAd2hpbGUgJHhzIHtcbiAgICAgICAgJGF1eDogX2xzdC1jb25zdW1lKCR4cyk7XG4gICAgICAgICRhcnI6IG50aCgkYXV4LCAxKTtcbiAgICAgICAgJHhzOiBudGgoJGF1eCwgMik7XG4gICAgICAgIEBpZiAkeHMge1xuICAgICAgICAgICAgJGF1eDogX2xzdC1jb25zdW1lKCR4cyk7XG4gICAgICAgICAgICAkYXJyOiBqb2luKCRhcnIsIG50aCgkYXV4LCAxKSk7XG4gICAgICAgICAgICAkeHM6IG50aCgkYXV4LCAyKTtcbiAgICAgICAgICAgIEBpZiAkeHMge1xuICAgICAgICAgICAgICAgICRhdXg6IF9sc3QtY29uc3VtZSgkeHMpO1xuICAgICAgICAgICAgICAgICRhcnI6IGpvaW4oJGFyciwgbnRoKCRhdXgsIDEpKTtcbiAgICAgICAgICAgICAgICAkeHM6IG50aCgkYXV4LCAyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkYXJyYXlzOiAoJGFyciAkYXJyYXlzKTtcbiAgICB9XG4gICAgQHJldHVybiBsc3QtZmxhdHRlbihfbHN0LXJldmVyc2UoJGFycmF5cykpO1xufVxuXG4vLy8gRmxhdHRlbiBhIGxpc3Qgb2YgbWFwc1xuLy8vXG4vLy8gQGFyZyAkbWFwcyAtIExpc3Qgb2YgbWFwc1xuQGZ1bmN0aW9uIGxzdC1mbGF0dGVuLW1hcCgkbWFwcywgJF9qb2luLXNpemU6IDY0KSB7XG4gICAgQGlmIG5vdCAkbWFwcyB7XG4gICAgICAgIEByZXR1cm4gJGZuLWVtcHR5LW1hcDtcbiAgICB9XG4gICAgQHdoaWxlIG50aCgkbWFwcywgMikge1xuICAgICAgICAkbmV3OiBudWxsO1xuICAgICAgICBAd2hpbGUgJG1hcHMge1xuICAgICAgICAgICAgJG1hcDogbnRoKCRtYXBzLCAxKTtcbiAgICAgICAgICAgICRtYXBzOiBudGgoJG1hcHMsIDIpO1xuICAgICAgICAgICAgQGlmICRtYXBzIHtcbiAgICAgICAgICAgICAgICAkbWFwOiBtYXAtbWVyZ2UoJG1hcCwgbnRoKCRtYXBzLCAxKSk7XG4gICAgICAgICAgICAgICAgJG1hcHM6IG50aCgkbWFwcywgMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkbmV3OiAoJG1hcCAkbmV3KTtcbiAgICAgICAgfVxuICAgICAgICAkbWFwczogX2xzdC1yZXZlcnNlKCRuZXcpO1xuICAgIH1cbiAgICBAcmV0dXJuIG50aCgkbWFwcywgMSk7XG59XG5cbi8vLyBUcmFuc2Zvcm0gbGlzdCBvZiBwYWlycyBpbnRvIGEgbWFwXG4vLy9cbi8vLyBAYXJnICR4cyAtIExpc3RcbkBmdW5jdGlvbiBsc3QtdG8tbWFwKCR4cykge1xuICAgICRtYXBzOiBudWxsO1xuICAgIEB3aGlsZSAkeHMge1xuICAgICAgICAkYXV4OiBfbHN0LWNvbnN1bWUtcGFpcnMoJHhzLCAxNik7XG4gICAgICAgICRtYXA6IG50aCgkYXV4LCAxKTtcbiAgICAgICAgJHhzOiBudGgoJGF1eCwgMik7XG4gICAgICAgICRtYXBzOiAoJG1hcCAkbWFwcyk7XG4gICAgfVxuICAgIEByZXR1cm4gbHN0LWZsYXR0ZW4tbWFwKCRtYXBzKTtcbn1cblxuLy8vIENvZXJjZSBvYmplY3QgdG8gbGlzdC4gTGlzdHMgYXJlIHJldHVybmVkIGFzIGlzLlxuLy8vXG4vLy8gSXQgaXMgbW9yZSBhZ2dyZXNzaXZlIHRoYW4gdG8tbHN0IHRvIGNhc3Qgb2JqZWN0cyB0byBsaXN0LlxuLy8vICAgICAqIFNjYWxhcnMgYXJlIGNvbnZlcnRlZCB0byBzaW5nbGUgYXJndW1lbnQgbGlzdHMuXG4vLy8gICAgICogQXJyYXlzIGFyZSBjb252ZXJ0ZWQgdG8gbGlzdHMgKGV4Y2VwdCB3aGVuIGl0IGNhdXNlcyBhbWJpZ3VpdHkpXG5AZnVuY3Rpb24gY29lcmNlLXRvLWxzdCgkeHMpIHtcbiAgICAvL25vaW5zcGVjdGlvbiBDc3NJbnZhbGlkRnVuY3Rpb25cbiAgICBAaWYgJHhzID09IG51bGwge1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR4cykgPT0gJ2xpc3QnIHtcbiAgICAgICAgQGlmIGlzLWJyYWNrZXRlZCgkeHMpIG9yIGxpc3Qtc2VwYXJhdG9yKCR4cykgPT0gJ2NvbW1hJyB7XG4gICAgICAgICAgICBAcmV0dXJuIGxzdC1mcm9tLWFycmF5KCR4cyk7XG4gICAgICAgIH0gQGVsc2UgaWYgbGVuZ3RoKCR4cykgPT0gMiB7XG4gICAgICAgICAgICBAcmV0dXJuICR4cztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAd2FybiAnUGxlYXNlIGF2b2lkIHVzaW5nIHNwYWNlZC1zZXBhcmF0ZWQgbGlzdHMgaW4gcGxhY2VzIHRoYXQgZXhwZWN0IGxpbmtlZC1saXN0cyc7XG4gICAgICAgICAgICBAcmV0dXJuIGxzdC1mcm9tLWFycmF5KCR4cyk7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHhzKSA9PSAnbWFwJyB7XG4gICAgICAgIEByZXR1cm4gbHN0LWZyb20tbWFwKCR4cyk7XG4gICAgfVxuICAgIEByZXR1cm4gKCR4cyBudWxsKTtcbn1cbiIsCgkJIi8vLyBVZ2x5IHBlcmZvcm1hbmNlLWVuaGFuY2luZyBmdW5jdGlvbnMgZm9yIGxpc3RzXG4kZm4tZW1wdHktbWFwOiBtYXAtcmVtb3ZlKCgpLCBudWxsKSAhZGVmYXVsdDtcblxuLy8gQ29uc3VtZSA4IGVsZW1lbnRzIG9mIGxpc3QgYW5kIHJldHVybiAoZWxlbS1hcnJheSwgdGFpbClcbkBmdW5jdGlvbiBfbHN0LWNvbnN1bWUoJHhzKSB7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgpLCBudWxsO1xuICAgIH1cblxuICAgIC8vIExlbmd0aCAxXG4gICAgJHgxOiBudGgoJHhzLCAxKTtcbiAgICAkeHM6IG50aCgkeHMsIDIpO1xuICAgIEBpZiBub3QgJHhzIHtcbiAgICAgICAgQHJldHVybiAoJHgxLCksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDJcbiAgICAkeDI6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgkeDEsICR4MiksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDNcbiAgICAkeDM6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgkeDEsICR4MiwgJHgzKSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggNFxuICAgICR4NDogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMsICR4NCksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDVcbiAgICAkeDU6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgkeDEsICR4MiwgJHgzLCAkeDQsICR4NSksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDZcbiAgICAkeDY6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQGlmIG5vdCAkeHMge1xuICAgICAgICBAcmV0dXJuICgkeDEsICR4MiwgJHgzLCAkeDQsICR4NSwgJHg2KSwgbnVsbDtcbiAgICB9XG5cbiAgICAvLyBMZW5ndGggN1xuICAgICR4NzogbnRoKCR4cywgMSk7XG4gICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICBAaWYgbm90ICR4cyB7XG4gICAgICAgIEByZXR1cm4gKCR4MSwgJHgyLCAkeDMsICR4NCwgJHg1LCAkeDYsICR4NyksIG51bGw7XG4gICAgfVxuXG4gICAgLy8gTGVuZ3RoIDhcbiAgICAkeDg6IG50aCgkeHMsIDEpO1xuICAgICR4czogbnRoKCR4cywgMik7XG4gICAgQHJldHVybiAoJHgxLCAkeDIsICR4MywgJHg0LCAkeDUsICR4NiwgJHg3LCAkeDgpLCAkeHM7XG59XG5cbi8vIENvbnN1bWUgbiBlbGVtZW50cyBmcm9tIGEgbGlzdCBvZiBwYWlycyBhbmQgcmV0dXJuIChlbGVtLW1hcCwgdGFpbClcbkBmdW5jdGlvbiBfbHN0LWNvbnN1bWUtcGFpcnMoJHhzLCAkbjogMTYpIHtcbiAgICAkcmVzOiAkZm4tZW1wdHktbWFwO1xuICAgIEB3aGlsZSAkeHMgYW5kICRuID4gMCB7XG4gICAgICAgICR4OiBudGgoJHhzLCAxKTtcbiAgICAgICAgJHhzOiBudGgoJHhzLCAyKTtcbiAgICAgICAgJHJlczogbWFwLW1lcmdlKCRyZXMsIChudGgoJHgsIDEpOiBudGgoJHgsIDIpKSk7XG4gICAgICAgICRuOiAkbiAtIDE7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlcywgJHhzO1xufVxuXG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIExJU1QgRlVOQ1RJT05TXG4vLy8gQGdyb3VwIGFycmF5XG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0ICdmdW5jdGlvbnMnO1xuXG4kZm4tYXJyYXktbm90LWdpdmVuOiB1bmlxdWUtaWQoKSAhZGVmYXVsdDtcbiRmbi1lbXB0eS1hcnJheTogam9pbigoKSwgKCksIGNvbW1hKSAhZGVmYXVsdDtcblxuLy8gQkFTSUMgRlVOQ1RJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIFJldHVybiBhcnJheSBvZiBhIHNpbmdsZSBlbGVtZW50LlxuLy8vXG4vLy8gQGFyZyAkeCAtIFNpbmdsZSBlbGVtZW50IG9mIHJlc3VsdGluZyBhcnJheS5cbkBmdW5jdGlvbiBzaW5nbGV0b24oJHgsICRzZXBhcmF0b3I6IHNwYWNlKSB7XG4gICAgQHJldHVybiBhcHBlbmQoKCksICR4LCAkc2VwYXJhdG9yKTtcbn1cblxuLy8vIFJldHVybiB0cnVlIGlmICRhcnIgY29udGFpbnMgJHZhbHVlLlxuLy8vXG4vLy8gQGFyZyAkYXJyIC0gSW5wdXQgYXJyYXlcbi8vLyBAYXJnICR2YWx1ZSAtIFZhbHVlXG5AZnVuY3Rpb24gY29udGFpbnMoJGFyciwgJHZhbHVlKSB7XG4gICAgQGVhY2ggJHggaW4gJGFyciB7XG4gICAgICAgIEBpZiAkeCA9PSAkdmFsdWUge1xuICAgICAgICAgICAgQHJldHVybiB0cnVlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gZmFsc2U7XG59XG5cbi8vLyBSZXR1cm4gYW4gYXJyYXkgc2xpY2UuXG4vLy9cbi8vLyBAYXJnICRhcnIgLSBJbnB1dCBhcnJheVxuLy8vIEBhcmcgJHN0YXJ0IC0gU3RhcnRpbmcgaW5kZXhcbi8vLyBAYXJnICRlbmQgLSBFbmRpbmcgaW5kZXggKG9yIG51bGwsIHRvIHNsaWNlIHVwIHRvIHRoZSBlbmQpXG5AZnVuY3Rpb24gc2xpY2UoJGFyciwgJHN0YXJ0LCAkZW5kOiBudWxsKSB7XG4gICAgLy8gVWdseSBcInBlcmZvcm1hdGljXCIgU2FzcyBjb2RlIDstKVxuICAgIC8vIEhvbWV3b3JrOiBtYXliZSB3ZSBjYW4ga2VlcCBwZXJmb3JtYW5jZSBhbmQgd2l0aCBhbiBlbGVnYW50IGNvZGUgYmFzZWRcbiAgICAvLyBvbiBsc3Qtam9pbi1ieVxuICAgICRuOiBsZW5ndGgoJGFycik7XG4gICAgJGVuZDogaWYoJGVuZCA9PSBudWxsLCAkbiwgJGVuZCk7XG4gICAgJHNpemU6ICRlbmQgLSAkc3RhcnQgKyAxO1xuXG4gICAgQGlmICRzaXplIDw9IDMyIHtcbiAgICAgICAgJHJlc3VsdDogKCk7XG4gICAgICAgIEB3aGlsZSAkc2l6ZSA+IDgge1xuICAgICAgICAgICAgJHJlc3VsdDogam9pbigkcmVzdWx0LCAoXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRzdGFydCksIG50aCgkYXJyLCAkc3RhcnQgKyAxKSwgbnRoKCRhcnIsICRzdGFydCArIDIpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkc3RhcnQgKyAzKSwgbnRoKCRhcnIsICRzdGFydCArIDQpLCBudGgoJGFyciwgJHN0YXJ0ICsgNSksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRzdGFydCArIDYpLCBudGgoJGFyciwgJHN0YXJ0ICsgNylcbiAgICAgICAgICAgICkpO1xuICAgICAgICAgICAgJHNpemU6ICRzaXplIC0gODtcbiAgICAgICAgICAgICRzdGFydDogJHN0YXJ0ICsgODtcbiAgICAgICAgfVxuICAgICAgICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgICAgICAgICAkcmVzdWx0OiBhcHBlbmQoJHJlc3VsdCwgbnRoKCRhcnIsICRpKSk7XG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiAkcmVzdWx0O1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAkZmlyc3QtZW5kOiAkc3RhcnQgKyBmbG9vcigkc2l6ZSAvIDIpIC0gMTtcbiAgICAgICAgQHJldHVybiBqb2luKFxuICAgICAgICAgICAgICAgIHNsaWNlKCRhcnIsICRzdGFydCwgJGZpcnN0LWVuZCksXG4gICAgICAgICAgICAgICAgc2xpY2UoJGFyciwgJGZpcnN0LWVuZCArIDEsICRlbmQpXG4gICAgICAgICk7XG4gICAgfVxufVxuXG4vLyBDTEFTU0lDIEZQIEZVTkNUSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gQXBwbHkgZnVuY3Rpb24gdG8gZXZlcnkgZWxlbWVudCBvZiBhcnJheS5cbi8vL1xuLy8vIEBhcmcgJGZuIC0gQSBiaW5hcnkgb3BlcmF0b3IgZnVuY3Rpb25cbi8vLyBAYXJnICRhcnIgLSBBcnJheVxuQGZ1bmN0aW9uIG1hcCgkZm4sICRhcnIsICRhcmdzLi4uKSB7XG4gICAgJGZuOiBhcy1mdW5jKCRmbik7XG4gICAgJHlzOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgQGVhY2ggJHggaW4gJGFyciB7XG4gICAgICAgICR5czogYXBwZW5kKCR5cywgY2FsbCgkZm4sICR4LCAkYXJncy4uLikpO1xuICAgIH1cbiAgICBAcmV0dXJuICR5cztcbn1cblxuLy8vIEtlZXAgb25seSBlbGVtZW50cyBvZiBhcnJheSB0aGF0IHBhc3MgcHJlZGljYXRlIGZ1bmN0aW9uLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBBIGJpbmFyeSBvcGVyYXRvciBmdW5jdGlvblxuLy8vIEBhcmcgJGFyciAtIEFycmF5XG5AZnVuY3Rpb24gZmlsdGVyKCRmbiwgJGFyciwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkeXM6ICRmbi1lbXB0eS1hcnJheTtcbiAgICBAZWFjaCAkeCBpbiAkYXJyIHtcbiAgICAgICAgQGlmIGNhbGwoJGZuLCAkeCwgJGFyZ3MuLi4pIHtcbiAgICAgICAgICAgICR5czogYXBwZW5kKCR5cywgJHgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJHlzO1xufVxuXG4vLy8gUmVkdWNlIGFycmF5IGJ5IGZ1bmN0aW9uXG4vLy9cbi8vLyBBcmd1bWVudHMgYXJlIHBhc3NlZCBpbiB0aGUgc2FtZSBvcmRlciB0aGF0IHRoZXkgYXBwZWFyIGluIHRoZSB0aGUgZnVuY3Rpb25cbi8vLyBzaWduYXR1cmUsIGkuZS4sIGZuKCR4LCAkaW5pdCwgLi4uKVxuLy8vXG4vLy8gQGFyZyAkZm4gLSBBIGJpbmFyeSBvcGVyYXRvciBmdW5jdGlvblxuLy8vIEBhcmcgJGFyciAtIExpc3Rcbi8vLyBAYXJnICRpbml0IC0gSW5pdGlhbCB2YWx1ZSBvZiByZWR1Y3Rpb25cbkBmdW5jdGlvbiByZWR1Y2UoJGZuLCAkYXJyLCAkaW5pdDogJGZuLWFycmF5LW5vdC1naXZlbiwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkeTogJGluaXQ7XG4gICAgQGVhY2ggJHggaW4gJGFyciB7XG4gICAgICAgICR5OiBpZigkeSA9PSAkZm4tYXJyYXktbm90LWdpdmVuLCAkeCwgY2FsbCgkZm4sICR4LCAkeSwgJGFyZ3MuLi4pKTtcbiAgICB9XG4gICAgQGlmICR5ID09ICRmbi1hcnJheS1ub3QtZ2l2ZW4ge1xuICAgICAgICBAZXJyb3IgXCJFbXB0eSBhcnJheVwiO1xuICAgIH1cbiAgICBAcmV0dXJuICR5O1xufVxuXG4vLy8gS2VlcCBvbmx5IGVsZW1lbnRzIG9mIGFycmF5IHRoYXQgcGFzcyBwcmVkaWNhdGUgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYXJnICRmbiAtIEEgYmluYXJ5IG9wZXJhdG9yIGZ1bmN0aW9uXG4vLy8gQGFyZyAkYXJyIC0gQXJyYXlcbkBmdW5jdGlvbiBzZXBhcmF0ZSgkZm4sICRhcnIsICRhcmdzLi4uKSB7XG4gICAgJGZuOiBhcy1mdW5jKCRmbik7XG4gICAgJGFzOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgJGJzOiAkZm4tZW1wdHktYXJyYXk7XG4gICAgQGVhY2ggJHggaW4gJGFyciB7XG4gICAgICAgIEBpZiBjYWxsKCRmbiwgJHgsICRhcmdzLi4uKSB7XG4gICAgICAgICAgICAkYXM6IGFwcGVuZCgkYXMsICR4KTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkYnM6IGFwcGVuZCgkYnMsICR4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICgkYXMsICRicyk7XG59XG5cbi8vIENIVU5LRUQgSVRFUkFUSU9OIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBUaGlzIHdpbGwgYmUgdGhlIGJhc2lzIG9mIGEgc2VyaWVzIG9mIG9wdGltaXphdGlvbnMgZm9yIG1hcCwgZmlsdGVyLCBldGMuXG4vLyBDaHVua2VkIGl0ZXJhdGlvbiBhbGxvdyB1cyB0byBsaW1pdCB0aGUgTyhuXjIpIGJlaGF2aW9yIG9mIHRob3NlIGZ1bmN0aW9uc1xuLy8gdG8gYSBtb3JlIHNjYWxhYmxlIGxpbmVhciBiZWhhdmlvci4gRm9yIHNtYWxsIGFycmF5cyAoYnV0IGhvdyBzbWFsbD8pLFxuLy8gcXVhZHJhdGljIGJlaGF2aW9yIGlzIGZhc3RlciB0aGFuIGxpbmVhci5cblxuLy8vIENvbnZlcnQgYXJyYXkgdG8gYSAobGlua2VkLSlsaXN0IG9mIGFycmF5IGNodW5rcy5cbi8vL1xuLy8vIEBhcmcgJGFyciAtIEFycmF5XG4vLy8gQGFyZyAkbiAtIENodW5rIHNpemVcbi8vLyBAYXJnICRyZXZlcnNlIC0gVHJ1ZSB0byBpbmNsdWRlIGNodW5rcyBpbiByZXZlcnNlIG9yZGVyIChmYXN0ZXIpXG5AZnVuY3Rpb24gY2h1bmtzKCRhcnIsICRuLCAkcmV2ZXJzZTogZmFsc2UpIHtcbiAgICAkc2l6ZS1wbHVzLW9uZTogbGVuZ3RoKCRhcnIpICsgMTtcbiAgICAkY2h1bmtzOiBudWxsO1xuICAgICRlbmQ6IDE7XG4gICAgQHdoaWxlICRlbmQgPCAkc2l6ZS1wbHVzLW9uZSB7XG4gICAgICAgICRjaHVuazogJGZuLWVtcHR5LWFycmF5O1xuICAgICAgICBAaWYgJG4gPT0gOCBhbmQgJHNpemUtcGx1cy1vbmUgPj0gJGVuZCArIDgge1xuICAgICAgICAgICAgJGNodW5rOiAoXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgMSksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyAyKSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCArIDMpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgNCksXG4gICAgICAgICAgICAgICAgbnRoKCRhcnIsICRlbmQgKyA1KSxcbiAgICAgICAgICAgICAgICBudGgoJGFyciwgJGVuZCArIDYpLFxuICAgICAgICAgICAgICAgIG50aCgkYXJyLCAkZW5kICsgNyksXG4gICAgICAgICAgICApXG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGZvciAkaSBmcm9tICRlbmQgdG8gbWluKCRlbmQgKyAkbiwgJHNpemUtcGx1cy1vbmUpIHtcbiAgICAgICAgICAgICAgICAkY2h1bms6IGFwcGVuZCgkY2h1bmssIG50aCgkYXJyLCAkaSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICRjaHVua3M6ICgkY2h1bmsgJGNodW5rcyk7XG4gICAgICAgICRlbmQ6ICRlbmQgKyAkbjtcbiAgICB9XG4gICAgQHJldHVybiBpZigkcmV2ZXJzZSwgJGNodW5rcywgbHN0LXJldmVyc2UoJGNodW5rcykpO1xufVxuXG4vLy8gSm9pbiBhIChsaW5rZWQtKSBsaXN0IG9mIGNodW5rcyBjcmVhdGVkIGJ5IHRoZSBjaHVua3MgZnVuY3Rpb24uXG4vLy9cbi8vLyBAYXJnICRjaHVua3MgLSBMaXN0IG9mIGNodW5rc1xuLy8vIEBhcmcgJHJldmVyc2UgLSBUcnVlIGlmIGNodW5rcyBhcmUgaW5jbHVkZWQgaW4gcmV2ZXJzZSBvcmRlclxuQGZ1bmN0aW9uIGpvaW4tY2h1bmtzKCRjaHVua3MsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgIEBpZiBub3QgJGNodW5rcyB7XG4gICAgICAgIEByZXR1cm4gJGZuLWVtcHR5LWFycmF5O1xuICAgIH1cblxuICAgICRhMTogbnRoKCRjaHVua3MsIDEpO1xuICAgICRjaHVua3M6IG50aCgkY2h1bmtzLCAyKTtcbiAgICBAaWYgbm90ICRjaHVua3Mge1xuICAgICAgICBAcmV0dXJuICRhMTtcbiAgICB9XG5cbiAgICAkYTI6IG50aCgkY2h1bmtzLCAxKTtcbiAgICAkY2h1bmtzOiBudGgoJGNodW5rcywgMik7XG4gICAgQGlmIG5vdCAkY2h1bmtzIHtcbiAgICAgICAgQHJldHVybiBpZigkcmV2ZXJzZSwgam9pbigkYTIsICRhMSksIGpvaW4oJGExLCAkYTIpKTtcbiAgICB9XG5cbiAgICAkYTM6IG50aCgkY2h1bmtzLCAxKTtcbiAgICAkY2h1bmtzOiBudGgoJGNodW5rcywgMik7XG4gICAgQGlmIG5vdCAkY2h1bmtzIHtcbiAgICAgICAgQHJldHVybiBpZigkcmV2ZXJzZSwgam9pbihqb2luKCRhMywgJGEyKSwgJGExKSwgam9pbihqb2luKCRhMSwgJGEyKSwgJGEzKSk7XG4gICAgfVxuXG4gICAgJGE0OiBudGgoJGNodW5rcywgMSk7XG4gICAgJGNodW5rczogbnRoKCRjaHVua3MsIDIpO1xuICAgICRwcmVmaXg6IGlmKCRyZXZlcnNlLFxuICAgICAgICBqb2luKGpvaW4oJGE0LCAkYTMpLCBqb2luKCRhMiwgJGExKSksXG4gICAgICAgIGpvaW4oam9pbigkYTEsICRhMiksIGpvaW4oJGEzLCAkYTQpKVxuICAgICk7XG4gICAgQGlmIG5vdCAkY2h1bmtzIHtcbiAgICAgICAgQHJldHVybiAkcHJlZml4O1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLFxuICAgICAgICBqb2luKGpvaW4tY2h1bmtzKCRjaHVua3MpLCAkcHJlZml4LCBjb21tYSksXG4gICAgICAgIGpvaW4oJHByZWZpeCwgam9pbi1jaHVua3MoJGNodW5rcyksIGNvbW1hKSk7XG59XG5cbi8vIENPTlZFUlNJT05TIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vLyBDb252ZXJ0IHZhbHVlIHRvIGxpc3QuXG4vLy8gTGlzdHMgYXJlIHJldHVybmVkIGFzLWlzLCBtYXBzIGJlY29tZSBsaXN0IG9mIDItdHVwbGVzIGFuZCBvdGhlciBlbGVtZW50c1xuLy8vIGJlY29tZSBhIGxpc3Qgd2l0aCBhIHNpbmdsZSB2YWx1ZVxuLy8vXG4vLy8gQGF1dGhvciAtIGh0dHBzOi8vaHVnb2dpcmF1ZGVsLmNvbS8yMDE0LzA0LzI4L2Nhc3RpbmctbWFwLWludG8tbGlzdC9cbi8vLyBAYXJnICR2YWx1ZSAtIG9iamVjdCB0byBiZSBjb252ZXJ0ZWRcbi8vLyBAYXJnICRrZWVwIC0gY2FuIGJlICdrZXlzJywgJ3ZhbHVlcycgb3IgJ2JvdGgnIChkZWZhdWx0KS4gSXQgYWZmZWN0cyBjb252ZXJzaW9uIG9mIG1hcHMuXG5AZnVuY3Rpb24gdG8tYXJyYXkoJHZhbHVlLCAka2VlcDogJ2JvdGgnKSB7XG4gICAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ21hcCcge1xuICAgICAgICAka2V5czogKCk7XG4gICAgICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgICAgIEBlYWNoICRrZXksICR2YWwgaW4gJHZhbHVlIHtcbiAgICAgICAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICAgICAgICBAcmV0dXJuICRrZXlzO1xuICAgICAgICB9IEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgICAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKHR5cGUtb2YoJHZhbHVlKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJHZhbHVlKTtcbn1cblxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBGVU5DVElPTlMgVEhBVCBPUEVSQVRFIE9OIEJBU0lDIFNBU1MgREFUQVRZUEVTXG4vLy8gQGdyb3VwIG1hcCBmdW5jdGlvbnNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2xpc3QnO1xuXG4kZm4tZW1wdHktbWFwOiBtYXAtcmVtb3ZlKCgpLCBudWxsKTtcblxuLy8vIFJldHVybiB2YWx1ZSBpZiBrZXkgZXhpc3RzIG9uIG1hcCwgb3RoZXJ3aXNlIHJldHVybiBkZWZhdWx0LlxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gbWFwIHRvIG9wZXJhdGUgZnJvbVxuLy8vIEBhcmcgJGtleSAtIGtleVxuLy8vIEBhcmcgJGRlZmF1bHQgLSBkZWZhdWx0IHZhbHVlLiBJZiBub3QgZ2l2ZW4gYW5kIGtleSBub3QgcHJlc2VudCwgcmV0dXJuIG51bGw7XG5AZnVuY3Rpb24gbWFwLXJlYWQoJG1hcCwgJGtleSwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJG1hcCwgJGtleSk7XG4gICAgQHJldHVybiBpZigkdmFsdWUgPT0gbnVsbCwgJGRlZmF1bHQsICR2YWx1ZSk7XG59XG5cbi8vLyBKb2luIGEgKGxpbmtlZC0pbGlzdCBvZiBtYXBzIHRvZ2V0aGVyLiBFbnRyaWVzIGluIGxhdGVyIG1hcHMgb3ZlcnJpZGVcbi8vLyBwcmV2aW91c2x5IGRlZmluZWQgdmFsdWVzLlxuLy8vXG4vLy8gQGFyZyAkbWFwcyAtIGEgbGlzdCBvZiBtYXBzXG5AZnVuY3Rpb24gbWFwLWpvaW4oJG1hcHMpIHtcbiAgICAkbWFwczogdG8tbHN0KCRtYXBzKTtcbiAgICAkcmVzdWx0OiBtYXAtcmVtb3ZlKCgpLCBudWxsKTtcbiAgICBAd2hpbGUgJG1hcHMgIT0gbnVsbCB7XG4gICAgICAgICRtYXA6IGNhcigkbWFwcyk7XG4gICAgICAgICRtYXBzOiBjZHIoJG1hcHMpO1xuICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgJG1hcCk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIENvbnZlcnQgYXJndW1lbnQgdG8gbWFwLiBXb3JrcyBmb3IgbGlzdHMgb2YgMi10dXBsZXMgYW5kIG1hcHMuXG4vLy9cbi8vLyBAYXJnICRvYmogLSBBIG1hcCBvciBsaXN0IG9iamVjdC5cbkBmdW5jdGlvbiB0by1tYXAoJG9iaikge1xuICAgIEBpZiB0eXBlLW9mKCRvYmopID09IGxpc3Qge1xuICAgICAgICAkcmVzdWx0OiAoKTtcbiAgICAgICAgQGVhY2ggJGssICR2IGluICRvYmoge1xuICAgICAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgkazogJHYpKVxuICAgICAgICB9XG4gICAgICAgIEByZXR1cm4gJHJlc3VsdFxuICAgIH0gQGVsc2UgaWYgKHR5cGUtb2YoJG9iaikgPT0gbWFwKSB7XG4gICAgICAgIEByZXR1cm4gJG9iajtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yIFwiQ2Fubm90IGNvbnZlcnQgYXJndW1lbnQgdG8gbWFwLlwiXG4gICAgfVxufVxuXG4vLy8gTWVyZ2UgdHdvIG1hcHMgdXAgdG8gb25lIGxldmVsIG9mIG5lc3RpbmcuXG4vLy9cbi8vLyBAYXJnICRtYXAxXG4vLy8gQGFyZyAkbWFwMlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICBtYXAtbWVyZ2UtbmVzdGVkKChmb286ICh4OiAxLCB5OiAzKSksXG4vLy8gICAgICAgICAgICAgICAgICAgICAgKGZvbzogKHk6IDIsIHo6IDMpLCBiYXI6IGJheikpO1xuLy8vICAgICAvLyAoZm9vOiAoeDogMSwgeTogMiwgejogMyksIGJhcjogYmF6KVxuQGZ1bmN0aW9uIG1hcC1tZXJnZS1uZXN0ZWQoJG1hcDEsICRtYXAyKSB7XG4gICAgJHJlc3VsdDogbWFwLW1lcmdlKCRtYXAxLCAkbWFwMik7XG5cbiAgICAvLyBNZXJnZSBzdWItbWFwcyBmcm9tIG1hcDFcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcDEge1xuICAgICAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCBhbmQgbWFwLWhhcy1rZXkoJG1hcDIsICRrZXkpIHtcbiAgICAgICAgICAgICR2YWx1ZTogbWFwLW1lcmdlKCR2YWx1ZSwgbWFwLWdldCgkbWFwMiwgJGtleSkpO1xuICAgICAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgka2V5OiAkdmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBNZXJnZSB0d28gbWFwcyB3aXRoIGFyYml0cmFyeSBuZXN0aW5nLlxuLy8vXG4vLy8gTWFwcyBhcmUgbWVyZ2VkLiBJZiBhIHZhbHVlIGlzIGEgbWFwIGluIG9uZSBkaWN0aW9uYXJ5LCBidXQgbm90IGluIHRoZVxuLy8vIG90aGVyLCBpdCBpcyBtZXJnZWQgYW5kIHNhdmVkIGludG8gdGhlICgka2V5LW5hbWU6ICR2YWx1ZSkuIE51bGwgdmFsdWVzXG4vLy8gYXJlIG9taXR0ZWQuXG4vLy9cbi8vLyBAYXJnICRtYXAxXG4vLy8gQGFyZyAkbWFwMlxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICBtYXAtbWVyZ2UtbmVzdGVkKChmb286ICh4OiAxLCB5OiAoejogMykpLFxuLy8vICAgICAgICAgICAgICAgICAgICAgIChmb286ICh5OiAodzogNCksIGJhcjogYmF6KSk7XG4vLy8gICAgIC8vIChmb286ICh4OiAxLCB5OiAoejogMywgdzogNCksIGJhcjogYmF6KVxuQGZ1bmN0aW9uIG1hcC1tZXJnZS1kZWVwKCRtYXAxLCAkbWFwMiwgJGtleTogdmFsdWUpIHtcbiAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJG1hcDEsICRtYXAyKTtcblxuICAgIC8vIE1lcmdlIHN1Yi1tYXBzIGZyb20gbWFwMVxuICAgIEBlYWNoICRrLCAkdjEgaW4gJG1hcDEge1xuICAgICAgICAkdjI6IG1hcC1nZXQoJG1hcDIsICRrKTtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHYxKSA9PSBtYXAgYW5kIHR5cGUtb2YoJHYyKSA9PSBtYXAge1xuICAgICAgICAgICAgJHZhbHVlOiBtYXAtbWVyZ2UtZGVlcCgkdjEsICR2MiwgJGtleSk7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrOiAkdmFsdWUpKTtcbiAgICAgICAgfSBAZWxzZSBpZiB0eXBlLW9mKCR2MSkgPT0gbWFwIHtcbiAgICAgICAgICAgIEBpZiAkdjIgIT0gbnVsbCBhbmQgJGtleSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAkdmFsdWU6IG1hcC1tZXJnZSgkdjEsICgka2V5OiAkdjIpKTtcbiAgICAgICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrOiAkdmFsdWUpKTtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICRyZXN1bHQ6IG1hcC1tZXJnZSgkcmVzdWx0LCAoJGs6ICR2MSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHYyKSA9PSBtYXAgYW5kICR2MSAhPSBudWxsIGFuZCAka2V5ICE9IG51bGwge1xuICAgICAgICAgICAgJHZhbHVlOiBtYXAtbWVyZ2UoKCRrZXk6ICR2MSksICR2Mik7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrOiAkdmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBGZXRjaCBrZXlzIGluIHBhdGggcmVjdXJzaXZlbHkuXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIG1hcC1wYXRoKCgnZm9vJzogKCdiYXInOiAnYmF6JykpLCBMKCdmb28nLCAnYmFyJykpID09PiAnYmF6J1xuLy8vXG4vLy8gQGFyZyAkbWFwIC0gYSBtYXAgdG8gZXh0cmFjdCB0aGUgdmFsdWUgZnJvbVxuLy8vIEBhcmcgJHBhdGggLSAobGlua2VkLSlsaXN0IG9mIHZhbHVlc1xuLy8vIEBhcmcgJGRlZmF1bHQgLSBmYWxsYmFjayB2YWx1ZSBpZiBrZXkgaXMgbm90IHByZXNlbnRcbkBmdW5jdGlvbiBtYXAtcGF0aCgkbWFwLCAkcGF0aCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICAkcGF0aDogY29lcmNlLXRvLWxzdCgkcGF0aCk7XG4gICAgQGlmICRwYXRoID09IG51bGwge1xuICAgICAgICBAZXJyb3IgJ0VtcHR5IHBhdGgnO1xuICAgIH1cbiAgICAka2V5OiBjYXIoJHBhdGgpO1xuICAgIEB3aGlsZSBjZHIoJHBhdGgpICE9IG51bGwge1xuICAgICAgICAkcGF0aDogY2RyKCRwYXRoKTtcbiAgICAgICAgJG1hcDogbWFwLWdldCgkbWFwLCAka2V5KTtcbiAgICAgICAgQGlmICRtYXAgPT0gbnVsbCB7XG4gICAgICAgICAgICBAcmV0dXJuICRkZWZhdWx0O1xuICAgICAgICB9XG4gICAgICAgICRrZXk6IGNhcigkcGF0aCk7XG4gICAgfVxuICAgIEByZXR1cm4gbWFwLXJlYWQoJG1hcCwgJGtleSwgJGRlZmF1bHQpO1xufVxuXG4vLy8gUmV0dXJuIHRydWUgaWYgbWFwIGhhcyBhbGwga2V5cyBpbiB0aGUgKGxpbmtlZC0pbGlzdFxuLy8vXG4vLy8gQGFyZyAkbWFwIC0gQSBtYXBwaW5nXG4vLy8gQGFyZyAka2V5cyAtIEEgKGxpbmtlZC0pbGlzdCBvZiB0ZXN0IGtleXMuXG5AZnVuY3Rpb24gbWFwLWhhcy1rZXlzKCRtYXAsICRrZXlzKSB7XG4gICAgJGtleXM6IHRvLWxzdCgka2V5cyk7XG4gICAgQHdoaWxlICRrZXlzICE9IG51bGwge1xuICAgICAgICAka2V5OiBjYXIoJGtleXMpO1xuICAgICAgICAka2V5czogY2RyKCRrZXlzKTtcbiAgICAgICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWFwLCAka2V5KSB7XG4gICAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vIEtlZXAgb25seSB0aGUgZ2l2ZW4ga2V5cyBvbiBtYXAuXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBBIG1hcHBpbmdcbi8vLyBAYXJnICRrZXlzIC0gQSAobGlua2VkLSlsaXN0IG9mIHRlc3Qga2V5cy5cbkBmdW5jdGlvbiBtYXAtc2VsZWN0KCRtYXAsICRrZXlzKSB7XG4gICAgJGtleXM6IHRvLWxzdCgka2V5cyk7XG4gICAgJHJlc3VsdDogbWFwLXJlbW92ZSgoKSwgbnVsbCk7XG5cbiAgICBAd2hpbGUgJGtleXMgIT0gbnVsbCB7XG4gICAgICAgICRrZXk6IGNhcigka2V5cyk7XG4gICAgICAgICRrZXlzOiBjZHIoJGtleXMpO1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgka2V5OiBtYXAtZ2V0KCRtYXAsICRrZXkpKSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gUmVtb3ZlIHRoZSBnaXZlbiBrZXlzIGZyb20gbWFwXG4vLy9cbi8vLyBAYXJnICRtYXAgLSBBIG1hcHBpbmdcbi8vLyBAYXJnICRrZXlzIC0gQSAobGlua2VkLSlsaXN0IG9mIHRlc3Qga2V5cy5cbkBmdW5jdGlvbiBtYXAtZXhjbHVkZSgkbWFwLCAka2V5cykge1xuICAgICRrZXlzOiB0by1sc3QoJGtleXMpO1xuICAgICRyZXN1bHQ6ICRtYXA7XG5cbiAgICBAd2hpbGUgJGtleXMgIT0gbnVsbCB7XG4gICAgICAgICRrZXk6IGNhcigka2V5cyk7XG4gICAgICAgICRrZXlzOiBjZHIoJGtleXMpO1xuICAgICAgICAkcmVzdWx0OiBtYXAtcmVtb3ZlKCRyZXN1bHQsICRrZXkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBTZWxlY3QgZmlyc3QgZWxlbWVudCB0aGF0IG1hdGNoZXMgb25lIGVsZW1lbnQgZnJvbSBhbiBhcnJheSBvZiBrZXlzIG9yIHJldHVyblxuLy8vIHRoZSBnaXZlbiBkZWZhdWx0XG4vLy9cbi8vLyBAYXJnICRtYXAgLSBtYXAgdG8gb3BlcmF0ZSBmcm9tXG4vLy8gQGFyZyAka2V5cyAtIGFycmF5IG9mIGtleXNcbi8vLyBAYXJnICRkZWZhdWx0IC0gZGVmYXVsdCB2YWx1ZS5cbkBmdW5jdGlvbiBtYXAtZ2V0LWZpcnN0KCRtYXAsICRrZXlzLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRrZXlzOiB0by1sc3QoJGtleXMpO1xuXG4gICAgQHdoaWxlICRrZXlzICE9IG51bGwge1xuICAgICAgICAka2V5OiBjYXIoJGtleXMpO1xuICAgICAgICAka2V5czogY2RyKCRrZXlzKTtcbiAgICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRtYXAsICRrZXkpO1xuICAgICAgICBAaWYgJHZhbHVlICE9IG51bGwge1xuICAgICAgICAgICAgQHJldHVybiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkZGVmYXVsdDtcbn1cblxuLy8vIEZpbHRlciBtYXAgdG8gaW5jbHVkZSBvbmx5IGl0ZW1zIGluIHdoaWNoIHRoZSB2YWx1ZSBwYXNzZXMgYSBwcmVkaWNhdGVcbi8vL1xuLy8vIEBhcmcgJHByZWQgLSBGdW5jdGlvbiBvciBuYW1lIG9mIGJvb2xlYW4gZnVuY3Rpb24gdGhhdCBpcyB1c2VkIHRvIGZpbHRlciBpdGVtcy5cbi8vLyBAYXJnICRtYXAgLSBJbnB1dCBtYXBcbkBmdW5jdGlvbiBtYXAtZmlsdGVyLXZhbHVlcygkcHJlZCwgJG1hcCwgJGFyZ3MuLi4pIHtcbiAgICAkcHJlZDogYXMtZnVuYygkcHJlZCk7XG4gICAgJHJlc3VsdDogKCk7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgICBAaWYgY2FsbCgkcHJlZCwgJHZhbHVlLCAkYXJncy4uLikge1xuICAgICAgICAgICAgJHJlc3VsdDogbWFwLW1lcmdlKCRyZXN1bHQsICgka2V5OiAkdmFsdWUpKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBBcHBseSBmdW5jdGlvbiB0byBhbGwgdmFsdWVzIGluIG1hcFxuLy8vXG4vLy8gQGFyZyAkZm4gLSBGdW5jdGlvblxuLy8vIEBhcmcgJG1hcCAtIElucHV0IG1hcFxuQGZ1bmN0aW9uIG1hcC1hcHBseS12YWx1ZXMoJGZuLCAkbWFwLCAkYXJncy4uLikge1xuICAgICRmdW5jOiBhcy1mdW5jKCRmbik7XG4gICAgJHJlc3VsdDogKCk7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6IGNhbGwoJGZ1bmMsICR2YWx1ZSwgJGFyZ3MuLi4pKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vIEFwcGx5IGZ1bmN0aW9uIHRvIHRoZSBrZXlzIG9mIGEgZ2l2ZW4gbWFwLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBGdW5jdGlvblxuLy8vIEBhcmcgJG1hcCAtIElucHV0IG1hcFxuQGZ1bmN0aW9uIG1hcC1hcHBseS1rZXlzKCRmbiwgJG1hcCwgJGFyZ3MuLi4pIHtcbiAgICAkZm46IGFzLWZ1bmMoJGZuKTtcbiAgICAkYWNjOiAkZm4tZW1wdHktbWFwO1xuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgICAgJGFjYzogbWFwLW1lcmdlKCRhY2MsIChjYWxsKCRmbiwgJGssICRhcmdzLi4uKTogJHYpKTtcbiAgICB9XG4gICAgQHJldHVybiAkYWNjO1xufVxuXG5AZnVuY3Rpb24gX2ZuLXdpdGgtcHJlZml4KCR4LCAkcHJlZml4KSB7XG4gICAgQHJldHVybiAnI3skcHJlZml4fSN7JHh9Jztcbn1cblxuLy8vIEFkZCBwcmVmaXhlcyB0byBhbGwga2V5cyBvZiBtYXBcbi8vL1xuLy8vIEBhcmcgJG1hcCAtIElucHV0IG1hcFxuLy8vIEBhcmcgJHByZWZpeGVzLi4uIC0gU3RyaW5ncyB0byBhZGQgYXMgcHJlZml4XG5AZnVuY3Rpb24gbWFwLXByZWZpeC1rZXlzKCRtYXAsICRwcmVmaXhlcy4uLikge1xuICAgICRyZXM6IG1hcC1yZW1vdmUoKCksIG51bGwpO1xuICAgIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAgICAgJHJlczogbWFwLW1lcmdlKCRyZXMsIG1hcC1hcHBseS1rZXlzKF9mbi13aXRoLXByZWZpeCwgJG1hcCwgJHByZWZpeCkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRyZXM7XG59XG5cbi8vLyBFeHRyYWN0IGluZm9ybWF0aW9uIG9uICRwYXRoIGZyb20gYSAobGlua2VkLSlsaXN0IG9mIG11bHRpcGxlICRtYXBzLlxuLy8vXG4vLy8gVGhpcyBmdW5jdGlvbiBpcyB1c2VmdWwgdG8gaW1wbGVtZW50IGFjY2VzcyB0byBuZXN0ZWQgY29uZmlndXJhdGlvbiBtYXBzLFxuLy8vIHdoZW4gd2Ugd2FudCB0byBtZXJnZSB0aGUgcmVzdWx0cyBvZiBkaWZmZXJlbnQgc291cmNlcyB0byB3b3JrIGFzIGEgc2luZ2xlXG4vLy8gbmVzdGVkIG1hcHBpbmcuXG4vLy9cbi8vLyBAYXJnICRtYXBzIC0gYSAobGlua2VkLSlsaXN0IG9mIG1hcHMuXG4vLy8gQGFyZyAkcGF0aCAtIGEgKGxpbmtlZC0pbGlzdCBsb2NhdGlvbiBvZiBlbnRyeSBvbiBtYXBzLlxuLy8vIEBhcmcgJGRlZmF1bHQgLSByZXN1bHQgdGhpcyB2YWx1ZSwgaWYgZ2l2ZW4sIHdoZW4gcmVxdWVzdGVkIGRhdGEgaXMgbm90XG4vLy8gICAgICAgICAgICAgICAgIHByZXNlbnQgb24gbWFwc1xuQGZ1bmN0aW9uIG1hcC1wYXRoLW1lcmdlKCRtYXBzLCAkcGF0aCwgJGRlZmF1bHQ6IG51bGwpIHtcbiAgICAkbWFwczogdG8tbHN0KCRtYXBzKTtcbiAgICBAaWYgJG1hcHM9PSBudWxsIHtcbiAgICAgICAgQGVycm9yICdNYXBzIGNhbm5vdCBiZSBlbXB0eSc7XG4gICAgfVxuXG4gICAgLy9ub2luc3BlY3Rpb24gQ3NzSW52YWxpZEZ1bmN0aW9uXG4gICAgQHdoaWxlICRtYXBzIHtcbiAgICAgICAgJG1hcDogbnRoKCRtYXBzLCAxKTtcbiAgICAgICAgJG1hcHM6IG50aCgkbWFwcywgMik7XG4gICAgICAgICRkZWZhdWx0OiBfZm4tbWVyZ2UtZGVmYXVsdCgkZGVmYXVsdCwgbWFwLXBhdGgoJG1hcCwgJHBhdGgpKTtcbiAgICB9XG5cbiAgICBAcmV0dXJuICRkZWZhdWx0O1xufVxuXG5AZnVuY3Rpb24gX2ZuLW1lcmdlLWRlZmF1bHQoJHZhbHVlLCAkbmV3KSB7XG4gICAgQGlmICRuZXcgPT0gbnVsbCB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgJHZhbHVlID09IG51bGwge1xuICAgICAgICBAcmV0dXJuICRuZXc7XG4gICAgfSBAZWxzZSBpZiB0eXBlLW9mKCRuZXcpID09IG1hcCBhbmQgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgIEByZXR1cm4gbWFwLW1lcmdlLW5lc3RlZCgkdmFsdWUsICRuZXcpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkbmV3KSA9PSBtYXAge1xuICAgICAgICBAcmV0dXJuIG1hcC1tZXJnZSgodmFsdWU6ICR2YWx1ZSksICRuZXcpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgIEByZXR1cm4gbWFwLW1lcmdlKCR2YWx1ZSwgKHZhbHVlOiAkbmV3KSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gJG5ldztcbiAgICB9XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBdXhpbGlhcnkgbm9uLWFwaSBmdW5jdGlvbnNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZnVuY3Rpb24gX21hcC1nZXQyKCRtYXAsICRrZXkxLCAka2V5Mikge1xuICAgIEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRtYXAsICRrZXkxKSwgJGtleTIpO1xufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBTVFJJTkcgRlVOQ1RJT05TXG4vLy8gQGdyb3VwIHN0cmluZyBmdW5jdGlvbnNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ2xpc3QnO1xuXG4vLy8gUGFydGl0aW9uIHN0cmluZyBpbnRvIHNlcGFyYXRvciBhbmQgcmV0dXJuIGFuIGFycmF5IG9mIChwcmVmaXgsIHNlcCwgcG9zdGZpeCkuXG4vLy8gSWYgZWxlbWVudCBpcyBub3QgZm91bmQgb24gc3RyaW5nLCByZXR1cm4gKHN0LCAnJywgJycpLiBJbiBhbGwgY2FzZXMsXG4vLy8gYCRzdCA9PSBzdHIuam9pbihMKHN0ci1wYXJ0aXRpb24oJHN0KS4uLikpYC5cbi8vL1xuLy8vIEBhcmcgJHN0IC0gU3RyaW5nXG4vLy8gQGFyZyAkc2VwIC0gU2VwYXJhdG9yXG5AZnVuY3Rpb24gc3RyLXBhcnRpdGlvbigkc3QsICRzZXApIHtcbiAgICAkaWR4OiBzdHItaW5kZXgoJHN0LCAkc2VwKTtcbiAgICBAaWYgJGlkeCA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAoJHN0LCAnJywgJycpO1xuICAgIH1cbiAgICAkcHJlOiBzdHItc2xpY2UoJHN0LCAxLCAkaWR4IC0gMSk7XG4gICAgJHBvc3Q6IHN0ci1zbGljZSgkc3QsICRpZHggKyBzdHItbGVuZ3RoKCRzZXApKTtcbiAgICBAcmV0dXJuICgkcHJlLCAkc2VwLCAkcG9zdCk7XG59XG5cbi8vLyBTcGxpdCBzdHJpbmcgaW50byBzZXBhcmF0b3IgYW5kIHJldHVybiBhIChsaW5rZWQtKWxpc3Qgb2Ygc3RyaW5nc1xuLy8vXG4vLy8gQGFyZyAkc3QgLSBJbml0aWFsIHN0cmluZ1xuLy8vIEBhcmcgJHNlcCAtIFNlcGFyYXRvclxuQGZ1bmN0aW9uIHN0ci1zcGxpdCgkc3QsICRzZXApIHtcbiAgICAkaWR4OiBzdHItaW5kZXgoJHN0LCAkc2VwKTtcbiAgICBAaWYgJGlkeCA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiAoJHN0IG51bGwpO1xuICAgIH1cbiAgICAkcHJlOiBzdHItc2xpY2UoJHN0LCAxLCAkaWR4IC0gMSk7XG4gICAgJHBvc3Q6IHN0ci1zbGljZSgkc3QsICRpZHggKyBzdHItbGVuZ3RoKCRzZXApKTtcbiAgICBAcmV0dXJuICgkcHJlIHN0ci1zcGxpdCgkcG9zdCwgJHNlcCkpO1xufVxuXG4vLy8gSm9pbiBhbGwgdmFsdWVzIGluIGEgKGxpbmtlZC0pbGlzdCBvZiBzdHJpbmdzIGludG8gYSBzaW5nbGUgc3RyaW5nLlxuLy8vXG4vLy8gQGFyZyAkeHMgLSBJbnB1dCBsaXN0XG4vLy8gQGFyZyAkc2VwIC0gT3B0aW9uYWwgc2VwYXJhdG9yXG5AZnVuY3Rpb24gc3RyLWpvaW4oJHhzLCAkc2VwOiAnJykge1xuICAgICR4czogY29lcmNlLXRvLWxzdCgkeHMpO1xuICAgICR4czogaWYoJHNlcCA9PSAnJywgJHhzLCBsc3QtaW50ZXJzcGVyc2UoJHhzLCAkc2VwKSk7XG4gICAgQHJldHVybiBsc3Qtam9pbi1ieShhZGQsICcnLCAkeHMpO1xufVxuXG4vLy8gUmVwbGFjZSBgJHN1YmAgd2l0aCBgJHJlcGxhY2VgIGluIGAkc3RgXG4vLy9cbi8vLyBAYXJnICRzdCAtIEluaXRpYWwgc3RyaW5nXG4vLy8gQGFyZyAkc3ViIC0gU3Vic3RyaW5nXG4vLy8gQGFyZyAkcmVwbGFjZSAtIFJlcGxhY2VtZW50IChkZWZhdWx0cyB0byBlbXB0eSBzdHJpbmcpXG5AZnVuY3Rpb24gc3RyLXJlcGxhY2UoJHN0LCAkc3ViLCAkcmVwbGFjZTogJycpIHtcbiAgICBAcmV0dXJuIHN0ci1qb2luKHN0ci1zcGxpdCgkc3QsICRzdWIpLCAkcmVwbGFjZSk7XG59XG5cbi8vLyBDaGVja3MgaWYgc3RyaW5nIHN0YXJ0cyB3aXRoIGdpdmVuIHN1Yi1zdHJpbmdcbi8vL1xuLy8vIEBhcmcgJHN0ciAtIGlucHV0IHN0cmluZ1xuLy8vIEBhcmcgJHByZWZpeCAtIHN1YnN0cmluZyBwcmVmaXhcbkBmdW5jdGlvbiBzdHItc3RhcnRzLXdpdGgoJHN0ciwgJHByZWZpeCkge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHIsIDEsIHN0ci1sZW5ndGgoJHByZWZpeCkpID09ICRwcmVmaXg7XG59XG5cbi8vLyBDaGVja3MgaWYgc3RyaW5nIGVuZHMgd2l0aCBnaXZlbiBzdWItc3RyaW5nXG4vLy9cbi8vLyBAYXJnICRzdHIgLSBpbnB1dCBzdHJpbmdcbi8vLyBAYXJnICRzdWZmaXgtIHN1YnN0cmluZyBzdWZmaXhcbkBmdW5jdGlvbiBzdHItZW5kcy13aXRoKCRzdHIsICRzdWZmaXgpIHtcbiAgICAkbjogc3RyLWxlbmd0aCgkc3VmZml4KTtcbiAgICBAaWYgJG4gPiBzdHItbGVuZ3RoKCRzdHIpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgJGVuZDogc3RyLXNsaWNlKCRzdHIsIC0kbik7XG4gICAgQHJldHVybiAkZW5kID09ICRzdWZmaXg7XG59XG5cblxuLy8vIEludGVycG9sYXRlIGFsbCBzdWJzdGl0dXRpb24gZWxlbWVudHMgaW4gdGhlIGdpdmVuIHRlbXBsYXRlIHN0cmluZy5cbi8vLyBJbnRlcnBvbGF0aW9uIHBvaW50cyBpbiB0aGUgdGVtcGxhdGUgc3RyaW5nIGFyZSBpZGVudGlmaWVkIGFzICQxLCAkMiwgJDMsIGV0Y1xuLy8vIGFuZCAkc3VicyBpcyBhIChsaW5rZWQtKSBsaXN0IG9mIHZhbHVlcy5cbi8vL1xuLy8vIEBhcmcgJHN0IC0gVGVtcGxhdGUgc3RyaW5nLlxuLy8vIEBhcmcgJHN1YnMgLSAobGlua2VkLSlsaXN0IG9mIHN1YnN0aXR1dGlvbiB2YWx1ZXMuXG5AZnVuY3Rpb24gc3RyLWludGVycG9sYXRlKCRzdCwgJHN1YnMpIHtcbiAgICAkc3ViczogY29lcmNlLXRvLWxzdCgkc3Vicyk7XG4gICAgJGlkeDogMTtcbiAgICBAd2hpbGUgJHN1YnMge1xuICAgICAgICAkc3ViOiBjYXIoJHN1YnMpO1xuICAgICAgICAkc3ViczogY2RyKCRzdWJzKTtcbiAgICAgICAgJHN0OiBzdHItcmVwbGFjZSgkc3QsICckI3skaWR4fScsICRzdWIpO1xuICAgICAgICAkaWR4OiAkaWR4ICsgMTtcbiAgICB9XG4gICAgQHJldHVybiAkc3Q7XG59XG5cbiIsCgkJIi8vLy9cbi8vLyBOVU1CRVIgRlVOQ1RJT05TXG4vLy8gQGdyb3VwIG51bWVyaWMgZnVuY3Rpb25zXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AaW1wb3J0ICdsaXN0JztcblxuLy8vIENvbnZlcnQgYXJndW1lbnQgdG8gcGVyY2VudGFnZS5cbi8vLyBAYXJnICR2YWx1ZSAtIEEgbnVtYmVyIGlucHV0XG5AZnVuY3Rpb24gcGMoJHZhbHVlKSB7XG4gICAgQGlmIHVuaXQoJHZhbHVlKSA9PSAnJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlICogMTAwJTtcbiAgICB9IEBlbHNlIGlmIHVuaXQoJHZhbHVlKSA9PSAnJScge1xuICAgICAgICBAcmV0dXJuICR2YWx1ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yICdDYW5ub3QgY29udmVydCAje3VuaXQoJHZhbHVlKX0gdG8gcGVyY2VudC4nO1xuICAgIH1cbn1cblxuLy8vIFJhaXNlIHZhbHVlIHRvIGludGVnZXIgcG93ZXIuXG4vLy8gQGFyZyAkdmFsdWUgLSBBIG51bWJlciBpbnB1dFxuLy8vIEBhcmcgJG4gLSBFeHBvbmVudFxuQGZ1bmN0aW9uIHBvdygkdmFsdWUsICRuKSB7XG4gICAgJHJlc3VsdDogMTtcbiAgICBAaWYgJG4gPiAwIHtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbiB7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogJHZhbHVlO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAkbiA8IDAge1xuICAgICAgICAkbjogLSRuO1xuICAgICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRuIHtcbiAgICAgICAgICAgICRyZXN1bHQ6ICRyZXN1bHQgLyAkdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gUmV0dXJuIGEgKGxpbmtlZC0pbGlzdCB3aXRoIGFuIGV4cG9uZW50aWFsIHByb2dyZXNzaW9uIG9mIG51bWJlcnMgZm9ybWluZ1xuLy8vIHRoZSBnaXZlbiByYXRpby5cbi8vL1xuLy8vIEBhcmcgJHJhdGlvIC0gUmF0aW8gYmV0d2VlbiB0d28gc3VjY2Vzc2l2ZSBudW1iZXJzXG4vLy8gQGFyZyAkc2l6ZSAtIFNpemUgb2YgdGhlIHJlc3VsdGluZyBsaXN0XG4vLy8gQGFyZyAkaW5pdGlhbCAtIEluaXRpYWwgdmFsdWUgKGRlZmF1bHRzIHRvIDEpXG5AZnVuY3Rpb24gZXhwb25lbnRpYWwtcHJvZ3Jlc3Npb24oJHJhdGlvLCAkc2l6ZSwgJGluaXQ6IDEsICRyZXZlcnNlOiBmYWxzZSkge1xuICAgICR4czogKCRpbml0IG51bGwpO1xuICAgIEBmb3IgJGkgZnJvbSAxIHRvICRzaXplIHtcbiAgICAgICAgJGluaXQ6ICRpbml0ICogJHJhdGlvO1xuICAgICAgICAkeHM6ICgkaW5pdCAkeHMpO1xuICAgIH1cbiAgICBAcmV0dXJuIGlmKCRyZXZlcnNlLCAkeHMsIGxzdC1yZXZlcnNlKCR4cykpO1xufVxuXG4vLy8gQ29tcHV0ZXMgdGhlIHNxdWFyZSByb290IG9mIGEgbnVtYmVyIHVzaW5nIHRoZSBCYWJ5bG9uaWFuL05ld3RvbidzIG1ldGhvZC5cbkBmdW5jdGlvbiBzcXJ0KCR4KSB7XG4gICAgQGlmICR4IDwgMCB7XG4gICAgICAgIEBlcnJvciAnQ2Fubm90IGNvbXB1dGUgdGhlIHNxdWFyZSByb290IG9mIGEgbmVnYXRpdmUgbnVtYmVyJztcbiAgICB9XG4gICAgJHNxcnQ6IDE7XG4gICAgQHdoaWxlIGFicygkc3FydCAqICRzcXJ0IC0gJHgpID4gMC4wMDAwMDAxIHtcbiAgICAgICAgJHNxcnQ6IDAuNSAqICgkc3FydCArICR4IC8gJHNxcnQpO1xuICAgIH1cbiAgICBAcmV0dXJuICRzcXJ0O1xufVxuXG4vLy8gUmV0dXJuIC0xLCAwIG9yIDEgYWNjb3JkaW5nIHdpdGggdGhlIHNpZ24gb2YgYSBudW1lcmljYWwgaW5wdXQuXG5AZnVuY3Rpb24gc2lnbigkeCkge1xuICAgIEBpZiAkeCA+IDAge1xuICAgICAgICBAcmV0dXJuIDE7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gaWYoJHggPT0gMCwgMCwgLTEpO1xuICAgIH1cbn1cblxuLy8vIEFkZCBgJHVuaXRgIHRvIGAkdmFsdWVgXG4vLy9cbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYXJnICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQGFyZyAkdW5pdCAtIFN0cmluZyByZXByZXNlbnRhdGlvbiBvZiB0aGUgdW5pdFxuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICAgJHVuaXRzOiAoXG4gICAgICAgICdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLFxuICAgICAgICAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsXG4gICAgICAgICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG4gICAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICAgICBAZXJyb3IgJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLic7XG4gICAgfVxuICAgIEByZXR1cm4gJHZhbHVlICogbWFwLWdldCgkdW5pdHMsICR1bml0KTtcbn1cblxuLy8vIENvbnZlcnQgdmFsdWUgdG8gbnVtYmVyXG4vLy8gU2VlOiBodHRwczovL3d3dy5zYXNzbWVpc3Rlci5jb20vZ2lzdC85ZmExOWQyNTQ4NjRmMzNkNGE4MFxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy8gQGFyZyAkdmFsdWUgLSBJbnB1dCBzdHJpbmdcbkBmdW5jdGlvbiB0by1udW1iZXIoJHZhbHVlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgICAgIEByZXR1cm4gJHZhbHVlO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAgICAgQGVycm9yICdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLic7XG4gICAgfVxuXG4gICAgJHJlc3VsdDogMDtcbiAgICAkZGlnaXRzOiAwO1xuICAgICRtaW51czogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSkgPT0gJy0nO1xuICAgICRudW1iZXJzOiAoJzAnOiAwLCAnMSc6IDEsICcyJzogMiwgJzMnOiAzLCAnNCc6IDQsICc1JzogNSwgJzYnOiA2LCAnNyc6IDcsICc4JzogOCwgJzknOiA5KTtcblxuICAgIEBmb3IgJGkgZnJvbSBpZigkbWludXMsIDIsIDEpIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAgICAgJGNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgJGksICRpKTtcblxuICAgICAgICBAaWYgbm90IChpbmRleChtYXAta2V5cygkbnVtYmVycyksICRjaGFyYWN0ZXIpIG9yICRjaGFyYWN0ZXIgPT0gJy4nKSB7XG4gICAgICAgICAgICBAcmV0dXJuIHRvLWxlbmd0aChpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KSwgc3RyLXNsaWNlKCR2YWx1ZSwgJGkpKVxuICAgICAgICB9XG4gICAgICAgIEBpZiAkY2hhcmFjdGVyID09ICcuJyB7XG4gICAgICAgICAgICAkZGlnaXRzOiAxO1xuICAgICAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAkZGlnaXRzOiAkZGlnaXRzICogMTA7XG4gICAgICAgICAgICAkcmVzdWx0OiAkcmVzdWx0ICsgbWFwLWdldCgkbnVtYmVycywgJGNoYXJhY3RlcikgLyAkZGlnaXRzO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCk7XG59XG5cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQ09MT1IgVFJBTlNGT1JNQVRJT05TIEFORCBVVElMSVRJRVNcbi8vLyBAZ3JvdXAgQ29sb3Jcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJGZuLWNvbnRyYXN0LWNvbG9yLXdoaXRlOiB3aGl0ZSAhZGVmYXVsdDtcbiRmbi1jb250cmFzdC1jb2xvci1ibGFjazogYmxhY2sgIWRlZmF1bHQ7XG4kZm4tbHVtaW5hbmNlLWludGVycG9sYXRpb246IG51bGw7XG5cbi8vLyBDYWxjdWxhdGUgbHVtaW5hbmNlIG9mIGFyZ3VtZW50LiBSZXR1cm5zIGEgdmFsdWUgYmV0d2VlbiAwIGFuZCAxLlxuLy8vXG4vLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE3Lmh0bWwjRzE3LXRlc3RzIGFuZFxuLy8vIGh0dHBzOi8vbWVkaXVtLmNvbS9kZXYtY2hhbm5lbC91c2luZy1zYXNzLXRvLWF1dG9tYXRpY2FsbHktcGljay10ZXh0LWNvbG9ycy00YmE3NjQ1ZDI3OTZcbi8vL1xuLy8vIEBhcmcgJGNvbG9yIC0gQ29sb3IgYXJndW1lbnQuXG5AZnVuY3Rpb24gbHVtaW5hbmNlKCRjb2xvcikge1xuICAgICRyZWQ6IG50aCgkZm4tbHVtaW5hbmNlLWludGVycG9sYXRpb24sIHJlZCgkY29sb3IpICsgMSk7XG4gICAgJGdyZWVuOiBudGgoJGZuLWx1bWluYW5jZS1pbnRlcnBvbGF0aW9uLCBncmVlbigkY29sb3IpICsgMSk7XG4gICAgJGJsdWU6IG50aCgkZm4tbHVtaW5hbmNlLWludGVycG9sYXRpb24sIGJsdWUoJGNvbG9yKSArIDEpO1xuICAgIEByZXR1cm4gLjIxMjYgKiAkcmVkICsgLjcxNTIgKiAkZ3JlZW4gKyAuMDcyMiAqICRibHVlO1xufVxuXG4vLy8gQ2FsY3VsYXRlIHRoZSBjb250cmFzdCByYXRpbyBiZXR3ZWVuIHR3byBjb2xvcnMgaW4gYSBzY2FsZSBvZiAwIHRvIDEuXG4vLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9XQ0FHMjAtVEVDSFMvRzE3Lmh0bWwjRzE3LXRlc3RzXG4vLy9cbi8vLyBAYXJnICRjb2xvciAtIENvbG9yIGFyZ3VtZW50LlxuLy8vIEBhcmcgJG90aGVyIC0gQ29sb3IgdG8gY29udHJhc3Qgd2l0aCAkY29sb3JcbkBmdW5jdGlvbiBjb250cmFzdC1yYXRpbygkY29sb3IsICRvdGhlcikge1xuICAgICRiYWNrLWx1bTogbHVtaW5hbmNlKCRjb2xvcikgKyAwLjAxO1xuICAgICRmb3JlLWx1bTogbHVtaW5hbmNlKCRvdGhlcikgKyAwLjAxO1xuICAgIEByZXR1cm4gKG1heCgkYmFjay1sdW0sICRmb3JlLWx1bSkgLyBtaW4oJGJhY2stbHVtLCAkZm9yZS1sdW0pIC0gMSkgLyAxMDA7XG59XG5cbi8vLyBDaG9vc2UgdGhlIGNvbG9yIHRoYXQgbWFrZXMgYSBiZXR0ZXIgY29udHJhc3Qgd2l0aCB0aGUgZmlyc3QgYXJndW1lbnQgYW1vbmdcbi8vLyB0d28gb3B0aW9ucyBgJG9wdDFgIGFuZCBgJG9wdDJgLlxuLy8vXG4vLy8gQGFyZyAkY29sb3IgLSBSZWZlcmVuY2UgY29sb3Jcbi8vLyBAYXJnICRjb2xvci0xIC0gRmlyc3Qgb3V0cHV0IG9wdGlvblxuLy8vIEBhcmcgJGNvbG9yLTIgLSBTZWNvbmQgb3V0cHV0IG9wdGlvblxuLy8vIEBhcmcgJGJpYXMgLSBBIGZhY3RvciBiZXR3ZWVuIC0xIGFuZCAxIHRvIGFydGlmaWNpYWxseSBmYXZvciAkY29sb3ItMSBvdmVyICRjb2xvci0yXG5AZnVuY3Rpb24gY2hvb3NlLWNvbnRyYXN0LWNvbG9yKCRjb2xvciwgJGNvbG9yLTE6IG51bGwsICRjb2xvci0yOiBudWxsLCAkYmlhczogMCkge1xuICAgIEBpZiBub3QgJGNvbG9yIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cblxuICAgICRjb2xvci0xOiAkY29sb3ItMSBvciAkZm4tY29udHJhc3QtY29sb3Itd2hpdGU7XG4gICAgJGNvbG9yLTI6ICRjb2xvci0yIG9yICRmbi1jb250cmFzdC1jb2xvci1ibGFjaztcblxuICAgIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xuICAgICAgICBAcmV0dXJuIGlmKGxpZ2h0bmVzcygkY29sb3ItMSkgPCBsaWdodG5lc3MoJGNvbG9yLTIpLCAkY29sb3ItMSwgJGNvbG9yLTIpO1xuICAgIH1cbiAgICBAaWYgKGNvbnRyYXN0LXJhdGlvKCRjb2xvciwgJGNvbG9yLTEpICogKDEgKyAkYmlhcylcbiAgICAgICAgICAgID4gY29udHJhc3QtcmF0aW8oJGNvbG9yLCAkY29sb3ItMikgKiAoMSAtICRiaWFzKSkge1xuICAgICAgICBAcmV0dXJuICRjb2xvci0xO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICRjb2xvci0yO1xuICAgIH1cbn1cblxuLy8gSW50ZXJwb2xhdGUgbHVtaW5hbmNlIGZ1bmN0aW9uXG4kZm4tbHVtaW5hbmNlLWludGVycG9sYXRpb246IChcbiAgICAwLjAsXG4gICAgMC4wMDAzMDM1MjY5ODM1NDg4Mzc1LFxuICAgIDAuMDAwNjA3MDUzOTY3MDk3Njc1LFxuICAgIDAuMDAwOTEwNTgwOTUwNjQ2NTEyNSxcbiAgICAwLjAwMTIxNDEwNzkzNDE5NTM1LFxuICAgIDAuMDAxNTE3NjM0OTE3NzQ0MTg3NCxcbiAgICAwLjAwMTgyMTE2MTkwMTI5MzAyNSxcbiAgICAwLjAwMjEyNDY4ODg4NDg0MTg2MjYsXG4gICAgMC4wMDI0MjgyMTU4NjgzOTA3LFxuICAgIDAuMDAyNzMxNzQyODUxOTM5NTM3MyxcbiAgICAwLjAwMzAzNTI2OTgzNTQ4ODM3NSxcbiAgICAwLjAwMzM0NjUzNTc2Mzg5OTE2MSxcbiAgICAwLjAwMzY3NjUwNzMyNDA0NzQzNixcbiAgICAwLjAwNDAyNDcxNzAxODQ5NjMwNyxcbiAgICAwLjAwNDM5MTQ0MjAzNzQxMDI5MyxcbiAgICAwLjAwNDc3Njk1MzQ4MDY5MzcyOSxcbiAgICAwLjAwNTE4MTUxNjcwMjMzODM4NixcbiAgICAwLjAwNTYwNTM5MTYyNDIwMjcyMyxcbiAgICAwLjAwNjA0ODgzMzAyMjg1NzA1NCxcbiAgICAwLjAwNjUxMjA5MDc5MjU5NDQ3NSxcbiAgICAwLjAwNjk5NTQxMDE4NzI2NTM4NyxcbiAgICAwLjAwNzQ5OTAzMjA0MzIyNjE3NSxcbiAgICAwLjAwODAyMzE5Mjk4NTM4NDk5NCxcbiAgICAwLjAwODU2ODEyNTYxODA2OTMwNyxcbiAgICAwLjAwOTEzNDA1ODcwMjIyMDc4NyxcbiAgICAwLjAwOTcyMTIxNzMyMDIzNzg1LFxuICAgIDAuMDEwMzI5ODIzMDI5NjI2OTM2LFxuICAgIDAuMDEwOTYwMDk0MDA2NDg4MjQ2LFxuICAgIDAuMDExNjEyMjQ1MTc5NzQzODg1LFxuICAgIDAuMDEyMjg2NDg4MzU2OTE1ODcyLFxuICAgIDAuMDEyOTgzMDMyMzQyMTczMDEyLFxuICAgIDAuMDEzNzAyMDgzMDQ3Mjg5Njg2LFxuICAgIDAuMDE0NDQzODQzNTk2MDkyNTQ1LFxuICAgIDAuMDE1MjA4NTE0NDIyOTEyNzEsXG4gICAgMC4wMTU5OTYyOTMzNjU1MDk2MyxcbiAgICAwLjAxNjgwNzM3NTc1Mjg4NzM4NCxcbiAgICAwLjAxNzY0MTk1NDQ4ODM4NDA3OCxcbiAgICAwLjAxODUwMDIyMDEyODM3OTY5NyxcbiAgICAwLjAxOTM4MjM2MDk1NjkzNTcyMyxcbiAgICAwLjAyMDI4ODU2MzA1NjY1MjQsXG4gICAgMC4wMjEyMTkwMTAzNzYwMDM1NTUsXG4gICAgMC4wMjIxNzM4ODQ3OTMzODczODUsXG4gICAgMC4wMjMxNTMzNjYxNzgxMTA0MSxcbiAgICAwLjAyNDE1NzYzMjQ0ODUwNDc1NixcbiAgICAwLjAyNTE4Njg1OTYyNzM2MTYzLFxuICAgIDAuMDI2MjQxMjIxODk0ODQ5ODk4LFxuICAgIDAuMDI3MzIwODkxNjM5MDc0ODk0LFxuICAgIDAuMDI4NDI2MDM5NTA0NDIwNzkzLFxuICAgIDAuMDI5NTU2ODM0NDM3ODA4OCxcbiAgICAwLjAzMDcxMzQ0MzczMjk5MzYzNSxcbiAgICAwLjAzMTg5NjAzMzA3MzAxMTUzLFxuICAgIDAuMDMzMTA0NzY2NTcwODg1MDU1LFxuICAgIDAuMDM0MzM5ODA2ODA4NjgyMTcsXG4gICAgMC4wMzU2MDEzMTQ4NzUwMjAzNCxcbiAgICAwLjAzNjg4OTQ1MDQwMTEwMDA0LFxuICAgIDAuMDM4MjA0MzcxNTk1MzQ2NSxcbiAgICAwLjAzOTU0NjIzNTI3NjczMjg0LFxuICAgIDAuMDQwOTE1MTk2OTA2ODUzMTksXG4gICAgMC4wNDIzMTE0MTA2MjA4MDk2NzUsXG4gICAgMC4wNDM3MzUwMjkyNTY5NzM0NjUsXG4gICAgMC4wNDUxODYyMDQzODU2NzU1NCxcbiAgICAwLjA0NjY2NTA4NjMzNjg4MDA5NSxcbiAgICAwLjA0ODE3MTgyNDIyNjg4OTQyLFxuICAgIDAuMDQ5NzA2NTY1OTg0MTI3MjMsXG4gICAgMC4wNTEyNjk0NTgzNzQwNDMyNCxcbiAgICAwLjA1Mjg2MDY0NzAyMzE4MDI0NixcbiAgICAwLjA1NDQ4MDI3NjQ0MjQ0MjM3LFxuICAgIDAuMDU2MTI4NDkwMDQ5NjAwMDksXG4gICAgMC4wNTc4MDU0MzAxOTEwNjcyMyxcbiAgICAwLjA1OTUxMTIzODE2Mjk4MTIsXG4gICAgMC4wNjEyNDYwNTQyMzE2MTc2MSxcbiAgICAwLjA2MzAxMDAxNzY1MzE2NzY3LFxuICAgIDAuMDY0ODAzMjY2NjkyOTA1NzcsXG4gICAgMC4wNjY2MjU5Mzg2NDM3NzI4OSxcbiAgICAwLjA2ODQ3ODE2OTg0NDQwMDE3LFxuICAgIDAuMDcwMzYwMDk1Njk2NTk1ODgsXG4gICAgMC4wNzIyNzE4NTA2ODIzMTc0OCxcbiAgICAwLjA3NDIxMzU2ODM4MDE0OTYzLFxuICAgIDAuMDc2MTg1MzgxNDgxMzA3ODUsXG4gICAgMC4wNzgxODc0MjE4MDUxODYzMyxcbiAgICAwLjA4MDIxOTgyMDMxNDQ2ODMyLFxuICAgIDAuMDgyMjgyNzA3MTI5ODE0OCxcbiAgICAwLjA4NDM3NjIxMTU0NDE0ODgyLFxuICAgIDAuMDg2NTAwNDYyMDM2NTQ5NzYsXG4gICAgMC4wODg2NTU1ODYyODU3NzI5NCxcbiAgICAwLjA5MDg0MTcxMTE4MzQwNzY4LFxuICAgIDAuMDkzMDU4OTYyODQ2Njg3NDUsXG4gICAgMC4wOTUzMDc0NjY2MzA5NjQ3LFxuICAgIDAuMDk3NTg3MzQ3MTQxODYyNDYsXG4gICAgMC4wOTk4OTg3MjgyNDcxMTM4OSxcbiAgICAwLjEwMjI0MTczMzA4ODEwMTMyLFxuICAgIDAuMTA0NjE2NDg0MDkxMTA0MTksXG4gICAgMC4xMDcwMjMxMDI5NzgyNjc2MSxcbiAgICAwLjEwOTQ2MTcxMDc3ODI5OTMzLFxuICAgIDAuMTExOTMyNDI3ODM2OTA1NixcbiAgICAwLjExNDQzNTM3MzgyNjk3MzczLFxuICAgIDAuMTE2OTcwNjY3NzU4NTEwODQsXG4gICAgMC4xMTk1Mzg0Mjc5ODgzNDU2MixcbiAgICAwLjEyMjEzODc3MjIyOTYwMTg3LFxuICAgIDAuMTI0NzcxODE3NTYwOTUwNDksXG4gICAgMC4xMjc0Mzc2ODA0MzU2NDc0MyxcbiAgICAwLjEzMDEzNjQ3NjY5MDM2NDMsXG4gICAgMC4xMzI4NjgzMjE1NTM4MTc5OCxcbiAgICAwLjEzNTYzMzMyOTY1NTIwNTY2LFxuICAgIDAuMTM4NDMxNjE1MDMyNDUxODMsXG4gICAgMC4xNDEyNjMyOTExNDAyNzE2NCxcbiAgICAwLjE0NDEyODQ3MDg1ODA1Nzc3LFxuICAgIDAuMTQ3MDI3MjY2NDk3NTk0OTgsXG4gICAgMC4xNDk5NTk3ODk4MTA2MDg1NixcbiAgICAwLjE1MjkyNjE1MTk5NjE1MDE3LFxuICAgIDAuMTU1OTI2NDYzNzA3ODI3NCxcbiAgICAwLjE1ODk2MDgzNTA2MDg4MDQsXG4gICAgMC4xNjIwMjkzNzU2MzkxMTEsXG4gICAgMC4xNjUxMzIxOTQ1MDE2Njc2LFxuICAgIDAuMTY4MjY5NDAwMTg5NjkwNzUsXG4gICAgMC4xNzE0NDExMDA3MzI4MjI2LFxuICAgIDAuMTc0NjQ3NDAzNjU1NTg1MDQsXG4gICAgMC4xNzc4ODg0MTU5ODM2MjkxMixcbiAgICAwLjE4MTE2NDI0NDI0OTg2MDIyLFxuICAgIDAuMTg0NDc0OTk0NTAwNDQxLFxuICAgIDAuMTg3ODIwNzcyMzAwNjc3ODcsXG4gICAgMC4xOTEyMDE2ODI3NDA3OTEzOCxcbiAgICAwLjE5NDYxNzgzMDQ0MTU3NTgsXG4gICAgMC4xOTgwNjkzMTk1NTk5NDg4NixcbiAgICAwLjIwMTU1NjI1Mzc5NDM5NzA3LFxuICAgIDAuMjA1MDc4NzM2MzkwMzE2OTMsXG4gICAgMC4yMDg2MzY4NzAxNDUyNTU3NSxcbiAgICAwLjIxMjIzMDc1NzQxNDA1NTIzLFxuICAgIDAuMjE1ODYwNTAwMTEzODk5MjYsXG4gICAgMC4yMTk1MjYxOTk3MjkyNjkyLFxuICAgIDAuMjIzMjI3OTU3MzE2ODA4NSxcbiAgICAwLjIyNjk2NTg3MzUxMDA5ODM2LFxuICAgIDAuMjMwNzQwMDQ4NTI0MzQ5MTUsXG4gICAgMC4yMzQ1NTA1ODIxNjEwMDUyMixcbiAgICAwLjIzODM5NzU3MzgxMjI3MSxcbiAgICAwLjI0MjI4MTEyMjQ2NTU1NDg2LFxuICAgIDAuMjQ2MjAxMzI2NzA3ODM1NDgsXG4gICAgMC4yNTAxNTgyODQ3Mjk5NTM0NCxcbiAgICAwLjI1NDE1MjA5NDMzMDgyNjc1LFxuICAgIDAuMjU4MTgyODUyOTIxNTk1OCxcbiAgICAwLjI2MjI1MDY1NzUyOTY5NjIzLFxuICAgIDAuMjY2MzU1NjA0ODAyODYyNDcsXG4gICAgMC4yNzA0OTc3OTEwMTMwNjU4LFxuICAgIDAuMjc0Njc3MzEyMDYwMzg0NjUsXG4gICAgMC4yNzg4OTQyNjM0NzY4MTA0LFxuICAgIDAuMjgzMTQ4NzQwNDI5OTkyMSxcbiAgICAwLjI4NzQ0MDgzNzcyNjkxNzUsXG4gICAgMC4yOTE3NzA2NDk4MTc1MzU4NyxcbiAgICAwLjI5NjEzODI3MDc5ODMyMTEsXG4gICAgMC4zMDA1NDM3OTQ0MTU3NzY1LFxuICAgIDAuMzA0OTg3MzE0MDY5ODg2MyxcbiAgICAwLjMwOTQ2ODkyMjgxNzUwODU0LFxuICAgIDAuMzEzOTg4NzEzMzc1NzE3NTQsXG4gICAgMC4zMTg1NDY3NzgxMjUwOTE4NixcbiAgICAwLjMyMzE0MzIwOTExMjk1MDc1LFxuICAgIDAuMzI3Nzc4MDk4MDU2NTQyMixcbiAgICAwLjMzMjQ1MTUzNjM0NjE3OTM1LFxuICAgIDAuMzM3MTYzNjE1MDQ4MzMwMzcsXG4gICAgMC4zNDE5MTQ0MjQ5MDg2NjA5LFxuICAgIDAuMzQ2NzA0MDU2MzU1MDI5NixcbiAgICAwLjM1MTUzMjU5OTUwMDQzOTM2LFxuICAgIDAuMzU2NDAwMTQ0MTQ1OTQzNSxcbiAgICAwLjM2MTMwNjc3OTc4MzUwOTUsXG4gICAgMC4zNjYyNTI1OTU1OTg4Mzk1LFxuICAgIDAuMzcxMjM3NjgwNDc0MTQ5MSxcbiAgICAwLjM3NjI2MjEyMjk5MDkwNjUsXG4gICAgMC4zODEzMjYwMTE0MzI1MzAxNCxcbiAgICAwLjM4NjQyOTQzMzc4NzA0OSxcbiAgICAwLjM5MTU3MjQ3Nzc0OTcyMzI2LFxuICAgIDAuMzk2NzU1MjMwNzI1NjI2ODUsXG4gICAgMC40MDE5Nzc3Nzk4MzIxOTU4LFxuICAgIDAuNDA3MjQwMjExOTAxNzM2NyxcbiAgICAwLjQxMjU0MjYxMzQ4MzkwMzc1LFxuICAgIDAuNDE3ODg1MDcwODQ4MTM3NSxcbiAgICAwLjQyMzI2NzY2OTk4NjA3MTcsXG4gICAgMC40Mjg2OTA0OTY2MTM5MDY2LFxuICAgIDAuNDM0MTUzNjM2MTc0NzQ4OTUsXG4gICAgMC40Mzk2NTcxNzM4NDA5MTg4LFxuICAgIDAuNDQ1MjAxMTk0NTE2MjI3ODYsXG4gICAgMC40NTA3ODU3ODI4MzgyMjM0NixcbiAgICAwLjQ1NjQxMTAyMzE4MDQwNDY2LFxuICAgIDAuNDYyMDc2OTk5NjU0NDA3MSxcbiAgICAwLjQ2Nzc4Mzc5NjExMjE1OSxcbiAgICAwLjQ3MzUzMTQ5NjE0ODAwOTU1LFxuICAgIDAuNDc5MzIwMTgzMTAwODI2OCxcbiAgICAwLjQ4NTE0OTk0MDA1NjA3MDQsXG4gICAgMC40OTEwMjA4NDk4NDc4MzU2LFxuICAgIDAuNDk2OTMyOTk1MDYwODcwNCxcbiAgICAwLjUwMjg4NjQ1ODAzMjU2ODcsXG4gICAgMC41MDg4ODEzMjA4NTQ5MzM4LFxuICAgIDAuNTE0OTE3NjY1Mzc2NTIxNCxcbiAgICAwLjUyMDk5NTU3MzIwNDM1NDMsXG4gICAgMC41MjcxMTUxMjU3MDU4MTMxLFxuICAgIDAuNTMzMjc2NDA0MDEwNTA1MixcbiAgICAwLjUzOTQ3OTQ4OTAxMjEwNzIsXG4gICAgMC41NDU3MjQ0NjEzNzAxODY2LFxuICAgIDAuNTUyMDExNDAxNTEyMDAwMSxcbiAgICAwLjU1ODM0MDM4OTYzNDI2NzksXG4gICAgMC41NjQ3MTE1MDU3MDQ5MjkyLFxuICAgIDAuNTcxMTI0ODI5NDY0ODczMSxcbiAgICAwLjU3NzU4MDQ0MDQyOTY1MDYsXG4gICAgMC41ODQwNzg0MTc4OTExNjQxLFxuICAgIDAuNTkwNjE4ODQwOTE5MzM2OSxcbiAgICAwLjU5NzIwMTc4ODM2Mzc2MzQsXG4gICAgMC42MDM4MjczMzg4NTUzMzc4LFxuICAgIDAuNjEwNDk1NTcwODA3ODY0OCxcbiAgICAwLjYxNzIwNjU2MjQxOTY1MTEsXG4gICAgMC42MjM5NjAzOTE2NzUwNzYxLFxuICAgIDAuNjMwNzU3MTM2MzQ2MTQ2OCxcbiAgICAwLjYzNzU5Njg3Mzk5NDAzMjYsXG4gICAgMC42NDQ0Nzk2ODE5NzA1ODIxLFxuICAgIDAuNjUxNDA1NjM3NDE5ODI0MixcbiAgICAwLjY1ODM3NDgxNzI3OTQ0ODUsXG4gICAgMC42NjUzODcyOTgyODIyNzIsXG4gICAgMC42NzI0NDMxNTY5NTc2ODc1LFxuICAgIDAuNjc5NTQyNDY5NjMzMDkzOCxcbiAgICAwLjY4NjY4NTMxMjQzNTMxMzUsXG4gICAgMC42OTM4NzE3NjEyOTE5ODk5LFxuICAgIDAuNzAxMTAxODkxOTMyOTczMSxcbiAgICAwLjcwODM3NTc3OTg5MTY4NjgsXG4gICAgMC43MTU2OTM1MDA1MDY0ODA3LFxuICAgIDAuNzIzMDU1MTI4OTIxOTY5MyxcbiAgICAwLjczMDQ2MDc0MDA5MDM1MzcsXG4gICAgMC43Mzc5MTA0MDg3NzI3MzA4LFxuICAgIDAuNzQ1NDA0MjA5NTQwMzg3NCxcbiAgICAwLjc1Mjk0MjIxNjc3NjA3NzksXG4gICAgMC43NjA1MjQ1MDQ2NzUyOTI0LFxuICAgIDAuNzY4MTUxMTQ3MjQ3NTA3LFxuICAgIDAuNzc1ODIyMjE4MzE3NDIzNixcbiAgICAwLjc4MzUzNzc5MTUyNjE5MzUsXG4gICAgMC43OTEyOTc5NDAzMzI2MzAyLFxuICAgIDAuNzk5MTAyNzM4MDE0NDA5LFxuICAgIDAuODA2OTUyMjU3NjY5MjUxNixcbiAgICAwLjgxNDg0NjU3MjIxNjEwMTIsXG4gICAgMC44MjI3ODU3NTQzOTYyODM1LFxuICAgIDAuODMwNzY5ODc2Nzc0NjU0NixcbiAgICAwLjgzODc5OTAxMTc0MDc0LFxuICAgIDAuODQ2ODczMjMxNTA5ODU4LFxuICAgIDAuODU0OTkyNjA4MTI0MjMzOCxcbiAgICAwLjg2MzE1NzIxMzQ1NDEwMjMsXG4gICAgMC44NzEzNjcxMTkxOTg3OTcyLFxuICAgIDAuODc5NjIyMzk2ODg3ODMxNyxcbiAgICAwLjg4NzkyMzExNzg4MTk2NjMsXG4gICAgMC44OTYyNjkzNTMzNzQyNjY0LFxuICAgIDAuOTA0NjYxMTc0MzkxMTQ5NixcbiAgICAwLjkxMzA5ODY1MTc5MzQxOTIsXG4gICAgMC45MjE1ODE4NTYyNzcyOTQ2LFxuICAgIDAuOTMwMTEwODU4Mzc1NDIzNyxcbiAgICAwLjkzODY4NTcyODQ1Nzg4OCxcbiAgICAwLjk0NzMwNjUzNjczMzE5OTksXG4gICAgMC45NTU5NzMzNTMyNDkyODYxLFxuICAgIDAuOTY0Njg2MjQ3ODk0NDY1MSxcbiAgICAwLjk3MzQ0NTI5MDM5ODQxMjUsXG4gICAgMC45ODIyNTA1NTAzMzMxMTcxLFxuICAgIDAuOTkxMTAyMDk3MTEzODI5OCxcbiAgICAxLjAsXG4pO1xuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBURVNUSU5HIEZVTkNUSU9OU1xuLy8vIEBncm91cCB0ZXN0aW5nXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBBc3NlcnQgZXF1YWxpdHkgb24gdW5pdCB0ZXN0c1xuLy8vXG4vLy8gQGFyZyAkZnN0IC0gRmlyc3QgYXJndW1lbnRcbi8vLyBAYXJnICRzbmQgLSBTZWNvbmQgYXJndW1lbnRcbi8vLyBAYXJnICRtc2cgLSBPcHRpb25hbCBtZXNzYWdlXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICAkZG86IGFzc2VydC1lcShqb2luKGhlbGxvLCB3b3JsZCksIGhlbGxvIHdvcmxkKTtcbkBmdW5jdGlvbiBhc3NlcnQtZXEoJGZzdCwgJHNuZCwgJG1zZzogJ0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAaWYgJGZzdCAhPSAkc25kIHtcbiAgICAgICAgQGVycm9yICcjeyRtc2d9OiBleHBlY3QgXCIje2luc3BlY3QoJHNuZCl9XCIsIGJ1dCBnb3QgXCIje2luc3BlY3QoJGZzdCl9XCIuJztcbiAgICB9XG4gICAgQHJldHVybiAkZnN0O1xufVxuXG4vLy8gQXNzZXJ0IGZuIHJldHVybnMgdHJ1ZSB3aGVuIGNhbGxlZCB3aXRoIGJvdGggYXJndW1lbnRzLlxuLy8vXG4vLy8gQGFyZyAkZm4gLSBGdW5jdGlvblxuLy8vIEBhcmcgJGZzdCAtIEZpcnN0IGFyZ3VtZW50XG4vLy8gQGFyZyAkc25kIC0gU2Vjb25kIGFyZ3VtZW50XG4vLy8gQGFyZyAkbXNnIC0gT3B0aW9uYWwgbWVzc2FnZVxuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICAgJGRvOiBhc3NlcnQtZm4oZ3QsIDIsIDMpO1xuQGZ1bmN0aW9uIGFzc2VydC1mbigkZm4sICRmc3QsICRzbmQsICRtc2c6ICdBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQGlmIGNhbGwtZm4oJGZuLCAkZnN0LCAkc25kKSB7XG4gICAgICAgIEByZXR1cm4gJGZzdDtcbiAgICB9XG4gICAgQGVycm9yICcjeyRtc2d9OiBjb25kaXRpb24gI3skZm59IG5vdCBtZXQgd2l0aCBcIiN7aW5zcGVjdCgkZnN0KX1cIiBhbmQgXCIje2luc3BlY3QoJHNuZCl9XCIuJztcbn1cblxuQGZ1bmN0aW9uIGFzc2VydC1ndCgkZnN0LCAkc25kLCAkbXNnOidBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQHJldHVybiBhc3NlcnQtZm4oZ3QsICRmc3QsICRzbmQsICRtc2cpXG59XG5cbkBmdW5jdGlvbiBhc3NlcnQtbHQoJGZzdCwgJHNuZCwgJG1zZzonQXNzZXJ0aW9uIGVycm9yJykge1xuICAgIEByZXR1cm4gYXNzZXJ0LWZuKGx0LCAkZnN0LCAkc25kLCAkbXNnKVxufVxuXG5AZnVuY3Rpb24gYXNzZXJ0LWdlKCRmc3QsICRzbmQsICRtc2c6J0Fzc2VydGlvbiBlcnJvcicpIHtcbiAgICBAcmV0dXJuIGFzc2VydC1mbihnZSwgJGZzdCwgJHNuZCwgJG1zZylcbn1cblxuQGZ1bmN0aW9uIGFzc2VydC1sZSgkZnN0LCAkc25kLCAkbXNnOidBc3NlcnRpb24gZXJyb3InKSB7XG4gICAgQHJldHVybiBhc3NlcnQtZm4obGUsICRmc3QsICRzbmQsICRtc2cpXG59XG5cbi8vLyBBc3NlcnQgYXBwcm94aW1hdGUgbnVtZXJpY2FsIGVxdWFsaXR5XG4vLy9cbi8vLyBAYXJnICRmc3QgLSBGaXJzdCBhcmd1bWVudFxuLy8vIEBhcmcgJHNuZCAtIFNlY29uZCBhcmd1bWVudFxuLy8vIEBhcmcgJHRvbCAtIE1heGltdW0gdG9sZXJhbmNlXG4vLy8gQGFyZyAkbXNnIC0gT3B0aW9uYWwgbWVzc2FnZVxuLy8vIEBleGFtcGxlIHNjc3Ncbi8vLyAgICAgJGRvOiBhc3NlcnQtZXEoam9pbihoZWxsbywgd29ybGQpLCBoZWxsbyB3b3JsZCk7XG5AZnVuY3Rpb24gYXNzZXJ0LXNpbWVxKCRmc3QsICRzbmQsICR0b2w6IDAuMDAwMDAxLCAkbXNnOiAnQXNzZXJ0aW9uIGVycm9yJykge1xuICAgIEBpZiBhYnMoJGZzdCAtICRzbmQpID4gJHRvbCB7XG4gICAgICAgIEBlcnJvciAnI3skbXNnfTogZXhwZWN0IFwiI3tpbnNwZWN0KCRzbmQpfVwiLCBidXQgZ290IFwiI3tpbnNwZWN0KCRmc3QpfVwiLic7XG4gICAgfVxuICAgIEByZXR1cm4gJGZzdDtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gRGVmYXVsdCBjb25maWd1cmF0aW9uIG1hcFxuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8gQGdyb3VwIENvbmZpZ1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ3N0YWNrLWZvbnQnO1xuQGltcG9ydCAnc3RhY2stY29sb3InO1xuQGltcG9ydCAnYmFzZSc7XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRk9OVCBTVEFDS1Ncbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEZPTlQgTkFNRVNcblxuLy8gU3lzdGVtIGZvbnRzXG4kZm9udC1zdGFjay1zeXN0ZW0tZm9udDogLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCDigJxTZWdvZSBVSeKAnSwg4oCcT3h5Z2Vu4oCdLCDigJxVYnVudHXigJ0sIOKAnENhbnRhcmVsbOKAnSwg4oCcUm9ib3Rv4oCdLCDigJxGaXJhIFNhbnPigJ0sIOKAnERyb2lkIFNhbnPigJ0sIOKAnEhlbHZldGljYSBOZXVl4oCdLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBTYW5zLXNlcmlmXG4kZm9udC1zdGFjay1zeXN0ZW0tc2Fuczogc2Fucy1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLXJvYm90bzogXCJSb2JvdG9cIiwgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCDigJxTZWdvZSBVSeKAnSwg4oCcT3h5Z2Vu4oCdLCDigJxVYnVudHXigJ0sIOKAnENhbnRhcmVsbOKAnSwg4oCcRmlyYSBTYW5z4oCdLCDigJxEcm9pZCBTYW5z4oCdLCDigJxIZWx2ZXRpY2EgTmV1ZeKAnSwgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1vcGVuLXNhbnM6IFwiT3BlbiBTYW5zXCIsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stZXhvOiBcIkV4b1wiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLXJhbGV3YXk6IFwiUmFsZXdheVwiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWxhdG86IFwiTGF0b1wiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLXBhdHVhLW9uZTogXCJQYXR1YSBPbmVcIiwgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1pYm0tcGxleC1zYW5zOiAnSUJNIFBsZXggU2FucycsICRmb250LXN0YWNrLXN5c3RlbS1zYW5zICFkZWZhdWx0O1xuXG4vLyBTYW5zIENvbmRlbnNlZFxuJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMtY29uZGVuc2VkOiAkZm9udC1zdGFjay1zeXN0ZW0tc2FucyAhZGVmYXVsdDtcbiRmb250LXN0YWNrLW9wZW4tc2Fucy1jb25kZW5zZWQ6IFwiT3BlbiBTYW5zIENvbmRlbnNlZFwiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2Fucy1jb25kZW5zZWQgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1pYm0tcGxleC1zYW5zLWNvbmRlbnNlZDogJ0lCTSBQbGV4IFNhbnMgQ29uc2Vuc2VkJywgJGZvbnQtc3RhY2stc3lzdGVtLXNhbnMgIWRlZmF1bHQ7XG5cbi8vIFNlcmlmXG4kZm9udC1zdGFjay1zeXN0ZW0tc2VyaWY6IHNlcmlmICFkZWZhdWx0O1xuJGZvbnQtc3RhY2stZ2VvcmdpYTogXCJHZW9yZ2lhXCIsICRmb250LXN0YWNrLXN5c3RlbS1zZXJpZiAhZGVmYXVsdDtcbiRmb250LXN0YWNrLXRpbWVzOiBcIlRpbWVzIE5ldyBSb21hblwiLCAkZm9udC1zdGFjay1zeXN0ZW0tc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1pYm0tcGxleC1zZXJpZjogJ0lCTSBQbGV4IFNlcmlmJywgJGZvbnQtc3RhY2stc3lzdGVtLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBDdXJzaXZlXG4kZm9udC1zdGFjay1zeXN0ZW0tY3Vyc2l2ZTogY3Vyc2l2ZSAhZGVmYXVsdDtcbiRmb250LXN0YWNrLWNvbWljLXNhbnM6IFwiQ29taWMgU2Fuc1wiLCAkZm9udC1zdGFjay1zeXN0ZW0tY3Vyc2l2ZSAhZGVmYXVsdDtcblxuLy8gTW9ub3NwYWNlXG4kZm9udC1zdGFjay1zeXN0ZW0tbW9ub3NwYWNlOiBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1pYm0tcGxleC1tb25vOiBcIklCTSBQbGV4IE1vbm9cIiwgJGZvbnQtc3RhY2stc3lzdGVtLW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8gSWNvbnNcbiRmb250LXN0YWNrLWZvbnQtYXdlc29tZTogXCJGb250IEF3ZXNvbWUgNSBGcmVlXCIgIWRlZmF1bHQ7XG4kZm9udC1zdGFjay1tYXRlcmlhbC1pY29uczogXCJNYXRlcmlhbCBJY29uc1wiICFkZWZhdWx0O1xuXG4kbWVuZGVsZWV2LXR5cGVmYWNlOiBudWxsICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jdXJzaXZlOiAkZm9udC1zdGFjay1zeXN0ZW0tY3Vyc2l2ZSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtbW9ub3NwYWNlOiAkZm9udC1zdGFjay1pYm0tcGxleC1tb25vICFkZWZhdWx0O1xuJG1lbmRlbGVldi1zYW5zLXNlcmlmOiAkZm9udC1zdGFjay1leG8gIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXNlcmlmOiAkZm9udC1zdGFjay1pYm0tcGxleC1zZXJpZiAhZGVmYXVsdDtcbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT0xPUiBOQU1FUyBBTkQgREVGQVVMVCBWQUxVRVNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFdoaXRlc1xuJGNvbG9yLWJsYWNrOiAjMTUxNTE1ICFkZWZhdWx0O1xuJGNvbG9yLXdoaXRlOiB3aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci1kYXJrOiAkY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItbGlnaHQ6ICRjb2xvci13aGl0ZSAhZGVmYXVsdDtcbiRjb2xvci1ncmV5OiAjYTc5ZDk2ICFkZWZhdWx0O1xuXG4kY29sb3ItcmVndWxhci10ZXh0OiAkY29sb3ItYmxhY2sgIWRlZmF1bHQ7XG4kY29sb3ItaW52ZXJzZS10ZXh0OiAkY29sb3Itd2hpdGUgIWRlZmF1bHQ7XG4kY29sb3ItYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlICFkZWZhdWx0O1xuJGNvbG9yLWludmVyc2UtYmFja2dyb3VuZDogJGNvbG9yLWJsYWNrICFkZWZhdWx0O1xuXG4kY29sb3ItbXV0ZWQtdGV4dDogbWl4KCRjb2xvci1yZWd1bGFyLXRleHQsICRjb2xvci1ncmV5LCA1MCUpICFkZWZhdWx0O1xuJGNvbG9yLW11dGVkLWJhY2tncm91bmQ6IG1peCgkY29sb3ItYmFja2dyb3VuZCwgJGNvbG9yLWdyZXksIDkwJSkgIWRlZmF1bHQ7XG4kY29sb3ItbXV0ZWQtaW52ZXJzZS10ZXh0OiBtaXgoJGNvbG9yLWludmVyc2UtdGV4dCwgJGNvbG9yLWdyZXksIDUwJSkgIWRlZmF1bHQ7XG4kY29sb3ItbXV0ZWQtaW52ZXJzZS1iYWNrZ3JvdW5kOiBtaXgoJGNvbG9yLWludmVyc2UtYmFja2dyb3VuZCwgJGNvbG9yLWdyZXksIDkwJSkgIWRlZmF1bHQ7XG5cbi8vIENvbG9yc1xuJGNvbG9yLXJlZDogI2RlMDExZSAhZGVmYXVsdDtcbiRjb2xvci1vcmFuZ2U6ICNmMjYyMDIgIWRlZmF1bHQ7XG4kY29sb3IteWVsbG93OiAjZmJiZDA4ICFkZWZhdWx0O1xuJGNvbG9yLW9saXZlOiAjYjVjYzE4ICFkZWZhdWx0O1xuJGNvbG9yLWdyZWVuOiAjMTZhYjM5ICFkZWZhdWx0O1xuJGNvbG9yLXRlYWw6ICMwMGI1YWQgIWRlZmF1bHQ7XG4kY29sb3ItYmx1ZTogIzAwNmQ5MyAhZGVmYXVsdDtcbiRjb2xvci12aW9sZXQ6ICMxYzAwNTIgIWRlZmF1bHQ7XG4kY29sb3ItcHVycGxlOiAjOTYyN2JhICFkZWZhdWx0O1xuJGNvbG9yLXBpbms6ICNlMDM5OTcgIWRlZmF1bHQ7XG4kY29sb3ItYnJvd246ICNhNTY3M2YgIWRlZmF1bHQ7XG5cbi8vIFJvbGVzXG4vLyRjb2xvci1icmFuZDogJGNvbG9yLXZpb2xldCAhZGVmYXVsdDtcbiRjb2xvci1icmFuZDogJGNvbG9yLXJlZCAhZGVmYXVsdDtcbiRjb2xvci1hY2NlbnQ6ICRjb2xvci12aW9sZXQgIWRlZmF1bHQ7XG4kY29sb3ItYWN0aW9uOiBtaXgoJGNvbG9yLWdyZXksICRjb2xvci13aGl0ZSkgIWRlZmF1bHQ7XG4kY29sb3ItcHJpbWFyeTogJGNvbG9yLWJyYW5kICFkZWZhdWx0O1xuJGNvbG9yLXNlY29uZGFyeTogJGNvbG9yLWFjY2VudCAhZGVmYXVsdDtcbiRjb2xvci1wb3NpdGl2ZTogJGNvbG9yLWdyZWVuICFkZWZhdWx0O1xuJGNvbG9yLW5lZ2F0aXZlOiAkY29sb3ItcmVkICFkZWZhdWx0O1xuJGNvbG9yLXdhcm5pbmc6ICRjb2xvci15ZWxsb3cgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgY29sb3IgcGFsZXR0ZVxuJG1lbmRlbGVldi1jb2xvci1wYWxldHRlOiAoKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZTogbWFwLW1lcmdlKChcbiAgICAvL1xuICAgIC8vIFdoaXRlc1xuICAgICdibGFjayc6ICRjb2xvci1ibGFjayxcbiAgICAnd2hpdGUnOiAkY29sb3Itd2hpdGUsXG4gICAgJ2xpZ2h0JzogJGNvbG9yLWxpZ2h0LFxuICAgICdkYXJrJzogJGNvbG9yLWRhcmssXG4gICAgJ2dyZXknOiAkY29sb3ItZ3JleSxcbiAgICAncmVndWxhci10ZXh0JzogJGNvbG9yLXJlZ3VsYXItdGV4dCxcbiAgICAnaW52ZXJzZS10ZXh0JzogJGNvbG9yLWludmVyc2UtdGV4dCxcbiAgICAnYmFja2dyb3VuZCc6ICRjb2xvci1iYWNrZ3JvdW5kLFxuICAgICdpbnZlcnNlLWJhY2tncm91bmQnOiAkY29sb3ItaW52ZXJzZS1iYWNrZ3JvdW5kLFxuICAgICdtdXRlZC10ZXh0JzogJGNvbG9yLW11dGVkLXRleHQsXG4gICAgJ211dGVkLWludmVyc2UtdGV4dCc6ICRjb2xvci1tdXRlZC1pbnZlcnNlLXRleHQsXG4gICAgJ211dGVkLWJhY2tncm91bmQnOiAkY29sb3ItbXV0ZWQtYmFja2dyb3VuZCxcbiAgICAnbXV0ZWQtaW52ZXJzZS1iYWNrZ3JvdW5kJzogJGNvbG9yLW11dGVkLWludmVyc2UtYmFja2dyb3VuZCxcbiAgICAvL1xuICAgIC8vIENvbG9yc1xuICAgICdyZWQnOiAkY29sb3ItcmVkLFxuICAgICdvcmFuZ2UnOiAkY29sb3Itb3JhbmdlLFxuICAgICd5ZWxsb3cnOiAkY29sb3IteWVsbG93LFxuICAgICdvbGl2ZSc6ICRjb2xvci1vbGl2ZSxcbiAgICAnZ3JlZW4nOiAkY29sb3ItZ3JlZW4sXG4gICAgJ3RlYWwnOiAkY29sb3ItdGVhbCxcbiAgICAnYmx1ZSc6ICRjb2xvci1ibHVlLFxuICAgICd2aW9sZXQnOiAkY29sb3ItdmlvbGV0LFxuICAgICdwdXJwbGUnOiAkY29sb3ItcHVycGxlLFxuICAgICdwaW5rJzogJGNvbG9yLXBpbmssXG4gICAgJ2Jyb3duJzogJGNvbG9yLWJyb3duLFxuICAgIC8vXG4gICAgLy8gIFJvbGVzXG4gICAgJ2JyYW5kJzogJGNvbG9yLWJyYW5kLFxuICAgICdhY2NlbnQnOiAkY29sb3ItYWNjZW50LFxuICAgICdhY3Rpb24nOiAkY29sb3ItYWN0aW9uLFxuICAgICdwcmltYXJ5JzogJGNvbG9yLXByaW1hcnksXG4gICAgJ3NlY29uZGFyeSc6ICRjb2xvci1zZWNvbmRhcnksXG4gICAgJ3Bvc2l0aXZlJzogJGNvbG9yLXBvc2l0aXZlLFxuICAgICduZWdhdGl2ZSc6ICRjb2xvci1uZWdhdGl2ZSxcbiAgICAnd2FybmluZyc6ICRjb2xvci13YXJuaW5nLFxuKSwgJG1lbmRlbGVldi1jb2xvci1wYWxldHRlKTtcblxuLy8gRGVmYXVsdCBjb250cmFzdCBvdmVycmlkZXNcbiRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6IChcbiAgICAjMzNjM2YwOiAkY29sb3Itd2hpdGUsXG4gICAgIzAwYjVhZDogJGNvbG9yLXdoaXRlLFxuICAgICNiNWNjMTg6ICRjb2xvci13aGl0ZSxcbikgIWRlZmF1bHQ7XG5cbiRtZW5kZWxlZXYtY29sb3ItYnJhbmQ6ICRjb2xvci1icmFuZDtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gQmFzZSBjb25maWd1cmF0aW9uXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLyBAZ3JvdXAgQ29uZmlnXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuQGltcG9ydCAnLi4vZm4nO1xuXG4kbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0OiAkZm4tZW1wdHktbWFwICFkZWZhdWx0O1xuJG1lbmRlbGVldi1jb2xvci1wYWxldHRlOiAkZm4tZW1wdHktbWFwICFkZWZhdWx0O1xuJG1lbmRlbGVldi10eXBlZmFjZTogbnVsbCAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY3Vyc2l2ZTogY3Vyc2l2ZSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtbW9ub3NwYWNlOiBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXNhbnMtc2VyaWY6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXNlcmlmOiBzZXJpZiAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY29sb3ItYnJhbmQ6IGJsYWNrICFkZWZhdWx0O1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09ORklHVVJBVElPTiBESUNUSU9OQVJZXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gTWFpbiBjb25maWd1cmF0aW9uIGRpY3Rpb25hcnkuIFlvdSBjdXN0b21pemUgTWVuZGVsZWV2IGJ5IHNldHRpbmcgdmFsdWVzXG4vLy8gdG8gdGhpcyBkaWN0aW9uYXJ5LlxuJGNvbmZpZzogKCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbmZpZ3VyYXRpb24gb3B0aW9ucy5cbi8vLyBUaGlzIG1hcCBjb250YWlucyBhbGwgZGVmYXVsdCB2YWx1ZXMgZm9yIGNvbmZpZ3VyYXRpb25zIHRoYXQgY2FuIGJlXG4vLy8gb3ZlcnJpZGRlbiBieSB0aGUgYCRjb25maWdgIG9yIGAkY29uZmlnLWRlZmF1bHRzYCBtYXBwaW5ncy5cbiRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZTogdHJ1ZSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY29uZmlnOiAoXG4gICAgLy9cbiAgICAvLyBHTE9CQUxcbiAgICAnYnJlYWtwb2ludHMnOiAoXG4gICAgICAgICdzbSc6IDMwcmVtLFxuICAgICAgICAnbWQnOiA1MHJlbSxcbiAgICAgICAgJ2xnJzogNzVyZW0sXG4gICAgKSxcbiAgICAndXRpbGl0aWVzJzogKFxuICAgICAgICAnaW1wb3J0YW50JzogdHJ1ZSxcbiAgICAgICAgJ2VtaXQnOiAncmVzcGVjdCcsXG4gICAgKSxcbiAgICAvL1xuICAgIC8vIFRZUE9HUkFQSFlcbiAgICAndHlwb2dyYXBoeSc6IChcbiAgICAgICAgLy9cbiAgICAgICAgLy8gR2VuZXJpY1xuICAgICAgICAnbW9kdWxlcyc6IChcbiAgICAgICAgICAgICdoZWFkaW5ncyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdwYXJhZ3JhcGgnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnc2NhbGUnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnbGVhZGluZyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdtZWFzdXJlJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ2luZGVudCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgICAgICdhbGlnbm1lbnQnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnc3R5bGVzJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ3dlaWdodHMnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnZm9udHMnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICAgICAnZGlyZWN0aW9uJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAgICAgJ3doaXRlLXNwYWNlJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICApLFxuICAgICAgICAvL1xuICAgICAgICAvLyBUeXBlZmFjZXNcbiAgICAgICAgJ3R5cGVmYWNlJzogJG1lbmRlbGVldi10eXBlZmFjZSxcbiAgICAgICAgJ2N1cnNpdmUnOiAkbWVuZGVsZWV2LWN1cnNpdmUsXG4gICAgICAgICdtb25vc3BhY2UnOiAkbWVuZGVsZWV2LW1vbm9zcGFjZSxcbiAgICAgICAgJ3NhbnMtc2VyaWYnOiAkbWVuZGVsZWV2LXNhbnMtc2VyaWYsXG4gICAgICAgICdzZXJpZic6ICRtZW5kZWxlZXYtc2VyaWYsXG4gICAgICAgIC8vXG4gICAgICAgIC8vIFZlcnRpY2FsIHJoeXRobSBhbmQgbW9kdWxhciBzY2FsZVxuICAgICAgICAnc2l6ZSc6IChcbiAgICAgICAgICAgICdzdGFydCc6IDE2LFxuICAgICAgICAgICAgJ21kJzogMTcsXG4gICAgICAgICAgICAnbGcnOiAxOCxcbiAgICAgICAgKSxcbiAgICAgICAgJ2xlYWQnOiAxLjUsXG4gICAgICAgICdoZWFkaW5nLWxlYWQnOiAxLjI1MCxcbiAgICAgICAgJ3NjYWxlJzogKFxuICAgICAgICAgICAgJ3N0YXJ0JzogOS84LFxuICAgICAgICAgICAgJ3NtJzogKDkvNCArIDUvNCkgLyAzLFxuICAgICAgICAgICAgJ21kJzogKDkvOCArIDUvMikgLyAzLFxuICAgICAgICAgICAgJ2xnJzogNS80LFxuICAgICAgICApLFxuICAgICAgICAvL1xuICAgICAgICAvLyBPdmVycmlkZGVuIHByb3BlcnRpZXNcbiAgICAgICAgJ2JvZHknOiAoKSxcbiAgICAgICAgJ3BhcmFncmFwaCc6ICgpLFxuICAgICAgICAnaGVhZGluZ3MnOiAoXG4gICAgICAgICAgICAnbGV0dGVyLXNwYWNpbmcnOiAtMC4wM2VtLFxuICAgICAgICAgICAgJ2ZvbnQtd2VpZ2h0JzogOTAwLFxuICAgICAgICAgICAgJ2NvbG9yJzogJG1lbmRlbGVldi1jb2xvci1icmFuZCxcbiAgICAgICAgKSxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gQ09MT1JTXG4gICAgJ3BhbGV0dGUnOiAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsXG4gICAgJ2NvbnRyYXN0JzogJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCxcbiAgICAnY29sb3InOiAoXG4gICAgICAgICdjb250cmFzdC1iaWFzJzogMC4xMjUsXG4gICAgICAgICdyb2xlcyc6IChcbiAgICAgICAgICAgICdwcmltYXJ5JywgJ3NlY29uZGFyeScsICdhY3Rpb24nLFxuICAgICAgICAgICAgJ3Bvc2l0aXZlJywgJ25lZ2F0aXZlJywgJ3dhcm5pbmcnLFxuICAgICAgICAgICAgJ2JsYWNrJywgJ3doaXRlJywgJ2dyZXknLCAncmVkJywgJ29yYW5nZScsICd5ZWxsb3cnLCAnb2xpdmUnLFxuICAgICAgICAgICAgJ2dyZWVuJywgJ3RlYWwnLCAnYmx1ZScsICd2aW9sZXQnLCAncHVycGxlJywgJ3BpbmsnLCAnYnJvd24nLFxuICAgICAgICApLFxuICAgICAgICAndGV4dCc6IChcbiAgICAgICAgICAgICdpbnZlcnNlJywgJ211dGVkJywgJ211dGVkLWludmVyc2UnLFxuICAgICAgICApLFxuICAgICAgICAndmFyaWFudHMnOiAoXG4gICAgICAgICAgICAnY29sb3JzJzogKFxuICAgICAgICAgICAgICAgICdicmFuZCcsICdhY2NlbnQnLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICdjb250cmFzdCc6IChcbiAgICAgICAgICAgICAgICAnbGlnaHQnOiAoJ3doaXRlJywgOTUlKSxcbiAgICAgICAgICAgICAgICAnZGFyayc6ICgnYmxhY2snLCA5NSUpLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICdsZXZlbHMnOiAoXG4gICAgICAgICAgICAgICAgJ2xpZ2h0ZXInOiAoJ3doaXRlJywgNzUlKSxcbiAgICAgICAgICAgICAgICAnbGlnaHQnOiAoJ3doaXRlJywgMzMlKSxcbiAgICAgICAgICAgICAgICAnZGFyayc6ICgnYmxhY2snLCAzMyUpLFxuICAgICAgICAgICAgICAgICdkYXJrZXInOiAoJ2JsYWNrJywgNzUlKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgKSxcbiAgICAvL1xuICAgIC8vIEFOSU1BVElPTlNcbiAgICAnYW5pbWF0aW9uJzogKFxuICAgICAgICAnZHVyYXRpb24nOiAzMDBtcyxcbiAgICAgICAgJ3RpbWluZy1mdW5jdGlvbic6IGVhc2UsXG4gICAgKSxcbiAgICAvL1xuICAgIC8vIEZPUk0gSVRFTVNcbiAgICAnaW5wdXQnOiAoXG4gICAgICAgICdjb2xvci1yb2xlJzogJ3doaXRlJyxcbiAgICAgICAgJ2JvcmRlcic6IDFweCBzb2xpZCxcbiAgICAgICAgJ2JvcmRlci1jb2xvcic6ICdhY3Rpb24nLFxuICAgICAgICAnYm9yZGVyLXJhZGl1cyc6IDAuMjUsXG4gICAgKSxcbiAgICAnYnV0dG9uJzogKFxuICAgICAgICAnY29sb3Itcm9sZSc6ICdhY3Rpb24nLFxuICAgICAgICAnYm9yZGVyJzogMXB4IHNvbGlkLFxuICAgICAgICAnYm9yZGVyLWNvbG9yJzogJ2FjdGlvbicsXG4gICAgICAgICdib3JkZXItcmFkaXVzJzogMC4yNSxcbiAgICAgICAgJ2ZvbnQtd2VpZ2h0JzogYm9sZCxcbiAgICApLFxuICAgIC8vXG4gICAgLy8gTEFZT1VUXG4gICAgJ2xheW91dCc6IChcbiAgICAgICAgJ2Rpc3BsYXknOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgICAgICdmbG9hdCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAgICAgJ3Bvc2l0aW9uJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAnY29udGFpbmVyJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICAgICAnb3ZlcmZsb3cnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgKSxcbiAgICAvL1xuICAgIC8vIE9USEVSIE1PRFVMRVNcbiAgICAnYmFja2dyb3VuZCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnYm9yZGVyJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdjb2xvcnMnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2ZsZXgnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ2ZsZXgtZ3JpZCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnZ3JpZCc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnaGFyZC1ncmlkJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdpbnRlcmFjdGl2aXR5JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdsaXN0JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdtYXJnaW4nOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3BhZGRpbmcnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3JvdW5kZWQnOiAkbWVuZGVsZWV2LWVuYWJsZS1tb2R1bGUsXG4gICAgJ3NoYWRvdyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAnc2l6aW5nJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICdzaXplcyc6ICRtZW5kZWxlZXYtZW5hYmxlLW1vZHVsZSxcbiAgICAndHJhbnNmb3JtJzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgICd2aXNpYmlsaXR5JzogJG1lbmRlbGVldi1lbmFibGUtbW9kdWxlLFxuICAgIC8vXG4gICAgLy8gRUxFTUVOVCBPVkVSUklERVNcbiAgICAnZWxlbWVudHMnOiAoKSxcbikgIWRlZmF1bHQ7XG5cbiIsCgkJIkBpbXBvcnQgJ3Byb2ZpbGVzL2RlZmF1bHQnO1xuQGltcG9ydCAncHJlbHVkZSc7XG5AaW1wb3J0ICdlbGVtZW50cyc7XG5AaW1wb3J0ICd1dGlsaXRpZXMnO1xuIiwKCQkiLy8gQ29uZmlndXJhdGlvblxuQGltcG9ydCAnZm4nO1xuQGltcG9ydCAncHJvZmlsZXMvYmFzZSc7XG5AaW1wb3J0ICdjb25maWcvbWl4aW5zJztcbkBpbXBvcnQgJ2NvbmZpZy9tb2R1bGVzJztcbkBpbXBvcnQgJ2NvbmZpZy9mdW5jdGlvbnMnO1xuXG4vLyBDb25zdGFudHNcbkBpbXBvcnQgJ2NvbnN0YW50cy9zdGF0aWMnO1xuQGltcG9ydCAnY29uc3RhbnRzL3ZhbHVlcyc7XG5AaW1wb3J0ICdjb25zdGFudHMvZ3JpZHMnO1xuQGltcG9ydCAnY29uc3RhbnRzL2NvbmZpZ3VyYWJsZSc7XG5cbi8vIExvYWQgcHJlbHVkZSBmdW5jdGlvbnNcbkBpbXBvcnQgJ3ByZWx1ZGUvc2l6ZXMnO1xuQGltcG9ydCAncHJlbHVkZS9jb2xvcic7XG5AaW1wb3J0ICdwcmVsdWRlL3R5cG9ncmFwaHknO1xuQGltcG9ydCAncHJlbHVkZS91dGlsaXRpZXMnO1xuXG4vLyBMb2FkIGRhdGEgaW50byByZWdpc3RyeVxuJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXM6IHRydWUgIWRlZmF1bHQ7XG5cbkBpbXBvcnQgJ3JlZ2lzdHJ5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAncmVnaXN0cnkvc2l6aW5nJztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L2xheW91dCc7XG5AaW1wb3J0ICdyZWdpc3RyeS9ib3JkZXJzJztcbkBpbXBvcnQgJ3JlZ2lzdHJ5L2ZsZXgnO1xuQGltcG9ydCAncmVnaXN0cnkvZ3JpZCc7XG5AaW1wb3J0ICdyZWdpc3RyeS90cmFuc2Zvcm1hdGlvbnMnO1xuQGltcG9ydCAncmVnaXN0cnkvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdyZWdpc3RyeS9taXNjJztcbkBpbXBvcnQgJ3ByZWx1ZGUvdXRpbGl0aWVzLWNhY2hlJztcblxuJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXM6IGZhbHNlO1xuJG1lbmRlbGVldi1wcmVsdWRlLWxvYWRlZDogdHJ1ZTtcblxuLy8gTm8gQ1NTIGdlbmVyYXRlZCB1cCB0byB0aGlzIHBvaW50XG5cbiIsCgkJIi8vLyBJbmNsdWRlIGRlY2xhcmF0aW9ucyBvbmx5IGZvciB0aGUgZ2l2ZW4gYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBhcmcgJGJwIC0gQnJlYWtwb2ludCBuYW1lIChlLmcuLCBzdGFydCwgc20sIG1kLCBsZywgZXRjKVxuLy8vIEBhcmcgJHByb3BlcnRpZXMgLSBBIG1hcCBvZiBwcm9wZXJ0aWVzXG4vLy8gQGFyZyAkc3VmZml4IC0gT3B0aW9uYWwgc3VmZml4IChlLmcuLCAhaW1wb3J0YW50KTtcbkBtaXhpbiBicmVha3BvaW50KCRicCwgJHByb3BlcnRpZXM6ICgpLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGlmICRicCA9PSAnc3RhcnQnIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIEBpbmNsdWRlIG9wdGlvbnMoJHByb3BlcnRpZXMsICRzdWZmaXg6ICRzdWZmaXgpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBjb25maWcoJ2JyZWFrcG9pbnRzLiN7JGJwfScpKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9wdGlvbnMoJHByb3BlcnRpZXMsICRzdWZmaXg6ICRzdWZmaXgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gSW5jbHVkZSBhbGwgcGFpcnMgb2YgKGtleTogdmFsdWUpIGluIG1hcCBhcyBDU1MgZGVjbGFyYXRpb25zLiBJZiB2YWx1ZSBpc1xuLy8vIGFub3RoZXIgbWFwLCBpbmNsdWRlIG5lc3RlZCB2YWx1ZXMuXG5AbWl4aW4gZnJvbS1tYXAoJG1hcCwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBlYWNoICRrLCAkdiBpbiAkbWFwIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHYpID09IG1hcCB7XG4gICAgICAgICAgICBAaWYgdHlwZS1vZigkaykgPT0gbGlzdCBhbmQgbnRoKCRrLCAxKSA9PSAnQG1lZGlhJyB7XG4gICAgICAgICAgICAgICAgJG1pbjogbWFwLWdldChudGgoJGssIDIpLCBtaW4td2lkdGgpO1xuICAgICAgICAgICAgICAgIEBpZiBub3QgJG1pbiB7XG4gICAgICAgICAgICAgICAgICAgIEBlcnJvciAnSW52YWxpZCBtZWRpYSBzcGVjaWZpY2F0aW9uOiAje250aCgkaywgMil9JztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3skbWlufSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmcm9tLW1hcCgkdiwgJHN1ZmZpeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgI3ska30ge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmcm9tLW1hcCgkdiwgJHN1ZmZpeCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIGlmICR2IHtcbiAgICAgICAgICAgICN7JGt9OiAkdiAkc3VmZml4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gSW5jbHVkZSB3aXRoIHRoZSBnaXZlbiBzZWxlY3RvciBhbmQgZGVmaW5lZCBieSBhIG1hcHBpbmcgb2YgcHJvcGVydHkgdG9cbi8vLyB2YWx1ZXMuXG5AbWl4aW4gc2ltcGxlLXV0aWxpdHktZGVjbGFyYXRpb24oJHNlbGVjdG9yLCAkZGF0YSwgJG1vZGUpIHtcbiAgICBAaWYgbW9kZSA9PSByZXNwb25zaXZlIHtcbiAgICAgICAgQGVycm9yICdOb3QgaW1wbGVtZW50ZWQnO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZnJvbS1tYXAoJGRhdGEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gTGlrZSBzaW1wbGUtdXRpbGl0eS1kZWNsYXJhdGlvbiwgYnV0IHJlY2VpdmVzIGEgbWFwcGluZyBvZiBzZWxlY3RvcnMgdG9cbi8vLyBkZWNsYXJhdGlvbnMuXG5AbWl4aW4gbXVsdGlwbGUtdXRpbGl0aWVzLWRlY2xhcmF0aW9uKCRkYXRhLCAkbW9kZSkge1xuICAgIEBlYWNoICRuYW1lLCAkZGVjbGFyYXRpb25zIGluICRkYXRhIHtcbiAgICAgICAgQGluY2x1ZGUgc2ltcGxlLXV0aWxpdHktZGVjbGFyYXRpb24oJG5hbWUsICRkZWNsYXJhdGlvbnMsICRtb2RlKTtcbiAgICB9XG59XG5cbiRtZW5kZWxlZXYtcmVnaXN0ZXJlZC11dGlsaXRpZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gTWl4aW4gdGhhdCBpbmNsdWRlcyBhbGwgcmVnaXN0ZXJlZCB1dGlsaXRpZXMuIFRoaXMgbWl4aW4gaXMgYXV0b21hdGljYWxseVxuLy8vIEV4ZWN1dGVkIHdoZW4gdGhlIG1lbmRlbGVldiB1dGlsaXRpZXMgbW9kdWxlIGlzIGltcG9ydGVkLlxuLy8vXG5AbWl4aW4gbWVuZGVsZWV2LXJlZ2lzdGVyLXV0aWxpdGllcygpIHtcbiAgICBAaWYgbm90ICRtZW5kZWxlZXYtcmVnaXN0ZXJlZC11dGlsaXRpZXMge1xuXG4gICAgICAgICRsc3Q6IGxzdC1yZXZlcnNlKCRtZW5kZWxlZXYtY3NzKTtcbiAgICAgICAgJGxzdDogbHN0LXN0aXRjaCgkbWVuZGVsZWV2LWNzcy1jbGFzc2VzLCAkbHN0KTtcblxuICAgICAgICBAd2hpbGUgJGxzdCB7XG4gICAgICAgICAgICAkaW5mbzogbnRoKCRsc3QsIDEpO1xuICAgICAgICAgICAgJGxzdDogbnRoKCRsc3QsIDIpO1xuXG4gICAgICAgICAgICAkdHlwZTogbWFwLWdldCgkaW5mbywgdHlwZSk7XG4gICAgICAgICAgICAkZW1pdDogbWFwLWdldCgkaW5mbywgZW1pdCk7XG4gICAgICAgICAgICAkZGF0YTogbWFwLWdldCgkaW5mbywgZGF0YSk7XG5cbiAgICAgICAgICAgIEBpZiAkZW1pdCB7XG4gICAgICAgICAgICAgICAgQGlmICR0eXBlPT0gbXVsdGlwbGUge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtdWx0aXBsZS11dGlsaXRpZXMtZGVjbGFyYXRpb24oJGRhdGEsICRtb2RlOiAkZW1pdCk7XG4gICAgICAgICAgICAgICAgfSBAZWxzZSBpZiAkdHlwZSA9PSBzaW1wbGUge1xuICAgICAgICAgICAgICAgICAgICAkbmFtZTogbWFwLWdldCgkaW5mbywgbmFtZSk7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHNpbXBsZS11dGlsaXR5LWRlY2xhcmF0aW9uKCRuYW1lLCAkZGF0YSwgJG1vZGU6ICRlbWl0KTtcbiAgICAgICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgQGVycm9yICdJbnZhbGlkIHR5cGU6ICN7JHR5cGV9J1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAkbWVuZGVsZWV2LXJlZ2lzdGVyZWQtdXRpbGl0aWVzOiB0cnVlICFnbG9iYWw7XG59XG5cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBERUNMQVJFIE1FTkRFTEVFViBNT0RVTEVTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IGRpY3Rpb25hcnkgd2l0aCBNZW5kZWxlZXYgc3RhdGUuXG4kbWVuZGVsZWV2LWNzczogbnVsbCAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY3NzLWNsYXNzZXM6IG51bGwgIWRlZmF1bHQ7XG5cbi8vLyBEZWNsYXJlIGEgTWVuZGVsZWV2IG1vZHVsZSBvZiBDU1MgZGVjbGFyYXRpb25zLlxuLy8vXG4vLy8gQGFyZyAkY2ZnIC0gU3RyaW5nIHBhdGggZm9yIHRoZSBjb25maWd1cmF0aW9uIG9wdGlvbiBpbiB0aGUgZ2xvYmFsXG4vLy8gICAgICAgICAgICAgTWVuZGVsZWV2IGNvbmZpZ1xuLy8vIEBhcmcgJHNwZWMgLSBEaWN0aW9uYXJ5IG9mIGRlY2xhcmF0aW9ucyBtYXBwaW5nIENTUyBzZWxlY3RvciB3aXRoIENTU1xuLy8vICAgICAgICAgICAgICBkZWZpbml0aW9uc1xuQGZ1bmN0aW9uIG1lbmRlbGVldi1tb2R1bGUoJGNmZywgJHNwZWMsICRpcy1jbGFzczogZmFsc2UpIHtcbiAgICAkZW1pdDogY29uZmlnKCRjZmcpO1xuICAgICRyZXM6IG51bGw7XG5cbiAgICBAZWFjaCAkc2VsZWN0b3IsICRkYXRhIGluICRzcGVjIHtcbiAgICAgICAgQGlmIHR5cGUtb2YoJGRhdGEpID09IG1hcCB7XG4gICAgICAgICAgICAkaW5mbzogKG5hbWU6ICRzZWxlY3RvciwgZGF0YTogJGRhdGEsIGVtaXQ6ICRlbWl0LCB0eXBlOiBzaW1wbGUpO1xuICAgICAgICAgICAgQGlmICRpcy1jbGFzcyB7XG4gICAgICAgICAgICAgICAgJG1lbmRlbGVldi1jc3MtY2xhc3NlczogKCRpbmZvICRtZW5kZWxlZXYtY3NzLWNsYXNzZXMpICFnbG9iYWw7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNzczogKCRpbmZvICRtZW5kZWxlZXYtY3NzKSAhZ2xvYmFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJHJlczogKCRpbmZvICRyZXMpO1xuXG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVycm9yIFwiSW52YWxpZCBjb250ZW50IGZvciAjeyRzZWxlY3Rvcn0uXCJcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXM7XG59XG5cbi8vLyBEZWNsYXJlIGEgTWVuZGVsZWV2IG1vZHVsZSBvZiBDU1MgdXRpbGl0aWVzLiBBIHV0aWxpdHkgaXMgdW5kZXJzdG9vZCBhcyBhXG4vLy8gQ1NTIGRlY2xhcmF0aW9uIHRoYXQgZGVmaW5lcyBhIHNpbmdsZSBDU1MgcHJvcGVydHkuXG4vLy9cbi8vLyBUaGlzIGZ1bmN0aW9uIG1ha2VzIGl0IGVhc2llciB0byBkZWNsYXJlIGxvdHMgb2YgY2xhc3NlcyBpbiBiYXRjaCwgYnV0IGlzXG4vLy8gZmFyIGxlc3MgZmxleGlibGUgb24gdGhlIGtpbmQgb2YgZGVjbGFyYXRpb25zIHRoYXQgY2FuIGJlIG1hZGUuXG4vLy9cbi8vLyBAYXJnICRjZmcgLSBTdHJpbmcgcGF0aCBmb3IgdGhlIGNvbmZpZ3VyYXRpb24gb3B0aW9uIGluIHRoZSBnbG9iYWxcbi8vLyAgICAgICAgICAgICBNZW5kZWxlZXYgY29uZmlnXG4vLy8gQGFyZyAkc3BlYyAtIERpY3Rpb25hcnkgb2YgZGVjbGFyYXRpb25zIG1hcHBpbmcgQ1NTIHNlbGVjdG9yIHdpdGggQ1NTXG4vLy8gICAgICAgICAgICAgIGRlZmluaXRpb25zXG5AZnVuY3Rpb24gbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKCRjZmcsICRzcGVjKSB7XG4gICAgJGVtaXQ6IGNvbmZpZygkY2ZnKTtcbiAgICAkcmVzOiBudWxsO1xuICAgIEBlYWNoICRwcm9wLCAkZGF0YSBpbiAkc3BlYyB7XG4gICAgICAgICRwcmVmaXg6IG50aCgkZGF0YSwgMSk7XG4gICAgICAgICRjb250ZW50OiBudGgoJGRhdGEsIDIpO1xuXG4gICAgICAgIEBpZiB0eXBlLW9mKCRjb250ZW50KSA9PSBtYXAge1xuICAgICAgICAgICAgJGRhdGE6ICgpO1xuICAgICAgICAgICAgQGVhY2ggJHN1ZmZpeCwgJHZhbHVlIGluICRjb250ZW50IHtcbiAgICAgICAgICAgICAgICAkc3VmZml4OiBpZih0eXBlLW9mKCRzdWZmaXgpID09IHN0cmluZywgJHN1ZmZpeCwgaW5zcGVjdCgkc3VmZml4KSk7XG4gICAgICAgICAgICAgICAgJG5hbWU6ICRwcmVmaXggKyAkc3VmZml4O1xuICAgICAgICAgICAgICAgICRkYXRhOiBtYXAtbWVyZ2UoJGRhdGEsICgkbmFtZTogKCN7JHByb3B9OiAkdmFsdWUpKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkaW5mbzogKHByZWZpeDogJHByZWZpeCwgZGF0YTogJGRhdGEsIHR5cGU6IG11bHRpcGxlLCBlbWl0OiAkZW1pdCk7XG4gICAgICAgICAgICAkcmVzOiAoJGluZm8gJHJlcyk7XG4gICAgICAgICAgICAkbWVuZGVsZWV2LWNzczogKCRpbmZvICRtZW5kZWxlZXYtY3NzKSAhZ2xvYmFsO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgIEBlcnJvciBcIkludmFsaWQgc3BlY2lmaWNhdGlvbiBmb3IgI3skcHJvcH0uXCJcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuICRyZXM7XG59XG5cbi8vLyBEZWNsYXJlcyBhIGNvbXBsZXRlIHNjYWxlIG9mIHZhbHVlcy5cbi8vL1xuLy8vIEBhcmcgJHNjYWxlIC0gQSBtYXAgb3IgbGlzdCBvZiAyLXR1cGxlcyBmcm9tIG5hbWVzIHRvIHZhbHVlcy5cbi8vLyBAYXJnICRjc3MgLSBBIG1hcCBvZiAocHJvcDogdmFsdWUpIHBhaXJzLiBJZiB2YWx1ZSBpcyBudWxsLCBpdCBpcyByZXBsYWNlZFxuLy8vICAgICAgICAgICAgIGJ5IGVhY2ggdmFsdWUgaW4gdGhlIGdpdmVuIHNjYWxlLlxuLy8vIEBhcmcgJGludGVycG9sYXRlIC0gTGlrZSAkY3NzLCBidXQgZWFjaCB2YWx1ZSBpcyB0cmVhdGVkIGFzIGFuIGludGVycG9sYXRpb25cbi8vLyAgICAgICAgICAgICAgICAgICAgIHN0cmluZyBpbiB3aGljaCBhbGwgb2NjdXJyZW5jZXMgb2YgJDEgYXJlIHJlcGxhY2UgYnlcbi8vLyAgICAgICAgICAgICAgICAgICAgIHRoZSB2YWx1ZSBnaXZlbiBieSB0aGUgc2NhbGUuXG5AZnVuY3Rpb24gc2NhbGUtb2YoJHNjYWxlLCAkY3NzOiAoKSwgJGludGVycG9sYXRlOiBudWxsLCAkcHJlZml4OiAnJicpIHtcbiAgICAkbWFwOiAkZm4tZW1wdHktbWFwO1xuICAgICRjc3MtdGVtcGxhdGU6ICRjc3M7XG4gICAgQGVhY2ggJGssICR2IGluICRzY2FsZSB7XG4gICAgICAgICRjc3M6ICRmbi1lbXB0eS1tYXA7XG5cbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkY3NzLXRlbXBsYXRlIHtcbiAgICAgICAgICAgICRjc3M6IG1hcC1tZXJnZSgkY3NzLCAoJHByb3A6ICR2YWx1ZSBvciAkdikpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRpbnRlcnBvbGF0ZSB7XG4gICAgICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRpbnRlcnBvbGF0ZSB7XG4gICAgICAgICAgICAgICAgJHByb3A6IGlmKHR5cGUtb2YoJHByb3ApID09IHN0cmluZywgJHByb3AsIGluc3BlY3QoJHByb3ApKTtcbiAgICAgICAgICAgICAgICAkdmFsdWU6IHVucXVvdGUoc3RyLXJlcGxhY2UoJHZhbHVlLCAnJDEnLCAkdikpO1xuICAgICAgICAgICAgICAgICRjc3M6IG1hcC1tZXJnZSgkY3NzLCAoJHByb3A6ICR2YWx1ZSkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJG1hcDogbWFwLW1lcmdlKCRtYXAsICgnI3skcHJlZml4fSN7JGt9JzogJGNzcykpO1xuICAgIH1cbiAgICBAcmV0dXJuICRtYXA7XG59XG4iLAoJCSJAaW1wb3J0ICcuLi9wcm9maWxlcy9iYXNlJztcblxuLy8vIEZldGNoIGNvbmZpZ3VyYXRpb24gdmFsdWUgZnJvbSBkZWZhdWx0IGNvbmZpZyBkaWN0aW9uYXJ5LlxuLy8vXG4vLy8gQGFyZyAkcGF0aCAtIExpc3Qgd2l0aCB0aGUgcGF0aCB0byBjb25maWd1cmF0aW9uXG4vLy8gQGFyZyAkZGVmYXVsdCAtIERlZmF1bHQgcmVzdWx0IGlmIGRhdGEgaXMgbm90IGZvdW5kIGluIHBhdGguXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzXG4vLy8gICAgIGNvbmZpZygncGFsZXR0ZS5ibGFjaycpXG4vLy8gICAgIC8vICMxYTFhMWFcbkBmdW5jdGlvbiBjb25maWcoJHBhdGgsICRkZWZhdWx0OiBudWxsKSB7XG4gICAgQGlmIG5vdCB0eXBlLW9mKCRwYXRoKSA9PSBzdHJpbmcge1xuICAgICAgICBAZXJyb3IgJ1BhdGggbXVzdCBiZSBnaXZlbiBhcyBhIHN0cmluZyc7XG4gICAgfVxuICAgIEByZXR1cm4gbWFwLXBhdGgtbWVyZ2UoTCgkbWVuZGVsZWV2LWNvbmZpZywgJGNvbmZpZyksIHN0ci1zcGxpdCgkcGF0aCwgJy4nKSwgJGRlZmF1bHQpO1xufVxuXG4vLy8gSW5jbHVkZSBhIGNvbmZpZ3VyYXRpb24uXG5AbWl4aW4gY29uZmlnKCRwYXRoLCAkZGVmYXVsdDogKCksICRmb3I6IG51bGwsICRleHRyYTogKCkpIHtcbiAgICBAaWYgJGZvciB7XG4gICAgICAgICN7JGZvcn06IGNvbmZpZygkcGF0aCwgJGRlZmF1bHQpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZWFjaCAkaywgJHYgaW4gbWFwLW1lcmdlKCRleHRyYSwgY29uZmlnKCRwYXRoLCAkZGVmYXVsdCkpIHtcbiAgICAgICAgICAgIEBpZiB0eXBlLW9mKCR2KSA9PSBzdHJpbmcge1xuICAgICAgICAgICAgICAgICN7JGt9OiB1bnF1b3RlKCR2KTtcbiAgICAgICAgICAgIH0gQGVsc2UgaWYgJHYgIT0gKCkge1xuICAgICAgICAgICAgICAgICN7JGt9OiAkdjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gR0xPQkFMIE1FTkRFTEVFViBTQ0FMRVNcbi8vLyBAZ3JvdXAgc2NhbGVzXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vL1xuLy8vIEFsbCBnbG9iYWwgc3RhdGljIHNjYWxlcyB1c2VkIGluIE1lbmRlbGVldiAoaW4gYWxwaGFiZXRpY2FsIG9yZGVyKVxuLy8vICAqIFNpemUgc2NhbGUgKGRlZmF1bHQvbnVtYmVyZWQpXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gTWFwcyBzaXplcyBpbiB0byB1bml0LWxlc3MgdmFsdWVzLiBSZWFsIHNpemUgYXJlIGNvbXB1dGVkIG11bHRpcGx5aW5nXG4vLy8gJG1lbmRlbGVldi1zaXplLXVuaXQuXG4kbWVuZGVsZWV2LXNpemUtc2NhbGU6IChcbiAgICAnMCc6IDAsXG4gICAgJzBwJzogMC4xMjUsXG4gICAgJzEnOiAwLjI1LFxuICAgICcxcCc6IDAuMzc1LFxuICAgICcyJzogMC41LFxuICAgICcycCc6IDAuNzUsXG4gICAgJzMnOiAxLFxuICAgICczcCc6IDEuNSxcbiAgICAnNCc6IDIsXG4gICAgJzRwJzogMyxcbiAgICAnNSc6IDQsXG4gICAgJzVwJzogNixcbiAgICAnNic6IDgsXG4gICAgJzZwJzogMTIsXG4gICAgJzcnOiAxNixcbiAgICAnN3AnOiAyNCxcbiAgICAnOCc6IDMyLFxuICAgICc4cCc6IDQ4LFxuICAgICc5JzogNjQsXG4gICAgJzlwJzogOTYsXG4gICAgJzEwJzogMTI4LFxuICAgICcxMHAnOiAxOTIsXG4gICAgJzExJzogMjU2LFxuICAgICcxMXAnOiAzODQsXG4gICAgJzEyJzogNTEyLFxuICAgICcxMnAnOiA3NjgsXG4gICAgJzEzJzogMTAyNCxcbiAgICAnMTNwJzogMTUzNixcbikgIWRlZmF1bHQ7XG5cblxuLy8vIExpa2Ugc2l6ZS1zY2FsZSwgYnV0IGtleXMgYXJlIG51bWVyaWMuXG4kbWVuZGVsZWV2LXNpemUtc2NhbGUtbnVtZXJpYzogKFxuICAgIDA6IDAsXG4gICAgMTogMC4yNSxcbiAgICAyOiAwLjUsXG4gICAgMzogMSxcbiAgICA0OiAyLFxuICAgIDU6IDQsXG4gICAgNjogOCxcbiAgICA3OiAxNixcbiAgICA4OiAzMixcbiAgICA5OiA2NCxcbiAgICAxMDogMTI4LFxuICAgIDExOiAyNTYsXG4gICAgMTI6IDUxMixcbiAgICAxMzogMTAyNCxcbikgIWRlZmF1bHQ7XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEdMT0JBTCBNRU5ERUxFRVYgVkFMVUVTXG4vLy8gQGdyb3VwIGNvbnN0YW50c1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy9cbi8vLyBHbG9iYWwgY29uc3RhbnRzIGNvbXB1dGVkIGZyb20gdXNlciBjb25maWd1cmF0aW9ucy5cbi8vLyAgKiBjb250YWluZXJcbi8vLyAgKiBsZWFkXG4vLy8gICogdW5pdC1zaXplXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLy8gQmFzaWMgbGVhZGluZyB2YWx1ZVxuJG1lbmRlbGVldi1sZWFkOiBjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcsIDEuNSkgIWRlZmF1bHQ7XG5cbi8vLyBCYXNpYyBzaXplIHJlZmVyZW5jZSAoc3BlY2lmaWVkIGluIHJlbXMpO1xuJG1lbmRlbGVldi11bml0LXNpemU6ICRtZW5kZWxlZXYtbGVhZCAqIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBDb250YWluZXIgY29uZmlndXJhdGlvblxuJG1lbmRlbGVldi1jb250YWluZXI6IChcbiAgICBtYXJnaW46IDAgYXV0byxcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUsXG4gICAgd2lkdGg6IDEwMCUsXG4gICAgcGFkZGluZzogMCAkbWVuZGVsZWV2LXVuaXQtc2l6ZSxcbiAgICBtYXgtd2lkdGg6IDUwcmVtLFxuKSAhZGVmYXVsdDtcbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gTUVOREVMRUVWIEdSSUQgU1lTVEVNU1xuLy8vIEBncm91cCBncmlkIHN5c3RlbXNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gRGVmaW5lIGFsbCB1c2VmdWwgZ3JpZCBzeXN0ZW0gZnJvbSB0aGUgdHJpdmlhbCBncmlkLTEgdXAgdG8gZ3JpZC0xNS5cbkBmdW5jdGlvbiBfbWVuZGVsZWV2LW1ha2UtZ3JpZC1zeXN0ZW1zKCkge1xuICAgICRncmlkLTE6IChcbiAgICAgICAgJzAnOiAwLFxuICAgICAgICAnZnVsbCc6IDEwMCxcbiAgICApO1xuICAgICRncmlkLTI6IG1hcC1tZXJnZSgkZ3JpZC0xLCAoXG4gICAgICAgICcxXFxcXC8yJzogNTAsXG4gICAgKSk7XG4gICAgJGdyaWQtMzogbWFwLW1lcmdlKCRncmlkLTEsIChcbiAgICAgICAgJzFcXFxcLzMnOiAxMDAgLyAzLFxuICAgICAgICAnMlxcXFwvMyc6IDIwMCAvIDMsXG4gICAgKSk7XG4gICAgJGdyaWQtNDogbWFwLW1lcmdlKCRncmlkLTIsIChcbiAgICAgICAgJzFcXFxcLzQnOiAyNSxcbiAgICAgICAgJzNcXFxcLzQnOiA3NSxcbiAgICApKTtcbiAgICAkZ3JpZC01OiBtYXAtbWVyZ2UoJGdyaWQtMSwgKFxuICAgICAgICAnMVxcXFwvNSc6IDIwLFxuICAgICAgICAnMlxcXFwvNSc6IDQwLFxuICAgICAgICAnM1xcXFwvNSc6IDYwLFxuICAgICAgICAnNFxcXFwvNSc6IDgwLFxuICAgICkpO1xuICAgICRncmlkLTY6IG1hcC1tZXJnZShtYXAtbWVyZ2UoJGdyaWQtMiwgJGdyaWQtMyksIChcbiAgICAgICAgJzFcXFxcLzYnOiAxMDAgLyA2LFxuICAgICAgICAnNVxcXFwvNic6IDUwMCAvIDYsXG4gICAgKSk7XG4gICAgJGdyaWQtODogbWFwLW1lcmdlKCRncmlkLTQsIChcbiAgICAgICAgJzFcXFxcLzgnOiAxMDAgLyA4LFxuICAgICAgICAnM1xcXFwvOCc6IDMwMCAvIDgsXG4gICAgICAgICc1XFxcXC84JzogNTAwIC8gOCxcbiAgICAgICAgJzdcXFxcLzgnOiA3MDAgLyA4LFxuICAgICkpO1xuICAgICRncmlkLTc6ICdHcmlkIDcsIHJlYWxseT8hJztcbiAgICAkZ3JpZC05OiBtYXAtbWVyZ2UoJGdyaWQtMywgKFxuICAgICAgICAnMVxcXFwvOSc6IDEwMCAvIDksXG4gICAgICAgICcyXFxcXC85JzogMjAwIC8gOSxcbiAgICAgICAgJzRcXFxcLzknOiA0MDAgLyA5LFxuICAgICAgICAnNVxcXFwvOSc6IDUwMCAvIDksXG4gICAgICAgICc3XFxcXC85JzogNzAwIC8gOSxcbiAgICAgICAgJzhcXFxcLzknOiA4MDAgLyA5LFxuICAgICkpO1xuICAgICRncmlkLTEwOiBtYXAtbWVyZ2UobWFwLW1lcmdlKCRncmlkLTIsICRncmlkLTUpLCAoXG4gICAgICAgICcxXFxcXC8xMCc6IDEwLFxuICAgICAgICAnM1xcXFwvMTAnOiAzMCxcbiAgICAgICAgJzdcXFxcLzEwJzogNzAsXG4gICAgICAgICc5XFxcXC8xMCc6IDkwLFxuICAgICkpO1xuICAgICRncmlkLTExOiAnR3JpZCAxMSwgcmVhbGx5PyEnO1xuICAgICRncmlkLTEyOiBtYXAtbWVyZ2UobWFwLW1lcmdlKCRncmlkLTQsICRncmlkLTYpLCAoXG4gICAgICAgICcxXFxcXC8xMic6IDEwMCAvIDEyLFxuICAgICAgICAnNVxcXFwvMTInOiA1MDAgLyAxMixcbiAgICAgICAgJzdcXFxcLzEyJzogNzAwIC8gMTIsXG4gICAgICAgICcxMVxcXFwvMTInOiAxMTAwIC8gMTIsXG4gICAgKSk7XG4gICAgJGdyaWQtMTU6IG1hcC1tZXJnZShtYXAtbWVyZ2UoJGdyaWQtMywgJGdyaWQtNSksIChcbiAgICAgICAgJzFcXFxcLzE1JzogMTAwIC8gMTUsXG4gICAgICAgICcyXFxcXC8xNSc6IDIwMCAvIDE1LFxuICAgICAgICAnNFxcXFwvMTUnOiA0MDAgLyAxNSxcbiAgICAgICAgJzdcXFxcLzE1JzogNzAwIC8gMTUsXG4gICAgICAgICc4XFxcXC8xNSc6IDgwMCAvIDE1LFxuICAgICAgICAnMTFcXFxcLzE1JzogMTEwMCAvIDE1LFxuICAgICAgICAnMTNcXFxcLzE1JzogMTMwMCAvIDE1LFxuICAgICAgICAnMTRcXFxcLzE1JzogMTQwMCAvIDE1LFxuICAgICkpO1xuICAgIEByZXR1cm4gKFxuICAgICAgICAxOiAkZ3JpZC0xLFxuICAgICAgICAyOiAkZ3JpZC0yLFxuICAgICAgICAzOiAkZ3JpZC0zLFxuICAgICAgICA0OiAkZ3JpZC00LFxuICAgICAgICA1OiAkZ3JpZC01LFxuICAgICAgICA2OiAkZ3JpZC02LFxuICAgICAgICA4OiAkZ3JpZC04LFxuICAgICAgICA5OiAkZ3JpZC05LFxuICAgICAgICAxMDogJGdyaWQtMTAsXG4gICAgICAgIDEyOiAkZ3JpZC0xMixcbiAgICAgICAgMTU6ICRncmlkLTE1LFxuICAgICk7XG59XG5cbiRtZW5kZWxlZXYtZ3JpZC1zeXN0ZW1zOiBfbWVuZGVsZWV2LW1ha2UtZ3JpZC1zeXN0ZW1zKCkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBzeXN0ZW0gYmFzZWQgb24gYSBwcmUtZGVmaW5lZCBzZXQgb2Ygc3ViLWRpdmlzaW9uc1xuQGZ1bmN0aW9uIGdyaWQtc3lzdGVtKCRhcmdzLi4uKSB7XG4gICAgJHJlc3VsdDogKCk7XG4gICAgQGVhY2ggJG4gaW4gJGFyZ3Mge1xuICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UobWFwLWdldCgkbWVuZGVsZWV2LWdyaWQtc3lzdGVtcywgJG4pLCAkcmVzdWx0KTtcbiAgICB9XG4gICAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vLy8gQWRkIHNpemluZyB1bml0cyBvZiAlLCB2dyBhbmQgdmggZm9yIGdpdmVuIHVuaXQtbGVzcyBzY2FsZVxuQGZ1bmN0aW9uIGFkZC1zaXppbmctdW5pdHMoJHNjYWxlKSB7XG4gICAgJHJlczogbnVsbDtcbiAgICBAZWFjaCAkaywgJHYgaW4gJHNjYWxlIHtcbiAgICAgICAgJHJlczogKCgkayAoJHYgKiBpZigkdiA9PSAwLCAwLCAxJSkpKSAkcmVzKTtcbiAgICAgICAgQGlmICR2ICE9IDAge1xuICAgICAgICAgICAgJHJlczogKCgnI3ska312dycgKCR2ICogMXZ3KSkgJHJlcyk7XG4gICAgICAgICAgICAkcmVzOiAoKCcjeyRrfXZoJyAoJHYgKiAxdmgpKSAkcmVzKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBAcmV0dXJuIGxzdC10by1tYXAoJHJlcyk7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIEdMT0JBTCBNRU5ERUxFRVYgQ09ORklHVVJBQkxFIFNDQUxFU1xuLy8vIEBncm91cCBzY2FsZXNcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vXG4vLy8gR2xvYmFsIHNjYWxlcyBhbmQgY29uc3RhbnRzIGNvbXB1dGVkIGZyb20gdXNlciBjb25maWd1cmF0aW9ucy5cbi8vL1xuLy8vIFNjYWxlczpcbi8vLyAgKiBib3JkZXItc2NhbGVcbi8vLyAgKiByYWRpdXMtc2NhbGUtKHJlbSlcbi8vLyAgKiBzaXplLXNjYWxlLShyZW18cG9zLXJlbXxhdXRvfHBvcy1hdXRvKVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgJ3N0YXRpYyc7XG5AaW1wb3J0ICd2YWx1ZXMnO1xuQGltcG9ydCAnZ3JpZHMnO1xuXG4vLyBCT1JERVIgU0NBTEUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJG1lbmRlbGVldi1ib3JkZXItc2NhbGU6IChcbiAgICAnMSc6IHVucXVvdGUoJzFweCBzb2xpZCcpLFxuICAgICcyJzogdW5xdW90ZSgnMnB4IHNvbGlkJyksXG4gICAgJzQnOiB1bnF1b3RlKCc0cHggc29saWQnKSxcbiAgICAnOCc6IHVucXVvdGUoJzhweCBzb2xpZCcpLFxuKSAhZGVmYXVsdDtcblxuLy8gU0laRS9SQURJVVMgU0NBTEUgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1lbmRlbGVldi1zaXplLXNjYWxlLW1heC1zaXplOiBjb25maWcoJ21lbmRlbGVldi5zY2FsZXMubWF4LXNpemUnLCA2NCkgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtOiBudWxsICFkZWZhdWx0O1xuQGlmIG5vdCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtIHtcbiAgICAkbmV3OiAoKTtcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1lbmRlbGVldi1zaXplLXNjYWxlIHtcbiAgICAgICAgQGlmICR2IDwgJG1lbmRlbGVldi1zaXplLXNjYWxlLW1heC1zaXplIHtcbiAgICAgICAgICAgICR2OiBpZigkdiA9PSAwLCAwLCAkdiAqICRtZW5kZWxlZXYtdW5pdC1zaXplKTtcbiAgICAgICAgICAgICRuZXc6IG1hcC1tZXJnZSgkbmV3LCAoJGs6ICR2KSk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGlmIG5vdCAgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSB7XG4gICAgICAgICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW06ICRuZXcgIWdsb2JhbDtcbiAgICB9XG59XG5cbiRtZW5kZWxlZXYtcmFkaXVzLXNjYWxlLXJlbTogbWFwLWFwcGx5LXZhbHVlcyhkaXYsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0sIDIpO1xuXG4vLyBHUklEIFNJWklORyBTQ0FMRSAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZS1uby11bml0OiBncmlkLXN5c3RlbSg1LCAxMikgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZTogYWRkLXNpemluZy11bml0cygkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZS1uby11bml0KSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtZ3JpZC1zY2FsZTogKFxuICAgICcxJzogMSxcbiAgICAnMic6IDIsXG4gICAgJzMnOiAzLFxuICAgICc0JzogNCxcbiAgICAnNSc6IDUsXG4gICAgJzYnOiA2LFxuICAgICc4JzogOCxcbiAgICAnOSc6IDksXG4gICAgJzEwJzogMTAsXG4gICAgJzEyJzogMTIsXG4gICAgJzE1JzogMTUsXG4pICFkZWZhdWx0O1xuJG1lbmRlbGVldi1ncmlkLWdhcC1zY2FsZTogKFxuICAgICcxJzogMC4yNSAqICRtZW5kZWxlZXYtdW5pdC1zaXplLFxuICAgICcyJzogMC41MCAqICRtZW5kZWxlZXYtdW5pdC1zaXplLFxuICAgICczJzogMS4wMCAqICRtZW5kZWxlZXYtdW5pdC1zaXplLFxuICAgICc0JzogMi4wMCAqICRtZW5kZWxlZXYtdW5pdC1zaXplLFxuKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtZ3JpZC1zcGFuLWRhdGE6IChcbiAgICAxOiBhdXRvIC8gc3BhbiAxLFxuICAgIDI6IGF1dG8gLyBzcGFuIDIsXG4gICAgMzogYXV0byAvIHNwYW4gMyxcbiAgICA0OiBhdXRvIC8gc3BhbiA0LFxuICAgIDU6IGF1dG8gLyBzcGFuIDUsXG4gICAgNjogYXV0byAvIHNwYW4gNixcbiAgICA3OiBhdXRvIC8gc3BhbiA3LFxuICAgIDg6IGF1dG8gLyBzcGFuIDgsXG4gICAgOTogYXV0byAvIHNwYW4gOSxcbiAgICAxMDogYXV0byAvIHNwYW4gMTAsXG4gICAgMTE6IGF1dG8gLyBzcGFuIDExLFxuICAgIDEyOiBhdXRvIC8gc3BhbiAxMixcbiAgICAxMzogYXV0byAvIHNwYW4gMTMsXG4gICAgMTQ6IGF1dG8gLyBzcGFuIDE0LFxuICAgIDE1OiBhdXRvIC8gc3BhbiAxNSxcbik7XG5cbi8vIFRSQU5TRk9STUFUSU9OUyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kbWVuZGVsZWV2LXRyYW5zZm9ybS1zY2FsZTogKFxuICAgIDA6IDAlLCAxOiA1JSwgMjogMTAlLCAzOiAyNSUsIDQ6IDUwJSwgNTogNzUlLCA2OiA5MCUsIDc6IDk1JSwgODogMTAwJSxcbik7XG4kbWVuZGVsZWV2LXRyYW5zZm9ybS1kb3VibGUtc2NhbGU6IChcbiAgICBuMDogMTAwJSwgbjE6IDk1JSwgbjI6IDkwJSwgbjM6IDc1JSwgbjQ6IDUwJSwgbjU6IDI1JSwgbjY6IDEwJSwgbjc6IDUlLCBuODogMCUsXG4gICAgMDogMTAwJSwgMTogMTA1JSwgMjogMTEwJSwgMzogMTI1JSwgNDogMTUwJSwgNTogMTc1JSwgNjogMTkwJSwgNzogMTk1JSwgODogMjAwJSxcbik7XG4kbWVuZGVsZWV2LWdyb3ctc2NhbGU6IChcbiAgICAwOiAxLCAxOiAxLjA1LCAyOiAxLjEwLCAzOiAxLjI1LCA0OiAxLjUwLCA1OiAyLCA2OiAzLFxuKTtcbiRtZW5kZWxlZXYtc2hyaW5rLXNjYWxlOiAoXG4gICAgMDogMSwgMTogMSAvIDEuMDUsIDI6IDEgLyAxLjEwLCAzOiAxIC8gMS4yNSwgNDogMSAvIDEuNTAsIDU6IDEgLyAyLCA2OiAxIC8gMyxcbik7XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIE1BTklQVUxBVEUgU0laRVNcbi8vLyBAZ3JvdXAgc2l6aW5nXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vLyBDb252ZXJ0IHVuaXRsZXNzIG51bWJlciB0byBzaXplIGJ5IG11bHRpcGx5aW5nIGl0IGJ5IGxlYWQgKiAxcmVtLlxuLy8vXG4vLy8gSWYgaW5wdXQgaXMgYSBudW1iZXIgd2l0aCB1bml0cywgaXQgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxuLy8vXG4vLy8gQGFyZyAkeCAtIE51bWJlclxuQGZ1bmN0aW9uIHNpemUoJHgpIHtcbiAgICBAaWYgdHlwZS1vZigkeCkgPT0gbnVtYmVyIGFuZCB1bml0KCR4KSA9PSAnJyB7XG4gICAgICAgIEByZXR1cm4gJHggKiAkbWVuZGVsZWV2LXVuaXQtc2l6ZTtcbiAgICB9XG4gICAgQHJldHVybiAkeDtcbn1cblxuLy8vIENvbnZlcnQgdmFsdWUgdG8gYSB1bml0IG9uIHRoZSBzaXplIHNjYWxlLlxuLy8vXG4vLy8gQGFyZyAkeCAtIGlucHV0IHZhbHVlXG5AZnVuY3Rpb24gc2l6ZS1zY2FsZSgkeCkge1xuICAgIEBpZiB0eXBlLW9mKCR4KSA9PSBudW1iZXIge1xuICAgICAgICBAaWYgdW5pdCgkeCkgIT0gJycge1xuICAgICAgICAgICAgQGVycm9yICdPbmx5IHVuaXRsZXNzIG51bWJlcnMgYXJlIHZhbGlkIHNpemUgc2NhbGVzLidcbiAgICAgICAgfVxuICAgICAgICAkczogc2lnbigkeCk7XG4gICAgICAgICR2OiBhYnMoJHgpO1xuICAgICAgICAkc2l6ZTogbWFwLWdldCgkbWVuZGVsZWV2LXNpemUtc2NhbGUtbnVtZXJpYywgJHYpO1xuICAgICAgICAkc2l6ZTogaWYoJHNpemUgPT0gbnVsbCwgcG93KDIsIGFicygkeCkgLSAzKSwgJHNpemUpO1xuICAgICAgICBAcmV0dXJuICRzICogJHNpemUgKiAkbWVuZGVsZWV2LXVuaXQtc2l6ZTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHgpID09IHN0cmluZyB7XG4gICAgICAgICR4OiBtYXAtZ2V0KCRtZW5kZWxlZXYtc2l6ZS1zY2FsZSwgJHgpO1xuICAgICAgICBAaWYgJHggPT0gbnVsbCB7XG4gICAgICAgICAgICBAZXJyb3IgJ0ludmFsaWQgc2l6ZSAjeyR4fS4nO1xuICAgICAgICB9XG4gICAgICAgIEByZXR1cm4gc2l6ZS1zY2FsZSgkeCk7XG4gICAgfSBAZWxzZSBpZiAkeCA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgJ0ludmFsaWQgc2l6ZSAjeyR4fS4nO1xuICAgIH1cbn1cblxuLy8vIFJldHVybiBhIG1hcCBvZiBzaXppbmdzIHdpdGggcHJvcGVydHktKGxlZnQvcmlnaHQvdG9wKSBldGMgdG8gdGhlIHZhbHVlc1xuLy8vIGRlZmluZWQgaW4gdm1hcC5cbkBmdW5jdGlvbiBzaXppbmctbWFwKCRwcm9wLCAkdm1hcCkge1xuICAgIEByZXR1cm4gKFxuICAgICAgICAjeyRwcm9wfS1sZWZ0OiBtYXAtZ2V0LWZpcnN0KCR2bWFwLCBMKGxlZnQsIGwsIHgsIGhvcml6b250YWwsIGFsbCkpLFxuICAgICAgICAjeyRwcm9wfS1yaWdodDogbWFwLWdldC1maXJzdCgkdm1hcCwgTChyaWdodCwgciwgeCwgaG9yaXpvbnRhbCwgYWxsKSksXG4gICAgICAgICN7JHByb3B9LXRvcDogbWFwLWdldC1maXJzdCgkdm1hcCwgTCh0b3AsIHQsIHksIHZlcnRpY2FsLCBhbGwpKSxcbiAgICAgICAgI3skcHJvcH0tYm90dG9tOiBtYXAtZ2V0LWZpcnN0KCR2bWFwLCBMKGJvdHRvbSwgYiwgeSwgdmVydGljYWwsIGFsbCkpLFxuICAgICk7XG59XG5cbi8vLyBSZXR1cm4gYSBtYXAgd2l0aCBzaXppbmcgdmFsdWVzIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuXG4vLy9cbi8vLyBAYXJnICRwcm9wZXJ0eSAtIFByb3BlcnR5IG5hbWVcbi8vLyBAYXJnICR2YWx1ZSAtIFZhbHVlIGFzc2lnbmVkIHRvIHByb3BlcnR5LiBXaWxsIGJlIGNvbnZlcnRlZCB0byBhIHNpemluZy5cbkBmdW5jdGlvbiBzaXppbmcoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciBvciB0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nIHtcbiAgICAgICAgQHJldHVybiAoJHByb3BlcnR5OiBzaXplKCR2YWx1ZSkpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6IG1hcChzaXplLCAkdmFsdWUpKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBtYXAge1xuICAgICAgICAkdmFsdWU6IHNpemluZy1tYXAoJHByb3BlcnR5LCAkdmFsdWUpO1xuICAgICAgICBAcmV0dXJuIG1hcC1hcHBseS12YWx1ZXMoc2l6ZSwgbWFwLWZpbHRlci12YWx1ZXMobm90LW51bGwsICR2YWx1ZSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6ICR2YWx1ZSk7XG4gICAgfVxufVxuXG4vLy8gUmV0dXJuIGEgbWFwIHdpdGggc2l6aW5nIHZhbHVlcyBpbiB0aGUgc2l6aW5nIHNjYWxlIGZvciB0aGUgZ2l2ZW4gcHJvcGVydHkuXG4vLy9cbi8vLyBAYXJnICRwcm9wZXJ0eSAtIFByb3BlcnR5IG5hbWVcbi8vLyBAYXJnICR2YWx1ZSAtIFZhbHVlIGFzc2lnbmVkIHRvIHByb3BlcnR5LiBXaWxsIGJlIGNvbnZlcnRlZCB0byBhIHZhbHVlIG9uIHRoZVxuLy8vICAgICAgICAgICAgICAgc2l6ZSBzY2FsZS5cbkBmdW5jdGlvbiBzaXppbmctc2NhbGUoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09IG51bWJlciBvciB0eXBlLW9mKCR2YWx1ZSkgPT0gc3RyaW5nIHtcbiAgICAgICAgQHJldHVybiAoJHByb3BlcnR5OiBzaXplLXNjYWxlKCR2YWx1ZSkpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IGxpc3Qge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6IG1hcChzaXplLXNjYWxlLCAkdmFsdWUpKTtcbiAgICB9IEBlbHNlIGlmIHR5cGUtb2YoJHZhbHVlKSA9PSBtYXAge1xuICAgICAgICAkdmFsdWU6IHNpemluZy1tYXAoJHByb3BlcnR5LCAkdmFsdWUpO1xuICAgICAgICBAcmV0dXJuIG1hcC1hcHBseS12YWx1ZXMoc2l6ZS1zY2FsZSwgbWFwLWZpbHRlci12YWx1ZXMobm90LW51bGwsICR2YWx1ZSkpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuICgkcHJvcGVydHk6ICR2YWx1ZSk7XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUlYSU5TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gSW5jbHVkZSBzb21lIHNpemluZyBwcm9wZXJ0eS5cbi8vL1xuLy8vIFZhbHVlIGNhbiBiZSBhIHNpemUgb3IgYSBtYXAgZnJvbSBkaXJlY3Rpb25zIHRvIHNpemVzLiBJdCB1bmRlcnN0YW5kcyB0aGVcbi8vLyBmb2xsb3dpbmcgZGlyZWN0aW9uczogdG9wLCBib3R0b20sIGxlZnQgYW5kIHJpZ2h0IGFuZCB0aGUgcHNldWRvIGRpcmVjdGlvbnM6XG4vLy8gaG9yaXpvbnRhbCwgeCwgdmVydGljYWwsIHksIGFuZCBhbGwuXG4vLy9cbi8vLyBAYXJnICRwcm9wZXJ0eSAtIFByb3BlcnR5IG5hbWUuXG4vLy8gQGFyZyAkdmFsdWUgLSBTaXplIG9yIG1hcHBpbmcgb2Ygc2l6ZXMuXG4vLy8gQGFyZyAkc3VmZml4IC0gU3VmZml4IHRvIGFkZCB0byBwcm9wZXJ0eSBkZWNsYXJhdGlvbiAoZS5nLi4gIWltcG9ydGFudCk7XG5AbWl4aW4gc2l6aW5nKCRwcm9wZXJ0eSwgJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgJGRhdGE6IHNpemluZygkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgZnJvbS1tYXAoJGRhdGEsICRzdWZmaXg6ICRzdWZmaXgpO1xufVxuXG5AbWl4aW4gc2l6aW5nLXNjYWxlKCRwcm9wZXJ0eSwgJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgJGRhdGE6IHNpemluZy1zY2FsZSgkcHJvcGVydHksICR2YWx1ZSk7XG4gICAgQGluY2x1ZGUgZnJvbS1tYXAoJGRhdGEsICRzdWZmaXg6ICRzdWZmaXgpO1xufVxuXG4vLy8gQSBzaXppbmcgZnVuY3Rpb24gZm9yIHdpZHRocy5cbkBtaXhpbiB3aWR0aCgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmcod2lkdGgsICR2YWx1ZSwgJHN1ZmZpeCk7XG59XG5cbkBtaXhpbiB3aWR0aC1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmctc2NhbGUod2lkdGgsICR2YWx1ZSwgJHN1ZmZpeCk7XG59XG5cbi8vLyBBIHNpemluZyBmdW5jdGlvbiBmb3IgaGVpZ2h0cy5cbkBtaXhpbiBoZWlnaHQoJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGluY2x1ZGUgc2l6aW5nKGhlaWdodCwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIGhlaWdodC1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmctc2NhbGUoaGVpZ2h0LCAkdmFsdWUsICRzdWZmaXgpO1xufVxuXG4vLy8gQSBzaXppbmcgZnVuY3Rpb24gZm9yIG1hcmdpbnMuXG5AbWl4aW4gbWFyZ2luKCR2YWx1ZSwgJHN1ZmZpeDogbnVsbCkge1xuICAgIEBpbmNsdWRlIHNpemluZyhtYXJnaW4sICR2YWx1ZSwgJHN1ZmZpeCk7XG59XG5cbkBtaXhpbiBtYXJnaW4tc2NhbGUoJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGluY2x1ZGUgc2l6aW5nLXNjYWxlKG1hcmdpbiwgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuLy8vIEEgc2l6aW5nIGZ1bmN0aW9uIGZvciBwYWRzLlxuQG1peGluIHBhZCgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmcocGFkZGluZywgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIHBhZC1zY2FsZSgkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBzaXppbmctc2NhbGUocGFkZGluZywgJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuLy8vIEFsaWFzIHRvIHRoZSBwYWQgbWl4aW4uXG5AbWl4aW4gcGFkZGluZygkdmFsdWUsICRzdWZmaXg6IG51bGwpIHtcbiAgICBAaW5jbHVkZSBwYWQoJHZhbHVlLCAkc3VmZml4KTtcbn1cblxuQG1peGluIHBhZGRpbmctc2NhbGUoJHZhbHVlLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGluY2x1ZGUgcGFkLXNjYWxlKCR2YWx1ZSwgJHN1ZmZpeCk7XG59XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIENPTE9SIFRSQU5TRk9STUFUSU9OUyBBTkQgVVRJTElUSUVTXG4vLy8gQGdyb3VwIENvbG9yXG4vLy8gQGF1dGhvciBGw6FiaW8gTWFjw6pkbyBNZW5kZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbi8vIENvbmZpZ3VyYXRpb24gb3B0aW9uc1xuJG1lbmRlbGVldi1jb2xvci1iaWFzOiBjb25maWcoJ2NvbG9yLmNvbnRyYXN0LWJpYXMnKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtY29sb3Itcm9sZXM6ICRmbi1lbXB0eS1tYXAgIWRlZmF1bHQ7XG4kbWVuZGVsZWV2LXZhcmlhbnQtbGV2ZWxzOiBtYXAta2V5cyhjb25maWcoJ2NvbG9yLnZhcmlhbnRzLmxldmVscycpKSAhZGVmYXVsdDtcblxuLy8gRmV0Y2ggZGFyayBhbmQgbGlnaHQgY29udHJhc3QgbWl4ZXMgdG8gY3JlYXRlIGNvbnRyYXN0IHZhcmlhbnRzXG4kbWVuZGVsZWV2LXZhcmlhbnQtbGlnaHQtY29udHJhc3Q6IGNvbmZpZygnY29sb3IudmFyaWFudHMuY29udHJhc3QubGlnaHQnKSAhZGVmYXVsdDtcbiRtZW5kZWxlZXYtdmFyaWFudC1kYXJrLWNvbnRyYXN0OiBjb25maWcoJ2NvbG9yLnZhcmlhbnRzLmNvbnRyYXN0LmRhcmsnKSAhZGVmYXVsdDtcblxuLy8vIFJldHVybiBuYW1lZCBjb2xvciBvciBhIGRlZmF1bHQgdmFsdWUgaWYgY29sb3IgaXMgbm90IHJlZ2lzdGVyZWRcbi8vL1xuLy8vIEBhcmcgJG5hbWUgLSBDb2xvciBuYW1lIG9yIGNvbG9yIHZhbHVlXG4vLy8gQGFyZyAkdmFyaWFudCAtIENob3NlbiB2YXJpYW50LiBDYW4gYWxzbyBiZSB0aGUgc3RyaW5nICdjb250cmFzdCcuXG4vLy8gQGFyZyAkYWxwaGEgLSBBcHBseSBhbHBoYSBhZGp1c3RtZW50IHRvIGNvbG9yLCBpZiBnaXZlbi5cbi8vLyBAYXJnICRkZWZhdWx0IC0gSWYgZ2l2ZW4sIHVzZXMgdGhpcyB2YWx1ZSBpZiBjb2xvciBuYW1lIGlzIG5vdCBmb3VuZCBpbiB0aGVcbi8vLyAgICAgICAgICAgICAgICAgcGFsZXR0ZSBkaWN0aW9uYXJ5LlxuQGZ1bmN0aW9uIGNvbG9yKCRuYW1lLCAkdmFyaWFudDogbnVsbCwgJGFscGhhOiBudWxsLCAkZGVmYXVsdDogbnVsbCkge1xuICAgICRyZXN1bHQ6ICRuYW1lO1xuICAgIEBpZiAkbmFtZSA9PSBudWxsIHtcbiAgICAgICAgQHJldHVybiBudWxsO1xuICAgIH1cbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gc3RyaW5nIHtcbiAgICAgICAgJHJlc3VsdDogbWFwLXJlYWQoJG1lbmRlbGVldi1jb2xvci1wYWxldHRlLCAkbmFtZSwgJGRlZmF1bHQpO1xuICAgIH1cblxuICAgIC8vIE1ha2UgdHJhbnNmb3JtYXRpb25zXG4gICAgQGlmICR2YXJpYW50ID09IGNvbnRyYXN0IHtcbiAgICAgICAgJGNvbnRyYXN0OiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QsICRyZXN1bHQpO1xuICAgICAgICBAaWYgJGNvbnRyYXN0ID09IG51bGwge1xuICAgICAgICAgICAgJGNvbnRyYXN0OiBjaG9vc2UtY29udHJhc3QtY29sb3IoJHJlc3VsdCwgJGJpYXM6ICRtZW5kZWxlZXYtY29sb3ItYmlhcyk7XG4gICAgICAgIH1cbiAgICAgICAgJHJlc3VsdDogJGNvbnRyYXN0O1xuICAgIH0gQGVsc2UgaWYgJHZhcmlhbnQgIT0gbnVsbCB7XG4gICAgICAgIEBlcnJvciAnSW52YWxpZCB2YXJpYW50IGZvciBjb2xvciAjeyRuYW1lfTogI3skdmFyaWFudH0nO1xuICAgIH1cbiAgICBAaWYgJGFscGhhICE9IG51bGwge1xuICAgICAgICAkcmVzdWx0OiBjaGFuZ2UtY29sb3IoJHJlc3VsdCwgJGFscGhhOiAkYWxwaGEpO1xuICAgIH1cblxuICAgIC8vIFJldHVybiByZXN1bHRcbiAgICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLyBSZXR1cm4gYSBuYW1lZCB2YXJpYW50IGZvciB0aGUgZ2l2ZW4gY29sb3IuXG5AZnVuY3Rpb24gY29sb3ItdmFyaWFudCgkY29sb3IsICR2YXJpYW50KSB7XG4gICAgQGlmIG5vdCAkY29sb3Ige1xuICAgICAgICBAcmV0dXJuIG51bGw7XG4gICAgfVxuICAgICR2YWx1ZTogaWYodHlwZS1vZigkY29sb3IpID09IHN0cmluZywgbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICRjb2xvciksICRjb2xvcik7XG4gICAgQGlmIG5vdCAkdmFsdWUge1xuICAgICAgICBAZXJyb3IgJ0NvbG9yIGRvZXMgbm90IGV4aXN0OiAje2luc3BlY3QoJGNvbG9yKX0nO1xuICAgIH1cblxuICAgIC8vIFJhdyB2YXJpYW50IGNhbGw6IHBhc3NpbmcgYSB0dXBsZSBvZiAoY29sb3ItbmFtZSwgbWl4KVxuICAgIEBpZiB0eXBlLW9mKCR2YXJpYW50KSA9PSBsaXN0IHtcbiAgICAgICAgJG90aGVyOiBjb2xvcihudGgoJHZhcmlhbnQsIDEpKTtcbiAgICAgICAgJG1peDogbnRoKCR2YXJpYW50LCAyKTtcbiAgICAgICAgQHJldHVybiBtaXgoJG90aGVyLCAkdmFsdWUsICRtaXgpO1xuICAgIH1cblxuICAgIC8vIEZldGNoIGNvbmZpZ3VyYXRpb25cbiAgICAkY2ZnOiBtYXAtZ2V0KCRtZW5kZWxlZXYtdmFyaWFudC1sZXZlbHMsICR2YXJpYW50KTtcbiAgICBAaWYgbm90ICRjZmcge1xuICAgICAgICBAZXJyb3IgJ0ludmFsaWQgdmFyaWFudDogI3skdmFyaWFudH0nO1xuICAgIH1cblxuICAgIC8vIFRyeSBjb2xvciBmcm9tIGNhY2hlXG4gICAgJHJlczogbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICcjeyRjb2xvcn0tI3skdmFyaWFudH0nKTtcbiAgICBAaWYgJHJlcyB7XG4gICAgICAgIEByZXR1cm4gJHJlcztcbiAgICB9XG5cbiAgICAvLyBDb21wdXRlIHZhcmlhdGlvblxuICAgICR2YXJpYW50LWNvbG9yOiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJGNmZyk7XG5cbiAgICAvLyBDb21wdXRlIGNvbnRyYXN0IGFuZCBzYXZlIGluIGRpY3Rpb25hcnlcbiAgICAkbGlnaHQ6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtbGlnaHQtY29udHJhc3QpO1xuICAgICRkYXJrOiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJG1lbmRlbGVldi12YXJpYW50LWRhcmstY29udHJhc3QpO1xuICAgICRjb250cmFzdDogY2hvb3NlLWNvbnRyYXN0LWNvbG9yKCR2YXJpYW50LCAkbGlnaHQsICRkYXJrLCAkbWVuZGVsZWV2LWNvbG9yLWJpYXMpO1xuICAgICRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6IG1hcC1tZXJnZSgoXG4gICAgICAgICR2YXJpYW50LWNvbG9yOiAkY29udHJhc3QsXG4gICAgICAgICRjb250cmFzdDogJHZhcmlhbnQtY29sb3IsXG4gICAgKSwgJG1lbmRlbGVldi1jb2xvcl9jb250cmFzdCkgIWdsb2JhbDtcblxuICAgIEByZXR1cm4gJHZhcmlhbnQtY29sb3I7XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIE1JWElOU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8vIERlZmluZSB0aGUgY29sb3IgYW5kIGJhY2tncm91bmQtY29sb3IgcHJvcGVydGllcy5cbi8vLyBJZiBjYWxsZWQgd2l0aCBhIHNpbmdsZSBhcmd1bWVudCwgdHJlYXRzIHRoZSBjb2xvciBhcyBhIGNvbG9yIG5hbWUgYW5kXG4vLy8gYXNzaWduIGl0IHRvIHRoZSBiYWNrZ3JvdW5kIGFuZCB0aGUgY29udHJhc3QgY29sb3IgdG8gdGhlIGZvcmVncm91bmQuXG5AbWl4aW4gY29sb3IoJGNvbG9yLCAkYm9yZGVyOiBmYWxzZSwgJGZsaXA6IGZhbHNlKSB7XG4gICAgJGJnOiBjb2xvcihudGgoJGNvbG9yLCAxKSk7XG4gICAgJGZnOiBpZih0eXBlLW9mKCRjb2xvcikgPT0gbGlzdCwgbnRoKCRjb2xvciwgMiksIG51bGwpO1xuICAgICRmZzogaWYoJGZnLCBjb2xvcigkZmcpLCBjb2xvcigkYmcsIGNvbnRyYXN0KSk7XG4gICAgQGlmICRmbGlwIHtcbiAgICAgICAgJGF1eDogJGJnO1xuICAgICAgICAkYmc6ICRmZztcbiAgICAgICAgJGZnOiAkYXV4O1xuICAgIH1cbiAgICAkcmVzOiAoY29sb3I6ICRmZywgYmFja2dyb3VuZC1jb2xvcjogJGJnKTtcblxuICAgIC8vIEFkZCBib3JkZXIgY29sb3JcbiAgICBAaWYgJGJvcmRlciA9PSBmb3JlZ3JvdW5kIG9yICRib3JkZXIgPT0gZmcge1xuICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgKGJvcmRlci1jb2xvcjogJGZnKSk7XG4gICAgfSBAZWxzZSBpZiAkYm9yZGVyID09IGJhY2tncm91bmQgb3IgJGJvcmRlciA9PSBiZyBvciAkYm9yZGVyIHtcbiAgICAgICAgJHJlczogbWFwLW1lcmdlKCRyZXMsIChib3JkZXItY29sb3I6ICRiZykpO1xuICAgIH1cblxuICAgIC8vIFNldCBwcm9wZXJ0aWVzXG4gICAgQGluY2x1ZGUgZnJvbS1tYXAoJHJlcyk7XG59XG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05GSUdVUkFUSU9OU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1lbmRlbGVldi1jb2xvci1jb25maWc6IGZhbHNlICFkZWZhdWx0O1xuQGlmIG5vdCAkbWVuZGVsZWV2LWNvbG9yLWNvbmZpZyB7XG4gICAgJHZhcmlhbnQtbGV2ZWxzOiBjb25maWcoJ2NvbG9yLnZhcmlhbnRzLmxldmVscycpO1xuICAgICRiaWFzOiAkbWVuZGVsZWV2LWNvbG9yLWJpYXM7XG5cbiAgICAvLy8gRGljdGlvbmFyeSB0aGF0IHN0b3JlcyBhbGwgbmFtZWQgY29sb3JzIHdpdGggdGhlaXIgcmVzcGVjdGl2ZSB2YWx1ZXNcbiAgICAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGU6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsIGNvbmZpZygncGFsZXR0ZScsICRmbi1lbXB0eS1tYXApKTtcblxuICAgIC8vLyBEaWN0aW9uYXJ5IG1hcHBpbmcgY29sb3IgdmFsdWVzIHRvIHRoZWlyIHJlc3BlY3RpdmUgY29udHJhc3RzXG4gICAgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKCRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QsIGNvbmZpZygnY29udHJhc3QnLCAkZm4tZW1wdHktbWFwKSk7XG5cbiAgICAvLyBDcmVhdGUgYSBsaXN0IHdpdGggYWxsIGNvbnRyYXN0cyBmcm9tIG5hbWVkIGNvbG9ycy5cbiAgICAkYWNjOiAoKTtcbiAgICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUge1xuICAgICAgICBAaWYgbm90IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1jb250cmFzdCwgJHZhbHVlKSB7XG4gICAgICAgICAgICAkbGlnaHQ6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtbGlnaHQtY29udHJhc3QpO1xuICAgICAgICAgICAgJGRhcms6IGNvbG9yLXZhcmlhbnQoJHZhbHVlLCAkbWVuZGVsZWV2LXZhcmlhbnQtZGFyay1jb250cmFzdCk7XG4gICAgICAgICAgICAkY29udHJhc3Q6IGNob29zZS1jb250cmFzdC1jb2xvcigkdmFsdWUsICRsaWdodCwgJGRhcmssICRiaWFzKTtcbiAgICAgICAgICAgICRhY2M6IG1hcC1tZXJnZSgoJHZhbHVlOiAkY29udHJhc3QsICRjb250cmFzdDogJHZhbHVlKSwgJGFjYyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJG1lbmRlbGVldi1jb2xvci1jb250cmFzdDogbWFwLW1lcmdlKCRhY2MsICRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QpICFnbG9iYWw7XG5cbiAgICAvLyBDcmVhdGUgYSBsaXN0IG9mIGNvbG9yIHJvbGVzIHVzZWQgdG8gZGVyaXZlIHRoZSBjb2xvciBjbGFzc2VzLlxuICAgIC8vIFdoZW4gY3JlYXRpbmcgdGhhdCBsaXN0LCBhbHNvIHNhdmUgYWxsIHZhcmlhbnQgY29sb3JzIGluIHRoZSBkZWZhdWx0XG4gICAgLy8gY29sb3IgZGljdGlvbmFyeS5cbiAgICAkcm9sZXM6IGNvbmZpZygnY29sb3Iucm9sZXMnKTtcblxuICAgIEBlYWNoICRjb2xvciBpbiBjb25maWcoJ2NvbG9yLnZhcmlhbnRzLmNvbG9ycycpIHtcbiAgICAgICAgLy8gU2F2ZSBtYWluIGNvbG9yXG4gICAgICAgIEBpZiBub3QgY29udGFpbnMoJHJvbGVzLCAkY29sb3IpIHtcbiAgICAgICAgICAgICRyb2xlczogYXBwZW5kKCRyb2xlcywgJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAkdmFsdWU6IG1hcC1nZXQoJG1lbmRlbGVldi1jb2xvci1wYWxldHRlLCAkY29sb3IpO1xuXG4gICAgICAgIC8vIENvbXB1dGUgY29udHJhc3RzXG4gICAgICAgICRsaWdodDogY29sb3ItdmFyaWFudCgkdmFsdWUsICRtZW5kZWxlZXYtdmFyaWFudC1saWdodC1jb250cmFzdCk7XG4gICAgICAgICRkYXJrOiBjb2xvci12YXJpYW50KCR2YWx1ZSwgJG1lbmRlbGVldi12YXJpYW50LWRhcmstY29udHJhc3QpO1xuICAgICAgICAkYWNjOiAoKTtcbiAgICAgICAgJGFjYy1jb250cmFzdDogKCk7XG4gICAgICAgIEBlYWNoICRzdWZmaXgsICRjZmcgaW4gJHZhcmlhbnQtbGV2ZWxzIHtcbiAgICAgICAgICAgICRyb2xlOiAnI3skY29sb3J9LSN7JHN1ZmZpeH0nO1xuICAgICAgICAgICAgJHJvbGVzOiBhcHBlbmQoJHJvbGVzLCAkcm9sZSk7XG4gICAgICAgICAgICAkdmFyaWFudDogY29sb3ItdmFyaWFudCgkdmFsdWUsICRjZmcpO1xuICAgICAgICAgICAgJGNvbnRyYXN0OiBjaG9vc2UtY29udHJhc3QtY29sb3IoJHZhcmlhbnQsICRsaWdodCwgJGRhcmssICRiaWFzKTtcbiAgICAgICAgICAgICRhY2M6IG1hcC1tZXJnZSgkYWNjLCAoJHJvbGU6ICR2YXJpYW50KSk7XG4gICAgICAgICAgICAkYWNjLWNvbnRyYXN0OiBtYXAtbWVyZ2UoJGFjYy1jb250cmFzdCwgKFxuICAgICAgICAgICAgICAgICR2YXJpYW50OiAkY29udHJhc3QsXG4gICAgICAgICAgICAgICAgJGNvbnRyYXN0OiAkdmFyaWFudCxcbiAgICAgICAgICAgICkpO1xuICAgICAgICB9XG4gICAgICAgICRtZW5kZWxlZXYtY29sb3ItY29udHJhc3Q6IG1hcC1tZXJnZSgkYWNjLWNvbnRyYXN0LCAkbWVuZGVsZWV2LWNvbG9yLWNvbnRyYXN0KSAhZ2xvYmFsO1xuICAgICAgICAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGU6IG1hcC1tZXJnZSgkYWNjLCAkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUpICFnbG9iYWw7XG4gICAgfVxuXG4gICAgLy8gU2F2ZSBjb25maWd1cmF0aW9uc1xuICAgICRtZW5kZWxlZXYtY29sb3ItY29uZmlnOiB0cnVlICFnbG9iYWw7XG4gICAgJG1lbmRlbGVldi1jb2xvci1yb2xlczogJHJvbGVzICFnbG9iYWw7XG4gICAgJGZuLWNvbnRyYXN0LWNvbG9yLXdoaXRlOiBjb2xvcignaW52ZXJzZS10ZXh0JykgIWdsb2JhbDtcbiAgICAkZm4tY29udHJhc3QtY29sb3ItYmxhY2s6IGNvbG9yKCdyZWd1bGFyLXRleHQnKSAhZ2xvYmFsO1xufVxuIiwKCQkiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLyBUWVBPR1JBUEhZXG4vLy8gQGdyb3VwIFR5cG9ncmFwaHlcbi8vLyBAYXV0aG9yIEbDoWJpbyBNYWPDqmRvIE1lbmRlc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJG1lbmRlbGVldi10eXBlLXNjYWxlczogKFxuICAgIG1pbm9yLXNlY29uZDogMTYvMTUsXG4gICAgbWFqb3Itc2Vjb25kOiA5LzgsXG4gICAgbWlub3ItdGhpcmQ6IDYvNSxcbiAgICBtYWpvci10aGlyZDogNS80LFxuICAgIHBlcmZlY3QtZm91cnRoOiA0LzMsXG4gICAgYXVnbWVudGVkLWZvdXJ0aDogc3FydCgyKSxcbiAgICBwZXJmZWN0LWZpZnRoOiAzLzIsXG4gICAgZ29sZGVuLXJhdGlvOiAoMSArIHNxcnQoNSkpIC8gMixcbik7XG4kbWVuZGVsZWV2LXR5cGUtc2NhbGU6ICgpICFkZWZhdWx0O1xuXG4vLy8gUmV0dXJuIGEgdHlwZSBzY2FsZSBtYXBwaW5nIGZyb20gdGhlIGFyZ3VtZW50LlxuLy8vXG4vLy8gSWYgYXJndW1lbnQgaXMgYSBudW1iZXIgcHJvdmlkZXMgYSByYXRpby1iYXNlZCBzY2FsZS5cbi8vLyBJZiBhcmd1bWVudCBpcyBhIGxpc3QsIGNvbnZlcnQgdG8gYSBtYXAgd2l0aCB0aGUgcHJvZ3Jlc3Npb246XG4vLy8gKCcxJzogZmlyc3QsICcyJzogc2Vjb25kLCAnMyc6IHRoaXJkLCAuLi5ldGMpXG4vLy8gQXJndW1lbnQgY2FuIGJlIG9uZSBvZiB0aGUgcHJlLWRlZmluZWQgdHlwZSBzY2FsZXM6IHZlcnktbmFycm93LCBuYXJyb3csIG1lZGl1bSwgd2lkZSwgdmVyeS13aWRlLlxuQGZ1bmN0aW9uIHR5cGUtc2NhbGUoJHNjYWxlKSB7XG4gICAgQGlmIHR5cGUtb2YoJHNjYWxlKSA9PSBudW1iZXIge1xuICAgICAgICBAaWYgJHNjYWxlIDwgMSB7XG4gICAgICAgICAgICBAZXJyb3IgJ1Byb2dyZXNzaW9uIGluIHR5cGUgc2NhbGUgbXVzdCBiZSBhIG51bWJlciBsYXJnZXIgdGhhbiAxJztcbiAgICAgICAgfVxuICAgICAgICAkaGVhZGluZ3M6IGV4cG9uZW50aWFsLXByb2dyZXNzaW9uKCRzY2FsZSwgNSwgJHJldmVyc2U6IHRydWUpO1xuICAgICAgICAkcmF3OiBqb2luKGxzdC10by1hcnJheSgkaGVhZGluZ3MpLCAwLjg3NSAwLjc1IDAuNjI1KTtcbiAgICAgICAgJHNjYWxlOiAoKTtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHJhdykge1xuICAgICAgICAgICAgJG46IG50aCgkcmF3LCAkaSk7XG4gICAgICAgICAgICAkc2NhbGU6IG1hcC1tZXJnZSgkc2NhbGUsIChpbnNwZWN0KCRpKTogcm91bmQoJG4gKiAxNikgLyAxNikpO1xuICAgICAgICB9XG4gICAgICAgIEByZXR1cm4gdHlwZS1zY2FsZSgkc2NhbGUpO1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkc2NhbGUpID09IGxpc3Qge1xuICAgICAgICAkcmVzdWx0OiAoKTtcbiAgICAgICAgJGtleTogbnVsbDtcbiAgICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJHNjYWxlKSB7XG4gICAgICAgICAgICAka2V5OiBxdW90ZShpbnNwZWN0KCRpKSk7XG4gICAgICAgICAgICAkcmVzdWx0OiBtYXAtbWVyZ2UoJHJlc3VsdCwgKCRrZXk6IG50aCgkc2NhbGUsICRpKSkpXG4gICAgICAgIH1cbiAgICAgICAgQHJldHVybiAkcmVzdWx0O1xuICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkc2NhbGUpID09IG1hcCB7XG4gICAgICAgIEBpZiBub3QgbWFwLWhhcy1rZXlzKCRzY2FsZSwgKCcxJywgJzInLCAnMycsICc0JywgJzUnLCAnNicpKSB7XG4gICAgICAgICAgICBAZXJyb3IgJ01hcCBtdXN0IHNob3cgcHJvZ3Jlc3Npb24gZnJvbSAxLCAzLCB1cCB0byBhdCBsZWFzdCA2JztcbiAgICAgICAgfVxuICAgICAgICBAcmV0dXJuICRzY2FsZTtcbiAgICB9IEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtZW5kZWxlZXYtdHlwZS1zY2FsZXMsICRzY2FsZSkge1xuICAgICAgICBAcmV0dXJuIHR5cGUtc2NhbGUobWFwLWdldCgkbWVuZGVsZWV2LXR5cGUtc2NhbGVzLCAkc2NhbGUpKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGVycm9yICdXcm9uZyBhcmd1bWVudCBmb3IgZ2V0LXR5cGUtc2NhbGU6ICN7JHNjYWxlfSc7XG4gICAgfVxufVxuXG4vLy8gUmV0dXJuIGEgZm9udCBwcm9wZXJ0eSBsaWtlIGZhbWlseSwgbGluZS1oZWlnaHQsIGxldHRlci1zcGFjaW5nLCBzaXplLFxuLy8vIHRyYW5zZm9ybSwgb3Igd2VpZ2h0LlxuLy8vXG4vLy8gQGFyZyAkcHJvcCAtIFByb3BlcnR5IG5hbWVcbi8vLyBAYXJnICR3aGljaCAtIElmIGdpdmVuLCBtdXN0IGJlIGVpdGhlciBoZWFkaW5ncyBvciBwYXJhZ3JhcGggYW5kIGRlbm90ZXNcbi8vLyAgICAgICAgICAgICAgIHdoaWNoIHNlY3Rpb24gdG8gbG9vayBmb3IgdGhlIHByb3BlcnR5XG5AZnVuY3Rpb24gZm9udC1wcm9wZXJ0eSgkcHJvcCwgJHdoaWNoOiBwYXJhZ3JhcGgpIHtcbiAgICAkY29uZjogY29uZmlnKCd0eXBvZ3JhcGh5JywgJHdoaWNoKTtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGNvbmYsICRwcm9wKSB7XG4gICAgICAgIEByZXR1cm4gbWFwLWdldCgkY29uZiwgJHByb3ApO1xuICAgIH1cbiAgICBAcmV0dXJuIGNvbmZpZygndHlwb2dyYXBoeS4jeyRwcm9wfScpO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUlYSU5TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gX2hlYWRpbmctdmVydGljYWwtcmh5dGhtKCRyYXRpbykge1xuICAgICRsZWFkOiBjb25maWcoJ3R5cG9ncmFwaHkubGVhZCcpO1xuICAgICRoLWxlYWQ6IGNvbmZpZygndHlwb2dyYXBoeS5oZWFkaW5nLWxlYWQnKTtcbiAgICAkZGVzY2VuZGVyOiAwLjE7XG4gICAgJG1hcmdpbi1ib3R0b206IDAuNSAqICgxLjIgLSAkcmF0aW8gKiAkZGVzY2VuZGVyKTtcbiAgICAkaGVpZ2h0LXVuaXRzOiAkbWFyZ2luLWJvdHRvbSArICRyYXRpbyAqICRoLWxlYWQgLyAkbGVhZDtcbiAgICAkZGVsdGE6IGNlaWwoJGhlaWdodC11bml0cykgLSAkaGVpZ2h0LXVuaXRzO1xuICAgIGZvbnQtc2l6ZTogJHJhdGlvICogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogJGgtbGVhZDtcbiAgICBtYXJnaW46ICgkbGVhZCAqICgxICsgJGRlbHRhKSAqIDFyZW0pIDAgKCRsZWFkICogJG1hcmdpbi1ib3R0b20gKiAxcmVtKSAwO1xufVxuXG5AbWl4aW4gaGVhZGluZ3MtdHlwZS1zY2FsZSgkZmFjdG9yKSB7XG4gICAgJHNjYWxlOiBtYXAtcmVtb3ZlKHR5cGUtc2NhbGUoJGZhY3RvciksICc1JywgJzYnLCAnNycsICc4Jyk7XG4gICAgQGVhY2ggJG4sICRyYXRpbyBpbiAkc2NhbGUge1xuICAgICAgICAkc2VsZWN0b3I6IHVucXVvdGUoJ2gjeyRufSwgLmgjeyRufScpO1xuICAgICAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgX2hlYWRpbmctdmVydGljYWwtcmh5dGhtKCRyYXRpbyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgaDUsIC5oNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRtZW5kZWxlZXYtbGVhZDtcbiAgICAgICAgbWFyZ2luOiAoJG1lbmRlbGVldi1sZWFkICogMS41cmVtKSAwICgkbWVuZGVsZWV2LWxlYWQgKiAwLjVyZW0pIDA7XG4gICAgfVxuICAgIGg2LCAuaDYge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNDI4NTcxNDMgKiAkbWVuZGVsZWV2LWxlYWQ7XG4gICAgICAgIG1hcmdpbjogKCRtZW5kZWxlZXYtbGVhZCAqIDEuNXJlbSkgMCAoJG1lbmRlbGVldi1sZWFkICogMC41cmVtKSAwO1xuICAgIH1cbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTkZJR1VSQVRJT05TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVuZGVsZWV2LXR5cG9ncmFwaHktY29uZmlnOiBmYWxzZSAhZGVmYXVsdDtcbkBpZiBub3QgJG1lbmRlbGVldi10eXBvZ3JhcGh5LWNvbmZpZyB7XG5cbiAgICAvLyBDb21wdXRlIHR5cGUgc2NhbGVzXG4gICAgJHR5cGUtc2NhbGVzOiAoKTtcbiAgICBAZWFjaCAkYnAsICRmYWN0b3IgaW4gY29uZmlnKCd0eXBvZ3JhcGh5LnNjYWxlJykge1xuICAgICAgICAkdHlwZS1zY2FsZXM6IG1hcC1tZXJnZSgkdHlwZS1zY2FsZXMsICgkZmFjdG9yOiB0eXBlLXNjYWxlKCRmYWN0b3IpKSk7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIHRoZSByZXNwb25zaXZlIHR5cGUgc2NhbGVcbiAgICAkc2NhbGU6ICgpO1xuICAgIEBlYWNoICRuIGluICgnMScsICcyJywgJzMnLCAnNCcsICc1JywgJzYnLCAnNycsICc4Jykge1xuXG4gICAgICAgICRkYXRhOiAoKTtcbiAgICAgICAgQGVhY2ggJGJwLCAkZmFjdG9yIGluIGNvbmZpZygndHlwb2dyYXBoeS5zY2FsZScpIHtcbiAgICAgICAgICAgICR0eXBlLXNjYWxlOiBtYXAtZ2V0KCR0eXBlLXNjYWxlcywgJGZhY3Rvcik7XG4gICAgICAgICAgICAkc2l6ZTogbWFwLWdldCgkdHlwZS1zY2FsZSwgJG4pICogMXJlbTtcblxuICAgICAgICAgICAgQGlmICRicCA9PSAnc3RhcnQnIHtcbiAgICAgICAgICAgICAgICAkZGF0YTogbWFwLW1lcmdlKCRkYXRhLCAoZm9udC1zaXplOiAkc2l6ZSkpO1xuICAgICAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICAgICAgJGJwOiBjb25maWcoJ2JyZWFrcG9pbnRzLiN7JGJwfScpO1xuICAgICAgICAgICAgICAgICRtZWRpYTogJ0BtZWRpYScgKG1pbi13aWR0aDogJGJwKTtcbiAgICAgICAgICAgICAgICAkZGF0YTogbWFwLW1lcmdlKCRkYXRhLCAoJG1lZGlhOiAoZm9udC1zaXplOiAkc2l6ZSkpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkc2NhbGU6IG1hcC1tZXJnZSgkc2NhbGUsICgnJiN7JG59JzogJGRhdGEpKTtcbiAgICB9XG4gICAgLy9AZXJyb3IgJHNjYWxlO1xuICAgICRtZW5kZWxlZXYtdHlwZS1zY2FsZTogJHNjYWxlICFnbG9iYWw7XG4gICAgJG1lbmRlbGVldi10eXBvZ3JhcGh5LWNvbmZpZzogdHJ1ZSAhZ2xvYmFsO1xufVxuXG4vL0BlcnJvciAkbWVuZGVsZWV2LXR5cGUtc2NhbGU7XG4iLAoJCSIvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vIE1JWElOUyBUSEFUIEhFTFAgQ1JFQVRJTkcgVVRJTElUWSBDTEFTU0VTXG4vLy8gQGdyb3VwIFV0aWxpdGllc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AZnVuY3Rpb24gbWVuZGVsZWV2LW1ha2UtcGFpcigkcHJvcCwgJGZ1bmMsICR2YWx1ZSkge1xuICAgIEByZXR1cm4gKCRwcm9wOiBjYWxsKGFzLWZ1bmMoJGZ1bmMpLCAkdmFsdWUpKTtcbn1cblxuQGZ1bmN0aW9uIG1lbmRlbGVldi1jb2xvci1yb2xlKCR2YWx1ZSkge1xuICAgIEByZXR1cm4gKFxuICAgICAgICBjb2xvcjogY29sb3IoJHZhbHVlLCBjb250cmFzdCksXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGNvbG9yKCR2YWx1ZSksXG4gICAgKTtcbn1cblxuLy8vIERlY2xhcmVzIGEgY3NzIHZhcmlhYmxlIHdpdGggYSBwb3NzaWJsZSBmYWxsYmFjay5cbi8vL1xuLy8vIEBhcmdzICR2YXIgLSBOYW1lIG9mIGNzcyB2YXJpYWJsZSAocHJlZml4IGRhc2hlcywgaW5jbHVkZWQpXG4vLy8gQGFyZ3MgJGZhbGxiYWNrIC0gT3B0aW9uYWwgZmFsbGJhY2sgdmFsdWVcbkBmdW5jdGlvbiBjc3MtdmFyKCR2YXIsICRmYWxsYmFjazogbnVsbCkge1xuICAgIEByZXR1cm4gaWYoJGZhbGxiYWNrLCB1bnF1b3RlKCd2YXIoI3skdmFyfSwgI3skZmFsbGJhY2t9KScpLCB1bnF1b3RlKCd2YXIoI3skdmFyfSknKSk7XG59XG5cbiRtZW5kZWxlZXYtbWFrZS1wYWlyLWZuOiBhcy1mdW5jKG1lbmRlbGVldi1tYWtlLXBhaXIpO1xuJG1lbmRlbGVldi1jb2xvci1yb2xlLWZuOiBhcy1mdW5jKG1lbmRlbGVldi1jb2xvci1yb2xlKTtcbiRtZW5kZWxlZXYtc2l6aW5nLWZuOiBhcy1mdW5jKHNpemluZyk7XG4kbWVuZGVsZWV2LXNpemluZy1zY2FsZS1mbjogYXMtZnVuYyhzaXppbmctc2NhbGUpO1xuJG1lbmRlbGVldi1zcGVjaWFsLXByb3BlcnRpZXM6IChcbiAgICAvL1xuICAgIC8vIFNpemluZ1xuICAgIGJvcmRlci1yYWRpdXM6XG4gICAgICAgICgkbWVuZGVsZWV2LW1ha2UtcGFpci1mbiwgKCdib3JkZXItcmFkaXVzJywgc2l6ZSkpLFxuICAgIG1hcmdpbjpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLWZuLCAobWFyZ2luLCkpLFxuICAgIGhlaWdodDpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLWZuLCAoaGVpZ2h0LCkpLFxuICAgIHBhZDpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLWZuLCAocGFkZGluZywpKSxcbiAgICBwYWRkaW5nOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sIChwYWRkaW5nLCkpLFxuICAgIHdpZHRoOlxuICAgICAgICAoJG1lbmRlbGVldi1zaXppbmctZm4sICh3aWR0aCwpKSxcbiAgICBtYXJnaW4tc2NhbGU6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1zY2FsZS1mbiwgKG1hcmdpbiwpKSxcbiAgICBoZWlnaHQtc2NhbGU6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1zY2FsZS1mbiwgKGhlaWdodCwpKSxcbiAgICBwYWQtc2NhbGU6XG4gICAgICAgICgkbWVuZGVsZWV2LXNpemluZy1zY2FsZS1mbiwgKHBhZGRpbmcsKSksXG4gICAgcGFkZGluZy1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAocGFkZGluZywpKSxcbiAgICB3aWR0aC1zY2FsZTpcbiAgICAgICAgKCRtZW5kZWxlZXYtc2l6aW5nLXNjYWxlLWZuLCAod2lkdGgsKSksXG4gICAgLy9cbiAgICAvLyBDb2xvcnNcbiAgICBjb2xvci1yb2xlOlxuICAgICAgICAoJG1lbmRlbGVldi1jb2xvci1yb2xlLWZuLCAkZm4tZW1wdHktYXJyYXkpLFxuICAgIGNvbG9yOlxuICAgICAgICAoJG1lbmRlbGVldi1tYWtlLXBhaXItZm4sICgnY29sb3InLCAnY29sb3InKSksXG4gICAgYmFja2dyb3VuZC1jb2xvcjpcbiAgICAgICAgKCRtZW5kZWxlZXYtbWFrZS1wYWlyLWZuLCAoJ2JhY2tncm91bmQtY29sb3InLCAnY29sb3InKSksXG4gICAgYm9yZGVyLWNvbG9yOlxuICAgICAgICAoJG1lbmRlbGVldi1tYWtlLXBhaXItZm4sICgnYm9yZGVyLWNvbG9yJywgJ2NvbG9yJykpLFxuKTtcblxuLy8vIEluY2x1ZGUgYWxsIGl0ZW1zIG9uIG1hcCBhcyBwYWlycyBvZiBgcHJvcGVydHk6IHZhbHVlYC5cbi8vL1xuLy8vIFNvbWUgcHJvcGVydGllcyBoYXZlIGEgc3BlY2lhbCB0cmVhdG1lbnQ6XG4vLy8gICogcGFkZGluZy9wYWQvd2lkdGgvaGVpZ2h0L21hcmdpbjpcbi8vLyAgICAgICAgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gc2l6ZXMsIGFuZCBtYXBwaW5ncyBhcmUgZXhwYW5kZWRcbi8vLyAgICAgICAgaW50byBkaXJlY3Rpb25zLlxuLy8vICAqIHBhZGRpbmctc2NhbGUvcGFkLXNjYWxlLy4uLjpcbi8vLyAgICAgICAgbGlrZSBiZWZvcmUsIGJ1dCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byB0aGUgc2l6aW5nIHNjYWxlLlxuLy8vICAqIGNvbG9yL2JhY2tncm91bmQtY29sb3IvYm9yZGVyLWNvbG9yOlxuLy8vICAgICAgICBpbmNsdWRlIGNvbG9yIGJ5IHZhbHVlIG9yIG5hbWUuXG5AbWl4aW4gb3B0aW9ucygkbWFwLCAkc3VmZml4OiBudWxsKSB7XG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgICAvLyBIYW5kbGUgc3BlY2lhbCBwcm9wZXJ0aWVzOiBzaXplc1xuICAgICAgICAkc3BlY2lhbDogbWFwLWdldCgkbWVuZGVsZWV2LXNwZWNpYWwtcHJvcGVydGllcywgJGtleSk7XG4gICAgICAgIEBpZiAkc3BlY2lhbCB7XG4gICAgICAgICAgICAkZnVuYzogbnRoKCRzcGVjaWFsLCAxKTtcbiAgICAgICAgICAgICRhcmdzOiBhcHBlbmQobnRoKCRzcGVjaWFsLCAyKSwgJHZhbHVlKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZyb20tbWFwKGNhbGwoJGZ1bmMsICRhcmdzLi4uKSwgJHN1ZmZpeCk7XG4gICAgICAgIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpID09IG1hcCB7XG4gICAgICAgICAgICAjeyRrZXl9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBvcHRpb25zKCR2YWx1ZSwgJHN1ZmZpeCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGlmICR2YWx1ZSAhPSBudWxsIHtcbiAgICAgICAgICAgICAgICAjeyRrZXl9OiAkdmFsdWUgJHN1ZmZpeDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVFlQT0dSQVBIWVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLnNjYWxlJywgKFxuICAgICAgICAgICAgJy50ZXh0LSc6ICRtZW5kZWxlZXYtdHlwZS1zY2FsZSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gU2ltcGxlIHN5c3RlbSBmb250IHN0eWxlczogZm9udC1zYW5zLCBmb250LXNlcmlmLCBmb250LW1vbm8sIGZvbnQtY3Vyc2l2ZVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLmZvbnRzJywgKFxuICAgICAgICAgICAgZm9udC1mYW1pbHk6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBzYW5zLXNlcmlmOiBjb25maWcoJ3R5cG9ncmFwaHkuc2Fucy1zZXJpZicpLFxuICAgICAgICAgICAgICAgICAgICBzZXJpZjogY29uZmlnKCd0eXBvZ3JhcGh5LnNlcmlmJyksXG4gICAgICAgICAgICAgICAgICAgIGN1cnNpdmU6IGNvbmZpZygndHlwb2dyYXBoeS5jdXJzaXZlJyksXG4gICAgICAgICAgICAgICAgICAgIG1vbm9zcGFjZTogY29uZmlnKCd0eXBvZ3JhcGh5Lm1vbm9zcGFjZScpLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBGb250IHdlaWdodFxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLndlaWdodHMnLCAoXG4gICAgICAgICAgICBmb250LXdlaWdodDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHRoaW46IDEwMCxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmEtbGlnaHQ6IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgbGlnaHQ6IDMwMCxcbiAgICAgICAgICAgICAgICAgICAgcmVndWxhcjogNDAwLFxuICAgICAgICAgICAgICAgICAgICBtZWRpdW06IDUwMCxcbiAgICAgICAgICAgICAgICAgICAgc2VtaS1ib2xkOiA2MDAsXG4gICAgICAgICAgICAgICAgICAgIGJvbGQ6IDcwMCxcbiAgICAgICAgICAgICAgICAgICAgZXh0cmEtYm9sZDogODAwLFxuICAgICAgICAgICAgICAgICAgICBibGFjazogOTAwLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTdHlsZXMsIGRlY29yYXRpb25zIGFuZCB0ZXh0IHRyYW5zZm9ybVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLnN0eWxlcycsIChcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBpdGFsaWM6IGl0YWxpYyxcbiAgICAgICAgICAgICAgICAgICAgcm9tYW46IG5vcm1hbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgdXBwZXJjYXNlOiB1cHBlcmNhc2UsXG4gICAgICAgICAgICAgICAgICAgIGxvd2VyY2FzZTogbG93ZXJjYXNlLFxuICAgICAgICAgICAgICAgICAgICBjYXBpdGFsaXplOiBjYXBpdGFsaXplLFxuICAgICAgICAgICAgICAgICAgICBub3JtYWxjYXNlOiBub25lLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgdW5kZXJsaW5lOiB1bmRlcmxpbmUsXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtdGhyb3VnaDogbGluZS10aHJvdWdoLFxuICAgICAgICAgICAgICAgICAgICBuby11bmRlcmxpbmU6IG5vbmVcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBUZXh0IGFsaWdubWVudFxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLmFsaWdubWVudCcsIChcbiAgICAgICAgICAgIHRleHQtYWxpZ246XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5OiBqdXN0aWZ5LFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgICAgICAgICAgICAgIHRvcDogdG9wLFxuICAgICAgICAgICAgICAgICAgICBtaWRkbGU6IG1pZGRsZSxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBib3R0b20sXG4gICAgICAgICAgICAgICAgICAgIHRleHQtdG9wOiB0ZXh0LXRvcCxcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1ib3R0b206IHRleHQtYm90dG9tLFxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFdoaXRlc3BhY2VcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3R5cG9ncmFwaHkubW9kdWxlcy53aGl0ZS1zcGFjZScsIChcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgbm9ybWFsOiBub3JtYWwsXG4gICAgICAgICAgICAgICAgICAgIG5vd3JhcDogbm93cmFwLFxuICAgICAgICAgICAgICAgICAgICBwcmU6IHByZSxcbiAgICAgICAgICAgICAgICAgICAgcHJlLWxpbmU6IHByZS1saW5lLFxuICAgICAgICAgICAgICAgICAgICBwcmUtd3JhcDogcHJlLXdyYXAsXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTGVhZGluZ1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLmxlYWRpbmcnLCAoXG4gICAgICAgICAgICBsaW5lLWhlaWdodDpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGxlYWRpbmc6IGNvbmZpZygndHlwb2dyYXBoeS5sZWFkJyksXG4gICAgICAgICAgICAgICAgICAgIGxlYWRpbmctdGl0bGU6IGNvbmZpZygndHlwb2dyYXBoeS5oZWFkaW5nLWxlYWQnKSxcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZy1zb2xpZDogMSxcbiAgICAgICAgICAgICAgICAgICAgbGVhZGluZy1sb29zZTogMixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTWVhc3VyZVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLm1lYXN1cmUnLCAoXG4gICAgICAgICAgICBtYXgtd2lkdGg6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBtZWFzdXJlOiAyOWVtLCAvLyB+IDY1IGNoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgbWVhc3VyZS13aWRlOiAzOGVtLCAvLyB+IDg1IGNoYXJhY3RlcnNcbiAgICAgICAgICAgICAgICAgICAgbWVhc3VyZS1uYXJyb3c6IDIwZW0sIC8vIH4gNDUgY2hhcmFjdGVyc1xuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEluZGVudGF0aW9uXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0eXBvZ3JhcGh5Lm1vZHVsZXMuaW5kZW50JywgKFxuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQ6IDEuNWVtLFxuICAgICAgICAgICAgICAgICAgICBpbmRlbnQtcHVuY3R1YXRpb246IC0wLjNlbSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAndHlwb2dyYXBoeS5tb2R1bGVzLmluZGVudCcsIChcbiAgICAgICAgICAgICcudHJ1bmNhdGUnOiAoXG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcCxcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuLFxuICAgICAgICAgICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzLFxuICAgICAgICAgICAgKVxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBEaXJlY3Rpb25cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3R5cG9ncmFwaHkubW9kdWxlcy5kaXJlY3Rpb24nLCAoXG4gICAgICAgICAgICBkaXJlY3Rpb246XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBydGw6IHJ0bCxcbiAgICAgICAgICAgICAgICAgICAgbHRyOiBsdHIsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xufVxuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERFRklORSBUSEUgREVGQVVMVCBTSVpJTkcgU0NBTEVcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiAkbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllcyB7XG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFBBRERJTkcgU0NBTEVcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3BhZGRpbmcnLCAoXG4gICAgICAgICAgICBwYWRkaW5nOlxuICAgICAgICAgICAgICAgICgnLnBhZC0nLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKVxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdwYWRkaW5nJywgKFxuICAgICAgICAgICAgJy5wYWQteCc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogbnVsbCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5wYWQteSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogbnVsbCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ3BhZGRpbmcnLCAoXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6XG4gICAgICAgICAgICAgICAgKCcucGFkLWwnLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSxcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6XG4gICAgICAgICAgICAgICAgKCcucGFkLXInLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSxcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOlxuICAgICAgICAgICAgICAgICgnLnBhZC10JywgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpcbiAgICAgICAgICAgICAgICAoJy5wYWQtYicsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBNQVJHSU4gU0NBTEVcblxuICAgICRtZW5kZWxlZXYtc2l6ZXMtYXV0bzogbWFwLW1lcmdlKChhdXRvOiBhdXRvKSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdtYXJnaW4nLCAoXG4gICAgICAgICAgICBtYXJnaW46XG4gICAgICAgICAgICAgICAgKCcubWFyZ2luLScsIG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgICRtZW5kZWxlZXYtc2l6ZXMtYXV0byxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG4pXG4gICAgICAgICAgICAgICAgKSlcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnbWFyZ2luJywgKFxuICAgICAgICAgICAgJy5tYXJnaW4tJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCB4KSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG54KVxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ21hcmdpbicsIChcbiAgICAgICAgICAgICcubWFyZ2luLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKCRtZW5kZWxlZXYtc2l6ZXMtYXV0bywgeSksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMobWFwLWFwcGx5LXZhbHVlcyhuZWdhdGUsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLCBueSlcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogbnVsbCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ21hcmdpbicsIChcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OlxuICAgICAgICAgICAgICAgICgnLm1hcmdpbi0nLCBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCBsKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG5sKVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OlxuICAgICAgICAgICAgICAgICgnLm1hcmdpbi0nLCBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMoJG1lbmRlbGVldi1zaXplcy1hdXRvLCByKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cyhtYXAtYXBwbHktdmFsdWVzKG5lZ2F0ZSwgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSksIG5yKVxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgbWFyZ2luLXRvcDpcbiAgICAgICAgICAgICAgICAoJy5tYXJnaW4tJywgbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKCRtZW5kZWxlZXYtc2l6ZXMtYXV0bywgdCksXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXAtcHJlZml4LWtleXMobWFwLWFwcGx5LXZhbHVlcyhuZWdhdGUsICRtZW5kZWxlZXYtc2l6ZS1zY2FsZS1yZW0pLCBudClcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206XG4gICAgICAgICAgICAgICAgKCcubWFyZ2luLScsIG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcC1wcmVmaXgta2V5cygkbWVuZGVsZWV2LXNpemVzLWF1dG8sIGIpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbWFwLXByZWZpeC1rZXlzKG1hcC1hcHBseS12YWx1ZXMobmVnYXRlLCAkbWVuZGVsZWV2LXNpemUtc2NhbGUtcmVtKSwgbmIpXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFNJWkVTXG5cbiAgICAkbWVuZGVsZWV2LXNpemVzOiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSwgKFxuICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICBhdmFpbGFibGU6IGF2YWlsYWJsZSxcbiAgICAgICAgZml0OiBmaXQtY29udGVudCxcbiAgICAgICAgbWF4OiBtYXgtY29udGVudCxcbiAgICAgICAgbWluOiBtaW4tY29udGVudCxcbiAgICApKTtcblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdzaXplcycsIChcbiAgICAgICAgICAgICcuc2l6ZS0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtc2l6ZXMsXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBudWxsLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgLy8gSG9yaXpvbnRhbCBhbmQgdmVydGljYWxcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdzaXplcycsIChcbiAgICAgICAgICAgIHdpZHRoOlxuICAgICAgICAgICAgICAgICgnLnNpemUteCcsICRtZW5kZWxlZXYtc2l6ZXMpLFxuICAgICAgICAgICAgaGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLnNpemUteScsICRtZW5kZWxlZXYtc2l6ZXMpLFxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6XG4gICAgICAgICAgICAgICAgKCcubGluZS1oZWlnaHQtJywgbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1zaXplLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAgICAgICAgIChub3JtYWw6IG5vcm1hbClcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdzaXppbmcnLCAoXG4gICAgICAgICAgICB3aWR0aDpcbiAgICAgICAgICAgICAgICAoJy53aWR0aC0nLCAkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZSksXG4gICAgICAgICAgICBtYXgtd2lkdGg6XG4gICAgICAgICAgICAgICAgKCcubWF4LXdpZHRoLScsICRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlKSxcbiAgICAgICAgICAgIG1pbi13aWR0aDpcbiAgICAgICAgICAgICAgICAoJy5taW4td2lkdGgtJywgJG1lbmRlbGVldi1ncmlkLXNpemUtc2NhbGUpLFxuICAgICAgICAgICAgaGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLmhlaWdodC0nLCAkbWVuZGVsZWV2LWdyaWQtc2l6ZS1zY2FsZSksXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OlxuICAgICAgICAgICAgICAgICgnLm1heC1oZWlnaHQtJywgJG1lbmRlbGVldi1ncmlkLXNpemUtc2NhbGUpLFxuICAgICAgICAgICAgbWluLWhlaWdodDpcbiAgICAgICAgICAgICAgICAoJy5taW4taGVpZ2h0LScsICRtZW5kZWxlZXYtZ3JpZC1zaXplLXNjYWxlKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVFJPTCBMQVlPVVQgKE9WRVJGTE9XLCBGTE9BVFMsIERJU1BMQVksIFBPU0lUSU9OKVxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcblxuICAgIC8vIENvbnRhaW5lclxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdsYXlvdXQuY29udGFpbmVyJywgKFxuICAgICAgICAgICAgJy5jb250YWluZXItMSc6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIChtYXgtd2lkdGg6IDQ0cmVtICsgMiAqICRtZW5kZWxlZXYtdW5pdC1zaXplKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcuY29udGFpbmVyLTInOiBtYXAtbWVyZ2UoXG4gICAgICAgICAgICAgICAgICAgICRtZW5kZWxlZXYtY29udGFpbmVyLFxuICAgICAgICAgICAgICAgICAgICAobWF4LXdpZHRoOiAzOHJlbSArIDIgKiAkbWVuZGVsZWV2LXVuaXQtc2l6ZSlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNvbnRhaW5lci0zJzogbWFwLW1lcmdlKFxuICAgICAgICAgICAgICAgICAgICAkbWVuZGVsZWV2LWNvbnRhaW5lcixcbiAgICAgICAgICAgICAgICAgICAgKG1heC13aWR0aDogMjlyZW0gKyAyICogJG1lbmRlbGVldi11bml0LXNpemUpXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5jb250YWluZXItNCc6IG1hcC1tZXJnZShcbiAgICAgICAgICAgICAgICAgICAgJG1lbmRlbGVldi1jb250YWluZXIsXG4gICAgICAgICAgICAgICAgICAgIChtYXgtd2lkdGg6IDIwcmVtICsgMiAqICRtZW5kZWxlZXYtdW5pdC1zaXplKVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucmFpc2UtZmlyc3QgPiAqOmZpcnN0LWNoaWxkJzogKFxuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICApKTtcblxuICAgIC8vIFBvc2l0aW9uIG9uIHBhZ2UgKHBpbiwgcGluLWxlZnQsIHBpbi10b3AsIGV0YylcbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnbGF5b3V0LnBvc2l0aW9uJywgKFxuICAgICAgICAgICAgJy5waW4nOiAoXG4gICAgICAgICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICAgICByaWdodDogMCxcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucGluLW5vbmUnOiAoXG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvLFxuICAgICAgICAgICAgICAgIGJvdHRvbTogYXV0byxcbiAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucGluLXgnOiAoXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAsXG4gICAgICAgICAgICAgICAgbGVmdDogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnBpbi15JzogKFxuICAgICAgICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICAgICAgICBib3R0b206IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tbGVmdCc6IChcbiAgICAgICAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucGluLXJpZ2h0JzogKFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAwLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICcucGluLXRvcCc6IChcbiAgICAgICAgICAgICAgICB0b3A6IDAsXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5waW4tYm90dG9tJzogKFxuICAgICAgICAgICAgICAgIGJvdHRvbTogMCxcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgLy8gRGlzcGxheVxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2xheW91dC5kaXNwbGF5JywgKFxuICAgICAgICAgICAgZGlzcGxheTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGJsb2NrOiBibG9jayxcbiAgICAgICAgICAgICAgICAgICAgaW5saW5lOiBpbmxpbmUsXG4gICAgICAgICAgICAgICAgICAgIGlubGluZS1ibG9jazogaW5saW5lLWJsb2NrLFxuICAgICAgICAgICAgICAgICAgICB0YWJsZTogdGFibGUsXG4gICAgICAgICAgICAgICAgICAgIHRhYmxlLWNlbGw6IHRhYmxlLWNlbGwsXG4gICAgICAgICAgICAgICAgICAgIGlubGluZS1mbGV4OiBpbmxpbmUtZmxleCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLyBGbG9hdFxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2xheW91dC5mbG9hdCcsIChcbiAgICAgICAgICAgIGZsb2F0OlxuICAgICAgICAgICAgICAgICgnLmZsb2F0LScsIChcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogbGVmdCxcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBub25lOiBub25lLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vIFBvc2l0aW9uIChhYnNvbHV0ZSwgcmVsYXRpdmUsIGV0YylcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdsYXlvdXQucG9zaXRpb24nLCAoXG4gICAgICAgICAgICBwb3NpdGlvbjpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIGFic29sdXRlOiBhYnNvbHV0ZSxcbiAgICAgICAgICAgICAgICAgICAgZml4ZWQ6IGZpeGVkLFxuICAgICAgICAgICAgICAgICAgICByZWxhdGl2ZTogcmVsYXRpdmUsXG4gICAgICAgICAgICAgICAgICAgIHN0YXRpYzogc3RhdGljLFxuICAgICAgICAgICAgICAgICAgICBzdGlja3k6IHN0aWNreSxcbiAgICAgICAgICAgICAgICApKVxuICAgICAgICApKTtcblxuICAgIC8vIE92ZXJmbG93XG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnbGF5b3V0Lm92ZXJmbG93JywgKFxuICAgICAgICAgICAgb3ZlcmZsb3c6XG4gICAgICAgICAgICAgICAgKCcub3ZlcmZsb3ctJywgKFxuICAgICAgICAgICAgICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGhpZGRlbixcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsOiBzY3JvbGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBvdmVyZmxvdy14OlxuICAgICAgICAgICAgICAgICgnLm92ZXJmbG93LXgtJywgKFxuICAgICAgICAgICAgICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGhpZGRlbixcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsOiBzY3JvbGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBvdmVyZmxvdy15OlxuICAgICAgICAgICAgICAgICgnLm92ZXJmbG93LXktJywgKFxuICAgICAgICAgICAgICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICAgICAgICAgICAgICBoaWRkZW46IGhpZGRlbixcbiAgICAgICAgICAgICAgICAgICAgdmlzaWJsZTogdmlzaWJsZSxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsOiBzY3JvbGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xufVxuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJPUkRFUlNcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiAkbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllcyB7XG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEJvcmRlciBzaXplIChweClcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdib3JkZXInLCAoXG4gICAgICAgICAgICBib3JkZXI6XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLScsICRtZW5kZWxlZXYtYm9yZGVyLXNjYWxlKSxcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OlxuICAgICAgICAgICAgICAgICgnLmJvcmRlci1sJywgJG1lbmRlbGVldi1ib3JkZXItc2NhbGUpLFxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OlxuICAgICAgICAgICAgICAgICgnLmJvcmRlci1yJywgJG1lbmRlbGVldi1ib3JkZXItc2NhbGUpLFxuICAgICAgICAgICAgYm9yZGVyLXRvcDpcbiAgICAgICAgICAgICAgICAoJy5ib3JkZXItdCcsICRtZW5kZWxlZXYtYm9yZGVyLXNjYWxlKSxcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLWInLCAkbWVuZGVsZWV2LWJvcmRlci1zY2FsZSksXG4gICAgICAgICAgICBib3JkZXItc3R5bGU6XG4gICAgICAgICAgICAgICAgKCcuYm9yZGVyLScsIChcbiAgICAgICAgICAgICAgICAgICAgc29saWQ6IHNvbGlkLFxuICAgICAgICAgICAgICAgICAgICBkYXNoZWQ6IGRhc2hlZCxcbiAgICAgICAgICAgICAgICAgICAgZG90dGVkOiBkb3R0ZWQsXG4gICAgICAgICAgICAgICAgICAgIG5vbmU6IG5vbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIFJvdW5kZWQgY29ybmVyc1xuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdyb3VuZGVkJywgKFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEFsbCBkaXJlY3Rpb25zXG4gICAgICAgICAgICAnLnJvdW5kZWQtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXJhZGl1cy1zY2FsZS1yZW0sXG4gICAgICAgICAgICAgICAgJGNzczogKFxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIERpcmVjdGlvbmFsIHJvdW5kZWQgY29ybmVyc1xuICAgICAgICAgICAgJy5yb3VuZGVkLXQnOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtcmFkaXVzLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgJy5yb3VuZGVkLWInOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtcmFkaXVzLXNjYWxlLXJlbSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgJy5yb3VuZGVkLXInOnNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBudWxsLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgJy5yb3VuZGVkLWwnOnNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1yYWRpdXMtc2NhbGUtcmVtLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogbnVsbCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRkxFWCBCT1hFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1lbmRlbGVldi1ndXR0ZXItc2NhbGU6ICRmbi1lbXB0eS1tYXA7XG5AZWFjaCAkayBpbiAoMSwgMiwgMywgNCkge1xuICAgICRzaXplOiBzaXplLXNjYWxlKCRrKTtcbiAgICAkY3NzOiAoXG4gICAgICAgIG1hcmdpbjogdW5xdW90ZSgnI3skc2l6ZX0gLSN7JHNpemV9JyksXG4gICAgICAgICc+IConOiAoXG4gICAgICAgICAgICBtYXJnaW46ICRzaXplLFxuICAgICAgICApLFxuICAgICAgICAnJiArICYnOihcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0kc2l6ZSxcbiAgICAgICAgKSxcbiAgICApO1xuICAgICRtZW5kZWxlZXYtZ3V0dGVyLXNjYWxlOiBtYXAtbWVyZ2UoJG1lbmRlbGVldi1ndXR0ZXItc2NhbGUsICgnJiN7JGt9JzogJGNzcykpO1xufVxuXG5AaWYgJG1lbmRlbGVldi1yZWdpc3RlcmluZy11dGlsaXRpZXMge1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZsZXhpYmxlIGdyaWRcbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAnZm9vJywgKFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFJvdyBkZWZpbml0aW9ucyBhbmQgbW9kaWZpZXJzXG4gICAgICAgICAgICAnLmZvb2Jhcic6IChcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93LFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICksXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2ZsZXgtZ3JpZCcsIChcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBSb3cgZGVmaW5pdGlvbnMgYW5kIG1vZGlmaWVyc1xuICAgICAgICAgICAgJy5yb3cnOiAoXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCxcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyxcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgJz4gKic6IChcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5yb3ctaW5saW5lJzogKFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93LFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLnJvdy1leHBhbmQnOiAoXG4gICAgICAgICAgICAgICAgJz4gKic6IChcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBDb2wgZGVmaW5pdGlvbnMgYW5kIG1vZGlmaWVyc1xuICAgICAgICAgICAgJy5jb2wnOiAoXG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCxcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbixcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgJz4gKic6IChcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAwLFxuICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgJy5jb2wtaW5saW5lJzogKFxuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4LFxuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogY29sdW1uLFxuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNvbC1leHBhbmQnOiAoXG4gICAgICAgICAgICAgICAgJz4gKic6IChcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMSxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vIEd1dHRlciBzY2FsZVxuICAgICAgICAgICAgJy5ndXR0ZXItJzogJG1lbmRlbGVldi1ndXR0ZXItc2NhbGUsXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIEZsZXhib3ggcmVsYXRlZCB1dGlsaXR5IGNsYXNzZXNcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdmbGV4JywgKFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIERpcmVjdGlvblxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246XG4gICAgICAgICAgICAgICAgKCcuZmxleC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHJvdzogcm93LFxuICAgICAgICAgICAgICAgICAgICByb3ctcmV2ZXJzZTogcm93LXJldmVyc2UsXG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbjogY29sdW1uLFxuICAgICAgICAgICAgICAgICAgICBjb2x1bW4tcmV2ZXJzZTogY29sdW1uLXJldmVyc2UsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQWxpZ25tZW50IGFsb25nIHRoZSBmbGV4IGF4aXNcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDpcbiAgICAgICAgICAgICAgICAoJy5mbGV4LScsIChcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICAgICAgICAgICAgICBiZXR3ZWVuOiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBhcm91bmQ6IHNwYWNlLWFyb3VuZCxcbiAgICAgICAgICAgICAgICAgICAgZXZlbmx5OiBzcGFjZS1ldmVubHksXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQWxpZ25tZW50IHBlcnBlbmRpY3VsYXJseSB0byB0aGUgZmxleCBheGlzXG4gICAgICAgICAgICBhbGlnbi1pdGVtczpcbiAgICAgICAgICAgICAgICAoJy5pdGVtcy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgICAgIHN0YXJ0OiBmbGV4LXN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgZW5kOiBmbGV4LWVuZCxcbiAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmU6IGJhc2VsaW5lLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEFsaWdubWVudCBvZiBmbGV4IGNvbnRlbnQgbGluZXMgaW4gdGhlIGF2YWlsYWJsZSBhcmVhXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OlxuICAgICAgICAgICAgICAgICgnLmNvbnRlbnQtJywgKFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogZmxleC1zdGFydCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZmxleC1lbmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW46IHNwYWNlLWJldHdlZW4sXG4gICAgICAgICAgICAgICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICAgICAgICAgICAgICBldmVubHk6IHNwYWNlLWV2ZW5seSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBXcmFwcGluZ1xuICAgICAgICAgICAgZmxleC13cmFwOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgd3JhcDogd3JhcCxcbiAgICAgICAgICAgICAgICAgICAgbm93cmFwOiBub3dyYXAsXG4gICAgICAgICAgICAgICAgICAgIHdyYXAtcmV2ZXJzZTogd3JhcC1yZXZlcnNlLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy8gQWxpZ24gYSBzaW5nbGUgZWxlbWVudFxuICAgICAgICAgICAgYWxpZ24tc2VsZjpcbiAgICAgICAgICAgICAgICAoJy5zZWxmLScsIChcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICAgICAgc3RhcnQ6IGZsZXgtc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBlbmQ6IGZsZXgtZW5kLFxuICAgICAgICAgICAgICAgICAgICBiYXNlbGluZTogYmFzZWxpbmUsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRmxleCBncm93IGFuZCBzaHJpbmtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOlxuICAgICAgICAgICAgICAgICgnLmZsZXgtJywgKFxuICAgICAgICAgICAgICAgICAgICBzaHJpbms6IDEsXG4gICAgICAgICAgICAgICAgICAgIG5vc2hyaW5rOiAwLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgZmxleC1ncm93OlxuICAgICAgICAgICAgICAgICgnLmZsZXgtJywgKFxuICAgICAgICAgICAgICAgICAgICBncm93OiAxLFxuICAgICAgICAgICAgICAgICAgICBub2dyb3c6IDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gRmxleCBncm93IHNjYWxlXG4gICAgICAgICAgICBmbGV4OlxuICAgICAgICAgICAgICAgICgnLmZsZXgtJywgKFxuICAgICAgICAgICAgICAgICAgICBhdXRvOiBhdXRvLFxuICAgICAgICAgICAgICAgICAgICAnMSc6IDEsXG4gICAgICAgICAgICAgICAgICAgICcyJzogMixcbiAgICAgICAgICAgICAgICAgICAgJzMnOiAzLFxuICAgICAgICAgICAgICAgICAgICAnNCc6IDQsXG4gICAgICAgICAgICAgICAgICAgICc1JzogNSxcbiAgICAgICAgICAgICAgICAgICAgJzYnOiA2LFxuICAgICAgICAgICAgICAgICAgICAnNyc6IDcsXG4gICAgICAgICAgICAgICAgICAgICc4JzogOCxcbiAgICAgICAgICAgICAgICAgICAgJzknOiA5LFxuICAgICAgICAgICAgICAgICAgICAnMTAnOiAxMCxcbiAgICAgICAgICAgICAgICAgICAgJzExJzogMTEsXG4gICAgICAgICAgICAgICAgICAgICcxMic6IDEyLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEZsZXggb3JkZXIgc2NhbGVcbiAgICAgICAgICAgIG9yZGVyOlxuICAgICAgICAgICAgICAgICgnLm9yZGVyLScsIChcbiAgICAgICAgICAgICAgICAgICAgJzEnOiAxLFxuICAgICAgICAgICAgICAgICAgICAnMic6IDIsXG4gICAgICAgICAgICAgICAgICAgICczJzogMyxcbiAgICAgICAgICAgICAgICAgICAgJzQnOiA0LFxuICAgICAgICAgICAgICAgICAgICAnNSc6IDUsXG4gICAgICAgICAgICAgICAgICAgICc2JzogNixcbiAgICAgICAgICAgICAgICAgICAgJzcnOiA3LFxuICAgICAgICAgICAgICAgICAgICAnOCc6IDgsXG4gICAgICAgICAgICAgICAgICAgICc5JzogOSxcbiAgICAgICAgICAgICAgICAgICAgJzEwJzogMTAsXG4gICAgICAgICAgICAgICAgICAgICcxMSc6IDExLFxuICAgICAgICAgICAgICAgICAgICAnMTInOiAxMixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ1NTIEdSSURcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpZiAkbWVuZGVsZWV2LXJlZ2lzdGVyaW5nLXV0aWxpdGllcyB7XG5cbiAgICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gUkVHVUxBUiBDU1MgR1JJRFxuICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdncmlkJywgKFxuICAgICAgICAgICAgLy8gQmFzaWMgZGVmaW5pdGlvbnNcbiAgICAgICAgICAgICcuZ3JpZC1kZW5zZSc6IChcbiAgICAgICAgICAgICAgICBncmlkLWF1dG8tZmxvdzogZGVuc2VcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAvLyBUZW1wbGF0ZXNcbiAgICAgICAgICAgICcuZ3JpZC0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtZ3JpZC1zY2FsZSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgICctLWdyaWRHYXAnOiAwLFxuICAgICAgICAgICAgICAgICAgICAnLS1ncmlkU2l6ZSc6IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAncmVwZWF0KCQxLCAxZnIpJyxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApLFxuICAgICAgICAgICAgLy8gUm93IHRlbXBsYXRlc1xuICAgICAgICAgICAgJy5yb3dzLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1ncmlkLXNjYWxlLFxuICAgICAgICAgICAgICAgICRjc3M6IChcbiAgICAgICAgICAgICAgICAgICAgJy0tZ3JpZEdhcCc6IDAsXG4gICAgICAgICAgICAgICAgICAgICctLWdyaWRTaXplJzogbnVsbCxcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZCxcbiAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6ICdyZXBlYXQoJDEsIDFmciknLFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gR2FwIGJldHdlZW4gY2VsbHNcbiAgICAgICAgICAgICcuZ2FwLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1ncmlkLWdhcC1zY2FsZSxcbiAgICAgICAgICAgICAgICAkY3NzOiAoXG4gICAgICAgICAgICAgICAgICAgICctLWdyaWRHYXAnOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAnZ3JpZC1nYXAnOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICAnZ2FwJzogbnVsbCxcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnZ3JpZCcsIChcbiAgICAgICAgICAgIGRpc3BsYXk6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBncmlkOiBncmlkLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgZ3JpZC1hdXRvLWZsb3c6XG4gICAgICAgICAgICAgICAgKCcuZ3JpZC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGRlbnNlOiBkZW5zZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBHbG9iYWwgY2VsbCBwbGFjZW1lbnRcbiAgICAgICAgICAgIHBsYWNlLWl0ZW1zOlxuICAgICAgICAgICAgICAgICgnLnBsYWNlLScsIChcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBqdXN0aWZ5LWl0ZW1zOlxuICAgICAgICAgICAgICAgICgnLnBsYWNlLScsIChcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteDogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXg6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBhbGlnbi1pdGVtczpcbiAgICAgICAgICAgICAgICAoJy5wbGFjZS0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHRvcDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteTogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaC15OiBzdHJldGNoLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoOiBzdHJldGNoXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gR3JpZCBhbGlnbm1lbnQgb24gaXRzIGNvbnRhaW5lclxuICAgICAgICAgICAgcGxhY2UtY29udGVudDpcbiAgICAgICAgICAgICAgICAoJy5ncmlkLScsIChcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyOiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHN0cmV0Y2g6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgICAgIGFyb3VuZDogc3BhY2UtYXJvdW5kLFxuICAgICAgICAgICAgICAgICAgICBiZXR3ZWVuOiBzcGFjZS1iZXR3ZWVuLFxuICAgICAgICAgICAgICAgICAgICBldmVubHk6IHNwYWNlLWV2ZW5seSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDpcbiAgICAgICAgICAgICAgICAoJy5ncmlkLScsIChcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteDogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXg6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgICAgIGFyb3VuZC14OiBzcGFjZS1hcm91bmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW4teDogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgZXZlbmx5LXg6IHNwYWNlLWV2ZW5seSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6XG4gICAgICAgICAgICAgICAgKCcuZ3JpZC0nLCAoXG4gICAgICAgICAgICAgICAgICAgIHRvcDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteTogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXk6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgICAgIGFyb3VuZC15OiBzcGFjZS1hcm91bmQsXG4gICAgICAgICAgICAgICAgICAgIGJldHdlZW4teTogc3BhY2UtYmV0d2VlbixcbiAgICAgICAgICAgICAgICAgICAgZXZlbmx5LXk6IHNwYWNlLWV2ZW5seSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBJbmRpdmlkdWFsIGNlbGwgYWxpZ25tZW50XG4gICAgICAgICAgICBwbGFjZS1zZWxmOlxuICAgICAgICAgICAgICAgICgnLmNlbGwtJywgKFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXI6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaDogc3RyZXRjaCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjpcbiAgICAgICAgICAgICAgICAoJy5jZWxsLScsIChcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IHJpZ2h0LFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICBzdGFydDogc3RhcnQsXG4gICAgICAgICAgICAgICAgICAgIGVuZDogZW5kLFxuICAgICAgICAgICAgICAgICAgICBjZW50ZXIteDogY2VudGVyLFxuICAgICAgICAgICAgICAgICAgICBzdHJldGNoLXg6IHN0cmV0Y2gsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBhbGlnbi1zZWxmOlxuICAgICAgICAgICAgICAgICgnLmNlbGwtJywgKFxuICAgICAgICAgICAgICAgICAgICB0b3A6IHN0YXJ0LFxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGVuZCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyLXk6IGNlbnRlcixcbiAgICAgICAgICAgICAgICAgICAgc3RyZXRjaC15OiBzdHJldGNoLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEluZGl2aWR1YWwgY2VsbCBwb3NpdGlvbmluZyBhbmQgc3BhblxuICAgICAgICAgICAgZ3JpZC1jb2x1bW4tc3RhcnQ6XG4gICAgICAgICAgICAgICAgKCcuYXQtY29sLScsICRtZW5kZWxlZXYtZ3JpZC1zY2FsZSksXG4gICAgICAgICAgICBncmlkLXJvdy1zdGFydDpcbiAgICAgICAgICAgICAgICAoJy5hdC1yb3ctJywgJG1lbmRlbGVldi1ncmlkLXNjYWxlKSxcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOlxuICAgICAgICAgICAgICAgICgnLmNvbC1zcGFuJywgJG1lbmRlbGVldi1ncmlkLXNwYW4tZGF0YSksXG4gICAgICAgICAgICBncmlkLXJvdzpcbiAgICAgICAgICAgICAgICAoJy5yb3ctc3BhbicsICRtZW5kZWxlZXYtZ3JpZC1zcGFuLWRhdGEpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gSEFSRCBHUklEXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICRjb2w6ICgpO1xuICAgICRyb3c6ICgpO1xuICAgIEBlYWNoICRrLCAkbiBpbiAkbWVuZGVsZWV2LWdyaWQtc2NhbGUge1xuICAgICAgICAkY29sOiBtYXAtbWVyZ2UoJGNvbCwgKCcmI3ska30nOiAoXG4gICAgICAgICAgICAnLS1ncmlkLWdhcCc6IDAsXG4gICAgICAgICAgICAnLS1ncmlkLXNpemUnOiAkbixcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQsXG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHVucXVvdGUoJ3JlcGVhdCgjeyRufSwgY2FsYygjezEwMCUgLyAkbn0gLSAjeygkbiAtIDEpIC8gJG59ICogdmFyKC0tZ3JpZC1nYXApKSknKSxcbiAgICAgICAgKSkpO1xuXG4gICAgICAgICRyb3c6IG1hcC1tZXJnZSgkcm93LCAoJyYjeyRrfSc6IChcbiAgICAgICAgICAgICctLWdyaWQtZ2FwJzogMCxcbiAgICAgICAgICAgICctLWdyaWQtc2l6ZSc6ICRuLFxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZCxcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogdW5xdW90ZSgncmVwZWF0KCN7JG59LCBjYWxjKCN7MTAwJSAvICRufSAtICN7KCRuIC0gMSkgLyAkbn0gKiB2YXIoLS1ncmlkLWdhcCkpKScpLFxuICAgICAgICApKSk7XG4gICAgfVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2hhcmQtZ3JpZCcsIChcbiAgICAgICAgICAgIC8vIEJhc2ljIGRlZmluaXRpb25zXG4gICAgICAgICAgICAnLmhhcmQtZ3JpZCc6IChcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgICAgIC8vIFRlbXBsYXRlc1xuICAgICAgICAgICAgJy5oYXJkLWdyaWQtJzogJGNvbCxcbiAgICAgICAgICAgICcuaGFyZC1yb3dzLSc6ICRyb3csXG4gICAgICAgICkpO1xufVxuIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFRSQU5TRk9STUFUSU9OU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAkZG86IG1lbmRlbGVldi1tb2R1bGUoXG4gICAgICAgICAgICAndHJhbnNmb3JtJywgKFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEdyb3cgYW5kIHNocmlua1xuICAgICAgICAgICAgJy5ncm93LSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1ncm93LXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06ICdzY2FsZSgkMSwgJDEpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgICcuc2hyaW5rLSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi1zaHJpbmstc2NhbGUsXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogJ3NjYWxlKCQxLCAkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFJvdGF0aW9uc1xuICAgICAgICAgICAgJy5yb3RhdGUtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAoMzA6IDMwLCA0NTogNDUsIDYwOiA2MCwgOTA6IDkwKSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKCQxZGVnKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAnLnJvdGF0ZS1uJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAoMzA6IDMwLCA0NTogNDUsIDYwOiA2MCwgOTA6IDkwKSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiAncm90YXRlKC0kMWRlZyknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgJy5yb3RhdGUtMTgwJzogKFxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdW5xdW90ZSgncm90YXRlKDE4MGRlZyknKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gR3JleSBzY2FsZVxuICAgICAgICAgICAgJy5ncmF5c2NhbGUtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXRyYW5zZm9ybS1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnZ3JheXNjYWxlKCQxKScsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gU2VwaWFcbiAgICAgICAgICAgICcuc2VwaWEtJzogc2NhbGUtb2YoXG4gICAgICAgICAgICAgICAgJHNjYWxlOiAkbWVuZGVsZWV2LXRyYW5zZm9ybS1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnc2VwaWEoJDEpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBJbnZlcnRcbiAgICAgICAgICAgICcuaW52ZXJ0LSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi10cmFuc2Zvcm0tc2NhbGUsXG4gICAgICAgICAgICAgICAgJGludGVycG9sYXRlOiAoXG4gICAgICAgICAgICAgICAgICAgIGZpbHRlcjogJ2ludmVydCgkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIENvbnRyYXN0XG4gICAgICAgICAgICAnLmNvbnRyYXN0LSc6IHNjYWxlLW9mKFxuICAgICAgICAgICAgICAgICRzY2FsZTogJG1lbmRlbGVldi10cmFuc2Zvcm0tZG91YmxlLXNjYWxlLFxuICAgICAgICAgICAgICAgICRpbnRlcnBvbGF0ZTogKFxuICAgICAgICAgICAgICAgICAgICBmaWx0ZXI6ICdjb250cmFzdCgkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIEJyaWdodG5lc3NcbiAgICAgICAgICAgICcuYnJpZ2h0bmVzcy0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtdHJhbnNmb3JtLWRvdWJsZS1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnYnJpZ2h0bmVzcygkMSknLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgLy9cbiAgICAgICAgICAgIC8vIFNhdHVyYXRpb25cbiAgICAgICAgICAgICcuc2F0dXJhdGlvbi0nOiBzY2FsZS1vZihcbiAgICAgICAgICAgICAgICAkc2NhbGU6ICRtZW5kZWxlZXYtdHJhbnNmb3JtLWRvdWJsZS1zY2FsZSxcbiAgICAgICAgICAgICAgICAkaW50ZXJwb2xhdGU6IChcbiAgICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnc2F0dXJhdGUoJDEpJyxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd0cmFuc2Zvcm0nLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gT3JpZ2luIGxvY2F0aW9uXG4gICAgICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOlxuICAgICAgICAgICAgICAgICgnLnRyYW5zZm9ybS0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlcjogY2VudGVyIGNlbnRlciAwLFxuICAgICAgICAgICAgICAgICAgICB0b3A6IGNlbnRlciB0b3AgMCxcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiBjZW50ZXIgYm90dG9tIDAsXG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IGxlZnQgY2VudGVyIDAsXG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiByaWdodCBjZW50ZXIgMCxcbiAgICAgICAgICAgICAgICAgICAgbmU6IHJpZ2h0IHRvcCAwLFxuICAgICAgICAgICAgICAgICAgICBudzogbGVmdCB0b3AgMCxcbiAgICAgICAgICAgICAgICAgICAgc2U6IHJpZ2h0IGJvdHRvbSAwLFxuICAgICAgICAgICAgICAgICAgICBzdzogbGVmdCBib3R0b20gMCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVFJPTCBWSVNJQklMSVRZLCBPUEFDSVRZIEFORCBaLVZBTFVFU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAvLyAudmlzaWJsZSBhbmQgLmhpZGRlbiB1dGlsaXR5IGNsYXNzZXNcbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICd2aXNpYmlsaXR5JywgKFxuICAgICAgICAgICAgdmlzaWJpbGl0eTpcbiAgICAgICAgICAgICAgICAoJy4nLCAoXG4gICAgICAgICAgICAgICAgICAgIHZpc2libGU6IHZpc2libGUsXG4gICAgICAgICAgICAgICAgICAgIGludmlzaWJsZTogaGlkZGVuLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgb3BhY2l0eTpcbiAgICAgICAgICAgICAgICAoJy5vcGFjaXR5LScsIChcbiAgICAgICAgICAgICAgICAgICAgJzAnOiAwLjAwLFxuICAgICAgICAgICAgICAgICAgICAnMSc6IDAuMDUsXG4gICAgICAgICAgICAgICAgICAgICcyJzogMC4xMCxcbiAgICAgICAgICAgICAgICAgICAgJzMnOiAwLjI1LFxuICAgICAgICAgICAgICAgICAgICAnNCc6IDAuNTAsXG4gICAgICAgICAgICAgICAgICAgICc1JzogMC43NSxcbiAgICAgICAgICAgICAgICAgICAgJzYnOiAwLjkwLFxuICAgICAgICAgICAgICAgICAgICAnNyc6IDAuOTUsXG4gICAgICAgICAgICAgICAgICAgIGZ1bGw6IDEuMDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICB6LWluZGV4OlxuICAgICAgICAgICAgICAgICgnLnotJywgKFxuICAgICAgICAgICAgICAgICAgICAnMCc6IDAsXG4gICAgICAgICAgICAgICAgICAgICcxJzogMTAwLFxuICAgICAgICAgICAgICAgICAgICAnMic6IDIwMCxcbiAgICAgICAgICAgICAgICAgICAgJzMnOiAzMDAsXG4gICAgICAgICAgICAgICAgICAgICc0JzogNDAwLFxuICAgICAgICAgICAgICAgICAgICAnNSc6IDUwMCxcbiAgICAgICAgICAgICAgICAgICAgJzYnOiA2MDAsXG4gICAgICAgICAgICAgICAgICAgICc3JzogNzAwLFxuICAgICAgICAgICAgICAgICAgICAnOCc6IDgwMCxcbiAgICAgICAgICAgICAgICAgICAgJzknOiA5MDAsXG4gICAgICAgICAgICAgICAgICAgICcxMCc6IDEwMDAsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICkpO1xuXG4gICAgLy8gVmlzaWJpbGl0eVxuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICd2aXNpYmlsaXR5JywgKFxuICAgICAgICAgICAgJy5oaWRkZW4nOiAoXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnW2hpZGRlbl0nOiAoXG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmNsZWFyZml4OmFmdGVyJzogKFxuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoLFxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUlTQzogQ29uY2VudHJhdGUgc2ltcGxlIHV0aWxpdHkgZGVjbGFyYXRpb25zXG4vL1xuLy8gU2VjdGlvbnM6XG4vLyAgKiBCYWNrZ3JvdW5kXG4vLyAgKiBDb2xvcnNcbi8vICAqIEludGVyYWN0aXZpdHlcbi8vICAqIExpc3Rcbi8vICAqIFNoYWRvd3Ncbi8vXG4vLyBvYnMuOiBrZWVwIGFsbCBzZWN0aW9ucyBpbiBhbHBoYWJldGljIG9yZGVyLlxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGlmICRtZW5kZWxlZXYtcmVnaXN0ZXJpbmctdXRpbGl0aWVzIHtcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gQkFDS0dST1VORFxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICRkbzogbWVuZGVsZWV2LXV0aWxpdHktbW9kdWxlKFxuICAgICAgICAgICAgJ2JhY2tncm91bmQnLCAoXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWF0dGFjaG1lbnQ6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgKFxuICAgICAgICAgICAgICAgICAgICBmaXhlZDogZml4ZWQsXG4gICAgICAgICAgICAgICAgICAgIGxvY2FsOiBsb2NhbCxcbiAgICAgICAgICAgICAgICAgICAgc2Nyb2xsOiBzY3JvbGwsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgKFxuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBsZWZ0LFxuICAgICAgICAgICAgICAgICAgICByaWdodDogcmlnaHQsXG4gICAgICAgICAgICAgICAgICAgIGNlbnRlci14OiBjZW50ZXIsXG4gICAgICAgICAgICAgICAgKSksXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6XG4gICAgICAgICAgICAgICAgKCcuYmctJywgKFxuICAgICAgICAgICAgICAgICAgICBib3R0b206IGJvdHRvbSxcbiAgICAgICAgICAgICAgICAgICAgdG9wOnRvcCxcbiAgICAgICAgICAgICAgICAgICAgY2VudGVyLXk6IGNlbnRlcixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OlxuICAgICAgICAgICAgICAgICgnLmJnLScsIChcbiAgICAgICAgICAgICAgICAgICAgcmVwZWF0OiByZXBlYXQsXG4gICAgICAgICAgICAgICAgICAgIG5vLXJlcGVhdDogbm8tcmVwZWF0LFxuICAgICAgICAgICAgICAgICAgICByZXBlYXQteDogcmVwZWF0LXgsXG4gICAgICAgICAgICAgICAgICAgIHJlcGVhdC15OiByZXBlYXQteSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTpcbiAgICAgICAgICAgICAgICAoJy5iZy0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGNvdmVyOiBjb3ZlcixcbiAgICAgICAgICAgICAgICAgICAgY29udGFpbjogY29udGFpbixcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIENPTE9SU1xuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgICRkYXRhOiAoKTtcbiAgICBAZWFjaCAkcm9sZSBpbiAkbWVuZGVsZWV2LWNvbG9yLXJvbGVzIHtcbiAgICAgICAgJHZhbHVlOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItcGFsZXR0ZSwgJHJvbGUpO1xuICAgICAgICAkZGF0YTogbWFwLW1lcmdlKCRkYXRhLCAoXG4gICAgICAgICAgICAnLmNvbG9yLSN7JHJvbGV9JzogKFxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY29sb3ItY29udHJhc3QsICR2YWx1ZSksXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlLFxuICAgICAgICAgICAgKSxcbiAgICAgICAgKSk7XG4gICAgfVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ2NvbG9ycycsXG4gICAgICAgICAgICAkZGF0YVxuICAgICk7XG5cbiAgICAkZGF0YTogKCk7XG4gICAgQGVhY2ggJHJvbGUgaW4gJG1lbmRlbGVldi1jb2xvci1yb2xlcyB7XG4gICAgICAgICR2YWx1ZTogbWFwLWdldCgkbWVuZGVsZWV2LWNvbG9yLXBhbGV0dGUsICRyb2xlKTtcbiAgICAgICAgJGRhdGE6IG1hcC1tZXJnZSgkZGF0YSwgKCRyb2xlOiAkdmFsdWUpKTtcbiAgICB9XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdjb2xvcnMnLCAoXG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gQ3JlYXRlIGFsbCAuYmctKiBjbGFzc2VzXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOlxuICAgICAgICAgICAgICAgICgnLmJnLScsICRkYXRhKSxcbiAgICAgICAgICAgIC8vXG4gICAgICAgICAgICAvLyBDcmVhdGUgYWxsIC50ZXh0LSogY2xhc3Nlc1xuICAgICAgICAgICAgY29sb3I6XG4gICAgICAgICAgICAgICAgKCcudGV4dC0nLCAkZGF0YSksXG4gICAgICAgICkpO1xuXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAgIC8vIElOVEVSQUNUSVZJVFlcbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdpbnRlcmFjdGl2aXR5JywgKFxuICAgICAgICAgICAgY3Vyc29yOlxuICAgICAgICAgICAgICAgICgnLmN1cnNvci0nLCAoXG4gICAgICAgICAgICAgICAgICAgIGF1dG86IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6IGRlZmF1bHQsXG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXI6IHBvaW50ZXIsXG4gICAgICAgICAgICAgICAgICAgIHdhaXQ6IHdhaXQsXG4gICAgICAgICAgICAgICAgICAgIG1vdmU6IG1vdmUsXG4gICAgICAgICAgICAgICAgICAgIG5vdC1hbGxvd2VkOiBub3QtYWxsb3dlZCxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOlxuICAgICAgICAgICAgICAgICgnLicsIChcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG8sXG4gICAgICAgICAgICAgICAgICAgIG5vLXBvaW50ZXItZXZlbnRzOiBub25lLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICAgICAgdXNlci1zZWxlY3Q6XG4gICAgICAgICAgICAgICAgKCcuJywgKFxuICAgICAgICAgICAgICAgICAgICBzZWxlY3Q6IHRleHQsXG4gICAgICAgICAgICAgICAgICAgIG5vLXNlbGVjdDogbm9uZSxcbiAgICAgICAgICAgICAgICApKSxcbiAgICAgICAgKSk7XG5cbiAgICAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gICAgLy8gTElTVFxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuICAgIC8vIFJlbW92ZSBsaXN0IHN0eWxlc1xuICAgICRkbzogbWVuZGVsZWV2LW1vZHVsZShcbiAgICAgICAgICAgICdsaXN0JywgKFxuICAgICAgICAgICAgJy5saXN0LWlubGluZSc6IChcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLFxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCxcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lLFxuICAgICAgICAgICAgICAgICc+IGxpJzogKFxuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUsXG4gICAgICAgICAgICAgICAgKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLmxpc3QtcmVzZXQnOiAoXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCxcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAsXG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZSxcbiAgICAgICAgICAgICksXG4gICAgICAgICksXG4gICAgICAgICRpcy1jbGFzczogdHJ1ZVxuICAgICk7XG5cbiAgICAkZG86IG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZShcbiAgICAgICAgICAgICdsaXN0JywgKFxuICAgICAgICAgICAgbGlzdC1zdHlsZTpcbiAgICAgICAgICAgICAgICAoJy5saXN0LScsIChcbiAgICAgICAgICAgICAgICAgICAgZGVjaW1hbDogZGVjaW1hbCxcbiAgICAgICAgICAgICAgICAgICAgY2lyY2x1emU6IGNpcmNsdXplLFxuICAgICAgICAgICAgICAgICAgICBkaXNjOiBkaXNjLFxuICAgICAgICAgICAgICAgICAgICBzcXVhcmU6IHNxdWFyZSxcbiAgICAgICAgICAgICAgICAgICAgcm9tYW46IHJvbWFuLFxuICAgICAgICAgICAgICAgICkpLFxuICAgICAgICApKTtcblxuICAgIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgICAvLyBTSEFET1dTXG4gICAgLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4gICAgJGRvOiBtZW5kZWxlZXYtdXRpbGl0eS1tb2R1bGUoXG4gICAgICAgICAgICAnc2hhZG93JywgKFxuICAgICAgICAgICAgYm94LXNoYWRvdzpcbiAgICAgICAgICAgICAgICAoJy5zaGFkb3ctJywgKFxuICAgICAgICAgICAgICAgICAgICAnMSc6IHVucXVvdGUoJzAgMCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMjUpLCAwIDJweCA4cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpJyksXG4gICAgICAgICAgICAgICAgICAgICcyJzogdW5xdW90ZSgnMCA0cHggOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjEyKSwgMCAycHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KScpLFxuICAgICAgICAgICAgICAgICAgICAnMyc6IHVucXVvdGUoJzAgOHB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMTEpLCAwIDRweCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuMDgpJyksXG4gICAgICAgICAgICAgICAgICAgICc0JzogdW5xdW90ZSgnMCAxNXB4IDMwcHggMCByZ2JhKDAsIDAsIDAsIDAuMTEpLCAwIDVweCAxNXB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KScpLFxuICAgICAgICAgICAgICAgICkpXG4gICAgICAgICkpO1xuXG4gICAgJGRvOiBtZW5kZWxlZXYtbW9kdWxlKFxuICAgICAgICAgICAgJ3NoYWRvdycsIChcbiAgICAgICAgICAgICcuaW5uZXItc2hhZG93JzogKFxuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVucXVvdGUoJ2luc2V0IDAgMnB4IDRweCAwIHJnYmEoMCwgMCwgMCwgMC4wNiknKSxcbiAgICAgICAgICAgICksXG4gICAgICAgICAgICAnLm5vLXNoYWRvdyc6IChcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiBub25lLFxuICAgICAgICAgICAgKVxuICAgICAgICApKTtcbn1cbiIsCgkJIi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8gSU5URVJQT0xBVEUgVVRJTElUWSBDTEFTU0VTXG4vLy8gQGdyb3VwIFV0aWxpdGllc1xuLy8vIEBhdXRob3IgRsOhYmlvIE1hY8OqZG8gTWVuZGVzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4kbWVuZGVsZWV2LWNsYXNzZXMtY2FjaGU6ICRmbi1lbXB0eS1tYXAgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBjc3MtZnJvbS11dGlsaXRpZXMoJGFyZ3MuLi4pIHtcbiAgICAkcmVzOiAkZm4tZW1wdHktbWFwO1xuICAgICRjbGFzc2VzOiBsc3QtbWFwKHJhZGQsIGxzdC1mcm9tLWFycmF5KCRhcmdzKSwgJy4nKTtcbiAgICBAd2hpbGUgJGNsYXNzZXMge1xuICAgICAgICAkY2xzOiBudGgoJGNsYXNzZXMsIDEpO1xuICAgICAgICAkY3NzOiBtYXAtZ2V0KCRtZW5kZWxlZXYtY2xhc3Nlcy1jYWNoZSwgJGNscyk7XG4gICAgICAgICRjbGFzc2VzOiBudGgoJGNsYXNzZXMsIDIpO1xuICAgICAgICBAaWYgJGNzcyB7XG4gICAgICAgICAgICAkcmVzOiBtYXAtbWVyZ2UoJHJlcywgJGNzcyk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgQGVycm9yICdVdGlsaXR5IG5vdCBmb3VuZDogI3skY2xzfSc7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQHJldHVybiAkcmVzO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTUlYSU5TXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLy8gSW5jbHVkZXMgZGVmaW5pdGlvbnMgZnJvbSB0aGUgbGlzdGVkIHV0aWxpdHkgY2xhc3NlcyBpbiBhcmd1bWVudFxuLy8vXG4vLy8gQGV4YW1wbGUgc2Nzc1xuLy8vICAgICAuZm9vIHtcbi8vLyAgICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygnY29sb3ItYnJhbmQgbWFyZ2luLTIgcGFkLTQnKTtcbi8vLyAgICAgfVxuQG1peGluIHV0aWxpdGllcygkYXJncy4uLikge1xuICAgICRhcmdzOiBpZihsZW5ndGgoJGFyZ3MpID09IDEsIG50aCgkYXJncywgMSksICRhcmdzKTtcbiAgICBAaWYgbGVuZ3RoKCRhcmdzKSA9PSAxIGFuZCB0eXBlLW9mKCRhcmdzKSA9PSBzdHJpbmcge1xuICAgICAgICAkYXJnczogbHN0LXRvLWFycmF5KHN0ci1zcGxpdCgkYXJncywgJyAnKSk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGZyb20tbWFwKGNzcy1mcm9tLXV0aWxpdGllcygkYXJncy4uLikpO1xufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gR0xPQkFMIGNvbmZpZ3VyYXRpb25zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaWYgbm90IGdsb2JhbC12YXJpYWJsZS1leGlzdHMoTUVOREVMRUVWX1VUSUxJVElFU19DQUNIRSkge1xuICAgICRhdXg6IGxzdC1zZXBhcmF0ZShrZXlzLWVxdWFsLCBsc3Qtc3RpdGNoKCRtZW5kZWxlZXYtY3NzLWNsYXNzZXMsICRtZW5kZWxlZXYtY3NzKSwgKHR5cGU6IG11bHRpcGxlKSk7XG4gICAgJGNzcy1tdWx0aXBsZTogbnRoKCRhdXgsIDEpO1xuICAgICRjc3Mtc2ltcGxlOiBudGgoJGF1eCwgMik7XG5cbiAgICAvLyBGbGF0dGVuIGFsbCBkZWNsYXJhdGlvbnMgbWFkZSB3aXRoIG1lbmRlbGVldi11dGlsaXR5LW1vZHVsZSAodHlwZT09bXVsdGlwbGUpXG4gICAgLy8gaW50byBhIHNpbmdsZSBkaWN0aW9uYXJ5LlxuICAgICRjYWNoZTogbHN0LWZsYXR0ZW4tbWFwKGxzdC1tYXAobWFwLWdldCwgJGNzcy1tdWx0aXBsZSwgZGF0YSkpO1xuXG4gICAgLy8gRXh0cmFjdCBkZWNsYXJhdGlvbnMgdGhhdCB1c2VzIG1lbmRlbGVldi11dGlsaXR5LiAoVE9ETylcbiAgICAvLyBUaG9zZSBkZWNsYXJhdGlvbnMgY2FuIGJlIHRyaWNraWVyIHNpbmNlIGl0IG1pZ2h0IGluY2x1ZGUgbmVzdGVkIG1hcHBpbmdzXG4gICAgLy8gYW5kIG90aGVyIGNvbXBsaWNhdGlvbnMuXG4gICAgJGVudHJpZXM6IG51bGw7XG4gICAgQHdoaWxlICRjc3Mtc2ltcGxlIHtcbiAgICAgICAgJGNzczogbnRoKCRjc3Mtc2ltcGxlLCAxKTtcbiAgICAgICAgJGNzcy1zaW1wbGU6IG50aCgkY3NzLXNpbXBsZSwgMik7XG5cbiAgICAgICAgJG5hbWU6IG1hcC1nZXQoJGNzcywgbmFtZSk7XG4gICAgICAgICRkYXRhOiBtYXAtZ2V0KCRjc3MsIGRhdGEpO1xuXG4gICAgICAgIEBpZiBub3QgbWFwLXNvbWUta2V5cyhzdHItaW5kZXgsICRkYXRhLCAnJicpIHtcbiAgICAgICAgICAgICRlbnRyaWVzOiAoKCRuYW1lOiAkZGF0YSkgJGVudHJpZXMpO1xuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICRmbGF0LWNzczogbnVsbDtcbiAgICAgICAgICAgICRjb21tb246ICRmbi1lbXB0eS1tYXA7XG4gICAgICAgICAgICBAZWFjaCAkaywgJHYgaW4gJGRhdGEge1xuICAgICAgICAgICAgICAgIEBpZiBzdHItaW5kZXgoJGssICcmJykge1xuICAgICAgICAgICAgICAgICAgICAkc2VsZWN0b3I6IHNlbGVjdG9yLW5lc3QoJG5hbWUsICRrKTtcbiAgICAgICAgICAgICAgICAgICAgJHNlbGVjdG9yOiBpZihsZW5ndGgoJHNlbGVjdG9yKSA9PSAxLCBpbnNwZWN0KCRzZWxlY3RvciksICRzZWxlY3Rvcik7XG4gICAgICAgICAgICAgICAgICAgICRmbGF0LWNzczogKCgkc2VsZWN0b3I6ICR2KSAkZmxhdC1jc3MpO1xuICAgICAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICAkY29tbW9uOiBtYXAtbWVyZ2UoJGNvbW1vbiwgKCRrOiAkdikpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpZiBsZW5ndGgoJGNvbW1vbikgIT0gMCB7XG4gICAgICAgICAgICAgICAgJGZsYXQtY3NzOiBsc3Qtcm1hcChtYXAtbWVyZ2UsICRmbGF0LWNzcywgJGNvbW1vbik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAkZmxhdC1jc3M6IGxzdC1mbGF0dGVuLW1hcCgkZmxhdC1jc3MpO1xuICAgICAgICAgICAgJGVudHJpZXM6ICgkZmxhdC1jc3MgJGVudHJpZXMpO1xuICAgICAgICB9XG4gICAgfVxuICAgICRjYWNoZS1mcm9tLW1vZHVsZXM6IGxzdC1mbGF0dGVuLW1hcCgkZW50cmllcyk7XG5cbiAgICAvLyBDb25zb2xpZGF0ZSBhbGwgZGVjbGFyYXRpb25zXG4gICAgJGNhY2hlOiBtYXAtbWVyZ2UoJGNhY2hlLCAkY2FjaGUtZnJvbS1tb2R1bGVzKTtcbiAgICAkbWVuZGVsZWV2LWNsYXNzZXMtY2FjaGU6IG1hcC1tZXJnZSgkbWVuZGVsZWV2LWNsYXNzZXMtY2FjaGUsICRjYWNoZSkgIWdsb2JhbDtcbn1cblxuJE1FTkRFTEVFVl9VVElMSVRJRVNfQ0FDSEU6IHRydWU7XG5cbiIsCgkJIkBpZiBub3QgdmFyaWFibGUtZXhpc3RzKG1lbmRlbGVldi1wcmVsdWRlLWxvYWRlZCkge1xuICAgIEBlcnJvciAnQ2Fubm90IGxvYWQgZWxlbWVudHMgd2l0aG91dCBpbXBvcnRpbmcgcHJlbHVkZSBmaXJzdC4nO1xufVxuXG5AaW5jbHVkZSBtZW5kZWxlZXYtcmVnaXN0ZXItdXRpbGl0aWVzO1xuIiwKCQkiLypcbiBTUEFDSU5HXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8vIEJhc2VsaW5lIGdyaWQgbGluZXMgaGVpZ2h0LlxuLy8gRXZlcnkgc3BhY2luZyBtZXRyaWMgc2hvdWxkIGJlIGJhc2VkIG9uIHRoaXMuXG4kc3BhY2luZy1iYXNlbGluZTogOHB4ICFkZWZhdWx0O1xuXG4vLyBTcGFjaW5nIHZhbHVlcyBhcmUgZGV0ZXJtaW5lZCBiYXNlZCBvbiB5b3VyIHByb2plY3TigJlzIGdsb2JhbCBiYXNlbGluZSBncmlkLlxuLy8gSXQgaXMgbm90IHJlY29tbWVuZGVkIHRoYXQgeW91IG1vZGlmeSB0aGVzZSBmb2xsb3dpbmcgdmFyaWFibGVzXG4vLyAoaXQgY2FuIGJyZWFrIHlvdXIgdmVydGljYWwgcmh5dGhtKSwgYnV0IGlmIHlvdSBuZWVkIHRvLCB5b3UgY2FuLlxuJHNwYWNpbmctdW5pdDogJHNwYWNpbmctYmFzZWxpbmUgKiA0ICFkZWZhdWx0O1xuJHNwYWNpbmctdW5pdC10aW55LXRpbnk6ICRzcGFjaW5nLWJhc2VsaW5lICAtIDNweCAhZGVmYXVsdDtcbiRzcGFjaW5nLXVuaXQtdGlueTogJHNwYWNpbmctYmFzZWxpbmUgIWRlZmF1bHQ7XG4kc3BhY2luZy11bml0LXNtYWxsOiAkc3BhY2luZy1iYXNlbGluZSAqIDIgIWRlZmF1bHQ7XG4kc3BhY2luZy11bml0LWxhcmdlOiAkc3BhY2luZy1iYXNlbGluZSAqIDggIWRlZmF1bHQ7XG4kc3BhY2luZy11bml0LWh1Z2U6ICRzcGFjaW5nLWJhc2VsaW5lICogMTYgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciByYWRpdXNcbiRib3JkZXItcmFkaXVzLXRpbnk6ICRzcGFjaW5nLXVuaXQtdGlueSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXNtYWxsOiAkc3BhY2luZy11bml0LXNtYWxsICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXM6ICRzcGFjaW5nLXVuaXQgIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1sYXJnZTogJHNwYWNpbmctdW5pdC1sYXJnZSAhZGVmYXVsdDtcbiRib3JkZXItcmFkaXVzLXJvdW5kOiA1MCUgIWRlZmF1bHQ7XG5cbi8vIFN0YW5kYXJkaXplIFVJIHRyZWF0bWVudHMuXG4kZ2xvYmFsLXRyYW5zaXRpb246IGFsbCAyMDBtcyBlYXNlLWluLW91dCAhZGVmYXVsdDtcbiIsCgkJIi8qXG4gRk9OVFMgRkFNSUxJRVMgQU5EIFNJWkVTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQGltcG9ydCAnc3BhY2luZyc7XG5cbi8vIFRyYW5zZm9ybWF0aW9ucyBhbmQgd2VpZ2hcbiRmb250LWhlYWRpbmdzLXdlaWdodDogNDAwICFkZWZhdWx0O1xuXG4vLyBCYXNlIHR5cG9ncmFwaGljYWwgc2l6ZXNcbiRmb250LXNpemUtdGlueS10aW55OiA5cHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLXRpbnk6ICgkZm9udC1zaXplLXRpbnktdGlueSArIDNweCkgIWRlZmF1bHQ7IC8vIDEycHhcbiRmb250LXNpemUtc21hbGw6ICgkZm9udC1zaXplLXRpbnkgKyAxcHgpICFkZWZhdWx0OyAvLyAxM3B4XG4kZm9udC1zaXplLWRlZmF1bHQ6ICgkZm9udC1zaXplLXNtYWxsICsgMnB4KSAhZGVmYXVsdDsgLy8gMTVweFxuJGZvbnQtc2l6ZS1sYXJnZTogKCRmb250LXNpemUtZGVmYXVsdCArIDJweCkgIWRlZmF1bHQ7IC8vIDE3cHhcbiRmb250LXNpemUtbGFyZ2VyOiAoJGZvbnQtc2l6ZS1sYXJnZSArIDNweCkgIWRlZmF1bHQ7IC8vIDIwcHhcbiRmb250LXNpemUtaHVnZTogKCRmb250LXNpemUtbGFyZ2VyICsgNHB4KSAhZGVmYXVsdDsgLy8gMjRweFxuJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1kZWZhdWx0ICFkZWZhdWx0O1xuJGxpbmUtaGVpZ2h0OiAoJGZvbnQtc2l6ZSArICRzcGFjaW5nLXVuaXQtdGlueSkgIWRlZmF1bHQ7XG5cbi8vIEhlYWRpbmcgc2l6ZXNcbiRmb250LXNpemUtaDE6IDEuNCAqICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDI6IDEuMyAqICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDM6IDEuMiAqICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDQ6IDEuMSAqICRmb250LXNpemUtZGVmYXVsdCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6IDEuMDUgKiAkZm9udC1zaXplLWRlZmF1bHQgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAxICogJGZvbnQtc2l6ZS1kZWZhdWx0ICFkZWZhdWx0O1xuIiwKCQkiLmRpdmlkZXIge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgbWF4LXdpZHRoOiA1MHJlbTtcbn1cblxuLmhlbHAtY2FyZCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgODYsIDEzMCwgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgcGFkZGluZzogMXJlbSAxcmVtIDFyZW0gMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgbWF4LXdpZHRoOiAzNzVweDtcbiAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOngtbGFyZ2U7XG4gICAgfVxufVxuXG4jaWRfYXV0aGVudGljYXRpb25fdHlwZSxcbiNpZF90ZW1wbGF0ZV90eXBlIHtcbiAgICAudG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICB9XG4gICAgLnRvb2x0aXAgLnRvb2x0aXB0ZXh0IHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICBvcGFjaXR5OiA1MCU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgZm9udC1zaXplOiBzbWFsbDtcblxuICAgICAgICAvKiBQb3NpdGlvbiB0aGUgdG9vbHRpcCAqL1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLnRvb2x0aXA6aG92ZXIgLnRvb2x0aXB0ZXh0IHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYWxpY2VibHVlO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICB9XG5cbiAgICBsYWJlbDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmFuZC1saWdodDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyYW5kLWFsdGVybmF0ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMgKyBsYWJlbCB7XG4gICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAkY29sb3ItYnJhbmQtYWx0ZXJuYXRlO1xuICAgIH1cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjhyZW07XG4gICAgfVxufVxuXG4uY29sb3ItY2hvaWNlIHtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMXJlbTtcbiAgICBoZWlnaHQ6IDEuMnJlbTtcbiAgICB3aWR0aDogMS4ycmVtO1xufVxuXG4vKiBGbG9hdCBmb3VyIGNvbHVtbnMgc2lkZSBieSBzaWRlICovXG4uY29sdW1uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbn1cblxuLyogQ2xlYXIgZmxvYXRzIGFmdGVyIHRoZSBjb2x1bW5zICovXG4ucm93OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4udG9vbHMtZGl2aWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDEuNXJlbSAwO1xuICAgIGFsaWduLWl0ZW1zOiBzdGFydDtcbiAgICBtYXJnaW46IDEuMzEzcmVtIDAgMCAwO1xufVxuXG4udG9vbHMtaWNvbi1zaGFyZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbjogLTZweCA0cHg7XG4gICAgfVxufVxuXG4jdG9vbHMtdGlwLXRleHQge1xuICAgIHdpZHRoOiAxNTBweDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmxhY2s7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogNXB4IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZTtcbiAgICB0cmFuc2l0aW9uLWRlbGF5OiAxLjJzO1xuICAgIHotaW5kZXg6IDE7XG59XG5cbi50b29scy10aXAtdGV4dC1zaG93IHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlICFpbXBvcnRhbnQ7XG59XG5cbi50b29scy10aXAtdGV4dC1oaWRkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4udG9vbHMtbGluayB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG4uaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIG9wYWNpdHk6IDA7XG59XG4uc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4udG9vbHMtY2FyZC1jb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlcjtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4ICRjb2xvci1jYXJkLXNoYWRvdztcbiAgICBtYXJnaW46IDAgYXV0byAwIDA7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG59XG5cblxuLnRvb2xzLWNhcmQtY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbSAwIDA7XG5cbiAgICAuaW5zdHJ1Y3Rpb24ge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlLWxpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW46IDAgMCAuOHJlbSAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODEzcmVtIDAgIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTBweDtcbiAgICB9XG59XG5cbi50b29scy1jYXJkLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbn1cblxuLnRvb2xzLWNhcmQtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDEycHggMCAwIDE5cHg7XG5cbiAgICAmLWltZyB7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbjogLjdyZW0gMCAxLjVyZW0gMDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXJnaW46IC41cmVtIC41cmVtIDAgMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi50b29scy1jYXJkLWZvb3RlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbjogMCAwLjc1cmVtIDAuNzVyZW0gMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogLjNyZW07XG4gICAgYnV0dG9uLmJsdWUsIGJ1dHRvbi5ncmV5IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHdpZHRoOiAxNDVweDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYnV0dG9uLmdyZXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICB9XG5cbiAgICBidXR0b24uYmx1ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGVcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvb2xzLWNhcmQtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xufVxuXG5idXR0b24uYmx1ZSwgYnV0dG9uLmdyZXkge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgd2lkdGg6IDE0NXB4O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbn1cblxuYnV0dG9uLmdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgIGZvbnQtc2l6ZTogMC43cmVtO1xuICAgIGEge1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNXB4O1xuICAgIH1cbn1cblxuYnV0dG9uLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBhIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgfVxufVxuXG4udG9vbHMtc2V0dGluZ3MtZm9ybSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDAuODQ0cmVtO1xuICAgIGgzIHtcbiAgICAgICAgbWFyZ2luLWJsb2NrLXN0YXJ0OiAwO1xuICAgIH1cbiAgICBociB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYnJhbmQtYWx0ZXJuYXRlO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNHJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAxcmVtO1xuICAgIH1cbiAgICAuc2VjdGlvbi1jdXN0b20ge1xuICAgICAgICBtYXgtd2lkdGg6IDY2JTtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtdGFibGUtYWJvdXQge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAmLXNldHRpbmdzLWZvcm0ge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYmxvY2stc3RhcnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xMik7XG4gICAgICAgIH1cbiAgICAgICAgc2VjdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMHB4IDIwcHggMHB4O1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NDBweCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDIuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAgIHVsOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXN1Ym1pdC1idXR0b24ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi50b29scy1zZXR0aW5ncy1mb3JtOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4udGl0bGUtdGhlbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzEzcmVtO1xuICAgIC5hdmF0YXIge1xuICAgICAgICB3aWR0aDogMy40MzhyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDAuODQ0cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMjE5cmVtO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNzVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIH1cbiAgICBoNCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgIG1hcmdpbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMnJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBsZWZ0OiAycmVtO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsLXRvb2xzLWNvbnRlbnR7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiA3MCU7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwbGFjZS1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogLjc1cmVtO1xuXG4gICAgYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjaztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNzBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMHB4O1xuXG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG59XG5cbi5tb2RhbC10b29scy1jbG9zZXtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDk5OTk7XG59XG5cbi5tb2RhbC10b29scy1vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTk7XG59XG4uY2xvc2UtbW9kYWwge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogMHB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDE3cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4ubW9kYWwtdG9vbHMtYmcge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNCk7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgI3BhZ2Utd3JhcHBlciB7XG4gICAgICAgIC5tb2RhbCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAxNSUgYXV0bztcbiAgICAgICAgfVxuICAgIH1cbiAgICAudG9vbHMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgJi1jb250YWluZXIge1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuaDIudGV4dC1hY2NlbnQge1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXBpbmstbGlnaHRcblxuICAgIH1cbn1cbiIsCgkJIi5jaGF0Ym90LW9wdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC04cHg7XG5cbiAgICAvKiBTdHlsZSB0aGUgY291bnRlciBjYXJkcyAqL1xuICAgIC5jYXJkIHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDRweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDUwMHB4O1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDQyYTQ2O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcmQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cblxuICAgIC5pbWdjYXJkIHtcbiAgICAgICAgd2lkdGg6IDY1cHg7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICB9XG4gICAgLmJhbGFuY2UtYmlnZ2VyLW1hcmdpbiB7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgfVxufVxuXG5cblxuLmJvdHMtYnV0dG9ucy5zaGFyZS1idXR0b25zIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAtMjBweCA0MDBweCAwcHggMHB4O1xufVxuXG4gLmJvdHMtYnV0dG9ucyB7XG4gICAgYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICB3aWR0aDogOThweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBidXR0b24uZ3JleSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlICFpbXBvcnRhbnQ7XG4gICAgfSBcblxuICAgIGJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICB9XG5cbiAgICBidXR0b24ucGluayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1vc2YtbGlnaHQgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgIH0gXG5cbiAgICBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtb3NmLWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG59XG5cbi5wb2xsLWJvdC1pbnN0cnVjdGlvbnMge1xuICAgIG1heC13aWR0aDogNDEwcHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIGxpIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZS1saWdodDsgXG4gICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgIH1cbn1cblxuXG4udG9vbC1kZXNjcmlwdGlvbntcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiA1MHJlbTtcbn1cbiIsCgkJIiNjdXN0b20tZG9tYWluLWxhYmVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDYwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG59XG5cbi5wcmV2aWV3LXRlbXBsYXRlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDQwdnc7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jZG9tYWluLWlucHV0IHtcbiAgICBtYXJnaW46IDAgMCAxcmVtIDA7XG59XG5cbi5pZnJhbWUtc2VjdGlvbiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZGlzcGxheS1kb3duIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGxhYmVsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogdW5zZXQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDJzO1xuICAgIH1cbiAgICAjaXNleHBhbmRlZDEsXG4gICAgI2lzZXhwYW5kZWQyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNkb3dubG9hZC1pY29uIHtcbiAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICBtYXJnaW46IGF1dG8gMC4zZW07XG59XG5cbiNpc2V4cGFuZGVkMTpjaGVja2VkICsgbGFiZWwgPiBpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4jaXNleHBhbmRlZDI6Y2hlY2tlZCArIGxhYmVsID4gaSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbn1cblxuI2N1c3RvbS1maWVsZC1zZWN0aW9uLFxuI21haWxpbmctc2VjdGlvbiB7XG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gMC41cztcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogZmFkZUluIDAuNXM7XG4gICAgLW1vei1hbmltYXRpb246IGZhZGVJbiAwLjVzO1xufVxuXG4jY3VzdG9tLWZpZWxkLXNlY3Rpb24ge1xuICAgIGxhYmVsOmZpcnN0LWxldHRlciB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuXG4jbm8tY29tbWVudHMtaGVscHRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHJlbTtcbn1cblxuLm1vZGFsLXRvb2xzLWNvbnRlbnQubWFpbGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC5jbG9zZS1tb2RhbCB7XG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB9XG59XG5cbi50b29scy1jYXJkLWNvbnRlbnQubWFpbGluZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDNyZW07XG59XG5cbi50b29scy1jYXJkLWZvb3Rlci5tYWlsaW5nIHtcbiAgICBtYXJnaW46IDA7XG59XG4iLAoJCSIuY2FyZC1vcGluaW9uLWNvbXBvbmVudCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICB3aWR0aDogODAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMThweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjIxOXJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtZ3JleS1saWdodDtcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyBcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgXG4gICAgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGxhY2UtY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbn1cblxuLm9waW5pb24tY29tcG9uZW50LWNhcmQtbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7IFxuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgd2lkdGg6IDIycmVtO1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbn1cblxuLmgzIHtcbiAgICAmLS1zcGFjZSB7XG4gICAgbWFyZ2luOiAwIDAgLjYyNXJlbSAwICFpbXBvcnRhbnQ7XHRcbiAgICB9XG59XG5cbi50YWJzLXNwYWNlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xufVxuXG4udG9vbHMtZGl2aWRlci5vcGluaW9uLWRpdmlkZXIge1xuICAgIG1hcmdpbi10b3A6IDIuNjg4cmVtO1xufVxuXG4ub3Bpbmlvbi1jb2wtMSB7XG4gICAgZGlzcGxheTogZmxleDsgXG4gICAgZ2FwOiAzLjE4OHJlbTtcbiAgICAmX19pbmZvIHtcbiAgICAgICAgd2lkdGg6IDM2JTtcbiAgICB9XG4gICAgLnRvb2xzLWNhcmQtYm9keS1pbWcgaW1ne1xuICAgICAgICBoZWlnaHQ6IDMuMzEzcmVtO1xuICAgIH1cbiAgICAuaGVscHRleHQub3Bpbmlvbi1oZWxwdGV4dCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbGlnaHQtZ3JheTsgXG4gICAgICAgIGZvbnQtc2l6ZTogLjg3NXJlbTsgXG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IFxuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIH1cbn1cblxuLm9waW5pb24tY29sLTIge1xuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1saWdodC1ncmF5OyBcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyBcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyBcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgXG4gICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgICZfX2hpbnQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7IFxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAmX19oaW50LWdlbmVyYXRlIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMCwgMCwgMCwgMC44MCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC5mb3JtLWNvbXBvbmVudCB7XG4gICAgICAgICZfX21lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRvb2xzLWNhcmQtZm9vdGVyLm9waW5pb24tY29tcG9uZW50IHtcbiAgICAgICAgICAgIG1hcmdpbjogLjc1cmVtIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyBcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgLnRvb2xzLWljb24tc2hhcmUge1xuICAgICAgICAgICAgICAgICZfX2NvbGxlY3Rpb24tYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyBcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjokY29sb3ItcGluay1saWdodDsgXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTZweDsgXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IC43NXJlbTsgXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7IFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyBcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsOyBcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29weS1zbmlwcGV0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogNy42ODhyZW07XG4gICAgICAgIHBhZGRpbmc6IC44MTNyZW0gMS4yNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAwcHggOHB4IDhweDsgXG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWdyYXktMzAwOyBcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyBcbiAgICAgICAgbWFyZ2luOiAyLjA2M3JlbSAwIDEuMTg4cmVtOyBcbiAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTUwMDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdJbnRlcicsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgIH1cblxuICAgICZfX2NvcHktYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IC41cmVtIDFyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6JGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlOyBcbiAgICAgICAgZ2FwOiAuMzc1cmVtO1xuICAgIH1cblxuICAgICZfX3Rvb2x0aXAge1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1waW5rLWxpZ2h0OyBcbiAgICAgICAgbWF4LXdpZHRoOiAxNi41NjNyZW07XG4gICAgICAgIGhlaWdodDogMi43NXJlbTsgXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgICAgIHRvcDogNXB4O1xuXG4gICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50OyBcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDoxMHB4IHNvbGlkICRjb2xvci1waW5rLWxpZ2h0OyBcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcmlnaHQ6IC41NjNyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29weS1zbmlwcGV0LW1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLmNrZV90b3Age1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbn1cbiIsCgkJIi5kb21haW4tZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogNzZweDtcbiAgICBpbnB1dDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0O1xuICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgbWF4LXdpZHRoOiA1NjVweDtcbiAgICB9XG4gICAgI2RvbWFpbi1zdWJtaXQge1xuICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICB9XG59XG5cbi53ZWJjaGF0LWNhcmQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IFxuICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50OyBcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQ0NDQ0NDOyBcbiAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpOyBcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7IFxuICAgIG1hcmdpbi10b3A6IDlweDtcbiAgICBwYWRkaW5nOiAxcmVtIDAgMCAwO1xuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICB9XG5cbiAgICAmX19zZWN0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjNGM0YzQ7IFxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNS41cHg7IFxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi53ZWJjaGF0LWludGVncmF0aW9ucyB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4OyBcbiAgICAgICAgbWFyZ2luOiAyOXB4IDAgMTJweDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZS1saWdodDtcbiAgICB9XG5cbiAgICAmX190YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICB0Ym9keSB0ciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi1yb3cge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MzBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLWhlYWRlciB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTQuNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICBjb2xvcjogIzMwYmZkMztcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwJTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNiYWJhYmE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hdmF0YXIge1xuICAgIGxlZnQ6IDE5cHg7IFxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgbWFyZ2luLXJpZ2h0OiAzNXB4O1xuICAgIHdpZHRoOjYwcHg7IFxuICAgIGhlaWdodDogNjBweDtcbn1cblxuI2Zvcm0tc2l6ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xufVxuXG4uYnV0dG9ucy1kaXYge1xuICAgIGRpc3BsYXk6IGZsZXg7IFxuICAgIGdhcDogMjNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMjNweDtcbn1cblxuLmRpdmlkZXItY2FyZCB7XG59XG5cbiN3ZWJjaGF0LWhlbHAtY2FyZCB7XG4gICAgZGlzcGxheTogZmxleDsgXG4gICAgZ2FwOiAyMXB4OyBcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xufVxuXG4ud2ViY2hhdC10ZXh0LWVsZW1lbnQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtOTk5OXB4OyBcbn1cblxuLnRpcC10ZXh0LXBvc2l0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIGhlaWdodDogNDVweDtcbn1cblxuI2RvbWFpbi1sYWJlbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xufVxuXG4ud2lkdGgtZnVsbC1leHRlbmRlZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG4jZGVzY3JpcHRpb24taW5mbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMHJlbTtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4jdGgtcmVtb3ZlIHtcbiAgICB0ZXh0LWFsaWduOiBlbmQ7XG59XG5cbiN0ZC1yZW1vdmUge1xuICAgIHRleHQtYWxpZ246IGVuZDtcbn1cblxuIiwKCQkiQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuQGltcG9ydCBcIi4uLy4uLzFfc2V0dGluZ3Mvc3BhY2luZ1wiO1xuQGltcG9ydCBcIi4uLy4uLzFfc2V0dGluZ3MvdHlwb2dyYXBoeVwiO1xuXG5cbi5kZXNhdGl2ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi53YXJuaW5nLWNvbW1lbnRze1xuICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbn1cblxuLmdyb3VwLWNvbW1lbnRzIHtcbiAgcG9zaXRpb246IGZpeGVkOyAvKiBTdGF5IGluIHBsYWNlICovXG4gIHotaW5kZXg6IDEwMTA7IC8qIFNpdCBvbiB0b3AgKi9cbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgLyogRnVsbCB3aWR0aCAqL1xuICBoZWlnaHQ6IDEwMHZoOyAvKiBGdWxsIGhlaWdodCAqL1xuICBvdmVyZmxvdzogdW5zZXQ7IC8qIEVuYWJsZSBzY3JvbGwgaWYgbmVlZGVkICovXG4gIGJhY2tncm91bmQtY29sb3I6ICRtb2RhbC10cmFuc3BhcmVudC1iYWNrZ291bmQ7IC8qIEJsYWNrIHcvIG9wYWNpdHkgKi9cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSB7XG5cbiAgLmdyb3VwLWNvbW1lbnRzLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgfVxufVxuXG4vKiBncm91cC1jb21tZW50cyBDb250ZW50L0JveCAqL1xuLmdyb3VwLWNvbW1lbnRzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICBib3gtc2hhZG93OiAkbW9kYWwtc2hhZG93O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW46IDE1JSBhdXRvOyAvKiAxNSUgZnJvbSB0aGUgdG9wIGFuZCBjZW50ZXJlZCAqL1xuICBtYXJnaW4tdG9wOiA1dmg7XG4gIHBhZGRpbmc6IDEuM3JlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgd2lkdGg6IDgwJTsgLyogQ291bGQgYmUgbW9yZSBvciBsZXNzLCBkZXBlbmRpbmcgb24gc2NyZWVuIHNpemUgKi9cbiAgbWF4LXdpZHRoOiA5MzBweDtcbiAgaGVpZ2h0OiA5MHZoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgdGFibGUge1xuICAgIG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICB0YWJsZS1sYXlvdXQ6Zml4ZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0M0QzRDNDtcbiAgfVxuXG4gIHRkLCB0aCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDNEM0QzQ7XG4gICAgcGFkZGluZzogMC41cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2hpdGUtc3BhY2U6IHdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmctdG9wOiAxLjFyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4zcmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICB0cntcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjgpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgdHI6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgdHI6aG92ZXIsIHRyOmZvY3Vze1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgaGVhZGVye1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuM3JlbSAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy10b3A6IDEuMXJlbSAhaW1wb3J0YW50O1xuICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxLjFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zcmVtO1xuICAgICAgY29sb3I6ICM2NjY2NjY7XG4gIH1cblxuICAuY29tbWVudHMtdGFibGV7XG4gICAgICBtYXJnaW4tdG9wOiAzcmVtO1xuICB9XG5cbiAgLmNvbW1lbnRzLWlucHV0e1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMC45cmVtO1xuICAgICAgaGVpZ2h0OiAwLjlyZW07XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjMDQyQTQ2O1xuICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB1bnNldDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwMTM7XG4gICAgICAmOjphZnRlciwgJjo6YmVmb3Jle1xuICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3ggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICY6YmVmb3Jle1xuICAgICAgICAgIC8vIHJlbW92ZSBvayBzZXRcbiAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDQyQTQ2XG4gICAgICB9XG5cbiAgICAgIC5vdmVyZmxvd3tcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICB9XG5cbiAgLnRhYmxlLXRleHR7XG4gICAgICB3b3JkLWJyZWFrOmJyZWFrLXdvcmQ7XG4gIH1cblxuICAuZm9vdGVye1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIHdvcmQtYnJlYWs6IGtlZXAtYWxsO1xuICAgIGhlaWdodDogMnJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIHBhZGRpbmctdG9wOiAxLjhyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC44cmVtICFpbXBvcnRhbnQ7XG5cbiAgfVxuICAuY29tbWFuZCB7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICB9XG5cbn1cblxuLmVkaXQtcG9vbC1jb250YWluZXJ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmVkaXQtcG9vbC1jb21tZW50c3tcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDBweDtcbiAgcmlnaHQ6IDBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cblxuLnBvb2xzLWNvbW1lbnRzLWRpdmlkZXJ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRTVFNUU1O1xuICBtYXJnaW4tcmlnaHQ6IC0xLjNyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMS4zcmVtO1xuICB3aWR0aDogLW1vei1hdmFpbGFibGU7XG4gIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcbn1cblxuLnBvb2wtdGV4dHtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBjbGFtcCgzMGNoLDcxY2gsIDcxY2gpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbn1cblxuXG4uY2xvc2UtcmVwb3J0IHtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgbWFyZ2luOiAwIC41cmVtO1xufVxuXG4uY2xvc2UtcmVwb3J0OmhvdmVyLFxuLmNsb3NlLXJlcG9ydDpmb2N1cyB7XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmxhY2s7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cbiIsCgkJIi5tb2RhbC10b29scy10aXRsZSB7XG4gICAgaDMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmxhY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAyJSAxNCU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2MHB4KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVyZW07XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgcGFkZGluZzogMiUgNyU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC10b29scy1jYXJkIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDczJTtcblxuICAgIC5jb2x1bW4ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuY2FyZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogaW5pdGlhbDtcblxuICAgICAgICAuY2FyZC10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgcGxhY2UtaXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibGFjaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjNyZW07XG5cbiAgICAgICAgICAgICAgICAuaW1nY2FyZCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDY1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG4gICAgXG4gICAgLmNhcmQ6aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDhweCAxNnB4IDAgcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIH1cbiAgICBcbiAgICAuYmFsYW5jZS1iaWdnZXItbWFyZ2luIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGhlaWdodDogNjVweDtcbiAgICB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4NjBweCkge1xuICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAuY2FyZCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIC5jYXJkLXRleHQge1xuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIH1cbn1cblxuLm1vZGFsLXRvb2xzLWZvb3RlciB7XG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICB9XG59IiwKCQkiLyogZ2VuZXJpYyBjbGFzc2VzICovXG4uY2VudGVyLWdyaWQge1xuICAgIGdyaWQtY29sdW1uOiAyLzM7XG59XG5cbi5jb252ZXJzYXRpb24tZGFzaGJvYXJkIHtcbiAgICAmLXNlY3Rpb24ge1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44MTNyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmRhc2hib2FyZC1iYWxsb29uIHtcbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDIuNXJlbSAwIDNyZW0gMDtcbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICAmX19sYWJlbCB7XG4gICAgICAgIGNvbG9yOiRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjNyZW07XG4gICAgfVxuICAgICZfX2xhYmVsLFxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5yZXBvcnQtY2FyZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEuMzc1cmVtIDAgMS4xODc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDQuNjg3NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgfVxuXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDAgMDtcbiAgICB9XG5cbiAgICAmLS1tYXJnaW4tbGcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjY1cmVtO1xuICAgIH1cblxuICAgICYtLW1hcmdpbi1zbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNTZyZW07XG4gICAgfVxuXG59XG5cblxuLmNoYXJ0cy1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMnJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgfVxuXG4gICAgI3ZvdGluZy10aW1lLWNoYXJ0IHtcbiAgICAgICAgaGVpZ2h0OiAyNXJlbTtcbiAgICAgICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGltZS1jaGFydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBzdmcge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIGF1dG8gYXV0byBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRhdGUtcGlja2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG5cbiAgICAgICAgICAgICZfX2lucHV0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogLjVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuMjVyZW07XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3LjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpbnB1dDpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWludmFsaWQtZGF0ZXMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtcmVkO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxvYWRpbmcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGFubmVscy1jaGFydCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGdhcDogLjg1cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhcnRpY2lwYW50LWZpbHRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAuM3JlbTtcblxuICAgICAgICAgICAgJl9fYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBnYXA6IC41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC41NjI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxLjgycmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgICAgICAgJi0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2J1dHRvbjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19idXR0b246YWN0aXZlIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiB1bnNldDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgLnRpbWUtY2hhcnQsXG4gICAgICAgICAgICAuY2hhbm5lbHMtY2hhcnQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC52b3Rpbmctc2VjdGlvbiB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDMuODc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjE5cmVtO1xuICAgIH1cblxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAuZGFzaGJvYXJkLWNhcmQge1xuICAgIGZsZXg6IDIyLjUlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgcGFkZGluZzogMS4xODc1cmVtIDEuNTYyNXJlbSAxLjE4NzVyZW0gMS41NjI1cmVtO1xuXG4gICAgJi0tZml0LWNvbnRlbnQge1xuICAgICAgICBmbGV4OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZ2FwOiAxLjI1cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgfVxuXG4gICAgJl9fdmFsdWUge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuXG4gICAgICAgICYtLXdoaXRlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1ibHVlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuXG4gICAgICAgIC5kYXNoYm9hcmQtY2FyZF9fdmFsdWUge1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAuY29tbWVudHMtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4xOXJlbTtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41NnJlbTtcbiAgICB9XG59XG5cbi5jbHVzdGVycy1zZWN0aW9uIHtcbiAgICAuY29udGVudC1ncmlkID4gKiB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgM3JlbSAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAmLS13aWRlLWNlbnRlciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgcGFkZGluZzogM3JlbSAwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLmNsdXN0ZXJzLXNlY3Rpb24sIC5jbHVzdGVycy1zZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXktYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgIGdyaWQtY29sdW1uOiAxLzQ7XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBcInNhbnMtc2VyaWZcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NoYXJ0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgICZfX2RldGFpbCB7XG4gICAgICAgIGgyLCBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIH1cblxuICAgICAgICBwLCBidXR0b24ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWZpbGxlZCB7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIG1heC13aWR0aDogMjByZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1udWxsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNXJlbTtcbiAgICAgICAgfVxuICAgICAgICAmLS1uby1tYXJnaW4ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAmLS1wYWRkaW5nIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fY29tbWVudC1wZXJjZW50YWdlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjI1ZW07XG4gICAgfVxuXG4gICAgJl9fbWFpbi1jb21tZW50IHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4uc2NhdHRlci1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzAlIGF1dG8gYXV0byBhdXRvO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMjVyZW07XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19maWx0ZXJzIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyAyO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG5cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NoYXJ0IHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA1O1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgaGVpZ2h0OiA0MDBweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5zY2F0dGVyLXNlY3Rpb24ge1xuICAgIGdhcDogMi41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDM3LjVyZW07XG4gICAgICAgIG1pbi13aWR0aDogMTcuNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMjVyZW07XG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAuc2NhdHRlci1maWx0ZXIge1xuICAgICZfX2J1dHRvbi0taW5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXkgIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19maWx0ZXItYnktdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWRhcmstZ3JheTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41NjI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBoZWlnaHQ6IDEuODJyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG5cbiAgICAmX19jYXRlZ29yaWVzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4zNzVyZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwO1xuICAgIH1cblxuICAgICZfX25vLWdyb3VwLXRleHQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtZ3JleTtcbiAgICAgICAgd2lkdGg6IDEzLjQzNzVyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuNXJlbTtcbiAgICAgICAgcGFkZGluZzogMC4zNzVyZW0gMC41NjI1cmVtIDAuMzc1cmVtIDFyZW07XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLndvcmRzLWNsb3VkLXNlY3Rpb24ge1xuICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICB9XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAyNC4yNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAxcmVtO1xuICAgICAgICAgICAgdG9wOiAxcmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQge1xuICAgICZfX2J1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAuMnJlbSAuOHJlbTtcbiAgICAgICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmxleC1hbGlnbiB7XG4gICAgICAgIGdhcDogMS4yNXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC52b3RpbmctbW9kYWwtcmVwb3J0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1iYXNlLXBpbms7XG4gICAgfVxuXG4gICAgJl9fY2FyZC0taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFzZS1waW5rO1xuICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzJyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC43NXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMy44NzVyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJpYW5nbGUge1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICBib3JkZXI6IDAuNDY4NzVyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuOTM3NXJlbSBzb2xpZCAkY29sb3ItYmFzZS1waW5rO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDM3NXB4KSB7XG4gICAgLnRpbWUtY2hhcnQsXG4gICAgLmNoYW5uZWxzLWNoYXJ0IHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAjY2hhbm5lbC1jaGFydCB7XG4gICAgICAgIHdpZHRoOiAxNi41NjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNTU5cHgpIHtcbiAgICAucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAucmVwb3J0LWNhcmQge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuNXJlbSAwO1xuICAgICAgICBncmlkLWNvbHVtbjogMi8zO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwcHg7XG5cbiAgICAgICAgJi0tZXh0ZXJuYWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvNDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMlIGF1dG8gMyU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAudm90aW5nLXNlY3Rpb24ge1xuICAgICAgICAuZGFzaGJvYXJkLWNhcmQge1xuICAgICAgICAgICAgZmxleDogNDUlO1xuICAgICAgICB9XG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMS80O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLmNvbW1lbnRzLXNlY3Rpb24ge1xuICAgICAgICBncmlkLWNvbHVtbjogMS80O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcblxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjU2cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAuY2x1c3RlcnMtc2VjdGlvbiB7XG4gICAgICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgICAgICBwYWRkaW5nOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS43NnJlbTtcbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBcInNhbnMtc2VyaWZcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2RldGFpbC0tZmlsbGVkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NoYXJ0IHtcbiAgICAgICAgICAgIG1hcmdpbjogLjFyZW0gMCAuMXJlbSAwO1xuICAgICAgICAgICAgd2lkdGg6IDE4cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAmX19jb21tZW50LXBlcmNlbnRhZ2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19tYWluLWNvbW1lbnQsXG4gICAgICAgIC5oZWxwdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLnNjYXR0ZXItc2VjdGlvbiB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaDIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNzVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2NhdHRlci1maWx0ZXIge1xuICAgICAgICAgICAgJl9fY2F0ZWdvcmllcyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjhyZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLndvcmRzLWNsb3VkLXNlY3Rpb24ge1xuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLmZsZXgtYWxpZ24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDBweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkX19idXR0b24ge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkLnRpdGxlIHtcbiAgICAgICAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4iLAoJCSIuZXhwb3J0LWJ1dHRvbiB7XG4gICAgY29sb3I6ICRjb2xvci1icmFuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJyYW5kICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzEwcHgpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19jYXJkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGVuZDtcbiAgICAgICAgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tdHJpYW5nbGUge1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXI6IDAuMzc1cmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDAuNzVyZW0gc29saWQgJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jYXJkLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xN3JlbTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE2ZW07XG4gICAgfVxufSIsCgkJIkBpbXBvcnQgJ3BhZ2luYXRpb24nO1xuXG46Oi13ZWJraXQtY2FsZW5kYXItcGlja2VyLWluZGljYXRvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5zY3JvbGwtdG9wIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgICAgIHBhZGRpbmc6IDIuMzEzcmVtIDAgMi42ODhyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBnYXA6IDAuODEzcmVtO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB9XG5cbiAgICAmLS1mdWxsLXdpZHRoIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgIH1cbn1cblxuI3JlcG9ydC1maWx0ZXJzLWZvcm0ge1xuICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jZGF0YXRhYmxlcy1jb250YWluZXIge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMjkwcHgpO1xufVxuXG4jcmVwb3J0LXRhYmxlLWNvbnRhaW5lcjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5yZXBvcnQge1xuICAgICZfX2NvbW1lbnRzLCAmX191c2VycyB7XG4gICAgICAgICYtLWhpZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICB0YWJsZSB7XG4gICAgICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGVhZCB0ciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGVhZCB0aCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRib2R5IHRyOm50aC1jaGlsZChvZGQpIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbW1lbnQsICZfX3VzZXIge1xuICAgICAgICBkaXY6bnRoLWNoaWxkKDIpLFxuICAgICAgICBkaXY6bnRoLWNoaWxkKDMpLFxuICAgICAgICBkaXY6bnRoLWNoaWxkKDQpLFxuICAgICAgICB7XG4gICAgICAgICAgICBmb250LXNpemU6IC45ZW07XG4gICAgICAgIH1cblxuICAgICAgICBkaXY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NvbW1lbnQsICZfX3VzZXIge1xuICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICAgZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgICAgIGRpdjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1icmFuZDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb21tZW50IHtcbiAgICAgICAgZGl2Om50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWRldGFpbCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IFxuICAgICAgICAgICAgZ2FwOiAxLjM3NXJlbTsgXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlOyBcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7IFxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNDI1cmVtIDAuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzZXIge1xuICAgICAgICBkaXY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fcGVyY2VudGFnZXMge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICB9XG5cbiAgICAmX19maWx0ZXJzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktYnJpZ3RoZXI7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS41cmVtO1xuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcblxuICAgICAgICBpbnB1dCwgc2VsZWN0LCAub3JkZXJpbmcgc3BhbiwgLmNsdXN0ZXJzLWNvbnRhaW5lciBzcGFuLCAuY2x1c3RlcnMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLWlucHV0cyB7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaCB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQwcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3N0YXRpYy9pbWcvaWNvbnMvZ3JheS1zZWFyY2guc3ZnXCIpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMi4ycmVtO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ncmF5LWJyaWd0aGVyICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlcmluZyxcbiAgICAgICAgLmNsdXN0ZXJzLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiwgaSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXJpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcblxuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMTVlbTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDhweCBzb2xpZCB0cmFuc3BhcmVudDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbHVzdGVycy1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbHVzdGVycyB7XG4gICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAgICAgLmNsdXN0ZXIge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAmLS1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zb3J0aW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG5cbiAgICAgICAgICAgICNzb3J0LXVwLWljb24ge1xuICAgICAgICAgICAgICAgIHRvcDogMC4zNXJlbTtcbiAgICAgICAgICAgICAgICByaWdodDogLTAuMDVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICNzb3J0LWRvd24taWNvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLS1ibHVlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiLnBhZ2luYXRpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiA0LjMxM3JlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAyLjI4OXJlbTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZ2FwOiAwLjcxOXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ncmF5LWJsdWU7XG4gICAgICAgIHBhZGRpbmc6IDEuMDk0cmVtIDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmLXBhZ2Uge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuNzVyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIzLjhweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzLjhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tY3VycmVudCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWNsZWFyLWVsaXBzZSB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWluZGV4IHtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGdhcDogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1hcnJvdyB7XG4gICAgICAgICAgICAmLS1maXJzdCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjg0NHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWxhc3Qge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDVweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjg0NHJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbmZvIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgICAgIH1cbiAgICB9XG59IiwKCQkiLmVudmlyb25tZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDI0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43ZW07XG5cbiAgICAmX190aXRsZS0tYWxpZ24ge1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICB9XG59XG5cbi5lbnZpcm9ubWVudC1jYXJkIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHdpZHRoOiAyNjFweDtcbiAgICBoZWlnaHQ6IDIxNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICZfX3RpdGxlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uLWxpbmU6IHVuZGVybGluZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS40Njc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxN3B4O1xuICAgIH1cblxuICAgICZfX293bmVyIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICZfX293bmVyLCAmX19jb252ZXJzYXRpb24tY291bnQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICB9XG59XG5cbi5lbnZpcm9ubWVudC1jYXJkLS1sYXJnZSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICB3aWR0aDogNDE2cHg7XG4gICAgaGVpZ2h0OiAxMTlweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZy1sZWZ0OiAyNnB4O1xufVxuXG5cbi5lbnZpcm9ubWVudC1zdGF0aXN0aWNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0Ljc1ZW07XG5cbiAgICAmX19jYXJkcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMS43ZW07XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLXRvcDogMzZweDtcbiAgICB9XG59XG5cbi5yZWNlbnQtYm9hcmRzIHtcbiAgICAmX19maWx0ZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNnB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAyNHB4O1xuICAgIH1cbiAgICAmX19pbnB1dCB7XG4gICAgICAgIHotaW5kZXg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAgICAgXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgc3BhbjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45MDI1cmVtO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICBzcGFuOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hZHZhbmNlZC1zZWFyY2gge1xuICAgICZfX2lucHV0LS1zZWFyY2gge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDBweCA0cHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yNSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjokY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGhlaWdodDogMzZweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3NlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjNweDtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBlbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjJweDtcblxuICAgICAgICBoMSwgLmZpbHRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VhcmNoLXRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA1cHg7XG4gICAgICAgIH1cbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogNXB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDVweDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19yb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgXG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEuNXJlbTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgICAgIFxuICAgICAgICAmLS13aWR0aC1zbSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJi0td2lkdGgtbWQge1xuICAgICAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIFxuICAgICZfX3RleHQtLWFsaWduIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgXG4gICAgJl9fdGV4dC0tZWxsaXBzZSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAxO1xuICAgICAgICBsaW5lLWNsYW1wOiAxO1xuICAgICAgICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAgIH1cbiAgICAmLWZhdm9yaXRlLWNvdW50IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IHVuc2V0O1xuICAgIH1cbn1cblxuLmNvbnZlcnNhdGlvbi1vcHRpb24tLWhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5idXR0b24tLWZhdm9yaXRlLFxuLmJ1dHRvbi0tcmVtb3ZlLWZhdm9yaXRlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgaSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cblxuLmJ1dHRvbi0tcmVtb3ZlLWZhdm9yaXRlIHtcbiAgICBpIHtcbiAgICAgICAgY29sb3I6IHJnYmEoNDgsIDE5MSwgMjExLCAxKTsgXG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgICAgY29sb3I6IHJnYmEoNDgsIDE5MSwgMjExLCAxKTsgXG4gICAgfVxuICAgIGE6aG92ZXIgPiBpIHtcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbn1cblxuLmZhdm9yaXRlLWJvYXJkc19fY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAxLjI1cmVtO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7XG4gICAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICAgIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gICAgcGFkZGluZy1ib3R0b206IDJyZW07XG59XG5cbi5mYXZvcml0ZS1ib2FyZHNfX2NvdW50IHtcbiAgICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAuZW52aXJvbm1lbnQge1xuICAgICAgICBtaW4td2lkdGg6IDg0MHB4O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDUzMHB4KSB7XG4gICAgLmVudmlyb25tZW50LWNhcmQtLWxhcmdlIHtcbiAgICAgICAgd2lkdGg6IDI2MHB4O1xuICAgIH1cblxuICAgIC5mYXZvcml0ZS1ib2FyZHNfX2NvbnRhaW5lciB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDMsIDFmcik7XG4gICAgfVxufSIsCgkJIi8qXG4gQ09MTEFQU0lCTEUgTElTVFxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLy9cbi8vLkNvbGxhcHNpYmxlTGlzdCB7XG4vLyAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0LXNtYWxsO1xuLy9cbi8vICAgIGgyIHtcbi8vICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4vLyAgICAgICAgY29sb3I6ICRjb2xvci1jb250ZW50O1xuLy8gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbi8vXG4vLyAgICAgICAgaSwgc3BhbiB7XG4vLyAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYWNjZW50O1xuLy8gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbi8vICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkc3BhY2luZy11bml0LXNtYWxsO1xuLy8gICAgICAgIH1cbi8vICAgICAgICBpIHtcbi8vICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuLy8gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbi8vICAgICAgICB9XG4vLyAgICB9XG4vLyAgICAmLWRhdGEge1xuLy8gICAgICAgID4gdWwsID4gbGkge1xuLy8gICAgICAgICAgICBwYWRkaW5nOiAwO1xuLy8gICAgICAgICAgICBtYXJnaW46IDA7XG4vLyAgICAgICAgfVxuLy8gICAgICAgID4gdWwgPiBsaSB7XG4vLyAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAkY29sb3ItaGludDtcbi8vICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbi8vICAgICAgICAgICAgPiAqIHtcbi8vICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuLy8gICAgICAgICAgICB9XG4vLyAgICAgICAgfVxuLy8gICAgfVxuLy8gICAgJi0taGlkZGVuIHtcbi8vICAgICAgICA+IGgyID4gaSB7XG4vLyAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZykgdHJhbnNsYXRlWCgtNTAlKTtcbi8vICAgICAgICB9XG4vLyAgICB9XG4vL31cbiIsCgkJIjpyb290IHtcbiAgICAtLWR0LXJvdy1ob3ZlcjogNDgsIDE5MSwgMjExO1xuICAgIC0tZHQtY29sdW1uLW9yZGVyaW5nOiA0OCwgMTkxLCAyMTE7XG59XG5cbmRpdi5kdC1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IC0uM3JlbTtcbn1cblxudGFibGUuZGF0YVRhYmxlIHtcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xufVxuIiwKCQkiJGNsdXN0ZXJzLWJ1dHRvbi1oZWlnaHQ6IDIuMzEzcmVtO1xuXG4jaHItZGl2aWRlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgbWFyZ2luOiAxLjRyZW0gMCAxLjZyZW07XG59XG5cbiNjbHVzdGVyLWZpbHRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMi4zMTNyZW0gYXV0bztcbiAgZ3JpZC1nYXA6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgJiA+ICoge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cblxuLmZvcm0tZWxlbWVudHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDIuMzEycmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICYgPiAqIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cbi5mb3JtLWNsdXN0ZXItZGVzY3JpcHRpb24ge1xuXG4gIGZvcm0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDFyZW07XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxLjE4N3JlbSBhdXRvIDEuMTg3cmVtIDFmcjtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsYWJlbCB7XG4gICAgdGV4dC1pbmRlbnQ6IHVuc2V0O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xODhyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIHVsLmVycm9ybGlzdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBib3R0b206IDAuODEzcmVtO1xuICAgICAgY29sb3I6ICRjb2xvdC1lcnJvbGlzdC1yZWQ7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJyaWdodC1ibHVlO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgfVxuXG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAjY2x1c3Rlci1uYW1lOjpwbGFjZWhvbGRlciwgI2NsdXN0ZXItZGVzY3JpcHRpb246OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICB9XG59XG5cbi5mb3JtLWNsdXN0ZXItcGVyc29uYXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtcm93LWdhcDogMXJlbTtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxLjE4N3JlbSAxMS41cmVtIGF1dG8gYXV0byBhdXRvO1xuXG4gICNzdGVyZW90eXBlc19sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4OHJlbTtcbiAgICB0ZXh0LWluZGVudDogdW5zZXQ7XG5cbiAgICBpbWcge1xuICAgICAgaGVpZ2h0OiAxM3B4O1xuICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlLXRvb2x0aXAge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC50b29sdGlwLXBlcnNvbmEge1xuICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICBoZWlnaHQ6IDEuMzc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci10b29sdGlwLXJlZDtcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDAuMzc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHAge1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC43NXJlbTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICAubmV3LXBlcnNvbmEtc2hvcnRjdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxcmVtO1xuXG4gICAgI25ld19wZXJzb25hX2NoZWNrIHtcbiAgICAgIHotaW5kZXg6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwLjM3NXJlbTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nY2hlY2tib3gnXTo6YmVmb3JlIHtcbiAgICAgIGhlaWdodDogMC45ZW07XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgI25ldy1wZXJzb25hLXRleHQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ncmlkO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyLjI1cmVtO1xuICAgIGJvdHRvbTogMC4zMTNyZW07XG5cbiAgICAubGFiZWwtbmV3LXBlcnNvbmEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgIHRleHQtaW5kZW50OiB1bnNldDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgICN0ZXh0LW5ldy1wZXJzb25hIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5idG4tY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIH1cbn1cblxuLmhpbnQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRpdGxlLWNsdXN0ZXIge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODEzcmVtO1xuICBtYXJnaW46IDEuOHJlbSAwIC44cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ucGVyc29uYXMtbGlzdCB7XG4gIHNlbGVjdCNpZF9zdGVyZW90eXBlcyB7XG4gICAgcGFkZGluZzogLjNyZW0gLjVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYnJpZ2h0LWJsdWU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjMxM3JlbTtcbiAgICBzY3JvbGxiYXItd2lkdGg6IGF1dG87XG4gICAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWUgdHJhbnNwYXJlbnQ7XG5cbiAgb3B0aW9uIHtcbiAgICBtYXJnaW46IDAuNDM4cmVtIDA7XG4gICAgcGFkZGluZzogLjlyZW0gMC4yNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgfVxufVxuICBzZWxlY3Qge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIHNlbGVjdDo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgfVxuXG4gIHNlbGVjdDo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgfVxuXG4gIHNlbGVjdDo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtYmx1ZTtcbiAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbTtcbiAgICBib3JkZXI6IDVweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gIH1cbn1cblxuI2NsdXN0ZXItc2VsZWN0IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBnYXA6IDFyZW07XG4gIG1heC1oZWlnaHQ6IDYuNjJyZW07XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBhZGRpbmctYm90dG9tOiAwLjE4OHJlbTtcbiAgcGFkZGluZy1yaWdodDogLjVyZW07XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHNjcm9sbGJhci13aWR0aDogYXV0bztcbiAgc2Nyb2xsYmFyLWNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWUgdHJhbnNwYXJlbnQ7XG59XG5cbiNjbHVzdGVyLXNlbGVjdDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbn1cblxuI2NsdXN0ZXItc2VsZWN0Ojotd2Via2l0LXNjcm9sbGJhciB7XG4gIHdpZHRoOiAwLjg3NXJlbTtcbn1cblxuI2NsdXN0ZXItc2VsZWN0Ojotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbn1cblxuI2NsdXN0ZXItc2VsZWN0Ojotd2Via2l0LXNjcm9sbGJhci10aHVtYiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtYmx1ZTtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG4gIGJvcmRlcjogNXB4IHNvbGlkICRjb2xvci13aGl0ZTtcbn1cblxuI25ldy1idXR0b24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgYmFja2dyb3VuZDogJGNvbG9yLXBpbmstbGlnaHQ7XG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1waW5rLWxpZ2h0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4ub3B0aW9ucy1ncm91cHMge1xuICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JheTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICBwYWRkaW5nOiAwIDAuOXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbn1cblxuLnNlbGVjdC1idXR0b24ge1xuICBoZWlnaHQ6ICRjbHVzdGVycy1idXR0b24taGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJpZ2h0LWJsdWU7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGJvcmRlcjogM3B4IHNvbGlkICRjb2xvci1icmlnaHQtYmx1ZTtcbn1cblxuI25ldy1idXR0b24ge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbn1cblxuI25ldy1idXR0b24sIC5vcHRpb25zLWdyb3VwcyB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAwLjMxM3JlbTtcbn1cblxuLm5vLWNsdXN0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLmNsb3NlLW1vZGFsLWJ0biB7ZGlzcGxheTogbm9uZTt9XG5cbi8vIEVESVQgRUxFTUVOVFNcblxuLmVkaXQtYnV0dG9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMS44NzVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGlucHV0IHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuXG4gICNzYXZlLWVkaXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBnYXA6IC41cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDEuMzdyZW0gMS41NHJlbTtcbiAgICB3aWR0aDogbWluLWNvbnRlbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5kZWxldGUtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1yZWQtbmVnYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMS41NjNyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAxLjM3cmVtIC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgaSB7XG4gICAgICBtYXJnaW46IDAuMzEzcmVtO1xuICAgIH1cbiAgfVxuXG4gIC5kaXZpZGVyLW1vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubWFuYWdlLXBlcnNvbmFzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDEuMzdyZW0gMS4wNjNyZW07XG4gIHdpZHRoOiAxMy44NzVyZW07XG4gIGJhY2tncm91bmQ6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICBib3JkZXItcmFkaXVzOiAxLjU2M3JlbTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gIGkge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBtYXJnaW46IDAuNWVtO1xuICB9XG59XG5cbi5tYW5hZ2UtcGVyc29uYXM6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWUgIWltcG9ydGFudDtcbn1cblxuLm1hbmFnZS1wZXJzb25hcy1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvdHRvbTogNC42MjVyZW07XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbn1cblxuLmNyZWF0ZS1ncm91cC1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwbGFjZS1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZ2FwOiAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMS41cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAxLjM3cmVtIDEuNTRyZW07XG4gIHdpZHRoOiBtaW4tY29udGVudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG5cbiAgaSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLmRpc2FibGUtZGl2IHtcbiAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXkgIWltcG9ydGFudDtcbn1cblxuLnNhdmUtZWRpdHMtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheSAhaW1wb3J0YW50O1xuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5ICFpbXBvcnRhbnQ7XG59XG5cbi5mb3JtLW1vZGFsLWRlbGV0ZS1zaG93IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jbHVzdGVyLW1vZGFsIHtcblxuICAgICZfX3BhcnRpY2lwYW50cyxcbiAgICAmX19oZWFkZXIsXG4gICAgJl9fY29tbWVudHMge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgIGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJl9faGVhZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcblxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xZW0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgJiBoMSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb21tZW50cyB7XG4gICAgICAgIC5jb21tZW50LXN0YXRzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS01MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21tZW50LWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgLmVkaXQtY29udGVudCB7XG4gICAgcGFkZGluZzogMCAxLjVyZW07XG4gIH1cblxuICAjbmV3LWJ1dHRvbiwgLm9wdGlvbnMtZ3JvdXBzIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gIH1cblxuICAuZm9ybS1lbGVtZW50cyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmID4gKiB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jbHVzdGVyLWRlc2NyaXB0aW9uIHtcbiAgICAjY2x1c3Rlci1uZXcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuZm9ybS1jbHVzdGVyLXBlcnNvbmFzIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgLm5ldy1wZXJzb25hLXNob3J0Y3V0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICNuZXdfcGVyc29uYV9jaGVjayB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgI25ldy1wZXJzb25hLXRleHQge1xuICAgICAgbGVmdDogMS44NzVyZW07XG4gICAgICB3aWR0aDogOTAlO1xuICAgIH1cblxuICAgIC50b29sdGlwLXBlcnNvbmEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC5idG4tY29udGFpbmVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wZXJzb25hcy1saXN0IHtcbiAgICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICAgIHBhZGRpbmc6IC4zcmVtIC4yNXJlbSAuM3JlbSAwLjZyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAubmV3LWdyb3VwLW1vZGFsIHtcbiAgICBsZWZ0OiAxNSU7XG4gICAgdG9wOiAxNSU7XG4gICAgd2lkdGg6IDcwJTtcbiAgfVxuXG4gIC5lZGl0LWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwLXJldmVyc2U7XG4gICAgZ2FwOiAwO1xuXG4gICAgI3NhdmUtZWRpdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjYyNXJlbTtcbiAgICB9XG5cbiAgICAuZGVsZXRlLWdyb3VwIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuOTM4cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45MzhyZW07XG4gICAgfVxuICB9XG5cbiAgLmRpdmlkZXItbW9iaWxlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjQkFCQUJBO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1hbmFnZS1wZXJzb25hcy1jb250YWluZXIge1xuICAgIGJvdHRvbTogLjYyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIH1cblxuICAuY29uZmlybWF0aW9uLW1vZGFsIHtcbiAgICB3aWR0aDogODAlO1xuICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICBsZWZ0OiA2NiU7XG4gICAgdG9wOiA4MCU7XG5cbiAgICAubW9kYWwtY29uZmlybWF0aW9uLWNvbnRhaW5lciB7XG4gICAgICBidXR0b24uZGVsZXRlLCBidXR0b24ucmV0dXJuIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5NnB4KSBhbmQgKG1pbi13aWR0aDogNTI0cHgpIHtcbiAgLmVkaXQtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwbGFjZS1zZWxmOiBjZW50ZXI7XG4gICAgZ2FwOiAwO1xuXG4gICAgLmRpdmlkZXItbW9iaWxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCQUJBQkE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5mb3JtLWNsdXN0ZXItZGVzY3JpcHRpb24ge1xuICAgIGZvcm0ge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxLjE4N3JlbSBhdXRvIDEuMTg3cmVtIDE4LjU2M3JlbTtcbiAgICB9XG4gIH1cblxuICAubWFuYWdlLXBlcnNvbmFzLWNvbnRhaW5lciB7XG4gICAgYm90dG9tOiAwO1xuICB9XG5cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5NnB4KSBhbmQgKG1pbi13aWR0aDogODc2cHgpIHtcbiAgLmVkaXQtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXAtcmV2ZXJzZTtcbiAgICBnYXA6IDA7XG5cbiAgICAuZGl2aWRlci1tb2JpbGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI0JBQkFCQTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1hbmFnZS1wZXJzb25hcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxNDAwcHgpIHtcbiAgLm5ldy1ncm91cC1tb2RhbCB7XG4gICAgbGVmdDogMjIlO1xuICAgIHRvcDogMjUlO1xuICB9XG5cbiAgLmNvbmZpcm1hdGlvbi1tb2RhbCB7XG4gICAgdG9wOiA1MCU7XG4gIH1cbn1cbiIsCgkJIiNzb3J0LWRvd24taWNvbiwgI3NvcnQtdXAtaWNvbiB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAwLjY4OHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6ICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlcjtcbn1cblxuI3NvcnQtZG93bi1pY29uIHtcbiAgICBib3R0b206IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4jc29ydC11cC1pY29uIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5zZWxlY3QtZ3JvdXBzLWZpbHRlciB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3BhZ2luYXRpb24tY3JlYXRlLCAjcGFnaW5hdGlvbi1lZGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAxLjMxM3JlbTtcblxuICAgICAgICAmIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg4ZW07XG5cbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNTYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmV2LCAubmV4dCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1ibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYWN0aXZlLCAucGFnZS1saW5rLCAuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnBhZ2UtbGluaywgLnBhZ2UtbGluazpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItc3RlcmVvdHlwZXMge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDAuODEzcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjA5NHJlbSAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcGFnaW5hdGlvbi10ZXh0LWNyZWF0ZSwgI3BhZ2luYXRpb24tdGV4dC1lZGl0IHtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kaXZpZGVyLXNlY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIGFuZCAobWluLXdpZHRoOiAzMjFweCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5ncm91cHMtZmlsdGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWRlZXBlcjtcbiAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMC4zNzVyZW07XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzJSBhdXRvIDMlO1xuICAgICAgICAgICAgcGFkZGluZzogMXJlbSAwIDAuMzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxuXG4gICAgJl9fZ3JvdXAsICZfX2dyb3VwOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNzVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwLjc1cmVtIDAuNjI1cmVtIDA7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgICAgIG1heC13aWR0aDogMTQuMzc1cmVtO1xuICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuXG4gICAgJi0tc2VsZWN0ZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItYWNjZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubWFuYWdlLXN0ZXJlb3R5cGVzIHtcbiAgICBoMiB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlbHB0ZXh0IHtcbiAgICAgICAgbWFyZ2luOiAxcmVtIDAgMi4xMjVyZW07XG4gICAgfVxuXG4gICAgJl9faGVscHRleHQtYWx0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41cmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmX19jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbmF2aWdhdGlvbi1tZW51LWJhY2tncm91bmQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41cmVtO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LXdoaXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaGVhZGVyIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLXZvdGUtc2VjdGlvbiB7XG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMlIGF1dG8gMyU7XG5cbiAgICAgICAgICAgICAgICAmID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2Zvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luOiAyLjI1cmVtIDAgMy4xMjVyZW07XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjM3NXJlbSAwIDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5wdXQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgcmVzaXplOiBub25lO1xuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2FjdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDIuMjVyZW07XG4gICAgICAgIG1hcmdpbjogM3JlbSAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwIDIuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDE1LjM3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDQuMzc1cmVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgJi0tZ3JlZW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZ3JlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWdyYXkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tcmVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1ibHVlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZ3JvdXBpbmcge1xuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzJSBhdXRvIDMlO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm90ZXMtY29udGFpbmVyIHtcbiAgICBtYXgtaGVpZ2h0OiAzMHJlbTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgcGFkZGluZy1yaWdodDogMS4zNzVyZW07XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IHVuc2V0O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52b3Rlcy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgd2lkdGg6IDAuNDM4cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udm90ZXMtY29udGFpbmVyOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEOUQ5RDk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52b3Rlcy1jb250YWluZXI6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJyaWdodC1ibHVlO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC40MzhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGVyZW90eXBlcy1zZWN0aW9uIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdGVyZW90eXBlcy1zZWN0aW9uIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fbm8tZ3JvdXBzIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTYyLjYlO1xuICAgICAgICBwYWRkaW5nOiA5LjY4OHJlbSA4LjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogNS42MjVyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4uc3RlcmVvdHlwZS1jYXJkcyB7XG4gICAgZm9ybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJl9fY2FyZC1jb21tZW50cyB7XG4gICAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTNyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzU0M3JlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDEuMzc1cmVtIDEuMzc1cmVtIDEuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQzOHJlbTtcbiAgICAgICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDEuMzEzcmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX192b3RlLWJ1dHRvbnMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS40MzhyZW07XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtZ2FwOiAzcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgYXV0byk7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgYXV0byk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNjU1cmVtO1xuICAgICAgICAgICAgICAgIGdyaWQtcm93LWdhcDogMC41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG8gMC40ZW07XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b246aG92ZXIge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMuNzczcmVtO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG5cbiAgICAgICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2RlbGV0ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODhyZW07XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmtlcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pY29uLTEsICYtLWljb24tLTEsICYtLWljb24tMCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogY29udGVudHM7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWljb24tMSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1pY29uLTAge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0taWNvbi0tMSB7XG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDM7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWNsZWFyIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG59XG5cbi5hZ3JlZS0xLCAuZGlzYWdyZWUtLTEsIC5za2lwLTAge1xuICAgIHdpZHRoOiA4cmVtO1xuICAgIGhlaWdodDogMi4zNzVyZW0gIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjMxM3JlbTtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHdpZHRoOiA1LjE4OHJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjMxM3JlbSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWdyZWUtMSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yLWFncmVlICFpbXBvcnRhbnQ7XG59XG5cbi5kaXNhZ3JlZS0tMSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRpc2FncmVlICFpbXBvcnRhbnQ7XG59XG5cbi5za2lwLTAge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmlnaHQtYmx1ZSAhaW1wb3J0YW50O1xufVxuXG4ucG9pbnRlci0xIHtcbiAgICAudGFicy1jb250YWluZXIge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICAgICAgICNzZWUtZWRpdC1wZXJzb25hcy10YWIge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSIubW9kYWwge1xuXG4gICAgJl9fb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB6LWluZGV4OiA3NTA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYuaGlkZSB7dmlzaWJpbGl0eTogaGlkZGVuO31cblxuICAgICAgICA+ICoge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlLCAuMjUpO1xuICAgIH1cblxuICAgICZfX2NvbnRhaW5lciB7XG4gICAgICAgIEBleHRlbmQgLnBhZC00O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEyNTA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1tb2RhbC1iYWNrZ3JvdW5kO1xuICAgICAgICBib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC41cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDI5LjI1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAxNC42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDMuMjVyZW0gNS4zMTNyZW07XG5cbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDM4MHB4KSB7XG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbGlnaHRlci1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItbW9kYWwtYmFja2dyb3VuZC1saWdodGVyO1xuICAgICAgICB9XG4gICAgICAgICYtLXRleHQtYWxpZ24tdW5zZXQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc20taGVpZ2h0IHtcbiAgICAgICAgICAgIEBleHRlbmQgLm1vZGFsX19jb250YWluZXI7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHZoO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA5MCU7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgLjVzO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi10cmFuc2l0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA3MHZoO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtLXNtIHtcbiAgICAgICAgICAgIEBleHRlbmQgLm1vZGFsX19jb250YWluZXI7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbWQge1xuICAgICAgICAgICAgQGV4dGVuZCAubW9kYWxfX2NvbnRhaW5lcjtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmLS1sZyB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5tb2RhbF9fY29udGFpbmVyO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA0NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXF1aWNrLWFjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxLjg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxNy40MzhyZW07XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faWNvbiB7XG4gICAgICAgIHdpZHRoOiA2N3B4O1xuICAgICAgICAmLS1hbGVydCB7Y29sb3I6ICRjb2xvci10aGVtZS1yZWQ7fVxuICAgICAgICAmLS1zdWNjZXNzIHtjb2xvcjogJGNvbG9yLXRoZW1lLWdyZWVuO31cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIH1cblxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07XG4gICAgfVxuXG4gICAgJl9fY2xvc2UtYnRuIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgJjpob3ZlciB7Ym94LXNoYWRvdzogbm9uZTt9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMS4zMTNyZW07XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19idG4ge1xuICAgICAgICBAZXh0ZW5kIC5wYWQtMztcbiAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IC41cmVtO1xuICAgICAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3JlbTtcbiAgICAgICAgaGVpZ2h0OiAyLjg3NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJlZCB7XG4gICAgICAgICAgICBAZXh0ZW5kIC5tb2RhbF9fYnRuO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWJsdWUge1xuICAgICAgICAgICAgQGV4dGVuZCAubW9kYWxfX2J0bjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1uby1maWxsIHtcbiAgICAgICAgICAgIEBleHRlbmQgLm1vZGFsX19idG47XG5cbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXItdGV4dDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1ibGFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnRuLWJvYXJkLWRlbGV0ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzByZW0gIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDE3LjU2MjVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAzLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJl9fYnRuLWFsdGVybmF0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gICAgICAgIGdyaWQtZ2FwOiAxLjg3NXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgJi0tcmVkLCAmLS1ncmF5IHtcbiAgICAgICAgICAgIHdpZHRoOiA2LjMxM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi43NWVtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1ZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLXJlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tZ3JheSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgICZfX2J0bi1ib2FyZCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LWRhcmsgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDExLjJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi0tZnVsbC1zY3JlZW4tbW9iaWxlIHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYtLWhpZGUtb3ZlcmZsb3cteSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICB9XG59XG4iLAoJCSJAaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9fdG91ci5zY3NzJztcbiIsCgkJIi50b3VyIHtcbiAgICAmLWJhY2tkcm9wIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgfVxuICAgICYtY2FyZCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1icmFuZC1saWdodGVyO1xuICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICBoZWlnaHQ6IDQzLjc1cmVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogY2FsYyg1MCUgLSA0My43NXJlbS8yKTtcbiAgICAgICAgbGVmdDogY2FsYyg1MCUgLSA1Ni4yNXJlbS8yKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogNTYuMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDUwMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgICYtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiA4cmVtO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgJl9fc25hcHNob3Qge1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICB9XG4gICAgfVxuICAgICYtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDNyZW07XG4gICAgICAgIC5sb2dvIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDR2aDtcbiAgICAgICAgICAgIGltZyAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnViYmxlcyxcbiAgICAgICAgLnNlY29uZGFyeS1idWJibGVzIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAuYnViYmxlcyB7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgICAgICAuc2Vjb25kYXJ5LWJ1YmJsZXMge1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAud2VsY29tZSB7XG4gICAgICAgICAgICAmLS13aWR0aC0xMDAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi4yNWVtO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiB1bnNldDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzdmg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDR2aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3ctcmV2ZXJzZTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGVuZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtIDA7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuYnV0dG9uLS1za2lwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQtbGlnaHRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItYWNjZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5zbmFwc2hvdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLXByb2dyZXNzIHtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktMjAwO1xuICAgICAgICBtYXgtd2lkdGg6IDU2LjI1cmVtO1xuICAgICAgICB6LWluZGV4OiA5OTg7XG4gICAgfVxuICAgICYtcHJvZ3Jlc3MtLTEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB3aWR0aDogNSU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgfVxuICAgICYtcHJvZ3Jlc3MtLTIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYWNjZW50O1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIGhlaWdodDogLjI1cmVtO1xuICAgIH1cbiAgICAmLXByb2dyZXNzLS0zIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWFjY2VudDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgaGVpZ2h0OiAuMjVyZW07XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLnRvdXItcHJvZ3Jlc3Mge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxJSAxNCU7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQgLmxvZ28ge1xuICAgICAgICBtYXJnaW4tdG9wOiAxOXZoO1xuICAgIH1cbiAgICAudG91ci1jb250ZW50IC5sb2dvLmxvZ28tLW1pbm9yLW1hcmdpbi10b3Age1xuICAgICAgICBtYXJnaW4tdG9wOiA1JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNCU7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQgLndlbGNvbWUge1xuICAgICAgICB3aWR0aDogODB2dztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgICAudG91ci1jb250ZW50IC5idXR0b25zIHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNXJlbTtcbiAgICB9XG4gICAgLnRvdXItY29udGVudCAuYnV0dG9ucyBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC50b3VyLWNvbnRlbnQgLmJ1YmJsZXMge1xuICAgICAgICBtYXgtd2lkdGg6IDYwJTtcbiAgICB9XG4gICAgLnRvdXItZm9vdGVyX19zbmFwc2hvdCB7XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxuICAgIC50b3VyLWNhcmQge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICB9XG4gICAgLnRvdXItZm9vdGVyIHtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDcwMHB4KSB7XG4gICAgLnRvdXItY29udGVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuICAgIC50b3VyLWNhcmQge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgIH1cblxuICAgIEBzdXBwb3J0cyAoLW1vei1hcHBlYXJhbmNlOm5vbmUpIHtcbiAgICAgICAgLnRvdXItY2FyZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IC1tb3otbWF4LWNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gT1ZFUlJJREUgTUVOREVMRUVWLkNTUyBFTEVNRU5UU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEluIHRoZSBmdXR1cmUsIE1lbmRlbGVldiBzaG91bGQgc3VwcG9ydCB0aGlzIGtpbmQgb2YgcGVyc29uYWxpemF0aW9uIGFuZCB0aGlzXG4vLyBtb2R1bGUgd2lsbCBnbyBhd2F5LlxuXG4uY29udGFpbmVyLTEsIC5jb250YWluZXItMiwgLmNvbnRhaW5lci0zLCAuY29udGFpbmVyLTQge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZm9ybS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNzByZW07XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IDAgc2l6ZSgxKTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMHJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG59XG5cbi5mb3JtLWNvbnRhaW5lci5pcy13aWRlIHtcbiAgICBtYXgtd2lkdGg6IDYwcmVtO1xufVxuXG4uZm9ybS1uYXJyb3cge1xuICAgIHdpZHRoOiAyMXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxubGFiZWwge1xuICAgIEBleHRlbmQgLnRleHQtNjtcbiAgICBjb2xvcjogY29sb3IoJ2FjdGlvbicpO1xuICAgIHRleHQtaW5kZW50OiAxLjEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xufVxuXG5sZWdlbmQge1xuICAgIG1hcmdpbi1sZWZ0OiBzaXplKDEpO1xuICAgIG1hcmdpbi1yaWdodDogc2l6ZSgxKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgb3BhY2l0eTogMC43NTtcbn1cblxuaHRtbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJ3doaXRlJyk7XG59XG5cbmEuYnV0dG9uIHtcbiAgICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygnc2hhZG93LTEnKTtcbiAgICAgICAgQGluY2x1ZGUgY29sb3IoJ2FjdGlvbicpO1xuICAgIH1cbn1cblxuYS5idXR0b24uaXMtcHJpbWFyeSB7XG4gICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICBAaW5jbHVkZSBjb2xvcignYWNjZW50Jyk7XG4gICAgfVxufVxuXG4vLyBOZWF0IHRyaWNrIGZyb20gaHR0cHM6Ly9hY2Nlc3NpYmxlMzYwLmNvbS9hY2Nlc3NpYmxlMzYwLWJsb2cvdXNlLWFyaWEtbGFiZWwtc2NyZWVuLXJlYWRlci10ZXh0L1xuLnNjcmVlbi1yZWFkZXIge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBjbGlwLXBhdGg6IHBvbHlnb24oMHB4IDBweCwgMHB4IDBweCwgMHB4IDBweCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHotaW5kZXg6IC0xMDAwO1xufVxuIiwKCQkiLmxkcy1yaW5nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA4MHB4O1xuICBoZWlnaHQ6IDgwcHg7XG59XG4ubGRzLXJpbmcgZGl2IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDY0cHg7XG4gIGhlaWdodDogNjRweDtcbiAgbWFyZ2luOiA4cHg7XG4gIGJvcmRlcjogOHB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYW5pbWF0aW9uOiBsZHMtcmluZyAxLjJzIGN1YmljLWJlemllcigwLjUsIDAsIDAuNSwgMSkgaW5maW5pdGU7XG4gIGJvcmRlci1jb2xvcjogIzMwQkZEMyB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbn1cbi5sZHMtcmluZyBkaXY6bnRoLWNoaWxkKDEpIHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAtMC40NXM7XG59XG4ubGRzLXJpbmcgZGl2Om50aC1jaGlsZCgyKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuM3M7XG59XG4ubGRzLXJpbmcgZGl2Om50aC1jaGlsZCgzKSB7XG4gIGFuaW1hdGlvbi1kZWxheTogLTAuMTVzO1xufVxuQGtleWZyYW1lcyBsZHMtcmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUEFHRSBOQVZJR0FUSU9OIEVMRU1FTlRTXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9tYWluL19uYXZpZ2F0aW9uLnNjc3MnO1xuQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuXG5cbi5tYWluLWhlYWRlciA+IGE6bnRoLWNoaWxkKDEpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuXG4ucGFnZS1tZW51IGgzIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLmFkdmFuY2VkLXNlYXJjaHtcbiAgICAucGFnaW5hdG9ye1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1heC13aWR0aDogMzAwcHg7ICAgIFxuICAgIH1cbn0gICAgIiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFBBR0UgTkFWSUdBVElPTiBFTEVNRU5UU1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCIuLi8uLi9jb25maWdcIjtcblxuJF9zbS1oZWFkZXItaGVpZ2h0OiBzaXplKDIpO1xuJF9tZC1oZWFkZXItaGVpZ2h0OiBzaXplKDIuNSk7XG4kYXZhdGFyLWhlaWdodDogMzZweDtcbiRhdmF0YXItYm9yZGVyOiA1MCU7XG5cbmJvZHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGhlYWRlciBuYXZpZ2F0aW9uXG5cbi5tYWluLWNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDAgMTguNzVyZW07XG5cbiAgICAmLS13aXRob3V0LW1hcmdpbiB7XG4gICAgICAgIG1hcmdpbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5tYWluLWhlYWRlciB7XG4gICAgQGluY2x1ZGUgdXRpbGl0aWVzKFwicm93IGl0ZW1zLWNlbnRlciBjZW50ZXIgc3RpY2t5IHBpbi10b3BcIik7XG4gICAgQGluY2x1ZGUgY29sb3IoXCJuYXZpZ2F0aW9uXCIpO1xuXG4gICAgei1pbmRleDogMTAwMDtcblxuICAgID4gKiB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcyhcInBhZC14MVwiKTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICBjb2xvcjogY29sb3IoXCJuYXZpZ2F0aW9uLXRleHRcIik7XG4gICAgICAgIGhlaWdodDogJF9zbS1oZWFkZXItaGVpZ2h0O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBib3gtc2hhZG93OiAwIDAgMnB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMy41cmVtO1xuICAgIG9yZGVyOiAtMTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICZfX2xvZ28gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAkX3NtLWhlYWRlci1oZWlnaHQgKiAwLjY7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAmX19hdmF0YXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkYXZhdGFyLWJvcmRlcjtcbiAgICAgICAgd2lkdGg6ICRhdmF0YXItaGVpZ2h0O1xuICAgICAgICBoZWlnaHQ6ICRhdmF0YXItaGVpZ2h0O1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG59XG5cbi8vIFJlb3JnYW5pemUgdXNpbmcgbWVkaWEgcXVlcmllc1xuQGluY2x1ZGUgYnJlYWtwb2ludChcInNtXCIpIHtcbiAgICAuY29udGFpbmVyLXRlbXBvcmFyeSB7XG4gICAgICAgIG1heC13aWR0aDogNjR2dyAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tZWFzdXJlLXdpZGUge1xuICAgICAgICBtYXgtd2lkdGg6IDYwdnc7XG4gICAgfVxuXG4gICAgLm1haW4taGVhZGVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoXCJtZFwiKSB7XG4gICAgICAgICAgICA+ICoge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgc2l6ZSgwLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5tYWluLWhlYWRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkX21kLWhlYWRlci1oZWlnaHQ7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fdXNlciB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciAjc2hvdy1mbG9hdGluZy1tZW51IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2lkZWJhciAvIG1lbnVcblxuLm5hdi1kaXZpZGVyIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyO1xuICAgIG1hcmdpbjogMCAwLjYyNXJlbTtcblxuICAgICYtLWRhcmtlciB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWdyYXk7XG4gICAgfVxufVxuXG4ucGFnZS1tZW51IHtcbiAgICBtYXgtaGVpZ2h0OiA2MDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogNzUwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0cmFuc2l0aW9uOiAwLjNzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uYXZpZ2F0aW9uLW1lbnUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICAgIG92ZXJmbG93OiBoaWRkZW4gYXV0bztcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgbWluLXdpZHRoOiA4MCU7XG4gICAgICAgIG1heC13aWR0aDogODAlO1xuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi1oZWlnaHQ6IDUwMHB4KSBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgbWF4LWhlaWdodDogdW5zZXQ7XG4gICAgfVxuXG4gICAgJi0tZGlzYWJsZS1vdmVyZmxvdyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBcInNhbnMtc2VyaWZcIjtcbiAgICB9XG5cbiAgICAmX19saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMi4yMTlyZW07XG4gICAgICAgIHBhZGRpbmc6IDIuMjVyZW0gMCAxLjc1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNvbG9yLWdyYXktZGFya2VyO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NWVtO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTg4ZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2LWNhdGVnb3JpZXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS43NXJlbSAhaW1wb3J0YW50O1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgfVxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4zMTNyZW07XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1wYWRkaW5nIHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS43NXJlbTtcbiAgICAgICAgfVxuICAgICAgICBwYWRkaW5nOiAwIDEuNzVyZW0gMS43NXJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1tYXJnaW4ge1xuICAgICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgICB9XG5cbiAgICAmW2lzLW9wZW49XCJcIl0ge1xuICAgICAgICB3aWR0aDogMTdyZW07XG4gICAgfVxuXG4gICAgJltpcy1tZW51XSB7XG4gICAgICAgIHdpZHRoOiAxN3JlbTtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICBsZWZ0OiAtMTAwJTtcbiAgICB9XG5cbiAgICAmW2lzLW9wZW5dIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAzcmVtO1xuICAgICAgICB6LWluZGV4OiA3NTA7XG4gICAgfVxuXG4gICAgbmF2IHtcbiAgICAgICAgaDEsXG4gICAgICAgIGgyLFxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKFwibGlzdC1yZXNldFwiKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBuYXY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgfVxuICAgIC5hZGQtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1icmFuZDtcbiAgICB9XG5cbiAgICAuYm9hcmQtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDIuMjVyZW07XG5cbiAgICAgICAgJl9fY2hldnJvbi10cmFuc2l0aW9uIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmX190b2dnbGUtc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAjYm9hcmQtY2hldnJvbi1pY29uIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm9hcmQtbGlzdCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDAuMzFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEuN3JlbTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGxpLnNlbGVjdGVkLWJvYXJkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMHJlbSAtMnJlbSAwcmVtIC0ycmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMHJlbSAycmVtIDByZW0gMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXBvcnQtc2VjdGlvbiB7XG4gICAgICAgIC5kaXNwbGF5LXJlcG9ydHMge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IHVuc2V0O1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiB1bnNldDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBkaXYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyO1xuICAgICAgICB9XG4gICAgICAgIC5zaG93IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgIC5oaWRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNpc2V4cGFuZGVkMyxcbi5pc2V4cGFuZGVkLWNsdXN0ZXItY29tbWVudHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmlzZXhwYW5kZWQtY2x1c3Rlci1jb21tZW50cyB7XG4gICAgJi0tb3ZlcmZsb3cge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuIHNjcm9sbDtcbiAgICAgICAgbWF4LWhlaWdodDogNTB2aDtcbiAgICB9XG59XG5cbiNpc2V4cGFuZGVkMzpjaGVja2VkICsgbGFiZWwgPiBpLFxuLmlzZXhwYW5kZWQtY2x1c3Rlci1jb21tZW50czpjaGVja2VkICsgbGFiZWwgPiBpIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xufVxuXG4jc2hvdy1mbG9hdGluZy1tZW51IHtcbiAgICB0b3A6IDNyZW07XG4gICAgdHJhbnNpdGlvbjogMC4zcztcblxuICAgICYuaGlkZSB7XG4gICAgICAgIHJpZ2h0OiAtMjByZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG59XG5cbi5wcm9maWxlLWF2YXRhciB7XG4gICAgYm9yZGVyLXJhZGl1czogNjYuNXB4O1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNDRweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG59XG5cbi5mbG9hdGluZy1tZW51IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAzcmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuXG4gICAgYSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gICAgYSxcbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAgIHdpZHRoOiAxMy41cmVtO1xuICAgIH1cblxuICAgICZfX3NlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoXCJwYWQtMlwiKTtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKFwicGFkLXkyXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKFwicGFkLXkzXCIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIGhlaWdodDogNS43NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1uYXZpZ2F0aW9uLW1lbnUtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3VzZXJuYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA1cmVtO1xuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3Byb2ZpbGUsXG4gICAgJl9fZW52aXJvbm1lbnQge1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19sb2dvdXQge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgICAgZm9ybSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lbnUtc2VjdGlvbiB7XG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQzNzVyZW0gIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIH1cblxuICAgICZfX2NvbnZlcnNhdGlvbi10ZXh0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi4yNXJlbTtcbiAgICAgICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogNDtcbiAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA2cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ2cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udmVyc2F0aW9uLW1lbnUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAwLjYzcmVtIGF1dG8gMC42M3JlbTtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1JSBhdXRvIDUlO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIGdhcDogMC45M3JlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICZfX2VkaXQtYnV0dG9uIGEsXG4gICAgJl9fZGVsZXRlLWJ1dHRvbiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEzcmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJl9fZGVsZXRlLWJ1dHRvbiB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAyLjYyNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1yZWQtbmVnYXRpdmU7XG4gICAgICAgICAgICBib3JkZXI6ICRjb2xvci1yZWQtbmVnYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19lZGl0LWJ1dHRvbiB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgYm9yZGVyOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVsZXRlLWJ1dHRvbiB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgICAgIGJvcmRlcjogJGNvbG9yLXJlZC1uZWdhdGl2ZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMTI1ZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2xpbmtzIHtcbiAgICAgICAgcGFkZGluZzogMi4yNXJlbSAwIDEuNzVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXI7XG4gICAgfVxuXG4gICAgJl9fYXZhdGFyIHtcbiAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgJl9fdXNlcm5hbWUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE3cmVtO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB9XG5cbiAgICAmX19jb252ZXJzYXRpb24tdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDZyZW07XG4gICAgICAgIG1heC1oZWlnaHQ6IDZyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICB9XG5cbiAgICAmX19jb252ZXJzYXRpb24tc2hhcmUge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb252ZXJzYXRpb24taW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTdyZW07XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFya2VyO1xuICAgICAgICB9XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdXNlci1zZWN0aW9uIHtcbiAgICAgICAgbWFyZ2luOiAxLjc2cmVtIDAgNC4yNXJlbSAwO1xuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgIH1cbn1cblxuLnBhcnRpY2lwYW50LW1lbnUge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxLjJyZW0gYXV0byAxLjJyZW07XG5cbiAgICAmX19idXR0b25zIHtcbiAgICAgICAgbWFyZ2luOiAyLjI1cmVtIDA7XG4gICAgICAgIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJiBhOmxhc3QtY2hpbGQgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9faXRlbSB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBhcnRpY2lwYW50LW1lbnUsXG4uY29udmVyc2F0aW9uLW1lbnUge1xuICAgICZfX2l0ZW0ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBwYWRkaW5nOiAwLjMycmVtIDA7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLW5hdmlnYXRpb24taGVhZGVyLXdpdGgtb3BhY2l0eTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuM3JlbTtcbiAgICAgICAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWNvbHVtbi0yIHtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAyLzM7XG4gICAgICAgICAgICBwYWRkaW5nOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLW1hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjkzcmVtICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLWhlaWdodDogNTAwcHgpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX193ZWxjb21lLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVlbSAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMS44cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIH1cblxuICAgICZfX2hvbWUtZGl2aWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgICAgIGdyaWQtY29sdW1uOiAyO1xuXG4gICAgICAgICYtLWxpZ2h0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1uYXZpZ2F0aW9uLWhlYWRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2hlbHAtc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuOHJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5uYXYtZGl2aWRlciB7XG4gICAgICAgIG1hcmdpbjogMXJlbSAwLjYyNXJlbSAwIDAuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxLzQ7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KFwic21cIikge1xuICAgIC5wYWdlLW1lbnUge1xuICAgICAgICB6LWluZGV4OiA3NTA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogdW5zZXQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1uYXZpZ2F0aW9uLW1lbnUtYmFja2dyb3VuZDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgZmxleDogMTtcbiAgICAgICAgbWluLWhlaWdodDogY2FsYygxMDB2aCAtIDNyZW0pO1xuICAgICAgICBtaW4td2lkdGg6IDE4Ljc1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDE4Ljc1cmVtO1xuXG4gICAgICAgICYsXG4gICAgICAgICZbaXMtbWVudV0sXG4gICAgICAgICZbaXMtbWVudV1baXMtb3Blbl0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgICAgIG5hdiB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIG5hdjpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3BhZ2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgICNwYWdlLXdyYXBwZXIgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZmxleDogMTtcbiAgICB9XG5cbiAgICAucGFnZS1tZW51ICsgKiB7XG4gICAgICAgIGZsZXg6IDU7XG4gICAgfVxufVxuXG4jZmlyc3QtbGluayB7XG4gICAgQGV4dGVuZCAuc2NyZWVuLXJlYWRlcjtcbiAgICB0YWItaW5kZXg6IDA7XG4gICAgOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogMDtcbiAgICAgICAgYm90dG9tOiBzaXplKDAuNSk7XG4gICAgICAgIHBhZGRpbmc6IHNpemUoMC4yNSk7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDAyO1xuICAgIH1cbn1cblxuI2RvY3Mge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gICAgaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTYwcHgpIHtcbiAgICAjZG9jcyB7XG4gICAgICAgIGlmcmFtZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNiZy1tb2RhbCB7XG4gICAgb3BhY2l0eTogMDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgICAgei1pbmRleDogMTAwNTtcbiAgICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldDtcbiAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICB9XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVkVSU0FUSU9OIENBUkRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9jb252ZXJzYXRpb25zL19jYXJkLnNjc3MnO1xuQGltcG9ydCBcIi4uLy4uL2NvbmZpZ1wiO1xuXG4kX2NhcmQtd2lkdGg6IDEwMCU7XG5cbjpyb290IHtcbiAgICAtLXRoZW1lLWNvbG9yOiAje2NvbG9yKCdicmFuZCcpfTtcbiAgICAtLXRoZW1lLWxpZ2h0LWNvbG9yOiAje2NvbG9yKCdicmFuZC1saWdodGVyJyl9O1xufVxuXG4uY29udmVyc2F0aW9uLWNhcmQge1xuICAgIEBpbmNsdWRlIHV0aWxpdGllcygnY2VudGVyIHRleHQtNiBjb2wgaXRlbXMtY2VudGVyJyk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktcHVyZTtcbiAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuXG4gICAgJl9fdGFncyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktcHVyZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19zdGF0aXN0aWNzIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKCcvc3RhdGljL2ltZy9iZy9jb25lY3RhLWNvbnZlcnNhdGlvbi1jYXJkLnBuZycpO1xuICAgIH1cbiAgICAucHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgd2lkdGg6IDEwcmVtO1xuXG4gICAgICAgICZfX3Byb2dyZXNzIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogY29sb3IoJ3doaXRlJyk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ09OVkVSU0FUSU9OIENBUkRcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiLi4vLi4vY29uZmlnXCI7XG5cbiRfY2FyZC13aWR0aDogMTAwJTtcbiRfY2FyZC1iZzogY29uZmlnKCdlai5jb252ZXJzYXRpb24tY2FyZC5iZy1pbWFnZScpO1xuXG46cm9vdCB7XG4gICAgLS10aGVtZS1jb2xvcjogI3tjb2xvcignYnJhbmQnKX07XG4gICAgLS10aGVtZS1saWdodC1jb2xvcjogI3tjb2xvcignYnJhbmQtbGlnaHRlcicpfTtcbn1cblxuLmNvbnZlcnNhdGlvbi1jYXJkIHtcbiAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ2NlbnRlciB0ZXh0LTYgY29sIGl0ZW1zLWNlbnRlcicpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogY3NzLXZhcigtLXRoZW1lLWNvbG9yLCBjb2xvcignYnJhbmQnKSk7XG4gICAgYm9yZGVyLXJhZGl1czogc2l6ZShjb25maWcoJ2VqLmNvbnZlcnNhdGlvbi1jYXJkLmJvcmRlci1yYWRpdXMnKSk7XG4gICAgY29sb3I6IGNzcy12YXIoLS10aGVtZS1saWdodC1jb2xvciwgY29sb3IoJ2JyYW5kLWxpZ2h0ZXInKSk7XG4gICAgd2lkdGg6ICRfY2FyZC13aWR0aDtcbiAgICBoZWlnaHQ6IDIwcmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODAwcHgpIHtcbiAgICAgICAgd2lkdGg6IDIwcmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxM3JlbTtcbiAgICB9XG5cbiAgICAmX190YWdzIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCd0ZXh0LTYgYm9sZCcpO1xuXG4gICAgICAgIEBpZiBjb25maWcoJ2VqLmNvbnZlcnNhdGlvbi1jYXJkLmhpZ2hsaWdodC10YWdzJykge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY3NzLXZhcigtLXRoZW1lLWxpZ2h0LWNvbG9yLCBjb2xvcignYnJhbmQtbGlnaHRlcicpKTtcbiAgICAgICAgICAgIGNvbG9yOiBjc3MtdmFyKC0tdGhlbWUtY29sb3IsIGNvbG9yKCdicmFuZCcpKTtcbiAgICAgICAgfVxuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC4xcmVtO1xuXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KXtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiAuNHJlbSAyMSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDZyZW07XG5cbiAgICAgICAgICAgIC5zcGFuLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgJl9fc3RhdGlzdGljcyB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygnbGlzdC1pbmxpbmUgcGFkLXkxJyk7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3BhZC14MScpO1xuICAgICAgICB9XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ2NvbCBmbGV4LWNlbnRlciBwYWQtMycpO1xuXG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgcGFkZGluZzogMXJlbTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygndGV4dC00IHNhbnMtc2VyaWYnKTtcblxuICAgICAgICAgICAgY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICAgICAgLXdlYmtpdC1ib3gtb3JpZW50OiB2ZXJ0aWNhbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDBweCAzLjVweCAwcHggMy41cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU2MHB4KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAuOHJlbTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19tb2RlcmF0ZSB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygndXBwZXJjYXNlIHRleHQtNiBtYXJnaW4tMiBib2xkJyk7XG5cbiAgICAgICAgY29sb3I6IGNvbG9yKCdibGFjaycpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdwYWQtdDEgbWFyZ2luLXQxJyk7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjhyZW07XG5cbiAgICAgICAgQGlmICRfY2FyZC1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBjc3MtdmFyKC0tdGhlbWUtY29sb3IsIGNvbG9yKCdicmFuZCcpKSB1cmwoXCIjeyRfY2FyZC1iZ31cIikgcmVwZWF0O1xuICAgICAgICB9XG4gICAgICAgIGJhY2tncm91bmQtYmxlbmQtbW9kZTogbHVtaW5vc2l0eTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1NjBweCkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2dyZXNzLWJhciB7XG4gICAgICAgIHdpZHRoOiAxMHJlbTtcblxuICAgICAgICAmX19wcm9ncmVzcyB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGNvbG9yKCd3aGl0ZScpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWx0ZXJuYXRlLWNhcmRzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCdtZCcpIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC1nYXA6IHNpemUoMC41KTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maWxsLCBtaW5tYXgoMThyZW0sIDFmcikpO1xuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjUuNXJlbSkge21heC13aWR0aDogMjRyZW07fVxuXG4gICAgICAgICAgICA+ICoge2JvcmRlci1yYWRpdXM6IHNpemUoMC41KTt9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNThyZW0pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTByZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg2LCBtaW5tYXgoY2FsYygoMTAwJSAvIDYpIC0gLjc1cmVtKSwgMWZyKSk7XG4gICAgfVxufVxuXG4uc3RhdGlzdGljcy1jYXJkIHtcbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgIHdpZHRoOiAxNC4zNzVyZW07XG4gICAgICAgIGhlaWdodDogOXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXRoZW1lLWJyYW5kLWxpZ2h0O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjRkZGRkZGO1xuICAgICAgICBib3gtc2hhZG93OiAwcmVtIDAuMjVyZW0gMC4yNXJlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gICAgfVxuICAgICYtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICB9XG4gICAgJi12YWx1ZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbn1cblxuLmNhcmRzLWRpdmlkZXIge1xuICAgIC5jYXJkcy1kaXZpZGVyLWJvZHkge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW4tdG9wOiAyLjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQzNzVyZW07XG5cbiAgICAgICAgcm93LWdhcDogMS40Mzc1cmVtO1xuICAgICAgICBjb2x1bW4tZ2FwOiAycmVtO1xuICAgIH1cblxuICAgIC5jYXJkcy1kaXZpZGVyLWhlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtO1xuXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgLmNsb3NlLWJ0biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IC41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1zZWNvbmRhcnk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDU1OXB4KSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICB0cmFuc2l0aW9uOiAuMjVzO1xuXG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgYm90dG9tOiAtMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogMTAwNjtcblxuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjYyNXJlbSAwLjYyNXJlbSAwIDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwJTtcblxuICAgICAgICAuY2FyZHMtZGl2aWRlci1ib2R5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgICAgIH1cblxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXRpc3RpY3MtY2FyZC1jb250YWluZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkcy1kaXZpZGVyLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNpZ25hdHVyZS10ZXh0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xufVxuXG4uc2lnbmF0dXJlLWxpbmsge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59IiwKCQkiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENPTlZFUlNBVElPTiBERVRBSUwgKGJhbGxvb24gLyBjb21tZW50IGNhcmQgLyBjb21tZW50IGZvcm0gLyBleHRyYSAvIHByb2dyZXNzIGJhcilcbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICcuLi8uLi8uLi9ub2RlX21vZHVsZXMvbWVuZGVsZWV2LmNzcy9zcmMvY29tcG9uZW50cy9taXhpbnMvYXJyb3cnO1xuQGltcG9ydCAnL2VqLWFwcGxpY2F0aW9uL3NyYy9lai9zdGF0aWMvZWovc2Nzcy9jb21wb25lbnRzL2NvbnZlcnNhdGlvbnMvX2RldGFpbC5zY3NzJztcblxuLy8gJGNvbXBvbmVudC1ib3JkZXItcmFkaXVzOiBzaXplKGNvbmZpZygnZWouc3R5bGUuYm9yZGVyLXJhZGl1cycpKTtcbiRjb21wb25lbnQtYm9yZGVyLXJhZGl1czogOHB4O1xuXG5AbWl4aW4gdGhlbWVkKCRwcm9wLCAkdmFsdWU6IG51bGwpIHtcbiAgICBAaWYgJHZhbHVlID09IGxpZ2h0IHtcbiAgICAgICAgI3skcHJvcH06IHZhcigtLXRoZW1lLWxpZ2h0LWNvbG9yKTtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBkYXJrIHtcbiAgICAgICAgI3skcHJvcH06ICRjb2xvci1wcmltYXJ5LWRhcms7XG4gICAgfSBAZWxzZSBpZiAkdmFsdWUgPT0gY29uZWN0YS10cmFiYWxoYWRvcmVzIHtcbiAgICAgICAgI3skcHJvcH06ICRjb2xvci1zZWNvbmRhcnktcHVyZTtcbiAgICAgICAgY29sb3I6ICRjb2xvci1sb3ctcHVyZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcH06IHZhcigtLXRoZW1lLWNvbG9yKTtcbiAgICB9XG59XG5cbkBtaXhpbiB0aGVtZWQtY2FyZCgkcHJvcCwgJHZhbHVlOiBudWxsKSB7XG4gICAgQGlmICR2YWx1ZSA9PSB3aGl0ZSB7XG4gICAgICAgICN7JHByb3B9OiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1sb3ctcHVyZTtcbiAgICB9XG4gICAgQGlmICR2YWx1ZSA9PSBsaWdodCB7XG4gICAgICAgICN7JHByb3B9OiAkY29sb3ItcHJpbWFyeS1saWdodDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1sb3ctcHVyZTtcbiAgICB9IEBlbHNlIGlmICR2YWx1ZSA9PSBkYXJrIHtcbiAgICAgICAgI3skcHJvcH06ICRjb2xvci1wcmltYXJ5LWRhcms7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICN7JHByb3B9OiB2YXIoLS10aGVtZS1jb2xvcik7XG4gICAgfVxufVxuXG4ubWFpbi1oZWFkZXIge1xuICAgIGhlaWdodDogNHJlbTtcblxuICAgICZfX2xvZ28gaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgIH1cbn1cblxuLmNvbW1lbnQtY2FyZCB7XG4gICAgbWF4LWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcbn1cblxuLmNvbmVjdGEtbG9hZGVyIHtcbiAgICBAZXh0ZW5kIC5sb2FkZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMWVtO1xuICAgIGxlZnQ6IGNhbGMoNTAlIC0gMS41ZW0pO1xuICAgIHdpZHRoOiAzZW07XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgbWFyZ2luOiB1bnNldDtcbn1cbiIsCgkJIi8vLyBNaXhpbiB0aGF0IGRlY29yYXRlcyBhIGdpdmVuIGVsZW1lbnQgdG8gc2hhcGUgaXQgYXMgYSB0cmlhbmd1bGFyIGFycm93LlxuLy8vXG4vLy8gQGFyZyAkZGlyZWN0aW9uIC0gT25lIG9mIHVwLCBkb3duLCBsZWZ0LCByaWdodFxuLy8vIEBhcmcgJHNpemUgLSBTaXplIG9mIHRoZSBhcnJvdyBlbGVtZW50XG4vLy8gQGFyZyAkY29sb3IgLSBDb2xvciBvZiB0aGUgYXJyb3cgZWxlbWVudFxuQG1peGluIGNyZWF0ZS1hcnJvdygkZGlyZWN0aW9uLCAkc2l6ZTogMXJlbSwgJGNvbG9yOiBibGFjaykge1xuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIG9yICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQgb3IgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIGJvcmRlci10b3A6IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJyZW0gc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgIEBpZiAkZGlyZWN0aW9uID09IHVwIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnJlbSBzb2xpZDtcbiAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIGJvcmRlci10b3A6IDJyZW0gc29saWQ7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJyZW0gc29saWQ7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDJyZW0gc29saWQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBlcnJvciBcIkludmFsaWQgZGlyZWN0aW9uOiAjeyRkaXJlY3Rpb259IVwiO1xuICAgIH1cbiAgICBjb2xvcjogJGNvbG9yO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMDtcbn1cbiIsCgkJIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDT05WRVJTQVRJT04gREVUQUlMIChiYWxsb29uIC8gY29tbWVudCBjYXJkIC8gY29tbWVudCBmb3JtIC8gZXh0cmEgLyBwcm9ncmVzcyBiYXIpXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21lbmRlbGVldi5jc3Mvc3JjL2NvbXBvbmVudHMvbWl4aW5zL2Fycm93JztcbkBpbXBvcnQgJ19kZXRhaWwtaGVhZGVyJztcbkBpbXBvcnQgJ19kZXRhaWwtc2hhcmluZyc7XG5cbiRjb21wb25lbnQtYm9yZGVyLXJhZGl1czogc2l6ZShjb25maWcoJ2VqLnN0eWxlLmJvcmRlci1yYWRpdXMnKSk7XG5cbiRjb2xvci1icmFuZC1jb252ZXJzYXRpb24tZm9ybTogcmdiYSg0OCwgMTkxLCAyMTUgLCAuMTUpO1xuXG5AbWl4aW4gdGhlbWVkKCRwcm9wLCAkdmFsdWU6IG51bGwpIHtcbiAgICBAaWYgJHZhbHVlID09IGxpZ2h0IHtcbiAgICAgICAgI3skcHJvcH06ICRjb2xvci1icmFuZC1jb252ZXJzYXRpb24tZm9ybTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgI3skcHJvcH06IGNvbG9yKCdicmFuZCcpO1xuICAgIH1cbn1cblxuLmNvbnRlbnQtZ3JpZC5tYXJnaW4teTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNvbnZlcnNhdGlvbi1iYWxsb29uIHtcbiAgICBAZXh0ZW5kIC5jZW50ZXI7XG5cbiAgICAuY29udGVudC1ncmlkIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNCUsIGF1dG8pIG1pbm1heChhdXRvLCAxNDAwcHgpIG1pbm1heCgxNCUsIGF1dG8pO1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzJSBhdXRvIDMlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICAgIEBpbmNsdWRlIHRoZW1lZCgnYmFja2dyb3VuZCcsIGxpZ2h0KTtcblxuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICNhZGQtbW9yZS1jb21tZW50cyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1hY2NlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICB9XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICAgQGV4dGVuZCAudGV4dC1hY2NlbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiLCBzYW5zLXNlcmlmO1xuICAgIH1cbiAgICAmX19zb2NpYWwge1xuICAgICAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ3JvdyBwYWQteDQnKTtcblxuICAgICAgICBib3R0b206IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBjb2xvcignYWNjZW50Jyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGb3IgZm9ybXNcbiAgICBpbnB1dCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zNzVyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgdGV4dGFyZWEge1xuICAgICAgICBoZWlnaHQ6IDQuNXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICAgIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIEBleHRlbmQgbGVnZW5kO1xuICAgIH1cblxuICAgICZfX3RhZ3Mge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmhlbHB0ZXh0IHtcbiAgICAgICAgd2lkdGg6IDg1JTtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuZXJyb3JsaXN0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC44NzVyZW07XG4gICAgfVxufVxuXG4uY29udmVyc2F0aW9uLWJhbGxvb24gbGFiZWwsXG4uY29udmVyc2F0aW9uLWZvcm0gbGFiZWwsXG4uYm9hcmQtZm9ybSBsYWJlbFxue1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJywgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG59XG5cbi5jb252ZXJzYXRpb24tYmFsbG9vbiBsYWJlbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4uY29udmVyc2F0aW9uLWJhbGxvb24gbGFiZWwgc3Bhbjo6Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbn1cblxuLmNvbnZlcnNhdGlvbi1iYWxsb29uIGxhYmVsOmZpcnN0LWxldHRlcixcbi5jb252ZXJzYXRpb24tZm9ybSBkaXYgbGFiZWw6Zmlyc3QtbGV0dGVyIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50O1xufVxuXG4uY29udmVyc2F0aW9uLWZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDMuMTg4cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoNCUsIGF1dG8pIG1pbm1heChhdXRvLCAxNDAwcHgpIG1pbm1heCgxNCUsIGF1dG8pO1xuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMyUgYXV0byAzJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2gzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgfVxuICAgICZfX2g0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAmX19kdXJhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBpbnB1dCB7bWFyZ2luLWJvdHRvbTogMDt9XG4gICAgfVxuXG4gICAgJl9fY3VzdG9tLXJpY2h0ZXh0IHtcbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwLjM3NXJlbTtcbiAgICAgICAgfVxuICAgICAgICBtYXJnaW4tdG9wOiAxLjc1cmVtO1xuICAgICAgICAuZGphbmdvLWNrZWRpdG9yLXdpZGdldCB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja2JveCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTtcbiAgICB9XG5cblxuICAgIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG5cbiAgICAuaGVscHRleHQge1xuICAgICAgICB3aWR0aDogODUlO1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgIH1cblxuICAgIC5ibG9jayB7XG4gICAgICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjM3NXJlbSAwIDAuNjg4cmVtIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jcmVhdGUtYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLXByaW1hcnkuYnV0dG9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMy4zNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDAuMzc1cmVtIDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuZm9ybS1jb21wb25lbnQge1xuICAgICAgICAmX19kcm9wLWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAuMzc1cmVtIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAzLjEyNXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IGRhc2hlZCAkY29sb3ItZ3JheS0yMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItZ3JheS01MDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMzA1cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAwLjg3NXJlbTtcblxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Ryb3AtYm94Om50aC1jaGlsZCg0KSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC44MTNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ltYWdlLW5hbWUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ncmF5LTUwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogeC1zbWFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX21lc3NhZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS44MTNyZW07XG5cbiAgICAgICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNzVyZW07XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1kYXJrLWJsdWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX3VwbG9hZC1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGdhcDogMS44NzVyZW07XG5cbiAgICAgICAgICAgICYtLXJlbW92ZSwgJi0tdmlldyB7XG4gICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1yZW1vdmUge1xuICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWFjY2VudDtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tdmlldyB7XG4gICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tdXBsb2FkZWQge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBnYXA6IDAuODc1cmVtO1xuXG4gICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBVcGxvYWQgY2FyZFxuLmRyb3B6b25lIHtcbiAgICAudXBsb2FkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gLjc1cmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZ2FwOiAuNXJlbTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtICFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIH1cblxuICAgICZfX2hpbnQtc2l6ZSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItZ3JheS01MDAgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgICYtLWxhYmVsLW1hcmdpbi0wIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAmX191cGxvYWQtY2FyZC1jb250ZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDEuMTVlbTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICBjb2xvcjokY29sb3ItZ3JheS01MDA7XG5cbiAgICAgICAgJl9fZmllbGQtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6JGNvbG9yLWdyYXktNTAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2hpbnQge1xuICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5jb21tZW50LWZvcm0ge1xuICAgIEBpbmNsdWRlIHV0aWxpdGllcygncGFkLTNwIG1hcmdpbi14MiB3aWR0aC1mdWxsJyk7XG5cbiAgICBib3JkZXItcmFkaXVzOiAkY29tcG9uZW50LWJvcmRlci1yYWRpdXM7XG59XG5cblxuLmNvbW1lbnQtZm9ybSB7XG4gICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdjZW50ZXIgdGV4dC1ibGFjaycpO1xuICAgIEBpbmNsdWRlIHRoZW1lZCgnYmFja2dyb3VuZCcsIGxpZ2h0KTtcblxuICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCdyZWd1bGFyIG1hcmdpbi1iMiB0ZXh0LWJsYWNrJyk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogY29sb3IoJyRjb2xvci13aGl0ZScpO1xuICAgICAgICBtYXJnaW46IHNpemUoMSkgMCAwIDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwZW07XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICBmb3JtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgICAmX19jb3VudCB7XG4gICAgICAgIEBpbmNsdWRlIHV0aWxpdGllcygndGV4dC03Jyk7XG5cbiAgICAgICAgYm90dG9tOiAycmVtO1xuICAgICAgICBjb2xvcjogY29sb3IoJ2JsYWNrJywgJGFscGhhOiAwLjUpO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IDAuNXJlbTtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgQGluY2x1ZGUgdGhlbWVkKCdiYWNrZ3JvdW5kJyk7XG5cbiAgICAgICAgYm9yZGVyLWNvbG9yOiBjc3MtdmFyKC0tdGhlbWUtY29sb3IsIGNvbG9yKCdicmFuZCcpKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5leHRyYS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB1dGlsaXRpZXMoJ2NlbnRlcicpO1xuXG4gICAgbWFyZ2luOiAycmVtIGF1dG87XG4gICAgd2lkdGg6IDc1JTtcblxuICAgIGgxIHtcbiAgICAgICAgQGluY2x1ZGUgdXRpbGl0aWVzKCd0ZXh0LTQgdXBwZXJjYXNlIHRleHQtYnJhbmQgc2Fucy1zZXJpZiBib2xkJyk7XG4gICAgfVxufVxuXG4udm90aW5nLWNhcmQge1xuICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ4LCAxOTEsIDIxMSwgMC4xNSk7XG4gICAgcGFkZGluZzogMi44NzVyZW0gMi42MjVyZW0gMS41MzFyZW0gM3JlbTtcbiAgICBncmlkLXJvdzogMTtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAzNzVweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGJvdHRvbTogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbjogMXJlbSAwIDMuMjVyZW0gMDtcbiAgICAgICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcm9ncmVzcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4LjVyZW07XG4gICAgICAgICAgICAmLWJhciB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAucHJvZ3Jlc3MtYmFyO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDYuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgJl9fcHJvZ3Jlc3MsXG4gICAgICAgICAgICAgICAgJl9fZmcge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fcHJvZ3Jlc3Mge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kIC5wcm9ncmVzcy1iYXJfX3Byb2dyZXNzO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICZfX2ZnIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAucHJvZ3Jlc3MtYmFyX19wcm9ncmVzcztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdmFsdWVzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBXb3JrIFNhbnM7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogV29yayBTYW5zO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsLS1ib2xkIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsLS11bmRlcmxpbmUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX19hZGQtY29tbWVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgd2lkdGg6IG1heC1jb250ZW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjM3NXJlbTtcblxuICAgICAgICAgICAgJi0tc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTppbmxpbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjkzOHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDByZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItY29tcGxlbWVudGFyeS1ncmF5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXdoaXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29tbWVudCB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTI1JTtcbiAgICAgICAgICAgIG1hcmdpbjogMC41cmVtIDAgMi4xMjVyZW0gMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS41cmVtO1xuXG4gICAgICAgICAgICAmLWF2YXRhciBpbWcge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLm1haW4taGVhZGVyX19hdmF0YXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tc2hvdyB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDFyZW0gMS4xMjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAuNzVyZW0gMCAxLjA2M3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21tZW50X19idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDAuNzVyZW07XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDFyZW0gMCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS13aGl0ZSwgJi0tYmx1ZSwgJi0tZ3JheSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjg3NXJlbSAxLjVyZW07XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLXdoaXRlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtYmx1ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tYmx1ZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokY29sb3ItdGhlbWUtcmVwb3J0LWJsdWU7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tZ3JheSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDokY29sb3ItYnV0dG9uLWdyYXk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1jb21wbGVtZW50YXJ5LWdyYXk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuXG4gICAgJl9fdm90aW5nLWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgICZfX2JhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Nob2ljZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGdhcDogMi4yNXJlbTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAmLS1hZ3JlZSwgJi0tZGlzYWdyZWUsICYtLXNraXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjM3NXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogOHJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWFncmVlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWdyZWVuO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci10aGVtZS1yZXBvcnQtZ3JlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLWRpc2FncmVlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGlzYWdyZWU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWRpc2FncmVlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLS1za2lwIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0MzBweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19tZXNzYWdlIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwIDJyZW0gMDtcbiAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEyNSU7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjYyNXJlbSAwLjUzMXJlbSAycmVtO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyA0O1xuICAgICAgICB9XG4gICAgICAgICYgdGV4dGFyZWEge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMHZoO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY29tbWVudC1hdmF0YXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4uY29tbWVudC1jYXJkIHtcbiAgICBtYXgtaGVpZ2h0OiA1MjlweDtcblxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA4NzVweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGltaXQtdG9vbHRpcCB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMCAwLjc1cmVtO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICB3aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQzcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG5cbiAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDEwcHggc29saWQgJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsZWZ0OiA4MCU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdWJtaXQtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBqdXN0aWZ5LWl0ZW1zOiBlbmQ7XG4gICAgfVxufVxuXG4ubm8tbWFyZ2luIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi52b3RpbmctY2FyZF9fdm90aW5nLWZvcm1fX2Nob2ljZXMtLWRpc2FncmVlIC5sb2FkZXIsXG4udm90aW5nLWNhcmRfX3ZvdGluZy1mb3JtX19jaG9pY2VzLS1hZ3JlZSAubG9hZGVyIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcbn1cbi52b3RpbmctY2FyZF9fdm90aW5nLWZvcm1fX2Nob2ljZXMtLXNraXAgLmxvYWRlciB7XG4gICAgYm9yZGVyOiAycHggc29saWQgJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlICFpbXBvcnRhbnQ7XG59XG4udm90aW5nLWNhcmRfX3ZvdGluZy1mb3JtX19jaG9pY2VzLS1kaXNhZ3JlZSAubG9hZGVyLFxuLnZvdGluZy1jYXJkX192b3RpbmctZm9ybV9fY2hvaWNlcy0tYWdyZWUgLmxvYWRlcixcbi52b3RpbmctY2FyZF9fdm90aW5nLWZvcm1fX2Nob2ljZXMtLXNraXAgLmxvYWRlciB7XG4gICAgbWFyZ2luLXRvcDogdW5zZXQgIWltcG9ydGFudDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICAuYm9keSB7XG4gICAgICAgIG1hcmdpbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG59XG4iLAoJCSIvLy8gTWl4aW4gdGhhdCBkZWNvcmF0ZXMgYSBnaXZlbiBlbGVtZW50IHRvIHNoYXBlIGl0IGFzIGEgdHJpYW5ndWxhciBhcnJvdy5cbi8vL1xuLy8vIEBhcmcgJGRpcmVjdGlvbiAtIE9uZSBvZiB1cCwgZG93biwgbGVmdCwgcmlnaHRcbi8vLyBAYXJnICRzaXplIC0gU2l6ZSBvZiB0aGUgYXJyb3cgZWxlbWVudFxuLy8vIEBhcmcgJGNvbG9yIC0gQ29sb3Igb2YgdGhlIGFycm93IGVsZW1lbnRcbkBtaXhpbiBjcmVhdGUtYXJyb3coJGRpcmVjdGlvbiwgJHNpemU6IDFyZW0sICRjb2xvcjogYmxhY2spIHtcbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCBvciAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBib3JkZXItbGVmdDogMnJlbSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IG9yICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuICAgICAgICBib3JkZXItdG9wOiAycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAycmVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICBAaWYgJGRpcmVjdGlvbiA9PSB1cCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJyZW0gc29saWQ7XG4gICAgfSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGRvd24ge1xuICAgICAgICBib3JkZXItdG9wOiAycmVtIHNvbGlkO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSBsZWZ0IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAycmVtIHNvbGlkO1xuICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAycmVtIHNvbGlkO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAZXJyb3IgXCJJbnZhbGlkIGRpcmVjdGlvbjogI3skZGlyZWN0aW9ufSFcIjtcbiAgICB9XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDA7XG59XG4iLAoJCSIuYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAyMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIGFuZCAobWluLXdpZHRoOiAzMjFweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGhlaWdodDogMjU4cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb252ZXJzYXRpb24taGVhZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTBweCAjMDAwMDAwMzM7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzIwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjYyNXJlbSAxLjkzOHJlbSAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjYyNXJlbSAxLjkzOHJlbSAycmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGVmYXVsdC1pbWcge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIvc3RhdGljL2ltZy9jb21tZW50X2NhcmQvY29udmVyc2F0aW9uLXRpdGxlLWJnLnN2Z1wiKTtcbiAgICAgICAgaGVpZ2h0OiAyMjVweDtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIGFuZCAobWluLXdpZHRoOiAzMjFweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2dyYWRpZW50IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgcmdiYSgwLCAwLCAwLCAxKSwgcmdiYSgxMTksMTE5LDExOSwwLjUpKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuXG4gICAgJi1ncmlkIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA0Ljg3NXJlbSBhdXRvIDJyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogM3JlbSBhdXRvIDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICByb3ctZ2FwOiAuNXJlbTtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgfVxuXG4gICAgJl9fZ3JhZGllbnQsICYtLWRlZmF1bHQtaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgfVxuXG4gICAgJl9fbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IC43NWVtO1xuICAgICAgICBmb250LWZhbWlseTogJ1dvcmsgU2FucydcbiAgICB9XG5cbiAgICAmX19sYWJlbC0tZGFyayB7XG4gICAgICAgIEBleHRlbmQgLmNvbnZlcnNhdGlvbi1oZWFkZXJfX2xhYmVsO1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrLWFsdGVybmF0aXZlO1xuICAgIH1cblxuICAgICZfX3RleHQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDMyMHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG5cbiAgICAgICAgJi0td2hpdGUge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3BpcGUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgIH1cblxuICAgICZfX251bWJlcnMge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMi41cmVtO1xuICAgICAgICByaWdodDogNHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBoZWlnaHQ6IDIuNjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEuOHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogLjVyZW0gMXJlbTtcbiAgICAgICAgZm9udC1zaXplOiAuOGVtO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMjVlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpdiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190b29sdGlwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgdG9wOiAzLjVyZW07XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBkaXY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjJyZW07XG4gICAgICAgIH1cblxuICAgICAgICBkaXY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IC4ycmVtIDFyZW07XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAuNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmFuZC1saWdodGVyO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgdG9wOiAycmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnZlcnNhdGlvbi1oZWFkZXItYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICB3aWR0aDogNDFweDtcbiAgICAgICAgaGVpZ2h0OiA0MXB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgZGl2IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY29udmVyc2F0aW9uLWRhc2hib2FyZCBkaXYge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWJsYWNrO1xuICAgIH1cbn1cbiIsCgkJIi5jb252ZXJzYXRpb24tc2hhcmluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xuICAgIGhlaWdodDogMy43NXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYnJhbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICYtLWZ1bGwtd2lkdGgge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLWNvbnRlbnQge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEuMjVyZW07XG5cbiAgICAgICAgJl9fdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAxcmVtO1xuXG4gICAgICAgICAgICBkaXYge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgaSAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLWJyYW5kO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG5cbiAgICAgICAgICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSwgKG1heC1oZWlnaHQ6IDgwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMSAvIDQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGhlaWdodDogNS4zNzVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuXG4gICAgICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGdhcDogLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLAoJCSIubW9kZXJhdGUge1xuICAgIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIGdyaWQtZ2FwOiAuNXJlbTtcbiAgICB9XG5cbiAgICAuaGlkZSB7ZGlzcGxheTogbm9uZTt9XG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4zMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuMzc1cmVtICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvbW1lbnQtY29udGFpbmVyIHtcbiAgICAgICAgJl9fZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuMzVzO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZWQ7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uOiBiYWNrZ3JvdW5kLWFsZXJ0O1xuICAgICAgICAgICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogM3M7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21tZW50LWNvbnRhaW5lcl9fZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tbWVudHMtcGFuZWwge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIGdhcDogLjVyZW07XG5cbiAgICAgICAgJl9fYWRkLWJ0biB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDEvc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDEvc3BhbiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fc2F2ZS1idG4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgICAgICAgICAgIGp1c3RpZnktc2VsZjogZW5kO1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDIvc3BhbiAxO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIvc3BhbiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fZXJyb3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGxpbmVhciAwcywgaGVpZ2h0IC4wNXMgbGluZWFyIC41cztcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtcmVkO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogLjc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgJi5zaG93IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21tZW50cy1jb250YWluZXIge1xuICAgICAgICBAZXh0ZW5kIC5sZWZ0LCAucGFkLWIzO1xuXG4gICAgICAgICZfX21lc3NhZ2Uge2NvbG9yOiAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXItdGV4dDt9XG5cbiAgICAgICAgJl9fc2F2ZS1idG4ge1xuICAgICAgICAgICAgQGV4dGVuZCAuY29tbWVudHMtcGFuZWxfX3NhdmUtYnRuO1xuXG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tbWVudCB7XG4gICAgICAgIEBleHRlbmQgLm1hcmdpbi1iMywgLnBhZC0zO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWdyYXk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IC4zMTI1cmVtO1xuICAgICAgICBcbiAgICAgICAgJl9fdGV4dCB7Zm9udC1zaXplOiAxLjEyNXJlbTt9XG5cbiAgICAgICAgJl9fZGV0YWlscyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogLjVyZW07XG4gICAgICAgICAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcblxuICAgICAgICAgICAgPiAqIHtmb250LXdlaWdodDogYm9sZH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2F1dGhvciB7QGV4dGVuZCAudGV4dC1hY2NlbnQ7fVxuXG4gICAgICAgICZfX2RhdGUge2NvbG9yOiAkY29sb3ItbmF2aWdhdGlvbi1oZWFkZXItdGV4dDt9XG4gICAgICAgIFxuICAgICAgICAmX19hY3Rpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICZfX2FjdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHVuc2V0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogLjMxMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjI1cmVtIDAuNjI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcblxuICAgICAgICAgICAgJiA+ICoge3RyYW5zaXRpb246IDBzO31cblxuICAgICAgICAgICAgaSB7bWFyZ2luLWxlZnQ6IDA7fVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAmOmhvdmVyIHtib3gtc2hhZG93OiB1bnNldH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucmVqZWN0ZWQgLmNvbW1lbnRfX2FjdGlvbi5yZWplY3QtYnRuLFxuICAgICAgICAmLmFwcHJvdmVkIC5jb21tZW50X19hY3Rpb24uYXBwcm92ZS1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibGFjay1hbHRlcm5hdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGtleWZyYW1lcyBiYWNrZ3JvdW5kLWFsZXJ0IHtcbiAgICAwJSwgMTAwJSB7YmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3ItdGhlbWUtcmVkLCAwLjA1KX1cbiAgICA1MCUge2JhY2tncm91bmQtY29sb3I6IHJnYmEoJGNvbG9yLXRoZW1lLXJlZCwgMC4xNSl9XG59IiwKCQkiI3Rlcm1zLW1vZGFsIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMTtcbiAgICBmb250LWZhbWlseTogJ0dvdGhpYyc7XG5cbiAgICAudG91ci1jYXJkIHtcbiAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICB9XG5cbiAgICAudGVybXMtbW9kYWwge1xuICAgICAgICAmX19jbG9zZS1pY29uLFxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdCdWVuZGlhJztcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgfVxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjhyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxcmVtO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1icmFuZDtcbiAgICAgICAgfVxuICAgICAgICAmX19ib2R5IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDJyZW0gMXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQ1LCAyNDUsIDI0NSwgMSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNy41cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiB1bnNldDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsCgkJIkBpbXBvcnQgXCJzcmMvZWovc3RhdGljL2VqL3Njc3MvY29tcG9uZW50cy9wcm9maWxlcy9faG9tZS5zY3NzXCI7XG5cbiNjb21tZW50LWFuY2hvciB7XG4gICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcms7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLndlbGNvbWUtcGFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXRoZW1lLXdoaXRlLWljZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNjRweCk7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDEwJSA1MCUgMTUlIDE1JTtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDEwJSBhdXRvIDEwJTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1hcmVhczpcbiAgICAgICAgXCIuIGhlYWRlciAuXCJcbiAgICAgICAgXCIuIGNvbnRlbnQgLlwiXG4gICAgICAgIFwiLiBidXR0b25zIC5cIlxuICAgICAgICBcIi4gbG9nb3MgLiBcIjtcblxuICAgICYtY29udGVudCB7XG4gICAgICAgIGdyaWQtYXJlYTogY29udGVudDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNGVtO1xuICAgICAgICAgICAgbWFyZ2luOiAycmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGFyaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0NTBweCkge1xuICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fYnV0dG9ucyB7XG4gICAgICAgIGdyaWQtYXJlYTogYnV0dG9ucztcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkaXY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRhcms7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itc2Vjb25kYXJ5LWRhcms7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLWxvdy1wdXJlO1xuICAgICAgICB9XG5cbiAgICAgICAgZGl2OmZpcnN0LWNoaWxkIGE6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktZGFyaztcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2J1dHRvbixcbiAgICAgICAgYVtjbGFzcz1cImlzLXByaW1hcnkgYnV0dG9uXCJdIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjVyZW07XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGV4dGVuZCAuaXMtcHJpbWFyeTtcbiAgICAgICAgICAgIEBleHRlbmQgLmJ1dHRvbjtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkJ1ZW5kaWFcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAwO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWJsdWUtbGlnaHQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJCdWVuZGlhXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1ibHVlLWxpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2stYWx0ZXJuYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJCdWVuZGlhXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNWVtO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRldmVsb3BlZC1ieSB7XG4gICAgICAgIGdyaWQtYXJlYTogbG9nb3M7XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgICB3aWR0aDogMjFyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogY2FsYyg1MCUgLSAxMC42OHJlbSk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubG9nb3Mge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtZXZlbmx5O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogdW5zZXQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogdW5zZXQ7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogdW5zZXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdW5zZXQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB1bnNldDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3BlbmNpbGxhYnMge1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNy4zNzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjaGFja2xhYiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICAgICAgICAgIGIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc2OHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyJSBhdXRvIDIwJSAxNSU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgICAgICYtY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDIlIGF1dG8gMjAlIDE1JTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMiUgYXV0byAyMCUgMTUlO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyJSBhdXRvIDIlO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICAgICAmLWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAwJSA2MCUgMjUlIDEwJTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMSUgYXV0byAxJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICAgICAgJl9fYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgZ2FwOiAwLjFyZW07XG4gICAgICAgICAgICAgICAgJl9fYnV0dG9uLFxuICAgICAgICAgICAgICAgIGFbY2xhc3M9XCJpcy1wcmltYXJ5IGJ1dHRvblwiXSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29uZWN0YS12b3RlLWdyaWQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoYXV0bywgOTAwcHgpIGF1dG87XG4gICAgZGlzcGxheTogZ3JpZDtcblxuICAgICYgPiAqIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxufVxuLmNvbmVjdGEtY29tbWVudC1ncmlkIHtcbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgIC5jb25lY3RhLWNvbW1lbnQtZ3JpZCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIlIGF1dG8gMiU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heChhdXRvLCAxMDAwcHgpIGF1dG87XG4gICAgZGlzcGxheTogZ3JpZDtcblxuICAgICYgPiAqIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XG4gICAgfVxufVxuXG4uY29uZWN0YS12b3RlLWNhcmQge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAmLWhlYWRlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggJGNvbG9yLWJsYWNrLW9wYWNpdHk7XG4gICAgICAgIHBhZGRpbmc6IDNlbSAwIDRlbSAwO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1wdXJwbGUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnktZGFyayAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXdoaXRlLWljZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhpY1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgICYtLWdyYXkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtd2hpdGUtaWNlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMi41ZW0gIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMmVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgICAgICAgICAmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzZW0gMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb21tZW50LWNhcmQge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci10aGVtZS1icmFuZC1saWdodCAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiAwcHggNXB4IDEwcHggJGNvbG9yLWJsYWNrLW9wYWNpdHk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDAgM2VtIDAuNWVtIDIuNWVtICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGljXCI7XG4gICAgZm9udC1zaXplOiAxLjI1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC5jb21tZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAvLyBoZWlnaHQ6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgICAgICBzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcbiAgICAgICAgLy8gbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRSBhbmQgRWRnZSAqL1xuICAgICAgICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7XG4gICAgICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhpY1wiO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40ZW07XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXNtYWxsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19wcm9ncmVzcyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhpY1wiO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43ZW07XG4gICAgICAgIG1hcmdpbjogMXJlbSAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgIGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW46IDAgMCAxZW0gMDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGljXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMHB4O1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgICZfX2dyYWRpZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgdG8gYm90dG9tLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDAsIDAsIDApLFxuICAgICAgICAgICAgcmdiKDIyMSwgMjEzLCAyMzMpXG4gICAgICAgICk7XG4gICAgICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgYXJ0aWNsZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAgICAgICAmLS1lbmQtbWVzc2FnZSB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXByaW1hcnktZGFyaztcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhpY1wiO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxZW07XG4gICAgICAgIH1cbiAgICAgICAgaHIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA2MCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxcmVtIGF1dG87XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzI2MjYyNjtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYgPiBmb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MHJlbTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBnYXA6IDFyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgIH1cbiAgICAmID4gYXJ0aWNsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogdW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiA4Ljc1cmVtO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogdW5zZXQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDVlbTtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgJiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy41ZW07XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0MTRweCkge1xuICAgICAgICAgICAgICAgICYge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLS1oaWRkZW4ge1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAmIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMWVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2NvbW1lbnQge1xuICAgICAgICAgICAgbWFyZ2luOiAxcmVtIDAgMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBociB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gMXJlbSBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hZGQtY29tbWVudC1mb3JtIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KGF1dG8sIDgwMHB4KSBhdXRvO1xuICAgIG1hcmdpbjogMXJlbSAwIDAgMDtcblxuICAgICYsXG4gICAgZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgdGV4dGFyZWEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDVweCAxMHB4ICMwMDAwMDAyOTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXByaW1hcnktbGlnaHQ7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHJpbWFyeS1kYXJrO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNXJlbTtcbiAgICAgICAgcmVzaXplOiBub25lO1xuICAgIH1cblxuICAgIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItcHVycGxlLWRhcmtlciAhaW1wb3J0YW50O1xuICAgICAgICBvcGFjaXR5OiAwLjY4O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJCdWVuZGlhXCI7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXBpbmstbGlnaHRlciAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICB9XG59XG5cbi5jb25lY3RhLXJlZ2lzdGVyLWZvcm0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byAxZnIgYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiB1bnNldDtcbiAgICBnYXA6IDFyZW07XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNXJlbSAwO1xuICAgIH1cblxuICAgIGxhYmVsLFxuICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uaXMtcHJpbWFyeSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjMjYyNjI2ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkJ1ZW5kaWFcIjtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItcHJpbWFyeS1saWdodCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICAgICAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDVweCAxMHB4ICMwMDAwMDAyOTtcbiAgICAgICAgcGFkZGluZzogMC4ycmVtIDFyZW07XG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MDBweCkge1xuICAgICAgICAgICAgd2lkdGg6IDkwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pcy1wcmltYXJ5IHtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDNweCAxMHB4ICMwMDAwMDAyOTtcbiAgICAgICAgYmFja2dyb3VuZDogIzU1MmY5MSAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAuMnJlbSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDBweCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgICAgICAgbWF4LXdpZHRoOiAzMDBweCAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgIC5tYXJnaW4teGF1dG8sXG4gICAgLnNwYW4yIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoaWNcIjtcbiAgICAgICAgY29sb3I6ICM3ZTdlN2U7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAmLS1jZW50ZXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzk5ODJiZCAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3MDBweCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZpZWxkIHtcbiAgICAgICAgdWw6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuICAgICAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogNDE0cHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICAuc3BhbjIucmVnaXN0ZXItZm9ybS0tY2VudGVyZWQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICYge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0uaXMtcHJpbWFyeSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHNwYW4sXG4gICAgICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmlzLXByaW1hcnkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbmVjdGEtZmluaXNoLXZvdGUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci1ibHVlLWxpZ2h0IDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDBweCAxMHB4IDEwcHggIzAwMDAwMDMzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5LWxpZ2h0O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1wcmltYXJ5LWxpZ2h0O1xuXG4gICAgJl9fYnRuLXB1cnBsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1waW5rLWxpZ2h0ZXIgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0ZXI7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAzcHggMTBweCAjMDAwMDAwMjk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtd2hpdGUtaWNlO1xuICAgICAgICBmb250LWZhbWlseTogXCJCdWVuZGlhXCI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNWVtO1xuICAgIH1cbn1cblxuLy8gLmNvbmVjdGEtYWRkLWNvbW1lbnQge1xuLy8gICAgIG1hcmdpbi1sZWZ0OiAwO1xuLy8gICAgIGJhY2tncm91bmQ6ICRjb2xvci10aGVtZS13aGl0ZS1pY2UgMCUgMCUgbm8tcmVwZWF0IHBhZGRpbmctYm94O1xuLy9cbi8vICAgICBwIHtcbi8vICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbi8vICAgICAgICAgY29sb3I6ICRjb2xvci1wdXJwbGUtZGFya2VyO1xuLy8gICAgIH1cbi8vIH1cblxuI3Byb2ZpbGUtaW5mby1wYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZGRkNWU5IDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICBoZWlnaHQ6IDEwMHZoO1xufVxuXG4uY29uZWN0YS1idXR0b25zLFxuLmNvbmVjdGEtcHJvZmlsZS1mb3JtIHtcbiAgICAucHJvZmlsZS1idG4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDNyZW07XG4gICAgfVxuXG4gICAgLmp1c3RpZnktY2VudGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5pcy1wcmltYXJ5LFxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTUyZjkxIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICB9XG5cbiAgICAuaXMtcHJpbWFyeS1wdXJwbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjNTUyZjkxIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdLmlzLXByaW1hcnkge1xuICAgICAgICBib3gtc2hhZG93OiAwcHggM3B4IDEwcHggIzAwMDAwMDI5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwLjJyZW0gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40ZW0gIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA2MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkJ1ZW5kaWFcIiAhaW1wb3J0YW50O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICZfX2RlbnktYnRuIHtcbiAgICAgICAgQGV4dGVuZCAuaXMtcHJpbWFyeTtcbiAgICAgICAgYmFja2dyb3VuZDogIzk5ODJiZCAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3ggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLS1zaGFyZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxufVxuXG5idXR0b25bbmFtZT1cInZvdGVcIl0ge1xuICAgIGFsbDogdW5zZXQ7XG59XG5cbi53aWR0aC0xMDAge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQxNHB4KSB7XG4gICAgLmNvbW1lbnQtZm9ybSB7XG4gICAgICAgIHBhZGRpbmc6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1heC13aWR0aDogdW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWluLXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jb25lY3RhLWJ1dHRvbnMsXG4gICAgLmNvbmVjdGEtcHJvZmlsZS1mb3JtIHtcbiAgICAgICAgLnByb2ZpbGUtYnRuIHtcbiAgICAgICAgICAgIGdhcDogMnJlbTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb25lY3RhLXZvdGUtZ3JpZCB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMiUgYXV0byAyJTtcbiAgICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY29tbWVudC1mb3JtIHtcbiAgICAgICAgbWF4LXdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgLmNvbmVjdGEtcHJvZmlsZS1mb3JtIHtcbiAgICAgICAgLmZvcm0tZmllbGRzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtYXJlYXM6XG4gICAgICAgICAgICAgICAgXCJsYWJlbF9pc19hcHBfd29ya2VyIGxhYmVsX3N0YXRlIGxhYmVsX3N0YXRlXCJcbiAgICAgICAgICAgICAgICBcImFwcF93b3JrZXIgc3RhdGUgc3RhdGVcIlxuICAgICAgICAgICAgICAgIFwicHJvZmlsZS1zdWJ0aXRsZSBwcm9maWxlLXN1YnRpdGxlIHByb2ZpbGUtc3VidGl0bGVcIlxuICAgICAgICAgICAgICAgIFwibGFiZWxfZ2VuZGVyIGxhYmVsX3JhY2UgbGFiZWxfYmlydGhfZGF0ZVwiXG4gICAgICAgICAgICAgICAgXCJnZW5kZXIgcmFjZSBiaXJ0aF9kYXRlXCI7XG5cbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDUsIGF1dG8pO1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAyMiUgMTglIDE1JTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsCgkJIiNwdWJsaWMtdGFnLWJ1dHRvbnMsICNteS10YWctYnV0dG9ucyB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbiNwdWJsaWMtY29udmVyc2F0aW9ucywgI215LWNvbnZlcnNhdGlvbnMge1xuICBncmlkLWNvbHVtbjogMS80O1xufVxuXG4ubW92ZS1pY29uIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLnB1YmxpYy10YWctaGVhZGVyLCAubXktdGFnLWhlYWRlciwgLmNvbW1lbnRzLXRhZy1oZWFkZXIge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBwbGFjZS1pdGVtczogYmFzZWxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktZGVlcGVyO1xuICAgIHBhZGRpbmc6IDFyZW07XG4gICAgZmxleC1mbG93OiB3cmFwO1xuICAgIHJvdy1nYXA6IDAuNzVyZW07XG4gICAgY29sdW1uLWdhcDogMS4yNXJlbTtcblxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiB1bnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNwdWJsaWMtdGFnLWNob2ljZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGhlaWdodDogMi4yNXJlbTtcbiAgICAgIG1pbi13aWR0aDogMTNyZW07XG4gICAgICBtYXJnaW46IDAgLjQzOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgI215LXRhZy1jaG9pY2UsICNteS1hbGwtdGFncywgLm15LXRhZy1oZWFkZXItLWFkZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuXG4gICAgLnB1YmxpYy10YWctaGVhZGVyLS1hZGQtLW5vdC1hbGxvd2VkIHtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuXG4gICAgJi0tYWRkIHtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWJsdWU7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgICAgd2lkdGg6IDIuMjVyZW07XG4gICAgICBoZWlnaHQ6IDIuMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luOiAwIDEuNXJlbSAwIDA7XG5cbiAgICAgIGkge1xuICAgICAgICBtYXJnaW46IGF1dG8gMC42ZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGFncyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAuNzVyZW07XG4gICAgICBmbGV4LWZsb3c6IHdyYXA7XG5cbiAgICAgICYtLXNlbGVjdGVkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgfVxuXG4gICAgICAmLS11bnNlbGVjdGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgfVxuXG4gICAgICAmLS1zZWxlY3RlZCwgJi0tdW5zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBwYWRkaW5nOiAwIC43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2FsbC0tdW5zZWxlY3RlZCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3Itd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICBjb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgfVxuXG4gICAgJl9fYWxsLS1zZWxlY3RlZCAge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcGluay1saWdodDtcbiAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICB9XG5cbiAgICAmX19hbGwtLXVuc2VsZWN0ZWQsICAmX19hbGwtLXNlbGVjdGVkICB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgcGFkZGluZzogMCAuNzVyZW07XG4gICAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgICZfX3Rvb2x0aXAge1xuICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IC43NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiAxNi41NjNyZW07XG4gICAgICBoZWlnaHQ6IDYycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDVweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zMTNyZW07XG5cbiAgICAgICZfX2Fycm93IHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1waW5rLWxpZ2h0O1xuICAgICAgICBib3JkZXItdG9wOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItcmlnaHQ6MTBweCBzb2xpZCAkY29sb3ItcGluay1saWdodDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IC41NjNyZW07XG4gICAgICB9XG4gICAgfVxufVxuXG4uY29tbWVudHMtdGFnLWhlYWRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIHBhZGRpbmc6IDA7XG5cbiAgJi0tbm8tbWFyZ2luIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gICNjb21tZW50cy1zdGF0dXMtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogY29udGVudHM7XG4gIH1cbn1cblxuLmhvbWUtaGVhZGVyIHtcbiAgJi0tYWRkIHtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICB9XG59XG5cbi5teV9jb252ZXJzYXRpb25zLCAuY29udHJpYnV0aW9ucy1jb21tZW50cywgLmNvbnRyaWJ1dGlvbi12b3RlcyB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTtcblxuICAmX19tZXNzYWdlIHtcbiAgICBtYXJnaW46IDEuNzVyZW07XG4gICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtZGFyay1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgJi0tbm8tbWFyZ2luLXRvcCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4jY3VycmVudC12b3RlcyB7XG4gIGhyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjI4MXJlbTtcbiAgfVxufVxuXG4jY29tbWVudHMtY3VycmVudC1jYXJkcyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDUwJSk7XG4gIGdyaWQtY29sdW1uLWdhcDogMS42MjVyZW07XG4gIGdyaWQtcm93LWdhcDogMS41cmVtO1xuICBjb2xvcjogJGNvbG9yLXRoZW1lLWRhcmstYmx1ZTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLmNvbnRyaWJ1dGlvbi12b3RlcyB7XG4gICZfX2NhcmQge1xuICAgIG1hcmdpbjogMS43NXJlbSAwIDAgMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBhdXRvO1xuICAgIGdyaWQtY29sdW1uLWdhcDogMS45MzhyZW07XG4gICAgZ3JpZC1yb3ctZ2FwOiAyLjI1cmVtO1xuICB9XG59XG5cbi5jb252ZXJzYXRpb24tc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IC45MzhyZW07XG5cbiAgJl9fdGl0bGUge1xuICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4gIC5zcGFuLWljb24ge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICB9XG59XG5cbi5jb21tZW50LXN1bW1hcnkge1xuICBwYWRkaW5nOiAxLjEyNXJlbSAxLjE4OHJlbTtcbiAgYm9yZGVyLXJhZGl1czogNXB4O1xuICBiYWNrZ3JvdW5kOiAkY29sb3ItdGhlbWUtcmVwb3J0LWxpZ2h0LWdyYXk7XG4gIG1heC13aWR0aDogNDMuNzVyZW07XG5cbiAgJl9fc3RhdHVzIHtcbiAgICBjb2xvcjogJGNvbG9yLXBpbmstbGlnaHQ7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAmX19pbmZvIHtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1kYXJrLWdyYXk7XG4gICAgZm9udC1mYW1pbHk6IFdvcmsgU2FucztcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cbn1cblxuLmhvbWUtdGFicyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYmFiYWJhO1xuICBvdmVyZmxvdzogdW5zZXQ7XG4gIG1hcmdpbi10b3A6IDEuNXJlbTtcblxuICAmX19hZGQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi1yaWdodDogMi42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNnJlbTtcblxuICAgIGkge1xuICAgICAgY29sb3I6ICRjb2xvci10aGVtZS1yZXBvcnQtbGlnaHQtYmx1ZTtcbiAgICAgIG1hcmdpbjogMCAwLjY4OHJlbSAwIDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICBjb2xvcjogJGNvbG9yLXRoZW1lLXJlcG9ydC1saWdodC1ibHVlO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuICAudGFicyB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgfVxufVxuXG4uaW5wdXQtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWdyYXktYnJpZ3RoZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBnYXA6IDEuMzEzcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuXG4gICZfX2ZpbHRlci10aGVtZSwgJl9fZmlsdGVyLXRoZW1lOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLXRoZW1lLW9zZi1saWdodDtcbiAgICBmb250LWZhbWlseTogXCJXb3JrIFNhbnNcIjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgJl9fc2VhcmNoIHtcbiAgICBib3JkZXItcmFkaXVzOiA1cHggIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGhlaWdodDogMi4yNXJlbSAhaW1wb3J0YW50O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMC41cmVtIDAuNTYzcmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxLjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNjg3NXJlbSAwcHggMC42ODc1cmVtIDIuMTg3NXJlbSAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IHVybCgnL3N0YXRpYy9pbWcvaWNvbnMvYmx1ZS1zZWFyY2guc3ZnJyk7XG4gICAgd2lkdGg6IDUxLjUlICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICRjb2xvci1ibGFjaztcbiAgICBtYXJnaW46IDBweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbSAhaW1wb3J0YW50O1xuXG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWNvbXBsZW1lbnRhcnktZ3JheTtcbiAgICB9XG4gIH1cblxuICAmX193YXJuLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAkY29sb3ItcmVkLW5lZ2F0aXZlO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogbm9uZTtcbiAgICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIH1cbiAgICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICAgICAgJiB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTJweCAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWFyY2gtZmlsdGVyLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICBAbWVkaWEgKG1heC13aWR0aDogODc1cHgpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwcmVtO1xuICAgIGdyaWQtY29sdW1uOiAxLzQ7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzMjBweCkge1xuICAucHVibGljLXRhZy1oZWFkZXIsIC5teS10YWctaGVhZGVyLCAuY29tbWVudHMtdGFnLWhlYWRlciB7XG5cbiAgICAjcHVibGljLXRhZy1jaG9pY2Uge1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICAgIG1hcmdpbjogMCAuNDM4cmVtIDAgMDtcbiAgICB9XG5cbiAgICAmLS1hZGQge1xuICAgICAgbWFyZ2luOiAwcHggMC43cmVtIDAgMDtcbiAgICB9XG4gIH1cblxuICAuY29tbWVudHMtdGFnLWhlYWRlciB7XG4gICAgI2FsbC1jb21tZW50cy1idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtc3VtbWFyeSB7XG4gICAgZm9udC1zaXplOiAuNzVyZW07XG4gIH1cblxuICAjY29tbWVudHMtY3VycmVudC1jYXJkcyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICB9XG5cbiAgLmNvbnRyaWJ1dGlvbi12b3RlcyB7XG4gICAgJl9fY2FyZCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtdGFicyB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbCBoaWRkZW47XG5cbiAgICAmX19hZGQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuNXJlbTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDg3NXB4KSBhbmQgKG1pbi13aWR0aDogMzIxcHgpIHtcbiAgLnB1YmxpYy10YWctaGVhZGVyLCAubXktdGFnLWhlYWRlciwgLmNvbW1lbnRzLXRhZy1oZWFkZXIge1xuXG4gICAgJl9fdG9vbHRpcCB7XG4gICAgICAmX19hcnJvdyB7XG4gICAgICAgIGJvdHRvbTogMi4xcmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIGxlZnQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhvbWUtdGFicyB7XG4gICAgb3ZlcmZsb3c6IHNjcm9sbCBoaWRkZW47XG4gICAgJl9fYWRkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICAgIHNjcm9sbGJhci13aWR0aDogbm9uZTtcbiAgICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7ICAvKiBTYWZhcmkgYW5kIENocm9tZSAqL1xuICAgIH1cbiAgfVxuXG4gICNjb21tZW50cy1jdXJyZW50LWNhcmRzIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG5vbmU7XG4gIH1cblxuICAuY29tbWVudC1zdW1tYXJ5IHtcbiAgICBmb250LXNpemU6IC43NXJlbTtcbiAgfVxuXG4gIC5jb250cmlidXRpb24tdm90ZXMge1xuICAgICZfX2NhcmQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiQGltcG9ydCAnc3JjL2VqL3N0YXRpYy9lai9zY3NzL2NvbXBvbmVudHMvcHJvZmlsZXMvX3Byb2ZpbGUuc2Nzcyc7XG5cbi5mb3JtLXByb2ZpbGUge1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDUsIDFmcikgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tcHJvZmlsZV9fZ2VuZGVyX290aGVyIHtcbiAgICBncmlkLWFyZWE6IDQgLyAyIC8gNSAvIDMgIWltcG9ydGFudDtcbn1cblxuaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5LWxpZ2h0O1xufVxuIiwKCQkiLnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbn1cblxuLmlucHV0cy1taW4tc2l6ZXtcbiAgaW5wdXQsIHRleHRhcmVhLCBzZWxlY3R7XG4gICAgbWluLXdpZHRoOiB1bnNldDtcbiAgfVxufVxuXG4ucHJvZmlsZS1waG90byB7XG4gICAgZGlzcGxheTogcmVsYXRpdmU7XG4gICAgJl9fZWRpdCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmX19mb3JtIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJi0tdW5mb2N1c2VkIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE5NiwgMTk2LCAxOTYsIDAuODApO1xuICAgICAgICB3aWR0aDogMTJyZW07XG4gICAgICAgIGhlaWdodDogMTJyZW07XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICB9XG59XG5cbiNpZF9wcm9maWxlX3Bob3RvIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wcm9maWxlLWhlYWRlcntcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzdGFydDtcbiAgY29sdW1uLWdhcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcblxuICAmX19waG90byB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmLS1yb3VuZGVkIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAgNTAlO1xuICAgICAgfVxuICAgIGltZ3tcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG5cbiAgaDF7XG4gICAgZm9udC1zaXplOiAyLjI1cmVtO1xuICAgIGNvbG9yOiAkY29sb3ItYmFzZS1waW5rO1xuICAgIGZvbnQtZmFtaWx5OiBcIldvcmsgU2Fuc1wiO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIH1cbiAgaDR7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gICAgZm9udC1mYW1pbHk6IFwiV29yayBTYW5zXCI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAuNjJyZW0gMHB4O1xuICB9XG4gICYtLWVkaXR7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGltZ3tvcGFjaXR5OiAwLjM7fVxuICAgICZfX29wdGlvbnMge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMzQlO1xuICAgICAgdG9wOiAzMSU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGlucHV0e2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgbGFiZWx7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItdGhlbWUtZGFyay1ibHVlO1xuICAgICAgfVxuICAgICAgZm9ybXtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG59XG5cbi5mb3JtLWVsZW1lbnQge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMHB4IDBweDtcbn1cblxuLmZvcm0tcHJvZmlsZS0tcm93LXNlcGFyYXRpb257XG4gIGdyaWQtcm93LWdhcDogMi41NnJlbTtcbiAgcGFkZGluZy10b3A6IDEuNXJlbTtcbn1cblxuLmZvcm0tcHJvZmlsZS0tc3VidGl0bGUge1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDI0cHg7XG59XG5cbi5mb3JtLXByb2ZpbGUge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCg2LCAxZnIpO1xuICBncmlkLWNvbHVtbi1nYXA6IDEuNHJlbTtcbiAgZ3JpZC1yb3ctZ2FwOiAxcmVtO1xuXG4gIHNwYW57XG4gICAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAkY29sb3ItZ3JheS1kYXJrZXI7XG4gIH1cbiAgJl9fbmFtZSB7XG4gICAgZ3JpZC1hcmVhOiAxIC8gMSAvIDIgLyAzO1xuXG4gIH1cbiAgJl9fZW1haWwge1xuICAgIGdyaWQtYXJlYTogMSAvIDMgLyAyIC8gNTtcbiAgfVxuICAmX19jaXR5IHtcbiAgICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDI7XG4gIH1cbiAgJl9fc3RhdGUge1xuICAgIGdyaWQtYXJlYTogMiAvIDIgLyAzIC8gMztcbiAgfVxuXG4gICZfX2NvdW50cnkge1xuICAgIGdyaWQtYXJlYTogMiAvIDMgLyAzIC8gNDtcbiAgfVxuXG4gICZfX2JpcnRoLWRhdGUge1xuICAgIGdyaWQtYXJlYTogMyAvIDEgLyA0IC8gMjtcbiAgfVxuXG4gICZfX29jY3VwYXRpb24ge1xuICAgIGdyaWQtYXJlYTogMyAvIDIgLyA0IC8gNDtcbiAgfVxuXG4gICZfX2VkdWNhdGlvbiB7XG4gICAgZ3JpZC1hcmVhOiAzIC8gNCAvIDQgLyA1O1xuICB9XG5cbiAgJl9fZWR1Y2F0aW9uLS1kZXRhaWwge1xuICAgIGdyaWQtYXJlYTogMyAvIDMgLyA0IC8gNTtcbiAgfVxuXG4gICZfX2V0aG5pY2l0eSB7XG4gICAgZ3JpZC1hcmVhOiA0IC8gMSAvIDUgLyAyO1xuICB9XG5cbiAgJl9fZ2VuZGVyX290aGVyIHtcbiAgICBncmlkLWFyZWE6IDQgLyAyIC8gNSAvIDQ7XG4gIH1cblxuICAmX19wb2xpdGljYWxfYWN0aXZpdHkge1xuICAgIGdyaWQtYXJlYTogNSAvIDEgLyA3IC8gMztcbiAgfVxuXG4gICZfX3BvbGl0aWNhbF9hY3Rpdml0eS0tZGV0YWlse1xuICAgIGdyaWQtYXJlYTogNSAvIDEgLyA3IC8gMjtcbiAgfVxuXG4gICZfX2Jpb2dyYXBoeSB7XG4gICAgZ3JpZC1hcmVhOiA1IC8gMyAvIDcgLyA1O1xuICB9XG4gICZfX3Bob25lIHtcbiAgICBncmlkLWFyZWE6IDUgLyAzIC8gNyAvIDU7XG4gIH1cblxuICAmX19iaW9ncmFwaHktLWRldGFpbCB7XG4gICAgZ3JpZC1hcmVhOiA1IC8gMiAvIDcgLyA1O1xuICB9XG5cbiAgJl9fY3VycmVudC1wYXNzd29yZCB7XG4gICAgZ3JpZC1hcmVhOiAxIC8gMSAvIDEgLyAxO1xuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge21hcmdpbjogLTEuMTI1cmVtIDAgMHJlbSAwO31cbiAgfVxuXG4gICZfX25ldy1wYXNzd29yZCB7XG4gICAgZ3JpZC1hcmVhOiAyIC8gMSAvIDIgLyAyO1xuICAgIGlucHV0W3R5cGU9J3Bhc3N3b3JkJ10ge21hcmdpbjogLTEuMTI1cmVtIDAgMHJlbSAwO31cbiAgfVxuXG4gICZfX2NvbmZpcm0tcGFzc3dvcmQge1xuICAgIGdyaWQtYXJlYTogMjtcbiAgfVxuXG4gICZfX3NhdmUge1xuICAgIGdyaWQtYXJlYTogMjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgaW5wdXQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IGZpdC1jb250ZW50O1xuICAgIH1cbiAgfVxuXG4gICZfX2VkaXQge1xuICAgIGdyaWQtYXJlYTogNiAvIDQgLyA2IC8gNDtcbiAgfVxuXG4gIHNlbGVjdCwgdGV4dGFyZWF7XG4gICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLS1idXR0b25ze1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZW5kO1xuICAgIGNvbHVtbi1nYXA6IDJyZW07XG4gICAgaW5wdXQsIGEge1xuICAgICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAxLjU2MjVyZW0gIWltcG9ydGFudDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItYmFzZS1waW5rICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbn1cblxuXG5AbWVkaWEgKG1heC13aWR0aDo5MDBweCl7XG5cbiAgLnByb2ZpbGUtaGVhZGVyIHtcbiAgICBwYWRkaW5nOiAwcHggMS44OHJlbTtcbiAgfVxuXG4gIC5mb3JtLWVsZW1lbnQge1xuICAgIHBhZGRpbmc6IDAgMC42cmVtO1xuICB9XG5cbiAgLnByb2ZpbGUtaGVhZGVye1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjZyZW07XG4gIH1cblxuICAuZm9ybS1wcm9maWxlLS1yb3ctc2VwYXJhdGlvbiB7XG4gICAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICB9XG5cbiAgLmZvcm0tcHJvZmlsZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgICYtLWJ1dHRvbnN7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAmX19zYXZlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9maWxlLWhlYWRlcntcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX3RleHR7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIGgxe1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwKCQkiLyogZ2VuZXJpYyBjbGFzc2VzICovXG5cbi5saWdodC1ibHVlLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAudm90aW5nLW1vZGFsLXJlcG9ydCB7XG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRhcms7XG4gICAgfVxufVxuXG4ucmVwb3J0LWNvbnRhaW5lciAuY29udmVyc2F0aW9uLWRhc2hib2FyZCAudm90aW5nLW1vZGFsLXJlcG9ydCB7XG4gICAgJl9fY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zZWNvbmRhcnktZGFyaztcbiAgICAgICAgY29sb3I6ICRjb2xvci1sb3ctcHVyZTtcbiAgICB9XG4gICAgJl9fdHJpYW5nbGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwLjkzNzVyZW0gc29saWQgJGNvbG9yLXNlY29uZGFyeS1kYXJrO1xuICAgIH1cbn1cblxuLnJlcG9ydC1jb250YWluZXIgLmNvbnZlcnNhdGlvbi1kYXNoYm9hcmQgLnJlcG9ydC1jYXJkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNGMkYyRjI7XG5cbiAgICAmX19jb3VudCxcbiAgICAmX2xhYmVsIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1sb3ctcHVyZTtcbiAgICB9XG59XG5cbi5yZXBvcnQtY29udGFpbmVyIC5jb252ZXJzYXRpb24tZGFzaGJvYXJkIC5kYXNoYm9hcmQtY2FyZCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI0YyRjJGMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJGMkYyO1xuXG4gICAgJl9fdmFsdWUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLWxvdy1wdXJlO1xuICAgIH1cblxuICAgICYtLWJsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc2Vjb25kYXJ5LWRhcms7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItbG93LXB1cmU7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICRjb2xvci1zZWNvbmRhcnktZGFyaztcbiAgICB9XG59XG4uY2hhcnRzLXNlY3Rpb257XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgID4gLmxvYWRlcnsgICAgXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHdpZHRoOiA1MHB4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNDglO1xuICAgICAgICB0b3A6IDM0JTtcbiAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcywgb3BhY2l0eSAwLjVzIGxpbmVhcjtcbiAgICAgICAgei1pbmRleDogOTk5OTtcbiAgICB9XG59XG5cbi5leHBvcnQtY2hhcnQtYnV0dG9uIHtcbiAgICAuZXhwb3J0LWJ1dHRvbntcbiAgICAgICAgdHJhbnNpdGlvbjogdmlzaWJpbGl0eSAwcywgb3BhY2l0eSAwLjVzIGxpbmVhcjtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc3Nzc3NztcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICAgICAgICBjb2xvcjogIzc3Nzc3NztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgcGFkZGluZzogMCAwLjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMC41NjI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgICAgICBoZWlnaHQ6IDEuODJyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB9XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIFxufSIsCgkJIi5jb25lY3RhLWhlYWRlciB7XG4gICAgJl9fcmlnaHQtaXRlbXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEuNXJlbTtcbiAgICB9XG4gICAgLmZvcm0tbGFuZ3VhZ2Utc2VsZWN0b3J7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMHB4O1xuICAgICAgICB9XG4gICAgICAgIHNlbGVjdHtcbiAgICAgICAgICAgIGNvbG9yOiM1NTJGOTE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwcHggN3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMHB4O1xuICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cywgJjphY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuaGVscC10ZXh0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6bm9ybWFsO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgIGNvbG9yOiAjNTUyRjkxQkY7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0J1ZW5kaWEnLCBzYW5zLXNlcmlmO1xuXG4gICAgICAgICAgICBzcGFuIHt0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO31cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgLmNvbmVjdGEtaGVhZGVyIHtcbiAgICAgICAgLmhlbHAtdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiLmNvbmVjdGEtcHJvZmlsZS1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgYmFja2dyb3VuZDogI0YyRjJGMiAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTBweCAjMDAwMDAwMzM7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI0RERDVFOTtcbiAgICBwYWRkaW5nOiA0NXB4O1xuXG4gICAgLmZvcm0tZmllbGRzIHtcbiAgICAgICAgJiA+ICoge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdCdWVuZGlhJyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG5cbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0bztcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMyUgMTAlIDI1JSAxZnI7XG5cbiAgICAgICAgJl9fd29ya2VyIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAxO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmX19zdGF0ZSB7XG4gICAgICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAzLzQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZmlsZS1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2dlbmRlcixcbiAgICAgICAgJl9fcmFjZSxcbiAgICAgICAgJl9fY3VycmVudC1hZ2Uge1xuICAgICAgICAgICAgJiBsYWJlbDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJl9fZ2VuZGVyIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmX19yYWNlIHtcbiAgICAgICAgICAgIGdyaWQtcm93OiAzO1xuICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDIgLyA0O1xuICAgICAgICB9XG5cbiAgICAgICAgJl9fY3VycmVudC1hZ2Uge1xuICAgICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgICAgICBncmlkLWNvbHVtbjogNCAvIDU7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjFlbTtcblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGFiZWwge1xuICAgICAgICAgICAgJi0tYmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNGVtICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjaWRfY3VycmVudF9hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOTk4MkJEIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICAgICAgICAgIGJvcmRlcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDM1cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIGNvbG9yOiAjZjJmMmYyO1xuICAgICAgICB9XG5cblxuXG4gICAgICAgICNpZF9pc19hcHBfd29ya2VyIGxpLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeS1kYXJrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI2lkX2lzX2FwcF93b3JrZXIge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOTk4MkJEIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwcHggM3B4IDZweCAjMDAwMDAwMjk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogN3B4IDdweCA3cHggMjRweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgei1pbmRleDogOTA7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdHb3RoaWMnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzk5ODJCRCAwJSAwJSBuby1yZXBlYXQgcGFkZGluZy1ib3g7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggM3B4IDZweCAjMDAwMDAwMjk7XG4gICAgICAgICAgICBib3JkZXI6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMzVweDtcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgICAgIHdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAuMnJlbSAxcmVtO1xuICAgICAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcblxuICAgICAgICAgICAgJl9fd29ya2VyLFxuICAgICAgICAgICAgJl9fc3RhdGUsXG4gICAgICAgICAgICAmX19nZW5kZXIsXG4gICAgICAgICAgICAmX19yYWNlLFxuICAgICAgICAgICAgJl9fY3VycmVudC1hZ2UsXG4gICAgICAgICAgICAucHJvZmlsZS1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgICAgICAgZ3JpZC1yb3c6IHVuc2V0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzAwcHgpIHtcbiAgICAuY29uZWN0YS1wcm9maWxlLWZvcm0ge1xuICAgICAgICB3aWR0aDogOTUlO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjRjJGMkYyIDAlIDAlIG5vLXJlcGVhdCBwYWRkaW5nLWJveDtcbiAgICAgICAgYm94LXNoYWRvdzogMHB4IDEwcHggMTBweCAjMDAwMDAwMzM7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNEREQ1RTk7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHg7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDo5MDBweCl7XG4gICAgLnByb2ZpbGUtaGVhZGVye1xuICAgICAgICBoMSB7XG4gICAgICAgICAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwKCQkiQGltcG9ydCAnc3JjL2VqL3N0YXRpYy9lai9zY3NzLzFfc2V0dGluZ3MvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvMV9zZXR0aW5ncy9zcGFjaW5nJztcbkBpbXBvcnQgJ3NyYy9lai9zdGF0aWMvZWovc2Nzcy8xX3NldHRpbmdzL2NvbG9ycyc7XG5AaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvMV9zZXR0aW5ncy9sYXlvdXQnO1xuQGltcG9ydCAnc3JjL2VqL3N0YXRpYy9lai9zY3NzLzZfY29tcG9uZW50cy9nZW5lcmljL3BhZ2UnO1xuQGltcG9ydCAnc3JjL2VqL3N0YXRpYy9lai9zY3NzLzZfY29tcG9uZW50cy9nZW5lcmljL3BhZ2UtbWVudSc7XG5AaW1wb3J0ICdzcmMvZWovc3RhdGljL2VqL3Njc3MvNl9jb21wb25lbnRzL2ZpbGUtaW5wdXQnO1xuIiwKCQkiLypcbiBDT0xPUlMgUk9MRVNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8vLyBCYWNrZ3JvdW5kIGFuZCB0ZXh0IGNvbG9yc1xuLy8kY29sb3ItcmVndWxhci10ZXh0OiAjMDUyQjQ3ICFkZWZhdWx0O1xuLy8kY29sb3ItY29udGVudC10ZXh0OiB3aGl0ZSAhZGVmYXVsdDtcbi8vJGNvbG9yLWJhY2tncm91bmQ6IHdoaXRlICFkZWZhdWx0O1xuLy8kY29sb3ItdGV4dDogJGNvbG9yLXJlZ3VsYXItdGV4dCAhZGVmYXVsdDtcbi8vJGNvbG9yLW11dGVkLXRleHQ6IGxpZ2h0ZW4oJGNvbG9yLXJlZ3VsYXItdGV4dCwgMTUlKSAhZGVmYXVsdDtcbi8vXG4vLy8vIERpc2NyZWV0bHkgaGlnaGxpZ2h0ZWQgY29udGVudC4gV2Ugd2FudCBzb21lIGVtcGhhc2lzIGZyb20gdGhlIGRlZmF1bHQgY29udGVudFxuLy8vLyBiYWNrZ3JvdW5kLCBidXQgaXQgc2hvdWxkIG5vdCBiZSBoaWdobGlnaHRlZCBhcyBzdHJvbmdseSBhcyBwcmltYXJ5IGNvbnRlbnQuXG4vLyRjb2xvci1oaW50OiAjQzRGMkY0ICFkZWZhdWx0O1xuLy8kY29sb3ItaGludC10ZXh0OiAkY29sb3ItY29udGVudCAhZGVmYXVsdDtcbi8vJGNvbG9yLWhpbnQtdGV4dC12YXJpYW50OiAjQTNEOEREICFkZWZhdWx0O1xuLy8kY29sb3ItaGludC1mYWRlZDogI0EzRDhERCAhZGVmYXVsdDtcbiIsCgkJIi8qXG4gUEFHRSBMQVlPVVQgQU5EIEJSRUFLUE9JTlRTXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbkBpbXBvcnQgJ3NwYWNpbmcnO1xuXG4vLyBQYWdlIGhlYWRlciBsYXlvdXRcbiRoZWFkZXItaWNvbi1zaXplOiA0MHB4ICFkZWZhdWx0O1xuJGhlYWRlci1sb2dvLXNpemU6ICRoZWFkZXItaWNvbi1zaXplIC0gMTUgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1uYXYtaGVpZ2h0OiAkaGVhZGVyLWljb24tc2l6ZSArIDUgIWRlZmF1bHQ7XG4kdG9wLWhlYWRlci1oZWlnaHQ6IDI1cHggIWRlZmF1bHQ7XG4kaGVhZGVyLWJvdHRvbS1uYXYtaGVpZ2h0OiAkaGVhZGVyLWljb24tc2l6ZSAhZGVmYXVsdDtcbiRoZWFkZXItaGVpZ2h0LXRhYmxldDogJGhlYWRlci10b3AtbmF2LWhlaWdodCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9tIHBhZ2UgbGF5b3V0XG4kcGFnZS1jb250ZW50LXdpZHRoLW1heDogNzAwcHggIWRlZmF1bHQ7XG4kY29udGVudC13cmFwcGVyLW1heC13aWR0aDogJHBhZ2UtY29udGVudC13aWR0aC1tYXggIWRlZmF1bHQ7XG4kaGVhZGVyLXdyYXBwZXItbWF4LXdpZHRoOiAkY29udGVudC13cmFwcGVyLW1heC13aWR0aCArIDIgKiAkc3BhY2luZy11bml0LWxhcmdlICFkZWZhdWx0O1xuIiwKCQkiLypcbiBHRU5FUklDIFBBR0UgRUxFTUVOVFNcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuJHBhZ2UtdGl0bGUtZm9udC1zaXplOiAxLjEgKiAkZm9udC1zaXplLWgxICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIGltYWdlc1xuJGNhcmQtYmFja2dyb3VuZC1pbWFnZS11cmw6IHVybCgvc3RhdGljL2ltZy9pY29ucy9iZy5wbmcpICFkZWZhdWx0O1xuJHBhZ2UtYmFja2dyb3VuZC1pbWFnZS11cmw6IHVybCgvc3RhdGljL2ltZy9wYWdlLWJnLnN2ZykgIWRlZmF1bHQ7XG5cblxuLlBhZ2Uge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogJGhlYWRlci10b3AtbmF2LWhlaWdodCAwICRoZWFkZXItdG9wLW5hdi1oZWlnaHQgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJ3NtJykge1xuICAgICAgICBwYWRkaW5nOiAoJGhlYWRlci1oZWlnaHQtdGFibGV0ICsgJHRvcC1oZWFkZXItaGVpZ2h0KSAwICRoZWFkZXItdG9wLW5hdi1oZWlnaHQgMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCdzbScpIHtcbiAgICAgICAgJi50YWxrcyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAkaGVhZGVyLXRvcC1uYXYtaGVpZ2h0IDAgMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250ZW50LWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgLk5hdk1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5NjBweCkge1xuICAgICAgICAmLWNvbnRlbnQubG9nZ2VkLWluLCAjZG9jcyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDk2MHB4KSB7XG4gICAgICAgIC5OYXZNZW51LWZpeGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLW1haW5Db250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnZS1iYWNrZ3JvdW5kLWltYWdlLXVybCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgJi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKCdwcmltYXJ5Jyk7XG4gICAgICAgIGNvbG9yOiBjb2xvcigncHJpbWFyeScsIGNvbnRyYXN0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgJHNwYWNpbmctdW5pdCAwO1xuICAgICAgICBib3gtc2hhZG93OiAwIDJweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMik7XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGV4dGVuZCAuY29udGFpbmVyLTE7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJHBhZ2UtdGl0bGUtZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJHNwYWNpbmctdW5pdC10aW55ICgkc3BhY2luZy11bml0IC0gJHNwYWNpbmctdW5pdC10aW55KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVtIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAkaGVhZGVyLWJvdHRvbS1uYXYtaGVpZ2h0ICsgJHRvcC1oZWFkZXItaGVpZ2h0IGF1dG87XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuIiwKCQkiLypcbiBQQUdFIFNJREVCQVJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLy8gQ29sb3JzXG4kbmF2LW1lbnUtY29sb3I6IGNvbG9yKCdwcmltYXJ5JykgIWRlZmF1bHQ7XG4kbmF2LW1lbnUtY29sb3ItdGV4dDogY29sb3IoJ3ByaW1hcnknLCBjb250cmFzdCkgIWRlZmF1bHQ7XG4kbmF2LW1lbnUtYm9yZGVyLWNvbG9yOiByZ2JhKCNGRkYsIDAuMjUpICFkZWZhdWx0O1xuJG5hdi1tZW51LWJvcmRlcjogMXB4IHNvbGlkICRuYXYtbWVudS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cbi8vIExheW91dFxuJG5hdi1tZW51LWZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1kZWZhdWx0ICFkZWZhdWx0O1xuJG5hdi1tZW51LW9wYWNpdHk6IDEuMCAhZGVmYXVsdDtcbiRuYXYtbWVudS1zaGFkb3c6IDJweCAwIDRweCAwIHJnYmEoMTgsIDQ4LCAxMDIsIDAuMDgpICAhZGVmYXVsdDtcbiRuYXYtbWVudS13aWR0aDogNzV2dyAhZGVmYXVsdDtcbiRuYXYtbWVudS1tYXgtd2lkdGg6IDQwMHB4ICFkZWZhdWx0O1xuJG5hdi1tZW51LXVsLXBhZGRpbmc6IDAgIWRlZmF1bHQ7XG5cbi8vIEVsZW1lbnRcbi5OYXZNZW51IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6ICRuYXYtbWVudS1tYXgtd2lkdGg7XG4gICAgYm94LXNoYWRvdzogJG5hdi1tZW51LXNoYWRvdztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZvbnQtc2l6ZTogJG5hdi1tZW51LWZvbnQtc2l6ZTtcbiAgICBvcGFjaXR5OiAkbmF2LW1lbnUtb3BhY2l0eTtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IC1tb3otc2Nyb2xsYmFycy1ub25lO1xuICAgIC8vYmFja2dyb3VuZDogJG5hdi1tZW51LWNvbG9yO1xuICAgIGNvbG9yOiAkbmF2LW1lbnUtY29sb3ItdGV4dDtcblxuICAgIGEsIGJ1dHRvbntcbiAgICAgICAgY29sb3I6ICRuYXYtbWVudS1jb2xvci10ZXh0O1xuICAgIH1cblxuICAgICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBwYWRkaW5nOiAkc3BhY2luZy11bml0O1xuICAgIGVtIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICB9XG5cbiAgICBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xuICAgIH1cblxuICAgIGltZyxcbiAgICBpIHtcbiAgICAgICAgaGVpZ2h0OiAxZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRzcGFjaW5nLXVuaXQtdGlueTtcbiAgICB9XG4gICAgLmljb24tc3RhY2t7XG4gICAgICAgIDpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10aW55ICogMC42O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogLTNweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkgKyBpe1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRpbnk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRzcGFjaW5nLXVuaXQtc21hbGw7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRuYXYtbWVudS1ib3JkZXI7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgfVxuXG4gICAgbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6ICRuYXYtbWVudS11bC1wYWRkaW5nO1xuICAgIH1cblxuICAgICYtRHJvcERvd24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi1BbmdsZURvd25JY29uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cblxuICAgICYtVXNlck1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICA+bGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLUFjY2Vzc2liaWxpdHkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICA+bGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRzcGFjaW5nLXVuaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsCgkJIlxuXG4uRmlsZUlucHV0IHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC1zdGFjay1yYWxld2F5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10aW55O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICAgIC5QaWNrRmlsZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzLXNtYWxsICsgJGJvcmRlci1yYWRpdXMtdGlueTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMtc21hbGwgKyAkYm9yZGVyLXJhZGl1cy10aW55O1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcigncHJpbWFyeScpO1xuICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY29sb3I6IGNvbG9yKCdwcmltYXJ5JywgY29udHJhc3QpO1xuICAgICAgICBpbnB1dFt0eXBlPWZpbGVdIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDs7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIC8vIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuRmlsZVN0YXR1cyB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuXG5cblxuXG4iLAoJCSIvLyBDcmVhdGUgdXRpbGl0aWVzIGZvciB0aGUgdGhlbWVzXG4vLyBDb2xvciB0aGVtZXNcbkBlYWNoICRjb2xvciBpbiAodGhlbWUtYnJhbmQgdGhlbWUtYWNjZW50IHRoZW1lLWdyZWVuIHRoZW1lLW9yYW5nZSB0aGVtZS1wdXJwbGUgdGhlbWUtZ3JleSB0aGVtZS1pY2RcbnRoZW1lLXZvdG9yYW50aW0gdGhlbWUtb3NmIHRoZW1lLWJvY2FkZWxvYm8pIHtcbiAgICAuI3skY29sb3J9IHtcbiAgICAgICAgLS10aGVtZS1jb2xvcjogI3tjb2xvcigkY29sb3IpfTtcbiAgICAgICAgLS10aGVtZS1saWdodC1jb2xvcjogI3tjb2xvcigjeyRjb2xvcn0tbGlnaHQpfTtcbiAgICB9XG4gICAgLmJnLSN7JGNvbG9yfSB7XG4gICAgICAgIGJhY2tncm91bmQ6IGNvbG9yKCRjb2xvcik7XG4gICAgfVxuICAgIC5iZy0jeyRjb2xvcn0tbGlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiBjb2xvcigjeyRjb2xvcn0tbGlnaHQpO1xuICAgIH1cbn1cblxuLnRoZW1lLWJyYW5kLCAudGhlbWUtYWNjZW50LCAudGhlbWUtZ3JlZW4sIC50aGVtZS1vcmFuZ2UsIC50aGVtZS1wdXJwbGUsIC50aGVtZS1ncmV5LCAudGhlbWUtaWNkLCAudGhlbWUtdm90b3JhbnRpbSwgLnRoZW1lLW9zZiB7XG4gICAgaW5wdXRbdHlwZT1cInRleHRcIl0sIHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS10aGVtZS1jb2xvcik7XG4gICAgfVxuICAgIGxhYmVsIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXRoZW1lLWNvbG9yKTtcbiAgICB9XG59XG5cbi8vIExpbmtzXG5wIHtcbiAgICBhOmhvdmVyLCBhOmZvY3VzLCBhOnZpc2l0ZWQsIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cblxuaHIge1xuYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMTIpO1xubWFyZ2luOiAxcmVtIDFyZW0gMCAwO1xuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgbWFyZ2luOiB1bnNldDtcbiAgICB9XG59XG5cbiIKCV0sCgkibmFtZXMiOiBbXSwKCSJtYXBwaW5ncyI6ICJBQ2lNQSxVQUFVO0VBQ04sV0FBVyxFQUFFLFFBQVE7RUFDckIsR0FBRyxFQUFFLHVDQUF1Qzs7QUFHaEQsVUFBVTtFQUNOLFdBQVcsRUFBRSxTQUFTO0VBQ3RCLEdBQUcsRUFBRSxtQ0FBbUM7O0FBRzVDLFVBQVU7RUFDTixXQUFXLEVBQUUsZ0JBQWdCO0VBQzdCLEdBQUcsRUFBRSxvQ0FBb0M7O0N3QzVMeEMsQUFBRCxJQUFLLENBQUM7RUFFRSxNQUFPLENBQUksSUFBQztFQUFaLE1BQU8sQ0FBSSx5QkFBQztFQUFaLE9BQU8sQ0FBSSxLQUFDO0VBQVosV0FBTyxDQUFJLFdBQUMsR0FFbkI7O0FBSUQsQUFBQSxDQUFDLEVBQUUs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OztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsU0FBTztFZTFIUCwwQkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsVUFBTztFZTFIUCwwQkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsUUFBTztFZTFIUCwwQkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsU0FBTztFZTFIUCwwQkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsT0FBTztFZTFIUCwwQkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsUUFBTztFZTFIUCwwQkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsTUFBTztFZTFIUCwwQkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsT0FBTztFZTFIUCwwQkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsTUFBTztFZTFIUCwwQkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsSUFBTztFZTFIUCwwQkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsdUJBQUssRWYwSEwsS0FBTztFZTFIUCwwQkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRU1KVyxDQUFDO0VOSWpCLHlCQUFLLEVNSlcsQ0FBQyxHTkNaOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsVUFBTztFZTFIUCx5QkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsU0FBTztFZTFIUCx5QkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsVUFBTztFZTFIUCx5QkFBSyxFZjBITCxVQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsUUFBTztFZTFIUCx5QkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsU0FBTztFZTFIUCx5QkFBSyxFZjBITCxTQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsT0FBTztFZTFIUCx5QkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsUUFBTztFZTFIUCx5QkFBSyxFZjBITCxRQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsTUFBTztFZTFIUCx5QkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsT0FBTztFZTFIUCx5QkFBSyxFZjBITCxPQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx5QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsTUFBTztFZTFIUCx5QkFBSyxFZjBITCxNQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx5QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsSUFBTztFZTFIUCx5QkFBSyxFZjBITCxJQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1Isc0JBQUssRWYwSEwsS0FBTztFZTFIUCx5QkFBSyxFZjBITCxLQUFPLEdlN0hGOztBQWpDakIsQUErQ1EsSUEvQ0osRTRCaVJKLFVBQVUsRUE5T1YsS0FBSyxFQUFFLFdBQVcsQzVCWUM7RUFYUCxXQUFLLEVlSVksT0FBTztFZkp4QixPQUFLLEVlS1EsSUFBSTtFZkxqQixTQUFLLEVlTVUsR0FBRztFZk5sQixlQUFLLEVlT2dCLGFBQWEsR2ZNckM7RUFqRFQsQUErQmdCLElBL0JaLEdBQUYsQ0FBQyxFNEJpUkgsVUFBVSxHNUJqUlIsQ0FBQyxFNEJtQ0gsS0FBSyxHNUJuQ0gsQ0FBQyxFNEJtQ0ksV0FBVyxHNUJuQ2hCLENBQUMsQ0ErQmlCO0lBS1IsU0FBSyxFZVNjLENBQUMsR2ZaZjs7QUFqQ2pCLEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFZWFZLE9BQU87RWZieEIsT0FBSyxFZWNRLFdBQVc7RWZkeEIsU0FBSyxFZWVVLEdBQUc7RWZmbEIsZUFBSyxFZWdCZ0IsYUFBYSxHZkhyQzs7QUFqRFQsQUErQmdCLFdBL0JMLEdBQVQsQ0FBQyxDQStCaUI7RUFLUixJQUFLLEVlb0JTLENBQUMsR2Z2QlY7O0FBakNqQixBQStDUSxJQS9DSixFNEIrR0osZ0JBQU0sRUFBTixNQUFNLEM1QmhFYTtFQVhQLFdBQUssRWUwQlksT0FBTztFZjFCeEIsT0FBSyxFZTJCUSxJQUFJO0VmM0JqQixTQUFLLEVlNEJVLE1BQU07RWY1QnJCLGVBQUssRWU2QmdCLGFBQWEsR2ZoQnJDO0VBakRULEFBK0JnQixJQS9CWixHQUFGLENBQUMsRTRCK0dILGdCQUFNLEc1Qi9HSixDQUFDLEU0QitHSCxNQUFNLEc1Qi9HSixDQUFDLENBK0JpQjtJQUtSLFNBQUssRWUrQmMsQ0FBQyxHZmxDZjs7QUFqQ2pCLEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFZW1DWSxPQUFPO0VmbkN4QixPQUFLLEVlb0NRLFdBQVc7RWZwQ3hCLFNBQUssRWVxQ1UsTUFBTTtFZnJDckIsZUFBSyxFZXNDZ0IsYUFBYSxHZnpCckM7O0FBakRULEFBK0JnQixXQS9CTCxHQUFULENBQUMsQ0ErQmlCO0VBS1IsSUFBSyxFZTBDUyxDQUFDLEdmN0NWOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFZTVCRCxrQkFBdUMsR2Z5QnRDO0VBakNqQixBQStCZ0IsU0EvQlIsR0FBTixDQUFDLENBK0JpQjtJQUtSLE1BQUssRU9ORCxRQUFpQyxHUEdoQztFQWpDakIsQUErQmdCLFNBL0JSLEdBQVIsU0FBUSxDQStCWTtJQUtSLFVBQUssRU9ORCxTQUFpQyxHUEdoQzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRWU1QkQsZ0JBQXVDLEdmeUJ0QztFQWpDakIsQUErQmdCLFNBL0JSLEdBQU4sQ0FBQyxDQStCaUI7SUFLUixNQUFLLEVPTkQsT0FBaUMsR1BHaEM7RUFqQ2pCLEFBK0JnQixTQS9CUixHQUFSLFNBQVEsQ0ErQlk7SUFLUixVQUFLLEVPTkQsUUFBaUMsR1BHaEM7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVlNUJELGNBQXVDLEdmeUJ0QztFQWpDakIsQUErQmdCLFNBL0JSLEdBQU4sQ0FBQyxDQStCaUI7SUFLUixNQUFLLEVPTkQsTUFBaUMsR1BHaEM7RUFqQ2pCLEFBK0JnQixTQS9CUixHQUFSLFNBQVEsQ0ErQlk7SUFLUixVQUFLLEVPTkQsT0FBaUMsR1BHaEM7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVlNUJELFVBQXVDLEdmeUJ0QztFQWpDakIsQUErQmdCLFNBL0JSLEdBQU4sQ0FBQyxDQStCaUI7SUFLUixNQUFLLEVPTkQsSUFBaUMsR1BHaEM7RUFqQ2pCLEFBK0JnQixTQS9CUixHQUFSLFNBQVEsQ0ErQlk7SUFLUixVQUFLLEVPTkQsS0FBaUMsR1BHaEM7O0FBakNqQixBQStDUSxTQS9DQyxDQStDVTtFQVhQLGNBQUssRWV5RFEsR0FBRyxHZjVDbkI7O0FBakRULEFBK0NRLGlCQS9DUyxDQStDRTtFQVhQLGNBQUssRWUwRGdCLFdBQVcsR2Y3Q25DOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGNBQUssRWUyRFcsTUFBTSxHZjlDekI7O0FBakRULEFBK0NRLG9CQS9DWSxDQStDRDtFQVhQLGNBQUssRWU0RG1CLGNBQWMsR2YvQ3pDOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLGVBQUssRWVrRVUsVUFBVSxHZnJENUI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsZUFBSyxFZW1FVyxNQUFNLEdmdER6Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxlQUFLLEVlb0VRLFFBQVEsR2Z2RHhCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLGVBQUssRWVxRVksYUFBYSxHZnhEakM7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsZUFBSyxFZXNFVyxZQUFZLEdmekQvQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxlQUFLLEVldUVXLFlBQVksR2YxRC9COztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLFdBQUssRWU2RVksT0FBTyxHZmhFM0I7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsV0FBSyxFZThFVSxVQUFVLEdmakU1Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssRTRCaVJiLFVBQVUsQzVCbE9TO0VBWFAsV0FBSyxFZStFVyxNQUFNLEdmbEV6Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVlZ0ZRLFFBQVEsR2ZuRXhCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFdBQUssRWVpRmEsUUFBUSxHZnBFN0I7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsYUFBSyxFZXVGVSxVQUFVLEdmMUU1Qjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVld0ZXLE1BQU0sR2YzRXpCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGFBQUssRWV5RlEsUUFBUSxHZjVFeEI7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLGFBQUssRWUwRlksYUFBYSxHZjdFakM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsYUFBSyxFZTJGVyxZQUFZLEdmOUUvQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVlNEZXLFlBQVksR2YvRS9COztBQWpEVCxBQStDUSxLQS9DSCxFNEJpUkwsVUFBVSxDNUJsT1M7RUFYUCxTQUFLLEVla0dTLElBQUksR2ZyRnJCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLFNBQUssRWVtR1csTUFBTSxHZnRGekI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsU0FBSyxFZW9HaUIsWUFBWSxHZnZGckM7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsVUFBSyxFZXlHWSxPQUFPLEdmNUYzQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxVQUFLLEVlMEdVLFVBQVUsR2Y3RjVCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFVBQUssRWUyR1csTUFBTSxHZjlGekI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsVUFBSyxFZTRHUSxRQUFRLEdmL0Z4Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxVQUFLLEVlNkdhLFFBQVEsR2ZoRzdCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFdBQUssRWVtSFcsQ0FBQyxHZnRHcEI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsV0FBSyxFZW9IYSxDQUFDLEdmdkd0Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxTQUFLLEVld0hTLENBQUMsR2YzR2xCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLFNBQUssRWV5SFcsQ0FBQyxHZjVHcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsSUFBSyxFZStIUyxJQUFJLEdmbEhyQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxJQUFLLEVlZ0lRLENBQUMsR2ZuSGpCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLElBQUssRWVpSVEsQ0FBQyxHZnBIakI7O0FBakRULEFBK0NRLE9BL0NELENBK0NZO0VBWFAsSUFBSyxFZWtJUSxDQUFDLEdmckhqQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxJQUFLLEVlbUlRLENBQUMsR2Z0SGpCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLElBQUssRWVvSVEsQ0FBQyxHZnZIakI7O0FBakRULEFBK0NRLE9BL0NELENBK0NZO0VBWFAsSUFBSyxFZXFJUSxDQUFDLEdmeEhqQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxJQUFLLEVlc0lRLENBQUMsR2Z6SGpCOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLElBQUssRWV1SVEsQ0FBQyxHZjFIakI7O0FBakRULEFBK0NRLE9BL0NELENBK0NZO0VBWFAsSUFBSyxFZXdJUSxDQUFDLEdmM0hqQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxJQUFLLEVleUlTLEVBQUUsR2Y1SG5COztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLElBQUssRWUwSVMsRUFBRSxHZjdIbkI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsSUFBSyxFZTJJUyxFQUFFLEdmOUhuQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxLQUFLLEVlaUpRLENBQUMsR2ZwSWpCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLEtBQUssRWVrSlEsQ0FBQyxHZnJJakI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsS0FBSyxFZW1KUSxDQUFDLEdmdElqQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxLQUFLLEVlb0pRLENBQUMsR2Z2SWpCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLEtBQUssRWVxSlEsQ0FBQyxHZnhJakI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsS0FBSyxFZXNKUSxDQUFDLEdmeklqQjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxLQUFLLEVldUpRLENBQUMsR2YxSWpCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLEtBQUssRWV3SlEsQ0FBQyxHZjNJakI7O0FBakRULEFBK0NRLFFBL0NBLENBK0NXO0VBWFAsS0FBSyxFZXlKUSxDQUFDLEdmNUlqQjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxLQUFLLEVlMEpTLEVBQUUsR2Y3SW5COztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLEtBQUssRWUySlMsRUFBRSxHZjlJbkI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsS0FBSyxFZTRKUyxFQUFFLEdmL0luQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxjQUFLLEVnQnRCZSxLQUFLLEdoQm1DNUI7O0FBakRULEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTVlSLENBQUM7RU5aRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWFSLENBQUM7RU5iRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWNSLENBQUM7RU5kRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWVSLENBQUM7RU5mRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTWdCUixDQUFDO0VOaEJFLE9BQUssRWdCZFksSUFBSTtFaEJjckIscUJBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JoQmdCLENBQUM7RWhCZ0J0QixVQUFLLEVNaUJSLENBQUM7RU5qQkUsT0FBSyxFZ0JkWSxJQUFJO0VoQmNyQixxQkFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVnQmhCZ0IsQ0FBQztFaEJnQnRCLFVBQUssRU1rQlIsQ0FBQztFTmxCRSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTW1CUixDQUFDO0VObkJFLE9BQUssRWdCZFksSUFBSTtFaEJjckIscUJBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JoQmdCLENBQUM7RWhCZ0J0QixVQUFLLEVNb0JQLEVBQUU7RU5wQkEsT0FBSyxFZ0JkWSxJQUFJO0VoQmNyQixxQkFBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlYsQ0ErQmM7RUFLUixTQUFLLEVnQmhCZ0IsQ0FBQztFaEJnQnRCLFVBQUssRU1xQlAsRUFBRTtFTnJCQSxPQUFLLEVnQmRZLElBQUk7RWhCY3JCLHFCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCaEJnQixDQUFDO0VoQmdCdEIsVUFBSyxFTXNCUCxFQUFFO0VOdEJBLE9BQUssRWdCZFksSUFBSTtFaEJjckIscUJBQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JKZ0IsQ0FBQztFaEJJdEIsVUFBSyxFTVlSLENBQUM7RU5aRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1hUixDQUFDO0VOYkUsT0FBSyxFZ0JGWSxJQUFJO0VoQkVyQixrQkFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVnQkpnQixDQUFDO0VoQkl0QixVQUFLLEVNY1IsQ0FBQztFTmRFLE9BQUssRWdCRlksSUFBSTtFaEJFckIsa0JBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFZ0JKZ0IsQ0FBQztFaEJJdEIsVUFBSyxFTWVSLENBQUM7RU5mRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1nQlIsQ0FBQztFTmhCRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1pQlIsQ0FBQztFTmpCRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1rQlIsQ0FBQztFTmxCRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1tQlIsQ0FBQztFTm5CRSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1vQlAsRUFBRTtFTnBCQSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1xQlAsRUFBRTtFTnJCQSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVixDQStCYztFQUtSLFNBQUssRWdCSmdCLENBQUM7RWhCSXRCLFVBQUssRU1zQlAsRUFBRTtFTnRCQSxPQUFLLEVnQkZZLElBQUk7RWhCRXJCLGtCQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixNQS9CWCxDQStCZTtFQUtSLFNBQUssRU15QlIsUUFBMkI7RU56QnhCLFFBQUssRU15QlIsUUFBMkI7RU56QnhCLEdBQUssRU15QlIsUUFBMkIsR041Qm5COztBQWpDakIsQUErQmdCLE1BL0JYLENBK0JlO0VBS1IsU0FBSyxFTTBCUixPQUEyQjtFTjFCeEIsUUFBSyxFTTBCUixPQUEyQjtFTjFCeEIsR0FBSyxFTTBCUixPQUEyQixHTjdCbkI7O0FBakNqQixBQStCZ0IsTUEvQlgsQ0ErQmU7RUFLUixTQUFLLEVNMkJSLE1BQTJCO0VOM0J4QixRQUFLLEVNMkJSLE1BQTJCO0VOM0J4QixHQUFLLEVNMkJSLE1BQTJCLEdOOUJuQjs7QUFqQ2pCLEFBK0JnQixNQS9CWCxDQStCZTtFQUtSLFNBQUssRU00QlIsSUFBMkI7RU41QnhCLFFBQUssRU00QlIsSUFBMkI7RU41QnhCLEdBQUssRU00QlIsSUFBMkIsR04vQm5COztBQWpDakIsQUErQ1EsS0EvQ0gsQ0ErQ2M7RUFYUCxPQUFLLEVnQm9CUyxJQUFJLEdoQlByQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxjQUFLLEVnQndCVSxLQUFLLEdoQlh2Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxXQUFLLEVnQjhCVyxNQUFNLEdoQmpCekI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsV0FBSyxFZ0IrQlksT0FBTyxHaEJsQjNCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGFBQUssRWdCbUNVLEtBQUssR2hCdEJ2Qjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxhQUFLLEVnQm9DUyxJQUFJLEdoQnZCckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsYUFBSyxFZ0JxQ1UsS0FBSyxHaEJ4QnZCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLGFBQUssRWdCc0NRLEdBQUcsR2hCekJuQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVnQnVDYSxNQUFNLEdoQjFCM0I7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLGFBQUssRWdCd0NjLE9BQU8sR2hCM0I3Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVnQjRDUSxLQUFLLEdoQi9CckI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsV0FBSyxFZ0I2Q1csR0FBRyxHaEJoQ3RCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFdBQUssRWdCOENhLE1BQU0sR2hCakMzQjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxXQUFLLEVnQitDVyxNQUFNLEdoQmxDekI7O0FBakRULEFBK0NRLGdCQS9DUSxDQStDRztFQVhQLFdBQUssRWdCZ0RjLE9BQU8sR2hCbkM3Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxXQUFLLEVnQmlEWSxPQUFPLEdoQnBDM0I7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsYUFBSyxFZ0J1RFcsTUFBTSxHaEIxQ3pCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLGFBQUssRWdCd0RZLE9BQU8sR2hCM0MzQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxhQUFLLEVnQnlEVyxZQUFZLEdoQjVDL0I7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsYUFBSyxFZ0IwRFksYUFBYSxHaEI3Q2pDOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGFBQUssRWdCMkRXLFlBQVksR2hCOUMvQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxlQUFLLEVnQitEVSxLQUFLLEdoQmxEdkI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsZUFBSyxFZ0JnRVMsSUFBSSxHaEJuRHJCOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLGVBQUssRWdCaUVVLEtBQUssR2hCcER2Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxlQUFLLEVnQmtFUSxHQUFHLEdoQnJEbkI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsZUFBSyxFZ0JtRWEsTUFBTSxHaEJ0RDNCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLGVBQUssRWdCb0VjLE9BQU8sR2hCdkQ3Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxlQUFLLEVnQnFFYSxZQUFZLEdoQnhEakM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsZUFBSyxFZ0JzRWMsYUFBYSxHaEJ6RG5DOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLGVBQUssRWdCdUVhLFlBQVksR2hCMURqQzs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxhQUFLLEVnQjJFUSxLQUFLLEdoQjlEckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsYUFBSyxFZ0I0RVcsR0FBRyxHaEIvRHRCOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLGFBQUssRWdCNkVhLE1BQU0sR2hCaEUzQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxhQUFLLEVnQjhFYyxPQUFPLEdoQmpFN0I7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsYUFBSyxFZ0IrRWEsWUFBWSxHaEJsRWpDOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLGFBQUssRWdCZ0ZjLGFBQWEsR2hCbkVuQzs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxhQUFLLEVnQmlGYSxZQUFZLEdoQnBFakM7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsVUFBSyxFZ0J1RlcsTUFBTSxHaEIxRXpCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLFVBQUssRWdCd0ZZLE9BQU8sR2hCM0UzQjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxZQUFLLEVnQjRGVSxLQUFLLEdoQi9FdkI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsWUFBSyxFZ0I2RlMsSUFBSSxHaEJoRnJCOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFlBQUssRWdCOEZVLEtBQUssR2hCakZ2Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxZQUFLLEVnQitGUSxHQUFHLEdoQmxGbkI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsWUFBSyxFZ0JnR2EsTUFBTSxHaEJuRjNCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLFlBQUssRWdCaUdjLE9BQU8sR2hCcEY3Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxVQUFLLEVnQnFHUSxLQUFLLEdoQnhGckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsVUFBSyxFZ0JzR1csR0FBRyxHaEJ6RnRCOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLFVBQUssRWdCdUdhLE1BQU0sR2hCMUYzQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxVQUFLLEVnQndHYyxPQUFPLEdoQjNGN0I7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1ZUixDQUFDLEdOQ0Q7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1hUixDQUFDLEdOQUQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1jUixDQUFDLEdOREQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1lUixDQUFDLEdORkQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1nQlIsQ0FBQyxHTkhEOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGlCQUFLLEVNaUJSLENBQUMsR05KRDs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxpQkFBSyxFTWtCUixDQUFDLEdOTEQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsaUJBQUssRU1tQlIsQ0FBQyxHTk5EOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLGlCQUFLLEVNb0JQLEVBQUUsR05QSDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxpQkFBSyxFTXFCUCxFQUFFLEdOUkg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsaUJBQUssRU1zQlAsRUFBRSxHTlRIOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGNBQUssRU1ZUixDQUFDLEdOQ0Q7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWFSLENBQUMsR05BRDs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxjQUFLLEVNY1IsQ0FBQyxHTkREOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGNBQUssRU1lUixDQUFDLEdORkQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWdCUixDQUFDLEdOSEQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWlCUixDQUFDLEdOSkQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTWtCUixDQUFDLEdOTEQ7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsY0FBSyxFTW1CUixDQUFDLEdOTkQ7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsY0FBSyxFTW9CUCxFQUFFLEdOUEg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsY0FBSyxFTXFCUCxFQUFFLEdOUkg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsY0FBSyxFTXNCUCxFQUFFLEdOVEg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFTStCVixTQUFXLENBQUMsQ0FBQyxHTmxCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVNZ0NWLFNBQVcsQ0FBQyxDQUFDLEdObkJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFdBQUssRU1pQ1YsU0FBVyxDQUFDLENBQUMsR05wQlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFTWtDVixTQUFXLENBQUMsQ0FBQyxHTnJCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVNbUNWLFNBQVcsQ0FBQyxDQUFDLEdOdEJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFdBQUssRU1vQ1YsU0FBVyxDQUFDLENBQUMsR052Qlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsV0FBSyxFTXFDVixTQUFXLENBQUMsQ0FBQyxHTnhCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVNc0NWLFNBQVcsQ0FBQyxDQUFDLEdOekJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFdBQUssRU11Q1YsU0FBVyxDQUFDLENBQUMsR04xQlg7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFTXdDVCxTQUFXLENBQUMsRUFBRSxHTjNCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxXQUFLLEVNeUNULFNBQVcsQ0FBQyxFQUFFLEdONUJiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFdBQUssRU0wQ1QsU0FBVyxDQUFDLEVBQUUsR043QmI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsV0FBSyxFTTJDVCxTQUFXLENBQUMsRUFBRSxHTjlCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxXQUFLLEVNNENULFNBQVcsQ0FBQyxFQUFFLEdOL0JiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFdBQUssRU02Q1QsU0FBVyxDQUFDLEVBQUUsR05oQ2I7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsUUFBSyxFTStCVixTQUFXLENBQUMsQ0FBQyxHTmxCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxRQUFLLEVNZ0NWLFNBQVcsQ0FBQyxDQUFDLEdObkJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFFBQUssRU1pQ1YsU0FBVyxDQUFDLENBQUMsR05wQlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsUUFBSyxFTWtDVixTQUFXLENBQUMsQ0FBQyxHTnJCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxRQUFLLEVNbUNWLFNBQVcsQ0FBQyxDQUFDLEdOdEJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFFBQUssRU1vQ1YsU0FBVyxDQUFDLENBQUMsR052Qlg7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsUUFBSyxFTXFDVixTQUFXLENBQUMsQ0FBQyxHTnhCWDs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxRQUFLLEVNc0NWLFNBQVcsQ0FBQyxDQUFDLEdOekJYOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLFFBQUssRU11Q1YsU0FBVyxDQUFDLENBQUMsR04xQlg7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsUUFBSyxFTXdDVCxTQUFXLENBQUMsRUFBRSxHTjNCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxRQUFLLEVNeUNULFNBQVcsQ0FBQyxFQUFFLEdONUJiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFFBQUssRU0wQ1QsU0FBVyxDQUFDLEVBQUUsR043QmI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsUUFBSyxFTTJDVCxTQUFXLENBQUMsRUFBRSxHTjlCYjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxRQUFLLEVNNENULFNBQVcsQ0FBQyxFQUFFLEdOL0JiOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFFBQUssRU02Q1QsU0FBVyxDQUFDLEVBQUUsR05oQ2I7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFZ0JnSlEsSUFBSSxHaEJuSXBCOztBQWpEVCxBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNWVIsQ0FBQztFTlpFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsMkNBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNYVIsQ0FBQztFTmJFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsNENBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNY1IsQ0FBQztFTmRFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0Isc0RBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNZVIsQ0FBQztFTmZFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsNkNBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNZ0JSLENBQUM7RU5oQkUsT0FBSyxFZ0JnSUksSUFBSTtFaEJoSWIscUJBQUssRWdCaUlrQiw0Q0FBeUcsR2hCcEkzSDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCOEhTLENBQUM7RWhCOUhmLFdBQUssRU1pQlIsQ0FBQztFTmpCRSxPQUFLLEVnQmdJSSxJQUFJO0VoQmhJYixxQkFBSyxFZ0JpSWtCLHNEQUF5RyxHaEJwSTNIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0I4SFMsQ0FBQztFaEI5SGYsV0FBSyxFTWtCUixDQUFDO0VObEJFLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0IsZ0RBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNbUJSLENBQUM7RU5uQkUsT0FBSyxFZ0JnSUksSUFBSTtFaEJoSWIscUJBQUssRWdCaUlrQixzREFBeUcsR2hCcEkzSDs7QUFqQ2pCLEFBK0JnQixhQS9CTCxDQStCUztFQUtSLFVBQUssRWdCOEhTLENBQUM7RWhCOUhmLFdBQUssRU1vQlAsRUFBRTtFTnBCQSxPQUFLLEVnQmdJSSxJQUFJO0VoQmhJYixxQkFBSyxFZ0JpSWtCLDZDQUF5RyxHaEJwSTNIOztBQWpDakIsQUErQmdCLGFBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0I4SFMsQ0FBQztFaEI5SGYsV0FBSyxFTXFCUCxFQUFFO0VOckJBLE9BQUssRWdCZ0lJLElBQUk7RWhCaEliLHFCQUFLLEVnQmlJa0Isc0RBQXlHLEdoQnBJM0g7O0FBakNqQixBQStCZ0IsYUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQjhIUyxDQUFDO0VoQjlIZixXQUFLLEVNc0JQLEVBQUU7RU50QkEsT0FBSyxFZ0JnSUksSUFBSTtFaEJoSWIscUJBQUssRWdCaUlrQixzREFBeUcsR2hCcEkzSDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1ZUixDQUFDO0VOWkUsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLDJDQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTWFSLENBQUM7RU5iRSxPQUFLLEVnQnVJSSxJQUFJO0VoQnZJYixrQkFBSyxFZ0J3SWUsNENBQXlHLEdoQjNJeEg7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQnFJUyxDQUFDO0VoQnJJZixXQUFLLEVNY1IsQ0FBQztFTmRFLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSxzREFBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1lUixDQUFDO0VOZkUsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLDZDQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTWdCUixDQUFDO0VOaEJFLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSw0Q0FBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1pQlIsQ0FBQztFTmpCRSxPQUFLLEVnQnVJSSxJQUFJO0VoQnZJYixrQkFBSyxFZ0J3SWUsc0RBQXlHLEdoQjNJeEg7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQnFJUyxDQUFDO0VoQnJJZixXQUFLLEVNa0JSLENBQUM7RU5sQkUsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLGdEQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTW1CUixDQUFDO0VObkJFLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSxzREFBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixhQS9CTCxDQStCUztFQUtSLFVBQUssRWdCcUlTLENBQUM7RWhCcklmLFdBQUssRU1vQlAsRUFBRTtFTnBCQSxPQUFLLEVnQnVJSSxJQUFJO0VoQnZJYixrQkFBSyxFZ0J3SWUsNkNBQXlHLEdoQjNJeEg7O0FBakNqQixBQStCZ0IsYUEvQkwsQ0ErQlM7RUFLUixVQUFLLEVnQnFJUyxDQUFDO0VoQnJJZixXQUFLLEVNcUJQLEVBQUU7RU5yQkEsT0FBSyxFZ0J1SUksSUFBSTtFaEJ2SWIsa0JBQUssRWdCd0llLHNEQUF5RyxHaEIzSXhIOztBQWpDakIsQUErQmdCLGFBL0JMLENBK0JTO0VBS1IsVUFBSyxFZ0JxSVMsQ0FBQztFaEJySWYsV0FBSyxFTXNCUCxFQUFFO0VOdEJBLE9BQUssRWdCdUlJLElBQUk7RWhCdkliLGtCQUFLLEVnQndJZSxzREFBeUcsR2hCM0l4SDs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFQ3NETyxpQkFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVDc0RPLGlCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsT0EvQlYsQ0ErQmM7RUFLUixTQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixPQS9CVixDQStCYztFQUtSLFNBQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLE9BL0JWLENBK0JjO0VBS1IsU0FBSyxFQ3NETyxXQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sdUJBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sdUJBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsU0FBSyxFQ3NETyx1QkFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsU0FBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLHVCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsVUEvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixVQS9CUixDQStCWTtFQUtSLFNBQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFVBL0JSLENBK0JZO0VBS1IsU0FBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsVUEvQlIsQ0ErQlk7RUFLUixTQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CUCxDQStCVztFQUtSLFNBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JQLENBK0JXO0VBS1IsU0FBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQlAsQ0ErQlc7RUFLUixTQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CUCxDQStCVztFQUtSLFNBQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxTQUFLLEVpQkpVLGNBQXlCLEdqQmlCM0M7O0FBakRULEFBK0JnQixZQS9CTCxDQStCUztFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTCxDQStCUztFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JMLENBK0JTO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQkwsQ0ErQlM7RUFLUixNQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVCxDQStCYTtFQUtSLE1BQUssRUNzRE8sU0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JULENBK0JhO0VBS1IsTUFBSyxFQ3NETyxTQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlQsQ0ErQmE7RUFLUixNQUFLLEVDc0RPLFVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVCxDQStCYTtFQUtSLE1BQUssRUNzRE8sVUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JULENBK0JhO0VBS1IsTUFBSyxFQ3NETyxVQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlQsQ0ErQmE7RUFLUixNQUFLLEVDc0RPLFVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixRQS9CVCxDQStCYTtFQUtSLE1BQUssRUNzRE8sVUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFFBL0JULENBK0JhO0VBS1IsTUFBSyxFQ3NETyxVQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsUUEvQlQsQ0ErQmE7RUFLUixNQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRUNzRE8sVUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFQ3NETyxVQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFQ3NETyxXQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVDc0RPLFdBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixTQS9CUixDQStCWTtFQUtSLE1BQUssRUNzRE8sV0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFNBL0JSLENBK0JZO0VBS1IsTUFBSyxFQ3NETyxXQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsU0EvQlIsQ0ErQlk7RUFLUixNQUFLLEVDc0RPLFlBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixZQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFlBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxZQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsWUEvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLFlBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixXQS9CTixDQStCVTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLFdBL0JOLENBK0JVO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsV0EvQk4sQ0ErQlU7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sZ0JBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sZUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxlQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGVBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGdCQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sYUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxhQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsY0EvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGFBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixjQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sWUFBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGNBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxZQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixhQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGFBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixhQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGFBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStCZ0IsYUEvQkosQ0ErQlE7RUFLUixNQUFLLEVDc0RPLGNBQXNDLEdEekQ3Qzs7QUFqQ2pCLEFBK0JnQixhQS9CSixDQStCUTtFQUtSLE1BQUssRUNzRE8sY0FBc0MsR0R6RDdDOztBQWpDakIsQUErQmdCLGFBL0JKLENBK0JRO0VBS1IsTUFBSyxFQ3NETyxjQUFzQyxHRHpEN0M7O0FBakNqQixBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxnQkFBSyxFaUJnRFcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQm5DbEM7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsZ0JBQUssRWlCaURRLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHakJwQzVCOztBQWpEVCxBQStDUSxpQkEvQ1MsQ0ErQ0U7RUFYUCxnQkFBSyxFaUJrRFcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQnJDbEM7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsZ0JBQUssRWlCbURTLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHakJ0QzlCOztBQWpEVCxBQStDUSxnQkEvQ1EsQ0ErQ0c7RUFYUCxnQkFBSyxFaUJvRFUsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQnZDaEM7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsZ0JBQUssRWlCcURPLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxHakJ4QzFCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLGdCQUFLLEVpQnNETyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsR2pCekN6Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxnQkFBSyxFaUJ1RE8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdqQjFDN0I7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsZ0JBQUssRWlCd0RPLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxHakIzQzVCOztBQWpEVCxBQStDUSxRQS9DQSxDQStDVztFQVhQLFVBQUssRWtCMUJZLE9BQU8sR2xCdUMzQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxVQUFLLEVrQnpCYyxNQUFNLEdsQnNDNUI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JyQlEsQ0FBSSxHbEJrQ3BCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLE9BQUssRWtCcEJRLElBQUksR2xCaUNwQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxPQUFLLEVrQm5CUSxHQUFJLEdsQmdDcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JsQlEsSUFBSSxHbEIrQnBCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLE9BQUssRWtCakJRLEdBQUksR2xCOEJwQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxPQUFLLEVrQmhCUSxJQUFJLEdsQjZCcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JmUSxHQUFJLEdsQjRCcEI7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsT0FBSyxFa0JkUSxJQUFJLEdsQjJCcEI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsT0FBSyxFa0JiUyxDQUFJLEdsQjBCckI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JUUSxDQUFDLEdsQnNCakI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JSUSxHQUFHLEdsQnFCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JQUSxHQUFHLEdsQm9CbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JOUSxHQUFHLEdsQm1CbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JMUSxHQUFHLEdsQmtCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JKUSxHQUFHLEdsQmlCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JIUSxHQUFHLEdsQmdCbkI7O0FBakRULEFBK0NRLElBL0NKLENBK0NlO0VBWFAsT0FBSyxFa0JGUSxHQUFHLEdsQmVuQjs7QUFqRFQsQUErQ1EsSUEvQ0osQ0ErQ2U7RUFYUCxPQUFLLEVrQkRRLEdBQUcsR2xCY25COztBQWpEVCxBQStDUSxJQS9DSixDQStDZTtFQVhQLE9BQUssRWtCQVEsR0FBRyxHbEJhbkI7O0FBakRULEFBK0NRLEtBL0NILENBK0NjO0VBWFAsT0FBSyxFa0JDUyxJQUFJLEdsQllyQjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxPQUFLLEVrQlNRLElBQUksR2xCSXBCOztDQWpEVCxBQUFBLEFBK0NRLE1BL0NQLEFBQUEsRUErQ2tCO0VBWFAsT0FBSyxFa0JZUSxJQUFJLEdsQkNwQjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0FBQyxLQUFLLENBK0NJO0VBWFAsS0FBSyxFa0JlTSxJQUFJO0VsQmZmLE9BQUssRWtCZ0JRLEdBQUc7RWxCaEJoQixPQUFLLEVrQmlCUSxLQUFLLEdsQkpyQjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxxQkFBSyxFbUJkVSxLQUFLLEduQjJCdkI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAscUJBQUssRW1CYlUsS0FBSyxHbkIwQnZCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLHFCQUFLLEVtQlpXLE1BQU0sR25CeUJ6Qjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxxQkFBSyxFbUJSUyxJQUFJLEduQnFCckI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAscUJBQUssRW1CUFUsS0FBSyxHbkJvQnZCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLHFCQUFLLEVtQk5hLE1BQU0sR25CbUIzQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxxQkFBSyxFbUJGVyxNQUFNLEduQmV6Qjs7QUFqRFQsQUErQ1EsT0EvQ0QsQ0ErQ1k7RUFYUCxxQkFBSyxFbUJETyxHQUFHLEduQmNsQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxxQkFBSyxFbUJBYSxNQUFNLEduQmEzQjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxpQkFBSyxFbUJJVyxNQUFNLEduQlN6Qjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxpQkFBSyxFbUJLYyxTQUFTLEduQlEvQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxpQkFBSyxFbUJNYSxRQUFRLEduQk83Qjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxpQkFBSyxFbUJPYSxRQUFRLEduQk03Qjs7QUFqRFQsQUErQ1EsUUEvQ0EsQ0ErQ1c7RUFYUCxlQUFLLEVtQldTLElBQUksR25CRXJCOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGVBQUssRW1CWVUsS0FBSyxHbkJDdkI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsZUFBSyxFbUJhWSxPQUFPLEduQkEzQjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEIzQkksT0FBTyxHa0J3Q25COztBQWpEVCxBQStDUSxnQkEvQ1EsQ0ErQ0c7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEJ6Qk0sT0FBTyxHa0JzQ3JCOztBQWpEVCxBQStDUSxhQS9DSyxDQStDTTtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLGVBL0NPLENBK0NJO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRUpWSCxPQUFPLEdJdUJaOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVKZEwsT0FBTyxHSTJCVjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFSlpGLE9BQU8sR0l5QmI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRWxCTUgsS0FBSyxHa0JPVjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEJHSCxJQUFJLEdrQlVUOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLG9CQS9DWSxDQStDRDtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVsQkZTLE9BQU8sR2tCZXhCOztBQWpEVCxBQStDUSxrQkEvQ1UsQ0ErQ0M7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEJITyxPQUFPLEdrQmdCdEI7O0FBakRULEFBK0NRLGlCQS9DUyxDQStDRTtFQVhQLEtBQUssRVEyQkQsT0FBeUI7RVIzQjdCLGdCQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxtQkEvQ1csQ0ErQ0E7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEIzQkksT0FBTyxHa0J3Q25COztBQWpEVCxBQStDUSxxQkEvQ2EsQ0ErQ0Y7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEIzQkksT0FBTyxHa0J3Q25COztBQWpEVCxBQStDUSxtQkEvQ1csQ0ErQ0E7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEIzQkksT0FBTyxHa0J3Q25COztBQWpEVCxBQStDUSxrQkEvQ1UsQ0ErQ0M7RUFYUCxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1Esb0JBL0NZLENBK0NEO0VBWFAsS0FBSyxFUTJCRCxPQUF5QjtFUjNCN0IsZ0JBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsZ0JBQUssRWxCM0JJLE9BQU8sR2tCd0NuQjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxnQkFBSyxFbEJ6Qk0sT0FBTyxHa0JzQ3JCOztBQWpEVCxBQStDUSxVQS9DRSxDQStDUztFQVhQLGdCQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsZ0JBQUssRUpWSCxPQUFPLEdJdUJaOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLGdCQUFLLEVKZEwsT0FBTyxHSTJCVjs7QUFqRFQsQUErQ1EsV0EvQ0csQ0ErQ1E7RUFYUCxnQkFBSyxFSlpGLE9BQU8sR0l5QmI7O0FBakRULEFBK0NRLFNBL0NDLENBK0NVO0VBWFAsZ0JBQUssRWxCTUgsS0FBSyxHa0JPVjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxnQkFBSyxFbEJHSCxJQUFJLEdrQlVUOztBQWpEVCxBQStDUSxTQS9DQyxDQStDVTtFQVhQLGdCQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLGlCQS9DUyxDQStDRTtFQVhQLGdCQUFLLEVsQkZTLE9BQU8sR2tCZXhCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLGdCQUFLLEVsQkhPLE9BQU8sR2tCZ0J0Qjs7QUFqRFQsQUErQ1EsY0EvQ00sQ0ErQ0s7RUFYUCxnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1EsZ0JBL0NRLENBK0NHO0VBWFAsZ0JBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLFVBL0NFLENBK0NTO0VBWFAsZ0JBQUssRWxCM0JJLE9BQU8sR2tCd0NuQjs7QUFqRFQsQUErQ1Esa0JBL0NVLENBK0NDO0VBWFAsZ0JBQUssRWxCM0JJLE9BQU8sR2tCd0NuQjs7QUFqRFQsQUErQ1EsZ0JBL0NRLENBK0NHO0VBWFAsZ0JBQUssRWxCM0JJLE9BQU8sR2tCd0NuQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxnQkFBSyxFUTJCRCxPQUF5QixHUmRoQzs7QUFqRFQsQUErQ1EsaUJBL0NTLENBK0NFO0VBWFAsZ0JBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsS0FBSyxFbEIzQkksT0FBTyxHa0J3Q25COztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLEtBQUssRWxCekJNLE9BQU8sR2tCc0NyQjs7QUFqRFQsQUErQ1EsWUEvQ0ksQ0ErQ087RUFYUCxLQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsS0FBSyxFSlZILE9BQU8sR0l1Qlo7O0FBakRULEFBK0NRLGNBL0NNLENBK0NLO0VBWFAsS0FBSyxFSmRMLE9BQU8sR0kyQlY7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsS0FBSyxFSlpGLE9BQU8sR0l5QmI7O0FBakRULEFBK0NRLFdBL0NHLENBK0NRO0VBWFAsS0FBSyxFbEJNSCxLQUFLLEdrQk9WOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLEtBQUssRWxCR0gsSUFBSSxHa0JVVDs7QUFqRFQsQUErQ1EsV0EvQ0csRTRCaVJYLFVBQVUsQ0FHTixFQUFFLENBSUUsRUFBRSxFQWhCVixZQUFZLENBQ1IsRUFBRSxDNUIxTmE7RUFYUCxLQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLG1CQS9DVyxDQStDQTtFQVhQLEtBQUssRWxCRlMsT0FBTyxHa0JleEI7O0FBakRULEFBK0NRLGlCQS9DUyxDQStDRTtFQVhQLEtBQUssRWxCSE8sT0FBTyxHa0JnQnRCOztBQWpEVCxBQStDUSxnQkEvQ1EsQ0ErQ0c7RUFYUCxLQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxrQkEvQ1UsQ0ErQ0M7RUFYUCxLQUFLLEVRMkJELE9BQXlCLEdSZGhDOztBQWpEVCxBQStDUSxZQS9DSSxFZ0hBWixTQUFTLENBMEZMLGdCQUFRLEVKbkVaLHFCQUFxQixDQXdCakIsRUFBRSxFaEZGTixlQUFLLEVBZUssQUFBQSxXQUFDLEFBQUEsR0ExQ1gsTUFBTSxFQUlOLGdCQUFnQixDQUVaLEVBQUUsRUFGTixnQkFBZ0IsQ0FFUixFQUFFLEVBRlYsZ0JBQWdCLENBRUosRUFBRSxFQUZkLGdCQUFnQixDQUVBLEVBQUUsRUFGbEIsZ0JBQWdCLENBRUksRUFBRSxFQUZ0QixnQkFBZ0IsQ0FFUSxFQUFFLEVBRjFCLGdCQUFnQixDQUVZLEdBQUcsRUFGL0IsZ0JBQWdCLENBRWlCLEdBQUcsRUFGcEMsZ0JBQWdCLENBRXNCLEdBQUcsRUFGekMsZ0JBQWdCLENBRTJCLEdBQUcsRUFGOUMsZ0JBQWdCLENBRWdDLEdBQUcsRUFGbkQsZ0JBQWdCLENBRXFDLEdBQUcsQzVCdUJyQztFQVhQLEtBQUssRWxCM0JJLE9BQU8sR2tCd0NuQjs7QUFqRFQsQUErQ1Esb0JBL0NZLENBK0NEO0VBWFAsS0FBSyxFbEIzQkksT0FBTyxHa0J3Q25COztBQWpEVCxBQStDUSxrQkEvQ1UsQ0ErQ0M7RUFYUCxLQUFLLEVsQjNCSSxPQUFPLEdrQndDbkI7O0FBakRULEFBK0NRLGlCQS9DUyxDQStDRTtFQVhQLEtBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLG1CQS9DVyxDQStDQTtFQVhQLEtBQUssRVEyQkQsT0FBeUIsR1JkaEM7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsTUFBSyxFbUI4RFMsSUFBSSxHbkJqRHJCOztBQWpEVCxBQStDUSxlQS9DTyxDQStDSTtFQVhQLE1BQUssRW1CK0RZLE9BQU8sR25CbEQzQjs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxNQUFLLEVtQmdFWSxPQUFPLEduQm5EM0I7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsTUFBSyxFbUJpRVMsSUFBSSxHbkJwRHJCOztBQWpEVCxBQStDUSxZQS9DSSxDQStDTztFQVhQLE1BQUssRW1Ca0VTLElBQUksR25CckRyQjs7QUFqRFQsQUErQ1EsbUJBL0NXLENBK0NBO0VBWFAsTUFBSyxFbUJtRWdCLFdBQVcsR25CdERuQzs7QUFqRFQsQUErQ1EsZUEvQ08sQ0ErQ0k7RUFYUCxjQUFLLEVtQnVFbUIsSUFBSSxHbkIxRC9COztBQWpEVCxBQStDUSxrQkEvQ1UsQ0ErQ0M7RUFYUCxjQUFLLEVtQndFc0IsSUFBSSxHbkIzRGxDOztBQWpEVCxBQStDUSxPQS9DRCxDQStDWTtFQVhQLFdBQUssRW1CNEVXLElBQUksR25CL0R2Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxXQUFLLEVtQjZFYyxJQUFJLEduQmhFMUI7O0FBakRULEFBK0NRLGFBL0NLLENBK0NNO0VBWFAsVUFBSyxFbUI2R1ksT0FBTyxHbkJoRzNCOztBQWpEVCxBQStDUSxjQS9DTSxDQStDSztFQVhQLFVBQUssRW1COEdhLFFBQVEsR25Cakc3Qjs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxVQUFLLEVtQitHUyxJQUFJLEduQmxHckI7O0FBakRULEFBK0NRLFlBL0NJLENBK0NPO0VBWFAsVUFBSyxFbUJnSFcsTUFBTSxHbkJuR3pCOztBQWpEVCxBQStDUSxXQS9DRyxDQStDUTtFQVhQLFVBQUssRW1CaUhVLEtBQUssR25CcEd2Qjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxVQUFLLEVtQjZIUSxpRUFBNEUsR25CaEg1Rjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxVQUFLLEVtQjhIUSxnRUFBMkUsR25CakgzRjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxVQUFLLEVtQitIUSxpRUFBNEUsR25CbEg1Rjs7QUFqRFQsQUErQ1EsU0EvQ0MsQ0ErQ1U7RUFYUCxVQUFLLEVtQmdJUSxtRUFBOEUsR25Cbkg5Rjs7QUFqRFQsQUErQ1EsYUEvQ0ssQ0ErQ007RUFYUCxVQUFLLEVtQnVJVyxxQ0FBZ0QsR25CMUhuRTs7QUFqRFQsQUErQ1EsVUEvQ0UsQ0ErQ1M7RUFYUCxVQUFLLEVtQjBJVyxJQUFJLEduQjdIdkI7O0E0QjVDVCxBQUFBLENBQUMsQUFBQSxHQUFHLEVBQUUsQ0FBQyxBQUFBLElBQUksRUFBRSxDQUFDLEFBQUEsSUFBSSxFQUFFLENBQUMsQUFBQSxJQUFJLENBQUM7RUFDdEIsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDRixhQUFhLEVBQUUsZUFBZSxHQUlqQztFNUJKTyxNQUFNLDhCNEJEZDtJQUFBLEFBQUEsS0FBSyxDQUFDO01BR0UsYUFBYSxFQUFFLFlBQVksR0FFbEMsRUFBQTtBQVFELEFBS0ksZ0JBTFksQ0FLWixDQUFDLENBQUM7RUFDRSxZQUFZLEVyQmZKLE1BQXlCO0VxQmdCakMsYUFBYSxFckJoQkwsTUFBeUIsR3FCaUJwQzs7QUFLTCxBQUdJLEtBSEMsQ0FHRCxHQUFHLEVBSFAsS0FBSyxDQUdHLENBQUMsRUFIRixXQUFXLENBR2QsR0FBRyxFQUhBLFdBQVcsQ0FHVixDQUFDLENBQUM7RUFDRixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEU5QzJGa0IsSUFBSTtFOEMxRjNCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUdMLEFBQUEsS0FBSyxDQUFDO0VBRUYsZUFBZSxFQUFFLFVBQVU7RUFDM0IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5Q21DSSxPQUFPO0U4Q2pDbkMsZUFBZSxFQUFFLElBQUksR0EyQ3hCO0VBaERELEFBTUksS0FOQyxFQU1FLGlCQUFpQixDQUFDO0lBQ2pCLE9BQU8sRUFBRSxJQUFJO0lBQUcsdUJBQXVCLEVBQzFDO0VBUkwsQUFVSSxlQVZDLENBVVc7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsYUFBYSxFQUFFLGdCQUFnQixHQU1sQztJQW5CTCxBQWVRLGVBZkgsRUFlSyxBQUFBLFdBQUMsQUFBQSxFQUFhO01BRVosbUJBQW1CLEU5Q3JEVixPQUFPLEc4Q3NEbkI7RUFsQlQsQUFxQkksS0FyQkMsQ0FxQkQsQ0FBQyxDQUFDO0lBQ0UsWUFBWSxFQUFFLFFBQVE7SUFDdEIsY0FBYyxFQUFFLFFBQVE7SUFDeEIsTUFBTSxFQUFFLE9BQU87SUFDZixVQUFVLEVBQUUsTUFBTTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSx5QkFBeUIsR0FDM0M7RUE1QkwsQUE4QkksY0E5QkMsQ0E4QlU7SUFDUCxTQUFTLEVBQUUsTUFBTSxHQUtwQjtJQXBDTCxBQWdDUSxjQWhDSCxDQWdDRyxDQUFDLENBQUM7TUFDRSxjQUFjLEVBQUUsUUFBUTtNQUN4QixZQUFZLEVBQUUsSUFBSSxHQUNyQjtFQW5DVCxBQXNDSSxlQXRDQyxDQXNDVztJQUNSLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO0VBeENMLEFBeUNJLGtCQXpDQyxDQXlDYztJQUNYLE9BQU8sRUFBRSxlQUFlLEdBSzNCO0lBL0NMLEFBNENRLHdCQTVDSCxDQTRDVztNQUNKLE9BQU8sRUFBRSxrQkFBa0IsR0FDOUI7O0FBSVQsQUFBQSxXQUFXLENBQUM7RTVCM0RBLEtBQUssRWxCR0gsSUFBSTtFa0JITixnQkFBSyxFNEI0REUsT0FBMkM7RTVCNURsRCxZQUFLLEU0QjRERSxPQUEyQztFQUUxRCxTQUFTLEVBQUUsSUFBSSxHQVNsQjtFQVpELEFBS0ksV0FMTyxDQUtQLENBQUMsQ0FBQztJQUVFLEtBQUssRTlDN0ZRLE9BQU8sRzhDOEZ2QjtFQVJMLEFBU0ksV0FUTyxDQVNQLENBQUMsQ0FBQyxLQUFLLENBQUEsR0FBSyxFQUFBLEFBQUEsV0FBQyxBQUFBLEdBQWM7SUFDdkIsbUJBQW1CLEU5Q2hHTixzQkFBTyxHOENpR3ZCOztBQUtMLEFBQUEsTUFBTSxDQUFDO0VBRUgsZ0JBQWdCLEU5Q3ZFTixLQUFLO0U4Q3dFZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlDekdBLE9BQU87RThDMEd4QixhQUFhLEVBQUUsSUFBSTtFQUNuQixTQUFTLEVBQUUsS0FBSztFQUNoQixVQUFVLEVBQUUsSUFBSSxHQVluQjtFQWxCRCxBQVFJLGdCQVJFLENBUVU7SUFFUixTQUFTLEVBQUUsQ0FBQztJQUNaLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUFaTCxBQWNJLGFBZEUsQ0FjTztJQUVMLEtBQUssRTlDeEZDLElBQUksRzhDeUZiOztBQUdMLEFBQUEsUUFBUSxDQUFDO0VBRUwsZ0JBQWdCLEVBQUUsa0JBQWtCO0VBQ3BDLEtBQUssRUFBRSxLQUFLO0VBQ1osTUFBTSxFQUFFLEtBQUs7RUFDYixPQUFPLEVBQUUsR0FBRyxHQVFmO0VBYkQsQUFPSSxRQVBJLEdBT0YsQ0FBQyxDQUFDO0lBQ0EsTUFBTSxFQUFFLFdBQVc7SUFDbkIsVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLEdBQUcsR0FDakI7O0FBS0wsOEVBQThFO0FBQzlFLEFBQUEsU0FBUyxDQUFDO0VBQ04sVUFBVSxFQUFFLE1BQU07RUFBRSx5Q0FBeUM7RUFDN0QsU0FBUyxFQUFFLEtBQUs7RUFBRSxpQ0FBaUM7RUFDbkQsV0FBVyxFQUFFLE1BQU07RUFBRSxvQ0FBb0M7RUFDekQsZ0JBQWdCLEVBQUUsSUFBSTtFQUFFLDRCQUE0QjtFQUNwRCxLQUFLLEVBQUUsSUFBSTtFQUFFLHNCQUFzQjtFQUNuQyxVQUFVLEVBQUUsTUFBTTtFQUFFLG1CQUFtQjtFQUN2QyxhQUFhLEVBQUUsR0FBRztFQUFFLHFCQUFxQjtFQUN6QyxPQUFPLEVBQUUsSUFBSTtFQUFFLGFBQWE7RUFDNUIsUUFBUSxFQUFFLEtBQUs7RUFBRSw4QkFBOEI7RUFDL0MsT0FBTyxFQUFFLENBQUM7RUFBRSw2QkFBNkI7RUFDekMsSUFBSSxFQUFFLEdBQUc7RUFBRSx5QkFBeUI7RUFDcEMsTUFBTSxFQUFFLElBQUk7RUFBRSwwQkFBMEIsRUFDM0M7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDTixLQUFLLEVBQUUsQ0FBQztFQUNSLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLDRCQUE0QjtFQUNwQyxVQUFVLEVBQUUsQ0FBQztFQUNiLGFBQWEsRUFBRSxTQUFTLENBQUMsS0FBSyxDOUNsRGhCLE9BQU87RThDbURyQixTQUFTLEVBQUUsY0FBYyxHQVM1QjtFQWZELEFBUUksY0FSSyxDQVFFO0lBQ0gsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFWTCxBQVlJLGdCQVpLLENBWUk7SUFDTCxtQkFBbUIsRTlDaEpILE9BQU8sRzhDaUoxQjs7QUFJTCxnREFBZ0Q7QUFJaEQsVUFBVSxDQUFWLFVBQVU7RUFDTixJQUFJO0lBQ0EsR0FBRyxFQUFFLENBQUM7SUFDTixPQUFPLEVBQUUsQ0FBQztFQUVkLEVBQUU7SUFDRSxHQUFHLEVyQm5MSyxPQUF5QjtJcUJvTGpDLE9BQU8sRUFUQyxJQUFJOztBQWFwQixVQUFVLENBQVYsVUFBVTtFQUNOLElBQUk7SUFDQSxHQUFHLEVyQjFMSyxPQUF5QjtJcUIyTGpDLE9BQU8sRUFoQkMsSUFBSTtFQWtCaEIsRUFBRTtJQUNFLEdBQUcsRUFBRSxDQUFDO0lBQ04sT0FBTyxFQUFFLENBQUM7O0FBSWxCLEFBQUEsTUFBTSxDQUFDO0U1QjVLSyxLQUFLLEVRMkJELE9BQXlCO0VSM0I3QixnQkFBSyxFbEJGUyxPQUFPO0VrQkVyQixPQUFLLEVNSmMsTUFBeUI7RU5JNUMsVUFBSyxFbUI4SFEsZ0VBQTJFO0VuQjlIeEYsV0FBSyxFV0FjLEdBQUc7RWlCOEs5QixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsNkRBQTZEO0VBQ3hFLGFBQWEsRXJCdk1ELE9BQXlCO0VxQndNckMsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsZUFBZTtFQUN2QixlQUFlLEVBQUUsTUFBTTtFQUN2QixJQUFJLEVBQUUsQ0FBQztFQUNQLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQW5DSyxJQUFJO0VBb0NoQixRQUFRLEVBQUUsS0FBSztFQUNmLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFckJqTlMsT0FBeUI7RXFCa05yQyxLQUFLLEVBQUUsR0FBRztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLEdBQUcsR0FxQm5CO0VBdENELEFBbUJJLFlBbkJFLENBbUJNO0k1Qi9MQSxLQUFLLEVsQjNCSSxPQUFPO0lrQjJCaEIsZ0JBQUssRWxCTUgsS0FBSztJOEM0TFgsTUFBTSxFQUFFLFNBQVM7SUFDakIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsVUFBVSxFQUFFLFdBQVc7SUFDdkIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUE3QkwsQUErQlEsZUEvQkYsR0ErQkksQ0FBQyxDQUFDO0lBQ0EsTUFBTSxFQUFFLFlBQVksR0FDdkI7RUFqQ1QsQUFrQ1EsZUFsQ0YsQ0FrQ0UsRUFBRSxDQUFDO0k1QjlNQyxTQUFLLEVTMkZFLFFBQStCO0lUM0Z0QyxjQUFLLEVXbUJjLFNBQVM7SVhuQjVCLFdBQUssRVdDUyxHQUFHO0lYRGpCLEtBQUssRWxCM0JJLE9BQU8sRzhDMk9uQjtJNUJ6Tk8sTUFBTSw4QjRCdU5kO01BbENSLEFBa0NRLGVBbENGLENBa0NFLEVBQUUsQ0FBQztRNUI5TUMsU0FBSyxFUzJGRSxRQUErQixHbUJxSHpDLEVBQUE7STVCek5PLE1BQU0sOEI0QnVOZDtNQWxDUixBQWtDUSxlQWxDRixDQWtDRSxFQUFFLENBQUM7UTVCOU1DLFNBQUssRVMyRkUsUUFBK0IsR21CcUh6QyxFQUFBO0k1QnpOTyxNQUFNLDhCNEJ1TmQ7TUFsQ1IsQUFrQ1EsZUFsQ0YsQ0FrQ0UsRUFBRSxDQUFDO1E1QjlNQyxTQUFLLEVTMkZFLFNBQStCLEdtQnFIekMsRUFBQTtBQUdULEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLGVBQWUsR0FDM0I7O0FBQ0QsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsZUFBZSxHQUMzQjs7QUFDRCxBQUFBLE1BQU0sQUFBQSxZQUFZLENBQUM7RUFDZixNQUFNLEVBQUUsS0FBSyxHQUNoQjs7QUFFRCxNQUFNLG9DQUNGO0VBQUEsQUFBQSxNQUFNLENBQUM7SUFDSCxXQUFXLEVBQUUsSUFBSSxHQUNwQixFQUFBOztBQUlMLEFBSUksWUFKUSxDQUlSLEVBQUUsQ0FBQztFQUNDLE1BQU0sRUFBRSxVQUFVLEdBQ3JCOztBQUdMLEFBR0ksVUFITSxDQUdOLEVBQUUsQ0FBQztFQUVDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxDckJ6UUgsTUFBeUIsQ3FCeVFiLENBQUMsR0FpQnhCO0VBdEJMLEFBT1EsVUFQRSxDQUdOLEVBQUUsQ0FJRSxFQUFFLENBQUM7SUFFQyxLQUFLLEVyQjdRRCxPQUF5QixHcUI4UWhDO0VBVlQsQUFZUSxVQVpFLENBR04sRUFBRSxDQVNFLEVBQUUsQ0FBQztJQUVDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFckJuUlAsTUFBeUI7SXFCb1I3QixNQUFNLEVBQUUsVUFBVTtJQUNsQixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVyQnRSQyxPQUF5QjtJcUJ1UjdCLEtBQUssRXJCdlJELE1BQXlCO0lxQndSN0IsS0FBSyxFQUFFLENBQUMsR0FDWDs7QUFJVCxBQUFBLE9BQU8sQ0FBQztFQUNKLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUlELEFBQUEsUUFBUSxDQUFDO0VBRUwsT0FBTyxFQUFFLFFBQVE7RUFDakIsU0FBUyxFQUFFLFFBQVE7RUFDbkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsT0FBTyxFQUFFLEdBQUc7RUFDWixVQUFVLEVBQUUsR0FBRyxHQTRCbEI7RUFsQ0QsQUFRSSxpQkFSSSxDQVFPO0lBRVAsT0FBTyxFQUFFLFlBQVk7SUFDckIsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsdUNBQXVDO0lBQ25ELFNBQVMsRUFBRSxHQUFHO0lBQ2QsZ0JBQWdCLEU5Qy9RRyxPQUFPO0k4Q2dSMUIsS0FBSyxFOUN6UmEsT0FBTztJOEMyUnpCLGNBQWMsRUFBRSxJQUFJO0lBQ3BCLFdBQVcsRUFBRSx1QkFBdUI7SUFDcEMsY0FBYyxFQUFFLENBQUM7SUFDakIsVUFBVSxFQUFFLElBQUk7SUFDaEIsU0FBUyxFQUFFLE9BQ2YsR0FBQztFQXZCTCxBQXlCSSxjQXpCSSxDQXlCSTtJQUNKLEtBQUssRTlDeE1rQixJQUFJO0k4Q3lNM0IsV0FBVyxFQUFFLGVBQWUsR0FDL0I7RUE1QkwsQUE4QkksUUE5QkksQ0E4QkYsS0FBSyxDQUFDLGlCQUFpQixDQUFDO0lBQ3RCLFVBQVUsRUFBRSxPQUFPO0lBQ25CLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBSUwsQUFBQSxhQUFhLEVnRitEYiwwQkFBWSxDaEYvREU7RTVCbFRGLFdBQUssRWUrRVcsTUFBTTtFZi9FdEIsT0FBSyxFZUtRLElBQUk7RWZMakIsU0FBSyxFZU1VLEdBQUc7RWZObEIsZUFBSyxFZW1FVyxNQUFNO0VmbkV0QixVQUFLLEVNSmMsUUFBeUI7RU5JNUMsYUFBSyxFTUpjLFFBQXlCO0VzQnlUcEQsTUFBTSxFQUFFLE1BQU07RUFDZCxTQUFTLEVBQUUsSUFBSSxHQW1DbEI7RUF2Q0QsQTVCdlRnQixhNEJ1VEgsRzVCdFZYLENBQUMsRTRHcVpILDBCQUFZLEc1R3JaVixDQUFDLENBK0JpQjtJQUtSLFNBQUssRWVTYyxDQUFDLEdmWmY7RTRCcVRqQixBQU1JLHVCQU5TLEVnRitEYiw4QkFBWSxFQUFaLG9DQUFZLENoRnpESTtJNUJ4VEosV0FBSyxFT05ELFFBQWlDO0lQTXJDLFlBQUssRU9ORCxRQUFpQztJcUJpVXpDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5Q3ZWSixPQUFPO0k4Q3dWcEIsYUFBYSxFQUFFLEtBQUs7SUFDcEIsTUFBTSxFQUFFLE1BQU07SUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNkO0VBZEwsQUFnQkkscUJBaEJTLENBZ0JDO0lBQ04sTUFBTSxFQUFFLENBQUM7SUFDVCxjQUFjLEVBQUUsU0FBUztJQUN6QixLQUFLLEU5Q3BRTSxPQUFPO0k4Q3FRbEIsU0FBUyxFQUFFLE1BQU07SUFDakIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE9BQU87SUFDcEIsU0FBUyxFQUFFLFdBQVcsR0FjekI7SUF0Q0wsQUEwQlEscUJBMUJLLENBMEJMLE1BQU0sQ0FBQztNQUFDLFdBQVcsRUFBQyxNQUFNLEdBQUc7SUExQnJDLEFBNEJRLHFCQTVCSyxDQTRCTCx1QkFBdUIsRUE1Qi9CLHFCQUFhLENnRitEYiw4QkFBWSxFaEYvRFoscUJBQWEsQ2dGK0RiLG9DQUFZLENoRm5Db0I7TUFDcEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5QzlRVixPQUFPO004QytRZCxhQUFhLEVBQUUsT0FBTztNQUN0QixLQUFLLEVBQUUsUUFBUTtNQUNmLFdBQVcsRUFBRSxDQUFDO01BQ2QsWUFBWSxFQUFFLE1BQU0sR0FJdkI7TUFyQ1QsQUFrQ1kscUJBbENDLENBNEJMLHVCQUF1QixFQU1sQixXQUFXLEVBbEN4QixxQkFBYSxDZ0YrRGIsOEJBQVksRWhGN0JDLFdBQVcsRUFsQ3hCLHFCQUFhLENnRitEYixvQ0FBWSxFaEY3QkMsV0FBVyxDQUFBO1FBQ1IsZ0JBQWdCLEU5Q3BSYixPQUFPLEM4Q29SMEIsVUFBVSxHQUNqRDs7QUFLYixBQUNJLHNCQURrQixDQUNsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLEVBQVU7RUFDWixhQUFhLEVBQUUsb0JBQW9CLEdBQ3RDOztBQUhMLEFBSUksOEJBSmtCLENBSVQ7RUFDTCxnQkFBZ0IsRTlDaFJKLE9BQU8sQzhDZ1JrQixVQUFVLEdBQ2xEOztBQU5MLEFBT0ksNEJBUGtCLENBT1Y7RUFDSixnQkFBZ0IsRTlDNVVBLE9BQU8sQzhDNFVrQixVQUFVLEdBQ3REOztBQ3RZTCxBQUFBLEVBQUU7QUFDRixFQUFFLENBQUM7RUFDQyxNQUFNLEVBQUUsS0FBSyxHQUNoQjs7QUFFRCxBQUFBLEVBQUUsQ0FBQztFQUNDLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQ0MsU0FBUyxFQUFFLEdBQUcsR0FDakI7O0FBRUQsQUFBQSxLQUFLLEdBQUcsS0FBSyxHQUFHLEVBQUU7QUFDbEIsS0FBSyxHQUFHLFFBQVEsR0FBRyxFQUFFO0FBQ3JCLEtBQUssR0FBRyxNQUFNLEdBQUcsRUFBRSxDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsS0FBSyxFQVFMLFdBQVcsQ0FSTDtFQUNGLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsZUFBZSxFQUFFLE1BQU0sR0FDMUI7O0FBRUQsQUFBQSxXQUFXLENBQUM7RUFFUixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULEdBQUcsRUFBRSxJQUFJLEdBQ1o7O0FBQ0QsQUFBQSxLQUFLLEVEMk9MLFVBQVUsQ0MzT0o7RUFDRixTQUFTLEVBQUUsSUFBSTtFQUNmLGVBQWUsRUFBRSx3QkFBd0IsR0FDNUM7O0FBQ0QsQUFBQSxXQUFXLENBQUM7RUFDUixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUNELEFBQUEsWUFBWSxDQUFDO0VBQ1QsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFDRCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxXQUFXLEdBQ3ZCOztBQUNELEFBQUEsYUFBYSxDQUFDO0VBQ1YsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBQ0QsQUFBQSxlQUFlLENBQUM7RUFDWixlQUFlLEVBQUUsTUFBTSxHQUMxQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE1BQU0sRUFBRSxPQUFPLEdBQ2xCOztBQUdHLE1BQU0sbUNBRFY7RUFBQSxBQUFBLFdBQVcsQ0FBQztJQUVKLFdBQVcsRUFBRSxnQkFBZ0IsR0FFcEMsRUFBQTs7QUFFRCxBQUFBLGNBQWMsQ0FBQztFQUNYLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxhQUFhLEVBQUUsSUFBSSxHQUN0Qjs7QUFFRCxBQUFBLEtBQUssR0FBRyxTQUFTO0FBQ2pCLFFBQVEsR0FBRyxTQUFTO0FBQ3BCLE1BQU0sR0FBRyxTQUFTO0FBQ2xCLEtBQUssR0FBRyxFQUFFLEdBQUcsU0FBUztBQUN0QixRQUFRLEdBQUcsRUFBRSxHQUFHLFNBQVM7QUFDekIsTUFBTSxHQUFHLEVBQUUsR0FBRyxTQUFTLENBQUM7RUFFcEIsVUFBVSxFQUFFLFNBQTJDLENBQUMsVUFBVTtFQUNsRSxhQUFhLEV0QnZFRCxNQUF5QjtFc0J3RXJDLFdBQVcsRXRCeEVDLE9BQXlCLEdzQnlFeEM7O0FBRUQsQUFBQSxTQUFTLENBQUM7RUFDTixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRS9DTnNCLE9BQU8sRytDWXJDO0VBVEQsQUFJSSxnQkFKSyxDQUlJO0lBQ0wsVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLEdBQUc7SUFDZCxNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUdMLEFBQUEsS0FBSyxHQUFHLEVBQUUsQUFBQSxVQUFVLENBQUM7RUFDakIsVUFBVSxFdEJ2RkUsUUFBeUI7RXNCd0ZyQyxhQUFhLEVBQUUsQ0FBQyxHQUtuQjtFQVBELEFBSUksS0FKQyxHQUFHLEVBQUUsQUFBQSxVQUFVLEdBSVosRUFBRSxDQUFDLFVBQVUsQ0FBQztJQUNkLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQUdMLEFBQUEsRUFBRSxBQUFBLFVBQVUsQ0FBQztFQUNULEtBQUssRWpDdkZHLE9BQU87RWlDd0ZmLFNBQVMsRUFBRSxPQUFPO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRXRCcEdNLFFBQXlCO0VzQnFHckMsVUFBVSxFQUFFLElBQUk7RUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFDSSxlQURFLENBQ1M7RUFDUCxNQUFNLEVBQUUsS0FBSztFQUNiLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGFBQWEsRUFBRSxTQUFTO0VBQ3hCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLEtBQUssRS9DeENrQixPQUFPLEcrQ3lDakM7O0FBUkwsQUFTSSxnQkFURSxDQVNVO0VBQ1IsU0FBUyxFQUFFLE1BQU0sR0FLcEI7RUFmTCxBQVlRLGdCQVpGLENBWUUsS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLFFBQVEsR0FDMUI7O0FBZFQsQUFnQkksTUFoQkUsQ0FnQkYsS0FBSyxDQUFDO0VBQ0YsY0FBYyxFQUFFLEtBQUs7RUFDckIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsU0FBUyxFQUFFLFFBQVE7RUFDbkIsS0FBSyxFL0MvRVcsT0FBTyxHK0NnRjFCOztBQUdMLEFBQUEsY0FBYyxDQUFDO0VBQ1gsU0FBUyxFQUFFLEtBQUs7RUFDaEIsTUFBTSxFQUFFLElBQUksR0FpRWY7RUFuRUQsQUFJSSxjQUpVLENBSVYsSUFBSSxDQUFDO0lBQ0QsYUFBYSxFQUFFLGdCQUFnQixHQUNsQztFQU5MLEFBUUkscUJBUlUsQ0FRRDtJQUNMLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUFmTCxBQWlCSSxxQkFqQlUsQ0FpQkQ7SUFDTCxLQUFLLEVBQUUsTUFBTTtJQUNiLE1BQU0sRUFBRSxNQUFNLEdBQ2pCO0VBcEJMLEFBc0JJLDZCQXRCVSxDQXNCTztJQUNiLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFlBQVksRUFBRSxpQkFBaUI7SUFDL0IsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLE1BQU0sRUFBRSxnQkFBZ0IsR0FLM0I7SUFIRyxNQUFNLG1CQVBWO01BdEJKLEFBc0JJLDZCQXRCVSxDQXNCTztRQVFULGFBQWEsRUFBRSxpQkFBaUIsR0FFdkMsRUFBQTtFQWhDTCxBQWtDSSxxQkFsQ1UsQ0FrQ0Q7SUFDTCxTQUFTLEVBQUUsSUFBSTtJQUNmLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRS9DekhXLE9BQU8sRytDMEgxQjtFQXZDTCxBQXlDSSw2QkF6Q1UsQ0F5Q087SUFDYixhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQTNDTCxBQTZDSSx1QkE3Q1UsQ0E2Q0M7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLEtBQUssRUFBRSxLQUFLO0lBQ1osVUFBVSxFQUFFLE1BQU0sR0FVckI7SUFSRyxNQUFNLG1CQU5WO01BN0NKLEFBNkNJLHVCQTdDVSxDQTZDQztRQU9ILGNBQWMsRUFBRSxjQUFjO1FBQzlCLFdBQVcsRUFBRSxNQUFNLEdBTTFCO1FBM0RMLEFBdURZLHVCQXZERSxDQXVERiwwQkFBMEIsQ0FBQztVQUN2QixLQUFLLEVBQUUsT0FBTyxHQUNqQixFQUVSO0VBQ0QsTUFBTSxtQkE1RFY7SUFBQSxBQUFBLGNBQWMsQ0FBQztNQTZEUCxTQUFTLEVBQUUsZ0JBQWdCLEdBTWxDO01BbkVELEFBOERRLGNBOURNLENBOEROLEtBQUssQ0FBQztRQUNGLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsU0FBUyxFQUFFLGdCQUFnQixHQUM5QixFQUVSO0FBRUQsQUFHUSxxQkFITSxDQUdOLEtBQUs7QUFGYixrQkFBVyxDQUVILEtBQUssQ0FBQztFQUNGLGFBQWEsRUFBRSxtQkFBbUI7RUFDbEMsZ0JBQWdCLEUvQ3hIZSxTQUFTO0UrQ3lIeEMsYUFBYSxFQUFFLFNBQVMsR0FDM0I7O0FBSVQsQUFDSSxpQkFETyxDQUNDO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixhQUFhLEVBQUUsU0FBUyxHQUMzQjs7QUFMTCxBQU9JLGtCQVBPLENBT0U7RUFDTCxjQUFjLEVBQUUsT0FBTyxHQUMxQjs7QUFUTCxBQVdJLDZCQVhPLENBV2E7RUFDaEIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUscUJBQXFCLEdBQ2hDOztBQWhCTCxBQWtCSSwwQkFsQk8sQ0FrQlU7RUFDYixLQUFLLEVBQUUsVUFBVTtFQUNqQixNQUFNLEVBQUUsb0JBQW9CO0VBQzVCLGFBQWEsRUFBRSxnQkFBZ0I7RUFDL0IsTUFBTSxFQUFFLGdCQUFnQixHQUMzQjs7QUF2QkwsQUF5QkksMkJBekJPLENBeUJXO0VBQ2QsS0FBSyxFL0MvT1EsT0FBTztFK0NnUHBCLFdBQVcsRUFBRSx1QkFBdUIsR0FDdkM7O0FBNUJMLEFBNkJJLDJCQTdCTyxDQTZCVyxLQUFLLENBQUM7RUFDcEIsS0FBSyxFL0NuUFEsT0FBTyxDK0NtUEMsVUFBVSxHQUNsQzs7QUEvQkwsQUFpQ0ksMEJBakNPLENBaUNVO0VBQ2IsS0FBSyxFQUFFLE9BQU87RUFDZCxNQUFNLEVBQUUsT0FBTztFQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0NsSkwsT0FBTztFK0NtSm5CLGFBQWEsRUFBRSxTQUFTO0VBQ3hCLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsTUFBTTtFQUN2QixXQUFXLEVBQUUsTUFBTSxHQTRCdEI7RUFyRUwsQUEyQ1EsMEJBM0NHLENBMkNILElBQUksQ0FBQztJQUNELFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRS9DdkpHLE9BQU8sRytDMkpsQjtJQWpEVCxBQThDWSwwQkE5Q0QsQ0EyQ0gsSUFBSSxDQUdBLElBQUksQ0FBQztNQUNELGNBQWMsRUFBRSxVQUFVLEdBQzdCO0VBaERiLEFBa0RRLDBCQWxERyxDQWtESCxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ0EsVUFBVSxFQUFFLHdHQU1QLENBQ0QsR0FBRyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxVQUFVO0lBQzFDLHVCQUF1QixFQUFFLGVBQWU7SUFDeEMsZUFBZSxFQUFFLGVBQWU7SUFDaEMsS0FBSyxFQUFFLHNCQUFzQjtJQUM3Qix1QkFBdUIsRUFBRSxzQkFBc0I7SUFDL0MsU0FBUyxFQUFFLGVBQWUsR0FDN0I7RUFoRVQsQUFrRVEsbUNBbEVHLENBa0VRO0lBQ1AsT0FBTyxFQUFFLFFBQVEsR0FDcEI7O0FBSVQsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxhQUFhO0VBQzlCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLFFBQVEsR0F1Q3BCO0VBN0NELEFBUUkseUJBUmlCLENBUVg7SUFDRixNQUFNLEVBQUUseUJBQXlCO0lBQ2pDLEtBQUssRUFBRSxHQUFHLEdBQ2I7RUFYTCxBQWFJLHFCQWJpQixDQWFqQixHQUFHLENBQUM7SUFDQSxLQUFLLEVBQUUsU0FBUztJQUNoQixNQUFNLEVBQUUsU0FBUyxHQUNwQjtFQWhCTCxBQWtCSSw2QkFsQmlCLENBa0JQO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixXQUFXLEVBQUUsTUFBTSxHQXVCdEI7SUE1Q0wsQUF1QlEsNkJBdkJhLENBdUJiLElBQUksQ0FBQztNQUNELEtBQUssRS9DblFPLE9BQU87TStDb1FuQixXQUFXLEVBQUUsdUJBQXVCO01BQ3BDLGFBQWEsRUFBRSxPQUFPLEdBQ3pCO0lBM0JULEFBNkJRLDZCQTdCYSxDQTZCYixDQUFDLENBQUM7TUFDRSxNQUFNLEVBQUUsUUFBUSxDQUFDLEtBQUssQy9DelFWLE9BQU87TStDMFFuQixnQkFBZ0IsRUFBRSxLQUFLO01BQ3ZCLEtBQUssRS9DM1FPLE9BQU87TStDNFFuQixNQUFNLEVBQUUsU0FBUztNQUNqQixXQUFXLEVBQUUsU0FBUztNQUN0QixLQUFLLEVBQUUsS0FBSztNQUNaLGFBQWEsRUFBRSxTQUFTO01BQ3hCLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0lBdENULEFBd0NRLDZCQXhDYSxDQXdDYixDQUFDLENBQUMsS0FBSyxDQUFDO01BQ0osZ0JBQWdCLEVBQUUsZ0JBQWdCO01BQ2xDLEtBQUssRS9DclJPLE9BQU8sQytDcVJXLFVBQVUsR0FDM0M7O0FBS1QsQUFBQSxNQUFNLEUrRS9UTixxQkFBcUIsQ0FpRGpCLFFBQVEsRUFBRSxXQUFXLEUvRUl6QixLQUFLLEdBQUcsU0FBUztBQUNqQixRQUFRLEdBQUcsU0FBUztBQUNwQixNQUFNLEdBQUcsU0FBUztBQUNsQixLQUFLLEdBQUcsRUFBRSxHQUFHLFNBQVM7QUFDdEIsUUFBUSxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ3pCLE1BQU0sR0FBRyxFQUFFLEdBQUcsU0FBUztBQXNRdkIsUUFBUTtBQUNSLEtBQUs7QUFDTCxLQUFLLENBQUM7RUFDRixTQUFTLEVBQUUsZ0JBQWdCO0VBQzNCLFdBQVcsRUFBRSxnQkFBZ0IsR0FDaEM7O0FBQ0QsQUFBQSxLQUFLLENBQUEsR0FBSyxDQUFBLE9BQU8sRUFBRTtFQUNmLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDL0NyVkEsT0FBTztFK0NzVnhCLGFBQWEsRUFBRSxTQUFTLEdBQzNCOztBQUNELEFBQUEsTUFBTSxFK0UxVU4scUJBQXFCLENBaURqQixRQUFRLEVBQUUsV0FBVyxFL0VJekIsS0FBSyxHQUFHLFNBQVM7QUFDakIsUUFBUSxHQUFHLFNBQVM7QUFDcEIsTUFBTSxHQUFHLFNBQVM7QUFDbEIsS0FBSyxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ3RCLFFBQVEsR0FBRyxFQUFFLEdBQUcsU0FBUztBQUN6QixNQUFNLEdBQUcsRUFBRSxHQUFHLFNBQVMsQ0FnUmhCO0VBQ0gsTUFBTSxFQUFFLGdCQUFnQjtFQUN4QixVQUFVLEVBQUUsZ0JBQWdCLEdBQy9COztBQUVELEFBQUEsYUFBYSxFUy9WYixNQUFNLENUK1ZRO0VBQ1YscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsZ0JBR3hEO0VBQ0wsT0FBTyxFQUFFLElBQUksR0FtQmhCO0VBeEJELEFBT0ksYUFQUyxHQU9MLENBQUMsRVN0V1QsTUFBTSxHVHNXRSxDQUFDLENBQUM7SUFDRixXQUFXLEVBQUUsQ0FBQyxHQUNqQjtFQVRMLEFBV0ksc0JBWFMsRVMvVmIsTUFBTSxDVDBXUztJQUNQLE9BQU8sRUFBRSxVQUFVLEdBQ3RCO0VBQ0QsTUFBTSxtQ0FDRjtJQWZSLEFBZVEsYUFmSyxFUy9WYixNQUFNLENUOFdJO01BQ0UscUJBQXFCLEVBQUUsVUFBVTtNQUNqQyxrQkFBa0IsRUFBRSxTQUFTLEdBQ2hDO0lBbEJULEFBb0JRLHNCQXBCSyxFUy9WYixNQUFNLENUbVhhO01BQ1AsT0FBTyxFQUFFLFVBQVUsR0FDdEIsRUFKQTtBQVFULEFBQUEsYUFBYSxDQUFDO0VBQ1YsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFBQSxPQUFPLEU2RWxWUCxlQUFlLEM3RWtWUDtFQUNKLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQy9DOVhBLE9BQU87RStDK1h4QixtQkFBbUIsRUFBRSxXQUFXO0VBQ2hDLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsVUFBVSxFQUFFLFVBQVU7RUFDdEIsU0FBUyxFQUFFLDJCQUEyQjtFQUN0QyxVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFFRCxBQUFBLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBRUQsQUFBQSxLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUsZ0JBQWdCO0VBQ3pCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBRUQsQUFBQSxhQUFhLENBQUMsT0FBTyxFQUFyQixhQUFhLEM2RXhXYixlQUFlLEM3RXdXTztFQUNsQixPQUFPLEVBQUUsTUFBTSxHQUNsQjs7QUFDRCxBQUFBLGFBQWEsQUFBQSxPQUFPLEVBQXBCLGFBQWEsQTZFM1diLGVBQWUsQzdFMldNO0VBQ2pCLE9BQU8sRUFBRSxNQUFNLEdBQ2xCOztBQUVELFVBQVUsQ0FBVixRQUFVO0VBQ04sRUFBRTtJQUNFLFNBQVMsRUFBRSxZQUFZO0VBRTNCLElBQUk7SUFDQSxTQUFTLEVBQUUsY0FBYzs7QUFJakMsTUFBTSxtQkFFRTtFQURKLEFBQ0ksZUFERSxDQUNTO0lBQ1AsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUFITCxBQU1RLGdCQU5GLENBTUUsS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLFFBQVEsR0FDMUI7RUFJVCxBQUNJLHFCQURVLENBQ0Q7SUFDTCxXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsTUFBTTtJQUN0QixhQUFhLEVBQUUsQ0FBQztJQUNoQixVQUFVLEVBQUUsQ0FBQyxHQUtoQjtJQVZMLEFBT1EscUJBUE0sQ0FPTixFQUFFLENBQUM7TUFDQyxNQUFNLEVBQUUsbUJBQW1CLEdBQzlCO0VBVFQsQUFZSSxxQkFaVSxDQVlEO0lBQ0wsS0FBSyxFQUFFLFVBQVU7SUFDakIsTUFBTSxFQUFFLE9BQU87SUFDZixhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQUdMLEFBQUEscUJBQXFCLENBQUM7SUFDbEIsY0FBYyxFQUFFLE1BQU0sR0FZekI7SUFiRCxBQUdJLHlCQUhpQixDQUdYO01BQ0YsS0FBSyxFQUFFLElBQUk7TUFDWCxPQUFPLEVBQUUsUUFBUSxHQUNwQjtJQU5MLEFBU1EsNkJBVGEsQ0FTYixJQUFJLENBQUM7TUFDRCxVQUFVLEVBQUUsT0FBTyxHQUN0QjtFQUlULEFBQ0ksa0JBRE8sQ0FDRSxZQUFZLENBQUM7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FDdEI7RUFITCxBQUtJLDZCQUxPLENBS2E7SUFDaEIsY0FBYyxFQUFFLE1BQU07SUFDdEIsT0FBTyxFQUFFLE9BQU87SUFDaEIsYUFBYSxFQUFFLEtBQUssR0FDdkI7RUFUTCxBQVdJLGtCQVhPLENBV0U7SUFDTCxVQUFVLEVBQUUsaUJBQWlCLEdBQ2hDO0VBYkwsQUFlSSwwQkFmTyxDQWVVO0lBQ2IsS0FBSyxFQUFFLElBQUksR0FDZDtFQWpCTCxBQW1CSSwyQkFuQk8sQ0FtQlc7SUFDZCxhQUFhLEVBQUUsU0FBUyxHQUMzQjtFQXJCTCxBQXVCSSwwQkF2Qk8sQ0F1QlU7SUFDYixhQUFhLEVBQUUsaUJBQWlCLEdBQ25DLEVBcEVBOztBQXdFVCxNQUFNLDBDQUVFO0VBREosQUFDSSxlQURFLENBQ1M7SUFDUCxNQUFNLEVBQUUsT0FBTyxHQUNsQjtFQUhMLEFBTVEsZ0JBTkYsQ0FNRSxLQUFLLENBQUM7SUFDRixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQUdULEFBQ0kscUJBRFUsQ0FDRDtJQUNMLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLFVBQVUsRUFBRSxDQUFDLEdBS2hCO0lBVkwsQUFPUSxxQkFQTSxDQU9OLEVBQUUsQ0FBQztNQUNDLE1BQU0sRUFBRSxtQkFBbUIsR0FDOUI7RUFUVCxBQVdJLHFCQVhVLENBV0Q7SUFDTCxLQUFLLEVBQUUsVUFBVTtJQUNqQixNQUFNLEVBQUUsT0FBTztJQUNmLGFBQWEsRUFBRSxPQUFPLEdBQ3pCO0VBZkwsQUFrQlEsNkJBbEJNLENBa0JOLEtBQUssQ0FBQztJQUNGLGFBQWEsRUFBRSxRQUFRLEdBQzFCO0VBcEJULEFBdUJJLHVCQXZCVSxDQXVCQztJQUNQLGNBQWMsRUFBRSxjQUFjO0lBQzlCLFdBQVcsRUFBRSxNQUFNLEdBS3RCO0lBOUJMLEFBMkJRLHVCQTNCTSxDQTJCTiwwQkFBMEIsQ0FBQztNQUN2QixLQUFLLEVBQUUsT0FBTyxHQUNqQjtFQTdCVCxBQWdDSSw2QkFoQ1UsQ0FnQ087SUFDYixhQUFhLEVBQUUsaUJBQWlCLEdBQ25DO0VBR0wsQUFBQSxxQkFBcUIsQ0FBQztJQUNsQixjQUFjLEVBQUUsTUFBTSxHQVl6QjtJQWJELEFBR0kseUJBSGlCLENBR1g7TUFDRixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxRQUFRLEdBQ3BCO0lBTkwsQUFTUSw2QkFUYSxDQVNiLElBQUksQ0FBQztNQUNELFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBSVQsQUFDSSxrQkFETyxDQUNFLFlBQVksQ0FBQztJQUNsQixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQUhMLEFBS0ksNkJBTE8sQ0FLYTtJQUNoQixjQUFjLEVBQUUsTUFBTTtJQUN0QixPQUFPLEVBQUUsT0FBTztJQUNoQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtFQVRMLEFBV0ksa0JBWE8sQ0FXRTtJQUNMLFVBQVUsRUFBRSxpQkFBaUIsR0FDaEM7RUFiTCxBQWVJLDBCQWZPLENBZVU7SUFDYixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBakJMLEFBbUJJLDJCQW5CTyxDQW1CVztJQUNkLGFBQWEsRUFBRSxTQUFTLEdBQzNCO0VBckJMLEFBdUJJLDBCQXZCTyxDQXVCVTtJQUNiLGFBQWEsRUFBRSxpQkFBaUIsR0FDbkMsRUFyRkE7O0FGdmZULEFBQUEsRUFBRTtBQUNGLEVBQUU7QUFDRixFQUFFO0FBQ0YsQ0FBQztBQUNELElBQUksQ0FBQztFQUNELGNBQWMsRUFBRSxHQUFHLEdBQ3RCOztBQUVELEFBQUEsRUFBRSxDQUFDO0VBQ0MsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBRUQsQUFBQSxFQUFFLENBQUM7RUFDQyxLQUFLLEU3Q0xjLE9BQU8sRzZDTTdCOztBQUVELEFBQUEsS0FBSyxDQUFDO0VBQ0YsYUFBYSxFQUFFLGdCQUFnQixHQUNsQzs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUlWLE1BQU0sRUFBRSxjQUFjLEdBQ3pCO0VBTEQsQUFDSSxhQURTLENBQ1QsQ0FBQyxDQUFDO0lBQ0UsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBSUwsQUFBQSxNQUFNLENBQUM7RUFDSCxPQUFPLEVBQUUsZUFBZTtFM0JLaEIsT0FBSyxFTUpjLE1BQXlCO0VOSTVDLFVBQUssRW1COEhRLGdFQUEyRTtFbkI5SHhGLFdBQUssRVdBYyxHQUFHO0VnQkg5QixnQkFBZ0IsRTdDdEJHLE9BQU87RTZDdUIxQixLQUFLLEU3Q1FLLEtBQUs7RTZDUGYsV0FBVyxFQUFFLGVBQWU7RUFDNUIsT0FBTyxFQUFFLEtBQUssR0F1QmpCO0VBN0JELEFBUUksWUFSRSxDQVFNO0kzQkZBLEtBQUssRWxCM0JJLE9BQU87SWtCMkJoQixnQkFBSyxFbEJNSCxLQUFLO0k2Q0RYLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBbEJMLEFBb0JRLGVBcEJGLEdBb0JJLENBQUMsQ0FBQztJQUNBLE1BQU0sRUFBRSxZQUFZLEdBQ3ZCO0VBdEJULEFBdUJRLGVBdkJGLENBdUJFLElBQUksQ0FBQztJM0JqQkQsU0FBSyxFUzJGRSxRQUErQjtJVDNGdEMsV0FBSyxFV0NTLEdBQUc7SVhEakIsS0FBSyxFbEIzQkksT0FBTztJNkM4Q2hCLEtBQUssRTdDYkgsS0FBSyxDNkNhYSxVQUFVO0lBQzlCLFdBQVcsRUFBRSxTQUFTLEdBQ3pCO0kzQjlCTyxNQUFNLDhCMkIwQmQ7TUF2QlIsQUF1QlEsZUF2QkYsQ0F1QkUsSUFBSSxDQUFDO1EzQmpCRCxTQUFLLEVTMkZFLFFBQStCLEdrQnRFekMsRUFBQTtJM0I5Qk8sTUFBTSw4QjJCMEJkO01BdkJSLEFBdUJRLGVBdkJGLENBdUJFLElBQUksQ0FBQztRM0JqQkQsU0FBSyxFUzJGRSxRQUErQixHa0J0RXpDLEVBQUE7STNCOUJPLE1BQU0sOEIyQjBCZDtNQXZCUixBQXVCUSxlQXZCRixDQXVCRSxJQUFJLENBQUM7UTNCakJELFNBQUssRVMyRkUsU0FBK0IsR2tCdEV6QyxFQUFBO0FBR1QsQUFBQSxZQUFZLENBQUM7RUFDVCxPQUFPLEVBQUUsZUFBZSxHQUMzQjs7QVM5REQsQUFBQSxPQUFPLENBQUM7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ1osTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixhQUFhLEVBQUUsR0FBRztFQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3REc0ZLLE9BQU87RXNEckY3QixLQUFLLEV0RHFGaUIsT0FBTztFc0RwRjdCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxJQUFJLEdBYWY7RUFuQkQsQUFRSSx5QkFSVyxDQVFDO0lBQ1IsS0FBSyxFQUFFLEtBQUs7SUFDWixTQUFTLEVBQUUsS0FBSztJQUNoQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtFQVpMLEFBY0kseUJBZFcsQ0FjQztJQUNSLEtBQUssRUFBRSxLQUFLO0lBQ1osU0FBUyxFQUFFLEtBQUs7SUFDaEIsYUFBYSxFQUFFLEtBQUssR0FDdkI7O0FBR0wsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFdER3RHNCLE9BQU87RXNEdkRsQyxXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLEtBQUssRUFBRSxJQUFJO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixhQUFhLEVBQUUsS0FBSyxHQUN2Qjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJLEdBU2hCO0VBVkQsQUFFSSxhQUZTLENBRVQsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFdEQwQ2EsT0FBTztJc0R6Q3pCLE1BQU0sRUFBRSxLQUFLLEdBQ2hCO0VBTEwsQUFNSSxhQU5TLENBTVQsV0FBVyxDQUFDO0lBQ1IsUUFBUSxFQUFFLFFBQVE7SUFDbEIsR0FBRyxFQUFFLE9BQU8sR0FDZjs7QUFHTCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLFFBQVE7RUFDbEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU0sR0FnQnRCO0VBcEJELEFBS0ksY0FMVSxDQUtWLEtBQUssQ0FBQztJQUNGLFlBQVksRUFBRSxNQUFNO0lBQ3BCLE1BQU0sRUFBRSxLQUFLLEdBQ2hCO0VBUkwsQUFVUSxvQkFWTSxDQVVOLEtBQUssQ0FBQztJQUNGLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxJQUFJO0lBQ1osTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN0RHdCRyxPQUFPO0lzRHZCM0IsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFmVCxBQWdCUSxvQkFoQk0sQ0FnQk4sQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFdERvQmUsT0FBTyxHc0RuQjlCOztBQUlULEFBQUEsY0FBYyxDQUFDO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFdERTaUIsT0FBTztFc0RSN0IsTUFBTSxFQUFFLGlCQUFpQixHQUM1Qjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLEtBQUssRXREY2lCLE9BQU8sQ3NEZEcsVUFBVSxHQUM3Qzs7QUFFRCxNQUFNLG1CQUNGO0VBQUEsQUFBQSxjQUFjLENBQUM7SUFDWCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQUVELEFBQUEsT0FBTyxDQUFDO0lBQ0osT0FBTyxFQUFFLEtBQUssR0FDakI7RUFFRCxBQUFBLGtCQUFrQixDQUFDO0lBQ2YsYUFBYSxFQUFFLE1BQU0sR0FDeEIsRUFSQTs7QTJDdEZMOzsrRUFFK0U7QUNGL0U7O2tFQUVrRTtBREZsRTs7K0VBRStFO0F6Q0svRSxBQUFBLE1BQU0sQ0FBQztFQUdILFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLE1BQU0sR0E4Q2xCO0VBbERELEFBTUksTUFORSxDQU1GLEtBQUssQ0FBQztJQUNGLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLEtBQUssRXhEd0JDLElBQUksR3dEdkJiO0VBVEwsQUFVSSxNQVZFLENBVUYsS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLE1BQU0sR0FDeEI7RUFaTCxBQWFJLE1BYkUsQ0FhRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEdBQWUsS0FBSyxDQUFDO0lBQ3ZCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsS0FBSyxFQUFFLEtBQUssR0FDZjtFQWhCTCxBQWlCSSxNQWpCRSxDQWlCRixNQUFNLENBQUM7SUFDSCxhQUFhLEVBQUUsTUFBTSxHQUN4QjtFQW5CTCxBQW9CSSxNQXBCRSxDQW9CRixHQUFHLEVBcEJQLE1BQU0sQ1ZXTixNQUFNLEVVWE4sTUFBTSxDVmVOLGdCQUFnQixDQUVaLEVBQUUsRUFGTixnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCRixFQUFFLEVVakJOLE1BQU0sQ1ZlTixnQkFBZ0IsQ0FFUixFQUFFLEVBRlYsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQkUsRUFBRSxFVWpCVixNQUFNLENWZU4sZ0JBQWdCLENBRUosRUFBRSxFQUZkLGdCQUFnQixDVWZoQixNQUFNLENWaUJNLEVBQUUsRVVqQmQsTUFBTSxDVmVOLGdCQUFnQixDQUVBLEVBQUUsRUFGbEIsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQlUsRUFBRSxFVWpCbEIsTUFBTSxDVmVOLGdCQUFnQixDQUVJLEVBQUUsRUFGdEIsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQmMsRUFBRSxFVWpCdEIsTUFBTSxDVmVOLGdCQUFnQixDQUVRLEVBQUUsRUFGMUIsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQmtCLEVBQUUsRVVqQjFCLE1BQU0sQ1ZlTixnQkFBZ0IsQ0FFWSxHQUFHLEVBRi9CLGdCQUFnQixDVWZoQixNQUFNLENWaUJzQixHQUFHLEVVakIvQixNQUFNLENWZU4sZ0JBQWdCLENBRTJCLEdBQUcsRUFGOUMsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQnFDLEdBQUcsRVVqQjlDLE1BQU0sQ1ZlTixnQkFBZ0IsQ0FFZ0MsR0FBRyxFQUZuRCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCMEMsR0FBRyxFVWpCbkQsTUFBTSxDVmVOLGdCQUFnQixDQUVxQyxHQUFHLEVBRnhELGdCQUFnQixDVWZoQixNQUFNLENWaUIrQyxHQUFHLEVVakJ4RCxNQUFNLENBb0JHLEdBQUcsQ0FBQztJQUNMLE1BQU0sRUFBRSxLQUFLLEdBS2hCO0lBMUJMLEFBc0JRLE1BdEJGLENBb0JGLEdBQUcsQ0FFQyxDQUFDLEVBdEJULE1BQU0sQ1ZXTixNQUFNLENVV0UsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRVosRUFBRSxDVUtFLENBQUMsRVZQVCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCRixFQUFFLENVS0UsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRVIsRUFBRSxDVUtGLENBQUMsRVZQVCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCRSxFQUFFLENVS0YsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRUosRUFBRSxDVUtOLENBQUMsRVZQVCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCTSxFQUFFLENVS04sQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRUEsRUFBRSxDVUtWLENBQUMsRVZQVCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCVSxFQUFFLENVS1YsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRUksRUFBRSxDVUtkLENBQUMsRVZQVCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCYyxFQUFFLENVS2QsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRVEsRUFBRSxDVUtsQixDQUFDLEVWUFQsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQmtCLEVBQUUsQ1VLbEIsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRVksR0FBRyxDVUt2QixDQUFDLEVWUFQsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQnNCLEdBQUcsQ1VLdkIsQ0FBQyxFQXRCVCxNQUFNLENWZU4sZ0JBQWdCLENBRTJCLEdBQUcsQ1VLdEMsQ0FBQyxFVlBULGdCQUFnQixDVWZoQixNQUFNLENWaUJxQyxHQUFHLENVS3RDLENBQUMsRUF0QlQsTUFBTSxDVmVOLGdCQUFnQixDQUVnQyxHQUFHLENVSzNDLENBQUMsRVZQVCxnQkFBZ0IsQ1VmaEIsTUFBTSxDVmlCMEMsR0FBRyxDVUszQyxDQUFDLEVBdEJULE1BQU0sQ1ZlTixnQkFBZ0IsQ0FFcUMsR0FBRyxDVUtoRCxDQUFDLEVWUFQsZ0JBQWdCLENVZmhCLE1BQU0sQ1ZpQitDLEdBQUcsQ1VLaEQsQ0FBQyxFQXRCVCxNQUFNLENBb0JHLEdBQUcsQ0FFSixDQUFDLENBQUM7TUFDRSxLQUFLLEV4RHVFRSxPQUFPO013RHRFZCxlQUFlLEVBQUMsU0FBUyxHQUM1QjtFQXpCVCxBQTRCSSxNQTVCRSxDQTRCRixHQUFHLENBQUM7SUFDQSxLQUFLLEV4REdDLElBQUksR3dERmI7RUE5QkwsQUFnQ0ksMkJBaENFLENBZ0NxQjtJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSSxHQUNyQjtFQW5DTCxBQXFDSSxZQXJDRSxDQXFDTTtJQUNKLGFBQWEsRUFBRSxNQUFNLEdBSXhCO0lBMUNMLEFBdUNRLFlBdkNGLENBdUNFLElBQUksQ0FBQztNQUNELFdBQVcsRUFBRSxHQUFHLEdBQ25CO0VBekNULEFBMkNJLFlBM0NFLENBMkNNLEVBQUUsQ0FBQyxDQUFDLENBQUM7SUFDVCxlQUFlLEVBQUUsU0FBUyxHQUM3QjtFQTdDTCxBQStDSSxZQS9DRSxDQStDTSxFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ2xCLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUdMLEFBQUEsY0FBYztBQUNkLGdCQUFnQixDQUFDO0VBQ2IsWUFBWSxFQUFFLEdBQUc7RUFDakIsWUFBWSxFeEQwQmdCLE9BQU87RXdEekJuQyxhQUFhLEVBQUUsSUFBSTtFQUNuQixPQUFPLEVBQUUsR0FBRyxHQUNmOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFDYixZQUFZLEVBQUUsS0FBSyxHQUN0Qjs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxNQUFNO0FBQ3JCLGdCQUFnQixDQUFDLE1BQU0sQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFDRCxBQUFBLGNBQWMsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVc7QUFDckMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7RUFDcEMsU0FBUyxFQUFFLENBQUM7RUFDWixLQUFLLEV4RFV1QixPQUFPO0V3RFRuQyxXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFFRCxBQUFBLGNBQWMsQ0FBQyxjQUFjLENBQUM7RUFDMUIsUUFBUSxFQUFFLE1BQU07RUFDaEIsVUFBVSxFQUFFLGVBQWUsR0FDOUI7O0FBRUQsVUFBVSxDQUFWLE1BQVU7RUFDTixJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFFZCxFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7O0FBR2xCLGVBQWUsQ0FBZixNQUFlO0VBQ1gsSUFBSTtJQUNBLE9BQU8sRUFBRSxDQUFDO0VBRWQsRUFBRTtJQUNFLE9BQU8sRUFBRSxDQUFDOztBQUlsQixrQkFBa0IsQ0FBbEIsTUFBa0I7RUFDZCxJQUFJO0lBQ0EsT0FBTyxFQUFFLENBQUM7RUFFZCxFQUFFO0lBQ0UsT0FBTyxFQUFFLENBQUM7O0FBS2xCLE1BQU0sbUJBQ0Y7RUFBQSxBQUFBLE1BQU0sQ0FBQztJQUNILFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2YsRUFBQTs7QUFHTCxNQUFNLG1CQUNGO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDVixTQUFTLEVBQUUsQ0FBQyxHQUNmO0VBQ0QsQUFBQSxZQUFZLENBQUM7SUFDVCxTQUFTLEVBQUUsQ0FBQyxHQUNmLEVBSEE7O0FBTUwsTUFBTSwyQ0FDRjtFQUFBLEFBQUEsYUFBYSxDQUFDO0lBQ1YsS0FBSyxFQUFFLGdCQUFnQixHQUMxQixFQUFBOztBQUdMLE1BQU0sb0JBQ0Y7RUFBQSxBQUFBLGFBQWEsQ0FBQztJQUNWLFNBQVMsRUFBRSxDQUFDLEdBQ2YsRUFBQTs7QUFHTCxNQUFNLG9CQUNGO0VBQUEsQUFBQSxrQkFBa0IsQ0FBQztJQUNmLEtBQUssRUFBRSxlQUFlLEdBQ3pCLEVBQUE7O0FBR0wsd0JBQXdCO0FBQ3hCLE1BQU0sOEJBQ0Y7RUFBQSxBQUFBLE9BQU8sQ0FBQztJQUNKLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxhQUFhLEVBQUUsSUFBSSxHQUN0QixFQUFBOztBMkMxSkwsQUFBQSxRQUFRLENBQUM7RUFDTCxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7RUFDNUMsY0FBYyxFQUFFLE1BQU07RUFDdEIsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsdUJBQXVCO0VBQ25DLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxnQkFBZ0I7RUFDekIsT0FBTyxFQUFFLElBQUk7RUFDYixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0VBQzNDLFNBQVMsRUFBRSxLQUFLLEdBSW5CO0VBWEQsQUFRSSxVQVJNLENBUU4sQ0FBQyxDQUFDO0lBQ0UsU0FBUyxFQUFDLE9BQU8sR0FDcEI7O0FBR0wsQUFFSSx1QkFGbUIsQ0FFbkIsUUFBUTtBQURaLGlCQUFpQixDQUNiLFFBQVEsQ0FBQztFQUNMLE9BQU8sRUFBRSxNQUFNLEdBQ2xCOztBQUpMLEFBS0ksdUJBTG1CLENBS25CLFFBQVEsQ0FBQyxZQUFZO0FBSnpCLGlCQUFpQixDQUliLFFBQVEsQ0FBQyxZQUFZLENBQUM7RUFDbEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixnQkFBZ0IsRUFBRSxLQUFLO0VBQ3ZCLE9BQU8sRUFBRSxHQUFHO0VBQ1osS0FBSyxFbkdhQyxLQUFLO0VtR1pYLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsVUFBVSxFQUFFLElBQUk7RUFDaEIsU0FBUyxFQUFFLEtBQUs7RUFFaEIsMEJBQTBCO0VBQzFCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7O0FBcEJMLEFBc0JJLHVCQXRCbUIsQ0FzQm5CLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWTtBQXJCL0IsaUJBQWlCLENBcUJiLFFBQVEsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0VBQ3hCLFVBQVUsRUFBRSxPQUFPLEdBQ3RCOztBQXhCTCxBQTBCSSx1QkExQm1CLENBMEJuQixLQUFLO0FBekJULGlCQUFpQixDQXlCYixLQUFLLENBQUM7RUFDRixPQUFPLEVBQUUsWUFBWTtFQUNyQixnQkFBZ0IsRUFBRSxTQUFTO0VBQzNCLE9BQU8sRUFBRSxTQUFTO0VBQ2xCLGFBQWEsRUFBRSxJQUFJO0VBQ25CLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENuR3FDTyxPQUFPO0VtR3BDL0IsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBbENMLEFBb0NJLHVCQXBDbUIsQ0FvQ25CLEtBQUssQ0FBQyxLQUFLO0FBbkNmLGlCQUFpQixDQW1DYixLQUFLLENBQUMsS0FBSyxDQUFDO0VBQ1IsZ0JBQWdCLEVuR3ZCQSxPQUFPLEdtR3dCMUI7O0FBdENMLEFBd0NJLHVCQXhDbUIsQ0F3Q25CLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYyxPQUFPLEdBQUcsS0FBSztBQXZDdkMsaUJBQWlCLENBdUNiLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVosRUFBYyxPQUFPLEdBQUcsS0FBSyxDQUFDO0VBQ2hDLGdCQUFnQixFbkd6QkksT0FBTztFbUcwQjNCLEtBQUssRW5HdEJDLElBQUksR21HdUJiOztBQTNDTCxBQTZDSSx1QkE3Q21CLENBNkNuQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWMsS0FBSyxHQUFHLEtBQUs7QUE1Q3JDLGlCQUFpQixDQTRDYixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaLEVBQWMsS0FBSyxHQUFHLEtBQUssQ0FBQztFQUM5QixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ25HOUJFLE9BQU8sR21HK0I5Qjs7QUEvQ0wsQUFnREksdUJBaERtQixDQWdEbkIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtBQS9DVixpQkFBaUIsQ0ErQ2IsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0VBQ2hCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsUUFBUSxFQUFFLEtBQUs7RUFDZixLQUFLLEVBQUUsQ0FBQyxHQUNYOztBQXBETCxBQXFESSx1QkFyRG1CLENBcURuQixFQUFFO0FBcEROLGlCQUFpQixDQW9EYixFQUFFLENBQUM7RUFDQyxPQUFPLEVBQUUsWUFBWTtFQUNyQixZQUFZLEVBQUUsTUFBTSxHQUN2Qjs7QUFHTCxBQUFBLGFBQWEsQ0FBQztFQUNWLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE9BQU8sRUFBRSxZQUFZO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxNQUFNO0VBQ1gsTUFBTSxFQUFFLE1BQU07RUFDZCxLQUFLLEVBQUUsTUFBTSxHQUNoQjs7QUFFRCxxQ0FBcUM7QUFDckMsQUFBQSxPQUFPLENBQUM7RUFDSixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FBRUQsb0NBQW9DO0FBQ3BDLEFBQUEsSUFBSSxDQUFDLEtBQUssRXJENURWLEtBQUssQ3FENERBLEtBQUssRXJENURILFdBQVcsQ3FENERiLEtBQUssRXJEa0xWLFVBQVUsQ3FEbExMLEtBQUssQ0FBQztFQUNQLE9BQU8sRUFBRSxFQUFFO0VBQ1gsT0FBTyxFQUFFLEtBQUs7RUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixTQUFTLEVBQUUsSUFBSTtFQUNmLEdBQUcsRUFBRSxRQUFRO0VBQ2IsV0FBVyxFQUFFLEtBQUs7RUFDbEIsTUFBTSxFQUFFLGNBQWMsR0FDekI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE1BQU0sRUFBRSxPQUFPLEdBSWxCO0VBTEQsQUFFSSxpQkFGYSxDQUViLEdBQUcsQ0FBQztJQUNBLE1BQU0sRUFBRSxRQUFRLEdBQ25COztBQUdMLEFBQUEsZUFBZSxDQUFDO0VBQ1osS0FBSyxFQUFFLEtBQUs7RUFDWixVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsSUFBSTtFQUNmLGdCQUFnQixFbkdoQ08sS0FBSztFbUdpQzVCLEtBQUssRW5HaEZLLEtBQUs7RW1HaUZmLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRUFBRSxhQUFhO0VBQ3pCLGdCQUFnQixFQUFFLElBQUk7RUFDdEIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLFVBQVUsRUFBRSxrQkFBa0IsR0FDakM7O0FBRUQsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUNELEFBQUEsS0FBSyxDQUFDO0VBQ0YsT0FBTyxFQUFFLGVBQWU7RUFDeEIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFDRCxBQUFBLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBRSxnQkFBZ0I7RUFDekIsT0FBTyxFQUFFLENBQUMsR0FDYjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUMxQ0ssT0FBTztFMEMyQzdCLFlBQVksRUFBRSxHQUFHO0VBQ2pCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ25HcEJQLG1CQUFtQjtFbUdxQm5DLE1BQU0sRUFBRSxVQUFVO0VBQ2xCLFNBQVMsRUFBRSxLQUFLO0VBQ2hCLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLElBQUk7RUFDaEIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsUUFBUSxFQUFFLElBQUksR0FNakI7RUFoQkQsQUFZSSxxQkFaaUIsQ0FZakIsTUFBTSxDQUFDO0lBQ0gsV0FBVyxFQUFFLFdBQVc7SUFDeEIsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBSUwsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixNQUFNLEVBQUUsVUFBVTtFQUNsQixPQUFPLEVBQUUsVUFBVSxHQVl0QjtFQWRELEFBSUksbUJBSmUsQ0FJZixZQUFZLENBQUM7SUFDVCxLQUFLLEVuR3RJbUIsa0JBQWtCO0ltR3VJMUMsU0FBUyxFQUFFLFFBQVE7SUFDbkIsTUFBTSxFQUFFLHNCQUFzQixHQUNqQztFQVJMLEFBVUksbUJBVmUsQ0FVZixDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUseUJBQXlCO0lBQ2pDLFNBQVMsRUFBRSxLQUFLLEdBQ25COztBQUdMLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVuR3RKSyxJQUFJLEdtR3VKakI7O0FBRUQsQUFBQSxnQkFBZ0IsQ0FBQztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsTUFBTSxFQUFFLGFBQWEsR0FpQnhCO0VBbkJELEFBS1Esb0JBTFEsQ0FLUixHQUFHLENBQUM7SUFDQSxLQUFLLEVBQUUsSUFBSSxHQUNkO0VBUFQsQUFVSSx3QkFWWSxDQVVGO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsZ0JBQWdCLEdBSzNCO0lBakJMLEFBYVEsd0JBYlEsQ0FhUixJQUFJLENBQUM7TUFDRCxNQUFNLEVBQUUsZUFBZTtNQUN2QixTQUFTLEVBQUUsTUFBTSxHQUNwQjs7QUFLVCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsbUJBQW1CO0VBQzNCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLEtBQUssR0EyQmI7RUEvQkQsQUFLSSxrQkFMYyxDQUtkLE1BQU0sQUFBQSxLQUFLLEVBTGYsa0JBQWtCLENBS0QsTUFBTSxBQUFBLEtBQUssQ0FBQztJQUNyQixhQUFhLEVBQUUsR0FBRztJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxLQUFLO0lBQ1osT0FBTyxFQUFFLFlBQVk7SUFDckIsY0FBYyxFQUFFLFVBQVU7SUFDMUIsTUFBTSxFQUFFLFlBQVksR0FDdkI7RUFaTCxBQWNJLGtCQWRjLENBY2QsTUFBTSxBQUFBLEtBQUssQ0FBQztJQUNSLGdCQUFnQixFbkdoSkUsT0FBTztJbUdpSnpCLFlBQVksRW5HakpNLE9BQU87SW1Ha0p6QixLQUFLLEVuRy9JYSxPQUFPO0ltR2dKekIsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUFuQkwsQUFxQkksa0JBckJjLENBcUJkLE1BQU0sQUFBQSxLQUFLLENBQUM7SUFDUixnQkFBZ0IsRW5HcEpFLE9BQU87SW1HcUp6QixLQUFLLEVuR2xNQyxLQUFLO0ltR21NWCxZQUFZLEVuR25NTixLQUFLO0ltR29NWCxTQUFTLEVBQUUsT0FBTyxHQUtyQjtJQTlCTCxBQTBCUSxrQkExQlUsQ0FxQmQsTUFBTSxBQUFBLEtBQUssQ0FLUCxDQUFDLENBQUM7TUFDRSxXQUFXLEVBQUUsSUFBSTtNQUNqQixLQUFLLEVuR3ZNSCxLQUFLLEdtR3dNVjs7QUFJVCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsU0FBUyxFQUFFLE9BQU87RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFbkdsTkssSUFBSSxHbUdtTmpCOztBQUVELEFBQUEsTUFBTSxBQUFBLEtBQUssRUFBRSxNQUFNLEFBQUEsS0FBSyxDQUFDO0VBQ3JCLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLEtBQUs7RUFDWixPQUFPLEVBQUUsWUFBWTtFQUNyQixjQUFjLEVBQUUsVUFBVTtFQUMxQixNQUFNLEVBQUUsWUFBWSxHQUN2Qjs7QUFFRCxBQUFBLE1BQU0sQUFBQSxLQUFLLENBQUM7RUFDUixnQkFBZ0IsRW5HbExNLE9BQU87RW1HbUw3QixZQUFZLEVuR25MVSxPQUFPO0VtR29MN0IsS0FBSyxFbkdqTGlCLE9BQU87RW1Ha0w3QixTQUFTLEVBQUUsTUFBTSxHQU1wQjtFQVZELEFBS0ksTUFMRSxBQUFBLEtBQUssQ0FLUCxDQUFDLENBQUM7SUFDRSxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUdMLEFBQUEsTUFBTSxBQUFBLEtBQUssQ0FBQztFQUNSLGdCQUFnQixFbkczTE0sT0FBTztFbUc0TDdCLEtBQUssRW5Hek9LLEtBQUs7RW1HME9mLFlBQVksRW5HMU9GLEtBQUs7RW1HMk9mLFNBQVMsRUFBRSxPQUFPLEdBT3JCO0VBWEQsQUFLSSxNQUxFLEFBQUEsS0FBSyxDQUtQLENBQUMsQ0FBQztJQUNFLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRW5HOU9DLEtBQUs7SW1HK09YLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLElBQUksR0FDcEI7O0FBR0wsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixhQUFhLEVBQUUsUUFBUSxHQWlFMUI7RUFuRUQsQUFHSSxvQkFIZ0IsQ0FHaEIsRUFBRSxDQUFDO0lBQ0Msa0JBQWtCLEVBQUUsQ0FBQyxHQUN4QjtFQUxMLEFBTUksb0JBTmdCLENBTWhCLEVBQUUsQ0FBQztJQUNDLEtBQUssRW5HbFFlLE9BQU8sR21HbVE5QjtFQVJMLEFBU0ksb0JBVGdCLENBU2hCLEVBQUUsQ0FBQztJQUNDLGVBQWUsRUFBRSxJQUFJO0lBQ3JCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLGVBQWUsRUFBRSxNQUFNLEdBSTFCO0lBaEJMLEFBYVEsb0JBYlksQ0FTaEIsRUFBRSxDQUlFLEVBQUUsQ0FBQztNQUNDLGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBZlQsQUFpQkksb0JBakJnQixDQWlCaEIsT0FBTyxDQUFDO0lBQ0osYUFBYSxFQUFFLElBQUk7SUFDbkIsV0FBVyxFQUFFLElBQUksR0FDcEI7RUFwQkwsQUFxQkksb0JBckJnQixDQXFCaEIsZUFBZSxDQUFDO0lBQ1osU0FBUyxFQUFFLEdBQUcsR0FLakI7SUEzQkwsQUF1QlEsb0JBdkJZLENBcUJoQixlQUFlLENBRVgsRUFBRSxDQUFDO01BQ0MsT0FBTyxFQUFFLElBQUk7TUFDYixlQUFlLEVBQUUsYUFBYSxHQUNqQztFQTFCVCxBQTZCSSxnQ0E3QmdCLENBNkJGO0lBQ1YsV0FBVyxFQUFFLElBQUksR0FDcEI7RUEvQkwsQUFrQ1Esa0NBbENZLENBa0NaLEVBQUUsQ0FBQztJQUNDLGtCQUFrQixFQUFFLENBQUMsR0FDeEI7RUFwQ1QsQUFxQ1Esa0NBckNZLENBcUNaLEVBQUUsQ0FBQztJQUNDLEtBQUssRUFBRSxtQkFBbUIsR0FDN0I7RUF2Q1QsQUF3Q1Esa0NBeENZLENBd0NaLE9BQU8sQ0FBQztJQUNKLE1BQU0sRUFBRSxpQkFBaUIsR0FJNUI7SUFIRyxNQUFNLG1DQUZWO01BeENSLEFBd0NRLGtDQXhDWSxDQXdDWixPQUFPLENBQUM7UUFHQSxJQUFJLEVBQUUsTUFBTSxHQUVuQixFQUFBO0VBN0NULEFBOENRLGtDQTlDWSxDQThDWixFQUFFLENBQUM7SUFDQyxlQUFlLEVBQUUsSUFBSTtJQUNyQixhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQWpEVCxBQWtEUSxrQ0FsRFksQ0FrRFosRUFBRSxDQUFDLEtBQUssQ0FBQztJQUNMLE9BQU8sRUFBRSxFQUFFO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNkO0VBdERULEFBdURRLGtDQXZEWSxDQXVEWixFQUFFLENBQUM7SUFDQyxLQUFLLEVBQUUsSUFBSTtJQUNYLFlBQVksRUFBRSxFQUFFO0lBQ2hCLEtBQUssRUFBRSxHQUFHO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjtFQTdEVCxBQWdFSSxrQ0FoRWdCLENBZ0VBO0lBQ1osS0FBSyxFQUFFLElBQUksR0FDZDs7QUFHTCxBQUFBLG9CQUFvQixDQUFDLEtBQUssQ0FBQztFQUN2QixPQUFPLEVBQUUsRUFBRTtFQUNYLE9BQU8sRUFBRSxLQUFLO0VBQ2QsS0FBSyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULGFBQWEsRUFBRSxRQUFRLEdBb0MxQjtFQXJDRCxBQUVJLFlBRlEsQ0FFUixPQUFPLENBQUM7SUFDSixLQUFLLEVBQUUsUUFBUTtJQUNmLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLFlBQVksRUFBRSxNQUFNO0lBQ3BCLFdBQVcsRUFBRSxRQUFRLEdBQ3hCO0VBUEwsQUFRSSxZQVJRLENBUVIsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFQUFFLEdBQUc7SUFDVixVQUFVLEVBQUUsT0FBTztJQUNuQixLQUFLLEVuRzdVQyxJQUFJO0ltRzhVVixXQUFXLEVBQUUsV0FBVztJQUN4QixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBakJMLEFBa0JJLFlBbEJRLENBa0JSLEVBQUUsQ0FBQztJQUNDLEtBQUssRW5HclZDLElBQUk7SW1Hc1ZWLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0I7RUFDRCxNQUFNLG1DQUNGO0lBMUJSLEFBMEJRLFlBMUJJLENBMEJKLEVBQUUsQ0FBQztNQUNDLFdBQVcsRUFBRSxJQUFJO01BQ2pCLGFBQWEsRUFBRSxNQUFNLEdBQ3hCO0lBN0JULEFBOEJRLFlBOUJJLENBOEJKLEVBQUUsQ0FBQztNQUNDLElBQUksRUFBRSxJQUFJLEdBQ2I7SUFoQ1QsQUFpQ1EsWUFqQ0ksQ0FpQ0osSUFBSSxDQUFDO01BQ0QsSUFBSSxFQUFFLElBQUksR0FDYixFQU5BO0FBVVQsQUFBQSxvQkFBb0IsQ0FBQTtFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVBQUUsR0FBRztFQUNWLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFVBQVUsRW5HMVdBLEtBQUs7RW1HMldmLGFBQWEsRUFBRSxHQUFHO0VBRWxCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsR0FBRyxFQUFFLE1BQU0sR0E0QmQ7RUF2Q0QsQUFhSSxvQkFiZ0IsQ0FhaEIsTUFBTSxDQUFDO0lBQ0gsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRW5HelhKLElBQUk7SW1HMFhWLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFdBQVcsRUFBRSxJQUFJLEdBV3BCO0lBN0JMLEFBb0JRLG9CQXBCWSxDQWFoQixNQUFNLENBT0YsSUFBSSxDQUFDO01BQ0QsY0FBYyxFQUFFLFVBQVU7TUFDMUIsS0FBSyxFbkc1WEgsS0FBSztNbUc2WFAsV0FBVyxFQUFFLFdBQVc7TUFDeEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsV0FBVyxFQUFFLElBQUk7TUFDakIsU0FBUyxFQUFFLElBQUk7TUFDZixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQUdMLE1BQU0sbUNBL0JWO0lBQUEsQUFBQSxvQkFBb0IsQ0FBQTtNQWdDWixLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osU0FBUyxFQUFFLElBQUk7TUFDZixhQUFhLEVBQUUsR0FBRztNQUVsQixlQUFlLEVBQUUsVUFBVSxHQUVsQyxFQUFBO0FBRUQsQUFBQSxrQkFBa0IsQ0FBQTtFQUNkLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLEtBQUs7RUFDZixJQUFJLEVBQUUsQ0FBQztFQUNQLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUNELEFBQUEsWUFBWSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLEdBQUc7RUFDVixHQUFHLEVBQUUsR0FBRztFQUNSLFVBQVUsRUFBRSxLQUFLO0VBQ2pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsWUFBWSxFQUFFLElBQUk7RUFDbEIsTUFBTSxFQUFFLE9BQU8sR0FDbEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxLQUFLO0VBQ2YsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxnQkFBZ0IsRUFBRSxrQkFBZTtFQUNqQyxXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTSxHQUMxQjs7QUFFRCxNQUFNLG1CQUVFO0VBREosQUFDSSxhQURTLENBQ1QsTUFBTSxDQUFDO0lBQ0gsS0FBSyxFQUFFLEtBQUs7SUFDWixJQUFJLEVBQUUsQ0FBQztJQUNQLE1BQU0sRUFBRSxRQUFRLEdBQ25CO0VBRUwsQUFBQSxNQUFNLENBQUM7SUFDSCxLQUFLLEVBQUUsSUFBSSxHQUtkO0lBTkQsQUFFSSxnQkFGRSxDQUVVO01BQ1IsS0FBSyxFQUFFLEdBQUc7TUFDVixNQUFNLEVBQUUsSUFBSSxHQUNmLEVBUEE7O0FBV1QsQUFDSSxFQURGLEFBQUEsWUFBWSxDQUNWLENBQUMsRStCL2VMLFNBQVMsQy9COGVULEVBQUUsQStCcFpFLGdCQUFRLEMvQnFaUixDQUFDLENBQUM7RUFDRSxLQUFLLEVuRzNZTSxPQUFPLEdtRzZZckI7O0FDbGZMLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixVQUFVLEVBQUUsSUFBSTtFQUNoQixXQUFXLEVBQUUsSUFBSTtFQUVqQiw2QkFBNkIsRUE0QmhDO0VBaENELEFBS0ksZ0JBTFksQ0FLWixLQUFLLENBQUM7SUFDRixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0lBQzNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixhQUFhLEVBQUUsSUFBSTtJQUNuQixNQUFNLEVBQUUsT0FBTztJQUNmLFNBQVMsRUFBRSxLQUFLLEdBT25CO0lBbEJMLEFBWVEsZ0JBWlEsQ0FLWixLQUFLLENBT0QsRUFBRSxDQUFDO01BQ0MsVUFBVSxFQUFFLElBQUk7TUFDaEIsYUFBYSxFQUFFLElBQUk7TUFDbkIsS0FBSyxFQUFFLE9BQU87TUFDZCxTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQWpCVCxBQW9CSSxnQkFwQlksQ0FvQlosS0FBSyxDQUFDLEtBQUssQ0FBQztJQUNSLFVBQVUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsa0JBQWtCLEdBQzlDO0VBdEJMLEFBd0JJLGdCQXhCWSxDQXdCWixRQUFRLENBQUM7SUFDTCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUEzQkwsQUE0QkksZ0JBNUJZLENBNEJaLHNCQUFzQixDQUFDO0lBQ25CLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFLTCxBQUFBLGFBQWEsQUFBQSxjQUFjLENBQUM7RUFDeEIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsbUJBQW1CLEdBQzlCOztBQUVBLEFBQ0csYUFEVSxDQUNWLE1BQU0sQ0FBQztFQUNILE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUk7RUFDWCxhQUFhLEVBQUUsR0FBRztFQUNsQixTQUFTLEVBQUUsTUFBTTtFQUNqQixjQUFjLEVBQUUsVUFBVTtFQUMxQixPQUFPLEVBQUUsWUFBWSxHQUN4Qjs7QUFSSixBQVVHLGFBVlUsQ0FVVixNQUFNLEFBQUEsS0FBSyxDQUFDO0VBQ1IsZ0JBQWdCLEVwR2dDRSxPQUFPLENvR2hDa0IsVUFBVTtFQUNyRCxZQUFZLEVwRytCTSxPQUFPLENvRy9CYyxVQUFVO0VBQ2pELEtBQUssRXBHaUNhLE9BQU8sQ29HakNPLFVBQVUsR0FDN0M7O0FBZEosQUFnQkcsYUFoQlUsQ0FnQlYsTUFBTSxDQUFDLFVBQVUsQ0FBQztFQUNkLGdCQUFnQixFcEcwQkUsT0FBTztFb0d6QnpCLFlBQVksRXBHeUJNLE9BQU87RW9HeEJ6QixLQUFLLEVwRzJCYSxPQUFPLEdvRzFCNUI7O0FBcEJKLEFBc0JHLGFBdEJVLENBc0JWLE1BQU0sQUFBQSxLQUFLLENBQUM7RUFDUixnQkFBZ0IsRXBHZ0JBLE9BQU8sQ29HaEJrQixVQUFVO0VBQ25ELEtBQUssRXBHdkJDLEtBQUssQ29HdUJTLFVBQVU7RUFDOUIsWUFBWSxFcEd4Qk4sS0FBSyxDb0d3QmdCLFVBQVUsR0FDeEM7O0FBMUJKLEFBNEJHLGFBNUJVLENBNEJWLE1BQU0sQ0FBQyxXQUFXLENBQUM7RUFDZixnQkFBZ0IsRXBHVUEsT0FBTztFb0dUdkIsS0FBSyxFcEc3QkMsS0FBSztFb0c4QlgsWUFBWSxFcEc5Qk4sS0FBSyxHb0crQmQ7O0FBR0wsQUFBQSxzQkFBc0IsQ0FBQztFQUNuQixTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsSUFBSSxHQUtmO0VBUEQsQUFHSSxzQkFIa0IsQ0FHbEIsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFcEd2Q21CLGtCQUFrQjtJb0d3QzFDLE1BQU0sRUFBRSxZQUFZLEdBQ3ZCOztBQUlMLEFBQUEsaUJBQWlCLENBQUE7RUFDYixPQUFPLEVBQUUsWUFBWTtFQUNyQixTQUFTLEVBQUUsS0FBSyxHQUNuQjs7QUN6RkQsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixhQUFhLEVBQUUsTUFBTTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsY0FBYyxFQUFFLEtBQUssR0FDeEI7O0FBRUQsQUFBQSxpQkFBaUIsQ0FBQztFQUNkLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osS0FBSyxFQUFFLElBQUksR0FJZDtFQVJELEFBS0ksaUJBTGEsQ0FLYixLQUFLLENBQUMsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNYLFVBQVUsRUFBRSxlQUFlLEdBQzlCOztBQUdMLEFBQUEsYUFBYSxDQUFDO0VBQ1YsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsSUFBSTtFQUNaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDVixZQUFZLEVBQUUsSUFBSTtFQUNsQixNQUFNLEVBQUUsT0FBTyxHQVlsQjtFQWRELEFBR0ksYUFIUyxDQUdULEtBQUssQ0FBQztJQUNGLE1BQU0sRUFBRSxPQUFPO0lBQ2YsS0FBSyxFQUFFLEtBQUs7SUFDWixhQUFhLEVBQUUsS0FBSztJQUNwQixTQUFTLEVBQUUsTUFBTTtJQUNqQixVQUFVLEVBQUUsWUFBWSxHQUMzQjtFQVRMLEFBVUksYUFWUyxDQVVULFlBQVk7RUFWaEIsYUFBYSxDQVdULFlBQVksQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUdMLEFBQUEsY0FBYyxDQUFDO0VBQ1gsU0FBUyxFQUFFLE1BQU07RUFDakIsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBRUQsQUFBQSxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDN0IsU0FBUyxFQUFFLGNBQWMsR0FDNUI7O0FBRUQsQUFBQSxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDLENBQUM7RUFDN0IsU0FBUyxFQUFFLGNBQWMsR0FDNUI7O0FBRUQsQUFBQSxxQkFBcUI7QUFDckIsZ0JBQWdCLENBQUM7RUFDYixTQUFTLEVBQUUsV0FBVztFQUN0QixpQkFBaUIsRUFBRSxXQUFXO0VBQzlCLGNBQWMsRUFBRSxXQUFXLEdBQzlCOztBQUVELEFBQ0kscUJBRGlCLENBQ2pCLEtBQUssQ0FBQyxZQUFZLENBQUM7RUFDZixjQUFjLEVBQUUsU0FBUyxHQUM1Qjs7QUFHTCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBRUQsQUFBQSxvQkFBb0IsQUFBQSxRQUFRLENBQUM7RUFDekIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLFdBQVc7RUFDbkIsTUFBTSxFQUFFLElBQUksR0FJZjtFQVBELEFBSUksb0JBSmdCLEFBQUEsUUFBUSxDQUl4QixZQUFZLENBQUM7SUFDVCxLQUFLLEVBQUUsS0FBSyxHQUNmOztBQUdMLEFBQUEsbUJBQW1CLEFBQUEsUUFBUSxDQUFDO0VBQ3hCLFdBQVcsRUFBRSxJQUFJLEdBQ3BCOztBQUVELEFBQUEsa0JBQWtCLEFBQUEsUUFBUSxDQUFDO0VBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBQ1o7O0FDeEZELEFBQUEsdUJBQXVCLENBQUM7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxJQUFJO0VBQ1osV0FBVyxFQUFFLElBQUk7RUFDakIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN0R29ESSxPQUFPO0VzR25ENUIsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtFQUMzQyxhQUFhLEVBQUUsR0FBRyxHQVNyQjtFQWpCRCxBQVVJLHVCQVZtQixDQVVuQixNQUFNLENBQUM7SUFDSCxPQUFPLEVBQUUsSUFBSTtJQUNiLGFBQWEsRUFBRSxNQUFNO0lBQ3JCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxZQUFZO0lBQzdCLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBR0wsQUFBQSw0QkFBNEIsQ0FBQztFQUN6QixPQUFPLEVBQUUsS0FBSztFQUNkLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLEtBQUssRUFBRSxLQUFLO0VBQ1osT0FBTyxFQUFFLE1BQU0sR0FDbEI7O0FBRUQsQUFDSSxVQURELENBQ1U7RUFDVCxNQUFNLEVBQUUsd0JBQXdCLEdBQy9COztBQUdMLEFBQUEsV0FBVyxDQUFDO0VBQ1IsVUFBVSxFQUFFLE9BQU8sR0FDdEI7O0FBRUQsQUFBQSxjQUFjLEFBQUEsZ0JBQWdCLENBQUM7RUFDM0IsVUFBVSxFQUFFLFFBQVEsR0FDdkI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxRQUFRLEdBZWhCO0VBakJELEFBR0ksb0JBSFUsQ0FHRjtJQUNKLEtBQUssRUFBRSxHQUFHLEdBQ2I7RUFMTCxBQU1JLGNBTlUsQ0FNVixvQkFBb0IsQ0FBQyxHQUFHLENBQUE7SUFDcEIsTUFBTSxFQUFFLFFBQVEsR0FDbkI7RUFSTCxBQVNJLGNBVFUsQ0FTVixTQUFTLEFBQUEsaUJBQWlCLENBQUM7SUFDdkIsS0FBSyxFN0NHTSxrQkFBbUI7STZDRjlCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFVBQVUsRUFBRSxPQUFPLEdBQ3RCOztBQUdMLEFBQ0ksd0JBRFUsQ0FDRTtFQUNSLEtBQUssRTdDUk0sa0JBQW1CO0U2Q1M5QixTQUFTLEVBQUUsSUFBSTtFQUNmLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQVBMLEFBUUksb0JBUlUsQ0FRRjtFQUNKLEtBQUssRXRHaUNNLE9BQU87RXNHaENsQixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFYTCxBQWFJLDZCQWJVLENBYU87RUFDYixLQUFLLEVBQUUsa0JBQW1CO0VBQzFCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7O0FBbkJMLEFBc0JRLGNBdEJNLENBcUJWLHdCQUFlLENBQ0E7RUFDUCxVQUFVLEVBQUUsTUFBTTtFQUNsQixjQUFjLEVBQUUsVUFBVSxHQU03QjtFQTlCVCxBQTBCWSxjQTFCRSxDQXFCViwrQkFBZSxDQUtFO0lBQ0wsY0FBYyxFQUFFLFVBQVU7SUFDMUIsYUFBYSxFQUFFLE1BQU0sR0FDeEI7O0FBN0JiLEFBK0JRLGNBL0JNLENBcUJWLGVBQWUsQ0FVWCxrQkFBa0IsQUFBQSxrQkFBa0IsQ0FBQztFQUNqQyxNQUFNLEVBQUUsdUJBQXVCO0VBQy9CLE9BQU8sRUFBRSxnQkFBZ0I7RUFDekIsS0FBSyxFQUFFLEtBQUssR0FzQmY7RUF4RFQsQUFxQ2dCLGNBckNGLENBcUJWLGVBQWUsQ0FVWCxrQkFBa0IsQUFBQSxrQkFBa0IsQ0FLaEMsb0NBQWlCLENBQ1E7SUFDakIsYUFBYSxFQUFFLEdBQUc7SUFDbEIsZ0JBQWdCLEV0R0dqQixPQUFPO0lzR0ZOLFlBQVksRXRHRWIsT0FBTyxHc0dZVDtJQXREakIsQUEwQ29CLGNBMUNOLENBcUJWLGVBQWUsQ0FVWCxrQkFBa0IsQUFBQSxrQkFBa0IsQ0FLaEMsb0NBQWlCLENBTVQsR0FBRyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUk7TUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNmO0lBN0NyQixBQThDb0IsY0E5Q04sQ0FxQlYsZUFBZSxDQVVYLGtCQUFrQixBQUFBLGtCQUFrQixDQUtoQyxvQ0FBaUIsQ0FVVCxDQUFDLENBQUM7TUFDRSxTQUFTLEVBQUUsTUFBTTtNQUNqQixVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsTUFBTTtNQUNuQixjQUFjLEVBQUUsT0FBTztNQUN2QixLQUFLLEV0R3JFZixLQUFLLEdzR3NFRTs7QUFyRHJCLEFBMkRJLGNBM0RVLENBMkRWLGFBQWEsQ0FBQztFQUNWLE9BQU8sRUFBRSxJQUFJO0VBQ2IsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsUUFBUTtFQUNoQixPQUFPLEVBQUUsZUFBZTtFQUN4QixXQUFXLEVBQUUsVUFBVTtFQUN2QixhQUFhLEVBQUUsZUFBZTtFQUM5QixZQUFZLEU3Q3BFSCxPQUFPO0U2Q3FFaEIsU0FBUyxFQUFFLElBQUk7RUFDZixNQUFNLEVBQUUsbUJBQW1CO0VBQzNCLEtBQUssRTdDeEVJLE9BQU87RTZDeUVoQixXQUFXLEVBQUUsbUJBQW1CO0VBQ2hDLFNBQVMsRUFBRSxJQUFJO0VBQ2YsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBMUVMLEFBNEVJLDJCQTVFVSxDQTRFSztFQUNYLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLE9BQU8sRUFBRSxVQUFVO0VBQ25CLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRXRHdERjLE9BQU87RXNHdUQvQixHQUFHLEVBQUUsT0FBTyxHQUNmOztBQXJGTCxBQXVGSSx1QkF2RlUsQ0F1RkM7RUFDUCxLQUFLLEVBQUUsS0FBSztFQUNaLFNBQVMsRUFBRSxJQUFJO0VBQ2YsT0FBTyxFQUFFLFdBQVc7RUFDcEIsV0FBVyxFQUFFLE1BQU07RUFDbkIsT0FBTyxFQUFFLE1BQU07RUFDZixZQUFZLEVBQUUsQ0FBQztFQUNmLGFBQWEsRUFBRSxHQUFHO0VBQ2xCLFVBQVUsRXRHckRDLE9BQU87RXNHc0RsQixTQUFTLEVBQUUsU0FBUztFQUNwQixNQUFNLEVBQUUsT0FBTztFQUNmLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHLEdBV1g7RUE5R0wsQUFxR1EsOEJBckdNLENBcUdHO0lBQ0wsS0FBSyxFdEc1REUsT0FBTztJc0c2RGQsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxhQUFhLEVBQUUsc0JBQXNCO0lBQ3JDLFlBQVksRUFBQyxJQUFJLENBQUMsS0FBSyxDdEcvRGhCLE9BQU87SXNHZ0VkLFdBQVcsRUFBRSxDQUFDO0lBQ2QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLE9BQU8sR0FDakI7O0FBN0dULEFBZ0hJLGNBaEhVLENBZ0hWLHFCQUFxQixDQUFDO0VBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUdMLEFBQUEsUUFBUSxDQUFDO0VBQ0wsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FDbExELEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEVBQUUsSUFBSSxHQWdCdEI7RUFuQkQsQUFJSSxZQUpRLENBSVIsS0FBSyxDQUFDLFdBQVcsQ0FBQztJQUNkLFlBQVksRUFBRSxJQUFJO0lBQ2xCLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGVBQWUsRUFBRSxXQUFXO0lBQzVCLGtCQUFrQixFQUFFLFdBQVc7SUFDL0IsYUFBYSxFQUFFLEtBQUs7SUFDcEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFaTCxBQWFJLFlBYlEsQ0FhUixjQUFjLENBQUM7SUFDWCxNQUFNLEVBQUUsS0FBSztJQUNiLFVBQVUsRUFBRSxXQUFXO0lBQ3ZCLGVBQWUsRUFBRSxXQUFXO0lBQzVCLGtCQUFrQixFQUFFLFdBQVcsR0FDbEM7O0FBR0wsQUFBQSxhQUFhLENBQUM7RUFDVixVQUFVLEVBQUUsVUFBVTtFQUN0QixVQUFVLEVBQUUsV0FBVztFQUN2QixNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLFVBQVUsRUFBRSxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RUFDM0MsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLEdBQUc7RUFDZixPQUFPLEVBQUUsVUFBVSxHQW1CdEI7RUExQkQsQUFTSSwwQkFUUyxDQVNNO0lBQ1gsT0FBTyxFQUFFLEtBQUs7SUFDZCxTQUFTLEVBQUUsS0FBSyxHQUNuQjtFQVpMLEFBY0ksc0JBZFMsQ0FjRTtJQUNQLE9BQU8sRUFBRSxJQUFJLEdBSWhCO0lBbkJMLEFBZ0JRLDhCQWhCSyxDQWdCSztNQUNOLEtBQUssRUFBRSxHQUFHLEdBQ2I7RUFsQlQsQUFxQkksc0JBckJTLENBcUJFO0lBQ1AsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQyxhQUFhLEVBQUUsTUFBTTtJQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNkOztBQUdMLEFBQ0ksNEJBRGlCLENBQ1I7RUFDTCxTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLE1BQU0sRUFBRSxXQUFXO0VBQ25CLEtBQUssRXZHYm1CLGtCQUFrQixHdUdjN0M7O0FBTkwsQUFRSSw0QkFSaUIsQ0FRUjtFQUNMLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxNQUFNLEdBdUJ4QjtFQWpDTCxBQVdRLDRCQVhhLENBV2IsS0FBSyxDQUFDLEVBQUUsQ0FBQztJQUNMLFVBQVUsRUFBRSxlQUFlLEdBQzlCO0VBYlQsQUFjUSxnQ0FkYSxDQWNQO0lBQ0YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsUUFBUSxFQUFFLE1BQU0sR0FJbkI7SUFwQlQsQUFpQlksZ0NBakJTLENBaUJULENBQUMsQ0FBQztNQUNFLGVBQWUsRUFBRSxTQUFTLEdBQzdCO0VBbkJiLEFBcUJRLG1DQXJCYSxDQXFCSjtJQUNMLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRUFBRSxPQUFPO0lBQ2QsT0FBTyxFQUFFLEdBQUc7SUFDWixnQkFBZ0IsRUFBRSxJQUFJLEdBSXpCO0lBaENULEFBNkJZLG1DQTdCUyxDQTZCVCxFQUFFLENBQUM7TUFDQyxhQUFhLEVBQUUsaUJBQWlCLEdBQ25DOztBQUtiLEFBQUEsT0FBTyxDQUFDO0VBQ0osSUFBSSxFQUFFLElBQUk7RUFDVixRQUFRLEVBQUUsUUFBUTtFQUNsQixZQUFZLEVBQUUsSUFBSTtFQUNsQixLQUFLLEVBQUMsSUFBSTtFQUNWLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBRUQsQUFBQSxVQUFVLENBQUM7RUFDUCxhQUFhLEVBQUUsWUFBWSxHQUM5Qjs7QUFFRCxBQUFBLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLElBQUk7RUFDVCxRQUFRLEVBQUUsUUFBUTtFQUNsQixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFLRCxBQUFBLGtCQUFrQixDQUFDO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsSUFBSTtFQUNULFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsSUFBSSxFQUFFLE9BQU8sR0FDaEI7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDVixhQUFhLEVBQUUsTUFBTTtFQUNyQixjQUFjLEVBQUUsVUFBVSxHQUM3Qjs7QUFFRCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLGFBQWEsRUFBRSxPQUFPO0VBQ3RCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUVELEFBQUEsaUJBQWlCLENBQUM7RUFDZCxhQUFhLEVBQUUsSUFBSTtFQUNuQixVQUFVLEVBQUUsSUFBSTtFQUNoQixPQUFPLEVBQUUsS0FBSyxHQUNqQjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLFVBQVUsRUFBRSxHQUFHLEdBQ2xCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1AsVUFBVSxFQUFFLEdBQUcsR0FDbEI7O0FOakpEOzsrRUFFK0U7QUNGL0U7O2tFQUVrRTtBREZsRTs7K0VBRStFO0FPRy9FLEFBQUEsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLGlCQUFpQixDQUFBO0VBQ2YsS0FBSyxFeEdEYyxPQUFPLEd3R0UzQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNkLFFBQVEsRUFBRSxLQUFLO0VBQUUsbUJBQW1CO0VBQ3BDLE9BQU8sRUFBRSxJQUFJO0VBQUUsZ0JBQWdCO0VBQy9CLElBQUksRUFBRSxDQUFDO0VBQ1AsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVBQUUsSUFBSTtFQUFFLGdCQUFnQjtFQUM3QixNQUFNLEVBQUUsS0FBSztFQUFFLGlCQUFpQjtFQUNoQyxRQUFRLEVBQUUsS0FBSztFQUFFLDZCQUE2QjtFQUM5QyxnQkFBZ0IsRS9DbUVZLGtCQUFrQjtFK0NuRUUsc0JBQXNCLEVBQ3ZFOztBQUVELE1BQU0sbUJBRUo7RUFBQSxBQUFBLHVCQUF1QixDQUFDO0lBQ3BCLEtBQUssRUFBRSxlQUFlO0lBQ3RCLE1BQU0sRUFBRSxLQUFLLEdBQ2QsRUFBQTs7QUFHTCxnQ0FBZ0M7QUFDaEMsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixVQUFVLEVBQUUsS0FBSztFQUNqQixPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEUvQ3FERyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0UrQ3BENUMsZ0JBQWdCLEVBQUUsT0FBTztFQUN6QixNQUFNLEVBQUUsUUFBUTtFQUFFLG1DQUFtQztFQUNyRCxVQUFVLEVBQUUsR0FBRztFQUNmLE9BQU8sRUFBRSxNQUFNO0VBQ2YsTUFBTSxFQUFFLGlCQUFpQjtFQUN6QixLQUFLLEVBQUUsR0FBRztFQUFFLHFEQUFxRDtFQUNqRSxTQUFTLEVBQUUsS0FBSztFQUNoQixNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxNQUFNLEdBc0duQjtFQWxIRCxBQWNFLHVCQWRxQixDQWNyQixLQUFLLENBQUM7SUFDSixhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CLGVBQWUsRUFBRSxRQUFRO0lBQ3pCLFlBQVksRUFBQyxLQUFLO0lBQ2xCLE1BQU0sRUFBRSxpQkFBaUIsR0FDMUI7RUFuQkgsQUFxQkUsdUJBckJxQixDQXFCckIsRUFBRSxFQXJCSix1QkFBdUIsQ0FxQmpCLEVBQUUsQ0FBQztJQUNMLGFBQWEsRUFBRSxpQkFBaUI7SUFDaEMsT0FBTyxFQUFFLE1BQU07SUFDZixVQUFVLEVBQUUsSUFBSTtJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsU0FBUztJQUNyQixTQUFTLEVOOUNLLElBQTBCO0lNK0N4QyxXQUFXLEVBQUUsTUFBTTtJQUNuQixXQUFXLEVBQUUsaUJBQWlCO0lBQzlCLGNBQWMsRUFBRSxpQkFBaUIsR0FDbEM7RUEvQkgsQUFpQ0UsdUJBakNxQixDQWlDckIsRUFBRSxDQUFBO0lBQ0EsS0FBSyxFQUFFLGtCQUFrQjtJQUN6QixnQkFBZ0IsRUFBRSxLQUFLLEdBQ3hCO0VBcENILEFBc0NFLHVCQXRDcUIsQ0FzQ3JCLEVBQUUsQ0FBQyxTQUFVLENBQUEsR0FBRyxFQUFFO0lBQ2hCLGdCQUFnQixFQUFFLEtBQUssR0FDeEI7RUF4Q0gsQUEwQ0UsdUJBMUNxQixDQTBDckIsRUFBRSxDQUFDLEtBQUssRUExQ1YsdUJBQXVCLENBMENYLEVBQUUsQ0FBQyxLQUFLLENBQUE7SUFDaEIsZ0JBQWdCLEVBQUUsS0FBSyxHQUN4QjtFQTVDSCxBQThDRSx1QkE5Q3FCLENBOENyQixNQUFNLENBQUE7SUFDRixjQUFjLEVBQUUsaUJBQWlCO0lBQ2pDLFdBQVcsRUFBRSxpQkFBaUI7SUFDOUIsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQyxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsTUFBTTtJQUNqQixXQUFXLEVBQUUsTUFBTTtJQUNuQixLQUFLLEVBQUUsT0FBTyxHQUNqQjtFQXRESCxBQXdERSx1QkF4RHFCLENBd0RyQixlQUFlLENBQUE7SUFDWCxVQUFVLEVBQUUsSUFBSSxHQUNuQjtFQTFESCxBQTRERSx1QkE1RHFCLENBNERyQixlQUFlLENBQUE7SUFDWCxrQkFBa0IsRUFBRSxlQUFlO0lBQ25DLEtBQUssRUFBRSxNQUFNO0lBQ2IsTUFBTSxFQUFFLE1BQU07SUFDZCxNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLGFBQWEsRUFBRSxLQUFLO0lBQ3BCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsWUFBWSxFQUFFLEtBQUs7SUFDbkIsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLElBQUksR0F5QmhCO0lBOUZILEFBc0VNLHVCQXRFaUIsQ0E0RHJCLGVBQWUsRUFVUixLQUFLLEVBdEVkLHVCQUF1QixDQTREckIsZUFBZSxFQVVFLE1BQU0sQ0FBQTtNQUNmLFVBQVUsRUFBRSxxQkFBcUIsR0FDcEM7SUF4RVAsQUF5RU0sdUJBekVpQixDQTREckIsZUFBZSxDQWFULE1BQU0sQ0FBQTtNQUVKLFlBQVksRUFBRSxzQkFBc0IsQ0FBQyxVQUFVLEdBQ2xEO0lBNUVQLEFBNkVNLHVCQTdFaUIsQ0E0RHJCLGVBQWUsQ0FpQlQsS0FBSyxDQUFDO01BQ0osT0FBTyxFQUFFLEVBQUU7TUFDWCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLENBQUM7TUFDUCxHQUFHLEVBQUUsQ0FBQztNQUNOLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBckZQLEFBc0ZNLHVCQXRGaUIsQ0E0RHJCLGVBQWUsQ0EwQlQsT0FBTyxDQUFDO01BQ04sTUFBTSxFQUFFLGVBQWU7TUFDdkIsZ0JBQWdCLEVBQUUsT0FDdEIsR0FBQztJQXpGUCxBQTJGTSx1QkEzRmlCLENBNERyQixlQUFlLENBK0JYLFNBQVMsQ0FBQTtNQUNMLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBN0ZQLEFBZ0dFLHVCQWhHcUIsQ0FnR3JCLFdBQVcsQ0FBQTtJQUNQLFVBQVUsRUFBQyxVQUFVLEdBQ3hCO0VBbEdILEFBb0dFLHVCQXBHcUIsQ0FvR3JCLE9BQU8sQ0FBQTtJQUNMLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxRQUFRO0lBQ3BCLE1BQU0sRUFBRSxJQUFJO0lBQ1osY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLGlCQUFpQjtJQUM5QixjQUFjLEVBQUUsaUJBQWlCLEdBRWxDO0VBN0dILEFBOEdFLHVCQTlHcUIsQ0E4R3JCLFFBQVEsQ0FBQztJQUNMLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUlILEFBQUEsb0JBQW9CLENBQUE7RUFDbEIsUUFBUSxFQUFFLFFBQVEsR0FDbkI7O0FBRUQsQUFBQSxtQkFBbUIsQ0FBQTtFQUNqQixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsR0FBRztFQUNYLEtBQUssRUFBRSxHQUFHO0VBQ1YsV0FBVyxFQUFFLElBQUksR0FDbEI7O0FBR0QsQUFBQSx1QkFBdUIsQ0FBQTtFQUNyQixVQUFVLEVBQUUsaUJBQWlCO0VBQzdCLFlBQVksRUFBRSxPQUFPO0VBQ3JCLFdBQVcsRUFBRSxPQUFPO0VBQ3BCLEtBQUssRUFBRSxjQUFjO0VBQ3JCLGFBQWEsRUFBRSxNQUFNLEdBQ3RCOztBQUVELEFBQUEsVUFBVSxDQUFBO0VBQ1IsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLGVBQWU7RUFDNUIsS0FBSyxFQUFFLHVCQUFzQjtFQUM3QixPQUFPLEVBQUUsWUFBWTtFQUNyQixVQUFVLEVBQUUsTUFBTSxHQUNuQjs7QUFHRCxBQUFBLGFBQWEsQ0FBQztFQUNWLEtBQUssRXhHNUlLLElBQUk7RXdHNklkLEtBQUssRUFBRSxLQUFLO0VBQ1osU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsSUFBSTtFQUNqQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQyxLQUFLO0FBQ25CLGFBQWEsQ0FBQyxLQUFLLENBQUM7RUFDaEIsS0FBSyxFeEduR2tCLEtBQUs7RXdHb0c1QixlQUFlLEVBQUUsSUFBSTtFQUNyQixNQUFNLEVBQUUsT0FBTyxHQUNsQjs7QUMvTEQsQUFDSSxrQkFEYyxDQUNkLEVBQUUsQ0FBQztFQUNDLEtBQUssRUFBRSxJQUFJO0VBQ1gsS0FBSyxFekdzRmMsS0FBSztFeUdyRnhCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFdBQVcsRUFBRSxXQUFXO0VBQ3hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLElBQUk7RUFDakIsVUFBVSxFQUFFLE1BQU07RUFDbEIsY0FBYyxFQUFFLFNBQVMsR0FDNUI7O0FBWkwsQUFjSSxrQkFkYyxDQWNkLElBQUksQ0FBQztFQUNELE9BQU8sRUFBRSxLQUFLO0VBQ2QsT0FBTyxFQUFFLE1BQU07RUFDZixXQUFXLEVBQUUsV0FBVztFQUN4QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELE1BQU0sbUNBekJWO0VBQUEsQUFBQSxrQkFBa0IsQ0FBQztJQTBCWCxVQUFVLEVBQUUsSUFBSSxHQUt2QjtJQS9CRCxBQTJCUSxrQkEzQlUsQ0EyQlYsSUFBSSxDQUFDO01BQ0QsT0FBTyxFQUFFLEtBQUssR0FDakIsRUFFUjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFQUFFLElBQUk7RUFDYixLQUFLLEVBQUUsR0FBRyxHQTBFYjtFQTdFRCxBQUtJLGlCQUxhLENBS2IsT0FBTyxDQUFDO0lBQ0osS0FBSyxFQUFFLElBQUksR0FDZDtFQVBMLEFBU0ksaUJBVGEsQ0FTYixLQUFLLENBQUM7SUFDRixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0lBQzNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixNQUFNLEVBQUUsT0FBTztJQUVmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE9BQU8sR0FrQzNCO0lBbkRMLEFBbUJRLGlCQW5CUyxDQVNiLEtBQUssQ0FVRCxVQUFVLENBQUM7TUFDUCxPQUFPLEVBQUUsSUFBSTtNQUNiLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxVQUFVLEdBa0IxQjtNQXhDVCxBQXdCWSxpQkF4QkssQ0FTYixLQUFLLENBVUQsVUFBVSxDQUtOLEVBQUUsQ0FBQztRQUNDLEtBQUssRXpHK0JNLEtBQUs7UXlHOUJoQixXQUFXLEVBQUUsV0FBVztRQUN4QixVQUFVLEVBQUUsTUFBTTtRQUNsQixXQUFXLEVBQUUsTUFBTTtRQUNuQixTQUFTLEVBQUUsSUFBSTtRQUNmLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLGVBQWUsRUFBRSxTQUFTLEdBQzdCO01BaENiLEFBaUNZLGlCQWpDSyxDQVNiLEtBQUssQ0FVRCxVQUFVLENBY04sQ0FBQyxDQUFDO1FBQ0UsV0FBVyxFQUFFLFdBQVc7UUFDeEIsVUFBVSxFQUFFLE1BQU07UUFDbEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsU0FBUyxFQUFFLElBQUk7UUFDZixXQUFXLEVBQUUsSUFBSSxHQUNwQjtJQXZDYixBQXlDUSxpQkF6Q1MsQ0FTYixLQUFLLENBZ0NELFVBQVUsQ0FBQztNQUNILFlBQVksRUFBRSxNQUFNLEdBTzNCO01BakRULEFBNENnQixpQkE1Q0MsQ0FTYixLQUFLLENBZ0NELFVBQVUsQ0FHRixRQUFRLENBQUM7UUFDTCxLQUFLLEVBQUUsSUFBSTtRQUNYLE1BQU0sRUFBRSxJQUFJO1FBQ1osU0FBUyxFQUFFLEtBQUssR0FDbkI7RUFoRGpCLEFBcURJLGlCQXJEYSxDQXFEYixLQUFLLENBQUMsS0FBSyxDQUFDO0lBQ1IsVUFBVSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsR0FDOUM7RUF2REwsQUF5REksaUJBekRhLENBeURiLHNCQUFzQixDQUFDO0lBQ25CLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDZjtFQUNELE1BQU0sbUNBN0RWO0lBQUEsQUFBQSxpQkFBaUIsQ0FBQztNQThEVixLQUFLLEVBQUUsR0FBRyxHQWVqQjtNQTdFRCxBQStEUSxpQkEvRFMsQ0ErRFQsS0FBSyxDQUFDO1FBQ0YsZUFBZSxFQUFFLE1BQU0sR0FXMUI7UUEzRVQsQUFrRWdCLGlCQWxFQyxDQStEVCxLQUFLLENBRUQsVUFBVSxDQUNOLEVBQUUsQ0FBQztVQUNDLFNBQVMsRUFBRSxJQUFJO1VBQ2YsV0FBVyxFQUFFLElBQUksR0FDcEI7UUFyRWpCLEFBdUVZLGlCQXZFSyxDQStEVCxLQUFLLENBUUQsVUFBVSxDQUFDO1VBQ1AsV0FBVyxFQUFFLEtBQUs7VUFDbEIsWUFBWSxFQUFFLElBQUksR0FDckIsRUFHWjtBQUVELEFBQ0ksbUJBRGUsQ0FDZixDQUFDLENBQUM7RUFDRSxXQUFXLEVBQUUsV0FBVztFQUN4QixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsTUFBTTtFQUNuQixTQUFTLEVBQUUsSUFBSTtFQUNmLFdBQVcsRUFBRSxJQUFJO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLG9CQUFvQixFQUFFLFNBQVMsR0FDbEM7O0FDekhMLHFCQUFxQjtBQUNyQixBQUFBLFlBQVksQ0FBQztFQUNULFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQUVELEFBRVEsc0NBRmUsQ0FFTjtFQUNMLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLGNBQWMsRUFBRSxVQUFVLEdBQzdCOztBQUlULEFBQ0ksNkJBRGMsQ0FDRDtFQUNULE1BQU0sRUFBRSxlQUFlLEdBQzFCOztBQUhMLEFBS0kseUJBTGMsQ0FLTDtFQUNMLEtBQUssRTFHc0NXLE9BQU87RTBHckN2QixXQUFXLEVBQUUsUUFBUTtFQUNyQixVQUFVLEVBQUUsR0FBRztFQUNmLGFBQWEsRUFBRSxHQUFHLEdBQ3JCOztBQVZMLEFBV0kseUJBWGMsQ0FXTDtFQUNMLEtBQUssRTFHNkRtQixPQUFPO0UwRzVEL0IsYUFBYSxFQUFFLEtBQUssR0FDdkI7O0FBZEwsQUFlSSx5QkFmYyxFQUFsQix5QkFBa0IsQ0FnQkw7RUFDTCxjQUFjLEVBQUUsU0FBUztFQUN6QixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQztFQUNuRCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHa0RXLE9BQU87RTBHakRuQyxhQUFhLEVBQUUsTUFBTTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxzQkFBc0I7RUFDL0IsVUFBVSxFQUFFLFNBQVM7RUFDckIsZ0JBQWdCLEUxRzZDWSxPQUFPO0UwRzVDbkMsT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtFQUM5QixTQUFTLEVBQUUsSUFBSSxHQW1CbEI7RUE1QkQsQUFXSSxpQkFYYSxDQUFDLHVCQUF1QixDQUFDLG1CQUFZLENBV3pDO0lBQ0wsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEUxR3FDYSxPQUFPLEcwR3BDNUI7RUFkTCxBQWdCSSxpQkFoQmEsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBWSxDQWdCeEM7SUFDTixPQUFPLEVBQUUsVUFBVSxHQUN0QjtFQWxCTCxBQW9CSSxpQkFwQmEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBWSxDQW9CckM7SUFDVCxhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQXRCTCxBQXdCSSxpQkF4QmEsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBWSxDQXdCckM7SUFDVCxhQUFhLEVBQUUsT0FBTyxHQUN6Qjs7QUFLTCxBQUFBLGVBQWUsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLElBQUk7RUFDVCxlQUFlLEVBQUUsYUFBYTtFQUM5QixhQUFhLEVBQUUsUUFBUSxHQXNJMUI7RUExSUQsQUFNSSxzQkFOVyxDQU1GO0lBQ0wsU0FBUyxFQUFFLEtBQUs7SUFDaEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsTUFBTSxFQUFFLEtBQUs7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxVQUFVO0lBQzFCLEtBQUssRTFHckJXLE9BQU87STBHc0J2QixXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxDQUFDLEdBQ2Y7RUFoQkwsQUFrQkksZUFsQlcsQ0FrQlgsa0JBQWtCLENBQUM7SUFDZixNQUFNLEVBQUUsS0FBSyxHQUloQjtJQXZCTCxBQW9CUSxlQXBCTyxDQWtCWCxrQkFBa0IsQ0FFZCxHQUFHLENBQUMsV0FBVyxDQUFDO01BQ1osS0FBSyxFQUFFLGVBQWUsR0FDekI7RUF0QlQsQUF5QkksZUF6QlcsQ0F5QlgsV0FBVyxDQUFDO0lBQ1IsS0FBSyxFQUFFLElBQUksR0FvRGQ7SUE5RUwsQUEyQlEsZUEzQk8sQ0F5QlgsV0FBVyxDQUVQLEdBQUcsQ0FBQztNQUNBLE1BQU0sRUFBRSxtQkFBbUIsR0FDOUI7SUE3QlQsQUErQlEsZUEvQk8sQ0F5QlgsV0FBVyxDQU1QLFlBQVksQ0FBQztNQUNULE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLElBQUk7TUFDZixHQUFHLEVBQUUsSUFBSSxHQTZCWjtNQS9EVCxBQW9DWSxlQXBDRyxDQXlCWCxXQUFXLENBTVAsbUJBQVksQ0FLQztRQUNMLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLEtBQUs7UUFDVixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHdEJGLE9BQU87UTBHdUJ0QixhQUFhLEVBQUUsU0FBUztRQUN4QixPQUFPLEVBQUUsT0FBTztRQUNoQixNQUFNLEVBQUUsT0FBTztRQUNmLEtBQUssRTFHMUJVLE9BQU8sRzBHNkN6QjtRQTlEYixBQTRDZ0IsZUE1Q0QsQ0F5QlgsV0FBVyxDQU1QLG1CQUFZLENBYUosS0FBSyxDQUFDO1VBQ0YsU0FBUyxFQUFFLGdCQUFnQjtVQUMzQixTQUFTLEVBQUUsaUJBQWlCO1VBQzVCLE9BQU8sRUFBRSxLQUFLO1VBQ2QsTUFBTSxFQUFFLE9BQU87VUFDZixLQUFLLEVBQUUsSUFBSTtVQUNYLE1BQU0sRUFBRSxJQUFJO1VBQ1osTUFBTSxFQUFFLElBQUk7VUFDWixNQUFNLEVBQUUsZ0JBQWdCO1VBQ3hCLGFBQWEsRUFBRSxnQkFBZ0I7VUFDL0IsU0FBUyxFQUFFLFFBQVE7VUFDbkIsV0FBVyxFQUFFLEdBQUc7VUFDaEIsVUFBVSxFQUFFLE1BQU07VUFDbEIsS0FBSyxFMUd4Q00sT0FBTyxHMEd5Q3JCO1FBMURqQixBQTJEZ0IsZUEzREQsQ0F5QlgsV0FBVyxDQU1QLG1CQUFZLENBNEJKLEtBQUssQ0FBQyxLQUFLLENBQUM7VUFDUixVQUFVLEVBQUUsZ0JBQWdCLEdBQy9CO0lBN0RqQixBQWlFUSxlQWpFTyxDQXlCWCxzQkFBVyxDQXdDTTtNQUNULFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0lBbkVULEFBcUVRLGVBckVPLENBeUJYLDBCQUFXLENBNENVO01BQ2IsS0FBSyxFMUcvQ1EsR0FBRztNMEdnRGhCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBeEVULEFBMEVRLGVBMUVPLENBeUJYLG9CQUFXLENBaURJO01BQ1AsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLElBQUksR0FDaEI7RUE3RVQsQUFnRkksZUFoRlcsQ0FnRlgsZUFBZSxDQUFDO0lBQ1osS0FBSyxFQUFFLElBQUksR0E2Q2Q7SUE5SEwsQUFrRlEsZUFsRk8sQ0FnRlgsdUJBQWUsQ0FFRDtNQUNOLE9BQU8sRUFBRSxJQUFJO01BQ2IsU0FBUyxFQUFFLElBQUk7TUFDZixHQUFHLEVBQUUsTUFBTTtNQUNYLGVBQWUsRUFBRSxhQUFhLEdBQ2pDO0lBdkZULEFBeUZRLGVBekZPLENBZ0ZYLGVBQWUsQ0FTWCxtQkFBbUIsQ0FBQztNQUNoQixPQUFPLEVBQUUsSUFBSTtNQUNiLEdBQUcsRUFBRSxLQUFLLEdBa0NiO01BN0hULEFBNkZZLGVBN0ZHLENBZ0ZYLGVBQWUsQ0FTWCw0QkFBbUIsQ0FJSjtRQUNQLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLEtBQUssR0FDYjtNQWhHYixBQWtHWSxlQWxHRyxDQWdGWCxlQUFlLENBU1gsMkJBQW1CLENBU0w7UUFDTixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHbEZGLE9BQU87UTBHbUZ0QixhQUFhLEVBQUUsU0FBUztRQUN4QixLQUFLLEUxR3BGVSxPQUFPO1EwR3FGdEIsZ0JBQWdCLEUxR2hJbEIsS0FBSztRMEdpSUgsV0FBVyxFQUFFLElBQUk7UUFDakIsY0FBYyxFQUFFLFVBQVU7UUFDMUIsT0FBTyxFQUFFLFFBQVE7UUFDakIsWUFBWSxFQUFFLFNBQVM7UUFDdkIsY0FBYyxFQUFFLFNBQVM7UUFDekIsTUFBTSxFQUFFLE9BQU87UUFDZixXQUFXLEVBQUUsR0FBRztRQUNoQixTQUFTLEVBQUUsSUFBSSxHQU1sQjtRQXBIYixBQWdIZ0IsZUFoSEQsQ0FnRlgsZUFBZSxDQVNYLHFDQUFtQixDQXVCQztVQUNSLGdCQUFnQixFMUdoR0wsT0FBTztVMEdpR2xCLEtBQUssRTFHNUlYLEtBQUssRzBHNklGO01BbkhqQixBQXNIWSxlQXRIRyxDQWdGWCxlQUFlLENBU1gsMkJBQW1CLENBNkJMLEtBQUssQ0FBQztRQUNaLFVBQVUsRUFBRSxLQUFLLEdBQ3BCO01BeEhiLEFBeUhZLGVBekhHLENBZ0ZYLGVBQWUsQ0FTWCwyQkFBbUIsQ0FnQ0wsTUFBTSxDQUFDO1FBQ2IsVUFBVSxFQUFFLEtBQUssR0FDcEI7RUFLVCxNQUFNLG9CQUNGO0lBaklSLEFBaUlRLGVBaklPLENBaUlMO01BQ0UsU0FBUyxFQUFFLElBQUksR0FNbEI7TUF4SVQsQUFvSVksZUFwSUcsQ0FvSUgsV0FBVztNQXBJdkIsZUFBZSxDQXFJSCxlQUFlLENBQUM7UUFDWixLQUFLLEVBQUUsZUFBZSxHQUN6QixFQUNKO0FBSVQsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLHNCQUFlLENBQzVDO0VBQ0wsV0FBVyxFQUFFLE1BQU07RUFDbkIsTUFBTSxFQUFFLFFBQVE7RUFDaEIsYUFBYSxFQUFFLE9BQU8sR0FLekI7RUFUTCxBQU1RLGlCQU5TLENBQUMsdUJBQXVCLENBQUMsc0JBQWUsQ0FNakQsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQUFFLEtBQUssR0FDaEI7O0FBUlQsQUFXSSxpQkFYYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFlLENBV3hDO0VBQ1QsYUFBYSxFQUFFLE9BQU8sR0FDekI7O0FBSUwsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUM7RUFDdEQsSUFBSSxFQUFFLEtBQUs7RUFDWCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHM0lXLE9BQU87RTBHNEluQyxhQUFhLEVBQUUsU0FBUztFQUN4QixPQUFPLEVBQUUsdUNBQXVDLEdBa0NuRDtFQXRDRCxBQU1JLGlCQU5hLENBQUMsdUJBQXVCLENBQUMsNEJBQWUsQ0FNdEM7SUFDWCxJQUFJLEVBQUUsa0JBQWtCLEdBQzNCO0VBUkwsQUFVSSxpQkFWYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFlLENBVXhDO0lBQ1QsR0FBRyxFQUFFLE9BQU87SUFDWixTQUFTLEVBQUUsSUFBSSxHQUNsQjtFQWJMLEFBZUksaUJBZmEsQ0FBQyx1QkFBdUIsQ0FBQyxzQkFBZSxDQWU1QztJQUNMLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsS0FBSyxFMUc1SmEsT0FBTyxHMEc2SjVCO0VBbkJMLEFBcUJJLGlCQXJCYSxDQUFDLHVCQUF1QixDQUFDLHNCQUFlLENBcUI1QztJQUNMLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRTFHakttQixPQUFPLEcwR3NLbEM7SUE3QkwsQUEwQlEsaUJBMUJTLENBQUMsdUJBQXVCLENBQUMsNkJBQWUsQ0EwQnhDO01BQ0wsS0FBSyxFMUdsTkgsS0FBSyxHMEdtTlY7RUE1QlQsQUErQkksaUJBL0JhLENBQUMsdUJBQXVCLENBQUMscUJBQWUsQ0ErQjdDO0lBQ0osZ0JBQWdCLEUxR3pLUSxPQUFPLEcwRzhLbEM7SUFyQ0wsQUFrQ1EsaUJBbENTLENBQUMsdUJBQXVCLENBQUMscUJBQWUsQ0FrQ2pELHNCQUFzQixDQUFDO01BQ25CLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBSVQsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FBQztFQUN4RCxhQUFhLEVBQUUsT0FBTyxHQUt6QjtFQU5ELEFBR0ksaUJBSGEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsQ0FHOUM7SUFDTCxhQUFhLEVBQUUsT0FBTyxHQUN6Qjs7QUFHTCxBQUNJLGlCQURhLENBQ2IsYUFBYSxHQUFHLENBQUMsRUFEckIsaUJBQWlCLENsRDFRakIsTUFBTSxHa0QyUWMsQ0FBQyxDQUFDO0VBQ2QsV0FBVyxFQUFFLEdBQUcsR0FDbkI7O0FBSEwsQUFLSSw0QkFMYSxDQUtBO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxVQUFVO0VBQ25CLGVBQWUsRUFBRSxNQUFNLEdBTzFCO0VBaEJMLEFBV1EseUNBWFMsQ0FXTTtJQUNYLFdBQVcsRUFBRSxNQUFNO0lBQ25CLE9BQU8sRUFBRSxNQUFNO0lBQ2YsZUFBZSxFQUFFLGlCQUFpQixHQUNyQzs7QUFJVCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixFQUFFLGlCQUFpQixDQUFDO0VBQzNFLGdCQUFnQixFakRyT1csT0FBTztFaURzT2xDLGFBQWEsRUFBRSxJQUFJO0VBQ25CLFdBQVcsRUFBRSxHQUFHLEdBNkRuQjtFQWhFRCxBQU9ZLGlCQVBLLENBQUMsdUJBQXVCLENBQUMsd0JBQWlCLENBTW5ELEdBQUcsQ0FDQyxJQUFJLEVBUDZDLHdCQUFpQixDQU10RSxHQUFHLENBQ0MsSUFBSSxDQUFDO0lBQ0QsVUFBVSxFQUFFLElBQUk7SUFDaEIsV0FBVyxFQUFFLHlCQUF5QjtJQUN0QyxTQUFTLEVBQUUsTUFBTSxHQUNwQjtFQVhiLEFBZUksaUJBZmEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsRUFBRSx3QkFBaUIsQ0FlakU7SUFDTCxVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQWpCTCxBQW9CUSxpQkFwQlMsQ0FBQyx1QkFBdUIsQ0FBQyx5QkFBaUIsQ0FvQm5ELEVBQUUsRUFwQlYsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMseUJBQWlCLENBb0IvQyxDQUFDLEVBcEJnRCx5QkFBaUIsQ0FvQnRFLEVBQUUsRUFwQm1ELHlCQUFpQixDQW9CbEUsQ0FBQyxDQUFDO0lBQ0YsS0FBSyxFMUdsUkgsSUFBSSxHMEdtUlQ7RUF0QlQsQUF3QlEsaUJBeEJTLENBQUMsdUJBQXVCLENBQUMseUJBQWlCLENBd0JuRCxDQUFDLEVBeEJULGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLHlCQUFpQixDQXdCaEQsTUFBTSxFQXhCNEMseUJBQWlCLENBd0J0RSxDQUFDLEVBeEJvRCx5QkFBaUIsQ0F3Qm5FLE1BQU0sQ0FBQztJQUNOLFdBQVcsRUFBRSxXQUFXLEdBQzNCO0VBMUJULEFBNEJRLGlCQTVCUyxDQUFDLHVCQUF1QixDQUFDLHlCQUFpQixDQTRCbkQsTUFBTSxFQTVCK0MseUJBQWlCLENBNEJ0RSxNQUFNLENBQUM7SUFDSCxhQUFhLEVBQUUsTUFBTTtJQUNyQixnQkFBZ0IsRTFHM1JkLElBQUk7STBHNFJOLEtBQUssRTFHelJILEtBQUs7STBHMFJQLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLGNBQWMsRUFBRSxVQUFVO0lBQzFCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCO0VBbkNULEFBcUNRLGlCQXJDUyxDQUFDLHVCQUF1QixDQUFDLGlDQUFpQixFQUFFLGlDQUFpQixDQXFDNUQ7SUFNTixTQUFTLEVBQUUsS0FBSyxHQUNuQjtJQTVDVCxBQXNDWSxpQkF0Q0ssQ0FBQyx1QkFBdUIsQ0FBQyxpQ0FBaUIsQ0FzQy9DLEVBQUUsRUF0QytDLGlDQUFpQixDQXNDbEUsRUFBRSxDQUFDO01BQ0MsU0FBUyxFQUFFLEtBQUs7TUFDaEIsVUFBVSxFQUFFLEtBQUs7TUFDakIsY0FBYyxFQUFFLFVBQVUsR0FDN0I7RUExQ2IsQUE4Q1EsaUJBOUNTLENBQUMsdUJBQXVCLENBQUMsK0JBQWlCLEVBQUUsK0JBQWlCLENBOEM5RDtJQUNKLFNBQVMsRUFBRSxPQUFPLEdBQ3JCO0VBaERULEFBaURRLGlCQWpEUyxDQUFDLHVCQUF1QixDQUFDLG9DQUFpQixFQUFFLG9DQUFpQixDQWlEekQ7SUFDVCxhQUFhLEVBQUUsZ0JBQWdCLEdBQ2xDO0VBbkRULEFBb0RRLGlCQXBEUyxDQUFDLHVCQUF1QixDQUFDLGtDQUFpQixFQUFFLGtDQUFpQixDQW9EM0Q7SUFDUCxlQUFlLEVBQUUsS0FBSyxHQUN6QjtFQXREVCxBQXdESSxpQkF4RGEsQ0FBQyx1QkFBdUIsQ0FBQyxxQ0FBaUIsRUFBRSxxQ0FBaUIsQ0F3RHBEO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBMURMLEFBNERJLGlCQTVEYSxDQUFDLHVCQUF1QixDQUFDLCtCQUFpQixFQUFFLCtCQUFpQixDQTREMUQ7SUFDWixTQUFTLEVBQUUsR0FBRztJQUNkLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBQUdMLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLGtCQUFrQjtFQUN6QyxrQkFBa0IsRUFBRSxLQUFLLEdBc0M1QjtFQXJDRyxNQUFNLG1CQUNGO0lBTFIsQUFLUSxnQkFMUSxDQUtOO01BQ0UscUJBQXFCLEVBQUUsSUFBSTtNQUMzQixrQkFBa0IsRUFBRSxTQUFTLEdBQ2hDLEVBQUE7RUFSVCxBQVdJLHlCQVhZLENBV0Q7SUFDUCxXQUFXLEVBQUUsS0FBSztJQUNsQixRQUFRLEVBQUUsQ0FBQztJQUNYLE9BQU8sRUFBRSxnQkFBZ0IsR0FZNUI7SUFWRyxNQUFNLG1CQUNGO01BakJaLEFBaUJZLHlCQWpCSSxDQWlCRjtRQUNFLFdBQVcsRUFBRSxDQUFDO1FBQ2QsUUFBUSxFQUFFLENBQUMsR0FDZCxFQUFBO0VBcEJiLEFBNEJJLHVCQTVCWSxDQTRCSDtJQUNMLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFFBQVEsRUFBRSxDQUFDO0lBQ1gsTUFBTSxFQUFFLEtBQUssR0FTaEI7SUFQRyxNQUFNLG1CQUNGO01BbENaLEFBa0NZLHVCQWxDSSxDQWtDRjtRQUNFLFdBQVcsRUFBRSxDQUFDO1FBQ2QsUUFBUSxFQUFFLENBQUMsR0FDZCxFQUFBO0FBTWIsQUFBQSxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FBQztFQUN2RCxHQUFHLEVBQUUsTUFBTTtFQUNYLGFBQWEsRUFBRSxJQUFJLEdBc0J0QjtFQXhCRCxBQUlJLGlCQUphLENBQUMsdUJBQXVCLENBQUMsdUJBQWdCLENBSTdDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRSxJQUFJLEdBU25CO0lBaEJMLEFBUVEsaUJBUlMsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBZ0IsQ0FRbEQsRUFBRSxDQUFDO01BQ0MsS0FBSyxFQUFFLElBQUksR0FDZDtJQVZULEFBV1EsaUJBWFMsQ0FBQyx1QkFBdUIsQ0FBQyx1QkFBZ0IsQ0FXbEQsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFMUd0WEgsSUFBSTtNMEd1WE4sV0FBVyxFQUFFLFdBQVc7TUFDeEIsU0FBUyxFQUFFLElBQUksR0FDbEI7RUFmVCxBQWtCSSxpQkFsQmEsQ0FBQyx1QkFBdUIsQ0FBQywyQkFBZ0IsQ0FrQnpDO0lBQ1QsU0FBUyxFQUFFLE9BQU87SUFDbEIsU0FBUyxFQUFFLE9BQU87SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsS0FBSyxHQUNoQjs7QUFHTCxBQUNJLGlCQURhLENBQUMsdUJBQXVCLENBQUMsaUNBQWUsQ0FDakM7RUFDaEIsS0FBSyxFMUd4VmtCLE9BQU8sQzBHd1ZPLFVBQVU7RUFDL0MsZ0JBQWdCLEVBQUUsZ0JBQWdCLEdBQ3JDOztBQUpMLEFBTUksaUJBTmEsQ0FBQyx1QkFBdUIsQ0FBQywrQkFBZSxDQU1uQztFQUNkLFNBQVMsRUFBRSxJQUFJO0VBQ2YsS0FBSyxFMUc5VmtCLE9BQU8sRzBHK1ZqQzs7QUFUTCxBQVdJLGlCQVhhLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQVdyRCxNQUFNLENBQUM7RUFDSCxLQUFLLEUxRzdZQyxLQUFLO0UwRzhZWCxnQkFBZ0IsRTFHbldPLE9BQU87RTBHb1c5QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzFHcFdNLE9BQU87RTBHcVc5QixhQUFhLEVBQUUsTUFBTTtFQUNyQixXQUFXLEVBQUUsSUFBSTtFQUNqQixPQUFPLEVBQUUsUUFBUTtFQUNqQixZQUFZLEVBQUUsU0FBUztFQUN2QixjQUFjLEVBQUUsU0FBUztFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQXRCTCxBQXdCSSxpQkF4QmEsQ0FBQyx1QkFBdUIsQ0FBQywyQkFBZSxDQXdCdkM7RUFDVixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxTQUFTO0VBQ3BCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsTUFBTSxFQUFFLFVBQVUsR0FDckI7O0FBN0JMLEFBK0JJLGlCQS9CYSxDQUFDLHVCQUF1QixDQUFDLDhCQUFlLENBK0JwQztFQUNiLGdCQUFnQixFMUdsWkwsT0FBTztFMEdtWmxCLEtBQUssRUFBRSxVQUFVO0VBQ2pCLGFBQWEsRUFBRSxNQUFNO0VBQ3JCLE9BQU8sRUFBRSxnQ0FBZ0MsR0FPNUM7RUExQ0wsQUFvQ1EsaUJBcENTLENBQUMsdUJBQXVCLENBQUMsOEJBQWUsQ0FvQ2pELElBQUksQ0FBQztJQUNELFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRTFHdmFILEtBQUs7STBHd2FQLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFdBQVcsRUFBRSxXQUFXLEdBQzNCOztBQUlULEFBQ0ksaUJBRGEsQ0FBQyx1QkFBdUIsQ0FBQywyQkFBb0IsQ0FDakQ7RUFDTCxhQUFhLEVBQUUsT0FBTyxHQUN6Qjs7QUFITCxBQUlJLGlCQUphLENBQUMsdUJBQXVCLENBQUMsK0JBQW9CLENBSTdDO0VBQ1QsVUFBVSxFQUFFLFVBQVU7RUFDdEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEMxRzFZQyxPQUFPO0UwRzJZekIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsUUFBUTtFQUNoQixhQUFhLEVBQUUsUUFBUTtFQUN2QixRQUFRLEVBQUUsUUFBUSxHQVFyQjtFQWxCTCxBQVdRLGlCQVhTLENBQUMsdUJBQXVCLENBQUMsK0JBQW9CLENBV3RELENBQUMsQ0FBQztJQUNFLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxJQUFJO0lBQ1YsR0FBRyxFQUFFLElBQUk7SUFDVCxTQUFTLEVBQUUsUUFBUTtJQUNuQixXQUFXLEVBQUUsU0FBUyxHQUN6Qjs7QUFLVCxBQUNJLGlCQURhLENBQUMsK0JBQXVCLENBQzNCO0VBQ04sV0FBVyxFQUFFLElBQUksR0FRcEI7RUFWTCxBQUdRLGlCQUhTLENBQUMsK0JBQXVCLENBR2pDLENBQUMsQ0FBQztJQUNFLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLGNBQWMsRUFBRSxVQUFVO0lBQzFCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsVUFBVSxFQUFFLFdBQVcsR0FDMUI7O0FBVFQsQUFZSSxpQkFaYSxDQUFDLHVCQUF1QixDQVlyQyxNQUFNLEVBWlYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRVosRUFBRSxFQUZOLGdCQUFnQixDNER3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDNUR0ZHJDLEVBQUUsRTREc2ROLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUVSLEVBQUUsRUFGVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRqQyxFQUFFLEU0RHNkVixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFSixFQUFFLEVBRmQsZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkN0IsRUFBRSxFNERzZGQsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRUEsRUFBRSxFQUZsQixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGR6QixFQUFFLEU0RHNkbEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRUksRUFBRSxFQUZ0QixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRyQixFQUFFLEU0RHNkdEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRVEsRUFBRSxFQUYxQixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRqQixFQUFFLEU0RHNkMUIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRVksR0FBRyxFQUYvQixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRiLEdBQUcsRTREc2QvQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFaUIsR0FBRyxFQUZwQyxnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRSLEdBQUcsRTREc2RwQyxpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFc0IsR0FBRyxFQUZ6QyxnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRILEdBQUcsRTREc2R6QyxpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFMkIsR0FBRyxFQUY5QyxnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRFLEdBQUcsRTREc2Q5QyxpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFZ0MsR0FBRyxFQUZuRCxnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRPLEdBQUcsRTREc2RuRCxpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFcUMsR0FBRyxFQUZ4RCxnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRZLEdBQUcsQzREa2U3QztFQUNILFdBQVcsRUFBRSxRQUFRLEdBT3hCO0VBcEJMLEFBY1EsaUJBZFMsQ0FBQyx1QkFBdUIsQ0FZckMsTUFBTSxDQUVGLEVBQUUsRUFkVixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFWixFQUFFLEM0RG9lRSxFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRyQyxFQUFFLEM0RG9lRSxFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRVIsRUFBRSxDNERvZUYsRUFBRSxFNUR0ZVYsZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkakMsRUFBRSxDNERvZUYsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUVKLEVBQUUsQzREb2VOLEVBQUUsRTVEdGVWLGdCQUFnQixDNER3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDNUR0ZDdCLEVBQUUsQzREb2VOLEVBQUUsRUFkVixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFQSxFQUFFLEM0RG9lVixFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGR6QixFQUFFLEM0RG9lVixFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRUksRUFBRSxDNERvZWQsRUFBRSxFNUR0ZVYsZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkckIsRUFBRSxDNERvZWQsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUVRLEVBQUUsQzREb2VsQixFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRqQixFQUFFLEM0RG9lbEIsRUFBRSxFQWRWLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUVZLEdBQUcsQzREb2V2QixFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRiLEdBQUcsQzREb2V2QixFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRWlCLEdBQUcsQzREb2U1QixFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRSLEdBQUcsQzREb2U1QixFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRXNCLEdBQUcsQzREb2VqQyxFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRILEdBQUcsQzREb2VqQyxFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRTJCLEdBQUcsQzREb2V0QyxFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRFLEdBQUcsQzREb2V0QyxFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRWdDLEdBQUcsQzREb2UzQyxFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRPLEdBQUcsQzREb2UzQyxFQUFFLEVBZFYsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRXFDLEdBQUcsQzREb2VoRCxFQUFFLEU1RHRlVixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRZLEdBQUcsQzREb2VoRCxFQUFFLENBQUM7SUFDQyxNQUFNLEVBQUUsS0FBSyxHQUNoQjtFQWhCVCxBQWlCUSxpQkFqQlMsQ0FBQyx1QkFBdUIsQ0FZckMsTUFBTSxDQUtGLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRVosRUFBRSxDNER1ZUUsSUFBSSxFNUR6ZVosZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkckMsRUFBRSxDNER1ZUUsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFUixFQUFFLEM0RHVlRixJQUFJLEU1RHplWixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRqQyxFQUFFLEM0RHVlRixJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUVKLEVBQUUsQzREdWVOLElBQUksRTVEemVaLGdCQUFnQixDNER3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDNUR0ZDdCLEVBQUUsQzREdWVOLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRUEsRUFBRSxDNER1ZVYsSUFBSSxFNUR6ZVosZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkekIsRUFBRSxDNER1ZVYsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFSSxFQUFFLEM0RHVlZCxJQUFJLEU1RHplWixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRyQixFQUFFLEM0RHVlZCxJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUVRLEVBQUUsQzREdWVsQixJQUFJLEU1RHplWixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRqQixFQUFFLEM0RHVlbEIsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFWSxHQUFHLEM0RHVldkIsSUFBSSxFNUR6ZVosZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkYixHQUFHLEM0RHVldkIsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFaUIsR0FBRyxDNER1ZTVCLElBQUksRTVEemVaLGdCQUFnQixDNER3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDNUR0ZFIsR0FBRyxDNER1ZTVCLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRXNCLEdBQUcsQzREdWVqQyxJQUFJLEU1RHplWixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRILEdBQUcsQzREdWVqQyxJQUFJLEVBakJaLGlCQUFpQixDQUFDLHVCQUF1QixDNUR4ZHpDLGdCQUFnQixDQUUyQixHQUFHLEM0RHVldEMsSUFBSSxFNUR6ZVosZ0JBQWdCLEM0RHdkaEIsaUJBQWlCLENBQUMsdUJBQXVCLEM1RHRkRSxHQUFHLEM0RHVldEMsSUFBSSxFQWpCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEeGR6QyxnQkFBZ0IsQ0FFZ0MsR0FBRyxDNER1ZTNDLElBQUksRTVEemVaLGdCQUFnQixDNER3ZGhCLGlCQUFpQixDQUFDLHVCQUF1QixDNUR0ZE8sR0FBRyxDNER1ZTNDLElBQUksRUFqQlosaUJBQWlCLENBQUMsdUJBQXVCLEM1RHhkekMsZ0JBQWdCLENBRXFDLEdBQUcsQzREdWVoRCxJQUFJLEU1RHplWixnQkFBZ0IsQzREd2RoQixpQkFBaUIsQ0FBQyx1QkFBdUIsQzVEdGRZLEdBQUcsQzREdWVoRCxJQUFJLENBQUM7SUFDRCxXQUFXLEVBQUUsV0FBVyxHQUMzQjs7QUFuQlQsQUFzQkksaUJBdEJhLENBQUMsdUJBQXVCLENBc0JyQyxXQUFXLENBQUM7RUFDUixHQUFHLEVBQUUsT0FBTztFQUNaLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQUdMLEFBQUEsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsb0JBQW9CLENBQUM7RUFDM0QsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTSxHQStDdEI7RUFqREQsQUFJSSxpQkFKYSxDQUFDLHVCQUF1QixDQUFDLG9CQUFvQixDQUkxRCxDQUFDLENBQUM7SUFDRSxTQUFTLEVBQUUsUUFBUTtJQUNuQixLQUFLLEVqRDdhSyxPQUFPLEdpRDhhcEI7RUFQTCxBQVNJLGlCQVRhLENBQUMsdUJBQXVCLENBQUMsZ0NBQW9CLENBUzVDO0lBQ1YsT0FBTyxFQUFFLGVBQWUsR0FDM0I7RUFYTCxBQWFJLGlCQWJhLENBQUMsdUJBQXVCLENBQUMsMEJBQW9CLENBYWxEO0lBQ0osT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixLQUFLLEVBQUUsV0FBVyxHQUNyQjtFQWpCTCxBQW1CSSxpQkFuQmEsQ0FBQyx1QkFBdUIsQ0FBQyw2QkFBb0IsQ0FtQi9DO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixnQkFBZ0IsRWpEN2JOLE9BQU87SWlEOGJqQixLQUFLLEVBQUUsS0FBSztJQUNaLGFBQWEsRUFBRSxPQUFPO0lBQ3RCLGFBQWEsRUFBRSxPQUFPO0lBQ3RCLFlBQVksRUFBRSxPQUFPO0lBQ3JCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLE1BQU0sRUFBRSxRQUFRLEdBVW5CO0lBdkNMLEFBK0JRLGlCQS9CUyxDQUFDLHVCQUF1QixDQUFDLDZCQUFvQixDQStCdEQsSUFBSSxDQUFDO01BQ0QsU0FBUyxFQUFFLElBQUksR0FDbEI7SUFqQ1QsQUFrQ1EsaUJBbENTLENBQUMsdUJBQXVCLENBQUMsNkJBQW9CLENBa0N0RCxDQUFDLENBQUM7TUFDRSxXQUFXLEVBQUUsSUFBSTtNQUNqQixLQUFLLEVBQUUsS0FBSztNQUNaLGVBQWUsRUFBRSxTQUFTLEdBQzdCO0VBdENULEFBeUNJLGlCQXpDYSxDQUFDLHVCQUF1QixDQUFDLDhCQUFvQixDQXlDOUM7SUFDUixLQUFLLEVBQUUsQ0FBQztJQUNSLE1BQU0sRUFBRSxDQUFDO0lBQ1QsTUFBTSxFQUFFLDRCQUE0QjtJQUNwQyxVQUFVLEVBQUUsQ0FBQztJQUNiLGFBQWEsRUFBRSxTQUFTLENBQUMsS0FBSyxDakRyZHBCLE9BQU87SWlEc2RqQixTQUFTLEVBQUUsY0FBYyxHQUM1Qjs7QUFHTCxNQUFNLG1CQUNGO0VBQUEsQUFBQSxXQUFXO0VBQ1gsZUFBZSxDQUFDO0lBQ1osS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixTQUFTLEVBQUUsZ0JBQWdCLEdBQzlCO0VBRUQsQUFBQSxjQUFjLENBQUM7SUFDWCxLQUFLLEVBQUUscUJBQXFCLEdBQy9CLEVBSkE7O0FBT0wsTUFBTSxtQkFDRjtFQUFBLEFBQUEsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDO0lBQ25ELE9BQU8sRUFBRSxtQkFBbUI7SUFDNUIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLEdBQUcsR0FRckI7SUFYRCxBQUtJLGlCQUxhLENBQUMsdUJBQXVCLENBQUMsc0JBQVksQ0FLdEM7TUFDUixnQkFBZ0IsRTFHeGZJLE9BQU87TTBHeWYzQixXQUFXLEVBQUUsR0FBRztNQUNoQixPQUFPLEVBQUUsSUFBSTtNQUNiLHFCQUFxQixFQUFFLFVBQVUsR0FDcEM7RUFHTCxBQUNJLGlCQURhLENBQUMsdUJBQXVCLENBQUMsZUFBZSxDQUNyRCxlQUFlLENBQUM7SUFDWixJQUFJLEVBQUUsR0FBRyxHQUNaO0VBSEwsQUFJSSxpQkFKYSxDQUFDLHVCQUF1QixDQUFDLDBCQUFlLENBSXhDO0lBQ1QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsWUFBWSxFQUFFLFNBQVM7SUFDdkIsV0FBVyxFQUFFLFNBQVMsR0FDekI7RUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLGlCQUFpQixDQUFDO0lBQ3hELFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRUFBRSxTQUFTO0lBQ3ZCLFdBQVcsRUFBRSxTQUFTLEdBS3pCO0lBUkQsQUFLSSxpQkFMYSxDQUFDLHVCQUF1QixDQUFDLHdCQUFpQixDQUs5QztNQUNMLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBSUwsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLDRCQUFpQixDQUMxQztJQUNULE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsU0FBUyxFQUFFLGdCQUFnQixHQUM5QjtFQUpMLEFBTUksaUJBTmEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsQ0FNOUM7SUFDTCxVQUFVLEVBQUUsT0FBTyxHQVV0QjtJQWpCTCxBQVFRLGlCQVJTLENBQUMsdUJBQXVCLENBQUMsd0JBQWlCLENBUW5ELEdBQUcsQ0FBQztNQUNBLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUI7SUFWVCxBQVdRLGlCQVhTLENBQUMsdUJBQXVCLENBQUMsd0JBQWlCLENBV25ELElBQUksQ0FBQztNQUNELEtBQUssRUFBRSxlQUFlO01BQ3RCLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFdBQVcsRUFBRSx5QkFBeUI7TUFDdEMsU0FBUyxFQUFFLE1BQU0sR0FDcEI7RUFoQlQsQUFtQkksaUJBbkJhLENBQUMsdUJBQXVCLENBQUMsaUNBQWlCLENBbUJyQztJQUNkLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFQUFFLElBQUksR0FDZDtFQXZCTCxBQXlCSSxpQkF6QmEsQ0FBQyx1QkFBdUIsQ0FBQyx3QkFBaUIsQ0F5QjlDO0lBQ0wsTUFBTSxFQUFFLGVBQWU7SUFDdkIsS0FBSyxFQUFFLGdCQUFnQixHQUMxQjtFQTVCTCxBQThCSSxpQkE5QmEsQ0FBQyx1QkFBdUIsQ0FBQyxxQ0FBaUIsQ0E4QmpDO0lBQ2xCLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBaENMLEFBa0NJLGlCQWxDYSxDQUFDLHVCQUF1QixDQUFDLCtCQUFpQjtFQUEzRCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxpQkFBaUIsQ0FtQ3ZELFNBQVMsQ0FBQztJQUNOLFNBQVMsRUFBRSxRQUFRO0lBQ25CLGFBQWEsRUFBRSxJQUFJLEdBQ3RCO0VBSUwsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLHVCQUFnQixDQUM3QztJQUNMLFNBQVMsRUFBRSxJQUFJLEdBS2xCO0lBUEwsQUFJUSxpQkFKUyxDQUFDLHVCQUF1QixDQUFDLHVCQUFnQixDQUlsRCxFQUFFLENBQUM7TUFDQyxNQUFNLEVBQUUsYUFBYSxHQUN4QjtFQU5ULEFBU1EsaUJBVFMsQ0FBQyx1QkFBdUIsQ0FBQyxnQkFBZ0IsQ0FRdEQsMkJBQWUsQ0FDRztJQUNWLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsS0FBSyxFQUFFLGVBQWUsR0FDekI7RUFaVCxBQWNRLGlCQWRTLENBQUMsdUJBQXVCLENBQUMsZ0JBQWdCLENBUXRELHVCQUFlLENBTUQ7SUFDTixTQUFTLEVBQUUsaUJBQWlCLEdBQy9CO0VBS1QsQUFDSSxpQkFEYSxDQUFDLHVCQUF1QixDQUFDLDJCQUFvQixDQUNqRDtJQUNMLFVBQVUsRUFBRSxLQUFLLEdBQ3BCO0VBSUwsQUFBQSx1QkFBdUIsQ0FBQyxXQUFXLENBQUM7SUFDaEMsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLHFCQUFxQjtJQUNsQyxHQUFHLEVBQUUsY0FBYyxHQUN0QjtFQUVELEFBQ0ksK0JBRDJCLENBQzNCLENBQUMsQ0FBQztJQUNFLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixBQUFBLE1BQU0sRUFBL0MsaUJBQWlCLEM1RHpxQnJCLGdCQUFnQixDQUVaLEVBQUUsQTREdXFCZ0IsdUJBQXVCLEU1RHpxQjdDLGdCQUFnQixDNER5cUJaLGlCQUFpQixDNUR2cUJqQixFQUFFLEE0RHVxQmdCLHVCQUF1QixFQUF6QyxpQkFBaUIsQzVEenFCckIsZ0JBQWdCLENBRVIsRUFBRSxBNER1cUJZLHVCQUF1QixFNUR6cUI3QyxnQkFBZ0IsQzREeXFCWixpQkFBaUIsQzVEdnFCYixFQUFFLEE0RHVxQlksdUJBQXVCLEVBQXpDLGlCQUFpQixDNUR6cUJyQixnQkFBZ0IsQ0FFSixFQUFFLEE0RHVxQlEsdUJBQXVCLEU1RHpxQjdDLGdCQUFnQixDNER5cUJaLGlCQUFpQixDNUR2cUJULEVBQUUsQTREdXFCUSx1QkFBdUIsRUFBekMsaUJBQWlCLEM1RHpxQnJCLGdCQUFnQixDQUVBLEVBQUUsQTREdXFCSSx1QkFBdUIsRTVEenFCN0MsZ0JBQWdCLEM0RHlxQlosaUJBQWlCLEM1RHZxQkwsRUFBRSxBNER1cUJJLHVCQUF1QixFQUF6QyxpQkFBaUIsQzVEenFCckIsZ0JBQWdCLENBRUksRUFBRSxBNER1cUJBLHVCQUF1QixFNUR6cUI3QyxnQkFBZ0IsQzREeXFCWixpQkFBaUIsQzVEdnFCRCxFQUFFLEE0RHVxQkEsdUJBQXVCLEVBQXpDLGlCQUFpQixDNUR6cUJyQixnQkFBZ0IsQ0FFUSxFQUFFLEE0RHVxQkosdUJBQXVCLEU1RHpxQjdDLGdCQUFnQixDNER5cUJaLGlCQUFpQixDNUR2cUJHLEVBQUUsQTREdXFCSix1QkFBdUIsRUFBekMsaUJBQWlCLEM1RHpxQnJCLGdCQUFnQixDNER5cUJNLHVCQUF1QixBNUR2cUJqQixHQUFHLEVBRi9CLGdCQUFnQixDNER5cUJaLGlCQUFpQixDQUFDLHVCQUF1QixBNUR2cUJqQixHQUFHLEU0RHVxQjNCLGlCQUFpQixDNUR6cUJyQixnQkFBZ0IsQzREeXFCTSx1QkFBdUIsQTVEdnFCWixHQUFHLEVBRnBDLGdCQUFnQixDNER5cUJaLGlCQUFpQixDQUFDLHVCQUF1QixBNUR2cUJaLEdBQUcsRTREdXFCaEMsaUJBQWlCLEM1RHpxQnJCLGdCQUFnQixDNER5cUJNLHVCQUF1QixBNUR2cUJQLEdBQUcsRUFGekMsZ0JBQWdCLEM0RHlxQlosaUJBQWlCLENBQUMsdUJBQXVCLEE1RHZxQlAsR0FBRyxFNER1cUJyQyxpQkFBaUIsQzVEenFCckIsZ0JBQWdCLEM0RHlxQk0sdUJBQXVCLEE1RHZxQkYsR0FBRyxFQUY5QyxnQkFBZ0IsQzREeXFCWixpQkFBaUIsQ0FBQyx1QkFBdUIsQTVEdnFCRixHQUFHLEU0RHVxQjFDLGlCQUFpQixDNUR6cUJyQixnQkFBZ0IsQzREeXFCTSx1QkFBdUIsQTVEdnFCRyxHQUFHLEVBRm5ELGdCQUFnQixDNER5cUJaLGlCQUFpQixDQUFDLHVCQUF1QixBNUR2cUJHLEdBQUcsRTREdXFCL0MsaUJBQWlCLEM1RHpxQnJCLGdCQUFnQixDNER5cUJNLHVCQUF1QixBNUR2cUJRLEdBQUcsRUFGeEQsZ0JBQWdCLEM0RHlxQlosaUJBQWlCLENBQUMsdUJBQXVCLEE1RHZxQlEsR0FBRyxDNER1cUJKO0lBQzVDLEtBQUssRUFBRSxjQUFjO0lBQ3JCLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUIsRUE3R0E7O0FDcmxCTCxBQUFBLGNBQWMsQ0FBQztFQUNYLEtBQUssRTNHUVksT0FBTyxHMkd1RDNCO0VBaEVELEFBR0ksY0FIVSxDQUdSLEtBQUssQ0FBQztJQUNKLEtBQUssRTNHS1EsT0FBTyxDMkdMQSxVQUFVLEdBQ2pDO0VBTEwsQUFPSSxxQkFQVSxDQU9EO0lBQ0wsY0FBYyxFQUFFLFNBQVM7SUFDekIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLEdBQUcsR0FLakI7SUFIRyxNQUFNLG1CQUxWO01BUEosQUFPSSxxQkFQVSxDQU9EO1FBTUQsT0FBTyxFQUFFLElBQUksR0FFcEIsRUFBQTtFQWZMLEFBaUJJLHNCQWpCVSxDQWlCQTtJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLGFBQWE7SUFDOUIsV0FBVyxFQUFFLE1BQU07SUFDbkIsUUFBUSxFQUFFLFFBQVEsR0FDckI7RUF0QkwsQUF3Qkksb0JBeEJVLENBd0JGO0lBQ0osUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUM7SUFDUixPQUFPLEVBQUUsQ0FBQztJQUNWLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsV0FBVyxFQUFFLEdBQUcsR0FpQm5CO0lBL0NMLEFBZ0NRLG9CQWhDTSxDQWdDTixDQUFDLENBQUM7TUFDRSxLQUFLLEUzR1NILEtBQUs7TTJHUlAsZUFBZSxFQUFFLFNBQVM7TUFDMUIsV0FBVyxFQUFFLElBQUk7TUFDakIsY0FBYyxFQUFFLFNBQVMsR0FDNUI7SUFyQ1QsQUF1Q1EsOEJBdkNNLENBdUNNO01BQ1IsS0FBSyxFQUFFLENBQUM7TUFDUixNQUFNLEVBQUUsQ0FBQztNQUNULE1BQU0sRUFBRSwwQkFBMEI7TUFDbEMsVUFBVSxFQUFFLENBQUM7TUFDYixhQUFhLEVBQUUsT0FBTyxDQUFDLEtBQUssQzNHbkNuQixPQUFPO00yR29DaEIsWUFBWSxFQUFFLFFBQVEsR0FDekI7RUE5Q1QsQUFpREksNEJBakRVLENBaURNO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixVQUFVLEVBQUUsTUFBTTtJQUNsQixLQUFLLEVBQUUsV0FBVztJQUNsQixPQUFPLEVBQUUsT0FBTztJQUNoQixnQkFBZ0IsRTNHOUNILE9BQU87STJHK0NwQixhQUFhLEVBQUUsU0FBUztJQUN4QixXQUFXLEVBQUUsT0FBTztJQUNwQixLQUFLLEUzR2hCQyxLQUFLLEcyR2lCZDtFQTNETCxBQTZESSxjQTdEVSxDQTZEVixDQUFDLENBQUM7SUFDRSxTQUFTLEVBQUUsTUFBTSxHQUNwQjs7QUUvREwsQUFBQSxXQUFXLENBQUM7RUFDUixPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxRQUFRO0VBQ2IsS0FBSyxFQUFFLEtBQUs7RUFDWixXQUFXLEVBQUUsTUFBTTtFQUNuQixVQUFVLEVBQUUsUUFBUSxHQXdGdkI7RUF0RkcsTUFBTSxtQ0FQVjtJQUFBLEFBQUEsV0FBVyxDQUFDO01BUUosY0FBYyxFQUFFLGNBQWM7TUFDOUIsS0FBSyxFQUFFLElBQUk7TUFDWCxHQUFHLEVBQUUsUUFBUTtNQUNiLGdCQUFnQixFcERxRE8sT0FBTztNb0RwRDlCLE9BQU8sRUFBRSxVQUFVO01BQ25CLFVBQVUsRUFBRSxDQUFDLEdBZ0ZwQixFQUFBO0VBN0ZELEFBZ0JJLHNCQWhCTyxDQWdCTTtJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0FtRXRCO0lBckZMLEFBb0JRLDJCQXBCRyxDQW9CSTtNQUNILEtBQUssRTdHc0NPLE9BQU87TTZHckNuQixLQUFLLEVBQUUsSUFBSTtNQUNYLE9BQU8sRUFBRSxnQkFBZ0I7TUFDekIsZUFBZSxFQUFFLElBQUk7TUFDckIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM3R2tDTCxPQUFPO002R2pDbkIsU0FBUyxFQUFFLE9BQU87TUFDbEIsV0FBVyxFQUFFLEdBQUcsR0E0Qm5CO01BMUJHLE1BQU0sbUNBVFY7UUFwQlIsQUFvQlEsMkJBcEJHLENBb0JJO1VBVUMsTUFBTSxFQUFFLElBQUk7VUFDWixPQUFPLEVBQUUsSUFBSTtVQUNiLFdBQVcsRUFBRSxNQUFNO1VBQ25CLGVBQWUsRUFBRSxNQUFNO1VBQ3ZCLEtBQUssRUFBRSxNQUFNO1VBQ2IsTUFBTSxFQUFFLE1BQU0sR0FvQnJCLEVBQUE7TUF2RFQsQUFzQ1ksb0NBdENELENBc0NZO1FBQ1AsZ0JBQWdCLEU3R29CUixPQUFPO1E2R25CZixLQUFLLEVBQUUsS0FBSztRQUNaLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDN0drQlQsT0FBTyxHNkdibEI7UUFIRyxNQUFNLG1DQUxWO1VBdENaLEFBc0NZLG9DQXRDRCxDQXNDWTtZQU1ILGFBQWEsRUFBRSxHQUFHLEdBRXpCLEVBQUE7TUFHRyxNQUFNLG1DQURWO1FBaERaLEFBZ0RZLHlDQWhERCxDQWdEaUI7VUFFUixZQUFZLEVBQUUsQ0FBQztVQUNmLGFBQWEsRUFBRSxDQUFDO1VBQ2hCLEtBQUssRUFBRSxLQUFLLEdBRW5CLEVBQUE7SUFJRCxNQUFNLG1DQURWO01BekRSLEFBeURRLDRCQXpERyxDQXlESztRQUVBLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxFQUFFLE1BQU0sR0FFbEIsRUFBQTtJQTlEVCxBQWlFWSxtQ0FqRUQsQ0FpRVU7TUFDTCxzQkFBc0IsRUFBRSxHQUFHO01BQzNCLHlCQUF5QixFQUFFLEdBQUcsR0FNakM7TUFKRyxNQUFNLG1DQUpWO1FBakVaLEFBaUVZLG1DQWpFRCxDQWlFVTtVQUtELFlBQVksRUFBRSxDQUFDO1VBQ2YsYUFBYSxFQUFFLFFBQVEsR0FFOUIsRUFBQTtJQXpFYixBQTJFWSxrQ0EzRUQsQ0EyRVM7TUFDSix1QkFBdUIsRUFBRSxHQUFHO01BQzVCLDBCQUEwQixFQUFFLEdBQUcsR0FNbEM7TUFKRyxNQUFNLG1DQUpWO1FBM0VaLEFBMkVZLGtDQTNFRCxDQTJFUztVQUtBLGFBQWEsRUFBRSxDQUFDO1VBQ2hCLFlBQVksRUFBRSxRQUFRLEdBRTdCLEVBQUE7RUFuRmIsQUF3RlEsaUJBeEZHLENBd0ZILElBQUksQ0FBQztJQUNELEtBQUssRTdHbERILElBQUk7STZHbUROLFNBQVMsRUFBRSxNQUFNLEdBQ3BCOztFRHpGUCxBQUFGLGlDQUFtQyxDQUFDO0VBQ2hDLE9BQU8sRUFBRSxJQUFJO0VBQ2Isa0JBQWtCLEVBQUUsSUFBSSxHQUMzQjs7QUFFRCxBQUFBLFdBQVcsQ0FBQztFQUNSLE9BQU8sRUFBRSxJQUFJLEdBMEJoQjtFQXhCRyxNQUFNLG1DQUhWO0lBQUEsQUFBQSxXQUFXLENBQUM7TUFJSixPQUFPLEVBQUUsSUFBSTtNQUNiLGdCQUFnQixFNUcyRUUsT0FBTztNNEcxRXpCLE9BQU8sRUFBRSxtQkFBbUI7TUFDNUIsZUFBZSxFQUFFLE1BQU07TUFDdkIsV0FBVyxFQUFFLE1BQU07TUFDbkIsR0FBRyxFQUFFLFFBQVEsR0FrQnBCLEVBQUE7RUEzQkQsQUFZSSxXQVpPLENBWVAsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFNUdzQkMsS0FBSztJNEdyQlgsTUFBTSxFQUFFLENBQUMsR0FDWjtFQWZMLEFBaUJJLFdBakJPLENBaUJQLENBQUMsQ0FBQztJQUNFLEtBQUssRTVHaUJDLEtBQUs7STRHaEJYLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUF0QkwsQUF3QkksdUJBeEJPLENBd0JPO0lBQ1YsV0FBVyxFQUFFLEtBQUssR0FDckI7O0FBR0wsQUFBQSxvQkFBb0IsQ0FBQztFQUNqQixNQUFNLEVBQUUsS0FBSztFQUNiLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQUVELEFBQUEscUJBQXFCLENBQUM7RUFDbEIsVUFBVSxFQUFFLE1BQU07RUFDbEIsVUFBVSxFQUFFLG1CQUFtQixHQUNsQzs7QUFFRCxBQUFBLHVCQUF1QixFQUFFLGlCQUFpQixDQUFDO0VBQ3ZDLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBRVEsdUJBRkQsRUFBUCxvQkFBTyxDQUVTO0VBQ0osT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBSlQsQUFNWSxpQkFOTCxDQUtDLEtBQUssQ0FDRCxLQUFLLEVBTmpCLGNBQU8sQ0FLQyxLQUFLLENBQ0QsS0FBSyxDQUFDO0VBQ0YsUUFBUSxFQUFFLE1BQU07RUFDaEIsR0FBRyxFQUFFLENBQUMsR0FDVDs7QUFUYixBQVVZLGlCQVZMLENBS0MsS0FBSyxDQUtELEtBQUssQ0FBQyxFQUFFLEVBVnBCLGNBQU8sQ0FLQyxLQUFLLENBS0QsS0FBSyxDQUFDLEVBQUUsQ0FBQztFQUNMLGdCQUFnQixFNUd0QmxCLElBQUk7RTRHdUJGLEtBQUssRTVHcEJQLEtBQUssRzRHcUJOOztBQWJiLEFBY1ksaUJBZEwsQ0FLQyxLQUFLLENBU0QsS0FBSyxDQUFDLEVBQUUsRUFkcEIsY0FBTyxDQUtDLEtBQUssQ0FTRCxLQUFLLENBQUMsRUFBRSxDQUFDO0VBQ0wsT0FBTyxFQUFFLGVBQWU7RUFDeEIsY0FBYyxFQUFFLFNBQVMsR0FJNUI7RUFwQmIsQUFpQmdCLGlCQWpCVCxDQUtDLEtBQUssQ0FTRCxLQUFLLENBQUMsRUFBRSxDQUdKLENBQUMsRUFqQmpCLGNBQU8sQ0FLQyxLQUFLLENBU0QsS0FBSyxDQUFDLEVBQUUsQ0FHSixDQUFDLENBQUM7SUFDRSxTQUFTLEVBQUUsTUFBTSxHQUNwQjs7QUFuQmpCLEFBcUJZLGlCQXJCTCxDQUtDLEtBQUssQ0FnQkQsS0FBSyxDQUFDLEVBQUUsQ0FBQyxTQUFVLENBQUEsR0FBRyxFQUFFLEVBQUUsQ0FBQyxXQUFXLEVBckJsRCxjQUFPLENBS0MsS0FBSyxDQWdCRCxLQUFLLENBQUMsRUFBRSxDQUFDLFNBQVUsQ0FBQSxHQUFHLEVBQUUsRUFBRSxDQUFDLFdBQVcsQ0FBQztFQUNuQyxnQkFBZ0IsRTVHdENOLE9BQU8sRzRHdUNwQjs7QUF2QmIsQUE0QlEsZ0JBNUJELENBNEJDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQztBQTVCdkIsZ0JBQU8sQ0E2QkMsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDO0FBN0J2QixnQkFBTyxDQThCQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsR0E5QnZCLGFBQU8sQ0E0QkMsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDO0FBNUJ2QixhQUFPLENBNkJDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQztBQTdCdkIsYUFBTyxDQThCQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsRUFDZjtFQUNJLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQWpDVCxBQW1DUSxnQkFuQ0QsQ0FtQ0MsR0FBRyxDQUFDLFNBQVUsQ0FBQSxDQUFDLEdBbkN2QixhQUFPLENBbUNDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ2IsS0FBSyxFNUc3RUksT0FBTztFNEc4RWhCLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQXRDVCxBQXlDSSxnQkF6Q0csRUFBUCxhQUFPLENBeUNpQjtFQUNoQixPQUFPLEVBQUUsSUFBSTtFQUNiLFVBQVUsRUFBRSxXQUFXLEdBUzFCO0VBcERMLEFBNENRLGdCQTVDRCxDQTRDQyxHQUFHLENBQUMsV0FBVyxFQTVDdkIsYUFBTyxDQTRDQyxHQUFHLENBQUMsV0FBVyxDQUFDO0lBQ1osS0FBSyxFNUd4REgsSUFBSTtJNEd5RE4sYUFBYSxFQUFFLElBQUksR0FDdEI7RUEvQ1QsQUFnRFEsZ0JBaERELENBZ0RDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxHQWhEdkIsYUFBTyxDQWdEQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsRUFBRTtJQUNiLEtBQUssRTVHMUZJLE9BQU87STRHMkZoQixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFuRFQsQUF1RFEsZ0JBdkRELENBdURDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ2IsS0FBSyxFNUdqR0ksT0FBTztFNEdrR2hCLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBQTFEVCxBQTREUSx1QkE1REQsQ0E0RFU7RUFDTCxPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxVQUFVO0VBQ3ZCLEdBQUcsRUFBRSxRQUFRO0VBQ2IsZUFBZSxFQUFFLGFBQWEsR0FPakM7RUF2RVQsQUFrRVksdUJBbEVMLENBa0VLLEdBQUcsQ0FBQztJQUNBLGdCQUFnQixFNUc3QkEsT0FBTztJNEc4QnZCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE9BQU8sRUFBRSxlQUFlLEdBQzNCOztBQXRFYixBQTJFUSxhQTNFRCxDQTJFQyxHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsRUFBRTtFQUNiLEtBQUssRTVHckhJLE9BQU87RTRHc0hoQixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUE5RVQsQUFpRkksb0JBakZHLENBaUZZO0VBQ1gsV0FBVyxFQUFFLElBQUk7RUFDakIsS0FBSyxFNUc5RkMsSUFBSSxHNEcrRmI7O0FBcEZMLEFBc0ZJLGdCQXRGRyxDQXNGUTtFQUNQLGdCQUFnQixFNUduQ0YsT0FBTztFNEdvQ3JCLE9BQU8sRUFBRSxXQUFXO0VBQ3BCLFVBQVUsRUFBRSxXQUFXLEdBK0gxQjtFQXhOTCxBQTJGUSxnQkEzRkQsQ0EyRkMsS0FBSyxFQTNGYixnQkFBTyxDQTJGUSxNQUFNLEVBM0ZyQixnQkFBTyxDQTJGZ0IsU0FBUyxDQUFDLElBQUksRUEzRnJDLGdCQUFPLENBMkZnQyxtQkFBbUIsQ0FBQyxJQUFJLEVBM0YvRCxnQkFBTyxDQTJGMEQsU0FBUyxDQUFDO0lBQy9ELFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBN0ZULEFBK0ZRLHVCQS9GRCxDQStGVTtJQUNMLEdBQUcsRUFBRSxJQUFJO0lBQ1QsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsYUFBYTtJQUM5QixXQUFXLEVBQUUsTUFBTSxHQU90QjtJQUxHLE1BQU0sb0JBQ0Y7TUF0R2hCLEFBc0dnQix1QkF0R1QsQ0FzR1c7UUFDRSxTQUFTLEVBQUUsSUFBSSxHQUNsQixFQUFBO0VBeEdqQixBQTRHUSxnQkE1R0QsQ0E0R0MsT0FBTyxDQUFDO0lBQ0osU0FBUyxFQUFFLGdCQUFnQjtJQUMzQixLQUFLLEVBQUUsSUFBSSxHQXFCZDtJQW5JVCxBQStHWSxnQkEvR0wsQ0E0R0MsT0FBTyxDQUdILEtBQUssQ0FBQztNQUNFLE1BQU0sRUFBRSxLQUFLO01BQ2IsZ0JBQWdCLEVBQUUsd0NBQXdDO01BQzFELGVBQWUsRUFBRSxNQUFNO01BQ3ZCLG1CQUFtQixFQUFFLE9BQU87TUFDNUIsT0FBTyxFQUFFLFlBQVk7TUFDckIsWUFBWSxFNUdqRVYsT0FBTyxDNEdpRTBCLFVBQVU7TUFDN0MsYUFBYSxFQUFFLGVBQWU7TUFDOUIsU0FBUyxFQUFFLGdCQUFnQjtNQUMzQixLQUFLLEVBQUUsSUFBSSxHQUNsQjtJQUNELE1BQU0sb0JBQ0Y7TUEzSGhCLEFBMkhnQixnQkEzSFQsQ0E0R0MsT0FBTyxDQWVHO1FBQ0UsU0FBUyxFQUFFLGdCQUFnQixHQUs5QjtRQWpJakIsQUE4SG9CLGdCQTlIYixDQTRHQyxPQUFPLENBa0JLLEtBQUssQ0FBQztVQUNGLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUIsRUFDSjtFQWpJakIsQUF1SVksZ0JBdklMLENBcUlDLFNBQVMsQ0FFTCxJQUFJO0VBdkloQixnQkFBTyxDQXNJQyxtQkFBbUIsQ0FDZixJQUFJLENBQUM7SUFDRCxNQUFNLEVBQUUsT0FBTztJQUNmLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0VBMUliLEFBNElZLGdCQTVJTCxDQXFJQyxTQUFTLENBT0wsSUFBSSxFQTVJaEIsZ0JBQU8sQ0FxSUMsU0FBUyxDQU9DLENBQUM7RUE1SW5CLGdCQUFPLENBc0lDLG1CQUFtQixDQU1mLElBQUk7RUE1SWhCLGdCQUFPLENBc0lDLG1CQUFtQixDQU1ULENBQUMsQ0FBQztJQUNKLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLEtBQUssRTVHekpQLElBQUk7STRHMEpGLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0VBaEpiLEFBbUpRLGdCQW5KRCxDQW1KQyxTQUFTLENBQUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLEdBQUcsRUFBRSxJQUFJLEdBZ0JaO0lBdEtULEFBd0pZLGdCQXhKTCxDQW1KQyxTQUFTLENBS0wsTUFBTSxDQUFDO01BQ0gsTUFBTSxFQUFFLE9BQU87TUFDZixNQUFNLEVBQUUsV0FBVztNQUNuQixhQUFhLEVBQUUsS0FBSztNQUNwQixNQUFNLEVBQUUsS0FBSztNQUNiLFNBQVMsRUFBRSxJQUFJO01BQ2YsZ0JBQWdCLEU1R3RLbEIsS0FBSztNNEd1S0gsYUFBYSxFQUFFLElBQUk7TUFDbkIsWUFBWSxFQUFFLHFCQUFxQixHQUt0QztNQUhHLE1BQU0sbUJBVlY7UUF4SlosQUF3SlksZ0JBeEpMLENBbUpDLFNBQVMsQ0FLTCxNQUFNLENBQUM7VUFXQyxTQUFTLEVBQUUsS0FBSyxHQUV2QixFQUFBO0VBcktiLEFBd0tRLGdCQXhLRCxDQXdLQyxtQkFBbUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQTFLVCxBQTRLUSxnQkE1S0QsQ0E0S0MsU0FBUyxDQUFDO0lBQ04sR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLElBQUksR0FvQm5CO0lBcE1ULEFBa0xZLGdCQWxMTCxDQTRLQyxTQUFTLENBTUwsUUFBUSxDQUFDO01BQ0wsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVuRHRJRCxPQUFPO01tRHVJWCxnQkFBZ0IsRTVHN0xsQixLQUFLO000RzhMSCxXQUFXLEVBQUUsR0FBRztNQUNoQixjQUFjLEVBQUUsU0FBUztNQUN6QixhQUFhLEVBQUUsS0FBSztNQUNwQixNQUFNLEVBQUUsT0FBTztNQUNmLGNBQWMsRUFBRSxDQUFDLEdBTXBCO01BaE1iLEFBNExnQixnQkE1TFQsQ0E0S0MsU0FBUyxDQU1MLGdCQUFRLENBVU07UUFDTixnQkFBZ0IsRTVHdE9mLE9BQU87UTRHdU9SLEtBQUssRTVHdE1YLEtBQUssRzRHdU1GO0lBL0xqQixBQWlNWSxnQkFqTUwsQ0E0S0MsU0FBUyxDQXFCTCxNQUFNLENBQUM7TUFDSCxPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQW5NYixBQXNNUSxnQkF0TUQsQ0FzTUMsUUFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVBQUUsTUFBTSxHQWNwQjtJQXZOVCxBQTJNWSxnQkEzTUwsQ0FzTUMsUUFBUSxDQUtKLGFBQWEsQ0FBQztNQUNWLEdBQUcsRUFBRSxPQUFPO01BQ1osS0FBSyxFQUFFLFFBQVEsR0FDbEI7SUE5TWIsQUFnTlksZ0JBaE5MLENBc01DLFFBQVEsQ0FVSixlQUFlLENBQUM7TUFDWixXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQWxOYixBQW9OWSxnQkFwTkwsQ0FzTUMsUUFBUSxDQWNKLFdBQVcsQ0FBQztNQUNSLEtBQUssRTVHNU1HLE9BQU8sQzRHNE1lLFVBQVUsR0FDM0M7O0FFeFFiLEFBQUEsWUFBWSxDQUFDO0VBQ1QsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsYUFBYSxFQUFFLEtBQUssR0FLdkI7RUFURCxBQU1JLDBCQU5RLENBTVE7SUFDWixVQUFVLEVBQUUsS0FBSyxHQUNwQjs7QUFHTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5RzRFVyxPQUFPO0U4RzNFbkMsYUFBYSxFQUFFLEdBQUc7RUFDbEIsS0FBSyxFQUFFLEtBQUs7RUFDWixNQUFNLEVBQUUsS0FBSztFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsZUFBZSxFQUFFLE1BQU07RUFDdkIsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLE1BQU0sR0FzQnRCO0VBL0JELEFBV0ksd0JBWGEsQ0FXSjtJQUNMLG9CQUFvQixFQUFFLFNBQVM7SUFDL0IsU0FBUyxFQUFFLE9BQU87SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsYUFBYSxFQUFFLElBQUksR0FDdEI7RUFqQkwsQUFtQkksd0JBbkJhLENBbUJKO0lBQ0wsS0FBSyxFQUFFLEdBQUc7SUFDVixhQUFhLEVBQUUsUUFBUTtJQUN2QixXQUFXLEVBQUUsTUFBTTtJQUNuQixRQUFRLEVBQUUsTUFBTTtJQUNoQixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQXpCTCxBQTJCSSx3QkEzQmEsRUFBakIscUNBQWlCLENBMkJtQjtJQUM1QixLQUFLLEU5R0FDLElBQUk7SThHQ1YsYUFBYSxFQUFFLEtBQUssR0FDdkI7O0FBR0wsQUFBQSx3QkFBd0IsQ0FBQztFQUNyQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlHMkNXLE9BQU87RThHMUNuQyxhQUFhLEVBQUUsR0FBRztFQUNsQixLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixlQUFlLEVBQUUsTUFBTTtFQUN2QixZQUFZLEVBQUUsSUFBSSxHQUNyQjs7QUFHRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLGFBQWEsRUFBRSxNQUFNLEdBUXhCO0VBVEQsQUFHSSw4QkFIbUIsQ0FHVjtJQUNMLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLEtBQUs7SUFDVixTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUdMLEFBQ0ksc0JBRFUsQ0FDQTtFQUNOLE9BQU8sRUFBRSxJQUFJO0VBQ2IsYUFBYSxFQUFFLElBQUk7RUFDbkIsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBTEwsQUFNSSxxQkFOVSxDQU1EO0VBQ0wsT0FBTyxFQUFFLGdCQUFnQixHQUM1Qjs7QUFSTCxBQVNJLG9CQVRVLENBU0Y7RUFDSixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxNQUFNO0VBQ3RCLFVBQVUsRUFBRSxLQUFLLEdBZ0JwQjtFQTVCTCxBQWNRLG9CQWRNLENBY04sSUFBSSxDQUFDO0lBQ0QsS0FBSyxFOUczQ0gsSUFBSSxHOEc0Q1Q7RUFoQlQsQUFrQlEsb0JBbEJNLENBa0JOLElBQUksQ0FBQyxXQUFXLENBQUM7SUFDYixTQUFTLEVBQUUsUUFBUTtJQUNuQixXQUFXLEVBQUUsSUFBSTtJQUNqQixXQUFXLEVBQUUsU0FBUyxHQUN6QjtFQXRCVCxBQXdCUSxvQkF4Qk0sQ0F3Qk4sSUFBSSxDQUFDLFVBQVUsQ0FBQztJQUNaLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFdBQVcsRUFBRSxPQUFPLEdBQ3ZCOztBQUlULEFBQ0ksK0JBRFksQ0FDSztFQUNiLFNBQVMsRUFBRSxDQUFDLEdBU2Y7RUFYTCxBQUdRLCtCQUhRLENBR1IsS0FBSyxDQUFDO0lBQ0YsVUFBVSxFOUc1RFIsS0FBSztJOEc2RFAsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFDLG1CQUFtQjtJQUMzQyxhQUFhLEVBQUUsY0FBYztJQUM3QixZQUFZLEU5Ry9EVixLQUFLLEM4RytEbUIsVUFBVTtJQUNwQyxNQUFNLEVBQUUsZUFBZTtJQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFWVCxBQVlJLHdCQVpZLENBWUY7RUFDTixZQUFZLEVBQUUsSUFBSSxHQUNyQjs7QUFkTCxBQWVJLHVCQWZZLENBZUg7RUFDTCxPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxJQUFJO0VBQ2YsV0FBVyxFQUFFLEdBQUc7RUFDaEIsZUFBZSxFQUFFLGFBQWE7RUFDOUIsYUFBYSxFQUFFLElBQUksR0FLdEI7RUF6QkwsQUFzQlEsdUJBdEJRLENBc0JSLEVBQUUsRUF0QlYsdUJBQWdCLENBc0JKLE9BQU8sQ0FBQztJQUNSLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQUlULEFBQUEsYUFBYSxDQUFDO0VBQ1YsYUFBYSxFQUFFLElBQUksR0FzRXRCO0VBdkVELEFBR0ksd0JBSFMsQ0FHSTtJQUNULFVBQVUsRUFBRSxLQUFLLEdBQ3BCO0VBTEwsQUFPSSxxQkFQUyxDQU9DO0lBQ04sTUFBTSxFQUFFLElBQUksR0FjZjtJQXRCTCxBQVVRLHFCQVZLLENBVUwsRUFBRSxDQUFDO01BQ0MsVUFBVSxFOUdqRFUsT0FBTyxDOEdpRGdCLFVBQVU7TUFDckQsT0FBTyxFQUFFLFFBQVEsR0FDcEI7SUFiVCxBQWNRLHFCQWRLLENBY0wsRUFBRSxDQUFDLFdBQVcsQ0FBQztNQUNYLHNCQUFzQixFQUFFLEdBQUc7TUFDM0IseUJBQXlCLEVBQUUsR0FBRyxHQUNqQztJQWpCVCxBQWtCUSxxQkFsQkssQ0FrQkwsRUFBRSxDQUFDLFVBQVUsQ0FBQztNQUNWLDBCQUEwQixFQUFFLEdBQUc7TUFDL0IsdUJBQXVCLEVBQUUsR0FBRyxHQUMvQjtFQXJCVCxBQXdCSSxrQkF4QlMsQ0F3QkY7SUFDSCxVQUFVLEU5RzdHSixLQUFLLEM4RzZHYyxVQUFVLEdBZXRDO0lBeENMLEFBMkJRLGtCQTNCSyxDQTJCTCxFQUFFLENBQUM7TUFDQyxhQUFhLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlHdkVKLE9BQU87TThHd0UzQixTQUFTLEVBQUUsT0FBTztNQUNsQixNQUFNLEVBQUUsSUFBSTtNQUNaLE9BQU8sRUFBRSxRQUFRLEdBQ3BCO0lBaENULEFBaUNRLGtCQWpDSyxDQWlDTCxDQUFDLENBQUM7TUFDRSxlQUFlLEVBQUUsU0FBUztNQUMxQixLQUFLLEU5R3pIUyxPQUFPLEc4RzBIeEI7SUFwQ1QsQUFxQ1Esa0JBckNLLENBcUNMLENBQUMsQ0FBQyxLQUFLLENBQUM7TUFDSixlQUFlLEVBQUUsT0FBTyxHQUMzQjtFQXZDVCxBQTBDSSxvQkExQ1MsQ0EwQ0E7SUFDTCxTQUFTLEVBQUUsUUFBUTtJQUNuQixLQUFLLEU5R2hJQyxLQUFLO0k4R2lJWCxXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsU0FBUyxHQVF6QjtJQXRETCxBQWdEUSw4QkFoREssQ0FnRE87TUFDUixLQUFLLEVBQUUsS0FBSyxHQUNmO0lBbERULEFBbURRLDhCQW5ESyxDQW1ETztNQUNSLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFyRFQsQUF3REksMEJBeERTLENBd0RNO0lBQ1gsVUFBVSxFQUFFLElBQUksR0FDbkI7RUExREwsQUE0REksNEJBNURTLENBNERRO0lBQ2IsUUFBUSxFQUFFLE1BQU07SUFDaEIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsT0FBTyxFQUFFLFdBQVc7SUFDcEIsa0JBQWtCLEVBQUUsQ0FBQztJQUNyQixVQUFVLEVBQUUsQ0FBQztJQUNiLGtCQUFrQixFQUFFLFFBQVEsR0FDL0I7RUFuRUwsQUFvRUksNEJBcEVTLENBb0VRO0lBQ2IsV0FBVyxFQUFFLEtBQUssR0FDckI7O0FBR0wsQUFBQSwwQkFBMEIsQ0FBQztFQUN2QixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLGlCQUFpQjtBQUNqQix3QkFBd0IsQ0FBQztFQUNyQixLQUFLLEVBQUUsS0FBSyxHQUlmO0VBTkQsQUFHSSxpQkFIYSxDQUdiLENBQUM7RUFGTCx3QkFBd0IsQ0FFcEIsQ0FBQyxDQUFDO0lBQ0UsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBR0wsQUFDSSx3QkFEb0IsQ0FDcEIsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFQUFFLE9BQXFCLEdBQy9COztBQUhMLEFBSUksd0JBSm9CLENBSXBCLE9BQU8sRUFKWCx3QkFBd0IsQ3NCM014QixzQkFBYSxDQXVFTCxDQUFDLEVBdkVULHNCQUFhLEN0QjJNYix3QkFBd0IsQ3NCcEloQixDQUFDLEN0QndJRztFQUNKLGdCQUFnQixFQUFFLEtBQUs7RUFDdkIsS0FBSyxFQUFFLE9BQXFCLEdBQy9COztBQVBMLEFBUUksd0JBUm9CLENBUXBCLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQ1IsS0FBSyxFQUFFLEtBQUssR0FDZjs7QUFHTCxBQUFBLDJCQUEyQixDQUFDO0VBQ3hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLE9BQU87RUFDakIsa0JBQWtCLEVBQUUsY0FBYztFQUNsQyxVQUFVLEVBQUUsTUFBTTtFQUNsQixjQUFjLEVBQUUsTUFBTTtFQUN0QixjQUFjLEVBQUUsSUFBSSxHQUN2Qjs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3BCLFdBQVcsRUFBRSxXQUFXLEdBQzNCOztBQUVELE1BQU0sb0JBQ0Y7RUFBQSxBQUFBLFlBQVksQ0FBQztJQUNULFNBQVMsRUFBRSxLQUFLLEdBQ25CLEVBQUE7O0FBR0wsTUFBTSxtQkFDRjtFQUFBLEFBQUEsd0JBQXdCLENBQUM7SUFDckIsS0FBSyxFQUFFLEtBQUssR0FDZjtFQUVELEFBQUEsMkJBQTJCLENBQUM7SUFDeEIsa0JBQWtCLEVBQUUsY0FBYyxHQUNyQyxFQUpBOztBQ3RQTDs7NEVBRTRFO0NDRjNFLEFBQUQsSUFBSyxDQUFDO0VBQ0YsY0FBYyxDQUFBLGFBQUM7RUFDZixvQkFBb0IsQ0FBQSxhQUFDLEdBQ3hCOztBQUVELEFBQUEsR0FBRyxBQUFBLGFBQWEsQ0FBQztFQUNiLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQUVELEFBQUEsS0FBSyxBQUFBLFVBQVUsQ0FBQztFQUNaLEtBQUssRUFBRSxlQUFlLEdBQ3pCOztBQ1RELEFBQUEsV0FBVyxDQUFDO0VBQ1YsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqSGlGTyxPQUFPO0VpSGhGL0IsTUFBTSxFQUFFLGVBQWUsR0FDeEI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDZCxPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLGFBQWE7RUFDcEMsUUFBUSxFQUFFLElBQUk7RUFDZCxhQUFhLEVBQUUsQ0FBQyxHQUtqQjtFQVRELEFBTUUsZUFOYSxHQU1ULENBQUMsQ0FBQztJQUNKLFFBQVEsRUFBRSxNQUFNLEdBQ2pCOztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ2IsT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsUUFBUTtFQUNiLFVBQVUsRUFBRSxJQUFJLEdBS2pCO0VBUkQsQUFLRSxjQUxZLEdBS1IsQ0FBQyxDQUFDO0lBQ0osS0FBSyxFQUFFLEdBQUcsR0FDWDs7QUFHSCxBQUVFLHlCQUZ1QixDQUV2QixJQUFJLENBQUM7RUFDSCxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxJQUFJO0VBQ2Qsa0JBQWtCLEVBQUUsMEJBQTBCO0VBQzlDLE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBUEgsQUFTRSx5QkFUdUIsQ0FTdkIsS0FBSyxDQUFDO0VBQ0osV0FBVyxFQUFFLEtBQUs7RUFDbEIsV0FBVyxFQUFFLElBQUk7RUFDakIsU0FBUyxFQUFFLElBQUk7RUFDZixXQUFXLEVBQUUsUUFBUTtFQUNyQixhQUFhLEVBQUUsQ0FBQyxHQUNqQjs7QUFmSCxBQWlCRSx5QkFqQnVCLENBaUJ2QixFQUFFLEFBQUEsVUFBVSxDQUFDO0VBQ1QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsTUFBTSxFQUFFLFFBQVE7RUFDaEIsS0FBSyxFakh5RFUsT0FBTztFaUh4RHRCLFNBQVMsRUFBRSxRQUFRO0VBQ25CLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBM0JILEFBNkJFLHlCQTdCdUIsQ0E2QnZCLEtBQUssRUE3QlAseUJBQXlCLENBNkJoQixRQUFRLENBQUM7RUFDZCxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hEb0NELE9BQU87RXdEbkN2QixVQUFVLEVBQUUsVUFBVTtFQUN0QixhQUFhLEVBQUUsUUFBUTtFQUN2QixNQUFNLEVBQUUsWUFBWTtFQUNwQixTQUFTLEVBQUUsS0FBSyxHQUNqQjs7QUFuQ0gsQUFxQ0UseUJBckN1QixDQXFDdkIsUUFBUSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUksR0FDYjs7QUF2Q0gsQUF5Q0UseUJBekN1QixDQXlDdkIsYUFBYSxFQUFFLFdBQVcsRUF6QzVCLHlCQUF5QixDQXlDSyxvQkFBb0IsRUFBRSxXQUFXLENBQUM7RUFDNUQsS0FBSyxFakg4QmtCLE9BQU87RWlIN0I5QixTQUFTLEVBQUUsUUFBUSxHQUNwQjs7QUFHSCxBQUFBLHNCQUFzQixDQUFDO0VBQ3JCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsWUFBWSxFQUFFLElBQUk7RUFDbEIsa0JBQWtCLEVBQUUsK0JBQStCLEdBMkVwRDtFQS9FRCxBQU1FLHNCQU5vQixDQU1wQixrQkFBa0IsQ0FBQztJQUNqQixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFdBQVcsRUFBRSxLQUFLLEdBTW5CO0lBaEJILEFBWUksc0JBWmtCLENBTXBCLGtCQUFrQixDQU1oQixHQUFHLENBQUM7TUFDRixNQUFNLEVBQUUsSUFBSTtNQUNaLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBZkwsQUFrQkUsc0JBbEJvQixDQWtCcEIsZ0JBQWdCLENBQUM7SUFDZixPQUFPLEVBQUUsZUFBZSxHQUN6QjtFQXBCSCxBQXNCRSxzQkF0Qm9CLENBc0JwQixnQkFBZ0IsQ0FBQztJQUNmLEtBQUssRUFBRSxXQUFXO0lBQ2xCLE1BQU0sRUFBRSxRQUFRO0lBQ2hCLFVBQVUsRWpISU0sT0FBTztJaUhIdkIsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixPQUFPLEVBQUUsWUFBWSxHQVN0QjtJQXBDSCxBQTZCSSxzQkE3QmtCLENBc0JwQixnQkFBZ0IsQ0FPZCxDQUFDLENBQUM7TUFDQSxXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsUUFBUTtNQUNuQixXQUFXLEVBQUUsT0FBTztNQUNwQixLQUFLLEVqSHBFZSxPQUFPO01pSHFFM0IsY0FBYyxFQUFFLE9BQU8sR0FDeEI7RUFuQ0wsQUFzQ0Usc0JBdENvQixDQXNDcEIscUJBQXFCLENBQUM7SUFDcEIsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSSxHQVdWO0lBbkRILEFBMENJLHNCQTFDa0IsQ0FzQ3BCLHFCQUFxQixDQUluQixrQkFBa0IsQ0FBQztNQUNqQixPQUFPLEVBQUUsQ0FBQztNQUNWLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxRQUFRLEdBQ2Y7SUE5Q0wsQUErQ0ksc0JBL0NrQixDQXNDcEIscUJBQXFCLENBU25CLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsR0FBa0IsTUFBTSxDQUFDO01BQzdCLE1BQU0sRUFBRSxLQUFLO01BQ2IsTUFBTSxFQUFFLENBQUMsR0FDVjtFQWxETCxBQXFERSxzQkFyRG9CLENBcURwQixpQkFBaUIsQ0FBQztJQUNoQixPQUFPLEVBQUUsV0FBVztJQUNwQixRQUFRLEVBQUUsUUFBUTtJQUNsQixJQUFJLEVBQUUsT0FBTztJQUNiLE1BQU0sRUFBRSxRQUFRLEdBZ0JqQjtJQXpFSCxBQTJESSxzQkEzRGtCLENBcURwQixpQkFBaUIsQ0FNZixrQkFBa0IsQ0FBQztNQUNqQixhQUFhLEVBQUUsQ0FBQztNQUNoQixXQUFXLEVBQUUsSUFBSTtNQUNqQixTQUFTLEVBQUUsUUFBUTtNQUNuQixXQUFXLEVBQUUsSUFBSTtNQUNqQixLQUFLLEVqSG5HZSxPQUFPO01pSG9HM0IsV0FBVyxFQUFFLEtBQUs7TUFDbEIsY0FBYyxFQUFFLElBQUksR0FDckI7SUFuRUwsQUFxRUksc0JBckVrQixDQXFEcEIsaUJBQWlCLENBZ0JmLGlCQUFpQixDQUFDO01BQ2hCLFNBQVMsRUFBRSxRQUFRO01BQ25CLFVBQVUsRUFBRSxJQUFJLEdBQ2pCO0VBeEVMLEFBMkVFLHNCQTNFb0IsQ0EyRXBCLGNBQWMsQ0FBQztJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLFFBQVEsR0FDMUI7O0FBR0gsQUFBQSxLQUFLLENBQUM7RUFDSixVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsUUFBUTtFQUNuQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVqSDVEb0IsT0FBTztFaUg2RGhDLFVBQVUsRUFBRSxJQUFJLEdBQ2pCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLFFBQVE7RUFDckIsTUFBTSxFQUFFLGNBQWM7RUFDdEIsVUFBVSxFQUFFLElBQUksR0FDakI7O0FBRUQsQUFDRSxjQURZLENBQ1osTUFBTSxBQUFBLGVBQWUsQ0FBQztFQUNwQixPQUFPLEVBQUUsc0JBQXNCO0VBQy9CLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDeERoRkQsT0FBTztFd0RpRnZCLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLEtBQUs7RUFDaEIsYUFBYSxFQUFFLFFBQVE7RUFDdkIsZUFBZSxFQUFFLElBQUk7RUFDckIsZUFBZSxFeER0RkMsT0FBTyxDd0RzRmEsV0FBVyxHQVFsRDtFQWpCRCxBQVdFLGNBWFksQ0FDWixNQUFNLEFBQUEsZUFBZSxDQVVyQixNQUFNLENBQUM7SUFDTCxNQUFNLEVBQUUsVUFBVTtJQUNsQixPQUFPLEVBQUUsYUFBYTtJQUN0QixXQUFXLEVBQUUsSUFBSTtJQUNqQixLQUFLLEVqSHRGa0IsT0FBTyxHaUh1Ri9COztBQWhCSCxBQWtCRSxjQWxCWSxDQWtCWixNQUFNLENBQUM7RUFDTCxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQXBCSCxBQXNCRSxjQXRCWSxDQXNCWixNQUFNLEVBQUUsaUJBQWlCLENBQUM7RUFDeEIsS0FBSyxFQUFFLFFBQVEsR0FDaEI7O0FBeEJILEFBMEJFLGNBMUJZLENBMEJaLE1BQU0sRUFBRSx1QkFBdUIsQ0FBQztFQUM5QixnQkFBZ0IsRWpINUpOLEtBQUssR2lINkpoQjs7QUE1QkgsQUE4QkUsY0E5QlksQ0E4QlosTUFBTSxFQUFFLHVCQUF1QixDQUFDO0VBQzlCLGdCQUFnQixFeEQ1R0EsT0FBTztFd0Q2R3ZCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakhsS1AsS0FBSyxHaUhtS2hCOztBQUdILEFBQUEsZUFBZSxDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsVUFBVSxFQUFFLE9BQU87RUFDbkIsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLFFBQVE7RUFDeEIsYUFBYSxFQUFFLEtBQUs7RUFDcEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsZUFBZSxFQUFFLElBQUk7RUFDckIsZUFBZSxFeEQ1SEcsT0FBTyxDd0Q0SFcsV0FBVyxHQUNoRDs7QUFFRCxBQUFBLGVBQWUsRUFBRSxnQkFBZ0IsQ0FBQztFQUNoQyxNQUFNLEVBQUUsQ0FBQyxHQUNWOztBQUVELEFBQUEsZUFBZSxFQUFFLGlCQUFpQixDQUFDO0VBQ2pDLEtBQUssRUFBRSxRQUFRLEdBQ2hCOztBQUVELEFBQUEsZUFBZSxFQUFFLHVCQUF1QixDQUFDO0VBQ3ZDLGdCQUFnQixFakg1TEosS0FBSyxHaUg2TGxCOztBQUVELEFBQUEsZUFBZSxFQUFFLHVCQUF1QixDQUFDO0VBQ3ZDLGdCQUFnQixFeEQ1SUUsT0FBTztFd0Q2SXpCLGFBQWEsRUFBRSxRQUFRO0VBQ3ZCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakhsTUwsS0FBSyxHaUhtTWxCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsT0FBTyxFQUFFLElBQUk7RUFDYixXQUFXLEVBQUUsTUFBTTtFQUNuQixlQUFlLEVBQUUsTUFBTTtFQUN2QixLQUFLLEVqSHpNTyxLQUFLO0VpSDBNakIsVUFBVSxFakgvSU8sT0FBTztFaUhnSnhCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakhoSkEsT0FBTztFaUhpSnhCLFVBQVUsRUFBRSxVQUFVLEdBQ3ZCOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsS0FBSyxFQUFFLFdBQVc7RUFDbEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqSHZLTyxPQUFPO0VpSHdLL0IsS0FBSyxFakh4S21CLE9BQU87RWlIeUsvQixnQkFBZ0IsRWpIbk5KLEtBQUs7RWlIb05qQixjQUFjLEVBQUUsU0FBUztFQUN6QixPQUFPLEVBQUUsUUFBUTtFQUNqQixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxNQUFNLEdBQ3BCOztBQUVELEFBQUEsY0FBYyxDQUFDO0VBQ2IsTUFBTSxFQXJRaUIsUUFBUTtFQXNRL0IsZ0JBQWdCLEV4RHhLRSxPQUFPO0V3RHlLekIsS0FBSyxFakg3Tk8sS0FBSztFaUg4TmpCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDeEQxS0MsT0FBTyxHd0QySzFCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsS0FBSyxFQUFFLElBQUk7RUFDWCxPQUFPLEVBQUUsQ0FBQyxHQUNYOztBQUVELEFBQUEsV0FBVyxFQUFFLGVBQWUsQ0FBQztFQUMzQixTQUFTLEVBQUUsT0FBTztFQUNsQixXQUFXLEVBQUUsSUFBSTtFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixhQUFhLEVBQUUsQ0FBQztFQUNoQixNQUFNLEVBQUUsT0FBTztFQUNmLGFBQWEsRUFBRSxRQUFRLEdBQ3hCOztBQUVELEFBQUEsV0FBVyxDQUFDO0VBQ1YsZ0JBQWdCLEVqSHRNUSxPQUFPO0VpSHVNL0IsS0FBSyxFakhqUE8sS0FBSztFaUhrUGpCLE1BQU0sRUFBRSxPQUFPLEdBQ2hCOztBQUVELEFBQUEsZ0JBQWdCLENBQUM7RUFBQyxPQUFPLEVBQUUsSUFBSSxHQUFHOztBQUlsQyxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLFFBQVE7RUFDYixlQUFlLEVBQUUsTUFBTSxHQThDeEI7RUFqREQsQUFLRSxhQUxXLENBS1gsS0FBSyxDQUFDO0lBQ0osV0FBVyxFQUFFLENBQUMsR0FDZjtFQVBILEFBU0UsYUFUVyxDQVNYLFVBQVUsQ0FBQztJQUNULE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsR0FBRyxFQUFFLEtBQUs7SUFDVixhQUFhLEVBQUUsTUFBTTtJQUNyQixTQUFTLEVBQUUsUUFBUTtJQUNuQixPQUFPLEVBQUUsZUFBZTtJQUN4QixLQUFLLEVBQUUsV0FBVztJQUNsQixnQkFBZ0IsRWpIOU5NLE9BQU87SWlIK043QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pIL05LLE9BQU87SWlIZ083QixVQUFVLEVBQUUsSUFBSSxHQU1qQjtJQTFCSCxBQXNCSSxhQXRCUyxDQVNYLFVBQVUsQ0FhUixDQUFDLENBQUM7TUFDQSxTQUFTLEVBQUUsUUFBUTtNQUNuQixNQUFNLEVBQUUsQ0FBQyxHQUNWO0VBekJMLEFBNEJFLGFBNUJXLENBNEJYLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLE1BQU07SUFDdkIsVUFBVSxFakg1Tk8sT0FBTztJaUg2TnhCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakg3TkEsT0FBTztJaUg4TnhCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsVUFBVSxFQUFFLElBQUksR0FLakI7SUE1Q0gsQUF5Q0ksYUF6Q1MsQ0E0QlgsYUFBYSxDQWFYLENBQUMsQ0FBQztNQUNBLE1BQU0sRUFBRSxRQUFRLEdBQ2pCO0VBM0NMLEFBOENFLGFBOUNXLENBOENYLGVBQWUsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsU0FBUyxFQUFFLFFBQVE7RUFDbkIsT0FBTyxFQUFFLGdCQUFnQjtFQUN6QixLQUFLLEVBQUUsU0FBUztFQUNoQixVQUFVLEVqSHRRYyxPQUFPO0VpSHVRL0IsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENqSHZRTyxPQUFPO0VpSHdRL0IsYUFBYSxFQUFFLFFBQVE7RUFDdkIsTUFBTSxFQUFFLENBQUM7RUFDVCxVQUFVLEVBQUUsSUFBSSxHQU1qQjtFQWpCRCxBQWFFLGdCQWJjLENBYWQsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLGFBQWE7SUFDeEIsTUFBTSxFQUFFLEtBQUssR0FDZDs7QUFHSCxBQUFBLGdCQUFnQixDQUFDLEtBQUssQ0FBQztFQUNyQixnQkFBZ0IsRWpIblJRLE9BQU8sQ2lIbVJZLFVBQVUsR0FDdEQ7O0FBRUQsQUFBQSwwQkFBMEIsQ0FBQztFQUN6QixRQUFRLEVBQUUsUUFBUTtFQUNsQixNQUFNLEVBQUUsUUFBUTtFQUNoQixLQUFLLEVBQUUsV0FBVyxHQUNuQjs7QUFFRCxBQUFBLGlCQUFpQixDQUFDO0VBQ2hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLE1BQU07RUFDdkIsR0FBRyxFQUFFLEtBQUs7RUFDVixhQUFhLEVBQUUsTUFBTTtFQUNyQixTQUFTLEVBQUUsUUFBUTtFQUNuQixPQUFPLEVBQUUsZUFBZTtFQUN4QixLQUFLLEVBQUUsV0FBVztFQUNsQixnQkFBZ0IsRWpIclNRLE9BQU87RWlIc1MvQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ2pIdFNPLE9BQU8sR2lINFNoQztFQWhCRCxBQVlFLGlCQVplLENBWWYsQ0FBQyxDQUFDO0lBQ0EsU0FBUyxFQUFFLFFBQVE7SUFDbkIsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFHSCxBQUFBLFlBQVksQ0FBQztFQUNYLEtBQUssRWpIbFNvQixPQUFPLENpSGtTQyxVQUFVLEdBQzVDOztBQUVELEFBQUEsZUFBZSxDQUFDO0VBQ2QsZ0JBQWdCLEVqSHRTUyxPQUFPLENpSHNTWSxVQUFVO0VBQ3RELE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDakh2U1EsT0FBTyxDaUh1U1ksVUFBVSxHQUN2RDs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQsQUFFSSw0QkFGVSxFQUFkLHNCQUFjLEVBQWQsd0JBQWMsQ0FJRTtFQUNSLEtBQUssRWpIaFhDLElBQUk7RWlIaVhWLGFBQWEsRUFBRSxJQUFJLEdBQ3RCOztBQVBMLEFBU0ksY0FUVSxDQVNWLENBQUMsQ0FBQztFQUNFLFdBQVcsRUFBRSxLQUFLLEdBQ3JCOztBQVhMLEFBYUksc0JBYlUsQ0FhQTtFQUNOLFFBQVEsRUFBRSxRQUFRLEdBMEJyQjtFQXhDTCxBQWdCUSxzQkFoQk0sQ0FnQk4sQ0FBQyxDQUFDO0lBQ0UsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLENBQUM7SUFDUixHQUFHLEVBQUUsQ0FBQztJQUNOLE1BQU0sRUFBRSxPQUFPO0lBQ2YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsS0FBSyxFakhqWUgsSUFBSSxHaUh3WVQ7SUFMRyxNQUFNLG1CQUNGO01BekJoQixBQXlCZ0Isc0JBekJGLENBZ0JOLENBQUMsQ0FTUztRQUNFLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQUE7RUEzQmpCLEFBK0JRLHNCQS9CTSxDQStCTixJQUFJLENBQUM7SUFDRCxTQUFTLEVBQUUsZ0JBQWdCLEdBQzlCO0VBRUQsTUFBTSxtQkFDRjtJQXBDWixBQW9DWSxzQkFwQ0UsQ0FvQ0EsRUFBRSxDQUFDO01BQ0QsU0FBUyxFQUFFLEdBQUcsR0FDakIsRUFBQTtBQXRDYixBQTJDUSx3QkEzQ00sQ0EyQ04sY0FBYyxDQUFDO0VBQ1gsU0FBUyxFQUFFLElBQUk7RUFDZixLQUFLLEV4RHZZQSxPQUFPLEN3RHVZVyxVQUFVLEdBQ3BDOztBQTlDVCxBQWdEUSx3QkFoRE0sQ0FnRE4sZ0JBQWdCLENBQUM7RUFDYixPQUFPLEVBQUUsU0FBUyxHQUNyQjs7QUFJVCxNQUFNLG1CQUNKO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsUUFBUSxHQUNsQjtFQUVELEFBQUEsV0FBVyxFQUFFLGVBQWUsQ0FBQztJQUMzQixTQUFTLEVBQUUsSUFBSSxHQUNoQjtFQUVELEFBQUEsY0FBYyxDQUFDO0lBQ2IsT0FBTyxFQUFFLEtBQUssR0FLZjtJQU5ELEFBR0UsY0FIWSxHQUdSLENBQUMsQ0FBQztNQUNKLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFHSCxBQUNFLHlCQUR1QixDQUN2QixZQUFZLENBQUM7SUFDWCxhQUFhLEVBQUUsQ0FBQyxHQUNqQjtFQUdILEFBQUEsc0JBQXNCLENBQUM7SUFDckIsVUFBVSxFQUFFLElBQUksR0F1QmpCO0lBeEJELEFBR0Usc0JBSG9CLENBR3BCLHFCQUFxQixDQUFDO01BQ3BCLFVBQVUsRUFBRSxDQUFDLEdBS2Q7TUFUSCxBQU1JLHNCQU5rQixDQUdwQixxQkFBcUIsQ0FHbkIsa0JBQWtCLENBQUM7UUFDakIsSUFBSSxFQUFFLENBQUMsR0FDUjtJQVJMLEFBV0Usc0JBWG9CLENBV3BCLGlCQUFpQixDQUFDO01BQ2hCLElBQUksRUFBRSxRQUFRO01BQ2QsS0FBSyxFQUFFLEdBQUcsR0FDWDtJQWRILEFBZ0JFLHNCQWhCb0IsQ0FnQnBCLGdCQUFnQixDQUFDO01BQ2YsUUFBUSxFQUFFLFFBQVE7TUFDbEIsTUFBTSxFQUFFLElBQUksR0FDYjtJQW5CSCxBQXFCRSxzQkFyQm9CLENBcUJwQixjQUFjLENBQUM7TUFDYixlQUFlLEVBQUUsTUFBTSxHQUN4QjtFQUdILEFBQ0UsY0FEWSxDQUNaLE1BQU0sQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0lBQ2YsT0FBTyxFQUFFLG9DQUFvQyxHQUM5QztFQUdILEFBQUEsZ0JBQWdCLENBQUM7SUFDZixJQUFJLEVBQUUsR0FBRztJQUNULEdBQUcsRUFBRSxHQUFHO0lBQ1IsS0FBSyxFQUFFLEdBQUcsR0FDWDtFQUVELEFBQUEsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsWUFBWTtJQUN2QixHQUFHLEVBQUUsQ0FBQyxHQVVQO0lBYkQsQUFLRSxhQUxXLENBS1gsVUFBVSxDQUFDO01BQ1QsYUFBYSxFQUFFLFFBQVEsR0FDeEI7SUFQSCxBQVNFLGFBVFcsQ0FTWCxhQUFhLENBQUM7TUFDWixVQUFVLEVBQUUsUUFBUTtNQUNwQixhQUFhLEVBQUUsUUFBUSxHQUN4QjtFQUdILEFBQUEsZUFBZSxDQUFDO0lBQ2QsTUFBTSxFQUFFLGlCQUFpQjtJQUN6QixPQUFPLEVBQUUsS0FBSztJQUNkLEtBQUssRUFBRSxJQUFJLEdBQ1o7RUFFRCxBQUFBLDBCQUEwQixDQUFDO0lBQ3pCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixhQUFhLEVBQUUsSUFBSSxHQUNwQjtFQUVELEFBQUEsbUJBQW1CLENBQUM7SUFDbEIsS0FBSyxFQUFFLEdBQUc7SUFDVixPQUFPLEVBQUUsTUFBTTtJQUNmLElBQUksRUFBRSxHQUFHO0lBQ1QsR0FBRyxFQUFFLEdBQUcsR0FPVDtJQVhELEFBT0ksbUJBUGUsQ0FNakIsNkJBQTZCLENBQzNCLE1BQU0sQUFBQSxPQUFPLEVBUGpCLG1CQUFtQixDQU1qQiw2QkFBNkIsQ0FDWixNQUFNLEFBQUEsT0FBTyxDQUFDO01BQzNCLFNBQVMsRUFBRSxNQUFNLEdBQ2xCLEVBL0ZKOztBQXFHSCxNQUFNLDBDQUNKO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLEdBQUcsRUFBRSxDQUFDLEdBT1A7SUFWRCxBQUtFLGFBTFcsQ0FLWCxlQUFlLENBQUM7TUFDZCxNQUFNLEVBQUUsaUJBQWlCO01BQ3pCLE9BQU8sRUFBRSxLQUFLO01BQ2QsS0FBSyxFQUFFLElBQUksR0FDWjtFQUdILEFBQ0UseUJBRHVCLENBQ3ZCLElBQUksQ0FBQztJQUNILGtCQUFrQixFQUFFLGdDQUFnQyxHQUNyRDtFQUdILEFBQUEsMEJBQTBCLENBQUM7SUFDekIsTUFBTSxFQUFFLENBQUMsR0FDVixFQVZBOztBQWNILE1BQU0sMENBQ0o7RUFBQSxBQUFBLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLFlBQVk7SUFDdkIsR0FBRyxFQUFFLENBQUMsR0FPUDtJQVZELEFBS0UsYUFMVyxDQUtYLGVBQWUsQ0FBQztNQUNkLE1BQU0sRUFBRSxpQkFBaUI7TUFDekIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsSUFBSSxHQUNaO0VBR0gsQUFBQSwwQkFBMEIsQ0FBQztJQUN6QixZQUFZLEVBQUUsUUFBUTtJQUN0QixLQUFLLEVBQUUsS0FBSyxHQUNiLEVBTEE7O0FBUUgsTUFBTSxvQkFDSjtFQUFBLEFBQUEsZ0JBQWdCLENBQUM7SUFDZixJQUFJLEVBQUUsR0FBRztJQUNULEdBQUcsRUFBRSxHQUFHLEdBQ1Q7RUFFRCxBQUFBLG1CQUFtQixDQUFDO0lBQ2xCLEdBQUcsRUFBRSxHQUFHLEdBQ1QsRUFKQTs7QUNobUJILEFBQUEsZUFBZSxFQUFFLGFBQWEsQ0FBQztFQUMzQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxRQUFRO0VBQ2hCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRXpEMEdpQixPQUFPLEd5RHpHaEM7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixNQUFNLEVBQUUsT0FBTztFQUNmLFlBQVksRUFBRSxDQUFDLEdBQ2xCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1YsTUFBTSxFQUFFLENBQUMsR0FDWjs7QUFHRyxNQUFNLG1DQUNGO0VBRlIsQUFFUSxxQkFGYSxDQUVYO0lBQ0UsV0FBVyxFQUFFLEtBQUssR0FDckIsRUFBQTs7QUFJVCxBQUFBLGtCQUFrQixFQUFFLGdCQUFnQixDQUFDO0VBQ2pDLE9BQU8sRUFBRSxJQUFJLEdBNENoQjtFQTFDRyxNQUFNLG1DQUhWO0lBQUEsQUFBQSxrQkFBa0IsRUFBRSxnQkFBZ0IsQ0FBQztNQUk3QixPQUFPLEVBQUUsS0FBSztNQUNkLE1BQU0sRUFBRSxRQUFRLEdBd0N2QjtNQTdDRCxBQVFZLGtCQVJNLENBUU4sRUFBRSxFQVJNLGdCQUFnQixDQVF4QixFQUFFLENBQUM7UUFDQyxVQUFVLEVBQUUsSUFBSTtRQUNoQixPQUFPLEVBQUUsSUFBSTtRQUNiLEdBQUcsRUFBRSxJQUFJO1FBQ1QsYUFBYSxFQUFFLENBQUM7UUFDaEIsZUFBZSxFQUFFLE1BQU07UUFDdkIsU0FBUyxFQUFFLE1BQU0sR0E0QnBCO1FBMUNiLEFBZ0JnQixrQkFoQkUsQ0FRTixFQUFFLENBUUUsRUFBRSxFQWhCRSxnQkFBZ0IsQ0FReEIsRUFBRSxDQVFFLEVBQUUsQ0FBQztVQUNDLGFBQWEsRUFBRSxDQUFDLEdBQ25CO1FBbEJqQixBQW9CZ0Isa0JBcEJFLENBUU4sRUFBRSxDQVlFLFFBQVEsRUFwQkosZ0JBQWdCLENBUXhCLEVBQUUsQ0FZRSxRQUFRLENBQUM7VUFDTCxLQUFLLEVsSEhYLEtBQUs7VWtISUMsYUFBYSxFQUFFLE9BQU87VUFDdEIsT0FBTyxFQUFFLGlCQUFpQjtVQUMxQixnQkFBZ0IsRWxIdUNWLE9BQU8sR2tIdENoQjtRQXpCakIsQUEyQmdCLGtCQTNCRSxDQVFOLEVBQUUsQ0FtQkUsS0FBSyxFQTNCckIsa0JBQWtCLENBUU4sRUFBRSxDQW1CUyxLQUFLLEVBM0JSLGdCQUFnQixDQVF4QixFQUFFLENBbUJFLEtBQUssRUEzQkQsZ0JBQWdCLENBUXhCLEVBQUUsQ0FtQlMsS0FBSyxDQUFDO1VBQ1QsZ0JBQWdCLEVBQUUsV0FBVztVQUM3QixLQUFLLEVsSGtDQyxPQUFPLENrSGxDbUIsVUFBVTtVQUMxQyxPQUFPLEVBQUUsQ0FBQztVQUNWLFdBQVcsRUFBRSxjQUFjLEdBQzlCO1FBaENqQixBQWtDZ0Isa0JBbENFLENBUU4sRUFBRSxDQTBCRSxPQUFPLEVBbEN2QixrQkFBa0IsQ0FRTixFQUFFLENBMEJXLFVBQVUsRUFsQ25DLGtCQUFrQixDQVFOLEVBQUUsQ0EwQnVCLFFBQVEsRUFsQ3pCLGdCQUFnQixDQVF4QixFQUFFLENBMEJFLE9BQU8sRUFsQ0gsZ0JBQWdCLENBUXhCLEVBQUUsQ0EwQlcsVUFBVSxFQWxDZixnQkFBZ0IsQ0FReEIsRUFBRSxDQTBCdUIsUUFBUSxDQUFDO1VBQzFCLEtBQUssRWxIakJYLEtBQUs7VWtIa0JDLFdBQVcsRUFBRSxHQUFHLEdBQ25CO1FBckNqQixBQXVDZ0Isa0JBdkNFLENBUU4sRUFBRSxDQStCRSxVQUFVLEVBdkMxQixrQkFBa0IsQ0FRTixFQUFFLENBK0JjLFVBQVUsQ0FBQyxLQUFLLEVBdkN4QixnQkFBZ0IsQ0FReEIsRUFBRSxDQStCRSxVQUFVLEVBdkNOLGdCQUFnQixDQVF4QixFQUFFLENBK0JjLFVBQVUsQ0FBQyxLQUFLLENBQUE7VUFDeEIsS0FBSyxFbEh1QkMsT0FBTyxHa0h0QmhCLEVBSWhCO0FBRUQsQUFBQSxtQkFBbUIsQ0FBQztFQUNoQixPQUFPLEVBQUUsSUFBSSxHQXVCaEI7RUFyQkcsTUFBTSxtQ0FDRjtJQUpSLEFBSVEsbUJBSlcsQ0FJVDtNQUNFLE9BQU8sRUFBRSxJQUFJO01BQ2IsY0FBYyxFQUFFLE1BQU07TUFDdEIsR0FBRyxFQUFFLFFBQVE7TUFDYixNQUFNLEVBQUUsWUFBWSxHQUN2QixFQUFBO0VBSUQsTUFBTSxtQ0FDRjtJQWRaLEFBY1ksbUJBZE8sQ0FZZix1QkFBdUIsRUFaM0IsbUJBQW1CLENBWVUscUJBQXFCLENBRXBDO01BQ0UsS0FBSyxFbEhDSyxPQUFPO01rSEFqQixTQUFTLEVBQUUsT0FBTztNQUNsQixXQUFXLEVBQUUsR0FBRztNQUNoQixhQUFhLEVBQUUsQ0FBQztNQUNoQixNQUFNLEVBQUUsQ0FBQztNQUNULFVBQVUsRUFBRSxNQUFNLEdBQ3JCLEVBQUE7QUFLYixBQUFBLGdCQUFnQixDQUFDO0VBQ2IsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENsSGRGLE9BQU87RWtIZTdCLGNBQWMsRUFBRSxDQUFDO0VBQ2pCLE9BQU8sRUFBRSxJQUFJLEdBU2hCO0VBUEcsTUFBTSxtQkFMVjtJQUFBLEFBQUEsZ0JBQWdCLENBQUM7TUFNVCxPQUFPLEVBQUUsS0FBSyxHQU1yQixFQUFBO0VBSEcsTUFBTSwwQ0FUVjtJQUFBLEFBQUEsZ0JBQWdCLENBQUM7TUFVVCxPQUFPLEVBQUUsS0FBSyxHQUVyQixFQUFBO0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxhQUFhLEVBQUUsQ0FBQztFQUNoQixnQkFBZ0IsRXpEL0JBLE9BQU87RXlEZ0N2QixPQUFPLEVBQUUsa0JBQWtCLEdBeUM5QjtFQXZDRyxNQUFNLG1DQUNGO0lBTlIsQUFNUSxjQU5NLENBTUo7TUFDRSxnQkFBZ0IsRXpEbEJULE9BQU87TXlEbUJkLE9BQU8sRUFBRSxJQUFJO01BQ2IscUJBQXFCLEVBQUUsVUFBVTtNQUNqQyxPQUFPLEVBQUUsZUFBZSxHQUMzQixFQUFBO0VBWFQsQUFjSSx5QkFkVSxDQWNHO0lBQ1QsV0FBVyxFQUFFLENBQUMsR0FDakI7RUFoQkwsQUFrQkkscUJBbEJVLEVBQWQscUJBQWMsQ0FrQlMsS0FBSyxDQUFDO0lBQ3JCLFVBQVUsRWxIeEZKLEtBQUs7SWtIeUZYLE1BQU0sRUFBRSxJQUFJO0lBQ1osVUFBVSxFQUFFLFVBQVU7SUFDdEIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsU0FBUyxFQUFFLE1BQU07SUFDakIsV0FBVyxFQUFFLENBQUM7SUFDZCxLQUFLLEVsSDlFVyxPQUFPO0lrSCtFdkIsT0FBTyxFQUFFLFNBQVM7SUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtJQUM1QixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLFNBQVMsRUFBRSxTQUFTO0lBQ3BCLFNBQVMsRUFBRSxDQUFDLEdBQ2Y7RUFyQ0wsQUF1Q0ksd0JBdkNVLENBdUNFO0lBQ1IsVUFBVSxFbEg5SUcsT0FBTyxDa0g4SU0sVUFBVTtJQUNwQyxNQUFNLEVBQUUsZUFBZTtJQUN2QixLQUFLLEVsSC9HQyxLQUFLLENrSCtHUyxVQUFVLEdBQ2pDOztBQUdMLEFBQ0ksbUJBRGUsQ0FDZixFQUFFLENBQUM7RUFDQyxVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFHRyxNQUFNLG1DQURWO0VBTEosQUFLSSxtQkFMZSxDQUtmLEVBQUUsQ0FBQztJQUVLLFNBQVMsRUFBRSxNQUFNLEdBRXhCLEVBQUE7O0FBVEwsQUFXSSxtQkFYZSxDQVdmLFNBQVMsQ0FBQztFQUNOLE1BQU0sRUFBRSxlQUFlLEdBQzFCOztBQWJMLEFBZUksaUNBZmUsQ0FlQztFQUNaLE1BQU0sRUFBRSx1QkFBdUIsR0FDbEM7O0FBakJMLEFBbUJJLDhCQW5CZSxDQW1CRjtFQUNULGdCQUFnQixFekRoRVcsT0FBTztFeURpRWxDLE9BQU8sRUFBRSxRQUFRLEdBNEJwQjtFQTFCRyxNQUFNLG1DQUpWO0lBbkJKLEFBbUJJLDhCQW5CZSxDQW1CRjtNQUtMLFdBQVcsRUFBRSxLQUFLO01BQ2xCLGdCQUFnQixFekRsRlQsT0FBTztNeURtRmQsT0FBTyxFQUFFLENBQUMsR0F1QmpCLEVBQUE7RUFqREwsQUE4QlkscUNBOUJPLENBOEJQLEtBQUssQ0FBQztJQUNGLGFBQWEsRUFBRSxJQUFJO0lBQ25CLFNBQVMsRUFBRSxHQUFHO0lBQ2QsY0FBYyxFQUFFLElBQUk7SUFDcEIsS0FBSyxFbEhwSUcsT0FBTztJa0hxSWYsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUFJRCxNQUFNLG1DQURWO0lBdkNSLEFBdUNRLDJDQXZDVyxDQXVDSTtNQUVQLE9BQU8sRUFBRSxJQUFJO01BQ2IscUJBQXFCLEVBQUUsVUFBVSxHQU14QztNQWhEVCxBQTRDZ0IsMkNBNUNHLEdBNENDLENBQUMsQ0FBQztRQUNGLFdBQVcsRUFBRSxDQUFDLEdBQ2pCLEVBRVI7QUFoRFQsQUFtREkseUJBbkRlLENBbURQO0VBQ0osT0FBTyxFQUFFLElBQUk7RUFDYixHQUFHLEVBQUUsTUFBTTtFQUNYLE1BQU0sRUFBRSxrQkFBa0I7RUFDMUIsY0FBYyxFQUFFLE1BQU0sR0F3QnpCO0VBdEJHLE1BQU0sbUNBTlY7SUFuREosQUFtREkseUJBbkRlLENBbURQO01BT0EsTUFBTSxFQUFFLGlCQUFpQixHQXFCaEMsRUFBQTtFQS9FTCxBQThEWSx5Q0E5RE8sQ0E4RFAsS0FBSyxDQUFDO0lBQ0YsTUFBTSxFQUFFLENBQUM7SUFDVCxVQUFVLEVBQUUsWUFBWTtJQUN4QixLQUFLLEVBQUUsR0FBRyxHQUtiO0lBSEcsTUFBTSxtQ0FMVjtNQTlEWixBQThEWSx5Q0E5RE8sQ0E4RFAsS0FBSyxDQUFDO1FBTUUsS0FBSyxFQUFFLElBQUksR0FFbEIsRUFBQTtFQXRFYixBQXdFWSx5Q0F4RU8sQ0F3RVAsUUFBUSxDQUFDO0lBQ0wsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBN0ViLEFBaUZJLDRCQWpGZSxDQWlGSjtFQUNQLE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLE9BQU87RUFDWixNQUFNLEVBQUUsTUFBTTtFQUNkLGVBQWUsRUFBRSxNQUFNLEdBdUMxQjtFQXJDRyxNQUFNLG1DQU5WO0lBakZKLEFBaUZJLDRCQWpGZSxDQWlGSjtNQU9ILGNBQWMsRUFBRSxNQUFNO01BQ3RCLFNBQVMsRUFBRSxJQUFJO01BQ2YsYUFBYSxFQUFFLE1BQU07TUFDckIsTUFBTSxFQUFFLG1CQUFtQixHQWlDbEMsRUFBQTtFQTVITCxBQThGUSxtQ0E5RlcsQ0E4RkY7SUFDTCxLQUFLLEVBQUUsU0FBUztJQUNoQixNQUFNLEVBQUUsT0FBTztJQUNmLGFBQWEsRUFBRSxRQUFRO0lBQ3ZCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGNBQWMsRUFBRSxDQUFDO0lBQ2pCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsTUFBTSxFQUFFLElBQUk7SUFDWixjQUFjLEVBQUUsU0FBUztJQUN6QixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLE1BQU0sRUFBRSxDQUFDLEdBaUJaO0lBM0hULEFBNEdZLDBDQTVHTyxDQTRHRTtNQUNMLGdCQUFnQixFbEgzS0wsT0FBTyxHa0g0S3JCO0lBOUdiLEFBZ0hZLHlDQWhITyxDQWdIQztNQUNKLGdCQUFnQixFekQ5S1osT0FBTyxHeUQrS2Q7SUFsSGIsQUFvSFksd0NBcEhPLENBb0hBO01BQ0gsZ0JBQWdCLEVsSDNLWCxPQUFPLEdrSDRLZjtJQXRIYixBQXdIWSx5Q0F4SE8sQ0F3SEM7TUFDSixnQkFBZ0IsRWxIM05SLE9BQU8sR2tINE5sQjs7QUFLTCxNQUFNLG1DQURWO0VBOUhKLEFBOEhJLDZCQTlIZSxDQThISDtJQUVKLE9BQU8sRUFBRSxJQUFJO0lBQ2IscUJBQXFCLEVBQUUsVUFBVTtJQUNqQyxXQUFXLEVBQUUsS0FBSyxHQUV6QixFQUFBOztBQUdMLEFBQUEsZ0JBQWdCLENBQUM7RUFDYixVQUFVLEVBQUUsS0FBSztFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixhQUFhLEVBQUUsUUFBUSxHQVMxQjtFQVBHLE1BQU0sbUNBQ0Y7SUFOUixBQU1RLGdCQU5RLENBTU47TUFDRSxhQUFhLEVBQUUsQ0FBQztNQUNoQixVQUFVLEVBQUUsS0FBSztNQUNqQixVQUFVLEVBQUUsS0FBSyxHQUNwQixFQUFBO0FBS0wsTUFBTSxtQ0FDRjtFQUZSLEFBRVEsZ0JBRlEsRUFBRSxpQkFBaUIsQ0FFekI7SUFDRSxLQUFLLEVBQUUsUUFBUSxHQUNsQixFQUFBOztBQUtMLE1BQU0sbUNBQ0Y7RUFGUixBQUVRLGdCQUZRLEVBQUUsdUJBQXVCLENBRS9CO0lBQ0UsZ0JBQWdCLEVBQUUsT0FBTyxHQUM1QixFQUFBOztBQUtMLE1BQU0sbUNBQ0Y7RUFGUixBQUVRLGdCQUZRLEVBQUUsdUJBQXVCLENBRS9CO0lBQ0UsZ0JBQWdCLEV6RHZPUixPQUFPO0l5RHdPZixhQUFhLEVBQUUsUUFBUSxHQUMxQixFQUFBOztBQUtMLE1BQU0sbUNBRFY7RUFBQSxBQUFBLG9CQUFvQixDQUFDO0lBRWIsV0FBVyxFQUFFLENBQUMsR0FTckIsRUFBQTs7QUFYRCxBQUtJLCtCQUxnQixDQUtIO0VBQ1QsTUFBTSxFQUFFLFVBQVUsR0FJckI7RUFIRyxNQUFNLG1DQUZWO0lBTEosQUFLSSwrQkFMZ0IsQ0FLSDtNQUdMLFdBQVcsRUFBRSxDQUFDLEdBRXJCLEVBQUE7QUFJRCxNQUFNLG1DQURWO0VBQUEsQUFBQSxvQkFBb0IsQ0FBQztJQUViLGFBQWEsRUFBRSxDQUFDLEdBc0J2QixFQUFBOztBQXhCRCxBQUtJLCtCQUxnQixDQUtIO0VBQ1QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFbEhwU1csT0FBTztFa0hxU3ZCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLGNBQWMsRUFBRSxTQUFTO0VBQ3pCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE9BQU8sRUFBRSxlQUFlO0VBQ3hCLFVBQVUsRUFBRSxNQUFNLEdBV3JCO0VBVEcsTUFBTSxtQ0FUVjtJQUxKLEFBS0ksK0JBTGdCLENBS0g7TUFVTCxNQUFNLEVBQUUsUUFBUTtNQUNoQixPQUFPLEVBQUUsVUFBVSxHQU8xQixFQUFBO0VBdkJMLEFBbUJRLCtCQW5CWSxDQW1CWixDQUFDLENBQUM7SUFDRSxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUFLVCxBQUNJLGlCQURhLENBQ2IsSUFBSSxDQUFDO0VBQ0QsYUFBYSxFQUFFLENBQUMsR0FDbkI7O0FBSEwsQUFLSSxnQ0FMYSxDQUtJO0VBQ2IsTUFBTSxFQUFFLFdBQVc7RUFDbkIsZ0JBQWdCLEVsSC9VVixLQUFLO0VrSGdWWCxhQUFhLEVBQUUsUUFBUTtFQUN2QixhQUFhLEVBQUUsU0FBUztFQUN4QixVQUFVLEVBQUUsTUFBTSxHQVNyQjtFQVBHLE1BQU0sbUNBQ0Y7SUFiWixBQWFZLGdDQWJLLENBYUg7TUFDRSxPQUFPLEVBQUUsaUJBQWlCO01BQzFCLGFBQWEsRUFBRSxDQUFDO01BQ2hCLE1BQU0sRUFBRSxDQUFDLEdBQ1osRUFBQTtBQWpCYixBQXFCSSxpQkFyQmEsQ0FxQmIsQ0FBQyxDQUFDO0VBQ0UsT0FBTyxFQUFFLHlCQUF5QjtFQUNsQyxNQUFNLEVBQUUsQ0FBQztFQUNULFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLFFBQVE7RUFDckIsYUFBYSxFQUFFLFFBQVEsR0FRMUI7RUFORyxNQUFNLG1DQUNGO0lBN0JaLEFBNkJZLGlCQTdCSyxDQXFCYixDQUFDLENBUVM7TUFDRSxPQUFPLEVBQUUsWUFBWTtNQUNyQixVQUFVLEVBQUUsSUFBSSxHQUNuQixFQUFBO0FBaENiLEFBb0NJLCtCQXBDYSxDQW9DRztFQUNaLGNBQWMsRUFBRSxRQUFRO0VBQ3hCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsUUFBUSxFQUFFLElBQUk7RUFDZCxlQUFlLEVBQUUsTUFBTTtFQUN2QixxQkFBcUIsRUFBRSxlQUFlLEdBa0Z6QztFQWhGRyxNQUFNLG1DQUNGO0lBNUNaLEFBNENZLCtCQTVDSyxDQTRDSDtNQUNFLHFCQUFxQixFQUFFLGVBQWU7TUFDdEMsY0FBYyxFQUFFLFFBQVE7TUFDeEIsWUFBWSxFQUFFLE1BQU0sR0FDdkIsRUFBQTtFQWhEYixBQW1EUSwrQkFuRFMsQ0FtRFQsQ0FBQyxDQUFDO0lBQ0UsTUFBTSxFQUFFLFVBQVUsR0FDckI7RUFyRFQsQUF1RFEsK0JBdkRTLENBdURULE1BQU0sQ0FBQyxLQUFLLENBQUM7SUFDVCxVQUFVLEVBQUUsR0FBRyxHQUNsQjtFQUdHLE1BQU0sbUNBQ0Y7SUE3RGhCLEFBNkRnQiwrQkE3REMsQ0EyRFQsTUFBTSxDQUVJO01BQ0UsS0FBSyxFQUFFLFFBQVE7TUFDZixTQUFTLEVBQUUsT0FBTyxHQUtyQjtNQXBFakIsQUFpRW9CLCtCQWpFSCxDQTJEVCxNQUFNLENBTU0sQ0FBQyxDQUFDO1FBQ0UsT0FBTyxFQUFFLEtBQUssR0FDakIsRUFDSjtFQXBFakIsQUF3RVEsdUNBeEVTLENBd0VDO0lBQ04sZ0JBQWdCLEVBQUUsV0FBVztJQUM3QixNQUFNLEVBQUUsQ0FBQztJQUNULE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxXQUFXLEVBQUUsR0FBRztJQUNoQixTQUFTLEVBQUUsR0FBRztJQUNkLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLG9CQUFvQixFQUFFLFNBQVM7SUFDL0IsS0FBSyxFekRuV0csT0FBTztJeURvV2YsY0FBYyxFQUFFLElBQUksR0F3Q3ZCO0lBdENHLE1BQU0sbUNBQ0Y7TUFyRmhCLEFBcUZnQix1Q0FyRkMsQ0FxRkM7UUFDRSxPQUFPLEVBQUUsSUFBSSxHQUNoQixFQUFBO0lBdkZqQixBQTBGWSwrQ0ExRkssRUFBakIsZ0RBQWlCLEVBQWpCLCtDQUFpQixDQTBGNEI7TUFDN0IsT0FBTyxFQUFFLFFBQVEsR0FZcEI7TUFWRyxNQUFNLG1DQUNGO1FBOUZwQixBQThGb0IsK0NBOUZILEVBQWpCLGdEQUFpQixFQUFqQiwrQ0FBaUIsQ0E4Rks7VUFDRSxPQUFPLEVBQUUsSUFBSSxHQUNoQixFQUFBO01BaEdyQixBQW1HZ0IsK0NBbkdDLENBbUdELEdBQUcsRUFuR25CLGdEQUFpQixDQW1HRCxHQUFHLEVBbkduQiwrQ0FBaUIsQ0FtR0QsR0FBRyxDQUFDO1FBQ0EsS0FBSyxFQUFFLE9BQU87UUFDZCxZQUFZLEVBQUUsTUFBTSxHQUN2QjtJQXRHakIsQUEwR2dCLCtDQTFHQyxDQTBHRCxHQUFHLENBQUM7TUFDQSxXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQTVHakIsQUFnSGdCLCtDQWhIQyxDQWdIRCxHQUFHLENBQUM7TUFDQSxXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQWxIakIsQUFzSGdCLGdEQXRIQyxDQXNIRCxHQUFHLENBQUM7TUFDQSxXQUFXLEVBQUUsQ0FBQyxHQUNqQjs7QUF4SGpCLEFBNkhJLGlCQTdIYSxDQTZIYixTQUFTLENBQUM7RUFDTixjQUFjLEVBQUUsU0FBUyxHQUM1Qjs7QUFHTCxBQUFBLFFBQVEsRUFBRSxZQUFZLEVBQUUsT0FBTyxDQUFDO0VBQzVCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLG1CQUFtQjtFQUMzQixhQUFhLEVBQUUsUUFBUTtFQUN2QixLQUFLLEVsSDljSyxLQUFLLENrSDhjSyxVQUFVO0VBQzlCLGNBQWMsRUFBRSxvQkFBb0IsR0FRdkM7RUFORyxNQUFNLG1DQUNGO0lBUlIsQUFRUSxRQVJBLEVBQUUsWUFBWSxFQUFFLE9BQU8sQ0FRckI7TUFDRSxLQUFLLEVBQUUsbUJBQW1CO01BQzFCLE1BQU0sRUFBRSxtQkFBbUIsR0FDOUIsRUFBQTtBQUlULEFBQUEsUUFBUSxDQUFDO0VBQ0wsVUFBVSxFekRuYUEscUJBQXFCLEN5RG1hTixVQUFVLEdBQ3RDOztBQUVELEFBQUEsWUFBWSxDQUFDO0VBQ1QsZ0JBQWdCLEV6RHRhSCxPQUFPLEN5RHNhYyxVQUFVLEdBQy9DOztBQUVELEFBQUEsT0FBTyxDQUFDO0VBQ0osZ0JBQWdCLEV6RDlhQSxPQUFPLEN5RDhhYyxVQUFVLEdBQ2xEOztBQUVELEFBQ0ksVUFETSxDQUNOLGVBQWUsQ0FBQztFQUNaLE1BQU0sRUFBRSxXQUFXLEdBS3RCO0VBUEwsQUFJUSxVQUpFLENBQ04sZUFBZSxDQUdYLHNCQUFzQixDQUFDO0lBQ25CLGNBQWMsRUFBRSxJQUFJLEdBQ3ZCOztBQ3JoQlQsQUFFSSxlQUZFLENBRVM7RUFDUCxPQUFPLEVBQUUsSUFBSTtFQUNiLFFBQVEsRUFBRSxLQUFLO0VBQ2YsV0FBVyxFQUFFLE1BQU07RUFDbkIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLEdBQUcsRUFBRSxDQUFDO0VBQ04sSUFBSSxFQUFFLENBQUM7RUFDUCxPQUFPLEVBQUUsR0FBRztFQUNaLGVBQWUsRUFBRSxNQUFNO0VBU3ZCLFVBQVUsRW5Ib0JRLG1CQUFPLEdtSG5CNUI7RUFyQkwsQUFhUSxlQWJGLEFBYUcsS0FBSyxDQUFDO0lBQUMsVUFBVSxFQUFFLE1BQU0sR0FBRztFQWJyQyxBQWVRLGVBZkYsR0FlSSxDQUFDLENBQUM7SUFDQSxVQUFVLEVBQUUsQ0FBQztJQUNiLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7O0FBbEJULEFBdUJJLGlCQXZCRSxFQUFOLHFCQUFNLEVBQU4scUJBQU0sRUFBTixxQkFBTSxFQUFOLDRCQUFNLENBdUJXO0VBRVQsUUFBUSxFQUFFLFFBQVE7RUFDbEIsT0FBTyxFQUFFLElBQUk7RUFDYixnQkFBZ0IsRTFEeUZDLE9BQU87RTBEeEZ4QixVQUFVLEVBQUUsR0FBRyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsbUJBQW1CO0VBQzNDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLFNBQVMsRUFBRSxRQUFRO0VBQ25CLFVBQVUsRUFBRSxTQUFTO0VBQ3JCLE9BQU8sRUFBRSxnQkFBZ0IsR0FpRTVCO0VBL0RHLE1BQU0sbUJBWlY7SUF2QkosQUF1QkksaUJBdkJFLEVBQU4scUJBQU0sRUFBTixxQkFBTSxFQUFOLHFCQUFNLEVBQU4sNEJBQU0sQ0F1Qlc7TUFhTCxLQUFLLEVBQUUsa0JBQWtCLEdBOERoQyxFQUFBO0VBbEdMLEFBdUNRLDZCQXZDRixDQXVDZ0I7SUFDVixnQkFBZ0IsRTFENkVLLE9BQU8sRzBENUUvQjtFQXpDVCxBQTBDUSxtQ0ExQ0YsQ0EwQ3NCO0lBQ2hCLFVBQVUsRUFBRSxnQkFBZ0IsR0FDL0I7RUE1Q1QsQUE4Q1EsaUJBOUNGLENBOENFLEVBQUUsRUE5Q1YscUJBQU0sQ0E4Q0UsRUFBRSxFQTlDVixxQkFBTSxDQThDRSxFQUFFLEVBOUNWLHFCQUFNLENBOENFLEVBQUUsRUE5Q1YsNEJBQU0sQ0E4Q0UsRUFBRSxDQUFDO0lBQ0MsS0FBSyxFbkhQUyxPQUFPO0ltSFFyQixXQUFXLEVBQUUsR0FBRyxHQUNuQjtFQWpEVCxBQW1EUSw0QkFuREYsQ0FtRGU7SUFFVCxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsS0FBSztJQUNoQixLQUFLLEVBQUUsR0FBRyxHQWViO0lBYkcsTUFBTSxtQkFDRjtNQTFEaEIsQUEwRGdCLDRCQTFEVixDQTBEWTtRQUNFLE9BQU8sRUFBRSxJQUFJO1FBQ2IsS0FBSyxFQUFFLEdBQUc7UUFDVixVQUFVLEVBQUUsSUFBSTtRQUNoQixVQUFVLEVBQUUsVUFBVTtRQUN0QixVQUFVLEVBQUUsTUFBTSxHQUNyQjtNQWhFakIsQUFrRWdCLHVDQWxFVixDQWtFdUI7UUFDVCxNQUFNLEVBQUUsSUFBSSxHQUNmLEVBSkE7RUFoRWpCLEFBd0VRLHFCQXhFRixDQXdFUTtJQUVGLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBM0VULEFBNkVRLHFCQTdFRixDQTZFUTtJQUVGLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBaEZULEFBa0ZRLHFCQWxGRixDQWtGUTtJQUVGLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBckZULEFBdUZRLGlCQXZGRixDQXVGRSxJQUFJLEVBdkZaLDRCQUFNLENBdUZFLElBQUksRUF2RloscUJBQU0sQ0F1RkUsSUFBSSxFQXZGWixxQkFBTSxDQXVGRSxJQUFJLEVBdkZaLHFCQUFNLENBdUZFLElBQUksQ0FBQztJQUNELGFBQWEsRUFBRSxDQUFDLEdBQ25CO0VBekZULEFBMkZRLCtCQTNGRixDQTJGa0I7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxRQUFRO0lBQ2IsTUFBTSxFQUFFLENBQUM7SUFDVCxLQUFLLEVBQUUsU0FBUztJQUNoQixjQUFjLEVBQUUsTUFBTSxHQUN6Qjs7QUFqR1QsQUFvR0ksWUFwR0UsQ0FvR007RUFDSixLQUFLLEVBQUUsSUFBSSxHQUdkO0VBeEdMLEFBc0dRLG1CQXRHRixDQXNHVztJQUFDLEtBQUssRW5IMUNMLE9BQU8sR21IMENtQjtFQXRHNUMsQUF1R1EscUJBdkdGLENBdUdhO0lBQUMsS0FBSyxFbkhwREwsT0FBTyxHbUhvRHFCOztBQXZHaEQsQUEwR0ksYUExR0UsQ0EwR087RUFDTCxRQUFRLEVBQUUsUUFBUTtFQUNsQixLQUFLLEVuSHBFYSxPQUFPO0VtSHFFekIsU0FBUyxFQUFFLE1BQU07RUFDakIsV0FBVyxFQUFFLHVCQUF1QjtFQUNwQyxhQUFhLEVBQUUsSUFBSSxHQUN0Qjs7QUFoSEwsQUFrSEksZ0JBbEhFLENBa0hVO0VBQ1IsU0FBUyxFQUFFLEdBQUc7RUFDZCxXQUFXLEVBQUUsR0FBRztFQUNoQixjQUFjLEVBQUUsQ0FBQztFQUNqQixLQUFLLEVuSDNEVyxPQUFPO0VtSDREdkIsYUFBYSxFQUFFLFFBQVEsR0FDMUI7O0FBeEhMLEFBMEhJLGlCQTFIRSxDQTBIVztFQUNULFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxDQUFDO0VBQ1IsR0FBRyxFQUFFLENBQUM7RUFDTixLQUFLLEVuSHRGYSxPQUFPO0VtSHVGekIsTUFBTSxFQUFFLE9BQU87RUFFZixVQUFVLEVBQUUsV0FBVztFQUN2QixPQUFPLEVBQUUsQ0FBQztFQUNWLE1BQU0sRUFBRSxDQUFDO0VBQ1QsTUFBTSxFQUFFLElBQUk7RUFDWixTQUFTLEVBQUUsSUFBSSxHQUdsQjtFQXhJTCxBQXVJUSxpQkF2SUYsQ0F1SUksS0FBSyxDQUFDO0lBQUMsVUFBVSxFQUFFLElBQUksR0FBRzs7QUF2SXBDLEFBMElJLGVBMUlFLENBMElTO0VBQ1AsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixXQUFXLEVBQUUsTUFBTTtFQUNuQixHQUFHLEVBQUUsUUFBUSxHQU1oQjtFQXBKTCxBQWdKUSxlQWhKRixDQWdKRSxDQUFDLENBQUM7SUFDRSxLQUFLLEVuSDdDVSxPQUFPO0ltSDhDdEIsY0FBYyxFQUFFLFNBQVMsR0FDNUI7O0FBbkpULEFBc0pJLFdBdEpFLEVBQU4sb0JBQU0sRUFBTixpQkFBTSxFQUFOLGdCQUFNLENBc0pLO0VBRUgsS0FBSyxFQUFFLFdBQVc7RUFFbEIsTUFBTSxFQUFFLE9BQU87RUFDZixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxhQUFhO0VBQzFCLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLEdBQUcsRUFBRSxLQUFLO0VBQ1YsTUFBTSxFQUFFLGVBQWU7RUFDdkIsYUFBYSxFQUFFLElBQUk7RUFDbkIsTUFBTSxFQUFFLFFBQVE7RUFDaEIsY0FBYyxFQUFFLFNBQVM7RUFDekIsU0FBUyxFQUFFLEdBQUc7RUFDZCxNQUFNLEVBQUUsQ0FBQyxHQWtDWjtFQXRNTCxBQXNLUSxXQXRLRixDQXNLRSxDQUFDLEVBdEtULG9CQUFNLENBc0tFLENBQUMsRUF0S1QsaUJBQU0sQ0FzS0UsQ0FBQyxFQXRLVCxnQkFBTSxDQXNLRSxDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBeEtULEFBMEtRLGdCQTFLRixDQTBLUztJQUVILGdCQUFnQixFbkhyRVAsT0FBTyxHbUhzRW5CO0VBN0tULEFBK0tRLGlCQS9LRixDQStLVTtJQUVKLGdCQUFnQixFbkh0SEosT0FBTyxHbUh1SHRCO0VBbExULEFBb0xRLG9CQXBMRixDQW9MYTtJQUdQLEtBQUssRTFEdkVjLElBQUk7STBEd0V2QixVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxlQUFlLEdBSzFCO0lBL0xULEFBNExZLG9CQTVMTixDQTRMUSxLQUFLLENBQUM7TUFDSixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFQTlMYixBQWlNUSxrQkFqTUYsQ0FpTVc7SUFDTCxnQkFBZ0IsRW5IMUpGLE9BQU87SW1IMkpyQixLQUFLLEVuSHpKSCxLQUFLO0ltSDBKUCxNQUFNLEVBQUUsSUFBSSxHQUNmOztBQXJNVCxBQXdNSSx3QkF4TUUsQ0F3TWtCO0VBQ2hCLGFBQWEsRUFBRSxrQkFBa0I7RUFDakMsS0FBSyxFQUFFLHFCQUFxQjtFQUM1QixNQUFNLEVBQUUsa0JBQWtCLEdBQzdCOztBQTVNTCxBQThNSSx1QkE5TUUsQ0E4TWlCO0VBQ2YsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxTQUFTO0VBQ2hDLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLGVBQWUsRUFBRSxNQUFNLEdBdUIxQjtFQXpPTCxBQW9OUSw0QkFwTkYsRUFBTiw2QkFBTSxDQW9Oa0I7SUFDWixLQUFLLEVBQUUsUUFBUTtJQUNmLE1BQU0sRUFBRSxNQUFNO0lBQ2QsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsT0FBTztJQUNsQixjQUFjLEVBQUUsQ0FBQyxHQUNwQjtFQS9OVCxBQWlPUSw0QkFqT0YsQ0FpT1M7SUFDSCxnQkFBZ0IsRW5IM0hQLE9BQU8sR21INEhuQjtFQW5PVCxBQXFPUSw2QkFyT0YsQ0FxT1U7SUFDSixnQkFBZ0IsRTFEdElSLE9BQU8sRzBEdUlsQjs7QUF2T1QsQUE0T1EsaUJBNU9GLENBNE9FLENBQUMsQ0FBQztFQUNFLEtBQUssRTFEOUlDLE9BQU8sQzBEOElXLFVBQVUsR0FDckM7O0FBOU9ULEFBK09RLGlCQS9PRixDQStPRSxNQUFNLENBQUM7RUFDSCxjQUFjLEVBQUUsU0FBUztFQUN6QixTQUFTLEVBQUUsR0FBRztFQUNkLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLGFBQWEsRUFBRSxPQUFPLEdBQ3pCOztBQXBQVCxBQXVQSSxnQkF2UEUsQ0F1UFU7RUFDUixNQUFNLEVBQUUsS0FBSztFQUNiLFNBQVMsRUFBRSxHQUFHO0VBQ2QsV0FBVyxFQUFFLEdBQUc7RUFDaEIsS0FBSyxFbkhwTkMsSUFBSSxDbUhvTlUsVUFBVSxHQUNqQzs7QUFHRyxNQUFNLG1CQUNGO0VBaFFaLEFBZ1FZLDBCQWhRTixDQWdRUTtJQUNFLFFBQVEsRUFBRSxLQUFLO0lBQ2YsTUFBTSxFQUFFLENBQUM7SUFDVCxNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCLEVBQUE7O0FBcFFiLEFBd1FJLHVCQXhRRSxDQXdRaUI7RUFDZixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUUxUUwsQUFDSSxjQURDLENBQ1U7RUFDUCxRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxDQUFDO0VBQ04sS0FBSyxFQUFFLENBQUM7RUFDUixNQUFNLEVBQUUsQ0FBQztFQUNULElBQUksRUFBRSxDQUFDO0VBQ1AsZ0JBQWdCLEVySGlDRSxPQUFPO0VxSGhDekIsT0FBTyxFQUFFLEVBQUU7RUFDWCxLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBWkwsQUFhSSxVQWJDLENBYU07RUFDSCxVQUFVLEVySG9CUSxPQUFPO0VxSG5CekIsT0FBTyxFQUFFLElBQUk7RUFDYixNQUFNLEVBQUUsUUFBUTtFQUNoQixRQUFRLEVBQUUsUUFBUTtFQUNsQixHQUFHLEVBQUUsc0JBQXNCO0VBQzNCLElBQUksRUFBRSxzQkFBc0I7RUFDNUIsS0FBSyxFQUFFLElBQUk7RUFDWCxTQUFTLEVBQUUsUUFBUTtFQUNuQixTQUFTLEVBQUUsSUFBSSxHQVlsQjtFQVZHLE1BQU0sbUNBQ0Y7SUF6QlosQUF5QlksVUF6QlAsQ0F5QlM7TUFDRSxTQUFTLEVBQUUsSUFBSSxHQUNsQixFQUFBO0VBRUwsTUFBTSxtQ0FDRjtJQTlCWixBQThCWSxVQTlCUCxDQThCUztNQUNFLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQUE7QUFoQ2IsQUFtQ0ksWUFuQ0MsQ0FtQ1E7RUFDTCxPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxJQUFJO0VBQ1QsU0FBUyxFQUFFLElBQUksR0FLbEI7RUEzQ0wsQUF3Q1Esc0JBeENILENBd0NlO0lBQ1IsT0FBTyxFQUFFLEdBQUcsR0FDZjs7QUExQ1QsQUE0Q0ksYUE1Q0MsQ0E0Q1M7RUFDTixPQUFPLEVBQUUsSUFBSSxHQWdFaEI7RUE3R0wsQUE4Q1EsYUE5Q0gsQ0E4Q0csS0FBSyxDQUFDO0lBQ0YsYUFBYSxFQUFFLEdBQUcsR0FJckI7SUFuRFQsQUFnRFksYUFoRFAsQ0E4Q0csS0FBSyxDQUVELEdBQUcsQ0FBRTtNQUNELEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUFsRGIsQUFvRFEsYUFwREgsQ0FvREcsUUFBUTtFQXBEaEIsYUFBSyxDQXFERyxrQkFBa0IsQ0FBQztJQUNmLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0VBdkRULEFBd0RRLGFBeERILENBd0RHLFFBQVEsQ0FBQztJQUNMLEtBQUssRUFBRSxDQUFDO0lBQ1IsR0FBRyxFQUFFLENBQUMsR0FDVDtFQTNEVCxBQTREUSxhQTVESCxDQTRERyxrQkFBa0IsQ0FBQztJQUNmLElBQUksRUFBRSxDQUFDO0lBQ1AsTUFBTSxFQUFFLENBQUMsR0FDWjtFQS9EVCxBQWdFUSxhQWhFSCxDQWdFRyxRQUFRLENBQUM7SUFJTCxLQUFLLEVBQUUsR0FBRyxHQWdCYjtJQXBGVCxBQWlFWSxhQWpFUCxDQWdFRyxtQkFBUSxDQUNTO01BQ1QsS0FBSyxFQUFFLElBQUksR0FDZDtJQW5FYixBQXFFWSxhQXJFUCxDQWdFRyxRQUFRLENBS0osRUFBRTtJQXJFZCxhQUFLLENBZ0VHLFFBQVEsQ0FNSixDQUFDLENBQUM7TUFDRSxLQUFLLEVySC9CSyxPQUFPLEdxSGdDcEI7SUF4RWIsQUEwRVksYUExRVAsQ0FnRUcsUUFBUSxDQVVKLEVBQUUsQ0FBQztNQUNDLFNBQVMsRUFBRSxNQUFNO01BQ2pCLFdBQVcsRUFBRSxXQUFXO01BQ3hCLFVBQVUsRUFBRSxLQUFLO01BQ2pCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCO0lBL0ViLEFBZ0ZZLGFBaEZQLENBZ0VHLFFBQVEsQ0FnQkosQ0FBQyxDQUFDO01BQ0UsU0FBUyxFQUFFLEtBQUs7TUFDaEIsYUFBYSxFQUFFLEdBQUcsR0FDckI7RUFuRmIsQUFxRlEsYUFyRkgsQ0FxRkcsUUFBUSxDQUFDO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSTtJQUNULFNBQVMsRUFBRSxXQUFXO0lBQ3RCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsYUFBYSxFQUFFLEdBQUc7SUFDbEIsYUFBYSxFQUFFLElBQUk7SUFDbkIsT0FBTyxFQUFFLEdBQUcsR0FhZjtJQXpHVCxBQThGWSxhQTlGUCxDQXFGRyxRQUFRLENBU0osQ0FBQyxDQUFDO01BQ0UsS0FBSyxFQUFFLEtBQUs7TUFDWixNQUFNLEVBQUUsS0FBSztNQUNiLE9BQU8sRUFBRSxPQUFPO01BQ2hCLFVBQVUsRUFBRSxXQUFXLEdBQzFCO0lBbkdiLEFBb0dZLGFBcEdQLENBcUZHLFFBQVEsQ0FlSixhQUFhLENBQUM7TUFDVixLQUFLLEVySDVGQSxPQUFPO01xSDZGWixnQkFBZ0IsRXJIcEVOLE9BQU87TXFIcUVqQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JIOUZaLE9BQU8sR3FIK0ZmO0VBeEdiLEFBMEdRLGFBMUdILENBMEdHLFNBQVMsQ0FBQztJQUNOLFFBQVEsRUFBRSxRQUFRLEdBQ3JCOztBQTVHVCxBQStHSSxjQS9HQyxDQStHVTtFQUNQLE1BQU0sRUFBRSxNQUFNO0VBQ2QsUUFBUSxFQUFFLE1BQU07RUFDaEIsSUFBSSxFQUFFLENBQUM7RUFDUCxHQUFHLEVBQUUsQ0FBQztFQUNOLGdCQUFnQixFNUQ5RFAsT0FBTztFNEQrRGhCLFNBQVMsRUFBRSxRQUFRO0VBQ25CLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7O0FBdkhMLEFBd0hJLGlCQXhIQyxDQXdIYTtFQUNWLGdCQUFnQixFckhoSEgsT0FBTztFcUhpSHBCLEtBQUssRUFBRSxFQUFFO0VBQ1QsT0FBTyxFQUFFLEdBQUc7RUFDWixNQUFNLEVBQUUsTUFBTSxHQUNqQjs7QUE3SEwsQUE4SEksaUJBOUhDLENBOEhhO0VBQ1YsZ0JBQWdCLEVySHRISCxPQUFPO0VxSHVIcEIsS0FBSyxFQUFFLEdBQUc7RUFDVixPQUFPLEVBQUUsR0FBRztFQUNaLE1BQU0sRUFBRSxNQUFNLEdBQ2pCOztBQW5JTCxBQW9JSSxpQkFwSUMsQ0FvSWE7RUFDVixnQkFBZ0IsRXJINUhILE9BQU87RXFINkhwQixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxHQUFHO0VBQ1osTUFBTSxFQUFFLE1BQU0sR0FDakI7O0FBR0wsTUFBTSxtQ0FDRjtFQUFBLEFBQUEsY0FBYyxDQUFDO0lBQ1gsS0FBSyxFQUFFLEtBQUssR0FDZjtFQUNELEFBQUEsYUFBYSxDQUFDO0lBQ1YsT0FBTyxFQUFFLE1BQU0sR0FDbEI7RUFDRCxBQUFBLGFBQWEsQ0FBQyxLQUFLLENBQUM7SUFDaEIsVUFBVSxFQUFFLElBQUksR0FDbkI7RUFDRCxBQUFBLGFBQWEsQ0FBQyxLQUFLLEFBQUEsdUJBQXVCLENBQUM7SUFDdkMsVUFBVSxFQUFFLEVBQUU7SUFDZCxhQUFhLEVBQUUsRUFBRSxHQUNwQjtFQUNELEFBQUEsYUFBYSxDQUFDLFFBQVEsQ0FBQztJQUNuQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJLEdBQ2Y7RUFDRCxBQUFBLGFBQWEsQ0FBQyxRQUFRLENBQUM7SUFDbkIsU0FBUyxFQUFFLE1BQU07SUFDakIsTUFBTSxFQUFFLElBQUk7SUFDWixLQUFLLEVBQUUsR0FBRztJQUNWLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBQ0QsQUFBQSxhQUFhLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQztJQUNyQixLQUFLLEVBQUUsSUFBSSxHQUNkO0VBQ0QsQUFBQSxhQUFhLENBQUMsUUFBUSxDQUFDO0lBQ25CLFNBQVMsRUFBRSxHQUFHLEdBQ2pCO0VBQ0QsQUFBQSxzQkFBc0IsQ0FBQztJQUNuQixLQUFLLEVBQUUsR0FBRyxHQUNiO0VBQ0QsQUFBQSxVQUFVLENBQUM7SUFDUCxLQUFLLEVBQUUsS0FBSztJQUNaLE1BQU0sRUFBRSxLQUFLO0lBQ2IsR0FBRyxFQUFFLENBQUM7SUFDTixJQUFJLEVBQUUsQ0FBQyxHQUNWO0VBQ0QsQUFBQSxZQUFZLENBQUM7SUFDVCxHQUFHLEVBQUUsSUFBSTtJQUNULGVBQWUsRUFBRSxNQUFNLEdBQzFCLEVBdkNBOztBQTBDTCxNQUFNLG9DQUNGO0VBQUEsQUFBQSxhQUFhLENBQUM7SUFDVixhQUFhLEVBQUUsSUFBSSxHQUN0QjtFQUNELEFBQUEsVUFBVSxDQUFDO0lBQ1AsTUFBTSxFQUFFLFdBQVcsR0FDdEI7RUFFK0IsU0FBQyxFQUF0QixlQUFlLEVBQUMsSUFBSTtJQUMzQixBQUFBLFVBQVUsQ0FBQztNQUNQLE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0IsSUFSSjs7QUN0TEwsQUFBQSxZQUFZLEV3QktaLFdBQUssQ0F1REcsRUFBRSxFeEI1REksWUFBWSxFQUFFLFlBQVksRUFBRSxZQUFZLENBQUM7RUFDbkQsT0FBTyxFQUFFLENBQUM7RUFDVixVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLE1BQU0sRUFBRSxNQUFNO0VBQ2QsU0FBUyxFQUFFLEtBQUs7RUFDaEIsS0FBSyxFQUFFLElBQUksR0FZZDtFQWZELEFBS0ksZUFMVyxDQUtYLEtBQUssQ0FBQztJQUNGLFVBQVUsRUFBRSxPQUFPLEdBQ3RCO0VBUEwsQUFTSSxlQVRXLENBU1gsSUFBSSxDQUFDO0lBQ0QsT0FBTyxFQUFFLENBQUMsQ3BDUkYsTUFBeUI7SW9DU2pDLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFHTCxBQUFBLGVBQWUsQUFBQSxRQUFRLENBQUM7RUFDcEIsU0FBUyxFQUFFLEtBQUssR0FDbkI7O0FBRUQsQUFBQSxZQUFZLENBQUM7RUFDVCxLQUFLLEVBQUUsS0FBSztFQUNaLE1BQU0sRUFBRSxNQUFNLEdBQ2pCOztBQUVELEFBQUEsS0FBSyxDQUFDO0VBRUYsS0FBSyxFdEg5QlksT0FBTztFc0grQnhCLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLGNBQWMsRUFBRSxTQUFTLEdBQzVCOztBQUVELEFBQUEsTUFBTSxFUXJCTixxQkFBcUIsQ0FpRGpCLFFBQVEsRUFBRSxXQUFXLEUvRUl6QixLQUFLLEdBQUcsU0FBUztBQUNqQixRQUFRLEdBQUcsU0FBUztBQUNwQixNQUFNLEdBQUcsU0FBUztBQUNsQixLQUFLLEdBQUcsRUFBRSxHQUFHLFNBQVM7QUFDdEIsUUFBUSxHQUFHLEVBQUUsR0FBRyxTQUFTO0FBQ3pCLE1BQU0sR0FBRyxFQUFFLEdBQUcsU0FBUyxDdUVyQ2hCO0VBQ0gsV0FBVyxFcENoQ0MsTUFBeUI7RW9DaUNyQyxZQUFZLEVwQ2pDQSxNQUF5QjtFb0NrQ3JDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsSUFBSSxDQUFDO0VBQ0QsZ0JBQWdCLEV0SFZOLEtBQUssR3NIV2xCOztBQUVELEFBQ0ksQ0FESCxBQUFBLE9BQU8sQ0FDRixLQUFLLEVjaERYLHNCQUFhLENBdUVMLENBQUMsQ2R2QkgsS0FBSyxFQURYLENBQUMsQUFBQSxPQUFPLENBQ08sS0FBSyxFY2hEcEIsc0JBQWEsQ0F1RUwsQ0FBQyxDZHZCTSxLQUFLLEVBRHBCLENBQUMsQUFBQSxPQUFPLENBQ2dCLE1BQU0sRWNoRDlCLHNCQUFhLENBdUVMLENBQUMsQ2R2QmUsTUFBTSxDQUFDO0UzQ3BCbkIsVUFBSyxFdEM2SFEsaUVBQTRFO0VzQzdIekYsS0FBSyxFakQyQkQsT0FBeUI7RWlEM0I3QixnQkFBSyxFM0UzQkksT0FBTyxHc0hrRHZCOztBQUdMLEFBQ0ksQ0FESCxBQUFBLE9BQU8sQUFBQSxXQUFXLENBQ2IsS0FBSyxFQURWLE9BQU8sQWNtbEJSLDBCQUFnQixDZGxsQlYsS0FBSztBQURWLE9BQU8sQWNvbEJSLCtCQUFxQixDZG5sQmYsS0FBSyxFY3ZEWCxzQkFBYSxDQXVFTCxDQUFDLENkaEJILEtBQUssRUFEWCxDQUFDLEFBQUEsT0FBTyxBQUFBLFdBQVcsQ0FDSixLQUFLLEVBRG5CLE9BQU8sQWNtbEJSLDBCQUFnQixDZGxsQkQsS0FBSztBQURuQixPQUFPLEFjb2xCUiwrQkFBcUIsQ2RubEJOLEtBQUssRWN2RHBCLHNCQUFhLENBdUVMLENBQUMsQ2RoQk0sS0FBSyxFQURwQixDQUFDLEFBQUEsT0FBTyxBQUFBLFdBQVcsQ0FDSyxNQUFNLEVBRDdCLE9BQU8sQWNtbEJSLDBCQUFnQixDZGxsQlEsTUFBTTtBQUQ3QixPQUFPLEFjb2xCUiwrQkFBcUIsQ2RubEJHLE1BQU0sRWN2RDlCLHNCQUFhLENBdUVMLENBQUMsQ2RoQmUsTUFBTSxDQUFDO0UzQzNCbkIsS0FBSyxFakQyQkQsT0FBeUI7RWlEM0I3QixnQkFBSyxFM0UzQkksT0FBTyxHc0h3RHZCOztBQUlMLEFBQUEsY0FBYyxFR3VyQmQsV0FBVyxDSHZyQkk7RUFDWCxJQUFJLEVBQUUsd0JBQXdCO0VBQzlCLFNBQVMsRUFBRSxrQ0FBa0M7RUFDN0MsTUFBTSxFQUFFLEdBQUc7RUFDWCxRQUFRLEVBQUUsaUJBQWlCO0VBQzNCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEtBQUssRUFBRSxHQUFHO0VBQ1YsT0FBTyxFQUFFLEtBQUssR0FDakI7O0FDN0VELEFBQUEsU0FBUyxDQUFDO0VBQ1IsT0FBTyxFQUFFLFlBQVk7RUFDckIsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSSxHQUNiOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQztFQUNaLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLE9BQU8sRUFBRSxLQUFLO0VBQ2QsUUFBUSxFQUFFLFFBQVE7RUFDbEIsS0FBSyxFQUFFLElBQUk7RUFDWCxNQUFNLEVBQUUsSUFBSTtFQUNaLE1BQU0sRUFBRSxHQUFHO0VBQ1gsTUFBTSxFQUFFLGNBQWM7RUFDdEIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsU0FBUyxFQUFFLFFBQVEsQ0FBQyxJQUFJLENBQUMsNEJBQTRCLENBQUMsUUFBUTtFQUM5RCxZQUFZLEVBQUUsMkNBQTJDLEdBQzFEOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ3pCLGVBQWUsRUFBRSxNQUFNLEdBQ3hCOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ3pCLGVBQWUsRUFBRSxLQUFLLEdBQ3ZCOztBQUNELEFBQUEsU0FBUyxDQUFDLEdBQUcsQ0FBQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0VBQ3pCLGVBQWUsRUFBRSxNQUFNLEdBQ3hCOztBQUNELFVBQVUsQ0FBVixRQUFVO0VBQ1IsRUFBRTtJQUNBLFNBQVMsRUFBRSxZQUFZO0VBRXpCLElBQUk7SUFDRixTQUFTLEVBQUUsY0FBYzs7QUV0QjdCLEFBQUEsSUFBSSxDQUFDO0VBQ0QsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTSxHQUN6Qjs7QUFLRCxBQUFBLGVBQWUsQ0FBQztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLGVBQWU7RUFDM0IsTUFBTSxFQUFFLGNBQWMsR0FLekI7RUFSRCxBQUtJLCtCQUxXLENBS087SUFDZCxNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCOztBQUdMLEFBQUEsWUFBWSxDQUFDO0U5Q1FELFdBQUssRTFDK0VXLE1BQU07RTBDL0V0QixPQUFLLEUxQ0tRLElBQUk7RTBDTGpCLFNBQUssRTFDTVUsR0FBRztFMENObEIsZUFBSyxFMUNPZ0IsYUFBYTtFMENQbEMsVUFBSyxFOUN3Q1csTUFBTTtFOEN4Q3RCLFFBQUssRTVDaUVXLE1BQU07RTRDakV0QixHQUFLLEU1Q3dCSSxDQUFDO0U0Q3hCVixLQUFLLEVqRDJCRCxPQUF5QjtFaUQzQjdCLGdCQUFLLEUzRU1ILEtBQUs7RXlIVmYsT0FBTyxFQUFFLElBQUk7RUFtQmIsVUFBVSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUI7RUFDM0MsTUFBTSxFQUFFLElBQUk7RUFDWixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVBQUUsRUFBRTtFQUNULEtBQUssRUFBRSxJQUFJLEdBY2Q7RUF6Q0QsQTlDR2dCLFk4Q0hKLEc5QzVCVixDQUFDLENBK0JpQjtJQUtSLFNBQUssRTFDU2MsQ0FBQyxHMENaZjtFOENMakIsQUFNSSxZQU5RLEdBTU4sQ0FBQyxDQUFDO0k5Q0VJLFlBQUssRW5ESmMsUUFBeUI7SW1ESTVDLGFBQUssRW5ESmMsUUFBeUI7SWlHSWhELE9BQU8sRUFBRSxJQUFJO0lBQ2IsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFWTCxBQVdJLFlBWFEsR0FXTixDQUFDLENBQUM7SUFDQSxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBRW5CLEtBQUssRXpISkMsSUFBSTtJeUhLVixNQUFNLEV2Qy9CRSxJQUF5QixHdUNvQ3BDO0lBckJMLEFBa0JRLFlBbEJJLEdBV04sQ0FBQyxDQU9DLENBQUMsQ0FBQztNQUNFLEtBQUssRXpIdENJLE9BQU8sR3lIdUNuQjtFQXBCVCxBQTZCSSxrQkE3QlEsQ0E2QkEsR0FBRyxDQUFDO0lBQ1IsTUFBTSxFQUFFLE1BQXdCO0lBQ2hDLFFBQVEsRUFBRSxRQUFRLEdBQ3JCO0VBaENMLEFBa0NJLG9CQWxDUSxFS3lYWiw0QkFBWSxDQThHUyxHQUFHLENMcmNWO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixhQUFhLEVBeERMLEdBQUc7SUF5RFgsS0FBSyxFQTFERyxJQUFJO0lBMkRaLE1BQU0sRUEzREUsSUFBSTtJQTREWixVQUFVLEVBQUUsS0FBSyxHQUNwQjs7QTlDMURHLE1BQU0sOEI4QytEVjtFQUFBLEFBQUEsb0JBQW9CLENBQUM7SUFDakIsU0FBUyxFQUFFLGVBQWU7SUFDMUIsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsTUFBTTtJQUNsQixNQUFNLEVBQUUsTUFBTTtJQUNkLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFFRCxBQUFBLGFBQWEsQ0FBQztJQUNWLFNBQVMsRUFBRSxJQUFJLEdBQ2xCO0VBRUQsQUFBQSxZQUFZLENBQUM7SUFDVCxXQUFXLEVBQUUsTUFBTTtJQUNuQixHQUFHLEVBQUUsQ0FBQyxHQU9ULEVBZkE7RTlDdEVHLE1BQU0scUQ4Q2lGRjtJQUxSLEFBS1EsWUFMSSxHQUtGLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxDQUFDLEN2Qy9FVixPQUF5QixHdUNnRjVCLEVBQUE7QTlDbkZMLE1BQU0sOEI4Q3NGVjtFQUFBLEFBQUEsWUFBWSxDQUFDO0lBQ1QsV0FBVyxFQUFFLE1BQU07SUFDbkIsZUFBZSxFQUFFLGFBQWEsR0F1QmpDO0lBekJELEFBSUksWUFKUSxHQUlOLENBQUMsQ0FBQztNQUNBLFVBQVUsRUFBRSxJQUFJO01BQ2hCLFdBQVcsRXZDekZQLE9BQXlCLEd1QzhGaEM7TUFYTCxBQVFRLFlBUkksR0FJTixDQUFDLENBSUcsU0FBVSxDQUFBLENBQUMsRUFBRTtRQUNYLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0lBVlQsQUFjUSxrQkFkSSxHQWNGLENBQUMsQ0FBQztNQUNBLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU0sR0FDdEI7SUFqQlQsQUFtQlEsa0JBbkJJLENBbUJGLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQztNQUN4QixPQUFPLEVBQUUsWUFBWTtNQUNyQixVQUFVLEVBQUUsa0JBQWtCO01BQzlCLEtBQUssRUFBRSxJQUFJLEdBQ2QsRUFFUjs7QUFNTCxBQUFBLFlBQVksQ0FBQztFQUNULFVBQVUsRUFBRSxHQUFHLENBQUMsS0FBSyxDaEVsQkMsT0FBTztFZ0VtQjdCLE1BQU0sRUFBRSxVQUFVLEdBS3JCO0VBUEQsQUFJSSxvQkFKUSxDQUlFO0lBQ04sVUFBVSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEN6SGhESCxPQUFPLEd5SGlENUI7O0FBR0wsQUFBQSxVQUFVLENBQUM7RUFDUCxVQUFVLEVBQUUsS0FBSztFQUNqQixNQUFNLEVBQUUsSUFBSTtFQUNaLE9BQU8sRUFBRSxHQUFHO0VBQ1osUUFBUSxFQUFFLEtBQUs7RUFDZixVQUFVLEVBQUUsSUFBSTtFQUNoQixnQkFBZ0IsRWhFN0JlLE9BQU87RWdFOEJ0QyxZQUFZLEVBQUUsR0FBRyxDQUFDLEtBQUssQ0FBQyxtQkFBbUI7RUFDM0MsUUFBUSxFQUFFLFdBQVcsR0FrTHhCO0VBaExHLE1BQU0sbUNBVlY7SUFBQSxBQUFBLFVBQVUsQ0FBQztNQVdILEtBQUssRUFBRSxHQUFHO01BQ1YsU0FBUyxFQUFFLEdBQUc7TUFDZCxTQUFTLEVBQUUsR0FBRyxHQTZLckIsRUFBQTtFQTFLRyxNQUFNLDJEQWhCVjtJQUFBLEFBQUEsVUFBVSxDQUFDO01BaUJILFVBQVUsRUFBRSxLQUFLLEdBeUt4QixFQUFBO0VBMUxELEFBb0JJLDRCQXBCTSxDQW9CYztJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxNQUFNLEdBQ25CO0VBdkJMLEFBeUJJLFVBekJNLENBeUJOLEVBQUUsQ0FBQztJQUNDLFdBQVcsRUFBRSx5QkFBeUIsR0FDekM7RUEzQkwsQUE2QkksaUJBN0JNLENBNkJHO0lBQ0wsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsUUFBUTtJQUNiLE9BQU8sRUFBRSxpQkFBaUI7SUFDMUIsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRXpFWixPQUFPLEdnRTBGdEI7SUFsREwsQUFtQ1EsaUJBbkNFLENBbUNGLENBQUMsQ0FBQztNQUNFLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFNBQVMsRUFBRSxNQUFNO01BQ2pCLGNBQWMsRUFBRSxDQUFDO01BQ2pCLFdBQVcsRUFBRSxDQUFDO01BQ2QsS0FBSyxFekg1RVUsT0FBTztNeUg2RXRCLGNBQWMsRUFBRSxTQUFTO01BQ3pCLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU0sR0FNdEI7TUFqRFQsQUE2Q1ksaUJBN0NGLENBbUNGLENBQUMsQ0FVRyxDQUFDLENBQUM7UUFDRSxTQUFTLEVBQUUsT0FBTztRQUNsQixXQUFXLEVBQUUsQ0FBQyxHQUNqQjtFQWhEYixBQW9ESSxVQXBETSxDQW9ETixlQUFlLENBQUM7SUFDWixXQUFXLEVBQUUsa0JBQWtCLEdBV2xDO0lBaEVMLEFBc0RRLFVBdERFLENBb0ROLGVBQWUsQ0FFWCxFQUFFLENBQUM7TUFDQyxTQUFTLEVBQUUsSUFBSTtNQUNmLGNBQWMsRUFBRSxDQUFDLEdBQ3BCO0lBekRULEFBMERRLFVBMURFLENBb0ROLGVBQWUsQ0FNWCxFQUFFLENBQUM7TUFDQyxXQUFXLEVBQUUsUUFBUSxHQUN4QjtJQTVEVCxBQTZEUSxVQTdERSxDQW9ETixlQUFlLENBU1gsQ0FBQyxDQUFDO01BQ0UsU0FBUyxFQUFFLElBQUksR0FDbEI7RUEvRFQsQUFrRUksVUFsRU0sQ0FrRU4sYUFBYSxDQUFDO0lBSVYsT0FBTyxFQUFFLGlCQUFpQixHQUM3QjtJQXZFTCxBQW1FUSxVQW5FRSxDQWtFTixhQUFhLENBQ1AsV0FBVyxDQUFDO01BQ1YsV0FBVyxFQUFFLE9BQU8sR0FDdkI7RUFyRVQsQUF5RUksVUF6RU0sQ0F5RU4sZUFBZSxDQUFDO0lBQ1osVUFBVSxFQUFFLFFBQVEsR0FDdkI7RUEzRUwsQUE2RUksVUE3RU0sQ0E2RUwsQUFBQSxPQUFDLENBQVEsRUFBRSxBQUFWLEVBQVk7SUFDVixLQUFLLEVBQUUsS0FBSyxHQUNmO0VBL0VMLEFBaUZJLFVBakZNLENBaUZMLEFBQUEsT0FBQyxBQUFBLEVBQVM7SUFDUCxLQUFLLEVBQUUsS0FBSztJQUNaLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLElBQUksRUFBRSxLQUFLLEdBQ2Q7RUFyRkwsQUF1RkksVUF2Rk0sQ0F1RkwsQUFBQSxPQUFDLEFBQUEsRUFBUztJQUNQLFVBQVUsRUFBRSxPQUFPO0lBQ25CLElBQUksRUFBRSxDQUFDO0lBQ1AsR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsR0FBRyxHQUNmO0VBNUZMLEFBK0ZRLFVBL0ZFLENBOEZOLEdBQUcsQ0FDQyxFQUFFO0VBL0ZWLFVBQVUsQ0E4Rk4sR0FBRyxDQUVDLEVBQUU7RUFoR1YsVUFBVSxDQThGTixHQUFHLENBR0MsRUFBRSxDQUFDO0lBQ0MsTUFBTSxFQUFFLENBQUM7SUFDVCxhQUFhLEVBQUUsT0FBTyxHQUN6QjtFQXBHVCxBQXNHUSxVQXRHRSxDQThGTixHQUFHLENBUUMsRUFBRSxDQUFDO0k5QzFNQyxPQUFLLEV0Q2lHUSxDQUFDO0lzQ2pHZCxNQUFLLEV0Q2tHTyxDQUFDO0lzQ2xHYixVQUFLLEV0Q21HVyxJQUFJLEdvRnlHdkI7RUF4R1QsQUEwR0ksVUExR00sQ0EwR04sR0FBRyxDQUFDLFVBQVUsQ0FBQztJQUNYLGFBQWEsRUFBRSxJQUFJLEdBQ3RCO0VBNUdMLEFBNkdJLFVBN0dNLENBNkdOLFdBQVcsQ0FBQztJQUNSLEtBQUssRXpIN09RLE9BQU8sR3lIOE92QjtFQS9HTCxBQWlISSxVQWpITSxDQWlITixjQUFjLENBQUM7SUFDWCxjQUFjLEVBQUUsTUFBTTtJQUN0QixVQUFVLEVBQUUsT0FBTyxHQWdCdEI7SUFuSUwsQUFxSFEsVUFySEUsQ0FpSE4sa0NBQWMsQ0FJWTtNQUNsQixTQUFTLEVBQUUsY0FBYyxHQUM1QjtJQXZIVCxBQXlIUSxVQXpIRSxDQWlITiw4QkFBYyxDQVFRO01BQ2QsT0FBTyxFQUFFLGVBQWU7TUFDeEIsZUFBZSxFQUFFLGFBQWE7TUFDOUIsTUFBTSxFQUFFLE9BQU8sR0FDbEI7SUE3SFQsQUErSFEsVUEvSEUsQ0FpSE4sY0FBYyxDQWNWLG1CQUFtQixDQUFDO01BQ2hCLEtBQUssRWhFeEtHLE9BQU87TWdFeUtmLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUFsSVQsQUFzSVEsVUF0SUUsQ0FxSU4sV0FBVyxDQUNQLEVBQUUsQ0FBQztJQUNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixNQUFNLEVBQUUsTUFBTTtJQUNkLEtBQUssRXpIM09ILElBQUksR3lIZ1BUO0lBL0lULEFBMklZLFVBM0lGLENBcUlOLFdBQVcsQ0FDUCxFQUFFLENBS0UsQ0FBQyxDQUFDO01BQ0UsWUFBWSxFQUFFLE1BQU07TUFDcEIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUE5SWIsQUFnSlEsVUFoSkUsQ0FxSU4sV0FBVyxDQVdQLEVBQUUsQUFBQSxlQUFlLENBQUM7SUFDZCxnQkFBZ0IsRWhFM0tGLE9BQU87SWdFNEtyQixNQUFNLEVBQUUscUJBQXFCO0lBQzdCLE9BQU8sRUFBRSxtQkFBbUIsR0FDL0I7RUFwSlQsQUF3SlEsVUF4SkUsQ0F1Sk4sZUFBZSxDQUNYLGdCQUFnQixDQUFDO0lBQ2IsS0FBSyxFekgxUEgsSUFBSSxHeUhpUVQ7SUFoS1QsQUEwSlksVUExSkYsQ0F1Sk4sZUFBZSxDQUNYLGdCQUFnQixDQUVaLEtBQUssQ0FBQztNQUNGLE1BQU0sRUFBRSxPQUFPO01BQ2YsS0FBSyxFQUFFLEtBQUs7TUFDWixXQUFXLEVBQUUsS0FBSztNQUNsQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtFQS9KYixBQWlLUSxVQWpLRSxDQXVKTixlQUFlLENBVVgsR0FBRyxDQUFDO0lBQ0EsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFuS1QsQUFxS1ksVUFyS0YsQ0F1Sk4sZUFBZSxDQWFYLEtBQUssQ0FDRCxDQUFDLENBQUM7SUFDRSxXQUFXLEVBQUUsS0FBSyxHQUNyQjtFQXZLYixBQXlLUSxVQXpLRSxDQXVKTixlQUFlLENBa0JYLEVBQUUsQ0FBQztJQUNDLE9BQU8sRUFBRSxJQUFJO0lBQ2IsUUFBUSxFQUFFLFFBQVEsR0FJckI7SUEvS1QsQUE0S1ksVUE1S0YsQ0F1Sk4sZUFBZSxDQWtCWCxFQUFFLENBR0UsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUNELFdBQVcsRUFBRSxLQUFLLEdBQ3JCO0VBOUtiLEFBZ0xRLFVBaExFLENBdUpOLGVBQWUsQ0F5QlgsU0FBUyxDQUFDO0lBQ04sVUFBVSxFaEUzTUksT0FBTyxHZ0U0TXhCO0VBbExULEFBbUxRLFVBbkxFLENBdUpOLGVBQWUsQ0E0QlgsS0FBSyxDQUFDO0lBQ0YsT0FBTyxFQUFFLEtBQUssR0FDakI7RUFyTFQsQUFzTFEsVUF0TEUsQ0F1Sk4sZUFBZSxDQStCWCxLQUFLLENBQUM7SUFDRixPQUFPLEVBQUUsSUFBSSxHQUNoQjs7QUFJVCxBQUFBLFlBQVk7QUFDWiw0QkFBNEIsQ0FBQztFQUN6QixPQUFPLEVBQUUsZUFBZSxHQUMzQjs7QUFFRCxBQUNJLHNDQUR3QixDQUNaO0VBQ1IsUUFBUSxFQUFFLGFBQWE7RUFDdkIsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBR0wsQUFBQSxZQUFZLENBQUMsT0FBTyxHQUFHLEtBQUssR0FBRyxDQUFDO0FBQ2hDLDRCQUE0QixDQUFDLE9BQU8sR0FBRyxLQUFLLEdBQUcsQ0FBQyxDQUFDO0VBQzdDLFNBQVMsRUFBRSxjQUFjLEdBQzVCOztBQUVELEFBQUEsbUJBQW1CLENBQUM7RUFDaEIsR0FBRyxFQUFFLElBQUk7RUFDVCxVQUFVLEVBQUUsSUFBSSxHQU9uQjtFQVRELEFBSUksbUJBSmUsQUFJZCxLQUFLLENBQUM7SUFDSCxLQUFLLEVBQUUsTUFBTTtJQUNiLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBR0wsQUFBQSxlQUFlLENBQUM7RUFDWixhQUFhLEVBQUUsTUFBTTtFQUNyQixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxJQUFJO0VBQ1osWUFBWSxFQUFFLE9BQU87RUFDckIsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBRUQsQUFBQSxjQUFjLENBQUM7RUFDWCxRQUFRLEVBQUUsS0FBSztFQUNmLEdBQUcsRUFBRSxJQUFJO0VBQ1QsS0FBSyxFQUFFLENBQUM7RUFDUixVQUFVLEV6SGxVQSxLQUFLO0V5SG1VZixVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsbUJBQW1CLEdBbUZwRDtFQXhGRCxBQU9JLGNBUFUsQ0FPVixDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUsT0FBTyxHQUNsQjtFQVRMLEFBVUksY0FWVSxDQVVWLENBQUM7RUFWTCxjQUFjLENBV1YsQ0FBQyxDQUFDO0lBQ0UsU0FBUyxFQUFFLEdBQUc7SUFDZCxXQUFXLEVBQUUsR0FBRztJQUNoQixLQUFLLEV6SC9VQyxJQUFJLEd5SGdWYjtFQUVELE1BQU0sbUJBakJWO0lBQUEsQUFBQSxjQUFjLENBQUM7TUFrQlAsS0FBSyxFQUFFLE9BQU8sR0FzRXJCLEVBQUE7RUF4RkQsQUFxQkksdUJBckJVLENBcUJDO0k5Q3pWSCxPQUFLLEVuREpjLE9BQXlCLEdpR3dYbkQ7SUFoREwsQUF3QlEsdUJBeEJNLENBd0JOLEVBQUUsQ0FBQztNQUNDLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0lBMUJULEFBNEJRLHVCQTVCTSxDQTRCTixFQUFFLENBQUM7TUFDQyxXQUFXLEVBQUUsU0FBUztNQUN0QixhQUFhLEVBQUUsQ0FBQztNQUNoQixVQUFVLEVBQUUsSUFBSTtNQUNoQixlQUFlLEVBQUUsSUFBSTtNOUNwV3JCLFdBQUssRW5ESmMsT0FBeUI7TW1ESTVDLGNBQUssRW5ESmMsT0FBeUIsR2lHMlcvQztJQW5DVCxBQXFDUSx1QkFyQ00sQ0FxQ04sRUFBRSxDQUFDO01BQ0MsT0FBTyxFQUFFLElBQUksR0FDaEI7SUF2Q1QsQUF5Q1EsdUJBekNNLENBeUNKLFdBQVcsQ0FBQztNOUM3V1YsV0FBSyxFbkRKYyxNQUF5QjtNbURJNUMsY0FBSyxFbkRKYyxNQUF5QjtNaUdtWDVDLFVBQVUsRUFBRSxDQUFDO01BQ2IsTUFBTSxFQUFFLE9BQU87TUFDZixPQUFPLEVBQUUsU0FBUztNQUNsQixVQUFVLEVoRXJTYSxPQUFPLEdnRXNTakM7RUEvQ1QsQUFrREksd0JBbERVLENBa0RFO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsTUFBTTtJQUNuQixNQUFNLEVBQUUsSUFBSTtJQUNaLFVBQVUsRUFBRSxJQUFJLEdBWW5CO0lBbEVMLEFBd0RRLHdCQXhETSxDQXdETixHQUFHLENBQUM7TUFDQSxRQUFRLEVBQUUsTUFBTSxHQUNuQjtJQTFEVCxBQTREUSx3QkE1RE0sQ0E0RE4sQ0FBQyxDQUFDO01BQ0UsTUFBTSxFQUFFLEtBQUs7TUFDYixVQUFVLEVBQUUsSUFBSTtNQUNoQixRQUFRLEVBQUUsTUFBTTtNQUNoQixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQWpFVCxBQXNFUSx1QkF0RU0sQ0FzRU4sQ0FBQyxFQXRFVCwyQkFBYyxDQXNFTixDQUFDLENBQUM7SUFDRSxLQUFLLEVoRS9VRyxPQUFPLEdnRWdWbEI7RUF4RVQsQUEyRUksc0JBM0VVLENBMkVBO0lBQ04sVUFBVSxFQUFFLElBQUk7SUFDaEIsZ0JBQWdCLEVoRXJWSixPQUFPO0lnRXNWbkIsS0FBSyxFekg1WUMsS0FBSyxHeUhxWmQ7SUF2RkwsQUFnRlEsc0JBaEZNLENBZ0ZOLElBQUksQ0FBQztNQUNELGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0lBbEZULEFBb0ZRLHNCQXBGTSxDQW9GTixDQUFDLENBQUM7TUFDRSxLQUFLLEV6SG5aSCxLQUFLLEd5SG9aVjs7QUFJVCxBQUNJLG9CQURTLENBQ0E7RUFDTCxhQUFhLEVBQUUsb0JBQW9CO0VBQ25DLEtBQUssRXpINWJRLE9BQU87RXlINmJwQixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsR0FBRyxHQUNqQjs7QUFOTCxBQVFJLGdDQVJTLENBUVk7RUFDakIsVUFBVSxFQUFFLE9BQU87RUFDbkIsT0FBTyxFQUFFLFdBQVc7RUFDcEIsa0JBQWtCLEVBQUUsQ0FBQztFQUNyQixrQkFBa0IsRUFBRSxRQUFRO0VBQzVCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxRQUFRLEdBUTFCO0VBdEJMLEFBZ0JRLGdDQWhCSyxDQWdCTCxJQUFJLENBQUM7SUFDRCxVQUFVLEVBQUUsSUFBSTtJQUNoQixTQUFTLEVBQUUsTUFBTTtJQUNqQixLQUFLLEV6SDFaTyxPQUFPO0l5SDJabkIsV0FBVyxFQUFFLE9BQU8sR0FDdkI7O0FBSVQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsb0JBQW9CLEdBNkg5QztFQTNIRyxNQUFNLG1DQUpWO0lBQUEsQUFBQSxrQkFBa0IsQ0FBQztNQUtYLHFCQUFxQixFQUFFLFVBQVUsR0EwSHhDLEVBQUE7RUEvSEQsQUFRSSwyQkFSYyxDQVFIO0lBQ1AsVUFBVSxFQUFFLE1BQU07SUFDbEIsR0FBRyxFQUFFLE9BQU87SUFDWixlQUFlLEVBQUUsYUFBYSxHQUNqQztFQVpMLEFBY0ksK0JBZGMsQ0FjQyxDQUFDLEVBZHBCLGlDQUFrQixDQWVHLENBQUMsQ0FBQztJQUNmLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQU07SUFDdkIsV0FBVyxFQUFFLE1BQU07SUFDbkIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsTUFBTSxFQUFFLENBQUMsR0FDWjtFQXJCTCxBQXdCUSxpQ0F4QlUsQ0F3QlYsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFQUFFLFFBQVE7SUFDZixNQUFNLEVBQUUsUUFBUTtJQUNoQixnQkFBZ0IsRXpIL1lQLE9BQU87SXlIZ1poQixNQUFNLEV6SGhaRyxPQUFPLEd5SGlabkI7RUE3QlQsQUFnQ0ksK0JBaENjLENBZ0NDO0lBQ1gsU0FBUyxFQUFFLENBQUMsR0FhZjtJQTlDTCxBQWtDUSwrQkFsQ1UsQ0FrQ1YsQ0FBQyxDQUFDO01BQ0UsS0FBSyxFekhwZEgsS0FBSztNeUhxZFAsZ0JBQWdCLEV6SHhkZCxJQUFJO015SHlkTixNQUFNLEV6SHpkSixJQUFJO015SDBkTixNQUFNLEVBQUUsUUFBUTtNQUNoQixjQUFjLEVBQUUsSUFBSTtNQUNwQixjQUFjLEVBQUUsQ0FBQztNQUNqQixTQUFTLEVBQUUsR0FBRztNQUNkLFdBQVcsRUFBRSxPQUFPO01BQ3BCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO0VBN0NULEFBaURRLGlDQWpEVSxDQWlEVixDQUFDLENBQUM7SUFDRSxnQkFBZ0IsRXpIdGFQLE9BQU87SXlIdWFoQixNQUFNLEV6SHZhRyxPQUFPO0l5SHdhaEIsU0FBUyxFQUFFLEdBQUcsR0FNakI7SUExRFQsQUFzRFksaUNBdERNLENBaURWLENBQUMsQ0FLRyxDQUFDLENBQUM7TUFDRSxTQUFTLEVBQUUsT0FBTztNQUNsQixLQUFLLEV6SHplUCxLQUFLLEd5SDBlTjtFQXpEYixBQTZESSx5QkE3RGMsQ0E2REw7SUFDTCxPQUFPLEVBQUUsaUJBQWlCO0lBQzFCLGFBQWEsRUFBRSxHQUFHLENBQUMsS0FBSyxDaEU1YU4sT0FBTyxHZ0U2YTVCO0VBaEVMLEFBa0VJLDBCQWxFYyxDQWtFSjtJQUNOLEtBQUssRUFBRSxJQUFJO0lBQ1gsTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsYUFBYSxFQUFFLEdBQUc7SUFDbEIsVUFBVSxFQUFFLEtBQUs7SUFDakIsWUFBWSxFQUFFLElBQUk7SUFDbEIsYUFBYSxFQUFFLElBQUksR0FDdEI7RUEzRUwsQUE2RUksNEJBN0VjLENBNkVGO0lBQ1IsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVoRTFjTyxPQUFPO0lnRTJjbkIsV0FBVyxFQUFFLE9BQU87SUFDcEIsYUFBYSxFQUFFLFFBQVE7SUFDdkIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUFuRkwsQUFxRkkscUNBckZjLENBcUZPO0lBQ2pCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLEtBQUssRXpIdmZXLE9BQU87SXlId2Z2QixXQUFXLEVBQUUsT0FBTztJQUNwQixVQUFVLEVBQUUsSUFBSTtJQUNoQixRQUFRLEVBQUUsTUFBTTtJQUNoQixVQUFVLEVBQUUsUUFBUTtJQUNwQixhQUFhLEVBQUUsUUFBUSxHQUMxQjtFQTdGTCxBQStGSSxzQ0EvRmMsQ0ErRlE7SUFDbEIsTUFBTSxFQUFFLE9BQU8sR0FTbEI7SUF6R0wsQUFpR1Esc0NBakdVLENBaUdWLENBQUMsQ0FBQztNQUNFLEtBQUssRXpIbGdCTyxPQUFPLEd5SG1nQnRCO0lBbkdULEFBb0dRLHNDQXBHVSxDQW9HVixJQUFJLENBQUM7TUFDRCxLQUFLLEV6SHJnQk8sT0FBTztNeUhzZ0JuQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsUUFBUSxHQUN4QjtFQXhHVCxBQTJHSSxxQ0EzR2MsQ0EyR087SUFDakIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsV0FBVyxFQUFFLE9BQU8sR0FVdkI7SUF2SEwsQUErR1EscUNBL0dVLENBK0dWLENBQUMsQ0FBQztNQUNFLEtBQUssRWhFM2VHLE9BQU8sR2dFNGVsQjtJQWpIVCxBQWtIUSxxQ0FsSFUsQ0FrSFYsSUFBSSxDQUFDO01BQ0QsY0FBYyxFQUFFLFNBQVM7TUFDekIsS0FBSyxFaEUvZUcsT0FBTztNZ0VnZmYsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUF0SFQsQUF5SEksZ0NBekhjLENBeUhFO0lBQ1osTUFBTSxFQUFFLG1CQUFtQixHQUM5Qjs7QUFNTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxrQkFBa0IsR0E0QjVDO0VBOUJELEFBSUksMEJBSmEsQ0FJRjtJQUNQLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxnQkFBZ0IsR0FpQjVCO0lBdkJMLEFBUVEsMEJBUlMsQ0FRUCxDQUFDLENBQUMsVUFBVSxDQUFDLE1BQU0sQ0FBQztNQUNsQixNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCO0lBVlQsQUFZUSwwQkFaUyxDQVlULE1BQU0sQ0FBQztNQUNILEtBQUssRUFBRSxJQUFJO01BQ1gsYUFBYSxFQUFFLFNBQVM7TUFDeEIsTUFBTSxFQUFFLFFBQVE7TUFDaEIsY0FBYyxFQUFFLElBQUk7TUFDcEIsZ0JBQWdCLEV6SGxqQkosT0FBTztNeUhtakJuQixZQUFZLEV6SG5qQkEsT0FBTztNeUhvakJuQixTQUFTLEVBQUUsR0FBRztNQUNkLFdBQVcsRUFBRSxHQUFHO01BQ2hCLE1BQU0sRUFBRSxjQUFjLEdBQ3pCO0VBdEJULEFBMEJRLHVCQTFCUyxDQTBCVCxFQUFFLENBQUM7SUFDQyxNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCOztBQUlULEFBRUksdUJBRmE7QUFDakIsd0JBQWtCLENBQ047RUFDSixRQUFRLEVBQUUsTUFBTTtFQUNoQixhQUFhLEVBQUUsUUFBUTtFQUN2QixXQUFXLEVBQUUsQ0FBQztFQUNkLFNBQVMsRUFBRSxHQUFHO0VBQ2QsT0FBTyxFQUFFLFNBQVMsR0FnQ3JCO0VBdkNMLEFBU1EsdUJBVFMsQ0FTVCxDQUFDO0VBUlQsd0JBQWtCLENBUVYsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFekhqakJjLE9BQU8sR3lIa2pCN0I7RUFYVCxBQVlRLHVCQVpTLENBWVQsRUFBRTtFQVhWLHdCQUFrQixDQVdWLEVBQUUsQ0FBQztJQUNDLE9BQU8sRUFBRSxNQUFNO0lBQ2YsVUFBVSxFQUFFLFdBQVc7SUFDdkIsTUFBTSxFQUFFLEtBQUssR0FDaEI7RUFoQlQsQUFrQlEsaUNBbEJTO0VBQ2pCLGtDQUFrQixDQWlCRTtJQUNSLGdCQUFnQixFaEVoaUJXLFNBQVM7SWdFaWlCcEMsYUFBYSxFQUFFLE1BQU07SUFDckIsTUFBTSxFQUFFLE9BQU8sR0FDbEI7RUF0QlQsQUF3QlEsaUNBeEJTO0VBQ2pCLGtDQUFrQixDQXVCRTtJQUNSLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE9BQU8sRUFBRSxnQkFBZ0I7SUFDekIsV0FBVyxFQUFFLEdBQUcsR0FDbkI7RUE1QlQsQUE4QlEsK0JBOUJTO0VBQ2pCLGdDQUFrQixDQTZCQTtJQUNOLFVBQVUsRUFBRSxrQkFBa0IsR0FPakM7SUFKTyxNQUFNLG9DQURWO01BakNaLEFBaUNZLCtCQWpDSyxDQWlDSCxVQUFVO01BaEN4QixnQ0FBa0IsQ0FnQ0osVUFBVSxDQUFDO1FBRUwsYUFBYSxFQUFFLElBQUksR0FFMUIsRUFBQTtBQXJDYixBQXlDSSxnQ0F6Q2E7QUFDakIsaUNBQWtCLENBd0NHO0VBQ2IsU0FBUyxFQUFFLGdCQUFnQjtFQUMzQixXQUFXLEVBQUUsaUJBQWlCO0VBQzlCLEtBQUssRXpIam9CQyxJQUFJO0V5SGtvQlYsYUFBYSxFQUFFLGdCQUFnQjtFQUMvQixPQUFPLEVBQUUsZ0JBQWdCO0VBQ3pCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFFBQVEsRUFBRSxNQUFNO0VBQ2hCLGFBQWEsRUFBRSxRQUFRLEdBQzFCOztBQWxETCxBQW9ESSwrQkFwRGE7QUFDakIsZ0NBQWtCLENBbURFO0VBQ1osYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRWpsQlosT0FBTztFZ0VrbEJuQixXQUFXLEVBQUUsQ0FBQyxHQUtqQjtFQTNETCxBQXdEUSx3Q0F4RFM7RUFDakIseUNBQWtCLENBdURDO0lBQ1AsYUFBYSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENoRXZrQlYsT0FBTyxHZ0V3a0J4Qjs7QUExRFQsQUE2REksK0JBN0RhO0FBQ2pCLGdDQUFrQixDQTRERTtFQUNaLGFBQWEsRUFBRSxpQkFBaUIsR0FDbkM7O0FBL0RMLEFBaUVJLGlCQWpFYSxDQWlFYixZQUFZO0FBaEVoQixrQkFBa0IsQ0FnRWQsWUFBWSxDQUFDO0VBQ1QsTUFBTSxFQUFFLG1DQUFtQztFQUMzQyxXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QTlDdHJCRyxNQUFNLDhCOEMwckJWO0VBQUEsQUFBQSxVQUFVLENBQUM7SUFDUCxPQUFPLEVBQUUsR0FBRztJQU9aLGdCQUFnQixFaEUzbEJXLE9BQU87SWdFNGxCbEMsYUFBYSxFQUFFLENBQUM7SUFDaEIsSUFBSSxFQUFFLENBQUM7SUFDUCxVQUFVLEVBQUUsa0JBQWtCO0lBQzlCLFNBQVMsRUFBRSxRQUFRO0lBQ25CLFNBQVMsRUFBRSxRQUFRLEdBMkJ0QjtJQXhDRCxBQUdJLFVBSE0sQ0FHTixFQUFFLENBQUM7TUFDQyxVQUFVLEVBQUUsS0FBSztNQUNqQixhQUFhLEVBQUUsS0FBSyxHQUN2QjtJQU5MLEFBZUksVUFmTSxFQUFWLFVBQVUsQ0FnQkwsQUFBQSxPQUFDLEFBQUEsR0FoQk4sVUFBVSxDQWlCTCxBQUFBLE9BQUMsQUFBQSxFQUFRLEFBQUEsT0FBQyxBQUFBLEVBQVM7TUFDaEIsT0FBTyxFQUFFLEtBQUs7TUFDZCxLQUFLLEVBQUUsR0FBRztNQUNWLE1BQU0sRUFBRSxLQUFLO01BQ2IsVUFBVSxFQUFFLE9BQU87TUFDbkIsSUFBSSxFQUFFLENBQUMsR0FDVjtJQXZCTCxBQXdCSSxVQXhCTSxDQXdCTixHQUFHLENBQUM7TUFDQSxNQUFNLEVBQUUsSUFBSTtNQUNaLFdBQVcsRUFBRSxDQUFDLEdBU2pCO01BbkNMLEFBNEJRLFVBNUJFLENBd0JOLEdBQUcsQ0FJQyxFQUFFO01BNUJWLFVBQVUsQ0F3Qk4sR0FBRyxDQUtDLEVBQUU7TUE3QlYsVUFBVSxDQXdCTixHQUFHLENBTUMsRUFBRSxDQUFDO1FBQ0MsT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUUsUUFBUTtRQUNyQixVQUFVLEVBQUUsQ0FBQyxHQUNoQjtJQWxDVCxBQXFDSSxVQXJDTSxDQXFDTixHQUFHLENBQUMsVUFBVSxFQUFFLEtBQUssQ0FBQztNQUNsQixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQUdMLEFBQUEsYUFBYSxDQUFDO0lBQ1YsT0FBTyxFQUFFLElBQUk7SUFDYixXQUFXLEVBQUUsT0FBTyxHQUN2QjtFQUVELEFBQUEsYUFBYSxHQUFHLENBQUMsQ0FBQyxXQUFXLENBQUM7SUFDMUIsSUFBSSxFQUFFLENBQUMsR0FDVjtFQUVELEFBQUEsVUFBVSxHQUFHLENBQUMsQ0FBQztJQUNYLElBQUksRUFBRSxDQUFDLEdBQ1YsRUFiQTs7QUFnQkwsQUFBQSxXQUFXLENBQUM7RUFFUixTQUFTLEVBQUUsQ0FBQyxHQVNmO0VBWEQsQUFHSSxXQUhPLEVBR04sS0FBSyxDQUFDO0lBQ0gsVUFBVSxFQUFFLENBQUM7SUFDYixNQUFNLEV2Q3B2QkUsT0FBeUI7SXVDcXZCakMsT0FBTyxFdkNydkJDLFFBQXlCO0l1Q3N2QmpDLFFBQVEsRUFBRSxLQUFLO0lBQ2YsVUFBVSxFQUFFLE1BQU07SUFDbEIsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBR0wsQUFBQSxLQUFLLENBQUM7RUFDRixLQUFLLEVBQUUsSUFBSTtFQUNYLE1BQU0sRUFBRSxLQUFLO0VBQ2IsT0FBTyxFQUFFLFFBQVEsR0FLcEI7RUFSRCxBQUlJLEtBSkMsQ0FJRCxNQUFNLENBQUM7SUFDSCxNQUFNLEVBQUUsS0FBSztJQUNiLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBR0wsTUFBTSxtQkFFRTtFQURKLEFBQ0ksS0FEQyxDQUNELE1BQU0sQ0FBQztJQUNILE1BQU0sRUFBRSxLQUFLO0lBQ2IsS0FBSyxFQUFFLElBQUksR0FDZCxFQUFBOztBQUlULEFBQUEsU0FBUyxDQUFDO0VBQ04sT0FBTyxFQUFFLENBQUMsR0FZYjtFQVZHLE1BQU0sOEJBSFY7SUFBQSxBQUFBLFNBQVMsQ0FBQztNQUlGLFVBQVUsRXpIeHZCUSxPQUFPO015SHl2QnpCLFFBQVEsRUFBRSxLQUFLO01BQ2YsR0FBRyxFQUFFLENBQUM7TUFDTixJQUFJLEVBQUUsQ0FBQztNQUNQLEtBQUssRUFBRSxJQUFJO01BQ1gsTUFBTSxFQUFFLElBQUk7TUFFWixPQUFPLEVBQUUsSUFBSSxHQUVwQixFQUFBO0FBRUQsTUFBTSw4QkFDRjtFQUFBLEFBQUEsZUFBZSxDQUFDO0lBQ1osU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLEtBQUssR0FDaEIsRUFBQTs7QXpIOW1CTCxVQUFVO0VBQ04sV0FBVyxFQUFFLFFBQVE7RUFDckIsR0FBRyxFQUFFLHVDQUF1Qzs7QUFHaEQsVUFBVTtFQUNOLFdBQVcsRUFBRSxTQUFTO0VBQ3RCLEdBQUcsRUFBRSxtQ0FBbUM7O0FBRzVDLFVBQVU7RUFDTixXQUFXLEVBQUUsZ0JBQWdCO0VBQzdCLEdBQUcsRUFBRSxvQ0FBb0M7O0F3SHJNN0MsQUFBQSxZQUFZLEdBQUcsQ0FBQyxDQUFDLFNBQVUsQ0FBQSxDQUFDLEVBQUU7RUFDMUIsT0FBTyxFQUFFLGdCQUFnQixHQUM1Qjs7QUFFRCxBQUFBLFVBQVUsQ0FBQyxFQUFFLENBQUM7RUFDVixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFFRCxBQUNJLGdCQURZLENBQ1osVUFBVSxDQUFBO0VBQ04sT0FBTyxFQUFFLElBQUk7RUFDYixlQUFlLEVBQUUsYUFBYTtFQUM5QixTQUFTLEVBQUUsS0FBSyxHQUNuQjs7Q0diSixBQUFELElBQUssQ0FBQztFQUNGLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0VoRHVCUCxVQUFLLEU5Q3dDVyxNQUFNO0U4Q3hDdEIsU0FBSyxFaEQyRkUsUUFBK0I7RWdEM0Z0QyxXQUFLLEUxQytFVyxNQUFNO0UwQy9FdEIsT0FBSyxFMUMyQlEsSUFBSTtFMEMzQmpCLFNBQUssRTFDNEJVLE1BQU07RTBDNUJyQixlQUFLLEUxQzZCZ0IsYUFBYTtFMEZqRDFDLGdCQUFnQixFdENNTSwyQkFBa0Q7RXNDTHhFLGFBQWEsRWxFd09nQixHQUFHO0VrRXZPaEMsS0FBSyxFdENJaUIsaUNBQWtEO0VzQ0h4RSxLQUFLLEVBZEssSUFBSTtFQWVkLE1BQU0sRUFBRSxLQUFLO0VBQ2IsTUFBTSxFQUFFLElBQUk7RUFDWixRQUFRLEVBQUUsTUFBTSxHQXdGbkI7RWhEbkZlLE1BQU0sOEJnRGR0QjtJQUFBLEFBQUEsa0JBQWtCLENBQUM7TWhEdUJQLFNBQUssRWhEMkZFLFFBQStCLEdnR2pCakQsRUFBQTtFaERuRmUsTUFBTSw4QmdEZHRCO0lBQUEsQUFBQSxrQkFBa0IsQ0FBQztNaER1QlAsU0FBSyxFaEQyRkUsUUFBK0IsR2dHakJqRCxFQUFBO0VoRG5GZSxNQUFNLDhCZ0RkdEI7SUFBQSxBQUFBLGtCQUFrQixDQUFDO01oRHVCUCxTQUFLLEVoRDJGRSxRQUErQixHZ0dqQmpELEVBQUE7RUFqR0QsQWhEa0JnQixrQmdEbEJFLEdoRGJoQixDQUFDLENBK0JpQjtJQUtSLFNBQUssRTFDK0JjLENBQUMsRzBDbENmO0VnRFRiLE1BQU0sOEJBWFY7SUFBQSxBQUFBLGtCQUFrQixDQUFDO01BWVgsS0FBSyxFQUFFLEtBQUs7TUFDWixhQUFhLEVBQUUsUUFBUSxHQW9GOUIsRUFBQTtFQWpHRCxBQWdCSSx3QkFoQmMsQ0FnQk47SWhET0EsU0FBSyxFaEQyRkUsUUFBK0I7SWdEM0Z0QyxXQUFLLEU5Q0NTLEdBQUc7SThGSmpCLGdCQUFnQixFdENYRixpQ0FBa0Q7SXNDWWhFLEtBQUssRXRDWlMsMkJBQWtEO0lzQ2NwRSxLQUFLLEVBQUUsSUFBSTtJQUNYLE9BQU8sRUFBRSxNQUFNLEdBWWxCO0loRHRCVyxNQUFNLDhCZ0RFbEI7TUFoQkosQUFnQkksd0JBaEJjLENBZ0JOO1FoRE9BLFNBQUssRWhEMkZFLFFBQStCLEdnRzlFN0MsRUFBQTtJaER0QlcsTUFBTSw4QmdERWxCO01BaEJKLEFBZ0JJLHdCQWhCYyxDQWdCTjtRaERPQSxTQUFLLEVoRDJGRSxRQUErQixHZ0c5RTdDLEVBQUE7SWhEdEJXLE1BQU0sOEJnREVsQjtNQWhCSixBQWdCSSx3QkFoQmMsQ0FnQk47UWhET0EsU0FBSyxFaEQyRkUsUUFBK0IsR2dHOUU3QyxFQUFBO0lBVkcsTUFBTSw4QkFWVjtNQWhCSixBQWdCSSx3QkFoQmMsQ0FnQk47UUFXQSxPQUFPLEVBQUUsSUFBSTtRQUNiLE9BQU8sRUFBRSxTQUFTO1FBQ2xCLE1BQU0sRUFBRSxJQUFJLEdBT25CO1FBcENMLEFBK0JZLHdCQS9CTSxDQStCTixVQUFVLENBQUM7VUFDUCxPQUFPLEVBQUUsSUFBSTtVQUNiLE1BQU0sRUFBRSxNQUFNLEdBQ2pCLEVBRVI7RUFwQ0wsQUFxQ0ksOEJBckNjLENBcUNBO0loRGROLE9BQUssRXRDeUZRLENBQUM7SXNDekZkLE1BQUssRXRDMEZPLENBQUM7SXNDMUZiLFVBQUssRXRDMkZXLElBQUk7SXNDM0ZwQixXQUFLLEVuREpjLFFBQXlCO0ltREk1QyxjQUFLLEVuREpjLFFBQXlCLEdtR3dCbkQ7SUEzQ0wsQWhEa0JnQiw4QmdEbEJFLEdoRGJoQixFQUFFLENBK0JnQjtNQUtSLE9BQUssRXRDNkZZLE1BQU0sR3NDaEdsQjtJZ0RwQmpCLEFBd0NRLDhCQXhDVSxHQXdDUixFQUFFLENBQUM7TWhEakJELFlBQUssRW5ESmMsUUFBeUI7TW1ESTVDLGFBQUssRW5ESmMsUUFBeUIsR21HdUIvQztFQTFDVCxBQTRDSSx3QkE1Q2MsQ0E0Q047SWhEckJBLFdBQUssRTFDMEJZLE9BQU87STBDMUJ4QixPQUFLLEUxQzJCUSxJQUFJO0kwQzNCakIsU0FBSyxFMUM0QlUsTUFBTTtJMEM1QnJCLGVBQUssRTFDbUVXLE1BQU07STBDbkV0QixPQUFLLEVuREpjLE1BQXlCO0ltRzRCaEQsU0FBUyxFQUFFLENBQUM7SUFDWixPQUFPLEVBQUUsSUFBSSxHQWtCaEI7SUFsRUwsQWhEa0JnQix3QmdEbEJFLEdoRGJoQixDQUFDLENBK0JpQjtNQUtSLFNBQUssRTFDK0JjLENBQUMsRzBDbENmO0lnRHBCakIsQUFrRFEsd0JBbERVLENBa0RWLENBQUMsQ0FBQztNaEQzQkUsU0FBSyxFaEQyRkUsUUFBK0I7TWdEM0Z0QyxXQUFLLEUzRTZLTSxRQUFRO00ySC9JbkIsS0FBSyxFM0h4QkgsS0FBSztNMkh5QlAsV0FBVyxFQUFFLEdBQUc7TUFDaEIsUUFBUSxFQUFFLE1BQU07TUFDaEIsYUFBYSxFQUFFLFFBQVE7TUFDdkIsT0FBTyxFQUFFLFdBQVc7TUFDcEIsa0JBQWtCLEVBQUUsQ0FBQztNQUNyQixrQkFBa0IsRUFBRSxRQUFRO01BQzVCLE9BQU8sRUFBRSxtQkFBbUIsR0FDL0I7TWhEL0NPLE1BQU0sOEJnRG9DZDtRQWxEUixBQWtEUSx3QkFsRFUsQ0FrRFYsQ0FBQyxDQUFDO1VoRDNCRSxTQUFLLEVoRDJGRSxRQUErQixHZ0dyRHpDLEVBQUE7TWhEL0NPLE1BQU0sOEJnRG9DZDtRQWxEUixBQWtEUSx3QkFsRFUsQ0FrRFYsQ0FBQyxDQUFDO1VoRDNCRSxTQUFLLEVoRDJGRSxRQUErQixHZ0dyRHpDLEVBQUE7TWhEL0NPLE1BQU0sOEJnRG9DZDtRQWxEUixBQWtEUSx3QkFsRFUsQ0FrRFYsQ0FBQyxDQUFDO1VoRDNCRSxTQUFLLEVoRDJGRSxTQUErQixHZ0dyRHpDLEVBQUE7SUFFRCxNQUFNLG1DQW5CVjtNQTVDSixBQTRDSSx3QkE1Q2MsQ0E0Q047UUFvQkEsT0FBTyxFQUFFLEtBQUssR0FFckIsRUFBQTtFQWxFTCxBQW1FSSw0QkFuRWMsQ0FtRUY7SWhENUNKLGNBQUssRTlDbUJjLFNBQVM7SThDbkI1QixTQUFLLEVoRDJGRSxRQUErQjtJZ0QzRnRDLE1BQUssRW5ESmMsT0FBeUI7SW1ESTVDLFdBQUssRTlDQ1MsR0FBRztJOEY4Q3JCLEtBQUssRTNINUNDLElBQUk7STJINkNWLE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0loRDFEVyxNQUFNLDhCZ0RxRGxCO01BbkVKLEFBbUVJLDRCQW5FYyxDQW1FRjtRaEQ1Q0osU0FBSyxFaEQyRkUsUUFBK0IsR2dHMUM3QyxFQUFBO0loRDFEVyxNQUFNLDhCZ0RxRGxCO01BbkVKLEFBbUVJLDRCQW5FYyxDQW1FRjtRaEQ1Q0osU0FBSyxFaEQyRkUsUUFBK0IsR2dHMUM3QyxFQUFBO0loRDFEVyxNQUFNLDhCZ0RxRGxCO01BbkVKLEFBbUVJLDRCQW5FYyxDQW1FRjtRaEQ1Q0osU0FBSyxFaEQyRkUsUUFBK0IsR2dHMUM3QyxFQUFBO0VBeEVMLEFBeUVJLDBCQXpFYyxDQXlFSjtJaERsREYsV0FBSyxFbkRKYyxRQUF5QjtJbURJNUMsVUFBSyxFbkRKYyxRQUF5QjtJbUd3RGhELFdBQVcsRUFBRSxNQUFNO0lBR2YsVUFBVSxFdENyRUksMkJBQWtELENzQ3FFYiwyQ0FBNEIsQ0FBQyxNQUFNO0lBRTFGLHFCQUFxQixFQUFFLFVBQVU7SUFDakMsS0FBSyxFQUFFLElBQUksR0FPZDtJQUxHLE1BQU0sbUNBQ0Y7TUFwRlosQUFvRlksMEJBcEZNLENBb0ZOLENBQUMsQ0FBQztRQUNFLGFBQWEsRUFBRSxNQUFNLEdBQ3hCLEVBQUE7RUF0RmIsQUEwRkksa0JBMUZjLENBMEZkLGFBQWEsRUExRmpCLGtCQUFrQixDR3dZbEIsMEJBQVksQ0g5U007SUFDVixLQUFLLEVBQUUsS0FBSyxHQUtmO0lBaEdMLEFBNkZRLGtCQTdGVSxDQTBGZCx1QkFBYSxFQTFGakIsa0JBQWtCLENHd1lsQiw4QkFBWSxFSHhZWixrQkFBa0IsQ0d3WWxCLG9DQUFZLENIM1NRO01BQ1IsWUFBWSxFM0hqRVYsS0FBSyxHMkhrRVY7O0FoRGxHRCxNQUFNLDhCZ0RzR2Q7RUFBQSxBQUFBLGdCQUFnQixDQUFDO0lBRVQsV0FBVyxFQUFFLE1BQU07SUFDbkIsT0FBTyxFQUFFLElBQUk7SUFDYixRQUFRLEV6Q3ZHQSxPQUF5QjtJeUN3R2pDLHFCQUFxQixFQUFFLHFDQUFxQyxHQWtCbkU7SUF2QkQsQUFPUSxnQkFQUSxHQU9OLENBQUMsQ0FBQztNQUNBLFlBQVksRUFBRSxNQUFNO01BQ3BCLEtBQUssRUFBRSxJQUFJO01BQ1gsT0FBTyxFQUFFLElBQUksR0FLaEIsRUFRUjtJQVhXLE1BQU0sdURBTFY7TUFQUixBQU9RLGdCQVBRLEdBT04sQ0FBQyxDQUFDO1FBS3dDLFNBQVMsRUFBRSxLQUFLLEdBRzNELEVBQUE7QWhEckhELE1BQU0sOEJnRG9IRjtNQWRaLEFBY1ksZ0JBZEksR0FPTixDQUFDLEdBT0csQ0FBQyxDQUFDO1FBQUMsYUFBYSxFekNqSGQsT0FBeUIsR3lDaUhHLEVBQUQ7O0FBSXZDLE1BQU0sK0JBbEJWO0VBQUEsQUFBQSxnQkFBZ0IsQ0FBQztJQW1CVCxTQUFTLEVBQUUsTUFBTTtJQUNqQixXQUFXLEVBQUUsQ0FBQztJQUNkLHFCQUFxQixFQUFFLGlEQUFpRCxHQUUvRSxFQUFBOztBQUVELEFBQ0ksMEJBRFksQ0FDQTtFQUNSLEtBQUssRUFBRSxTQUFTO0VBQ2hCLE1BQU0sRUFBRSxJQUFJO0VBQ1osVUFBVSxFM0gvRlEsT0FBTztFMkhnR3pCLE1BQU0sRUFBRSxpQkFBaUI7RUFDekIsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLG1CQUFtQjtFQUNwRCxhQUFhLEVBQUUsU0FBUztFQUN4QixZQUFZLEVBQUUsUUFBUSxHQUN6Qjs7QUFUTCxBQVVJLHNCQVZZLENBVUo7RUFDSixXQUFXLEVBQUUsTUFBTTtFQUNuQixjQUFjLEVBQUUsUUFBUTtFQUN4QixVQUFVLEVBQUUsS0FBSztFQUNqQixhQUFhLEVBQUUsS0FBSyxHQUN2Qjs7QUFmTCxBQWdCSSxzQkFoQlksQ0FnQko7RUFDSixVQUFVLEVBQUUsS0FBSztFQUNqQixTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsUUFBUTtFQUNyQixXQUFXLEVBQUUsSUFBSSxHQUNwQjs7QUFJTCxBQUNJLGNBRFUsQ0FDVixtQkFBbUIsQ0FBQztFQUNoQixVQUFVLEUzSDFISixLQUFLO0UySDJIWCxPQUFPLEVBQUUsSUFBSTtFQUNiLE1BQU0sRUFBRSxJQUFJO0VBQ1osU0FBUyxFQUFFLElBQUk7RUFDZixVQUFVLEVBQUUsT0FBTztFQUNuQixhQUFhLEVBQUUsU0FBUztFQUV4QixPQUFPLEVBQUUsU0FBUztFQUNsQixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFYTCxBQWFJLGNBYlUsQ0FhVixxQkFBcUIsQ0FBQztFQUNsQixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLGdCQUFnQjtFQUV6QixjQUFjLEVBQUUsTUFBTSxHQWF6QjtFQS9CTCxBQW9CUSxjQXBCTSxDQWFWLHFCQUFxQixDQU9qQixVQUFVLENBQUM7SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxRQUFRO0lBQ3pCLE9BQU8sRUFBRSxLQUFLLEdBQ2pCO0VBeEJULEFBMEJRLGNBMUJNLENBYVYscUJBQXFCLENBYWpCLEVBQUUsQ0FBQztJQUNDLEtBQUssRTNIcExJLE9BQU87STJIcUxoQixVQUFVLEVBQUUsTUFBTTtJQUNsQixVQUFVLEVBQUUsS0FBSyxHQUNwQjs7QUFHTCxNQUFNLDhCQWpDVjtFQUFBLEFBQUEsY0FBYyxDQUFDO0lBa0NQLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLE1BQU0sRUFBRSxDQUFDO0lBRVQsVUFBVSxFQUFFLElBQUk7SUFFaEIsUUFBUSxFQUFFLEtBQUs7SUFDZixNQUFNLEVBQUUsS0FBSztJQUNiLElBQUksRUFBRSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUk7SUFFYixhQUFhLEVBQUUscUJBQXFCO0lBQ3BDLGdCQUFnQixFM0hyS1YsS0FBSztJMkhzS1gsS0FBSyxFQUFFLElBQUk7SUFDWCxVQUFVLEVBQUUsR0FBRyxHQXVCdEI7SUF0RUQsQUFpRFEsY0FqRE0sQ0FpRE4sbUJBQW1CLENBQUM7TUFDaEIsT0FBTyxFQUFFLElBQUk7TUFDYixlQUFlLEVBQUUsTUFBTTtNQUN2QixVQUFVLEVBQUUsSUFBSTtNQUNoQixNQUFNLEVBQUUsQ0FBQztNQUNULE9BQU8sRUFBRSxTQUFTLEdBQ3JCO0lBdkRULEFBMERRLGNBMURNLENBMEROLENBQUMsQ0FBQztNQUNFLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO0lBNURULEFBOERRLGNBOURNLENBOEROLDBCQUEwQixDQUFDO01BQ3ZCLE9BQU8sRUFBRSxDQUFDLEdBQ2I7SUFoRVQsQUFrRVEsY0FsRU0sQ0FrRU4scUJBQXFCLENBQUM7TUFDbEIsT0FBTyxFQUFFLEtBQUssR0FDakIsRUFFUjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUNaLFNBQVMsRUFBRSxHQUFHO0VBQ2QsVUFBVSxFQUFFLE1BQU07RUFDbEIsV0FBVyxFQUFFLEdBQUc7RUFDaEIsV0FBVyxFQUFFLFNBQVMsR0FDekI7O0FBRUQsQUFBQSxlQUFlLENBQUM7RUFDWixXQUFXLEVBQUUsU0FBUztFQUN0QixlQUFlLEVBQUUsU0FBUyxHQUM3Qjs7QTNIbkRELFVBQVU7RUFDTixXQUFXLEVBQUUsUUFBUTtFQUNyQixHQUFHLEVBQUUsdUNBQXVDOztBQUdoRCxVQUFVO0VBQ04sV0FBVyxFQUFFLFNBQVM7RUFDdEIsR0FBRyxFQUFFLG1DQUFtQzs7QUFHNUMsVUFBVTtFQUNOLFdBQVcsRUFBRSxnQkFBZ0I7RUFDN0IsR0FBRyxFQUFFLG9DQUFvQzs7QzBIck01QyxBQUFELElBQUssQ0FBQztFQUNGLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFFRCxBQUFBLGtCQUFrQixDQUFDO0V4R3VCUCxVQUFLLEVXd0NXLE1BQU07RVh4Q3RCLFNBQUssRVMyRkUsUUFBK0I7RVQzRnRDLFdBQUssRWUrRVcsTUFBTTtFZi9FdEIsT0FBSyxFZTJCUSxJQUFJO0VmM0JqQixTQUFLLEVlNEJVLE1BQU07RWY1QnJCLGVBQUssRWU2QmdCLGFBQWE7RXlGbEQxQyxnQkFBZ0IsRTFIMkJOLEtBQUssQzBIM0JnQixVQUFVO0VBQ3pDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDMUhEQSxPQUFPO0UwSEV4QixLQUFLLEUxSHNCSyxJQUFJLEcwSEdqQjtFeEdmZSxNQUFNLDhCd0dkdEI7SUFBQSxBQUFBLGtCQUFrQixDQUFDO014R3VCUCxTQUFLLEVTMkZFLFFBQStCLEcrRnJGakQsRUFBQTtFeEdmZSxNQUFNLDhCd0dkdEI7SUFBQSxBQUFBLGtCQUFrQixDQUFDO014R3VCUCxTQUFLLEVTMkZFLFFBQStCLEcrRnJGakQsRUFBQTtFeEdmZSxNQUFNLDhCd0dkdEI7SUFBQSxBQUFBLGtCQUFrQixDQUFDO014R3VCUCxTQUFLLEVTMkZFLFFBQStCLEcrRnJGakQsRUFBQTtFQTdCRCxBeEdrQmdCLGtCd0dsQkUsR3hHYmhCLENBQUMsQ0ErQmlCO0lBS1IsU0FBSyxFZStCYyxDQUFDLEdmbENmO0V3R3BCakIsQUFNSSx3QkFOYyxDQU1OO0lBQ0osS0FBSyxFMUhWUyxPQUFPO0kwSFdyQixnQkFBZ0IsRTFITkgsT0FBTyxDMEhNa0IsVUFBVSxHQUNuRDtFQVRMLEFBVUksOEJBVmMsQ0FVQTtJQUNWLEtBQUssRTFIZlEsT0FBTyxDMEhlTyxVQUFVLEdBQ3hDO0VBWkwsQUFhSSwwQkFiYyxDQWFKO0lBQ04sVUFBVSxFQUFFLG1EQUFtRCxHQUNsRTtFQWZMLEFBZ0JJLGtCQWhCYyxDQWdCZCxhQUFhLEVBaEJqQixrQkFBa0IsQ0l3WWxCLDBCQUFZLENKeFhNO0lBQ1YsS0FBSyxFQUFFLEtBQUssR0FLZjtJQXRCTCxBQW1CUSxrQkFuQlUsQ0FnQmQsdUJBQWEsRUFoQmpCLGtCQUFrQixDSXdZbEIsOEJBQVksRUp4WVosa0JBQWtCLENJd1lsQixvQ0FBWSxDSnJYUTtNQUNSLFlBQVksRTFIU1YsS0FBSyxHMEhSVjtFQXJCVCxBQXdCUSx3QkF4QlUsQ0F3QlYsQ0FBQyxDQUFDO0lBQ0UsS0FBSyxFMUhDSCxJQUFJO0kwSEFOLFdBQVcsRUFBRSxHQUFHLEdBQ25COztBTXhDVCxBQUFBLE9BQU8sQ0FBQztFQUNKLG1CQUFtQixFQUFFLE1BQU07RUFDM0IsTUFBTSxFQUFFLEtBQUs7RUFDYixRQUFRLEVBQUUsUUFBUSxHQU9yQjtFQUxHLE1BQU0sMENBQ0Y7SUFOUixBQU1RLE9BTkQsQ0FNRztNQUNFLE1BQU0sRUFBRSxLQUFLLEdBQ2hCLEVBQUE7QUFJVCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLEtBQUssRUFBRSxJQUFJO0VBQ1gsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsT0FBTztFQUNmLFVBQVUsRUFBRSxVQUFVO0VBQ3RCLFVBQVUsRUFBRSx1QkFBdUI7RUFDbkMsaUJBQWlCLEVBQUUsTUFBTSxHQTJLNUI7RUF6S0csTUFBTSxtQ0FDRjtJQVRSLEFBU1Esb0JBVFksQ0FTVjtNQUNFLE9BQU8sRUFBRSwrQkFBK0IsR0FDM0MsRUFBQTtFQUdMLE1BQU0sMENBQ0Y7SUFmUixBQWVRLG9CQWZZLENBZVY7TUFDRSxPQUFPLEVBQUUsK0JBQStCLEdBQzNDLEVBQUE7RUFqQlQsQUFvQkksaUNBcEJnQixDQW9CRDtJQUNYLGdCQUFnQixFQUFFLHlEQUF5RDtJQUMzRSxNQUFNLEVBQUUsS0FBSyxHQU9oQjtJQUxHLE1BQU0sMENBQ0Y7TUF6QlosQUF5QlksaUNBekJRLENBeUJOO1FBQ0UsTUFBTSxFQUFFLEtBQUssR0FDaEIsRUFBQTtFQTNCYixBQStCSSw4QkEvQmdCLENBK0JKO0lBQ1IsZ0JBQWdCLEVBQUUsd0RBQWdFO0lBQ2xGLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsVUFBVSxFQUFFLFVBQVUsR0FDekI7RUFwQ0wsQUFzQ0kseUJBdENnQixDQXNDVDtJQUNILE9BQU8sRUFBRSxJQUFJO0lBQ2Isa0JBQWtCLEVBQUUsa0JBQWtCO0lBQ3RDLFFBQVEsRUFBRSxRQUFRLEdBS3JCO0lBSEcsTUFBTSxtQkFMVjtNQXRDSixBQXNDSSx5QkF0Q2dCLENBc0NUO1FBTUMsa0JBQWtCLEVBQUUsY0FBYyxHQUV6QyxFQUFBO0VBOUNMLEFBZ0RJLDRCQWhEZ0IsQ0FnRE47SUFDTixRQUFRLEVBQUUsUUFBUTtJQUNsQixPQUFPLEVBQUUsQ0FBQztJQUNWLFFBQVEsRUFBRSxDQUFDO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsS0FBSztJQUNkLFNBQVMsRUFBRSxNQUFNLEdBQ3BCO0VBdkRMLEFBeURJLDhCQXpEZ0IsRUFBcEIsaUNBQW9CLENBeURZO0lBQ3hCLEtBQUssRUFBRSxJQUFJO0lBQ1gsZUFBZSxFQUFFLEtBQUssR0FDekI7RUE1REwsQUE4REksMkJBOURnQixFQUFwQixpQ0FBb0IsQ0E4RFA7SUFDTCxLQUFLLEVoSWpDQyxLQUFLO0lnSWtDWCxXQUFXLEVBQUUsR0FBRztJQUNoQixjQUFjLEVBQUUsU0FBUztJQUN6QixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsV0FDakIsR0FBQztFQXBFTCxBQXNFSSxpQ0F0RWdCLENBc0VEO0lBRVgsS0FBSyxFaEk1Q2EsT0FBTyxHZ0k2QzVCO0VBekVMLEFBMkVJLDBCQTNFZ0IsQ0EyRVI7SUFDSixLQUFLLEVoSWpEQyxJQUFJO0lnSWtEVixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsS0FBSztJQUNoQixjQUFjLEVBQUUsS0FBSyxHQWF4QjtJQVhHLE1BQU0sbUNBQ0Y7TUFuRlosQUFtRlksMEJBbkZRLENBbUZOO1FBQ0UsVUFBVSxFQUFFLElBQUk7UUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FDckIsRUFBQTtJQXRGYixBQTBGUSxpQ0ExRlksQ0EwRkg7TUFDTCxLQUFLLEVoSTdESCxLQUFLLEdnSThEVjtFQTVGVCxBQStGSSwwQkEvRmdCLENBK0ZSO0lBQ0osS0FBSyxFaEluR1EsT0FBTyxHZ0lvR3ZCO0VBakdMLEFBbUdJLDZCQW5HZ0IsQ0FtR0w7SUFDUCxRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsTUFBTTtJQUNYLEtBQUssRUFBRSxJQUFJO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSTtJQUNULE1BQU0sRUFBRSxRQUFRO0lBQ2hCLGdCQUFnQixFaEk1RVYsS0FBSztJZ0k2RVgsS0FBSyxFaEloRkMsSUFBSTtJZ0lpRlYsYUFBYSxFQUFFLE1BQU07SUFDckIsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsVUFBVTtJQUNuQixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE1BQU0sRUFBRSxPQUFPLEdBbUJsQjtJQXBJTCxBQW1IUSw2QkFuSFksQ0FtSFosQ0FBQyxDQUFDO01BQ0UsU0FBUyxFQUFFLE1BQU0sR0FDcEI7SUFySFQsQUF1SFEsNkJBdkhZLENBdUhaLEdBQUcsQ0FBQztNQUNBLE9BQU8sRUFBRSxJQUFJO01BQ2IsV0FBVyxFQUFFLE1BQU0sR0FDdEI7SUFFRCxNQUFNLG1CQUNGO01BN0haLEFBNkhZLDZCQTdIUSxDQTZITjtRQUNFLEdBQUcsRUFBRSxDQUFDO1FBQ04sS0FBSyxFQUFFLENBQUM7UUFDUixNQUFNLEVBQUUsSUFBSTtRQUNaLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQUE7RUFsSWIsQUFzSUksNkJBdElnQixDQXNJTDtJQUNQLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLE1BQU07SUFDakIsR0FBRyxFQUFFLE1BQU07SUFDWCxPQUFPLEVBQUUsQ0FBQztJQUNWLE1BQU0sRUFBRSxPQUFPLEdBa0JsQjtJQTlKTCxBQThJUSw2QkE5SVksQ0E4SVosR0FBRyxDQUFDLFdBQVcsQ0FBQztNQUNaLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCO0lBaEpULEFBa0pRLDZCQWxKWSxDQWtKWixHQUFHLENBQUMsU0FBVSxDQUFBLENBQUMsRUFBRTtNQUNiLE9BQU8sRUFBRSxVQUFVO01BQ25CLGFBQWEsRUFBRSxLQUFLO01BQ3BCLGdCQUFnQixFaEkvSEYsT0FBTztNZ0lnSXJCLEtBQUssRWhJM0hILElBQUksR2dJNEhUO0lBRUQsTUFBTSxtQkFDRjtNQTFKWixBQTBKWSw2QkExSlEsQ0EwSk47UUFDRSxHQUFHLEVBQUUsSUFBSSxHQUNaLEVBQUE7RUE1SmIsQUFnS0ksb0JBaEtnQixDQWdLaEIsd0JBQXdCLENBQUM7SUFDckIsZ0JBQWdCLEVoSW5JVixLQUFLO0lnSW9JWCxLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxJQUFJO0lBQ1osYUFBYSxFQUFFLEdBQUc7SUFDbEIsT0FBTyxFQUFFLElBQUk7SUFDYixlQUFlLEVBQUUsTUFBTTtJQUN2QixjQUFjLEVBQUUsTUFBTTtJQUN0QixNQUFNLEVBQUUsT0FBTyxHQUNsQjtFQXpLTCxBQTJLSSxvQkEzS2dCLENBMktoQix1QkFBdUIsQ0FBQyxHQUFHLENBQUM7SUFDeEIsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUE3S0wsQUE4S0ksb0JBOUtnQixDQThLaEIsdUJBQXVCLENBQUMsR0FBRyxDQUFDO0lBQ3hCLEtBQUssRWhJcEpDLElBQUksR2dJcUpiOztBQzVMTCxBQUFBLHFCQUFxQixDQUFDO0VBQ2xCLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLE1BQU0sRUFBRSxDQUFDO0VBQ1QsS0FBSyxFQUFFLGtCQUFrQjtFQUN6QixNQUFNLEVBQUUsT0FBTztFQUNmLGdCQUFnQixFaklJQyxPQUFPO0VpSUh4QixPQUFPLEVBQUUsSUFBSTtFQUNiLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFdBQVcsRUFBRSxNQUFNO0VBQ25CLE1BQU0sRUFBRSxPQUFPLEdBNkRsQjtFQXRFRCxBQVdJLGlDQVhpQixDQVdIO0lBQ1YsS0FBSyxFQUFFLElBQUksR0FDZDtFQWJMLEFBZUksNkJBZmlCLENBZVA7SUFDTixLQUFLLEVqSTBCQyxLQUFLO0lpSXpCWCxPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxPQUFPLEdBa0NmO0lBcERMLEFBb0JRLG1DQXBCYSxDQW9CTDtNQUNKLE9BQU8sRUFBRSxJQUFJO01BQ2IsR0FBRyxFQUFFLElBQUksR0FtQlo7TUF6Q1QsQUF3QlksbUNBeEJTLENBd0JULEdBQUcsQ0FBQztRQUNBLE9BQU8sRUFBRSxJQUFJO1FBQ2IsZ0JBQWdCLEVqSWdCbEIsS0FBSztRaUlmSCxhQUFhLEVBQUUsR0FBRztRQUNsQixLQUFLLEVBQUUsTUFBTTtRQUNiLE1BQU0sRUFBRSxNQUFNO1FBQ2QsZUFBZSxFQUFFLE1BQU0sR0FLMUI7UUFuQ2IsQUFnQ2dCLG1DQWhDSyxDQXdCVCxHQUFHLENBUUMsQ0FBQyxDQUFFO1VBQ0MsS0FBSyxFakl4QkosT0FBTyxHaUl5Qlg7TUFsQ2pCLEFBcUNZLG1DQXJDUyxDQXFDVCxJQUFJLENBQUM7UUFDRCxjQUFjLEVBQUUsU0FBUztRQUN6QixXQUFXLEVBQUUsSUFBSSxHQUNwQjtJQUdMLE1BQU0sbUJBQ0Y7TUE1Q1osQUE0Q1ksNkJBNUNTLENBNENQO1FBQ0UsU0FBUyxFQUFFLE1BQU0sR0FLcEI7UUFsRGIsQUErQ2dCLG1DQS9DSyxDQStDRztVQUNKLGVBQWUsRUFBRSxNQUFNLEdBQzFCLEVBQ0o7RUFJVCxNQUFNLHdDQUNGO0lBdkRSLEFBdURRLHFCQXZEYSxDQXVEWDtNQUNFLFFBQVEsRUFBRSxDQUFDO01BQ1gsV0FBVyxFQUFFLEtBQUs7TUFDbEIsUUFBUSxFQUFFLGdCQUFnQjtNQUMxQixLQUFLLEVBQUUsS0FBSztNQUNaLFNBQVMsRUFBRSxJQUFJO01BQ2YsTUFBTSxFQUFFLFFBQVE7TUFDaEIsVUFBVSxFQUFFLE1BQU07TUFDbEIsT0FBTyxFQUFFLElBQUksR0FLaEI7TUFwRVQsQUFpRVksNkJBakVTLENBaUVDO1FBQ04sR0FBRyxFQUFFLEtBQUssR0FDYixFQUNKO0FIakRULEFBQUEsYUFBYSxBQUFBLFVBQVUsRUFBVixVQUFVLEF0RVp2QixNQUFNLENzRVlrQjtFQUNwQixRQUFRLEVBQUUsUUFBUSxHQUNyQjs7QUFFRCxBQUdJLHFCQUhpQixDQUdqQixhQUFhLEVBSGpCLHFCQUFxQixDdEVoQnJCLE1BQU0sQ3NFbUJZO0VBQ1YscUJBQXFCLEVBQUUsZ0JBQWdCLENBQUMsb0JBQW9CLENBQUMsaUJBQWlCLEdBT2pGO0VBTEcsTUFBTSxtQkFDRjtJQVBaLEFBT1kscUJBUFMsQ0FHakIsYUFBYSxFQUhqQixxQkFBcUIsQ3RFaEJyQixNQUFNLENzRXVCUTtNQUNFLHFCQUFxQixFQUFFLFVBQVUsR0FDcEMsRUFBQTtBQVRiLEFBYUkscUJBYmlCLENBYWpCLE9BQU8sQ0FBQztFQXZCSixVQUFRLEVBSmdCLHdCQUF3QjtFQThCaEQsVUFBVSxFQUFFLElBQUksR0FPbkI7RUF2QkwsQUFrQlEscUJBbEJhLENBYWpCLE9BQU8sQ0FLSCxrQkFBa0IsQ0FBQztJQUNmLGFBQWEsRUFBRSxJQUFJO0lBQ25CLEtBQUssRTlIbENJLE9BQU8sQzhIa0NLLFVBQVU7SUFDL0IsY0FBYyxFQUFFLE9BQU8sR0FDMUI7O0FBdEJULEFBd0JJLHFCQXhCaUIsQ0F3QmpCLEVBQUUsQ0FBQztFQUVDLFdBQVcsRUFBRSx1QkFBdUIsR0FDdkM7O0FBM0JMLEFBNEJJLDZCQTVCaUIsQ0E0QlA7RTVHZkYsV0FBSyxFZUlZLE9BQU87RWZKeEIsT0FBSyxFZUtRLElBQUk7RWZMakIsU0FBSyxFZU1VLEdBQUc7RWZObEIsZUFBSyxFZU9nQixhQUFhO0VmUGxDLFlBQUssRU1KYyxJQUF5QjtFTkk1QyxhQUFLLEVNSmMsSUFBeUI7RXNHc0JoRCxNQUFNLEVBQUUsTUFBTTtFQUNkLFFBQVEsRUFBRSxRQUFRLEdBSXJCO0VBcENMLEE1R1FnQiw2QjRHUkssRzVHdkJuQixDQUFDLENBK0JpQjtJQUtSLFNBQUssRWVTYyxDQUFDLEdmWmY7RTRHVmpCLEFBaUNRLDZCQWpDYSxDQWlDYixDQUFDLENBQUM7SUFDRSxLQUFLLEU5SGhESSxPQUFPLEc4SGlEbkI7O0FBbkNULEFBdUNJLHFCQXZDaUIsQ0F1Q2pCLEtBQUs7QUF2Q1QscUJBQXFCLENBd0NqQixRQUFRLENBQUM7RUFDTCxVQUFVLEU5SHRCSixLQUFLO0U4SHVCWCxhQUFhLEVBQUUsUUFBUTtFQUN2QixTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUE1Q0wsQUE2Q0kscUJBN0NpQixDQTZDakIsUUFBUSxDQUFDO0VBQ0wsTUFBTSxFQUFFLE1BQU07RUFDZCxTQUFTLEVBQUUsTUFBTSxHQUNwQjs7QUFoREwsQUFxREksMkJBckRpQixDQXFEVDtFQUNKLFVBQVUsRUFBRSxNQUFNLEdBSXJCO0VBMURMLEFBdURRLDJCQXZEYSxDQXVEYixLQUFLLENBQUM7SUFDRixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUF6RFQsQUE2RFEsNEJBN0RhLENBNkRiLEtBQUssQ0FBQztFQUNGLGFBQWEsRUFBRSxLQUFLLEdBQ3ZCOztBQS9EVCxBQWdFUSw0QkFoRWEsQ0FnRWIsS0FBSyxDQUFDO0VBQ0YsYUFBYSxFQUFFLENBQUMsR0FDbkI7O0FBbEVULEFBcUVJLCtCQXJFaUIsQ0FxRUw7RUFDUixhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUF2RUwsQUF5RUkscUJBekVpQixDQXlFakIsU0FBUyxDQUFDO0VBQ04sS0FBSyxFQUFFLEdBQUc7RUFDVixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUE1RUwsQUE4RUkscUJBOUVpQixDQThFakIsVUFBVSxDQUFDO0VBQ1AsVUFBVSxFQUFFLFFBQVEsR0FDdkI7O0FBR0wsQUFBQSxxQkFBcUIsQ0FBQyxLQUFLO0FBQzNCLGtCQUFrQixDQUFDLEtBQUs7QUFDeEIsV0FBVyxDQUFDLEtBQUssQ0FDakI7RUFDSSxLQUFLLEU5SG5EZSxPQUFPO0U4SG9EM0IsV0FBVyxFQUFFLHVCQUF1QjtFQUNwQyxTQUFTLEVBQUUsS0FBSztFQUNoQixXQUFXLEVBQUUsR0FBRyxHQUNuQjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUM7RUFDN0IsT0FBTyxFQUFFLFlBQVksR0FDeEI7O0FBQ0QsQUFBQSxxQkFBcUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQztFQUMzQyxjQUFjLEVBQUUsVUFBVSxHQUM3Qjs7QUFFRCxBQUFBLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxZQUFZO0FBQ3hDLGtCQUFrQixDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsWUFBWSxDQUFDO0VBQ3RDLGNBQWMsRUFBRSxxQkFBcUIsR0FDeEM7O0FBRUQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLFFBQVE7RUFDcEIsT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxnQkFBZ0IsQ0FBQyxvQkFBb0IsQ0FBQyxpQkFBaUIsR0FnS2pGO0VBOUpHLE1BQU0sbUNBQ0Y7SUFQUixBQU9RLGtCQVBVLENBT1I7TUFDRSxxQkFBcUIsRUFBRSxVQUFVO01BQ2pDLE9BQU8sRUFBRSxNQUFNLEdBQ2xCLEVBQUE7RUFWVCxBQWFJLHNCQWJjLENBYVI7SUFDRixTQUFTLEVBQUUsTUFBTSxHQUNwQjtFQWZMLEFBZ0JJLHNCQWhCYyxDQWdCUjtJQUNGLFdBQVcsRUFBRSx1QkFBdUI7SUFDcEMsU0FBUyxFQUFFLFFBQVE7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsYUFBYSxFQUFFLENBQUMsR0FDbkI7RUFyQkwsQUFzQkksNEJBdEJjLENBc0JGO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSTtJQUNULFNBQVMsRUFBRSxJQUFJLEdBRWxCO0lBM0JMLEFBMEJRLDRCQTFCVSxDQTBCVixLQUFLLENBQUM7TUFBQyxhQUFhLEVBQUUsQ0FBQyxHQUFHO0VBMUJsQyxBQTZCSSxtQ0E3QmMsQ0E2Qks7SUFJZixVQUFVLEVBQUUsT0FBTyxHQUl0QjtJQXJDTCxBQThCUSx5Q0E5QlUsQ0E4QkY7TUFDSixVQUFVLEVBQUUsUUFBUSxHQUN2QjtJQWhDVCxBQWtDUSxtQ0FsQ1UsQ0FrQ1YsdUJBQXVCLENBQUM7TUFDcEIsS0FBSyxFQUFFLElBQUksR0FDZDtFQXBDVCxBQXVDSSxrQkF2Q2MsQ0F1Q2QsU0FBUyxDQUFDO0lBQ04sT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSTtJQUNULFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFlBQVksRUFBRSxNQUFNLEdBQ3ZCO0VBNUNMLEFBK0NJLGtCQS9DYyxDQStDZCxLQUFLLENBQUM7SUFDRixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFQWpETCxBQW1ESSxrQkFuRGMsQ0FtRGQsU0FBUyxDQUFDO0lBQ04sS0FBSyxFQUFFLEdBQUc7SUFDVixVQUFVLEVBQUUsSUFBSSxHQUNuQjtFQXRETCxBQXlEUSxrQkF6RFUsQ0F3RGQsTUFBTSxDQUNGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBZTtJQUNqQixNQUFNLEVBQUUscUJBQXFCLEdBQ2hDO0VBM0RULEFBOERJLGlDQTlEYyxDQThERztJQUNiLEtBQUssRUFBRSxLQUFLLEdBWWY7SUFWRyxNQUFNLG1CQUNGO01BbEVaLEFBa0VZLGlDQWxFTSxDQWtFSjtRQUNFLFVBQVUsRUFBRSxNQUFNO1FBQ2xCLEtBQUssRUFBRSxJQUFJLEdBQ2QsRUFBQTtJQXJFYixBQXdFUSxpQ0F4RVUsQ0F3RVYsV0FBVyxBQUFBLE9BQU8sRUF4RTFCLGlDQUFrQixDQXdFQyxPQUFPLEFNeWMxQiwwQkFBZ0I7SU5qaEJoQixpQ0FBa0IsQ0F3RUMsT0FBTyxBTTBjMUIsK0JBQXFCLEVObGhCckIsaUNBQWtCLENNeEhsQixzQkFBYSxDQXVFTCxDQUFDLEVBdkVULHNCQUFhLENOd0hiLGlDQUFrQixDTWpEVixDQUFDLENOeUhrQjtNQUNmLE9BQU8sRUFBRSxVQUFVLEdBQ3RCO0VBMUVULEFBNkVJLGtCQTdFYyxDQTZFZCxLQUFLLENBQUM7SUFDRixhQUFhLEVBQUUsZ0JBQWdCLEdBQ2xDO0VBL0VMLEFBaUZJLGtCQWpGYyxDQWlGZCxLQUFLLENBQUM7SUFDRixNQUFNLEVBQUUscUJBQXFCLEdBQ2hDO0VBbkZMLEFBc0ZRLGtCQXRGVSxDQXFGZCx5QkFBZSxDQUNDO0lBQ1IsTUFBTSxFQUFFLFVBQVU7SUFDbEIsT0FBTyxFQUFFLGlCQUFpQjtJQUMxQixhQUFhLEVBQUUsR0FBRztJQUNsQixNQUFNLEVBQUUsR0FBRyxDQUFDLE1BQU0sQ3JFcEtiLE9BQU87SXFFcUtaLFVBQVUsRXJFcEtOLE9BQU87SXFFcUtYLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixlQUFlLEVBQUUsTUFBTTtJQUN2QixHQUFHLEVBQUUsUUFBUSxHQU9oQjtJQUxHLE1BQU0sbUNBQ0Y7TUFwR2hCLEFBb0dnQixrQkFwR0UsQ0FxRmQseUJBQWUsQ0FlRDtRQUNFLE9BQU8sRUFBRSxhQUFhLEdBQ3pCLEVBQUE7RUF0R2pCLEFBMEdRLGtCQTFHVSxDQXFGZCx5QkFBZSxDQXFCQyxTQUFVLENBQUEsQ0FBQyxFQUFFO0lBQ3pCLFVBQVUsRUFBRSxPQUFPLEdBQ2xCO0VBNUdULEFBOEdRLGtCQTlHVSxDQXFGZCxzQkFBZSxDQXlCRjtJQUNMLEtBQUssRTlIdkplLE9BQU87SThId0ozQixXQUFXLEVBQUUsSUFBSTtJQUNqQixPQUFPLEVBQUUsS0FBSyxHQUNqQjtFQWxIVCxBQW9IUSxrQkFwSFUsQ0FxRmQsMkJBQWUsQ0ErQkc7SUFDVixLQUFLLEVyRTdMQSxPQUFPO0lxRThMWixTQUFTLEVBQUUsT0FBTyxHQUNyQjtFQXZIVCxBQXlIUSxrQkF6SFUsQ0FxRmQsd0JBQWUsQ0FvQ0E7SUFDUCxVQUFVLEVBQUUsUUFBUSxHQVd2QjtJQXJJVCxBQTRIWSxrQkE1SE0sQ0FxRmQsK0JBQWUsQ0F1Q0U7TUFDTCxhQUFhLEVBQUUsTUFBTTtNQUNyQixLQUFLLEU5SG5NRyxPQUFPO004SG9NZixTQUFTLEVBQUUsR0FBRztNQUNkLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxNQUFNO01BQ25CLGNBQWMsRUFBRSxPQUFPLEdBQzFCO0VBcEliLEFBdUlRLGtCQXZJVSxDQXFGZCwrQkFBZSxDQWtETztJQUNkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsZUFBZSxFQUFFLE1BQU07SUFDdkIsR0FBRyxFQUFFLFFBQVEsR0FZaEI7SUF0SlQsQUE0SVksa0JBNUlNLENBcUZkLHVDQUFlLEVBckZuQixrQkFBa0IsQ0FxRmQscUNBQWUsQ0F1RFk7TUFDakIsY0FBYyxFQUFFLFNBQVMsR0FDMUI7SUE5SWIsQUErSVksa0JBL0lNLENBcUZkLHVDQUFlLENBMERHO01BQ1IsS0FBSyxFOUh2UUUsT0FBTyxHOEh5UWY7SUFsSmIsQUFtSlksa0JBbkpNLENBcUZkLHFDQUFlLENBOERDO01BQ04sS0FBSyxFOUhoTFEsT0FBTyxHOEhpTHJCO0VBckpiLEFBd0pRLGtCQXhKVSxDQXFGZCx5QkFBZSxDQW1FQztJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsR0FBRyxFQUFFLFFBQVEsR0FPaEI7SUFMRyxNQUFNLG1DQUNGO01BOUpoQixBQThKZ0Isa0JBOUpFLENBcUZkLHlCQUFlLENBeUVEO1FBQ0UsS0FBSyxFQUFFLEdBQUcsR0FDYixFQUFBO0FBT2pCLEFBQ0ksU0FESyxDQUNMLE9BQU8sQ0FBQztFQUNKLE9BQU8sRUFBRSxJQUFJO0VBQ2IsT0FBTyxFQUFFLFlBQVk7RUFDckIsZUFBZSxFQUFFLE1BQU07RUFDdkIsV0FBVyxFQUFFLE1BQU07RUFDbkIsR0FBRyxFQUFFLEtBQUs7RUFDVixhQUFhLEVBQUUsR0FBRztFQUNsQixVQUFVLEU5SHZOYyxPQUFPO0U4SHdOL0IsTUFBTSxFQUFFLElBQUk7RUFDWixNQUFNLEVBQUUsTUFBTTtFQUNkLGNBQWMsRUFBRSxPQUFPLEdBQzFCOztBQVpMLEFBY0ksU0FkSyxDQWNMLEtBQUssQ0FBQztFQUNGLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLGFBQWEsRUFBRSxlQUFlO0VBQzlCLGNBQWMsRUFBRSxPQUFPLEdBQzFCOztBQWxCTCxBQW9CSSxvQkFwQkssQ0FvQlE7RUFDVCxLQUFLLEVyRXBRSSxPQUFPLENxRW9RTyxVQUFVO0VBQ2pDLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLFVBQVUsRUFBRSxNQUFNO0VBQ2xCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCOztBQTNCTCxBQTZCSSx5QkE3QkssQ0E2QmE7RUFDZCxhQUFhLEVBQUUsQ0FBQyxHQUNuQjs7QUEvQkwsQUFpQ0ksOEJBakNLLENBaUNrQjtFQUNuQixVQUFVLEVBQUUsTUFBTTtFQUNsQixTQUFTLEVBQUUsTUFBTTtFQUNqQixVQUFVLEVBQUUsTUFBTTtFQUNsQixXQUFXLEVBQUUsR0FBRztFQUNoQixXQUFXLEVBQUUsTUFBTTtFQUNuQixLQUFLLEVyRXRSSSxPQUFPLEdxRW9TbkI7RUFyREwsQUF5Q1EsMkNBekNDLENBeUNjO0lBQ1gsS0FBSyxFckV6UkEsT0FBTztJcUUwUlosVUFBVSxFQUFFLE1BQU07SUFDbEIsU0FBUyxFQUFFLEdBQUc7SUFDZCxVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsTUFBTSxHQUN0QjtFQWhEVCxBQWtEUSxvQ0FsREMsQ0FrRE87SUFDTCxXQUFXLEVBQUUsR0FBRyxHQUNsQjs7QUFLVCxBQUFBLGFBQWEsQ0FBQztFNUc1VEYsT0FBSyxFTUpjLE9BQXlCO0VOSTVDLFdBQUssRU1KYyxPQUF5QjtFTkk1QyxZQUFLLEVNSmMsT0FBeUI7RU5JNUMsS0FBSyxFS2lFRSxJQUF5QjtFdUc4UHhDLGFBQWEsRTlIOUVnQixPQUFNLEc4SCtFdEM7O0FBR0QsQUFBQSxhQUFhLENBQUM7RTVHblVGLFVBQUssRVd3Q1csTUFBTTtFWHhDdEIsS0FBSyxFbEJHSCxJQUFJO0U4SDFCVixVQUFRLEVBSmdCLHdCQUF3QixHQStYdkQ7RUFqQ0QsQUFJSSxhQUpTLENBSVQsS0FBSyxDQUFDO0k1R3ZVRSxXQUFLLEVXRlksR0FBRztJWEVwQixhQUFLLEVNSmMsT0FBeUI7SU5JNUMsS0FBSyxFbEJHSCxJQUFJO0k4SHNVVixjQUFjLEVBQUUsSUFBSSxHQUN2QjtFQVBMLEFBU0ksYUFUUyxDQVNULFFBQVEsQ0FBQztJQUVMLE1BQU0sRXJHcldFLE1BQXlCLENxR3FXakIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JCLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFkTCxBQWVJLGFBZlMsQ0FlVCxJQUFJLENBQUM7SUFDRCxNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBakJMLEFBa0JJLG9CQWxCUyxDQWtCQTtJNUdyVkQsU0FBSyxFUzJGRSxPQUErQjtJbUc2UDFDLE1BQU0sRUFBRSxJQUFJO0lBQ1osS0FBSyxFOUh0VkMsa0JBQUk7SThIdVZWLEtBQUssRUFBRSxLQUFLO0lBQ1osUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFQUFFLE1BQU0sR0FDaEI7STVHdFdXLE1BQU0sOEI0RzhWbEI7TUFsQkosQUFrQkksb0JBbEJTLENBa0JBO1E1R3JWRCxTQUFLLEVTMkZFLE9BQStCLEdtR2tRN0MsRUFBQTtJNUd0V1csTUFBTSw4QjRHOFZsQjtNQWxCSixBQWtCSSxvQkFsQlMsQ0FrQkE7UTVHclZELFNBQUssRVMyRkUsT0FBK0IsR21Ha1E3QyxFQUFBO0k1R3RXVyxNQUFNLDhCNEc4VmxCO01BbEJKLEFBa0JJLG9CQWxCUyxDQWtCQTtRNUdyVkQsU0FBSyxFUzJGRSxPQUErQixHbUdrUTdDLEVBQUE7RUExQkwsQUEyQkksYUEzQlMsQ0EyQlQsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFELE1BQUMsQUFBQSxFQUFhO0lBblhmLFVBQVEsRTlITkssT0FBTztJOEg0WHBCLFlBQVksRWxHL1dNLDJCQUFrRDtJa0dnWHBFLGFBQWEsRUFBRSxDQUFDLEdBQ25COztBQUdMLEFBQUEsY0FBYyxDQUFDO0U1R3RXSCxVQUFLLEVXd0NXLE1BQU07RWlHaVU5QixNQUFNLEVBQUUsU0FBUztFQUNqQixLQUFLLEVBQUUsR0FBRyxHQUtiO0VBVEQsQUFNSSxjQU5VLENBTVYsRUFBRSxDQUFDO0k1RzVXSyxTQUFLLEVTMkZFLFFBQStCO0lUM0Z0QyxjQUFLLEVXbUJjLFNBQVM7SVhuQjVCLEtBQUssRWxCM0JJLE9BQU87SWtCMkJoQixXQUFLLEVsQjZLTSxRQUFRO0lrQjdLbkIsV0FBSyxFV0NTLEdBQUcsR2lHNld4QjtJNUd2WFcsTUFBTSw4QjRHcVhsQjtNQU5KLEFBTUksY0FOVSxDQU1WLEVBQUUsQ0FBQztRNUc1V0ssU0FBSyxFUzJGRSxRQUErQixHbUdtUjdDLEVBQUE7STVHdlhXLE1BQU0sOEI0R3FYbEI7TUFOSixBQU1JLGNBTlUsQ0FNVixFQUFFLENBQUM7UTVHNVdLLFNBQUssRVMyRkUsUUFBK0IsR21HbVI3QyxFQUFBO0k1R3ZYVyxNQUFNLDhCNEdxWGxCO01BTkosQUFNSSxjQU5VLENBTVYsRUFBRSxDQUFDO1E1RzVXSyxTQUFLLEVTMkZFLFNBQStCLEdtR21SN0MsRUFBQTtBQUdMLEFBQUEsWUFBWSxDQUFDO0VBQ1QsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFQUFFLHdCQUF3QjtFQUNwQyxPQUFPLEVBQUUsK0JBQStCO0VBQ3hDLFFBQVEsRUFBRSxDQUFDLEdBOFBkO0VBNVBHLE1BQU0sbUJBQ0Y7SUFQUixBQU9RLFlBUEksQ0FPRjtNQUNFLE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0IsRUFBQTtFQVRULEFBWVEsb0JBWkksQ0FZTTtJQUNOLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLElBQUk7SUFDZixNQUFNLEVBQUUsZ0JBQWdCO0lBQ3hCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFsQlQsQUFvQlEsc0JBcEJJLENBb0JRO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsTUFBTSxHQStCcEI7SUFyRFQsQUF1QlksMEJBdkJBLENBdUJNO01BRUYsTUFBTSxFQUFFLEtBQUs7TUFDYixLQUFLLEVBQUUsU0FBUztNQUNoQixRQUFRLEVBQUUsUUFBUSxHQWVyQjtNQTFDYixBQTRCZ0Isb0NBNUJKLEVBQVosOEJBQVksQ0E2QlU7UUFDRixZQUFZLEU5SDNZTixPQUFPLEc4SDRZaEI7TUEvQmpCLEFBZ0NnQixvQ0FoQ0osQ0FnQ2dCO1FBRVIsZ0JBQWdCLEU5SDdZdEIsS0FBSyxHOEg4WUY7TUFuQ2pCLEFBb0NnQiw4QkFwQ0osQ0FvQ1U7UUFFRixRQUFRLEVBQUUsUUFBUTtRQUNsQixnQkFBZ0IsRTlIcFpWLE9BQU87UThIcVpiLElBQUksRUFBRSxDQUFDLEdBQ1Y7SUF6Q2pCLEFBMkNZLDhCQTNDQSxDQTJDVTtNQUNOLEtBQUssRTlIelpLLE9BQU87TThIMFpqQixXQUFXLEVBQUUsU0FBUztNQUN0QixTQUFTLEVBQUUsT0FBTztNQUNsQixVQUFVLEVBQUUsTUFBTTtNQUNsQixXQUFXLEVBQUUsR0FBRztNQUNoQixXQUFXLEVBQUUsT0FBTztNQUNwQixjQUFjLEVBQUUsU0FBUztNQUN6QixLQUFLLEVBQUUsV0FBVyxHQUNyQjtFQXBEYixBQXVEUSxtQkF2REksQ0F1REs7SUFDTCxLQUFLLEU5SHpXVSxPQUFPO0k4SDBXdEIsV0FBVyxFQUFFLFNBQVM7SUFDdEIsY0FBYyxFQUFFLFNBQVM7SUFDekIsU0FBUyxFQUFFLE9BQU87SUFDbEIsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE9BQU8sR0FDdkI7RUEvRFQsQUFpRVEseUJBakVJLENBaUVXO0lBQ1gsV0FBVyxFQUFFLGNBQWMsR0FDOUI7RUFuRVQsQUFxRVEsOEJBckVJLENBcUVnQjtJQUNoQixlQUFlLEVBQUUsU0FBUyxHQUM3QjtFQXZFVCxBQXlFUSx5QkF6RUksQ0F5RVc7SUFDWCxPQUFPLEVBQUUsSUFBSTtJQUNiLEtBQUssRUFBRSxXQUFXO0lBQ2xCLGdCQUFnQixFQUFFLEtBQUs7SUFDdkIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsT0FBTyxFQUFFLFFBQVEsR0FjcEI7SUE1RlQsQUFnRlksa0NBaEZBLENBZ0ZXO01BQ1AsT0FBTyxFQUFDLE1BQU07TUFDZCxZQUFZLEVBQUUsUUFBUSxHQUN6QjtJQW5GYixBQXFGWSx5QkFyRkEsQ0FxRkEsQ0FBQyxDQUFDO01BQ0UsV0FBVyxFQUFFLElBQUksR0FDcEI7SUF2RmIsQUF5RlkseUJBekZBLENBeUZFLEtBQUssQ0FBQztNQUNKLEtBQUssRTlIM1lNLE9BQU8sRzhINFlyQjtFQTNGYixBQThGUSxZQTlGSSxDQThGSixFQUFFLENBQUM7SUFDQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlIMWNmLEtBQUssRzhIMmNWO0VBaEdULEFBa0dRLHFCQWxHSSxDQWtHTztJQUNQLEtBQUssRTlIamRILElBQUk7SThIa2ROLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLE1BQU0sRUFBRSxtQkFBbUI7SUFDM0IsVUFBVSxFQUFFLFVBQVU7SUFDdEIsT0FBTyxFQUFFLElBQUk7SUFDYixHQUFHLEVBQUUsSUFBSTtJQUNULFVBQVUsRUFBRSxNQUFNLEdBWXJCO0lBeEhULEFBOEdZLDRCQTlHQSxDQThHUyxHQUFHLENBQUM7TUFFVCxLQUFLLEVBQUUsSUFBSTtNQUNYLE1BQU0sRUFBRSxJQUFJO01BQ1osU0FBUyxFQUFFLGdCQUFnQixHQUM5QjtJQW5IYixBQXFIWSwyQkFySEEsQ0FxSFE7TUFDSixPQUFPLEVBQUUsWUFBWSxHQUN4QjtFQXZIYixBQTBIUSxZQTFISSxDQTBISixRQUFRLENBQUM7SUFDTCxhQUFhLEVBQUUsQ0FBQztJQUNoQixZQUFZLEVBQUUsc0JBQXNCO0lBQ3BDLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLGFBQWE7SUFDdEIsTUFBTSxFQUFFLGtCQUFrQixHQUM3QjtFQWhJVCxBQWtJUSxZQWxJSSxDQWtJSixpQkFBaUIsQ0FBQztJQUNkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLE9BQU87SUFDWixLQUFLLEVBQUUsS0FBSztJQUNaLFNBQVMsRUFBRSxJQUFJLEdBK0JsQjtJQTdCRyxNQUFNLG1CQUNGO01BekloQixBQXlJZ0IsWUF6SUosQ0FrSUosaUJBQWlCLENBT1A7UUFDRSxNQUFNLEVBQUUsVUFBVSxHQUNyQixFQUFBO0lBM0lqQixBQThJWSxZQTlJQSxDQWtJSix3QkFBaUIsRUFsSXpCLFlBQVksQ0FrSUosdUJBQWlCLEVBbEl6QixZQUFZLENBa0lKLHVCQUFpQixDQVljO01BQ3ZCLE9BQU8sRUFBRSxJQUFJO01BQ2IsT0FBTyxFQUFFLGVBQWU7TUFDeEIsV0FBVyxFQUFFLE1BQU07TUFDbkIsZUFBZSxFQUFFLE1BQU07TUFDdkIsYUFBYSxFQUFFLElBQUk7TUFDbkIsWUFBWSxFQUFFLFdBQVcsR0FDNUI7SUFySmIsQUF1SlksWUF2SkEsQ0FrSUosd0JBQWlCLENBcUJKO01BQ0wsVUFBVSxFOUhuZ0JaLEtBQUs7TThIb2dCSCxLQUFLLEU5SHZkSyxPQUFPLEc4SHdkcEI7SUExSmIsQUE0SlksWUE1SkEsQ0FrSUosdUJBQWlCLENBMEJMO01BQ0osVUFBVSxFOUgzZEEsT0FBTztNOEg0ZGpCLEtBQUssRTlIemdCUCxLQUFLLEc4SDBnQk47SUEvSmIsQUFpS1ksWUFqS0EsQ0FrSUosdUJBQWlCLENBK0JMO01BQ0osVUFBVSxFOUh2Y04sT0FBTztNOEh3Y1gsS0FBSyxFOUhwZE0sT0FBTyxHOEhxZHJCO0VBcEtiLEFBd0tJLHlCQXhLUSxDQXdLTztJQUNYLGFBQWEsRUFBRSxDQUFDLEdBMkRuQjtJQXBPTCxBQTJLUSwrQkEzS0ksQ0EyS0k7TUFDSixPQUFPLEVBQUUsSUFBSSxHQUNoQjtJQTdLVCxBQStLUSxrQ0EvS0ksQ0ErS087TUFDUCxPQUFPLEVBQUUsSUFBSTtNQUNiLEdBQUcsRUFBRSxPQUFPO01BQ1osU0FBUyxFQUFFLElBQUk7TUFDZixlQUFlLEVBQUUsTUFBTSxHQStDMUI7TUFsT1QsQUFxTFkseUNBckxBLEVBQVosNENBQVksRUFBWix3Q0FBWSxDQXFMK0I7UUFDM0IsT0FBTyxFQUFFLElBQUk7UUFDYixNQUFNLEVBQUUsUUFBUTtRQUNoQixLQUFLLEVBQUUsSUFBSTtRQUNYLGVBQWUsRUFBRSxNQUFNO1FBQ3ZCLFdBQVcsRUFBRSxNQUFNO1FBQ25CLGFBQWEsRUFBRSxHQUFHO1FBQ2xCLFNBQVMsRUFBRSxJQUFJO1FBQ2YsVUFBVSxFQUFFLE1BQU07UUFDbEIsV0FBVyxFQUFFLE1BQU07UUFDbkIsY0FBYyxFQUFFLFNBQVM7UUFDekIsT0FBTyxFQUFFLENBQUM7UUFDVixjQUFjLEVBQUUsR0FBRyxHQUt0QjtRQXRNYixBQW1NZ0IseUNBbk1KLENBbU1JLENBQUMsRUFuTWpCLDRDQUFZLENBbU1JLENBQUMsRUFuTWpCLHdDQUFZLENBbU1JLENBQUMsQ0FBQztVQUNFLEtBQUssRTlIL2lCWCxLQUFLLEc4SGdqQkY7TUFyTWpCLEFBd01ZLHlDQXhNQSxDQXdNUztRQUNMLGdCQUFnQixFOUgvZkwsT0FBTztROEhnZ0JsQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlIaGdCTixPQUFPLEc4SGlnQnJCO01BM01iLEFBNk1ZLDRDQTdNQSxDQTZNWTtRQUNSLGdCQUFnQixFOUg3ZWYsT0FBTztROEg4ZVIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLEM5SDllaEIsT0FBTyxHOEgrZVg7TUFoTmIsQUFrTlksd0NBbE5BLENBa05RO1FBQ0osZ0JBQWdCLEVBQUMsV0FBVztRQUM1QixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQzlIamtCUCxPQUFPO1E4SGtrQmpCLEtBQUssRTlIbGtCSyxPQUFPLEc4SHdrQnBCO1FBM05iLEFBdU5nQix3Q0F2TkosQ0F1TkksQ0FBQyxDQUFDO1VBQ0UsS0FBSyxFOUhya0JDLE9BQU87VThIc2tCYixTQUFTLEVBQUUsYUFBYSxHQUMzQjtNQUdMLE1BQU0sbUJBQ0Y7UUE5TmhCLEFBOE5nQixrQ0E5TkosQ0E4Tk07VUFDRSxHQUFHLEVBQUUsSUFBSSxHQUNaLEVBQUE7RUFoT2pCLEFBc09JLHFCQXRPUSxDQXNPRztJQUNQLE9BQU8sRUFBRSxhQUFhO0lBQ3RCLEtBQUssRTlIcmxCYSxPQUFPO0k4SHNsQnpCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJLEdBS3BCO0lBbFBMLEFBK09RLHFCQS9PSSxDQStPSixDQUFDLENBQUM7TUFDRSxNQUFNLEVBQUUsQ0FBQyxHQUNaO0VBR0wsTUFBTSxtQkFDRjtJQXJQUixBQXFQUSxZQXJQSSxDQXFQRjtNQUNFLE9BQU8sRUFBRSwrQkFBK0I7TUFDeEMsV0FBVyxFQUFFLEtBQUssR0FDckI7SUF4UFQsQUF5UFEsWUF6UEksQ0F5UEYsUUFBUSxDQUFDO01BQ1AsTUFBTSxFQUFFLElBQUksR0FDZjtJQTNQVCxBQTZQUSw0QkE3UEksQ0E2UGM7TUFDZCxPQUFPLEVBQUUsSUFBSSxHQUNoQixFQVBBO0FBWVQsQUFBQSxhQUFhLENBQUM7RUFDVixVQUFVLEVBQUUsS0FBSyxHQXFDcEI7RUFuQ0csTUFBTSxtQkFDRjtJQUpSLEFBSVEsYUFKSyxDQUlIO01BQ0UsVUFBVSxFQUFFLEtBQUssR0FDcEIsRUFBQTtFQU5ULEFBU0ksNEJBVFMsQ0FTUTtJQUNiLEtBQUssRTlIem5CQyxLQUFLO0k4SDBuQlgsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsU0FBUztJQUNsQixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEU5SG5rQkMsT0FBTztJOEhva0JsQixLQUFLLEVBQUUsV0FBVztJQUNsQixVQUFVLEVBQUUsSUFBSTtJQUNoQixhQUFhLEVBQUUsSUFBSSxHQWF0QjtJQS9CTCxBQW9CUSxtQ0FwQkssQ0FvQkk7TUFDTCxLQUFLLEU5SHprQkUsT0FBTztNOEgwa0JkLEtBQUssRUFBRSxDQUFDO01BQ1IsTUFBTSxFQUFFLENBQUM7TUFDVCxXQUFXLEVBQUUsc0JBQXNCO01BQ25DLFlBQVksRUFBRSxzQkFBc0I7TUFDcEMsVUFBVSxFQUFFLElBQUksQ0FBQyxLQUFLLEM5SDlrQmYsT0FBTztNOEgra0JkLFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxHQUFHO01BQ1QsR0FBRyxFQUFFLElBQUksR0FDWjtFQTlCVCxBQWlDSSwrQkFqQ1MsQ0FpQ1c7SUFDaEIsYUFBYSxFQUFFLFNBQVM7SUFDeEIsT0FBTyxFQUFFLElBQUk7SUFDYixhQUFhLEVBQUUsR0FBRyxHQUNyQjs7QUFHTCxBQUFBLFVBQVUsQ0FBQztFQUNQLE1BQU0sRUFBRSxDQUFDLEdBQ1o7O0FBRUQsQUFBQSw0Q0FBNEMsQ0FBQyxPQUFPLEVBQXBELDRDQUE0QyxDRm5wQjVDLGVBQWU7QUVvcEJmLHlDQUF5QyxDQUFDLE9BQU87QUFBakQseUNBQXlDLENGcHBCekMsZUFBZSxDRW9wQm1DO0VBQzlDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDOUg3cEJQLEtBQUssQzhINnBCZ0IsVUFBVSxHQUM1Qzs7QUFDRCxBQUFBLHdDQUF3QyxDQUFDLE9BQU8sRUFBaEQsd0NBQXdDLENGdnBCeEMsZUFBZSxDRXVwQmtDO0VBQzdDLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDOUhscUJLLE9BQU8sQzhIa3FCYyxVQUFVLEdBQ3hEOztBQUNELEFBQUEsNENBQTRDLENBQUMsT0FBTyxFQUFwRCw0Q0FBNEMsQ0YxcEI1QyxlQUFlO0FFMnBCZix5Q0FBeUMsQ0FBQyxPQUFPO0FBQWpELHlDQUF5QyxDRjNwQnpDLGVBQWU7QUU0cEJmLHdDQUF3QyxDQUFDLE9BQU87QUFBaEQsd0NBQXdDLENGNXBCeEMsZUFBZSxDRTRwQmtDO0VBQzdDLFVBQVUsRUFBRSxnQkFBZ0I7RUFDNUIsbUJBQW1CLEVBQUUsc0JBQXNCLEdBQzlDOztBQUVELE1BQU0sbUJBQ0Y7RUFBQSxBQUFBLEtBQUssQ0FBQztJQUNGLE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0IsRUFBQTs7QUZockJMLEFBQUEsWUFBWSxDQUFDO0VBQ1QsTUFBTSxFQUFFLElBQUksR0FLZjtFQU5ELEFBR0ksa0JBSFEsQ0FHQSxHQUFHLENBQUM7SUFDUixNQUFNLEVBQUUsSUFBSSxHQUNmOztBQUdMLEFBQUEsYUFBYSxDQUFDO0VBQ1YsVUFBVSxFQUFFLGdCQUFnQixHQUMvQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQztFQUVaLFFBQVEsRUFBRSxRQUFRO0VBQ2xCLEdBQUcsRUFBRSxHQUFHO0VBQ1IsSUFBSSxFQUFFLGlCQUFpQjtFQUN2QixLQUFLLEVBQUUsR0FBRztFQUNWLE1BQU0sRUFBRSxHQUFHO0VBQ1gsTUFBTSxFQUFFLEtBQUssR0FDaEI7O0FNMURELEFBQ0ksU0FESyxDQUNMLEtBQUssQ0FBQztFQUNGLE9BQU8sRUFBRSxJQUFJO0VBQ2IsV0FBVyxFQUFFLENBQUM7RUFDZCxRQUFRLEVBQUUsS0FBSyxHQUNsQjs7QUFMTCxBQU9JLFNBUEssQ0FPTCxLQUFLLENBQUM7RUFBQyxPQUFPLEVBQUUsSUFBSSxHQUFHOztBQVAzQixBQVNJLFNBVEssQ0FTTCxRQUFRLENBQUM7RUFDTCxTQUFTLEVBQUUsS0FBSztFQUNoQixhQUFhLEVBQUUsUUFBUTtFQUN2QixhQUFhLEVBQUUsa0JBQWtCLEdBQ3BDOztBQWJMLEFBZ0JRLFNBaEJDLENBZUwsaUNBQWtCLENBQ0c7RUFDYixVQUFVLEVBQUUsSUFBSTtFQUNoQixNQUFNLEVBQUUsQ0FBQztFQUNULFVBQVUsRUFBRSxNQUFNO0VBQ2xCLEtBQUssRWxJd0NDLE9BQU8sR2tJdkNoQjs7QUFyQlQsQUF3QlksU0F4QkgsQ0FlTCxrQkFBa0IsQUFRYixPQUFPLENBQ0osUUFBUSxDQUFDO0VBQ0wsU0FBUyxFQUFFLGdCQUFnQjtFQUMzQixrQkFBa0IsRUFBRSxFQUFFO0VBQ3RCLHlCQUF5QixFQUFFLFFBQVEsR0FDdEM7O0FBNUJiLEFBOEJZLFNBOUJILENBZUwsa0JBQWtCLEFBUWIsT0FBTyxDQU9KLGlDQUFpQyxDQUFDO0VBQzlCLFVBQVUsRUFBRSxPQUFPO0VBQ25CLE1BQU0sRUFBRSxPQUFPLEdBQ2xCOztBQWpDYixBQXFDSSxTQXJDSyxDQXFDTCxlQUFlLENBQUM7RUFDWixPQUFPLEVBQUUsSUFBSTtFQUNiLEtBQUssRUFBRSxJQUFJO0VBQ1gsa0JBQWtCLEVBQUUsU0FBUztFQUM3QixxQkFBcUIsRUFBRSxPQUFPO0VBQzlCLFNBQVMsRUFBRSxJQUFJO0VBQ2YsZUFBZSxFQUFFLGFBQWE7RUFDOUIsR0FBRyxFQUFFLEtBQUssR0FnQ2I7RUE1RUwsQUE4Q1EsU0E5Q0MsQ0FxQ0wsd0JBQWUsQ0FTQTtJQUNQLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxLQUFLO0lBQ25CLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxRQUFRLEdBQ3hCO0VBcERULEFBc0RRLFNBdERDLENBcUNMLHlCQUFlLEVBckNuQixTQUFTLENBOEVMLDZCQUFtQixDQXhCSDtJQUNSLGdCQUFnQixFbElJSixPQUFPO0lrSUhuQixZQUFZLEVsSUdBLE9BQU87SWtJRm5CLFlBQVksRUFBRSxHQUFHO0lBQ2pCLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLFdBQVcsRUFBRSxRQUFRLEdBQ3hCO0VBNURULEFBOERRLFNBOURDLENBcUNMLGdDQUFlLENBeUJRO0lBQ2YsVUFBVSxFQUFFLDZDQUE2QztJQUN6RCxLQUFLLEVsSUpDLE9BQU87SWtJS2IsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsQ0FBQztJQUNULFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFVBQVUsRUFBRSxLQUFLO0lBQ2pCLGNBQWMsRUFBRSxJQUFJLEdBTXZCO0lBM0VULEFBdUVZLFNBdkVILENBcUNMLGdDQUFlLEFBa0NOLEtBQUssQ0FBQztNQUNILE9BQU8sRUFBRSxDQUFDO01BQ1YsTUFBTSxFQUFFLElBQUksR0FDZjs7QUExRWIsQUFpRlEsU0FqRkMsQ0E4RUwsNEJBQW1CLENBR0o7RUFBQyxLQUFLLEVsSWtETSxJQUFJLEdrSWxEd0I7O0FBakYzRCxBQW1GUSxTQW5GQyxDQThFTCw2QkFBbUIsQ0FLSDtFQUdSLEtBQUssRUFBRSxLQUFLLEdBQ2Y7O0FBdkZULEFBMEZJLFNBMUZLLENBMEZMLFFBQVEsQ0FBQztFQUVMLGdCQUFnQixFbElUUSxPQUFPO0VrSVUvQixhQUFhLEVBQUUsUUFBUSxHQWtEMUI7RUEvSUwsQUErRlEsU0EvRkMsQ0EwRkwsY0FBUSxDQUtJO0lBQUMsU0FBUyxFQUFFLFFBQVEsR0FBRztFQS9GdkMsQUFpR1EsU0FqR0MsQ0EwRkwsaUJBQVEsQ0FPTztJQUNQLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLGFBQWEsRUFBRSxLQUFLLEdBR3ZCO0lBdkdULEFBc0dZLFNBdEdILENBMEZMLGlCQUFRLEdBWUUsQ0FBQyxDQUFDO01BQUMsV0FBVyxFQUFFLElBQUksR0FBRTtFQXRHcEMsQUEyR1EsU0EzR0MsQ0EwRkwsY0FBUSxDQWlCSTtJQUFDLEtBQUssRWxJd0JTLElBQUksR2tJeEJxQjtFQTNHeEQsQUE2R1EsU0E3R0MsQ0EwRkwsaUJBQVEsQ0FtQk87SUFDUCxPQUFPLEVBQUUsSUFBSTtJQUNiLGVBQWUsRUFBRSxVQUFVO0lBQzNCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLEdBQUcsRUFBRSxNQUFNLEdBQ2Q7RUFsSFQsQUFvSFEsU0FwSEMsQ0EwRkwsZ0JBQVEsQ0EwQk07SUFDTixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLGNBQWMsRUFBRSxLQUFLO0lBQ3JCLFdBQVcsRUFBRSxLQUFLO0lBQ2xCLE1BQU0sRUFBRSxLQUFLO0lBQ2IsTUFBTSxFQUFFLENBQUM7SUFFVCxhQUFhLEVBQUUsUUFBUTtJQUN2QixPQUFPLEVBQUUsZ0JBQWdCO0lBQ3pCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFbEl6RlMsT0FBTyxHa0lnR3hCO0lBeElULEFBbUlZLFNBbklILENBMEZMLGdCQUFRLEdBeUNJLENBQUMsQ0FBQztNQUFDLFVBQVUsRUFBRSxFQUFFLEdBQUc7SUFuSXBDLEFBcUlZLFNBcklILENBMEZMLGdCQUFRLENBMkNBLENBQUMsQ0FBQztNQUFDLFdBQVcsRUFBRSxDQUFDLEdBQUc7SUFySWhDLEFBdUlZLFNBdklILENBMEZMLGdCQUFRLENBNkNFLEtBQUssQ0FBQztNQUFDLFVBQVUsRUFBRSxLQUFLLEdBQUU7RUF2SXhDLEFBMElRLFNBMUlDLENBMEZMLFFBQVEsQUFnREgsU0FBUyxDQUFDLGdCQUFnQixBQUFBLFdBQVcsRUExSTlDLFNBQVMsQ0EwRkwsUUFBUSxBQWlESCxTQUFTLENBQUMsZ0JBQWdCLEFBQUEsWUFBWSxDQUFDO0lBQ3BDLEtBQUssRWxJbEdILEtBQUs7SWtJbUdQLFVBQVUsRWxJckdJLE9BQU8sR2tJc0d4Qjs7QUFJVCxVQUFVLENBQVYsZ0JBQVU7RUFDTixFQUFFLEVBQUUsSUFBSTtJQUFFLGdCQUFnQixFbEl2RloscUJBQU87RWtJd0ZyQixHQUFHO0lBQUUsZ0JBQWdCLEVsSXhGUCxxQkFBTzs7QW1JNUR6QixBQUFBLFlBQVksQ0FBQztFQUNULFVBQVUsRUFBRSxNQUFNO0VBQ2xCLE9BQU8sRUFBRSxDQUFDO0VBQ1YsV0FBVyxFQUFFLFFBQVEsR0FrQ3hCO0VBckNELEFBS0ksWUFMUSxDQUtSLFVBQVUsQ0FBQztJQUNQLE1BQU0sRUFBRSxLQUFLLEdBQ2hCO0VBUEwsQUFVUSxZQVZJLENBU1Isd0JBQVksRUFUaEIsWUFBWSxDQVNSLG1CQUFZLENBRUM7SUFDTCxLQUFLLEVuSThCSCxLQUFLO0ltSTdCUCxTQUFTLEVBQUUsTUFBTSxHQUNwQjtFQWRULEFBZVEsWUFmSSxDQVNSLG1CQUFZLENBTUM7SUFDTCxXQUFXLEVBQUUsU0FBUztJQUN0QixTQUFTLEVBQUUsQ0FBQyxHQUNmO0VBbEJULEFBbUJRLFlBbkJJLENBU1Isb0JBQVksQ0FVRTtJQUNOLE1BQU0sRUFBRSxNQUFNO0lBQ2QsT0FBTyxFQUFFLElBQUk7SUFDYixPQUFPLEVBQUUsSUFBSTtJQUNiLGdCQUFnQixFbklkUCxPQUFPLEdtSWVuQjtFQXhCVCxBQXlCUSxZQXpCSSxDQVNSLGtCQUFZLENBZ0JBO0lBQ0osVUFBVSxFbklnQlIsS0FBSztJbUlmUCxPQUFPLEVBQUUsU0FBUztJQUNsQixnQkFBZ0IsRUFBRSxVQUFzQixHQUMzQztFQTdCVCxBQThCUSxZQTlCSSxDQVNSLHFCQUFZLENBcUJHO0lBQ1AsUUFBUSxFQUFFLE1BQU07SUFDaEIsTUFBTSxFQUFFLE9BQU87SUFDZixNQUFNLEVBQUUsS0FBSztJQUNiLFVBQVUsRW5JUVIsS0FBSyxHbUlQVjs7QUVuQ1QsQUFBQSxtQkFBbUIsRUFBRSxlQUFlLENBQUM7RUFDbkMsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFFRCxBQUFBLHFCQUFxQixFQUFFLGlCQUFpQixDQUFDO0VBQ3ZDLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQUEsVUFBVSxDQUFDO0VBQ1QsU0FBUyxFQUFFLGNBQWMsR0FDMUI7O0FBRUQsQUFBQSxrQkFBa0IsRUFBRSxjQUFjLEVBQUUsb0JBQW9CLENBQUM7RUFDckQsT0FBTyxFQUFFLGVBQWU7RUFDeEIsV0FBVyxFQUFFLFFBQVE7RUFDckIsZ0JBQWdCLEU1RW1FQSxPQUFPO0U0RWxFdkIsT0FBTyxFQUFFLElBQUk7RUFDYixTQUFTLEVBQUUsSUFBSTtFQUNmLE9BQU8sRUFBRSxPQUFPO0VBQ2hCLFVBQVUsRUFBRSxPQUFPLEdBZ0h0QjtFQXZIRCxBQVNJLGtCQVRjLENBU2QsTUFBTSxFQVRVLGNBQWMsQ0FTOUIsTUFBTSxFQVQwQixvQkFBb0IsQ0FTcEQsTUFBTSxDQUFDO0lBQ0wsYUFBYSxFQUFFLGdCQUFnQixHQUNoQztFQVhMLEFBYUksa0JBYmMsQ0FhZCxrQkFBa0IsRUFiRixjQUFjLENBYTlCLGtCQUFrQixFQWJjLG9CQUFvQixDQWFwRCxrQkFBa0IsQ0FBQztJQUNqQixLQUFLLEVBQUUsSUFBSTtJQUNYLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLE1BQU0sRUFBRSxPQUFPO0lBQ2YsU0FBUyxFQUFFLEtBQUs7SUFDaEIsTUFBTSxFQUFFLGFBQWEsR0FDdEI7RUFuQkwsQUFxQkksa0JBckJjLENBcUJkLGNBQWMsRUFyQmxCLGtCQUFrQixDQXFCRSxZQUFZLEVBckJoQyxrQkFBa0IsQ0FxQmdCLG1CQUFtQixFQXJCakMsY0FBYyxDQXFCOUIsY0FBYyxFQXJCRSxjQUFjLENBcUJkLFlBQVksRUFyQlosY0FBYyxDQXFCQSxtQkFBbUIsRUFyQmpCLG9CQUFvQixDQXFCcEQsY0FBYyxFQXJCa0Isb0JBQW9CLENBcUJwQyxZQUFZLEVBckJJLG9CQUFvQixDQXFCdEIsbUJBQW1CLENBQUM7SUFDaEQsT0FBTyxFQUFFLElBQUksR0FDZDtFQXZCTCxBQTBCSSxrQkExQmMsQ0EwQmQsb0NBQW9DLEVBMUJwQixjQUFjLENBMEI5QixvQ0FBb0MsRUExQkosb0JBQW9CLENBMEJwRCxvQ0FBb0MsQ0FBQztJQUNuQyxNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQTVCTCxBQThCSSx1QkE5QmMsRUFBRSxtQkFBYyxFQUFFLHlCQUFvQixDQThCN0M7SUFDTCxLQUFLLEVySURHLEtBQUs7SXFJRWIsVUFBVSxFckk0Q2dCLE9BQU87SXFJM0NqQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JJMkNTLE9BQU87SXFJMUNqQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixhQUFhLEVBQUUsR0FBRztJQUNsQixLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLElBQUk7SUFDYixNQUFNLEVBQUUsWUFBWSxHQUtyQjtJQTVDTCxBQXlDTSx1QkF6Q1ksQ0F5Q1osQ0FBQyxFQXpDYSxtQkFBYyxDQXlDNUIsQ0FBQyxFQXpDNkIseUJBQW9CLENBeUNsRCxDQUFDLENBQUM7TUFDQSxNQUFNLEVBQUUsVUFBVSxHQUNuQjtFQTNDUCxBQThDSSx3QkE5Q2MsRUFBRSxvQkFBYyxFQUFFLDBCQUFvQixDQThDNUM7SUFDTixPQUFPLEVBQUUsSUFBSTtJQUNiLEdBQUcsRUFBRSxNQUFNO0lBQ1gsU0FBUyxFQUFFLElBQUksR0FzQmhCO0lBdkVMLEFBbURNLGtDQW5EWSxFQUFFLDhCQUFjLEVBQUUsb0NBQW9CLENBbUR0QztNQUNWLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcklxQ04sT0FBTztNcUlwQ2xCLGdCQUFnQixFcklvQ0wsT0FBTztNcUluQ2xCLEtBQUssRXJJeEJDLEtBQUssR3FJeUJaO0lBdkRQLEFBeURNLG9DQXpEWSxFQUFFLGdDQUFjLEVBQUUsc0NBQW9CLENBeURwQztNQUNaLGdCQUFnQixFckk1QlYsS0FBSztNcUk2QlgsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENySTdCWCxLQUFLO01xSThCWCxLQUFLLEVySWJXLE9BQU8sR3FJY3hCO0lBN0RQLEFBK0RNLGtDQS9EWSxFQUFsQixvQ0FBa0IsRUFBRSw4QkFBYyxFQUFkLGdDQUFjLEVBQUUsb0NBQW9CLEVBQXBCLHNDQUFvQixDQStEdkI7TUFDekIsYUFBYSxFQUFFLEdBQUc7TUFDbEIsU0FBUyxFQUFFLE9BQU87TUFDbEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsT0FBTyxFQUFFLFFBQVE7TUFDakIsTUFBTSxFQUFFLE1BQU07TUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBdEVQLEFBeUVJLG1DQXpFYyxFQUFFLCtCQUFjLEVBQUUscUNBQW9CLENBeUVqQztJQUNqQixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3JJNUNULEtBQUs7SXFJNkNiLGdCQUFnQixFckk3Q1IsS0FBSztJcUk4Q2IsS0FBSyxFcklhUSxPQUFPLEdxSVpyQjtFQTdFTCxBQStFSSxpQ0EvRWMsRUFBRSw2QkFBYyxFQUFFLG1DQUFvQixDQStFbEM7SUFDaEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENySVNKLE9BQU87SXFJUnBCLGdCQUFnQixFcklRSCxPQUFPO0lxSVBwQixLQUFLLEVySXBERyxLQUFLLEdxSXNEZDtFQXBGTCxBQXNGSSxtQ0F0RmMsRUFBbEIsaUNBQWtCLEVBQUUsK0JBQWMsRUFBZCw2QkFBYyxFQUFFLHFDQUFvQixFQUFwQixtQ0FBb0IsQ0FzRmI7SUFDckMsYUFBYSxFQUFFLEdBQUc7SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsT0FBTyxFQUFFLFFBQVE7SUFDakIsTUFBTSxFQUFFLE1BQU07SUFDZCxXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBNUZMLEFBOEZJLDJCQTlGYyxFQUFFLHVCQUFjLEVBQUUsNkJBQW9CLENBOEZ6QztJQUNULEtBQUssRXJJakVHLEtBQUs7SXFJa0ViLFNBQVMsRUFBRSxJQUFJO0lBQ2YsT0FBTyxFQUFFLFdBQVc7SUFDcEIsV0FBVyxFQUFFLE1BQU07SUFDbkIsT0FBTyxFQUFFLE1BQU07SUFDZixZQUFZLEVBQUUsQ0FBQztJQUNmLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRXJJYkcsT0FBTztJcUljcEIsU0FBUyxFQUFFLFNBQVM7SUFDcEIsTUFBTSxFQUFFLElBQUk7SUFDWixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLFlBQVksRUFBRSxRQUFRLEdBV3ZCO0lBdEhMLEFBNkdNLGtDQTdHWSxFQUFFLDhCQUFjLEVBQUUsb0NBQW9CLENBNkd6QztNQUNQLEtBQUssRXJJckJNLE9BQU87TXFJc0JsQixVQUFVLEVBQUUsc0JBQXNCO01BQ2xDLGFBQWEsRUFBRSxzQkFBc0I7TUFDckMsWUFBWSxFQUFDLElBQUksQ0FBQyxLQUFLLENySXhCWixPQUFPO01xSXlCbEIsV0FBVyxFQUFFLENBQUM7TUFDZCxRQUFRLEVBQUUsUUFBUTtNQUNsQixLQUFLLEVBQUUsT0FBTyxHQUNmOztBQUlQLEFBQUEsb0JBQW9CLENBQUM7RUFDbkIsZ0JBQWdCLEVBQUUsZ0JBQWdCO0VBQ2xDLFVBQVUsRUFBRSxPQUFPO0VBQ25CLGFBQWEsRUFBRSxPQUFPO0VBQ3RCLE9BQU8sRUFBRSxDQUFDLEdBU1g7RUFiRCxBQU1FLCtCQU5rQixDQU1MO0lBQ1gsV0FBVyxFQUFFLENBQUMsR0FDZjtFQVJILEFBVUUsb0JBVmtCLENBVWxCLHdCQUF3QixDQUFDO0lBQ3ZCLE9BQU8sRUFBRSxRQUFRLEdBQ2xCOztBQUdILEFBQ0UsaUJBRFUsQ0FDSDtFQUNMLEtBQUssRXJJOUR1QixPQUFPLENxSThERyxVQUFVO0VBQ2hELFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUdILEFBQUEsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsbUJBQW1CLENBQUM7RUFDOUQsYUFBYSxFQUFFLE1BQU0sR0FldEI7RUFoQkQsQUFHRSwwQkFIZSxFQUFFLGdDQUF1QixFQUFFLDRCQUFtQixDQUdsRDtJQUNULE1BQU0sRUFBRSxPQUFPO0lBQ2YsS0FBSyxFckkzRXNCLE9BQU87SXFJNEVsQyxTQUFTLEVBQUUsSUFBSTtJQUNmLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxDQUFDLEdBS2Y7SUFmSCxBQVlJLHlDQVphLEVBQUUsK0NBQXVCLEVBQUUsMkNBQW1CLENBWTFDO01BQ2YsVUFBVSxFQUFFLENBQUMsR0FDZDs7QUFJTCxBQUNFLGNBRFksQ0FDWixFQUFFLENBQUM7RUFDRCxVQUFVLEVBQUUsUUFBUSxHQUNyQjs7QUFHSCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsY0FBYztFQUNyQyxlQUFlLEVBQUUsUUFBUTtFQUN6QixZQUFZLEVBQUUsTUFBTTtFQUNwQixLQUFLLEVySTdIaUIsT0FBTztFcUk4SDdCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCOztBQUVELEFBQ0UseUJBRGlCLENBQ1Q7RUFDTixNQUFNLEVBQUUsYUFBYTtFQUNyQixPQUFPLEVBQUUsSUFBSTtFQUNiLHFCQUFxQixFQUFFLFNBQVM7RUFDaEMsZUFBZSxFQUFFLFFBQVE7RUFDekIsWUFBWSxFQUFFLE9BQU8sR0FDdEI7O0FBR0gsQUFBQSxxQkFBcUIsQ0FBQztFQUNwQixPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxPQUFPLEdBaUJ2QjtFQW5CRCxBQUlFLDRCQUptQixDQUlWO0lBQ1AsS0FBSyxFckloSmUsT0FBTztJcUlpSjNCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFWRCxBQVlFLHFCQVptQixDQVluQixVQUFVLENBQUM7SUFDUCxTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLEtBQUssRXJJL0hxQixPQUFPLEdxSWdJcEM7O0FBR0gsQUFBQSxnQkFBZ0IsQ0FBQztFQUNmLE9BQU8sRUFBRSxpQkFBaUI7RUFDMUIsYUFBYSxFQUFFLEdBQUc7RUFDbEIsVUFBVSxFckkzSW9CLE9BQU87RXFJNElyQyxTQUFTLEVBQUUsUUFBUSxHQTJCcEI7RUEvQkQsQUFNRSx3QkFOYyxDQU1KO0lBQ1IsS0FBSyxFckk3SFUsT0FBTztJcUk4SHRCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsVUFBVSxFQUFFLE1BQU07SUFDbEIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7RUFaSCxBQWNFLHNCQWRjLENBY047SUFDTixLQUFLLEVySXJKc0IsT0FBTztJcUlzSmxDLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFdBQVcsRUFBRSxPQUFPO0lBQ3BCLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLE9BQU8sRUFBRSxZQUFZLEdBQ3RCO0VBdkJILEFBeUJFLHVCQXpCYyxDQXlCTDtJQUNQLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLE9BQU8sRUFBRSxLQUFLO0lBQ2QsV0FBVyxFQUFFLEdBQUc7SUFDaEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBR0gsQUFBQSxVQUFVLENBQUM7RUFDVCxPQUFPLEVBQUUsSUFBSTtFQUNiLGFBQWEsRUFBRSxpQkFBaUI7RUFDaEMsUUFBUSxFQUFFLEtBQUs7RUFDZixVQUFVLEVBQUUsTUFBTSxHQTBCbkI7RUE5QkQsQUFNRSxlQU5RLENBTUQ7SUFDTCxPQUFPLEVBQUUsSUFBSTtJQUNiLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFdBQVcsRUFBRSxNQUFNO0lBQ25CLFlBQVksRUFBRSxRQUFRO0lBQ3RCLGNBQWMsRUFBRSxNQUFNLEdBZXZCO0lBMUJILEFBYUksZUFiTSxDQWFOLENBQUMsQ0FBQztNQUNBLEtBQUssRXJJbExxQixPQUFPO01xSW1MakMsTUFBTSxFQUFFLGNBQWMsR0FDdkI7SUFoQkwsQUFrQkksZUFsQk0sQ0FrQk4sQ0FBQyxDQUFDO01BQ0EsS0FBSyxFckl2THFCLE9BQU87TXFJd0xqQyxTQUFTLEVBQUUsSUFBSTtNQUNmLFVBQVUsRUFBRSxNQUFNO01BQ2xCLFdBQVcsRUFBRSxHQUFHO01BQ2hCLFdBQVcsRUFBRSxNQUFNO01BQ25CLGNBQWMsRUFBRSxTQUFTLEdBQzFCO0VBekJMLEFBMkJFLFVBM0JRLENBMkJSLEtBQUssQ0FBQztJQUNKLGFBQWEsRUFBRSxJQUFJLEdBQ3BCOztBQUdILEFBQUEsZ0JBQWdCLENBQUM7RUFDZixnQkFBZ0IsRXJJdkxJLE9BQU87RXFJd0wzQixlQUFlLEVBQUUsYUFBYTtFQUM5QixPQUFPLEVBQUUsSUFBSTtFQUNiLFdBQVcsRUFBRSxRQUFRO0VBQ3JCLEdBQUcsRUFBRSxRQUFRO0VBQ2IsT0FBTyxFQUFFLElBQUksR0FrRGQ7RUF4REQsQUFRRSw4QkFSYyxFQUFoQiw4QkFBZ0IsQ0FRbUIsS0FBSyxDQUFDO0lBQ3JDLEtBQUssRXJJck5lLE9BQU87SXFJc04zQixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsT0FBTztJQUNsQixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsU0FBUztJQUN6QixPQUFPLEVBQUUsSUFBSSxHQUNkO0VBakJILEFBbUJFLHdCQW5CYyxDQW1CSjtJQUNSLGFBQWEsRUFBRSxjQUFjO0lBQzdCLE1BQU0sRUFBRSwwQkFBMEI7SUFDbEMsTUFBTSxFQUFFLGtCQUFrQjtJQUMxQixVQUFVLEVBQUUsVUFBVTtJQUN0QixtQkFBbUIsRUFBRSwwQkFBMEI7SUFDL0MsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQyxpQkFBaUIsRUFBRSxvQkFBb0I7SUFDdkMsT0FBTyxFQUFFLDRDQUE0QztJQUNyRCxVQUFVLEVBQUUsd0NBQXdDO0lBQ3BELEtBQUssRUFBRSxnQkFBZ0I7SUFDdkIsS0FBSyxFckluUkssSUFBSTtJcUlvUmQsTUFBTSxFQUFFLGNBQWM7SUFDdEIsU0FBUyxFQUFFLGtCQUFrQixHQUs5QjtJQXJDSCxBQWtDSSx3QkFsQ1ksRUFrQ1QsV0FBVyxDQUFDO01BQ1gsS0FBSyxFckkzTmMsT0FBTyxHcUk0TjdCO0VBcENMLEFBdUNFLDhCQXZDYyxDQXVDRTtJQUNkLEtBQUssRXJJN05ZLE9BQU87SXFJOE54QixTQUFTLEVBQUUsT0FBTztJQUNsQixXQUFXLEVBQUUsR0FBRztJQUNoQixxQkFBcUIsRUFBRSxJQUFJO0lBQzNCLFVBQVUsRUFBRSxNQUFNLEdBQ25CO0VBQ0MsTUFBTSxtQkFDRjtJQS9DUixBQStDUSxnQkEvQ1EsQ0ErQ047TUFDRSxTQUFTLEVBQUUsSUFBSTtNQUNmLEdBQUcsRUFBRSxDQUFDLEdBQ1Q7SUFsRFQsQUFtRFEsd0JBbkRRLENBbURFO01BQ04sU0FBUyxFQUFFLGVBQWU7TUFDMUIsTUFBTSxFQUFFLHFCQUFxQixHQUNoQyxFQUpBO0FBUVQsQUFBQSx3QkFBd0IsQ0FBQztFQUN2QixhQUFhLEVBQUUsTUFBTSxHQU10QjtFQUpDLE1BQU0sbUJBSFI7SUFBQSxBQUFBLHdCQUF3QixDQUFDO01BSXJCLGFBQWEsRUFBRSxJQUFJO01BQ25CLFdBQVcsRUFBRSxHQUFHLEdBRW5CLEVBQUE7QUFFRCxNQUFNLG1DQUdGO0VBRkYsQUFFRSxrQkFGZ0IsQ0FFaEIsa0JBQWtCLEVBRkEsY0FBYyxDQUVoQyxrQkFBa0IsRUFGZ0Isb0JBQW9CLENBRXRELGtCQUFrQixDQUFDO0lBQ2pCLEtBQUssRUFBRSxHQUFHO0lBQ1YsTUFBTSxFQUFFLGFBQWEsR0FDdEI7RUFMSCxBQU9FLHVCQVBnQixFQUFFLG1CQUFjLEVBQUUseUJBQW9CLENBTy9DO0lBQ0wsTUFBTSxFQUFFLGNBQWMsR0FDdkI7RUFHSCxBQUNFLG9CQURrQixDQUNsQixvQkFBb0IsQ0FBQztJQUNuQixXQUFXLEVBQUUsQ0FBQyxHQUNmO0VBR0gsQUFBQSxnQkFBZ0IsQ0FBQztJQUNmLFNBQVMsRUFBRSxNQUFNLEdBQ2xCO0VBRUQsQUFBQSx1QkFBdUIsQ0FBQztJQUN0QixxQkFBcUIsRUFBRSxJQUFJLEdBQzVCO0VBRUQsQUFDRSx5QkFEaUIsQ0FDVDtJQUNOLHFCQUFxQixFQUFFLElBQUksR0FDNUI7RUFHSCxBQUFBLFVBQVUsQ0FBQztJQUNULFFBQVEsRUFBRSxhQUFhLEdBS3hCO0lBTkQsQUFHRSxlQUhRLENBR0Q7TUFDTCxjQUFjLEVBQUUsTUFBTSxHQUN2QixFQWhDQTs7QUFvQ0wsTUFBTSwwQ0FJQTtFQUhKLEFBR0ksa0NBSGMsRUFBRSw4QkFBYyxFQUFFLG9DQUFvQixDQUczQztJQUNQLE1BQU0sRUFBRSxNQUFNO0lBQ2QsU0FBUyxFQUFFLGFBQWE7SUFDeEIsSUFBSSxFQUFFLElBQUksR0FDWDtFQUlMLEFBQUEsVUFBVSxDQUFDO0lBQ1QsUUFBUSxFQUFFLGFBQWE7SUFJdkIsZUFBZSxFQUFFLElBQUksR0FJdEI7SUFURCxBQUVFLGVBRlEsQ0FFRDtNQUNMLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0lBSkgsQUFNRSxVQU5RLEVBTUwsaUJBQWlCLENBQUM7TUFDakIsT0FBTyxFQUFFLElBQUk7TUFBRyx1QkFBdUIsRUFDMUM7RUFHSCxBQUFBLHVCQUF1QixDQUFDO0lBQ3RCLHFCQUFxQixFQUFFLElBQUksR0FDNUI7RUFFRCxBQUFBLGdCQUFnQixDQUFDO0lBQ2YsU0FBUyxFQUFFLE1BQU0sR0FDbEI7RUFFRCxBQUNFLHlCQURpQixDQUNUO0lBQ04scUJBQXFCLEVBQUUsSUFBSSxHQUM1QixFQTFCRTs7QUQvWVAsQUFBQSxlQUFlLENBQUM7RUFDWixLQUFLLEVwSU1ZLE9BQU87RW9JTHhCLE1BQU0sRUFBRSxPQUFPO0VBQ2YsZUFBZSxFQUFFLElBQUksR0FDeEI7O0FBRUQsQUFBQSxhQUFhLENBQUM7RUFDVixnQkFBZ0IsRXBJeURJLE9BQU87RW9JeEQzQixVQUFVLEVBQUUsTUFBTTtFQUNsQixNQUFNLEVBQUUsa0JBQWtCO0VBQzFCLE9BQU8sRUFBRSxJQUFJO0VBQ2Isa0JBQWtCLEVBQUUsZUFBZTtFQUNuQyxxQkFBcUIsRUFBRSxZQUFZO0VBQ25DLFNBQVMsRUFBRSxJQUFJO0VBQ2YsbUJBQW1CLEVBQ2YscURBR1ksR0FxTG5CO0VBak1ELEFBY0kscUJBZFMsQ0FjQztJQUNOLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLFNBQVMsRUFBRSxLQUFLO0lBQ2hCLE1BQU0sRUFBRSxJQUFJLEdBcUJmO0lBdENMLEFBbUJRLHFCQW5CSyxDQW1CTCxFQUFFLENBQUM7TUFDQyxTQUFTLEVBQUUsR0FBRztNQUNkLE1BQU0sRUFBRSxNQUFNLEdBQ2pCO0lBdEJULEFBd0JRLCtCQXhCSyxDQXdCTztNQUNSLEtBQUssRXBJeEJJLE9BQU87TW9JeUJoQixTQUFTLEVBQUUsR0FBRztNQUNkLFdBQVcsRUFBRSxLQUFLO01BQ2xCLFVBQVUsRUFBRSxNQUFNO01BQ2xCLGFBQWEsRUFBRSxJQUFJO01BQ25CLGNBQWMsRUFBRSxDQUFDLEdBQ3BCO0lBRUQsTUFBTSxtQ0FDRjtNQWxDWixBQWtDWSxxQkFsQ0MsQ0FrQ0M7UUFDRSxNQUFNLEVBQUUsZ0JBQWdCLEdBQzNCLEVBQUE7RUFwQ2IsQUF3Q0ksc0JBeENTLENBd0NFO0lBQ1AsU0FBUyxFQUFFLE9BQU87SUFDbEIsR0FBRyxFQUFFLElBQUk7SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUNiLFNBQVMsRUFBRSxJQUFJLEdBaURsQjtJQTdGTCxBQThDUSxzQkE5Q0ssQ0E4Q0wsR0FBRyxDQUFDO01BQ0EsS0FBSyxFQUFFLElBQUksR0FLZDtNQXBEVCxBQWdEWSxzQkFoREMsQ0E4Q0wsR0FBRyxDQUVDLENBQUMsQ0FBQztRQUNFLGNBQWMsRUFBRSxLQUFLO1FBQ3JCLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0lBbkRiLEFBc0RRLHNCQXRESyxDQXNETCxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztNQUNkLGdCQUFnQixFcElwREwsT0FBTztNb0lxRGxCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcElyRE4sT0FBTztNb0lzRGxCLEtBQUssRXBJbkRBLElBQUksR29Jb0RaO0lBMURULEFBNERRLHNCQTVESyxDQTRETCxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUM7TUFDcEIsTUFBTSxFQUFFLEdBQUcsQ0FBQyxLQUFLLENwSTVEUixPQUFPLEdvSTZEbkI7SUE5RFQsQUFnRVEsOEJBaEVLO0lBQWIsc0JBQWEsQ0FpRUwsQ0FBQyxDQUFBLEFBQUEsS0FBQyxDQUFNLG1CQUFtQixBQUF6QixFQUEyQjtNQUN6QixTQUFTLEVBQUUsS0FBSztNQUNoQixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7SUFyRVQsQUF1RVEsc0JBdkVLLENBdUVMLENBQUMsQ0FBQztNQUdFLGFBQWEsRUFBRSxNQUFNO01BQ3JCLFdBQVcsRUFBRSxxQkFBcUI7TUFDbEMsT0FBTyxFQUFFLFFBQVE7TUFDakIsVUFBVSxFQUFFLFdBQVcsR0FDMUI7SUE5RVQsQUFnRlEsOEJBaEZLLENBZ0ZLO01BQ04sZ0JBQWdCLEVwSXRCVCxPQUFPO01vSXVCZCxXQUFXLEVBQUUscUJBQXFCO01BQ2xDLFlBQVksRXBJeEJMLE9BQU87TW9JeUJkLGFBQWEsRUFBRSxDQUFDO01BQ2hCLEtBQUssRXBJckRTLE9BQU87TW9Jc0RyQixjQUFjLEVBQUUsb0JBQW9CO01BQ3BDLFdBQVcsRUFBRSxxQkFBcUI7TUFDbEMsU0FBUyxFQUFFLEtBQUs7TUFDaEIsV0FBVyxFQUFFLEdBQUc7TUFDaEIsY0FBYyxFQUFFLENBQUM7TUFDakIsTUFBTSxFQUFFLElBQUksR0FDZjtFQTVGVCxBQStGSSxhQS9GUyxDQStGVCxhQUFhLENBQUM7SUFDVixTQUFTLEVBQUUsS0FBSztJQUNoQixVQUFVLEVBQUUsSUFBSTtJQUNoQixRQUFRLEVBQUUsUUFBUSxHQXdDckI7SUExSUwsQUFvR1EsYUFwR0ssQ0ErRlQsdUJBQWEsQ0FLRztNQUNSLEtBQUssRUFBRSxLQUFLO01BQ1osUUFBUSxFQUFFLFFBQVE7TUFDbEIsS0FBSyxFQUFFLG9CQUFvQjtNQUMzQixNQUFNLEVBQUUsQ0FBQyxHQUNaO0lBekdULEFBMkdRLGFBM0dLLENBK0ZULGFBQWEsQ0FZVCxNQUFNLENBQUM7TUFDSCxPQUFPLEVBQUUsSUFBSTtNQUNiLGVBQWUsRUFBRSxZQUFZO01BQzdCLFVBQVUsRUFBRSxJQUFJLEdBVW5CO01BeEhULEFBZ0hZLGFBaEhDLENBK0ZULGFBQWEsQ0FZVCxNQUFNLENBS0YsQ0FBQyxDQUFDO1FBQ0UsYUFBYSxFQUFFLEtBQUs7UUFDcEIsT0FBTyxFQUFFLEtBQUs7UUFDZCxVQUFVLEVBQUUsS0FBSztRQUNqQixnQkFBZ0IsRUFBRSxLQUFLO1FBQ3ZCLFlBQVksRUFBRSxLQUFLO1FBQ25CLE1BQU0sRUFBRSxLQUFLLEdBQ2hCO0lBdkhiLEFBMkhZLGFBM0hDLENBK0ZULGFBQWEsQ0EyQlQsV0FBVyxDQUNQLEdBQUcsQ0FBQztNQUNBLEtBQUssRUFBRSxRQUFRLEdBQ2xCO0lBN0hiLEFBaUlZLGFBaklDLENBK0ZULGFBQWEsQ0FpQ1QsUUFBUSxDQUNKLENBQUMsQ0FBQztNQUNFLGNBQWMsRUFBRSxLQUFLO01BQ3JCLEtBQUssRXBJcEdQLElBQUk7TW9JcUdGLFNBQVMsRUFBRSxLQUFLLEdBSW5CO01BeEliLEFBcUlnQixhQXJJSCxDQStGVCxhQUFhLENBaUNULFFBQVEsQ0FDSixDQUFDLENBSUcsQ0FBQyxDQUFDO1FBQ0UsS0FBSyxFQUFFLEdBQUcsR0FDYjtFQUtiLE1BQU0sb0NBQ0Y7SUE3SVIsQUE2SVEsYUE3SUssQ0E2SUg7TUFDRSxrQkFBa0IsRUFBRSxlQUFlO01BQ25DLFNBQVMsRUFBRSxJQUFJLEdBS2xCO01BcEpULEFBaUpZLHFCQWpKQyxDQWlKUztRQUNOLFNBQVMsRUFBRSxLQUFLLEdBQ25CLEVBQ0o7RUFHTCxNQUFNLG1DQUNGO0lBeEpSLEFBd0pRLGFBeEpLLENBd0pIO01BQ0Usa0JBQWtCLEVBQUUsZUFBZTtNQUNuQyxTQUFTLEVBQUUsSUFBSSxHQUtsQjtNQS9KVCxBQTRKWSxxQkE1SkMsQ0E0SlM7UUFDTixTQUFTLEVBQUUsS0FBSyxHQUNuQixFQUNKO0VBR0wsTUFBTSxtQ0FDRjtJQW5LUixBQW1LUSxhQW5LSyxDQW1LSDtNQUNFLGtCQUFrQixFQUFFLGVBQWU7TUFDbkMscUJBQXFCLEVBQUUsVUFBVTtNQUNqQyxTQUFTLEVBQUUsSUFBSSxHQUtsQjtNQTNLVCxBQXdLWSxxQkF4S0MsQ0F3S1M7UUFDTixTQUFTLEVBQUUsS0FBSyxHQUNuQixFQUNKO0VBR0wsTUFBTSxtQ0FDRjtJQS9LUixBQStLUSxhQS9LSyxDQStLSDtNQUNFLGtCQUFrQixFQUFFLGNBQWM7TUFDbEMscUJBQXFCLEVBQUUsVUFBVTtNQUNqQyxTQUFTLEVBQUUsSUFBSSxHQWFsQjtNQS9MVCxBQW9MWSxzQkFwTEMsQ0FvTFU7UUFDUCxHQUFHLEVBQUUsTUFBTSxHQUtkO1FBMUxiLEFBc0xnQiw4QkF0TEg7UUFBYixzQkFBYSxDQXVMRyxDQUFDLENBQUEsQUFBQSxLQUFDLENBQU0sbUJBQW1CLEFBQXpCLEVBQTJCO1VBQ3pCLFNBQVMsRUFBRSxHQUFHLEdBQ2pCO01BekxqQixBQTRMWSxxQkE1TEMsQ0E0TFM7UUFDTixTQUFTLEVBQUUsS0FBSyxHQUNuQixFQUNKO0FBSVQsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLHFCQUFxQixFQUFFLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxJQUFJO0VBQ3BELE9BQU8sRUFBRSxJQUFJLEdBS2hCO0VBUEQsQUFJSSxrQkFKYyxHQUlWLENBQUMsQ0FBQztJQUNGLFdBQVcsRUFBRSxDQUFDLEdBQ2pCOztBQUVMLEFBQUEscUJBQXFCLENBQUM7RUFNbEIscUJBQXFCLEVBQUUsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUk7RUFDckQsT0FBTyxFQUFFLElBQUksR0FLaEI7RUFYRyxNQUFNLG1DQUNGO0lBRlIsQUFFUSxxQkFGYSxDQUViLHFCQUFxQixDQUFDO01BQ2xCLHFCQUFxQixFQUFFLFVBQVUsR0FDcEMsRUFBQTtFQUpULEFBU0kscUJBVGlCLEdBU2IsQ0FBQyxDQUFDO0lBQ0YsV0FBVyxFQUFFLENBQUMsR0FDakI7O0FBR0wsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFNBQVMsRUFBRSxJQUFJO0VBQ2YsUUFBUSxFQUFFLFFBQVEsR0EyQ3JCO0VBN0NELEFBSUkseUJBSmMsQ0FJTDtJQUNMLFVBQVUsRUFBRSxJQUFJO0lBQ2hCLFVBQVUsRUFBRSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ3BJbktYLFNBQVM7SW9Jb0t2QixPQUFPLEVBQUUsV0FBVyxHQXFDdkI7SUE1Q0wsQUFTUSx5QkFUVSxDQVNWLElBQUksQ0FBQztNQUNELFNBQVMsRUFBRSxLQUFLO01BQ2hCLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0lBWlQsQUFjUSxpQ0FkVSxDQWNBO01BQ04sVUFBVSxFcEl2T0QsT0FBTyxDb0l1T2dCLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVc7TUFDM0QsS0FBSyxFcEkvS08sT0FBTyxHb0lnTHRCO0lBakJULEFBbUJRLGdDQW5CVSxDQW1CRDtNQUNMLFdBQVcsRUFBRSxRQUFRO01BQ3JCLFNBQVMsRUFBRSxLQUFLO01BQ2hCLGNBQWMsRUFBRSxHQUFHLEdBQ3RCO0lBdkJULEFBMEJZLHFDQTFCTSxDQTBCRTtNQUNKLEtBQUssRXBJMUxHLE9BQU87TW9JMkxmLFNBQVMsRUFBRSxnQkFBZ0IsR0FPOUI7TUFORyxNQUFNLG1DQUNGO1FBOUJwQixBQThCb0IscUNBOUJGLENBOEJJO1VBQ0UsTUFBTSxFQUFFLEtBQUs7VUFDYixTQUFTLEVBQUUsY0FBYyxHQUM1QixFQUFBO0lBS2IsTUFBTSxtQ0FDRjtNQXZDWixBQXVDWSx5QkF2Q00sQ0F1Q0o7UUFDRSxPQUFPLEVBQUUsa0JBQWtCO1FBQzNCLEtBQUssRUFBRSxJQUFJLEdBQ2QsRUFBQTtBQUtiLEFBQUEsYUFBYSxDQUFDO0VBQ1YsVUFBVSxFcEluT1ksT0FBTyxDb0ltT1EsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVU7RUFDM0UsVUFBVSxFQUFFLEdBQUcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDcEk5TU4sU0FBUztFb0krTTNCLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLE1BQU07RUFDdEIsT0FBTyxFQUFFLDRCQUE0QjtFQUNyQyxXQUFXLEVBQUUsUUFBUTtFQUNyQixTQUFTLEVBQUUsTUFBTTtFQUNqQixhQUFhLEVBQUUsQ0FBQyxHQWtLbkI7RUExS0QsQUFVSSxhQVZTLENBVVQsUUFBUSxDQUFDO0lBQ0wsUUFBUSxFQUFFLFFBQVE7SUFFbEIsUUFBUSxFQUFFLE1BQU07SUFDaEIsZUFBZSxFQUFFLE1BQU07SUFFdkIsa0JBQWtCLEVBQUUsSUFBSTtJQUFFLGlCQUFpQjtJQUMzQyxlQUFlLEVBQUUsSUFBSSxHQXlCeEI7SUExQ0wsQUFrQlEsYUFsQkssQ0FVVCxRQUFRLEVBUUQsaUJBQWlCLENBQUM7TUFDakIsT0FBTyxFQUFFLElBQUksR0FDaEI7SUFwQlQsQUFzQlEsYUF0QkssQ0FVVCxjQUFRLENBWUk7TUFDSixXQUFXLEVBQUUsUUFBUTtNQUNyQixXQUFXLEVBQUUsR0FBRztNQUNoQixTQUFTLEVBQUUsS0FBSztNQUNoQixjQUFjLEVBQUUsR0FBRztNQUNuQixNQUFNLEVBQUUsZ0JBQWdCLEdBYzNCO01BekNULEFBNkJZLGFBN0JDLENBVVQsc0JBQVEsQ0FtQlU7UUFDTixVQUFVLEVBQUUsTUFBTSxHQUNyQjtNQS9CYixBQWdDWSxhQWhDQyxDQVVULHFCQUFRLENBc0JTO1FBQ0wsU0FBUyxFQUFFLEdBQUc7UUFDZCxXQUFXLEVBQUUsR0FBRyxHQUNuQjtNQUNELE1BQU0sbUNBQ0Y7UUFyQ2hCLEFBcUNnQixhQXJDSCxDQVVULGNBQVEsQ0EyQk07VUFDRSxTQUFTLEVBQUUsR0FBRyxHQUNqQixFQUFBO0VBdkNqQixBQTRDSSx1QkE1Q1MsQ0E0Q0c7SUFDUixXQUFXLEVBQUUsUUFBUTtJQUNyQixjQUFjLEVBQUUsR0FBRztJQUNuQixVQUFVLEVBQUUsTUFBTTtJQUNsQixXQUFXLEVBQUUsTUFBTTtJQUNuQixTQUFTLEVBQUUsS0FBSztJQUNoQixNQUFNLEVBQUUsTUFBTTtJQUNkLE9BQU8sRUFBRSxJQUFJO0lBQ2IsR0FBRyxFQUFFLElBQUk7SUFDVCxlQUFlLEVBQUUsTUFBTSxHQVMxQjtJQTlETCxBQXVEUSx1QkF2REssQ0F1REwsR0FBRyxDQUFDLFdBQVcsQ0FBQztNQUNaLGVBQWUsRUFBRSxTQUFTLEdBQzdCO0lBekRULEFBMkRRLDZCQTNESyxDQTJERztNQUNKLGVBQWUsRUFBRSxJQUFJLEdBQ3hCO0VBN0RULEFBZ0VJLHVCQWhFUyxDQWdFRztJQUNSLE1BQU0sRUFBRSxTQUFTO0lBQ2pCLFdBQVcsRUFBRSxRQUFRO0lBQ3JCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0VBdEVMLEFBd0VJLHVCQXhFUyxDQXdFRztJQUNSLFVBQVUsRUFBRSx1REFJWDtJQUNELFFBQVEsRUFBRSxNQUFNO0lBQ2hCLE1BQU0sRUFBRSxDQUFDO0lBQ1QsT0FBTyxFQUFFLEVBQUU7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJLEdBQ2Q7RUFuRkwsQUFxRkksYUFyRlMsQ0FxRlQsT0FBTyxDQUFDO0lBQ0osVUFBVSxFQUFFLElBQUk7SUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FlckI7SUF0R0wsQUF5RlEsYUF6RkssQ0FxRlQsb0JBQU8sQ0FJWTtNQUNYLEtBQUssRXBJaldJLE9BQU87TW9Ja1doQixXQUFXLEVBQUUsUUFBUTtNQUNyQixTQUFTLEVBQUUsR0FBRztNQUNkLE1BQU0sRUFBRSxDQUFDO01BQ1QsT0FBTyxFQUFFLEdBQUcsR0FDZjtJQS9GVCxBQWdHUSxhQWhHSyxDQXFGVCxPQUFPLENBV0gsRUFBRSxDQUFDO01BQ0MsU0FBUyxFQUFFLEdBQUc7TUFDZCxNQUFNLEVBQUUsZ0JBQWdCO01BQ3hCLGFBQWEsRUFBRSxpQkFBaUI7TUFDaEMsT0FBTyxFQUFFLEdBQUcsR0FDZjtFQXJHVCxBQXdHSSxhQXhHUyxHQXdHTCxJQUFJLENBQUM7SUFDTCxTQUFTLEVBQUUsS0FBSztJQUNoQixPQUFPLEVBQUUsSUFBSTtJQUNiLE1BQU0sRUFBRSxJQUFJO0lBQ1osZUFBZSxFQUFFLFlBQVk7SUFDN0IsU0FBUyxFQUFFLElBQUk7SUFDZixHQUFHLEVBQUUsSUFBSTtJQUNULGNBQWMsRUFBRSxJQUFJLEdBQ3ZCO0VBaEhMLEFBaUhJLGFBakhTLEdBaUhMLE9BQU8sQ0FBQztJQUNSLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUI7RUFuSEwsQUFvSEkscUJBcEhTLENBb0hDO0lBQ04sVUFBVSxFQUFFLE9BQU87SUFDbkIsT0FBTyxFQUFFLElBQUk7SUFDYixTQUFTLEVBQUUsSUFBSTtJQUNmLGVBQWUsRUFBRSxZQUFZO0lBQzdCLFNBQVMsRUFBRSxNQUFNO0lBQ2pCLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLE1BQU0sRUFBRSxPQUFPLEdBNkJsQjtJQXpKTCxBQTZIUSxxQkE3SEssQ0E2SEwsTUFBTSxDQUFDO01BQ0gsT0FBTyxFQUFFLENBQUM7TUFDVixRQUFRLEVBQUUsbUJBQW1CLEdBV2hDO01BMUlULEFBZ0lZLHFCQWhJQyxDQTZITCxNQUFNLENBR0YsR0FBRyxDQUFDO1FBQ0EsU0FBUyxFQUFFLEtBQUs7UUFDaEIsS0FBSyxFQUFFLEdBQUc7UUFDVixVQUFVLEVBQUUsZ0JBQWdCLEdBTS9CO1FBTEcsTUFBTSxtQ0FDRjtVQXJJcEIsQUFxSW9CLHFCQXJJUCxDQTZITCxNQUFNLENBR0YsR0FBRyxDQUtPO1lBQ0UsS0FBSyxFQUFFLEtBQUssR0FDZixFQUFBO0lBdklyQixBQTJJUSxxQkEzSUssQ0EySUwsSUFBSSxDQUFDO01BQ0QsVUFBVSxFQUFFLE1BQU07TUFDbEIsU0FBUyxFQUFFLEtBQUs7TUFDaEIsVUFBVSxFQUFFLE1BQU0sR0FNckI7TUFMRyxNQUFNLG1DQUNGO1FBaEpoQixBQWdKZ0IscUJBaEpILENBMklMLElBQUksQ0FLTTtVQUNFLFNBQVMsRUFBRSxNQUFNLEdBQ3BCLEVBQUE7SUFsSmpCLEFBc0pRLDZCQXRKSyxDQXNKSztNQUNOLFVBQVUsRUFBRSxNQUFNLEdBQ3JCO0VBR0wsTUFBTSxtQ0FDRjtJQTVKUixBQTRKUSxhQTVKSyxDQTRKSDtNQUNFLE9BQU8sRUFBRSxnQkFBZ0I7TUFDekIsS0FBSyxFQUFFLElBQUksR0FDZDtJQS9KVCxBQWlLUSxzQkFqS0ssQ0FpS007TUFDUCxNQUFNLEVBQUUscUJBQXFCLEdBTWhDO01BeEtULEFBbUtZLHNCQW5LQyxDQW1LRCxFQUFFLENBQUM7UUFDQyxTQUFTLEVBQUUsZ0JBQWdCO1FBQzNCLEtBQUssRUFBRSxlQUFlO1FBQ3RCLE1BQU0sRUFBRSwyQkFBMkIsR0FDdEMsRUFSSjtBQWFULEFBQUEsaUJBQWlCLENBQUM7RUFDZCxVQUFVLEVBQUUsV0FBVztFQUN2QixxQkFBcUIsRUFBRSxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSTtFQUNwRCxNQUFNLEVBQUUsVUFBVSxHQXdDckI7RUEzQ0QsQUFLSSxpQkFMYTtFQUFqQixpQkFBaUIsQ0FNYixJQUFJLENBQUM7SUFDRCxPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFdBQVcsRUFBRSxNQUFNLEdBQ3RCO0VBVkwsQUFZSSxpQkFaYSxDQVliLFFBQVEsQ0FBQztJQUNMLFVBQVUsRXBJL1pKLEtBQUssQ29JK1pjLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFdBQVc7SUFDcEQsYUFBYSxFQUFFLEtBQUs7SUFDcEIsVUFBVSxFQUFFLDRCQUE0QjtJQUN4QyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BJbGNILE9BQU87SW9JbWNyQixjQUFjLEVBQUUsR0FBRztJQUNuQixLQUFLLEVwSXJjUSxPQUFPO0lvSXNjcEIsYUFBYSxFQUFFLE1BQU07SUFDckIsT0FBTyxFQUFFLEdBQUc7SUFDWixTQUFTLEVBQUUsR0FBRztJQUNkLFVBQVUsRUFBRSxnQkFBZ0I7SUFDNUIsTUFBTSxFQUFFLElBQUk7SUFDWixNQUFNLEVBQUUsSUFBSSxHQUNmO0VBekJMLEFBMkJJLGlCQTNCYSxDQTJCYixRQUFRLEVBQUUsV0FBVyxDQUFDO0lBQ2xCLGNBQWMsRUFBRSxHQUFHO0lBQ25CLEtBQUssRXBJblpTLFNBQVMsQ29JbVpLLFVBQVU7SUFDdEMsT0FBTyxFQUFFLElBQUksR0FDaEI7RUEvQkwsQUFpQ0ksaUJBakNhLENBaUNiLE1BQU0sQ0FBQztJQUNILEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLElBQUk7SUFDWixTQUFTLEVBQUUsS0FBSztJQUNoQixXQUFXLEVBQUUsU0FBUztJQUN0QixhQUFhLEVBQUUsTUFBTTtJQUNyQixVQUFVLEVwSTlaRyxPQUFPLENvSThaWSxFQUFFLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsVUFBVTtJQUN0RSxNQUFNLEVBQUUsV0FBVztJQUNuQixjQUFjLEVBQUUsU0FBUyxHQUM1Qjs7QUFHTCxBQUFBLHNCQUFzQixDQUFDO0VBQ25CLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsT0FBTztFQUM5QixrQkFBa0IsRUFBRSxhQUFhO0VBQ2pDLGFBQWEsRUFBRSxLQUFLO0VBQ3BCLEdBQUcsRUFBRSxJQUFJLEdBOEhaO0VBbklELEFBT0ksc0JBUGtCLENBT2xCLEtBQUssQ0FBQztJQUNGLE1BQU0sRUFBRSxZQUFZLEdBQ3ZCO0VBVEwsQUFXSSxzQkFYa0IsQ0FXbEIsS0FBSztFQVhULHNCQUFzQixDQVlsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsV0FBVztFQVpuQyxzQkFBc0IsRUFZYixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0E0SlYsMEJBQWdCO0VBeEtoQixzQkFBc0IsRUFZYixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0E2SlYsK0JBQXFCO0VBektyQixzQkFBc0IsQ0FqZXRCLHNCQUFhLENBdUVMLENBQUMsQ0FzYUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiO0VBN2VWLHNCQUFhLENBaWViLHNCQUFzQixDQTFaZCxDQUFDLENBc2FBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUEwQjtJQUM1QixXQUFXLEVBQUUsZUFBZTtJQUM1QixLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLFNBQVMsRUFBRSxLQUFLLEdBQ25CO0VBakJMLEFBbUJJLHNCQW5Ca0IsQ0FtQmxCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7RUFuQlYsc0JBQXNCLENBb0JsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7SUFDZixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BJcGZILE9BQU8sQ29Jb2ZrQixVQUFVO0lBQ2pELGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0IsVUFBVSxFQUFFLG1DQUFtQztJQUMvQyxVQUFVLEVBQUUsNEJBQTRCO0lBQ3hDLE9BQU8sRUFBRSxXQUFXO0lBQ3BCLFVBQVUsRUFBRSxXQUFXLEdBUzFCO0lBUEcsTUFBTSxtQkFUVjtNQW5CSixBQW1CSSxzQkFuQmtCLENBbUJsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssT0FBTyxBQUFaO01BbkJWLHNCQUFzQixDQW9CbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO1FBU1gsS0FBSyxFQUFFLGVBQWUsR0FNN0IsRUFBQTtJQUhHLE1BQU0sbUJBYlY7TUFuQkosQUFtQkksc0JBbkJrQixDQW1CbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWjtNQW5CVixzQkFBc0IsQ0FvQmxCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtRQWFYLEtBQUssRUFBRSxjQUFjLEdBRTVCLEVBQUE7RUFuQ0wsQUFxQ0ksc0JBckNrQixDQXFDbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO0lBQ2hCLEtBQUssRUFBRSxHQUFHLEdBQ2I7RUF2Q0wsQUF5Q0ksc0JBekNrQixDQXlDbEIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxFQUFhO0lBQ2YsS0FBSyxFQUFFLEdBQUcsR0FDYjtFQTNDTCxBQTZDSSxzQkE3Q2tCLENBNkNsQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsV0FBVyxFQTdDbkMsc0JBQXNCLEVBNkNiLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQTJIViwwQkFBZ0I7RUF4S2hCLHNCQUFzQixFQTZDYixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0E0SFYsK0JBQXFCLEVBektyQixzQkFBc0IsQ0FqZXRCLHNCQUFhLENBdUVMLENBQUMsQ0F1Y0EsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdBOWdCVixzQkFBYSxDQWllYixzQkFBc0IsQ0ExWmQsQ0FBQyxDQXVjQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsRUFBMEI7SUFDNUIsVUFBVSxFQUFFLHNCQUFzQjtJQUNsQyxVQUFVLEVBQUUsbUNBQW1DO0lBQy9DLGFBQWEsRUFBRSxpQkFBaUI7SUFDaEMsTUFBTSxFQUFFLGNBQWM7SUFDdEIsS0FBSyxFQUFFLGdCQUFnQjtJQUN2QixXQUFXLEVBQUUsY0FBYztJQUMzQixTQUFTLEVBQUUsR0FBRztJQUNkLGNBQWMsRUFBRSxTQUFTO0lBQ3pCLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsT0FBTyxFQUFFLEtBQUs7SUFDZCxNQUFNLEVBQUUsSUFBSSxHQUNmO0VBekRMLEFBMkRJLHNCQTNEa0IsQ0EyRGxCLGFBQWE7RUEzRGpCLHNCQUFzQixDQTREbEIsTUFBTSxDQUFDO0lBQ0gsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUE5REwsQUFnRUksc0JBaEVrQixDQWdFbEIsSUFBSSxDQUFDO0lBQ0QsU0FBUyxFQUFFLEdBQUc7SUFDZCxXQUFXLEVBQUUsR0FBRztJQUNoQixlQUFlLEVBQUUsU0FBUztJQUMxQixXQUFXLEVBQUUsUUFBUTtJQUNyQixLQUFLLEVBQUUsT0FBTztJQUNkLE1BQU0sRUFBRSxPQUFPLEdBQ2xCO0VBdkVMLEFBeUVJLGdDQXpFa0IsQ0F5RU47SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFdBQVcsRUFBRSxNQUFNO0lBQ25CLGVBQWUsRUFBRSxNQUFNO0lBQ3ZCLEdBQUcsRUFBRSxJQUFJO0lBQ1QsTUFBTSxFQUFFLFVBQVUsR0FZckI7SUEzRkwsQUFnRlEsZ0NBaEZjLENBZ0ZkLElBQUksQ0FBQztNQUNELFNBQVMsRUFBRSxLQUFLLEdBQ25CO0lBbEZULEFBb0ZRLGdDQXBGYyxDQW9GZCxLQUFLLENBQUMsV0FBVyxDQUFDO01BQ2QsVUFBVSxFQUFFLDhDQUE4QyxHQUM3RDtJQUVELE1BQU0sbUJBZlY7TUF6RUosQUF5RUksZ0NBekVrQixDQXlFTjtRQWdCSixjQUFjLEVBQUUsTUFBTSxHQUU3QixFQUFBO0VBM0ZMLEFBOEZRLDZCQTlGYyxDQThGZCxFQUFFLENBQUMsYUFBYSxDQUFDO0lBQ2IsT0FBTyxFQUFFLElBQUksR0FDaEI7RUFoR1QsQUFrR1EsNkJBbEdjLENBa0dkLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxPQUFPLEFBQVo7RUFsR2QsNkJBQXNCLENBbUdkLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsRUFBYTtJQUNmLE1BQU0sRUFBRSxDQUFDLEdBQ1o7RUFHTCxNQUFNLG1CQUVFO0lBMUdaLEFBMEdZLHNCQTFHVSxDQTBHVixNQUFNLEFBQUEsd0JBQXdCLENBQUM7TUFDM0IsV0FBVyxFQUFFLFVBQVUsR0FDMUIsRUFBQTtFQUlULE1BQU0sbUJBQ0Y7SUFqSFIsQUFpSFEsc0JBakhjLENBaUhaO01BQ0UsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixVQUFVLEVBQUUsQ0FBQztNQUNiLEdBQUcsRUFBRSxJQUFJLEdBWVo7TUFqSVQsQUF1SFksc0JBdkhVLENBdUhWLEtBQUssQ0FBQztRQUNGLGFBQWEsRUFBRSxDQUFDLEdBQ25CO01BekhiLEFBMEhZLHNCQTFIVSxDQTBIVixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsV0FBVyxFQTFIM0Msc0JBQXNCLEVBMEhMLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQThDbEIsMEJBQWdCO01BeEtoQixzQkFBc0IsRUEwSEwsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBK0NsQiwrQkFBcUIsRUF6S3JCLHNCQUFzQixDQWpldEIsc0JBQWEsQ0F1RUwsQ0FBQyxDQW9oQlEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEdBM2xCbEIsc0JBQWEsQ0FpZWIsc0JBQXNCLENBMVpkLENBQUMsQ0FvaEJRLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUEwQjtRQUM1QixLQUFLLEVBQUUsZUFBZSxHQUN6QjtNQTVIYixBQTZIWSxzQkE3SFUsQ0E2SFYsSUFBSTtNQTdIaEIsc0JBQXNCLENBOEhWLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxXQUFXO01BOUgzQyxzQkFBc0IsRUE4SEwsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBMENsQiwwQkFBZ0I7TUF4S2hCLHNCQUFzQixFQThITCxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0EyQ2xCLCtCQUFxQjtNQXpLckIsc0JBQXNCLENBamV0QixzQkFBYSxDQXVFTCxDQUFDLENBd2hCUSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7TUEvbEJsQixzQkFBYSxDQWllYixzQkFBc0IsQ0ExWmQsQ0FBQyxDQXdoQlEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLEVBQTBCO1FBQzVCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCLEVBQ0o7QUFJVCxBQUFBLG9CQUFvQixDQUFDO0VBQ2pCLFVBQVUsRXBJNWlCSyxPQUFPLENvSTRpQlEsRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLFVBQVU7RUFDcEUsVUFBVSxFQUFFLHVCQUF1QjtFQUNuQyxNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3BJdm1CQyxPQUFPO0VvSXdtQnpCLE1BQU0sRUFBRSxHQUFHLENBQUMsS0FBSyxDcEl4bUJDLE9BQU8sR29Jc25CNUI7RUFsQkQsQUFNSSxnQ0FOZ0IsQ0FNRjtJQUNWLFVBQVUsRXBJaGpCRyxPQUFPLENvSWdqQlksRUFBRSxDQUFDLEVBQUUsQ0FBQyxTQUFTLENBQUMsV0FBVztJQUMzRCxZQUFZLEVwSWpqQkMsT0FBTztJb0lrakJwQixVQUFVLEVBQUUsc0JBQXNCO0lBQ2xDLGFBQWEsRUFBRSxDQUFDO0lBQ2hCLEtBQUssRXBJdmpCVyxPQUFPO0lvSXdqQnZCLFdBQVcsRUFBRSxTQUFTO0lBQ3RCLGNBQWMsRUFBRSxPQUFPO0lBQ3ZCLFNBQVMsRUFBRSxHQUFHO0lBQ2QsY0FBYyxFQUFFLENBQUM7SUFDakIsVUFBVSxFQUFFLEtBQUssR0FDcEI7O0FBYUwsQUFBQSxrQkFBa0IsQ0FBQztFQUNmLFVBQVUsRUFBRSxtQ0FBbUM7RUFDL0MsTUFBTSxFQUFFLEtBQUssR0FDaEI7O0FBRUQsQUFFSSxnQkFGWSxDQUVaLFlBQVk7QUFEaEIscUJBQXFCLENBQ2pCLFlBQVksQ0FBQztFQUNULE9BQU8sRUFBRSxJQUFJO0VBQ2IsR0FBRyxFQUFFLElBQUksR0FDWjs7QUFMTCxBQU9JLGdCQVBZLENBT1osZUFBZTtBQU5uQixxQkFBcUIsQ0FNakIsZUFBZSxDQUFDO0VBQ1osZUFBZSxFQUFFLE1BQU0sR0FDMUI7O0FBVEwsQUFXSSxnQkFYWSxDQVdaLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxXQUFXLEVBWG5DLGdCQUFnQixFQVdQLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixDQVhWLDBCQUFnQjtBQUFoQixnQkFBZ0IsRUFXUCxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FWViwrQkFBcUI7QUFEckIsZ0JBQWdCLENBWVosQ0FBQztBQVhMLHFCQUFxQixDQVVqQixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBQWMsV0FBVztBQVZuQyxxQkFBcUIsRUFVWixBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FYViwwQkFBZ0I7QUFDaEIscUJBQXFCLEVBVVosQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBVlYsK0JBQXFCO0FBQXJCLHFCQUFxQixDQVdqQixDQUFDLENBQUM7RUFDRSxVQUFVLEVBQUUsbUNBQW1DLEdBQ2xEOztBQWRMLEFBZ0JJLGdCQWhCWSxDQWdCWixrQkFBa0I7QUFmdEIscUJBQXFCLENBZWpCLGtCQUFrQixDQUFDO0VBQ2YsVUFBVSxFQUFFLG1DQUFtQyxHQUNsRDs7QUFsQkwsQUFvQkksZ0JBcEJZLENBb0JaLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxXQUFXLEVBcEJuQyxnQkFBZ0IsRUFvQlAsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBcEJWLDBCQUFnQjtBQUFoQixnQkFBZ0IsRUFvQlAsQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBbkJWLCtCQUFxQixFQURyQixnQkFBZ0IsQ0F6b0JoQixzQkFBYSxDQXVFTCxDQUFDLENBc2xCQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsR0E3cEJWLHNCQUFhLENBeW9CYixnQkFBZ0IsQ0Fsa0JSLENBQUMsQ0FzbEJBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtBQW5CVixxQkFBcUIsQ0FtQmpCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWIsQ0FBYyxXQUFXO0FBbkJuQyxxQkFBcUIsRUFtQlosQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBcEJWLDBCQUFnQjtBQUNoQixxQkFBcUIsRUFtQlosQUFBQSxJQUFDLENBQUssUUFBUSxBQUFiLENBbkJWLCtCQUFxQjtBQUFyQixxQkFBcUIsQ0Exb0JyQixzQkFBYSxDQXVFTCxDQUFDLENBc2xCQSxBQUFBLElBQUMsQ0FBSyxRQUFRLEFBQWI7QUE3cEJWLHNCQUFhLENBMG9CYixxQkFBcUIsQ0Fua0JiLENBQUMsQ0FzbEJBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUEwQjtFQUM1QixVQUFVLEVBQUUsc0JBQXNCO0VBQ2xDLGFBQWEsRUFBRSxpQkFBaUI7RUFDaEMsTUFBTSxFQUFFLHNCQUFzQjtFQUM5QixLQUFLLEVBQUUsa0JBQWtCO0VBQ3pCLFdBQVcsRUFBRSxjQUFjO0VBQzNCLFNBQVMsRUFBRSxnQkFBZ0I7RUFDM0IsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxLQUFLLEVBQUUsZUFBZTtFQUN0QixPQUFPLEVBQUUsZ0JBQWdCO0VBQ3pCLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLE1BQU0sRUFBRSxlQUFlO0VBQ3ZCLFdBQVcsRUFBRSxvQkFBb0I7RUFDakMsY0FBYyxFQUFFLFlBQVksR0FDL0I7O0FBbENMLEFBb0NJLDBCQXBDWTtBQUNoQiwrQkFBcUIsQ0FtQ0w7RUFFUixVQUFVLEVBQUUsOENBQThDLEdBQzdEOztBQXZDTCxBQXlDSSx1QkF6Q1k7QUFDaEIsNEJBQXFCLENBd0NSO0VBQ0wsT0FBTyxFQUFFLElBQUksR0FDaEI7O0FBR0wsQUFBQSxNQUFNLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEVBQWE7RUFDaEIsR0FBRyxFQUFFLEtBQUssR0FDYjs7QUFFRCxBQUFBLFVBQVUsQ0FBQztFQUNQLEtBQUssRUFBRSxJQUFJLEdBQ2Q7O0FBRUQsTUFBTSxtQ0FDRjtFQUFBLEFBQUEsYUFBYSxDQUFDO0lBQ1YsT0FBTyxFQUFFLGdCQUFnQjtJQUN6QixTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCLE1BQU0sRUFBRSxnQkFBZ0IsR0FDM0I7RUFFRCxBQUFBLFFBQVEsQ0FBQztJQUNMLFNBQVMsRUFBRSxnQkFBZ0IsR0FDOUI7RUFFRCxBQUVJLGdCQUZZLENBRVosWUFBWTtFQURoQixxQkFBcUIsQ0FDakIsWUFBWSxDQUFDO0lBQ1QsR0FBRyxFQUFFLElBQUk7SUFDVCxjQUFjLEVBQUUsTUFBTSxHQU16QjtJQVZMLEFBTVEsZ0JBTlEsQ0FFWixZQUFZLENBSVIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYjtJQUxkLHFCQUFxQixDQUNqQixZQUFZLENBSVIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFFBQVEsQUFBYixFQUFlO01BQ2pCLEtBQUssRUFBRSxlQUFlO01BQ3RCLGFBQWEsRUFBRSxlQUFlLEdBQ2pDO0VBR1QsQUFBQSxrQkFBa0IsQ0FBQztJQUNmLHFCQUFxQixFQUFFLFVBQVUsR0FDcEMsRUFwQkE7O0FBdUJMLE1BQU0sbUNBQ0Y7RUFBQSxBQUFBLGFBQWEsQ0FBQztJQUNWLFNBQVMsRUFBRSxnQkFBZ0I7SUFDM0IsTUFBTSxFQUFFLGdCQUFnQixHQUMzQixFQUFBOztBQUdMLE1BQU0sb0JBRUU7RUFESixBQUNJLHFCQURpQixDQUNqQixZQUFZLENBQUM7SUFDVCxPQUFPLEVBQUUsSUFBSTtJQUViLG1CQUFtQixFQUNmLCtMQUl3QjtJQUU1QixrQkFBa0IsRUFBRSxlQUFlO0lBQ25DLHFCQUFxQixFQUFFLFdBQVcsR0FDckMsRUFBQTs7QUd4dkJULEFBQUEsUUFBUSxDQUFDO0VBQ0wsVUFBVSxFQUFFLGtCQUFrQixHQUNqQzs7QUFFRCxBQUNFLGdCQURjLENBQ2QsS0FBSyxFQURQLGdCQUFnQixDQUNQLFFBQVEsRUFEakIsZ0JBQWdCLENBQ0csTUFBTSxDQUFBO0VBQ3JCLFNBQVMsRUFBRSxLQUFLLEdBQ2pCOztBQUdILEFBQUEsY0FBYyxDQUFDO0VBQ1gsT0FBTyxFQUFFLFFBQVEsR0EwQnBCO0VBM0JELEFBRUksb0JBRlUsQ0FFRjtJQUNKLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLEdBQUcsRUFBRSxHQUFHO0lBQ1IsT0FBTyxFQUFFLENBQUM7SUFDVixVQUFVLEVBQUUsTUFBTTtJQUNsQixLQUFLLEVBQUUsSUFBSTtJQUNYLE1BQU0sRUFBRSxPQUFPLEdBTWxCO0lBZEwsQUFVUSxvQkFWTSxDQVVOLElBQUksQ0FBQztNQUNELEtBQUssRXZJa0JILElBQUk7TXVJakJOLFdBQVcsRUFBRSxJQUFJLEdBQ3BCO0VBYlQsQUFlSSxvQkFmVSxDQWVGO0lBQ0osT0FBTyxFQUFFLElBQUksR0FDaEI7RUFqQkwsQUFrQkkseUJBbEJVLENBa0JHO0lBQ1QsUUFBUSxFQUFFLFFBQVE7SUFDbEIsT0FBTyxFQUFFLENBQUM7SUFDVixnQkFBZ0IsRUFBRSx3QkFBeUI7SUFDM0MsS0FBSyxFQUFFLEtBQUs7SUFDWixNQUFNLEVBQUUsS0FBSztJQUNiLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFVBQVUsRUFBRSxJQUFJLEdBQ25COztBQUdMLEFBQUEsaUJBQWlCLENBQUM7RUFDZCxVQUFVLEVBQUUsTUFBTSxHQUNyQjs7QUFFRCxBQUFBLGVBQWUsQ0FBQTtFQUNiLE9BQU8sRUFBRSxJQUFJO0VBQ2IsY0FBYyxFQUFFLEdBQUc7RUFDbkIsV0FBVyxFQUFFLE1BQU07RUFDbkIsZUFBZSxFQUFFLEtBQUs7RUFDdEIsVUFBVSxFQUFFLElBQUk7RUFDaEIsY0FBYyxFQUFFLE1BQU0sR0E2Q3ZCO0VBbkRELEFBUUUsc0JBUmEsQ0FRSjtJQUNMLFFBQVEsRUFBRSxRQUFRLEdBT3JCO0lBaEJILEFBVU0sK0JBVlMsQ0FVRTtNQUNQLGFBQWEsRUFBRyxHQUFHLEdBQ3RCO0lBWlAsQUFhSSxzQkFiVyxDQWFYLEdBQUcsQ0FBQTtNQUNDLFVBQVUsRUFBRSxLQUFLLEdBQ3BCO0VBZkwsQUFrQkUsZUFsQmEsQ0FrQmIsRUFBRSxDQUFBO0lBQ0EsU0FBUyxFQUFFLE9BQU87SUFDbEIsS0FBSyxFdkl3RFMsT0FBTztJdUl2RHJCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFdBQVcsRUFBRSxHQUFHLEdBQ2pCO0VBdkJILEFBd0JFLGVBeEJhLENBd0JiLEVBQUUsQ0FBQTtJQUNBLFNBQVMsRUFBRSxJQUFJO0lBQ2YsS0FBSyxFdkkrQ1csT0FBTztJdUk5Q3ZCLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLE1BQU0sRUFBRSxXQUFXLEdBQ3BCO0VBOUJILEFBK0JFLHFCQS9CYSxDQStCTjtJQUNMLFFBQVEsRUFBRSxRQUFRLEdBaUJuQjtJQWpESCxBQWlDSSxxQkFqQ1csQ0FpQ1gsR0FBRyxDQUFBO01BQUMsT0FBTyxFQUFFLEdBQUcsR0FBRztJQWpDdkIsQUFrQ0ksOEJBbENXLENBa0NBO01BQ1QsUUFBUSxFQUFFLFFBQVE7TUFDbEIsSUFBSSxFQUFFLEdBQUc7TUFDVCxHQUFHLEVBQUUsR0FBRztNQUNSLE9BQU8sRUFBRSxDQUFDO01BQ1YsT0FBTyxFQUFFLENBQUMsR0FRWDtNQS9DTCxBQXdDTSw4QkF4Q1MsQ0F3Q1QsS0FBSyxDQUFBO1FBQUMsT0FBTyxFQUFFLElBQUksR0FBRztNQXhDNUIsQUF5Q00sOEJBekNTLENBeUNULEtBQUssQ0FBQTtRQUNILEtBQUssRXZJMUJXLE9BQU8sR3VJMkJ4QjtNQTNDUCxBQTRDTSw4QkE1Q1MsQ0E0Q1QsSUFBSSxDQUFBO1FBQ0YsT0FBTyxFQUFFLElBQUksR0FDZDs7QUFPUCxBQUFBLGFBQWEsQ0FBQztFQUNaLEtBQUssRUFBRSxJQUFJO0VBQ1gsT0FBTyxFQUFFLE9BQU8sR0FDakI7O0FBRUQsQUFBQSw2QkFBNkIsQ0FBQTtFQUMzQixZQUFZLEVBQUUsT0FBTztFQUNyQixXQUFXLEVBQUUsTUFBTSxHQUNwQjs7QUFFRCxBQUFBLHVCQUF1QixDQUFDO0VBQ3RCLFdBQVcsRUFBRSxHQUFHO0VBQ2hCLFNBQVMsRUFBRSxJQUFJLEdBQ2hCOztBQUVELEFBQUEsYUFBYSxDQUFDO0VBQ1osT0FBTyxFQUFFLElBQUk7RUFDYixxQkFBcUIsRUFBRSxjQUFjO0VBQ3JDLGtCQUFrQixFQUFFLGNBQWM7RUFDbEMsZUFBZSxFQUFFLE1BQU07RUFDdkIsWUFBWSxFQUFFLElBQUksR0FvSG5CO0VBekhELEFBT0UsYUFQVyxDQU9YLElBQUksQ0FBQTtJQUNGLFdBQVcsRUFBRSxXQUFXO0lBQ3hCLFNBQVMsRUFBRSxJQUFJO0lBQ2YsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFdklOVyxPQUFPLEd1SU94QjtFQVpILEFBYUUsbUJBYlcsQ0FhSDtJQUNOLFNBQVMsRUFBRSxhQUFhLEdBRXpCO0VBaEJILEFBaUJFLG9CQWpCVyxDQWlCRjtJQUNQLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBbkJILEFBb0JFLG1CQXBCVyxDQW9CSDtJQUNOLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBdEJILEFBdUJFLG9CQXZCVyxDQXVCRjtJQUNQLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBekJILEFBMkJFLHNCQTNCVyxDQTJCQTtJQUNULFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBN0JILEFBK0JFLHlCQS9CVyxDQStCRztJQUNaLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBakNILEFBbUNFLHlCQW5DVyxDQW1DRztJQUNaLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBckNILEFBdUNFLHdCQXZDVyxDQXVDRTtJQUNYLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBekNILEFBMkNFLGdDQTNDVyxDQTJDVTtJQUNuQixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQTdDSCxBQStDRSx3QkEvQ1csQ0ErQ0U7SUFDWCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQWpESCxBQW1ERSwyQkFuRFcsQ0FtREs7SUFDZCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXJESCxBQXVERSxpQ0F2RFcsQ0F1RFc7SUFDcEIsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUF6REgsQUEyREUseUNBM0RXLENBMkRrQjtJQUMzQixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQTdESCxBQStERSx3QkEvRFcsQ0ErREU7SUFDWCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQWpFSCxBQWtFRSxvQkFsRVcsQ0FrRUY7SUFDUCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXBFSCxBQXNFRSxnQ0F0RVcsQ0FzRVU7SUFDbkIsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUF4RUgsQUEwRUUsK0JBMUVXLENBMEVTO0lBQ2xCLFNBQVMsRUFBRSxhQUFhLEdBRXpCO0lBN0VILEFBNEVJLCtCQTVFUyxDQTRFVCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssVUFBVSxBQUFmLEVBQWlCO01BQUMsTUFBTSxFQUFFLGtCQUFrQixHQUFHO0VBNUV6RCxBQStFRSwyQkEvRVcsQ0ErRUs7SUFDZCxTQUFTLEVBQUUsYUFBYSxHQUV6QjtJQWxGSCxBQWlGSSwyQkFqRlMsQ0FpRlQsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtNQUFDLE1BQU0sRUFBRSxrQkFBa0IsR0FBRztFQWpGekQsQUFvRkUsK0JBcEZXLENBb0ZTO0lBQ2xCLFNBQVMsRUFBRSxDQUFDLEdBQ2I7RUF0RkgsQUF3RkUsbUJBeEZXLENBd0ZIO0lBQ04sU0FBUyxFQUFFLENBQUM7SUFDWixXQUFXLEVBQUUsTUFBTTtJQUNuQixPQUFPLEVBQUUsSUFBSSxHQUtkO0lBaEdILEFBNEZJLG1CQTVGUyxDQTRGVCxLQUFLLENBQUM7TUFDSixNQUFNLEVBQUUsQ0FBQztNQUNULEtBQUssRUFBRSxXQUFXLEdBQ25CO0VBL0ZMLEFBa0dFLG1CQWxHVyxDQWtHSDtJQUNOLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBcEdILEFBc0dFLGFBdEdXLENBc0dYLE1BQU0sRUF0R1IsYUFBYSxDQXNHSCxRQUFRLENBQUE7SUFDZCxhQUFhLEVBQUUsb0JBQW9CLEdBQ3BDO0VBeEdILEFBMEdFLHNCQTFHVyxDQTBHRDtJQUNSLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLEdBQUc7SUFDbkIsV0FBVyxFQUFFLEdBQUc7SUFDaEIsZUFBZSxFQUFFLEdBQUc7SUFDcEIsVUFBVSxFQUFFLElBQUksR0FRakI7SUF2SEgsQUFnSEksc0JBaEhTLENBZ0hULEtBQUssRUFoSFQsc0JBQWEsQ0FnSEYsQ0FBQyxDQUFDO01BQ1AsTUFBTSxFQUFFLGVBQWU7TUFDdkIsYUFBYSxFQUFFLG9CQUFvQixHQUNwQztJQW5ITCxBQW9ISSxzQkFwSFMsQ0FvSFQsQ0FBQyxDQUFDO01BQ0EsZ0JBQWdCLEV2STdHSixPQUFPLEN1STZHZ0IsVUFBVSxHQUM5Qzs7QUFNTCxNQUFNLG1CQUVKO0VBQUEsQUFBQSxlQUFlLENBQUM7SUFDZCxPQUFPLEVBQUUsV0FBVyxHQUNyQjtFQUVELEFBQUEsYUFBYSxDQUFDO0lBQ1osT0FBTyxFQUFFLFFBQVEsR0FDbEI7RUFFRCxBQUFBLGVBQWUsQ0FBQTtJQUNiLGNBQWMsRUFBRSxNQUFNLEdBQ3ZCO0VBRUQsQUFBQSw2QkFBNkIsQ0FBQztJQUMxQixXQUFXLEVBQUUsTUFBTSxHQUN0QjtFQUVELEFBQUEsYUFBYSxDQUFBO0lBQ1gsT0FBTyxFQUFFLElBQUk7SUFDYixjQUFjLEVBQUUsTUFBTTtJQUN0QixTQUFTLEVBQUUsSUFBSSxHQVNoQjtJQVpELEFBSUUsc0JBSlcsQ0FJRDtNQUNSLGNBQWMsRUFBRSxNQUFNO01BQ3RCLFdBQVcsRUFBRSxNQUFNLEdBQ3BCO0lBUEgsQUFTRSxtQkFUVyxDQVNIO01BQ04sZUFBZSxFQUFFLE1BQU0sR0FDeEI7RUFHSCxBQUFBLGVBQWUsQ0FBQTtJQUNiLGNBQWMsRUFBRSxNQUFNLEdBU3ZCO0lBVkQsQUFFRSxxQkFGYSxDQUVOO01BQ0wsT0FBTyxFQUFFLElBQUk7TUFDYixjQUFjLEVBQUUsTUFBTTtNQUN0QixXQUFXLEVBQUUsTUFBTSxHQUNwQjtJQU5ILEFBT0UsZUFQYSxDQU9iLEVBQUUsQ0FBQTtNQUNBLFVBQVUsRUFBRSxNQUFNLEdBQ25CLEVBckNGOztBRDdPSCxBQUFBLGFBQWEsQ0FBQztFQUNWLGtCQUFrQixFQUFFLGNBQWMsQ0FBQyxVQUFVLEdBQ2hEOztBQUVELEFBQUEsMkJBQTJCLENBQUM7RUFDeEIsU0FBUyxFQUFFLHdCQUF3QixHQUN0Qzs7QUFFRCxBQUFBLEtBQUssQ0FBQSxBQUFBLFFBQUMsQUFBQSxFQUFVO0VBQ1osWUFBWSxFdElETSxPQUFPLEdzSUU1Qjs7QUVaRCxxQkFBcUI7QUFFckIsQUFBQSxjQUFjLENBQUM7RUFDWCxnQkFBZ0IsRUFBRSxPQUFPLEdBQzVCOztBQUVELEFBQ0ksaUJBRGEsQ0FBQyx1QkFBdUIsQ0FBQyxvQkFBb0IsQ0FDMUQsQ0FBQyxDQUFDO0VBQ0UsS0FBSyxFeElHVSxPQUFPLEd3SUZ6Qjs7QUFHTCxBQUNJLGlCQURhLENBQUMsdUJBQXVCLENBQUMsNkJBQW9CLENBQy9DO0VBQ1AsT0FBTyxFQUFFLElBQUk7RUFDYixjQUFjLEVBQUUsTUFBTTtFQUN0QixnQkFBZ0IsRXhJTEQsT0FBTztFd0lNdEIsS0FBSyxFeElISSxJQUFJLEd3SUloQjs7QUFOTCxBQU9JLGlCQVBhLENBQUMsdUJBQXVCLENBQUMsOEJBQW9CLENBTzlDO0VBQ1IsYUFBYSxFQUFFLFNBQVMsQ0FBQyxLQUFLLEN4SVRmLE9BQU8sR3dJVXpCOztBQUdMLEFBQUEsaUJBQWlCLENBQUMsdUJBQXVCLENBQUMsWUFBWSxDQUFDO0VBQ25ELGdCQUFnQixFQUFFLE9BQU87RUFDekIsTUFBTSxFQUFFLGlCQUFpQixHQU01QjtFQVJELEFBSUksaUJBSmEsQ0FBQyx1QkFBdUIsQ0FBQyxtQkFBWSxFQUF0RCxpQkFBaUIsQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBWSxDQUsxQztJQUNKLEtBQUssRXhJaEJJLElBQUksR3dJaUJoQjs7QUFHTCxBQUFBLGlCQUFpQixDQUFDLHVCQUF1QixDQUFDLGVBQWUsQ0FBQztFQUN0RCxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLGdCQUFnQixFQUFFLE9BQU8sR0FXNUI7RUFiRCxBQUlJLGlCQUphLENBQUMsdUJBQXVCLENBQUMsc0JBQWUsQ0FJNUM7SUFDTCxLQUFLLEV4SXpCSSxJQUFJLEd3STBCaEI7RUFOTCxBQVFJLGlCQVJhLENBQUMsdUJBQXVCLENBQUMscUJBQWUsQ0FRN0M7SUFDSixnQkFBZ0IsRXhJaENELE9BQU87SXdJaUN0QixLQUFLLEV4STlCSSxJQUFJO0l3SStCYixNQUFNLEVBQUUsR0FBRyxDQUFDLEtBQUssQ3hJbENGLE9BQU8sR3dJbUN6Qjs7QUFFTCxBQUFBLGVBQWUsQ0FBQTtFQUNYLFFBQVEsRUFBRSxRQUFRLEdBYXJCO0VBZEQsQUFFSSxlQUZXLEdBRVQsT0FBTyxFQUZiLGVBQWUsR1pFZixlQUFlLENZQUY7SUFDTCxPQUFPLEVBQUUsS0FBSztJQUNkLFVBQVUsRUFBRSxNQUFNO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsSUFBSTtJQUNaLFFBQVEsRUFBRSxRQUFRO0lBQ2xCLElBQUksRUFBRSxHQUFHO0lBQ1QsR0FBRyxFQUFFLEdBQUc7SUFDUixVQUFVLEVBQUUsa0NBQWtDO0lBQzlDLE9BQU8sRUFBRSxJQUFJLEdBQ2hCOztBQUdMLEFBQUEsb0JBQW9CLENBQUM7RUFrQmpCLFFBQVEsRUFBQyxRQUFRLEdBRXBCO0VBcEJELEFBQ0ksb0JBRGdCLENBQ2hCLGNBQWMsQ0FBQTtJQUNWLFVBQVUsRUFBRSxrQ0FBa0M7SUFDOUMsVUFBVSxFQUFFLE9BQU87SUFDbkIsT0FBTyxFQUFFLENBQUM7SUFDVixNQUFNLEVBQUUsaUJBQWlCO0lBQ3pCLGFBQWEsRUFBRSxTQUFTO0lBQ3hCLEtBQUssRUFBRSxPQUFPO0lBQ2QsZ0JBQWdCLEVBQUUsS0FBSztJQUN2QixXQUFXLEVBQUUsSUFBSTtJQUNqQixjQUFjLEVBQUUsVUFBVTtJQUMxQixPQUFPLEVBQUUsUUFBUTtJQUNqQixZQUFZLEVBQUUsU0FBUztJQUN2QixjQUFjLEVBQUUsU0FBUztJQUN6QixNQUFNLEVBQUUsT0FBTztJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFNBQVMsRUFBRSxJQUFJLEdBQ2xCOztBQ2pGTCxBQUNJLDRCQURXLENBQ0k7RUFDWCxPQUFPLEVBQUUsSUFBSTtFQUNiLEdBQUcsRUFBRSxNQUFNLEdBQ2Q7O0FBSkwsQUFLSSxlQUxXLENBS1gsdUJBQXVCLENBQUE7RUFDbkIsYUFBYSxFQUFFLENBQUM7RUFDaEIsWUFBWSxFQUFFLElBQUksR0FtQnJCO0VBMUJMLEFBUVEsZUFSTyxDQUtYLHVCQUF1QixDQUdqQixLQUFLLEVBUmYsZUFBZSxDQUtYLHVCQUF1QixDQUdSLEtBQUssRUFSeEIsZUFBZSxDQUtYLHVCQUF1QixDQUdDLE1BQU0sQ0FBQztJQUN2QixnQkFBZ0IsRUFBQyxXQUFXO0lBQzVCLFlBQVksRUFBRSxHQUFHLEdBQ3BCO0VBWFQsQUFZUSxlQVpPLENBS1gsdUJBQXVCLENBT25CLE1BQU0sQ0FBQTtJQUNGLEtBQUssRUFBQyxPQUFPO0lBQ2IsTUFBTSxFQUFFLENBQUM7SUFDVCxTQUFTLEVBQUUsQ0FBQztJQUNaLE9BQU8sRUFBRSxPQUFPO0lBQ2hCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLFlBQVksRUFBRSxHQUFHLEdBTXBCO0lBekJULEFBb0JZLGVBcEJHLENBS1gsdUJBQXVCLENBT25CLE1BQU0sQ0FRQSxLQUFLLEVBcEJuQixlQUFlLENBS1gsdUJBQXVCLENBT25CLE1BQU0sQ0FRUyxLQUFLLEVBcEI1QixlQUFlLENBS1gsdUJBQXVCLENBT25CLE1BQU0sQ0FRa0IsTUFBTSxDQUFDO01BQ3ZCLGdCQUFnQixFQUFDLFdBQVc7TUFDNUIsWUFBWSxFQUFFLEdBQUc7TUFDakIsVUFBVSxFQUFFLElBQUksR0FDbkI7O0FBeEJiLEFBMkJJLGVBM0JXLENBMkJYLFVBQVUsQ0FBQztFQUNQLFdBQVcsRUFBQyxNQUFNO0VBQ2xCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLFNBQVMsRUFBRSxJQUFJLEdBU2xCO0VBdkNMLEFBZ0NRLGVBaENPLENBMkJYLFVBQVUsQ0FLTixDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUMsQ0FBQztJQUNSLEtBQUssRUFBRSxTQUFTO0lBQ2hCLFdBQVcsRUFBRSxxQkFBcUIsR0FHckM7SUF0Q1QsQUFxQ1ksZUFyQ0csQ0EyQlgsVUFBVSxDQUtOLENBQUMsQ0FLRyxJQUFJLENBQUM7TUFBQyxjQUFjLEVBQUUsU0FBUyxHQUFHOztBQUs5QyxNQUFNLG1CQUVFO0VBREosQUFDSSxlQURXLENBQ1gsVUFBVSxDQUFDO0lBQ1AsT0FBTyxFQUFFLElBQUksR0FDaEIsRUFBQTs7QUM5Q1QsQUFBQSxxQkFBcUIsQ0FBQztFQUNsQixTQUFTLEVBQUUsTUFBTTtFQUNqQixNQUFNLEVBQUUsSUFBSTtFQUNaLFVBQVUsRUFBRSxtQ0FBbUM7RUFDL0MsVUFBVSxFQUFFLHVCQUF1QjtFQUNuQyxNQUFNLEVBQUUsaUJBQWlCO0VBQ3pCLE9BQU8sRUFBRSxJQUFJLEdBb0poQjtFQTFKRCxBQVFJLHFCQVJpQixDQVFqQixZQUFZLENBQUM7SUFNVCxPQUFPLEVBQUUsSUFBSTtJQUViLGtCQUFrQixFQUFFLGNBQWM7SUFDbEMscUJBQXFCLEVBQUUsZUFBZSxHQXdJekM7SUF6SkwsQUFTUSxxQkFUYSxDQVFqQixZQUFZLEdBQ0osQ0FBQyxDQUFDO01BQ0YsV0FBVyxFQUFFLG9CQUFvQjtNQUNqQyxjQUFjLEVBQUUsR0FBRyxHQUN0QjtJQVpULEFBbUJRLHFCQW5CYSxDQVFqQixvQkFBWSxDQVdFO01BQ04sUUFBUSxFQUFFLENBQUM7TUFDWCxXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQXRCVCxBQXdCUSxxQkF4QmEsQ0FRakIsbUJBQVksQ0FnQkM7TUFDTCxRQUFRLEVBQUUsQ0FBQztNQUNYLFdBQVcsRUFBRSxHQUFHLEdBQ25CO0lBM0JULEFBNkJRLHFCQTdCYSxDQVFqQixZQUFZLENBcUJSLGlCQUFpQixDQUFDO01BQ2QsUUFBUSxFQUFFLENBQUM7TUFDWCxXQUFXLEVBQUUsS0FBSztNQUNsQixhQUFhLEVBQUUsSUFBSTtNQUNuQixVQUFVLEVBQUUsSUFBSSxHQUluQjtNQXJDVCxBQWtDWSxxQkFsQ1MsQ0FRakIsWUFBWSxDQXFCUixpQkFBaUIsQ0FLYixJQUFJLENBQUM7UUFDRCxLQUFLLEUxSTFCQSxPQUFPLEMwSTBCZSxVQUFVLEdBQ3hDO0lBcENiLEFBMENZLHFCQTFDUyxDQVFqQixvQkFBWSxDQWtDRixLQUFLLEVBQUUsS0FBSyxFQTFDMUIscUJBQXFCLENBUWpCLGtCQUFZLENBa0NGLEtBQUssRUFBRSxLQUFLLEVBMUMxQixxQkFBcUIsQ0FRakIseUJBQVksQ0FrQ0YsS0FBSyxFQUFFLEtBQUssQ0FBQztNQUNYLE9BQU8sRUFBRSxHQUFHLEdBQ2Y7SUE1Q2IsQUErQ1EscUJBL0NhLENBUWpCLG9CQUFZLENBdUNFO01BQ04sUUFBUSxFQUFFLENBQUM7TUFDWCxXQUFXLEVBQUUsQ0FBQyxHQUNqQjtJQWxEVCxBQW9EUSxxQkFwRGEsQ0FRakIsa0JBQVksQ0E0Q0E7TUFDSixRQUFRLEVBQUUsQ0FBQztNQUNYLFdBQVcsRUFBRSxLQUFLLEdBQ3JCO0lBdkRULEFBeURRLHFCQXpEYSxDQVFqQix5QkFBWSxDQWlETztNQUNYLFFBQVEsRUFBRSxDQUFDO01BQ1gsV0FBVyxFQUFFLEtBQUssR0FDckI7SUE1RFQsQUE4RFEscUJBOURhLENBUWpCLFlBQVksQ0FzRFIsS0FBSyxDQUFDO01BQ0YsY0FBYyxFQUFFLE9BQU87TUFDdkIsYUFBYSxFQUFFLEtBQUs7TUFDcEIsU0FBUyxFQUFFLEtBQUssR0FLbkI7TUF0RVQsQUFtRVkscUJBbkVTLENBUWpCLFlBQVksQ0FzRFIsS0FBSyxDQUtELEtBQUssQ0FBQztRQUNGLGNBQWMsRUFBRSxHQUFHLEdBQ3RCO0lBckViLEFBd0VZLHFCQXhFUyxDQVFqQiwyQkFBWSxDQWdFTTtNQUNOLFNBQVMsRUFBRSxnQkFBZ0I7TUFDM0IsV0FBVyxFQUFFLElBQUksR0FDcEI7SUEzRWIsQUE4RVEscUJBOUVhLENBUWpCLFlBQVksQ0FzRVIsZUFBZSxDQUFDO01BQ1osS0FBSyxFQUFFLEdBQUc7TUFDVixVQUFVLEVBQUUsQ0FBQztNQUNiLFVBQVUsRUFBRSxtQ0FBbUM7TUFDL0MsTUFBTSxFQUFFLHNCQUFzQjtNQUM5QixhQUFhLEVBQUUsZUFBZTtNQUM5QixLQUFLLEVBQUUsT0FBTyxHQUNqQjtJQXJGVCxBQXlGUSxxQkF6RmEsQ0FRakIsWUFBWSxDQWlGUixpQkFBaUIsQ0FBQyxFQUFFLEFBQUEsT0FBTyxDQUFDO01BQ3hCLFVBQVUsRTFJakZELE9BQU8sQzBJaUZnQixVQUFVLEdBSTdDO01BOUZULEFBMkZZLHFCQTNGUyxDQVFqQixZQUFZLENBaUZSLGlCQUFpQixDQUFDLEVBQUUsQUFBQSxPQUFPLENBRXZCLEtBQUssQ0FBQztRQUNGLEtBQUssRTFJbERQLEtBQUssQzBJa0RpQixVQUFVLEdBQ2pDO0lBN0ZiLEFBZ0dRLHFCQWhHYSxDQVFqQixZQUFZLENBd0ZSLGlCQUFpQixDQUFDO01BQ2QsZUFBZSxFQUFFLElBQUk7TUFDckIsYUFBYSxFQUFFLElBQUk7TUFDbkIsT0FBTyxFQUFFLElBQUksR0EwQmhCO01BN0hULEFBcUdZLHFCQXJHUyxDQVFqQixZQUFZLENBd0ZSLGlCQUFpQixDQUtiLEVBQUUsQ0FBQztRQUNDLEtBQUssRUFBRSxJQUFJO1FBQ1gsTUFBTSxFQUFFLFVBQVU7UUFDbEIsS0FBSyxFQUFFLElBQUk7UUFDWCxNQUFNLEVBQUUsSUFBSTtRQUNaLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLFVBQVUsRUFBRSxtQ0FBbUM7UUFDL0MsVUFBVSxFQUFFLHFCQUFxQjtRQUNqQyxhQUFhLEVBQUUsSUFBSTtRQUNuQixNQUFNLEVBQUUsT0FBTyxHQUNsQjtNQS9HYixBQWlIWSxxQkFqSFMsQ0FRakIsWUFBWSxDQXdGUixpQkFBaUIsQ0FpQmIsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE9BQU8sQUFBWixFQUFjO1FBQ2hCLE1BQU0sRUFBRSxPQUFPLEdBQ2xCO01BbkhiLEFBcUhZLHFCQXJIUyxDQVFqQixZQUFZLENBd0ZSLGlCQUFpQixDQXFCYixLQUFLLENBQUM7UUFDRixPQUFPLEVBQUUsZ0JBQWdCO1FBQ3pCLE1BQU0sRUFBRSxPQUFPO1FBQ2YsT0FBTyxFQUFFLEVBQUU7UUFDWCxXQUFXLEVBQUUsbUJBQW1CO1FBQ2hDLFdBQVcsRUFBRSxJQUFJO1FBQ2pCLFNBQVMsRUFBRSxHQUFHLEdBQ2pCO0lBNUhiLEFBK0hRLHFCQS9IYSxDQVFqQixZQUFZLENBdUhSLE1BQU0sQ0FBQztNQUNILFVBQVUsRUFBRSxtQ0FBbUM7TUFDL0MsVUFBVSxFQUFFLHFCQUFxQjtNQUNqQyxNQUFNLEVBQUUsV0FBVztNQUNuQixhQUFhLEVBQUUsSUFBSTtNQUNuQixLQUFLLEVBQUUsS0FBSztNQUNaLEtBQUssRUFBRSxXQUFXO01BQ2xCLFVBQVUsRUFBRSxDQUFDO01BQ2IsT0FBTyxFQUFFLFVBQVU7TUFDbkIsVUFBVSxFQUFFLFdBQVcsR0FDMUI7SUFFRCxNQUFNLG1CQW5JVjtNQVJKLEFBUUkscUJBUmlCLENBUWpCLFlBQVksQ0FBQztRQW9JTCxxQkFBcUIsRUFBRSxJQUFJO1FBQzNCLGtCQUFrQixFQUFFLElBQUksR0FZL0I7UUF6SkwsQUErSVkscUJBL0lTLENBUWpCLG9CQUFZLEVBUmhCLHFCQUFxQixDQVFqQixtQkFBWSxFQVJoQixxQkFBcUIsQ0FRakIsb0JBQVksRUFSaEIscUJBQXFCLENBUWpCLGtCQUFZLEVBUmhCLHFCQUFxQixDQVFqQix5QkFBWTtRQVJoQixxQkFBcUIsQ0FRakIsWUFBWSxDQTRJSixpQkFBaUIsQ0FBQztVQUNkLFdBQVcsRUFBRSxDQUFDO1VBQ2QsUUFBUSxFQUFFLEtBQUssR0FDbEIsRUFFUjtBQUdMLE1BQU0sbUJBQ0Y7RUFBQSxBQUFBLHFCQUFxQixDQUFDO0lBQ2xCLEtBQUssRUFBRSxHQUFHO0lBQ1YsVUFBVSxFQUFFLG1DQUFtQztJQUMvQyxVQUFVLEVBQUUsdUJBQXVCO0lBQ25DLE1BQU0sRUFBRSxpQkFBaUI7SUFDekIsT0FBTyxFQUFFLElBQUksR0FDaEIsRUFBQTs7QUFHTCxNQUFNLG1CQUVFO0VBREosQUFDSSxlQURXLENBQ1gsRUFBRSxDQUFDO0lBQ0MsYUFBYSxFQUFFLG1CQUFtQixHQUNyQyxFQUFBOztBSDFLVCxBQUFBLFFBQVEsQ0FBQztFQUNMLFVBQVUsRUFBRSxrQkFBa0IsR0FDakM7O0FBRUQsQUFDRSxnQkFEYyxDQUNkLEtBQUssRUFEUCxnQkFBZ0IsQ0FDUCxRQUFRLEVBRGpCLGdCQUFnQixDQUNHLE1BQU0sQ0FBQTtFQUNyQixTQUFTLEVBQUUsS0FBSyxHQUNqQjs7QUFHSCxBQUFBLGNBQWMsQ0FBQztFQUNYLE9BQU8sRUFBRSxRQUFRLEdBMEJwQjtFQTNCRCxBQUVJLG9CQUZVLENBRUY7SUFDSixRQUFRLEVBQUUsUUFBUTtJQUNsQixHQUFHLEVBQUUsR0FBRztJQUNSLE9BQU8sRUFBRSxDQUFDO0lBQ1YsVUFBVSxFQUFFLE1BQU07SUFDbEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsT0FBTyxHQU1sQjtJQWRMLEFBVVEsb0JBVk0sQ0FVTixJQUFJLENBQUM7TUFDRCxLQUFLLEV2SWtCSCxJQUFJO011SWpCTixXQUFXLEVBQUUsSUFBSSxHQUNwQjtFQWJULEFBZUksb0JBZlUsQ0FlRjtJQUNKLE9BQU8sRUFBRSxJQUFJLEdBQ2hCO0VBakJMLEFBa0JJLHlCQWxCVSxDQWtCRztJQUNULFFBQVEsRUFBRSxRQUFRO0lBQ2xCLE9BQU8sRUFBRSxDQUFDO0lBQ1YsZ0JBQWdCLEVBQUUsd0JBQXlCO0lBQzNDLEtBQUssRUFBRSxLQUFLO0lBQ1osTUFBTSxFQUFFLEtBQUs7SUFDYixhQUFhLEVBQUUsR0FBRztJQUNsQixVQUFVLEVBQUUsSUFBSSxHQUNuQjs7QUFHTCxBQUFBLGlCQUFpQixDQUFDO0VBQ2QsVUFBVSxFQUFFLE1BQU0sR0FDckI7O0FBRUQsQUFBQSxlQUFlLENBQUE7RUFDYixPQUFPLEVBQUUsSUFBSTtFQUNiLGNBQWMsRUFBRSxHQUFHO0VBQ25CLFdBQVcsRUFBRSxNQUFNO0VBQ25CLGVBQWUsRUFBRSxLQUFLO0VBQ3RCLFVBQVUsRUFBRSxJQUFJO0VBQ2hCLGNBQWMsRUFBRSxNQUFNLEdBNkN2QjtFQW5ERCxBQVFFLHNCQVJhLENBUUo7SUFDTCxRQUFRLEVBQUUsUUFBUSxHQU9yQjtJQWhCSCxBQVVNLCtCQVZTLENBVUU7TUFDUCxhQUFhLEVBQUcsR0FBRyxHQUN0QjtJQVpQLEFBYUksc0JBYlcsQ0FhWCxHQUFHLENBQUE7TUFDQyxVQUFVLEVBQUUsS0FBSyxHQUNwQjtFQWZMLEFBa0JFLGVBbEJhLENBa0JiLEVBQUUsQ0FBQTtJQUNBLFNBQVMsRUFBRSxPQUFPO0lBQ2xCLEtBQUssRXZJd0RTLE9BQU87SXVJdkRyQixXQUFXLEVBQUUsV0FBVztJQUN4QixXQUFXLEVBQUUsR0FBRyxHQUNqQjtFQXZCSCxBQXdCRSxlQXhCYSxDQXdCYixFQUFFLENBQUE7SUFDQSxTQUFTLEVBQUUsSUFBSTtJQUNmLEtBQUssRXZJK0NXLE9BQU87SXVJOUN2QixXQUFXLEVBQUUsV0FBVztJQUN4QixXQUFXLEVBQUUsR0FBRztJQUNoQixNQUFNLEVBQUUsV0FBVyxHQUNwQjtFQTlCSCxBQStCRSxxQkEvQmEsQ0ErQk47SUFDTCxRQUFRLEVBQUUsUUFBUSxHQWlCbkI7SUFqREgsQUFpQ0kscUJBakNXLENBaUNYLEdBQUcsQ0FBQTtNQUFDLE9BQU8sRUFBRSxHQUFHLEdBQUc7SUFqQ3ZCLEFBa0NJLDhCQWxDVyxDQWtDQTtNQUNULFFBQVEsRUFBRSxRQUFRO01BQ2xCLElBQUksRUFBRSxHQUFHO01BQ1QsR0FBRyxFQUFFLEdBQUc7TUFDUixPQUFPLEVBQUUsQ0FBQztNQUNWLE9BQU8sRUFBRSxDQUFDLEdBUVg7TUEvQ0wsQUF3Q00sOEJBeENTLENBd0NULEtBQUssQ0FBQTtRQUFDLE9BQU8sRUFBRSxJQUFJLEdBQUc7TUF4QzVCLEFBeUNNLDhCQXpDUyxDQXlDVCxLQUFLLENBQUE7UUFDSCxLQUFLLEV2STFCVyxPQUFPLEd1STJCeEI7TUEzQ1AsQUE0Q00sOEJBNUNTLENBNENULElBQUksQ0FBQTtRQUNGLE9BQU8sRUFBRSxJQUFJLEdBQ2Q7O0FBT1AsQUFBQSxhQUFhLENBQUM7RUFDWixLQUFLLEVBQUUsSUFBSTtFQUNYLE9BQU8sRUFBRSxPQUFPLEdBQ2pCOztBQUVELEFBQUEsNkJBQTZCLENBQUE7RUFDM0IsWUFBWSxFQUFFLE9BQU87RUFDckIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7O0FBRUQsQUFBQSx1QkFBdUIsQ0FBQztFQUN0QixXQUFXLEVBQUUsR0FBRztFQUNoQixTQUFTLEVBQUUsSUFBSSxHQUNoQjs7QUFFRCxBQUFBLGFBQWEsQ0FBQztFQUNaLE9BQU8sRUFBRSxJQUFJO0VBQ2IscUJBQXFCLEVBQUUsY0FBYztFQUNyQyxrQkFBa0IsRUFBRSxjQUFjO0VBQ2xDLGVBQWUsRUFBRSxNQUFNO0VBQ3ZCLFlBQVksRUFBRSxJQUFJLEdBb0huQjtFQXpIRCxBQU9FLGFBUFcsQ0FPWCxJQUFJLENBQUE7SUFDRixXQUFXLEVBQUUsV0FBVztJQUN4QixTQUFTLEVBQUUsSUFBSTtJQUNmLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLEtBQUssRXZJTlcsT0FBTyxHdUlPeEI7RUFaSCxBQWFFLG1CQWJXLENBYUg7SUFDTixTQUFTLEVBQUUsYUFBYSxHQUV6QjtFQWhCSCxBQWlCRSxvQkFqQlcsQ0FpQkY7SUFDUCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQW5CSCxBQW9CRSxtQkFwQlcsQ0FvQkg7SUFDTixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXRCSCxBQXVCRSxvQkF2QlcsQ0F1QkY7SUFDUCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXpCSCxBQTJCRSxzQkEzQlcsQ0EyQkE7SUFDVCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQTdCSCxBQStCRSx5QkEvQlcsQ0ErQkc7SUFDWixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQWpDSCxBQW1DRSx5QkFuQ1csQ0FtQ0c7SUFDWixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXJDSCxBQXVDRSx3QkF2Q1csQ0F1Q0U7SUFDWCxTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXpDSCxBQTJDRSxnQ0EzQ1csQ0EyQ1U7SUFDbkIsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUE3Q0gsQUErQ0Usd0JBL0NXLENBK0NFO0lBQ1gsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUFqREgsQUFtREUsMkJBbkRXLENBbURLO0lBQ2QsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUFyREgsQUF1REUsaUNBdkRXLENBdURXO0lBQ3BCLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBekRILEFBMkRFLHlDQTNEVyxDQTJEa0I7SUFDM0IsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUE3REgsQUErREUsd0JBL0RXLENBK0RFO0lBQ1gsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUFqRUgsQUFrRUUsb0JBbEVXLENBa0VGO0lBQ1AsU0FBUyxFQUFFLGFBQWEsR0FDekI7RUFwRUgsQUFzRUUsZ0NBdEVXLENBc0VVO0lBQ25CLFNBQVMsRUFBRSxhQUFhLEdBQ3pCO0VBeEVILEFBMEVFLCtCQTFFVyxDQTBFUztJQUNsQixTQUFTLEVBQUUsYUFBYSxHQUV6QjtJQTdFSCxBQTRFSSwrQkE1RVMsQ0E0RVQsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLFVBQVUsQUFBZixFQUFpQjtNQUFDLE1BQU0sRUFBRSxrQkFBa0IsR0FBRztFQTVFekQsQUErRUUsMkJBL0VXLENBK0VLO0lBQ2QsU0FBUyxFQUFFLGFBQWEsR0FFekI7SUFsRkgsQUFpRkksMkJBakZTLENBaUZULEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxVQUFVLEFBQWYsRUFBaUI7TUFBQyxNQUFNLEVBQUUsa0JBQWtCLEdBQUc7RUFqRnpELEFBb0ZFLCtCQXBGVyxDQW9GUztJQUNsQixTQUFTLEVBQUUsQ0FBQyxHQUNiO0VBdEZILEFBd0ZFLG1CQXhGVyxDQXdGSDtJQUNOLFNBQVMsRUFBRSxDQUFDO0lBQ1osV0FBVyxFQUFFLE1BQU07SUFDbkIsT0FBTyxFQUFFLElBQUksR0FLZDtJQWhHSCxBQTRGSSxtQkE1RlMsQ0E0RlQsS0FBSyxDQUFDO01BQ0osTUFBTSxFQUFFLENBQUM7TUFDVCxLQUFLLEVBQUUsV0FBVyxHQUNuQjtFQS9GTCxBQWtHRSxtQkFsR1csQ0FrR0g7SUFDTixTQUFTLEVBQUUsYUFBYSxHQUN6QjtFQXBHSCxBQXNHRSxhQXRHVyxDQXNHWCxNQUFNLEVBdEdSLGFBQWEsQ0FzR0gsUUFBUSxDQUFBO0lBQ2QsYUFBYSxFQUFFLG9CQUFvQixHQUNwQztFQXhHSCxBQTBHRSxzQkExR1csQ0EwR0Q7SUFDUixPQUFPLEVBQUUsSUFBSTtJQUNiLGNBQWMsRUFBRSxHQUFHO0lBQ25CLFdBQVcsRUFBRSxHQUFHO0lBQ2hCLGVBQWUsRUFBRSxHQUFHO0lBQ3BCLFVBQVUsRUFBRSxJQUFJLEdBUWpCO0lBdkhILEFBZ0hJLHNCQWhIUyxDQWdIVCxLQUFLLEVBaEhULHNCQUFhLENBZ0hGLENBQUMsQ0FBQztNQUNQLE1BQU0sRUFBRSxlQUFlO01BQ3ZCLGFBQWEsRUFBRSxvQkFBb0IsR0FDcEM7SUFuSEwsQUFvSEksc0JBcEhTLENBb0hULENBQUMsQ0FBQztNQUNBLGdCQUFnQixFdkk3R0osT0FBTyxDdUk2R2dCLFVBQVUsR0FDOUM7O0FBTUwsTUFBTSxtQkFFSjtFQUFBLEFBQUEsZUFBZSxDQUFDO0lBQ2QsT0FBTyxFQUFFLFdBQVcsR0FDckI7RUFFRCxBQUFBLGFBQWEsQ0FBQztJQUNaLE9BQU8sRUFBRSxRQUFRLEdBQ2xCO0VBRUQsQUFBQSxlQUFlLENBQUE7SUFDYixjQUFjLEVBQUUsTUFBTSxHQUN2QjtFQUVELEFBQUEsNkJBQTZCLENBQUM7SUFDMUIsV0FBVyxFQUFFLE1BQU0sR0FDdEI7RUFFRCxBQUFBLGFBQWEsQ0FBQTtJQUNYLE9BQU8sRUFBRSxJQUFJO0lBQ2IsY0FBYyxFQUFFLE1BQU07SUFDdEIsU0FBUyxFQUFFLElBQUksR0FTaEI7SUFaRCxBQUlFLHNCQUpXLENBSUQ7TUFDUixjQUFjLEVBQUUsTUFBTTtNQUN0QixXQUFXLEVBQUUsTUFBTSxHQUNwQjtJQVBILEFBU0UsbUJBVFcsQ0FTSDtNQUNOLGVBQWUsRUFBRSxNQUFNLEdBQ3hCO0VBR0gsQUFBQSxlQUFlLENBQUE7SUFDYixjQUFjLEVBQUUsTUFBTSxHQVN2QjtJQVZELEFBRUUscUJBRmEsQ0FFTjtNQUNMLE9BQU8sRUFBRSxJQUFJO01BQ2IsY0FBYyxFQUFFLE1BQU07TUFDdEIsV0FBVyxFQUFFLE1BQU0sR0FDcEI7SUFOSCxBQU9FLGVBUGEsQ0FPYixFQUFFLENBQUE7TUFDQSxVQUFVLEVBQUUsTUFBTSxHQUNuQixFQXJDRjs7QUQ3T0gsQUFBQSxhQUFhLENBQUM7RUFDVixrQkFBa0IsRUFBRSxjQUFjLENBQUMsVUFBVSxHQUNoRDs7QUFFRCxBQUFBLDJCQUEyQixDQUFDO0VBQ3hCLFNBQVMsRUFBRSx3QkFBd0IsR0FDdEM7O0FBRUQsQUFBQSxLQUFLLENBQUEsQUFBQSxRQUFDLEFBQUEsRUFBVTtFQUNaLFlBQVksRXRJRE0sT0FBTyxHc0lFNUI7O0FwQ1pEOztrRUFFa0U7QURGbEU7OytFQUUrRTtBQUYvRTs7K0VBRStFO0EyQ0YvRTs7K0VBRStFO0FDRi9FOzsrRUFFK0U7QTVDRi9FOzsrRUFFK0U7QTZDRi9FOzs0RUFFNEU7QUFTNUUsQUFBQSxLQUFLLENBQUM7RUFDRixVQUFVLEVBQUUsVUFBVTtFQUN0QixPQUFPLEVBQUUsSUFBSTtFQUNiLFNBQVMsRUFBRSxNQUFNO0VBQ2pCLE1BQU0sRUFBRSxLQUFLO0VBQ2IsUUFBUSxFQUFFLE1BQU07RUFDaEIsT0FBTyxFRFJhLElBQXFCLENDUVQsQ0FBQyxDRFJiLElBQXFCLENDUWdCLENBQUMsR0FtRTdEO0U1SDFFTyxNQUFNLDhCNEhDZDtJQUFBLEFBQUEsS0FBSyxDQUFDO01BU0UsT0FBTyxFQUFFLElBQTRDLENBQUMsQ0FBQyxDRFh2QyxJQUFxQixDQ1cwQyxDQUFDLEdBZ0V2RixFQUFBO0U1SDFFTyxNQUFNLDhCNEhjTjtJQWJSLEFBYVEsS0FiSCxBQWFJLE1BQU0sQ0FBQztNQUNKLE9BQU8sRURoQkssSUFBcUIsQ0NnQkQsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQ3hDLEVBQUE7RUFmVCxBQWtCSSx1QkFsQkMsQ0FrQm1CO0lBQ2hCLE9BQU8sRUFBRSxJQUFJLEdBS2hCO0lBeEJMLEFBcUJRLHVCQXJCSCxDQXFCRyxRQUFRLENBQUM7TUFDTCxRQUFRLEVBQUUsS0FBSyxHQUNsQjtFQUdMLE1BQU0sbUNBQ0Y7SUEzQlIsQUEyQlEsYUEzQkgsQUEyQlksVUFBVSxFQTNCM0IsS0FBSyxDQTJCd0IsS0FBSyxDQUFDO01BQ3ZCLFlBQVksRUFBRSxnQkFBZ0IsR0FDakMsRUFBQTtFQUdMLE1BQU0sbUNBQ0Y7SUFqQ1IsQUFpQ1EsS0FqQ0gsQ0FpQ0csY0FBYyxDQUFDO01BQ1gsT0FBTyxFQUFFLElBQUksR0FDaEIsRUFBQTtFQW5DVCxBQXNDSSxtQkF0Q0MsQ0FzQ2U7SUFDWixVQUFVLEVBMUNVLDRCQUE0QixDQTBDVCxNQUFNLENBQUMsU0FBUztJQUN2RCxlQUFlLEVBQUUsT0FBTztJQUN4QixVQUFVLEVBQUUsVUFBVTtJQUN0QixNQUFNLEVBQUUsS0FBSztJQUNiLE9BQU8sRUFBRSxJQUFJO0lBQ2IsU0FBUyxFQUFFLE1BQU07SUFDakIsVUFBVSxFQUFFLE1BQU07SUFDbEIsVUFBVSxFQUFFLElBQUksR0FDbkI7RUEvQ0wsQUFpREksV0FqREMsQ0FpRE87SUFDSixVQUFVLEU5SXBERyxPQUFPO0k4SXFEcEIsS0FBSyxFcEhDRyxPQUF5QjtJb0hBakMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEM3Q3BESixJQUFxQixDNkNvREYsQ0FBQztJQUMzQixVQUFVLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixHQWE3QztJQWxFTCxBQXVEUSxXQXZESCxDQXVERyxFQUFFLENBQUM7TUFHQyxTQUFTLEVBakVFLE1BQW1CO01Ba0U5QixPQUFPLEU3Q2hFQSxHQUFHLEM2Q2dFa0IsSUFBb0MsR0FDbkU7SUE1RFQsQUE4RFEsV0E5REgsQ0E4REcsRUFBRSxDQUFDO01BQ0MsV0FBVyxFQUFFLElBQUk7TUFDakIsVUFBVSxFQUFFLE1BQU0sR0FDckI7RUFqRVQsQUFvRUksYUFwRUMsQ0FvRVM7SUFDTixTQUFTLEVBQUUsQ0FBQztJQUNaLE1BQU0sRUFBRSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQThDLENBQUMsSUFBSTtJQUNsRSxPQUFPLEVBQUUsQ0FBQyxHQUNiOztBQ25GTDs7K0VBRStFO0FBaUIvRSxBQUFBLFFBQVEsQ0FBQztFQUNMLEtBQUssRUFBRSxJQUFJO0VBQ1gsVUFBVSxFQUFFLEtBQUs7RUFDakIsU0FBUyxFQVBRLEtBQUs7RUFRdEIsVUFBVSxFQVZJLEdBQUcsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyx1QkFBdUI7RUFXakQsVUFBVSxFQUFFLFVBQVU7RUFDdEIsU0FBUyxFN0NaTyxJQUF3QjtFNkNheEMsT0FBTyxFQWRRLENBQUc7RUFlbEIsa0JBQWtCLEVBQUUsSUFBSTtFQUN4QixRQUFRLEVBQUUsb0JBQW9CO0VBRTlCLEtBQUssRXJIaUNPLE9BQXlCO0VxSHZCckMsT0FBTyxFOUM3QkksSUFBcUIsRzhDb0duQztFQTVGRCxBQWFJLFFBYkksQ0FhSixDQUFDLEVBYkwsUUFBUSxDQWFELE1BQU0sQ0FBQTtJQUNMLEtBQUssRXJIOEJHLE9BQXlCLEdxSDdCcEM7RUFmTCxBQWlCSSxRQWpCSSxFQWlCRCxpQkFBaUIsQ0FBQztJQUNqQixPQUFPLEVBQUUsSUFBSSxHQUNoQjtFQW5CTCxBQXNCSSxRQXRCSSxDQXNCSixFQUFFLENBQUM7SUFDQyxXQUFXLEVBQUUsSUFBSTtJQUNqQixVQUFVLEVBQUUsTUFBTSxHQUNyQjtFQXpCTCxBQTJCSSxRQTNCSSxDQTJCSixNQUFNLENBQUM7SUFDSCxVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLE1BQU0sRUFBRSxPQUFPO0lBQ2YsT0FBTyxFQUFFLEdBQUc7SUFDWixXQUFXLEVBQUUsSUFBSTtJQUNqQixTQUFTLEU3Q3hDQyxJQUF1QixHNkN5Q3BDO0VBbENMLEFBb0NJLFFBcENJLENBb0NKLEdBQUc7RUFwQ1AsUUFBUSxDQXFDSixDQUFDLENBQUM7SUFDRSxNQUFNLEVBQUUsR0FBRztJQUNYLGFBQWEsRTlDcERGLEdBQUcsRzhDcURqQjtFQXhDTCxBQTBDUSxRQTFDQSxDQXlDSixXQUFXLEVBQ04sV0FBVyxDQUFBO0lBQ1IsU0FBUyxFQUFFLEtBQXFCO0lBQ2hDLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLGNBQWMsRUFBRSxNQUFNO0lBQ3RCLFlBQVksRUFBRSxJQUFJO0lBQ2xCLGFBQWEsRUFBRSxHQUFHLEdBQ3JCO0VBaERULEFBa0RRLFFBbERBLENBeUNKLFdBQVcsQ0FTUCxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ0QsU0FBUyxFN0MzREosSUFBNEIsRzZDNERwQztFQXBEVCxBQXVESSxRQXZESSxDQXVESixFQUFFLENBQUM7SUFDQyxVQUFVLEVBQUUsSUFBSTtJQUNoQixPQUFPLEU5QzlETSxJQUFxQjtJOEMrRGxDLGFBQWEsRUFyRUgsR0FBRyxDQUFDLEtBQUssQ0FERSx5QkFBSTtJQXVFekIsV0FBVyxFQUFFLElBQUk7SUFDakIsU0FBUyxFN0NuRUMsSUFBdUIsRzZDb0VwQztFQTdETCxBQStESSxRQS9ESSxDQStESixFQUFFLENBQUMsVUFBVSxDQUFDO0lBQ1YsTUFBTSxFQUFFLElBQUksR0FDZjtFQWpFTCxBQW1FSSxRQW5FSSxDQW1FSixFQUFFLENBQUM7SUFDQyxPQUFPLEVBdkVPLENBQUMsR0F3RWxCO0VBckVMLEFBdUVJLGlCQXZFSSxDQXVFTztJQUNQLE1BQU0sRUFBRSxPQUFPLEdBQ2xCO0VBekVMLEFBMkVJLHNCQTNFSSxDQTJFWTtJQUNaLEtBQUssRUFBRSxLQUFLLEdBQ2Y7RUE3RUwsQUErRUksaUJBL0VJLENBK0VPO0lBQ1AsT0FBTyxFQUFFLElBQUksR0FJaEI7SUFwRkwsQUFpRlEsaUJBakZBLEdBaUZDLEVBQUUsQ0FBQztNQUNBLFdBQVcsRTlDMUZSLElBQXFCLEc4QzJGM0I7RUFuRlQsQUFzRkksc0JBdEZJLENBc0ZZO0lBQ1osT0FBTyxFQUFFLElBQUksR0FJaEI7SUEzRkwsQUF3RlEsc0JBeEZBLEdBd0ZDLEVBQUUsQ0FBQztNQUNBLFdBQVcsRTlDakdSLElBQXFCLEc4Q2tHM0I7O0FDM0dULEFBQUEsVUFBVSxDQUFDO0VBQ1AsT0FBTyxFQUFFLENBQUM7RUFDVixXQUFXLEVuSVVNLFNBQVMsRUFKTCxVQUFVO0VtSUwvQixTQUFTLEU5Q01JLElBQTRCO0U4Q0x6QyxRQUFRLEVBQUUsTUFBTTtFQUNoQixXQUFXLEVBQUUsR0FBRyxHQThCbkI7RUFuQ0QsQUFPSSxVQVBNLENBT04sZUFBZSxDQUFDO0lBQ1osc0JBQXNCLEVBQUUsSUFBMEM7SUFDbEUseUJBQXlCLEVBQUUsSUFBMEM7SUFDckUsVUFBVSxFaEpIRyxPQUFPO0lnSklwQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxXQUFXO0lBQ2xCLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFlBQVksRUFBRSxHQUFHO0lBQ2pCLGFBQWEsRUFBRSxHQUFHO0lBQ2xCLEtBQUssRUFBQyxJQUFJO0lBQ1YsUUFBUSxFQUFFLFFBQVE7SUFDbEIsS0FBSyxFdEgyQ0csT0FBeUIsR3NIbkNwQztJQTFCTCxBQW1CUSxVQW5CRSxDQU9OLGVBQWUsQ0FZWCxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUQsSUFBQyxBQUFBLEVBQVc7TUFDYixNQUFNLEVBQUUsSUFBSTtNQUNaLEtBQUssRUFBRSxJQUFJO01BRVgsUUFBUSxFQUFFLFFBQVEsR0FFckI7RUF6QlQsQUE0QkksVUE1Qk0sQ0E0Qk4sV0FBVyxDQUFDO0lBQ1IsV0FBVyxFQUFFLEdBQUc7SUFDaEIsS0FBSyxFQUFFLElBQUk7SUFDWCxNQUFNLEVBQUUsT0FBTztJQUNmLFdBQVcsRUFBRSxJQUFJO0lBQ2pCLFVBQVUsRUFBRSxNQUFNLEdBQ3JCOztBQ3BDTCxBQUlJLFlBSlEsQ0FJQTtFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGVBUlcsQ0FRSDtFQUNKLFVBQVUsRWpKQUcsT0FBTyxHaUpDdkI7O0FBVkwsQUFXSSxxQkFYaUIsQ0FXSDtFQUNWLFVBQVUsRWpKa0NRLE9BQU8sR2lKakM1Qjs7QUFiTCxBQUlJLGFBSlMsQ0FJRDtFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGdCQVJZLENBUUo7RUFDSixVQUFVLEVqSkVLLE9BQU8sR2lKRHpCOztBQVZMLEFBV0ksc0JBWGtCLENBV0o7RUFDVixVQUFVLEVqSnFDUyxPQUFPLEdpSnBDN0I7O0FBYkwsQUFJSSxZQUpRLENBSUE7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxlQVJXLENBUUg7RUFDSixVQUFVLEVqSjBDRSxPQUFPLEdpSnpDdEI7O0FBVkwsQUFXSSxxQkFYaUIsQ0FXSDtFQUNWLFVBQVUsRWpKd0NRLE9BQU8sR2lKdkM1Qjs7QUFiTCxBQUlJLGFBSlMsQ0FJRDtFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGdCQVJZLENBUUo7RUFDSixVQUFVLEVqSjRDRyxPQUFPLEdpSjNDdkI7O0FBVkwsQUFXSSxzQkFYa0IsQ0FXSjtFQUNWLFVBQVUsRWpKMENTLE9BQU8sR2lKekM3Qjs7QUFiTCxBQUlJLGFBSlMsQ0FJRDtFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGdCQVJZLENBUUo7RUFDSixVQUFVLEVqSjhDRyxPQUFPLEdpSjdDdkI7O0FBVkwsQUFXSSxzQkFYa0IsQ0FXSjtFQUNWLFVBQVUsRWpKNENTLE9BQU8sR2lKM0M3Qjs7QUFiTCxBQUlJLFdBSk8sQ0FJQztFQUNKLGFBQWEsQ0FBQSxRQUFDO0VBQ2QsbUJBQW1CLENBQUEsUUFBQyxHQUN2Qjs7QUFQTCxBQVFJLGNBUlUsQ0FRRjtFQUNKLFVBQVUsRWpKZ0RDLE9BQU8sR2lKL0NyQjs7QUFWTCxBQVdJLG9CQVhnQixDQVdGO0VBQ1YsVUFBVSxFako4Q08sT0FBTyxHaUo3QzNCOztBQWJMLEFBSUksVUFKTSxDQUlFO0VBQ0osYUFBYSxDQUFBLFFBQUM7RUFDZCxtQkFBbUIsQ0FBQSxRQUFDLEdBQ3ZCOztBQVBMLEFBUUksYUFSUyxDQVFEO0VBQ0osVUFBVSxFakprRUEsT0FBTyxHaUpqRXBCOztBQVZMLEFBV0ksbUJBWGUsQ0FXRDtFQUNWLFVBQVUsRWpKZ0VNLE9BQU8sR2lKL0QxQjs7QUFiTCxBQUlJLGlCQUphLENBSUw7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxvQkFSZ0IsQ0FRUjtFQUNKLFVBQVUsRWpKb0VPLE9BQU8sR2lKbkUzQjs7QUFWTCxBQVdJLDBCQVhzQixDQVdSO0VBQ1YsVUFBVSxFakprRWEsT0FBTyxHaUpqRWpDOztBQWJMLEFBSUksVUFKTSxDQUlFO0VBQ0osYUFBYSxDQUFBLFFBQUM7RUFDZCxtQkFBbUIsQ0FBQSxRQUFDLEdBQ3ZCOztBQVBMLEFBUUksYUFSUyxDQVFEO0VBQ0osVUFBVSxFakpzRUEsT0FBTyxHaUpyRXBCOztBQVZMLEFBV0ksbUJBWGUsQ0FXRDtFQUNWLFVBQVUsRWpKb0VNLE9BQU8sR2lKbkUxQjs7QUFiTCxBQUlJLGlCQUphLENBSUw7RUFDSixhQUFhLENBQUEsUUFBQztFQUNkLG1CQUFtQixDQUFBLFFBQUMsR0FDdkI7O0FBUEwsQUFRSSxvQkFSZ0IsQ0FRUjtFQUNKLFVBQVUsRWpKZ0VPLE9BQU8sR2lKL0QzQjs7QUFWTCxBQVdJLDBCQVhzQixDQVdSO0VBQ1YsVUFBVSxFako4RGEsT0FBTyxHaUo3RGpDOztBQUdMLEFBQ0ksWUFEUSxDQUNSLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FEVixZQUFZLENBQ1ksUUFBUSxFQURsQixhQUFhLENBQ3ZCLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FESSxhQUFhLENBQ0gsUUFBUSxFQURILFlBQVksQ0FDckMsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQURtQixZQUFZLENBQ2pCLFFBQVEsRUFEVyxhQUFhLENBQ3BELEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FEaUMsYUFBYSxDQUNoQyxRQUFRLEVBRDBCLGFBQWEsQ0FDbkUsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQURnRCxhQUFhLENBQy9DLFFBQVEsRUFEeUMsV0FBVyxDQUNoRixLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEdBRCtELFdBQVcsQ0FDNUQsUUFBUSxFQURzRCxVQUFVLENBQzVGLEtBQUssQ0FBQSxBQUFBLElBQUMsQ0FBSyxNQUFNLEFBQVgsR0FENEUsVUFBVSxDQUN4RSxRQUFRLEVBRGtFLGlCQUFpQixDQUMvRyxLQUFLLENBQUEsQUFBQSxJQUFDLENBQUssTUFBTSxBQUFYLEdBRHdGLGlCQUFpQixDQUMzRixRQUFRLEVBRHFGLFVBQVUsQ0FDM0gsS0FBSyxDQUFBLEFBQUEsSUFBQyxDQUFLLE1BQU0sQUFBWCxHQUQyRyxVQUFVLENBQ3ZHLFFBQVEsQ0FBQztFQUN6QixZQUFZLEVBQUUsa0JBQWtCLEdBQ25DOztBQUhMLEFBSUksWUFKUSxDQUlSLEtBQUssRUFKSyxhQUFhLENBSXZCLEtBQUssRUFKb0IsWUFBWSxDQUlyQyxLQUFLLEVBSmtDLGFBQWEsQ0FJcEQsS0FBSyxFQUppRCxhQUFhLENBSW5FLEtBQUssRUFKZ0UsV0FBVyxDQUloRixLQUFLLEVBSjZFLFVBQVUsQ0FJNUYsS0FBSyxFQUp5RixpQkFBaUIsQ0FJL0csS0FBSyxFQUo0RyxVQUFVLENBSTNILEtBQUssQ0FBQztFQUNGLEtBQUssRUFBRSxrQkFBa0IsR0FDNUI7O0FBSUwsQUFDSSxDQURILENBQ0csQ0FBQyxDQUFDLEtBQUssRUFEWCxDQUFDLENBQ1ksQ0FBQyxDQUFDLEtBQUssRUFEcEIsQ0FBQyxDQUNxQixDQUFDLENBQUMsT0FBTyxFQUQvQixDQUFDLENBQ2dDLENBQUMsQ0FBQztFQUMzQixlQUFlLEVBQUUsU0FBUyxHQUM3Qjs7QUFJTCxBQUFBLEVBQUUsQ0FBQztFQUNILFlBQVksRUFBRSxtQkFBbUI7RUFDakMsTUFBTSxFQUFFLGFBQWEsR0FJcEI7RUFIRyxNQUFNLG1DQUhWO0lBQUEsQUFBQSxFQUFFLENBQUM7TUFJSyxNQUFNLEVBQUUsS0FBSyxHQUVwQixFQUFBIgp9 */