@import url("https://fonts.googleapis.com/css?family=Open+Sans:400,400i,600,600i,700,700i,800,800i");
:root {
  --blue: #007bff;
  --indigo: #6610f2;
  --purple: #6f42c1;
  --pink: #e83e8c;
  --red: #dc3545;
  --orange: #fd7e14;
  --yellow: #ffc107;
  --green: #28a745;
  --teal: #20c997;
  --cyan: #17a2b8;
  --white: #fff;
  --gray: #6c757d;
  --gray-dark: #343a40;
  --primary: #007bff;
  --secondary: #6c757d;
  --success: #28a745;
  --info: #17a2b8;
  --warning: #ffc107;
  --danger: #dc3545;
  --light: #f8f9fa;
  --dark: #343a40;
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
  --font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }

.bootstrap-4 { }
  .bootstrap-4 *,
  .bootstrap-4 *::before,
  .bootstrap-4 *::after {
    box-sizing: border-box; }
  .bootstrap-4 html {
    font-family: sans-serif;
    line-height: 1.15;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -ms-overflow-style: scrollbar;
    -webkit-tap-highlight-color: transparent; }

@-ms-viewport {
  width: device-width; }
  .bootstrap-4 article, .bootstrap-4 aside, .bootstrap-4 dialog, .bootstrap-4 figcaption, .bootstrap-4 figure, .bootstrap-4 footer, .bootstrap-4 header, .bootstrap-4 hgroup, .bootstrap-4 main, .bootstrap-4 nav, .bootstrap-4 section {
    display: block; }
  .bootstrap-4 body {
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #212529;
    text-align: left;
    background-color: #fff; }
  .bootstrap-4 [tabindex="-1"]:focus {
    outline: 0 !important; }
  .bootstrap-4 hr {
    box-sizing: content-box;
    height: 0;
    overflow: visible; }
  .bootstrap-4 h1, .bootstrap-4 h2, .bootstrap-4 h3, .bootstrap-4 h4, .bootstrap-4 h5, .bootstrap-4 h6 {
    margin-top: 0;
    margin-bottom: 0.5rem; }
  .bootstrap-4 p {
    margin-top: 0;
    margin-bottom: 1rem; }
  .bootstrap-4 abbr[title],
  .bootstrap-4 abbr[data-original-title] {
    text-decoration: underline;
    text-decoration: underline dotted;
    cursor: help;
    border-bottom: 0; }
  .bootstrap-4 address {
    margin-bottom: 1rem;
    font-style: normal;
    line-height: inherit; }
  .bootstrap-4 ol,
  .bootstrap-4 ul,
  .bootstrap-4 dl {
    margin-top: 0;
    margin-bottom: 1rem; }
  .bootstrap-4 ol ol,
  .bootstrap-4 ul ul,
  .bootstrap-4 ol ul,
  .bootstrap-4 ul ol {
    margin-bottom: 0; }
  .bootstrap-4 dt {
    font-weight: 700; }
  .bootstrap-4 dd {
    margin-bottom: .5rem;
    margin-left: 0; }
  .bootstrap-4 blockquote {
    margin: 0 0 1rem; }
  .bootstrap-4 dfn {
    font-style: italic; }
  .bootstrap-4 b,
  .bootstrap-4 strong {
    font-weight: bolder; }
  .bootstrap-4 small {
    font-size: 80%; }
  .bootstrap-4 sub,
  .bootstrap-4 sup {
    position: relative;
    font-size: 75%;
    line-height: 0;
    vertical-align: baseline; }
  .bootstrap-4 sub {
    bottom: -.25em; }
  .bootstrap-4 sup {
    top: -.5em; }
  .bootstrap-4 a {
    color: #007bff;
    text-decoration: none;
    background-color: transparent;
    -webkit-text-decoration-skip: objects; }
    .bootstrap-4 a:hover {
      color: #0056b3;
      text-decoration: underline; }
  .bootstrap-4 a:not([href]):not([tabindex]) {
    color: inherit;
    text-decoration: none; }
    .bootstrap-4 a:not([href]):not([tabindex]):hover, .bootstrap-4 a:not([href]):not([tabindex]):focus {
      color: inherit;
      text-decoration: none; }
    .bootstrap-4 a:not([href]):not([tabindex]):focus {
      outline: 0; }
  .bootstrap-4 pre,
  .bootstrap-4 code,
  .bootstrap-4 kbd,
  .bootstrap-4 samp {
    font-family: monospace, monospace;
    font-size: 1em; }
  .bootstrap-4 pre {
    margin-top: 0;
    margin-bottom: 1rem;
    overflow: auto;
    -ms-overflow-style: scrollbar; }
  .bootstrap-4 figure {
    margin: 0 0 1rem; }
  .bootstrap-4 img {
    vertical-align: middle;
    border-style: none; }
  .bootstrap-4 svg:not(:root) {
    overflow: hidden; }
  .bootstrap-4 table {
    border-collapse: collapse; }
  .bootstrap-4 caption {
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
    color: #6c757d;
    text-align: left;
    caption-side: bottom; }
  .bootstrap-4 th {
    text-align: inherit; }
  .bootstrap-4 label {
    display: inline-block;
    margin-bottom: .5rem; }
  .bootstrap-4 button {
    border-radius: 0; }
  .bootstrap-4 button:focus {
    outline: 1px dotted;
    outline: 5px auto -webkit-focus-ring-color; }
  .bootstrap-4 input,
  .bootstrap-4 button,
  .bootstrap-4 select,
  .bootstrap-4 optgroup,
  .bootstrap-4 textarea {
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    line-height: inherit; }
  .bootstrap-4 button,
  .bootstrap-4 input {
    overflow: visible; }
  .bootstrap-4 button,
  .bootstrap-4 select {
    text-transform: none; }
  .bootstrap-4 button,
  .bootstrap-4 html [type="button"],
  .bootstrap-4 [type="reset"],
  .bootstrap-4 [type="submit"] {
    -webkit-appearance: button; }
  .bootstrap-4 button::-moz-focus-inner,
  .bootstrap-4 [type="button"]::-moz-focus-inner,
  .bootstrap-4 [type="reset"]::-moz-focus-inner,
  .bootstrap-4 [type="submit"]::-moz-focus-inner {
    padding: 0;
    border-style: none; }
  .bootstrap-4 input[type="radio"],
  .bootstrap-4 input[type="checkbox"] {
    box-sizing: border-box;
    padding: 0; }
  .bootstrap-4 input[type="date"],
  .bootstrap-4 input[type="time"],
  .bootstrap-4 input[type="datetime-local"],
  .bootstrap-4 input[type="month"] {
    -webkit-appearance: listbox; }
  .bootstrap-4 textarea {
    overflow: auto;
    resize: vertical; }
  .bootstrap-4 fieldset {
    min-width: 0;
    padding: 0;
    margin: 0;
    border: 0; }
  .bootstrap-4 legend {
    display: block;
    width: 100%;
    max-width: 100%;
    padding: 0;
    margin-bottom: .5rem;
    font-size: 1.5rem;
    line-height: inherit;
    color: inherit;
    white-space: normal; }
  .bootstrap-4 progress {
    vertical-align: baseline; }
  .bootstrap-4 [type="number"]::-webkit-inner-spin-button,
  .bootstrap-4 [type="number"]::-webkit-outer-spin-button {
    height: auto; }
  .bootstrap-4 [type="search"] {
    outline-offset: -2px;
    -webkit-appearance: none; }
  .bootstrap-4 [type="search"]::-webkit-search-cancel-button,
  .bootstrap-4 [type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }
  .bootstrap-4 ::-webkit-file-upload-button {
    font: inherit;
    -webkit-appearance: button; }
  .bootstrap-4 output {
    display: inline-block; }
  .bootstrap-4 summary {
    display: list-item;
    cursor: pointer; }
  .bootstrap-4 template {
    display: none; }
  .bootstrap-4 [hidden] {
    display: none !important; }
  .bootstrap-4 h1, .bootstrap-4 h2, .bootstrap-4 h3, .bootstrap-4 h4, .bootstrap-4 h5, .bootstrap-4 h6,
  .bootstrap-4 .h1, .bootstrap-4 .h2, .bootstrap-4 .h3, .bootstrap-4 .h4, .bootstrap-4 .h5, .bootstrap-4 .h6 {
    margin-bottom: 0.5rem;
    font-family: inherit;
    font-weight: 500;
    line-height: 1.2;
    color: inherit; }
  .bootstrap-4 h1, .bootstrap-4 .h1 {
    font-size: 2.5rem; }
  .bootstrap-4 h2, .bootstrap-4 .h2 {
    font-size: 2rem; }
  .bootstrap-4 h3, .bootstrap-4 .h3 {
    font-size: 1.75rem; }
  .bootstrap-4 h4, .bootstrap-4 .h4 {
    font-size: 1.5rem; }
  .bootstrap-4 h5, .bootstrap-4 .h5 {
    font-size: 1.25rem; }
  .bootstrap-4 h6, .bootstrap-4 .h6 {
    font-size: 1rem; }
  .bootstrap-4 .lead {
    font-size: 1.25rem;
    font-weight: 300; }
  .bootstrap-4 .display-1 {
    font-size: 6rem;
    font-weight: 300;
    line-height: 1.2; }
  .bootstrap-4 .display-2 {
    font-size: 5.5rem;
    font-weight: 300;
    line-height: 1.2; }
  .bootstrap-4 .display-3 {
    font-size: 4.5rem;
    font-weight: 300;
    line-height: 1.2; }
  .bootstrap-4 .display-4 {
    font-size: 3.5rem;
    font-weight: 300;
    line-height: 1.2; }
  .bootstrap-4 hr {
    margin-top: 1rem;
    margin-bottom: 1rem;
    border: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.1); }
  .bootstrap-4 small,
  .bootstrap-4 .small {
    font-size: 80%;
    font-weight: 400; }
  .bootstrap-4 mark,
  .bootstrap-4 .mark {
    padding: 0.2em;
    background-color: #fcf8e3; }
  .bootstrap-4 .list-unstyled {
    padding-left: 0;
    list-style: none; }
  .bootstrap-4 .list-inline {
    padding-left: 0;
    list-style: none; }
  .bootstrap-4 .list-inline-item {
    display: inline-block; }
    .bootstrap-4 .list-inline-item:not(:last-child) {
      margin-right: 0.5rem; }
  .bootstrap-4 .initialism {
    font-size: 90%;
    text-transform: uppercase; }
  .bootstrap-4 .blockquote {
    margin-bottom: 1rem;
    font-size: 1.25rem; }
  .bootstrap-4 .blockquote-footer {
    display: block;
    font-size: 80%;
    color: #6c757d; }
    .bootstrap-4 .blockquote-footer::before {
      content: "\2014 \00A0"; }
  .bootstrap-4 .img-fluid {
    max-width: 100%;
    height: auto; }
  .bootstrap-4 .img-thumbnail {
    padding: 0.25rem;
    background-color: #fff;
    border: 1px solid #dee2e6;
    border-radius: 0.25rem;
    max-width: 100%;
    height: auto; }
  .bootstrap-4 .figure {
    display: inline-block; }
  .bootstrap-4 .figure-img {
    margin-bottom: 0.5rem;
    line-height: 1; }
  .bootstrap-4 .figure-caption {
    font-size: 90%;
    color: #6c757d; }
  .bootstrap-4 code,
  .bootstrap-4 kbd,
  .bootstrap-4 pre,
  .bootstrap-4 samp {
    font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace; }
  .bootstrap-4 code {
    font-size: 87.5%;
    color: #e83e8c;
    word-break: break-word; }
    a > .bootstrap-4 code {
      color: inherit; }
  .bootstrap-4 kbd {
    padding: 0.2rem 0.4rem;
    font-size: 87.5%;
    color: #fff;
    background-color: #212529;
    border-radius: 0.2rem; }
    .bootstrap-4 kbd kbd {
      padding: 0;
      font-size: 100%;
      font-weight: 700; }
  .bootstrap-4 pre {
    display: block;
    font-size: 87.5%;
    color: #212529; }
    .bootstrap-4 pre code {
      font-size: inherit;
      color: inherit;
      word-break: normal; }
  .bootstrap-4 .pre-scrollable {
    max-height: 340px;
    overflow-y: scroll; }
  .bootstrap-4 .container {
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    margin-right: auto;
    margin-left: auto; }
    @media (min-width: 576px) {
      .bootstrap-4 .container {
        max-width: 540px; } }
    @media (min-width: 768px) {
      .bootstrap-4 .container {
        max-width: 720px; } }
    @media (min-width: 992px) {
      .bootstrap-4 .container {
        max-width: 960px; } }
  .bootstrap-4 .container-fluid {
    width: 100%;
    padding-right: 10px;
    padding-left: 10px;
    margin-right: auto;
    margin-left: auto; }
  .bootstrap-4 .row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px; }
  .bootstrap-4 .no-gutters {
    margin-right: 0;
    margin-left: 0; }
    .bootstrap-4 .no-gutters > .col,
    .bootstrap-4 .no-gutters > [class*="col-"] {
      padding-right: 0;
      padding-left: 0; }
  .bootstrap-4 .col-1, .bootstrap-4 .col-2, .bootstrap-4 .col-3, .bootstrap-4 .col-4, .bootstrap-4 .col-5, .bootstrap-4 .col-6, .bootstrap-4 .col-7, .bootstrap-4 .col-8, .bootstrap-4 .col-9, .bootstrap-4 .col-10, .bootstrap-4 .col-11, .bootstrap-4 .col-12, .bootstrap-4 .col, .bootstrap-4 .col-auto, .bootstrap-4 .col-sm-1, .bootstrap-4 .col-sm-2, .bootstrap-4 .col-sm-3, .bootstrap-4 .col-sm-4, .bootstrap-4 .col-sm-5, .bootstrap-4 .col-sm-6, .bootstrap-4 .col-sm-7, .bootstrap-4 .col-sm-8, .bootstrap-4 .col-sm-9, .bootstrap-4 .col-sm-10, .bootstrap-4 .col-sm-11, .bootstrap-4 .col-sm-12, .bootstrap-4 .col-sm, .bootstrap-4 .col-sm-auto, .bootstrap-4 .col-md-1, .bootstrap-4 .col-md-2, .bootstrap-4 .col-md-3, .bootstrap-4 .col-md-4, .bootstrap-4 .col-md-5, .bootstrap-4 .col-md-6, .bootstrap-4 .col-md-7, .bootstrap-4 .col-md-8, .bootstrap-4 .col-md-9, .bootstrap-4 .col-md-10, .bootstrap-4 .col-md-11, .bootstrap-4 .col-md-12, .bootstrap-4 .col-md, .bootstrap-4 .col-md-auto, .bootstrap-4 .col-lg-1, .bootstrap-4 .col-lg-2, .bootstrap-4 .col-lg-3, .bootstrap-4 .col-lg-4, .bootstrap-4 .col-lg-5, .bootstrap-4 .col-lg-6, .bootstrap-4 .col-lg-7, .bootstrap-4 .col-lg-8, .bootstrap-4 .col-lg-9, .bootstrap-4 .col-lg-10, .bootstrap-4 .col-lg-11, .bootstrap-4 .col-lg-12, .bootstrap-4 .col-lg, .bootstrap-4 .col-lg-auto {
    position: relative;
    width: 100%;
    min-height: 1px;
    padding-right: 10px;
    padding-left: 10px; }
  .bootstrap-4 .col {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    max-width: 100%; }
  .bootstrap-4 .col-auto {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: auto;
    max-width: none; }
  .bootstrap-4 .col-1 {
    -ms-flex: 0 0 8.3333333333%;
        flex: 0 0 8.3333333333%;
    max-width: 8.3333333333%; }
  .bootstrap-4 .col-2 {
    -ms-flex: 0 0 16.6666666667%;
        flex: 0 0 16.6666666667%;
    max-width: 16.6666666667%; }
  .bootstrap-4 .col-3 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .bootstrap-4 .col-4 {
    -ms-flex: 0 0 33.3333333333%;
        flex: 0 0 33.3333333333%;
    max-width: 33.3333333333%; }
  .bootstrap-4 .col-5 {
    -ms-flex: 0 0 41.6666666667%;
        flex: 0 0 41.6666666667%;
    max-width: 41.6666666667%; }
  .bootstrap-4 .col-6 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .bootstrap-4 .col-7 {
    -ms-flex: 0 0 58.3333333333%;
        flex: 0 0 58.3333333333%;
    max-width: 58.3333333333%; }
  .bootstrap-4 .col-8 {
    -ms-flex: 0 0 66.6666666667%;
        flex: 0 0 66.6666666667%;
    max-width: 66.6666666667%; }
  .bootstrap-4 .col-9 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .bootstrap-4 .col-10 {
    -ms-flex: 0 0 83.3333333333%;
        flex: 0 0 83.3333333333%;
    max-width: 83.3333333333%; }
  .bootstrap-4 .col-11 {
    -ms-flex: 0 0 91.6666666667%;
        flex: 0 0 91.6666666667%;
    max-width: 91.6666666667%; }
  .bootstrap-4 .col-12 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .bootstrap-4 .order-first {
    -ms-flex-order: -1;
        order: -1; }
  .bootstrap-4 .order-last {
    -ms-flex-order: 13;
        order: 13; }
  .bootstrap-4 .order-0 {
    -ms-flex-order: 0;
        order: 0; }
  .bootstrap-4 .order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .bootstrap-4 .order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .bootstrap-4 .order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .bootstrap-4 .order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .bootstrap-4 .order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .bootstrap-4 .order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .bootstrap-4 .order-7 {
    -ms-flex-order: 7;
        order: 7; }
  .bootstrap-4 .order-8 {
    -ms-flex-order: 8;
        order: 8; }
  .bootstrap-4 .order-9 {
    -ms-flex-order: 9;
        order: 9; }
  .bootstrap-4 .order-10 {
    -ms-flex-order: 10;
        order: 10; }
  .bootstrap-4 .order-11 {
    -ms-flex-order: 11;
        order: 11; }
  .bootstrap-4 .order-12 {
    -ms-flex-order: 12;
        order: 12; }
  .bootstrap-4 .offset-1 {
    margin-left: 8.3333333333%; }
  .bootstrap-4 .offset-2 {
    margin-left: 16.6666666667%; }
  .bootstrap-4 .offset-3 {
    margin-left: 25%; }
  .bootstrap-4 .offset-4 {
    margin-left: 33.3333333333%; }
  .bootstrap-4 .offset-5 {
    margin-left: 41.6666666667%; }
  .bootstrap-4 .offset-6 {
    margin-left: 50%; }
  .bootstrap-4 .offset-7 {
    margin-left: 58.3333333333%; }
  .bootstrap-4 .offset-8 {
    margin-left: 66.6666666667%; }
  .bootstrap-4 .offset-9 {
    margin-left: 75%; }
  .bootstrap-4 .offset-10 {
    margin-left: 83.3333333333%; }
  .bootstrap-4 .offset-11 {
    margin-left: 91.6666666667%; }
  @media (min-width: 576px) {
    .bootstrap-4 .col-sm {
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
      -ms-flex-positive: 1;
          flex-grow: 1;
      max-width: 100%; }
    .bootstrap-4 .col-sm-auto {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      max-width: none; }
    .bootstrap-4 .col-sm-1 {
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
      max-width: 8.3333333333%; }
    .bootstrap-4 .col-sm-2 {
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
      max-width: 16.6666666667%; }
    .bootstrap-4 .col-sm-3 {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
    .bootstrap-4 .col-sm-4 {
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
      max-width: 33.3333333333%; }
    .bootstrap-4 .col-sm-5 {
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
      max-width: 41.6666666667%; }
    .bootstrap-4 .col-sm-6 {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
    .bootstrap-4 .col-sm-7 {
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
      max-width: 58.3333333333%; }
    .bootstrap-4 .col-sm-8 {
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
      max-width: 66.6666666667%; }
    .bootstrap-4 .col-sm-9 {
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
      max-width: 75%; }
    .bootstrap-4 .col-sm-10 {
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
      max-width: 83.3333333333%; }
    .bootstrap-4 .col-sm-11 {
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
      max-width: 91.6666666667%; }
    .bootstrap-4 .col-sm-12 {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
    .bootstrap-4 .order-sm-first {
      -ms-flex-order: -1;
          order: -1; }
    .bootstrap-4 .order-sm-last {
      -ms-flex-order: 13;
          order: 13; }
    .bootstrap-4 .order-sm-0 {
      -ms-flex-order: 0;
          order: 0; }
    .bootstrap-4 .order-sm-1 {
      -ms-flex-order: 1;
          order: 1; }
    .bootstrap-4 .order-sm-2 {
      -ms-flex-order: 2;
          order: 2; }
    .bootstrap-4 .order-sm-3 {
      -ms-flex-order: 3;
          order: 3; }
    .bootstrap-4 .order-sm-4 {
      -ms-flex-order: 4;
          order: 4; }
    .bootstrap-4 .order-sm-5 {
      -ms-flex-order: 5;
          order: 5; }
    .bootstrap-4 .order-sm-6 {
      -ms-flex-order: 6;
          order: 6; }
    .bootstrap-4 .order-sm-7 {
      -ms-flex-order: 7;
          order: 7; }
    .bootstrap-4 .order-sm-8 {
      -ms-flex-order: 8;
          order: 8; }
    .bootstrap-4 .order-sm-9 {
      -ms-flex-order: 9;
          order: 9; }
    .bootstrap-4 .order-sm-10 {
      -ms-flex-order: 10;
          order: 10; }
    .bootstrap-4 .order-sm-11 {
      -ms-flex-order: 11;
          order: 11; }
    .bootstrap-4 .order-sm-12 {
      -ms-flex-order: 12;
          order: 12; }
    .bootstrap-4 .offset-sm-0 {
      margin-left: 0; }
    .bootstrap-4 .offset-sm-1 {
      margin-left: 8.3333333333%; }
    .bootstrap-4 .offset-sm-2 {
      margin-left: 16.6666666667%; }
    .bootstrap-4 .offset-sm-3 {
      margin-left: 25%; }
    .bootstrap-4 .offset-sm-4 {
      margin-left: 33.3333333333%; }
    .bootstrap-4 .offset-sm-5 {
      margin-left: 41.6666666667%; }
    .bootstrap-4 .offset-sm-6 {
      margin-left: 50%; }
    .bootstrap-4 .offset-sm-7 {
      margin-left: 58.3333333333%; }
    .bootstrap-4 .offset-sm-8 {
      margin-left: 66.6666666667%; }
    .bootstrap-4 .offset-sm-9 {
      margin-left: 75%; }
    .bootstrap-4 .offset-sm-10 {
      margin-left: 83.3333333333%; }
    .bootstrap-4 .offset-sm-11 {
      margin-left: 91.6666666667%; } }
  @media (min-width: 768px) {
    .bootstrap-4 .col-md {
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
      -ms-flex-positive: 1;
          flex-grow: 1;
      max-width: 100%; }
    .bootstrap-4 .col-md-auto {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      max-width: none; }
    .bootstrap-4 .col-md-1 {
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
      max-width: 8.3333333333%; }
    .bootstrap-4 .col-md-2 {
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
      max-width: 16.6666666667%; }
    .bootstrap-4 .col-md-3 {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
    .bootstrap-4 .col-md-4 {
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
      max-width: 33.3333333333%; }
    .bootstrap-4 .col-md-5 {
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
      max-width: 41.6666666667%; }
    .bootstrap-4 .col-md-6 {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
    .bootstrap-4 .col-md-7 {
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
      max-width: 58.3333333333%; }
    .bootstrap-4 .col-md-8 {
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
      max-width: 66.6666666667%; }
    .bootstrap-4 .col-md-9 {
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
      max-width: 75%; }
    .bootstrap-4 .col-md-10 {
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
      max-width: 83.3333333333%; }
    .bootstrap-4 .col-md-11 {
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
      max-width: 91.6666666667%; }
    .bootstrap-4 .col-md-12 {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
    .bootstrap-4 .order-md-first {
      -ms-flex-order: -1;
          order: -1; }
    .bootstrap-4 .order-md-last {
      -ms-flex-order: 13;
          order: 13; }
    .bootstrap-4 .order-md-0 {
      -ms-flex-order: 0;
          order: 0; }
    .bootstrap-4 .order-md-1 {
      -ms-flex-order: 1;
          order: 1; }
    .bootstrap-4 .order-md-2 {
      -ms-flex-order: 2;
          order: 2; }
    .bootstrap-4 .order-md-3 {
      -ms-flex-order: 3;
          order: 3; }
    .bootstrap-4 .order-md-4 {
      -ms-flex-order: 4;
          order: 4; }
    .bootstrap-4 .order-md-5 {
      -ms-flex-order: 5;
          order: 5; }
    .bootstrap-4 .order-md-6 {
      -ms-flex-order: 6;
          order: 6; }
    .bootstrap-4 .order-md-7 {
      -ms-flex-order: 7;
          order: 7; }
    .bootstrap-4 .order-md-8 {
      -ms-flex-order: 8;
          order: 8; }
    .bootstrap-4 .order-md-9 {
      -ms-flex-order: 9;
          order: 9; }
    .bootstrap-4 .order-md-10 {
      -ms-flex-order: 10;
          order: 10; }
    .bootstrap-4 .order-md-11 {
      -ms-flex-order: 11;
          order: 11; }
    .bootstrap-4 .order-md-12 {
      -ms-flex-order: 12;
          order: 12; }
    .bootstrap-4 .offset-md-0 {
      margin-left: 0; }
    .bootstrap-4 .offset-md-1 {
      margin-left: 8.3333333333%; }
    .bootstrap-4 .offset-md-2 {
      margin-left: 16.6666666667%; }
    .bootstrap-4 .offset-md-3 {
      margin-left: 25%; }
    .bootstrap-4 .offset-md-4 {
      margin-left: 33.3333333333%; }
    .bootstrap-4 .offset-md-5 {
      margin-left: 41.6666666667%; }
    .bootstrap-4 .offset-md-6 {
      margin-left: 50%; }
    .bootstrap-4 .offset-md-7 {
      margin-left: 58.3333333333%; }
    .bootstrap-4 .offset-md-8 {
      margin-left: 66.6666666667%; }
    .bootstrap-4 .offset-md-9 {
      margin-left: 75%; }
    .bootstrap-4 .offset-md-10 {
      margin-left: 83.3333333333%; }
    .bootstrap-4 .offset-md-11 {
      margin-left: 91.6666666667%; } }
  @media (min-width: 992px) {
    .bootstrap-4 .col-lg {
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
      -ms-flex-positive: 1;
          flex-grow: 1;
      max-width: 100%; }
    .bootstrap-4 .col-lg-auto {
      -ms-flex: 0 0 auto;
          flex: 0 0 auto;
      width: auto;
      max-width: none; }
    .bootstrap-4 .col-lg-1 {
      -ms-flex: 0 0 8.3333333333%;
          flex: 0 0 8.3333333333%;
      max-width: 8.3333333333%; }
    .bootstrap-4 .col-lg-2 {
      -ms-flex: 0 0 16.6666666667%;
          flex: 0 0 16.6666666667%;
      max-width: 16.6666666667%; }
    .bootstrap-4 .col-lg-3 {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
    .bootstrap-4 .col-lg-4 {
      -ms-flex: 0 0 33.3333333333%;
          flex: 0 0 33.3333333333%;
      max-width: 33.3333333333%; }
    .bootstrap-4 .col-lg-5 {
      -ms-flex: 0 0 41.6666666667%;
          flex: 0 0 41.6666666667%;
      max-width: 41.6666666667%; }
    .bootstrap-4 .col-lg-6 {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
    .bootstrap-4 .col-lg-7 {
      -ms-flex: 0 0 58.3333333333%;
          flex: 0 0 58.3333333333%;
      max-width: 58.3333333333%; }
    .bootstrap-4 .col-lg-8 {
      -ms-flex: 0 0 66.6666666667%;
          flex: 0 0 66.6666666667%;
      max-width: 66.6666666667%; }
    .bootstrap-4 .col-lg-9 {
      -ms-flex: 0 0 75%;
          flex: 0 0 75%;
      max-width: 75%; }
    .bootstrap-4 .col-lg-10 {
      -ms-flex: 0 0 83.3333333333%;
          flex: 0 0 83.3333333333%;
      max-width: 83.3333333333%; }
    .bootstrap-4 .col-lg-11 {
      -ms-flex: 0 0 91.6666666667%;
          flex: 0 0 91.6666666667%;
      max-width: 91.6666666667%; }
    .bootstrap-4 .col-lg-12 {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
    .bootstrap-4 .order-lg-first {
      -ms-flex-order: -1;
          order: -1; }
    .bootstrap-4 .order-lg-last {
      -ms-flex-order: 13;
          order: 13; }
    .bootstrap-4 .order-lg-0 {
      -ms-flex-order: 0;
          order: 0; }
    .bootstrap-4 .order-lg-1 {
      -ms-flex-order: 1;
          order: 1; }
    .bootstrap-4 .order-lg-2 {
      -ms-flex-order: 2;
          order: 2; }
    .bootstrap-4 .order-lg-3 {
      -ms-flex-order: 3;
          order: 3; }
    .bootstrap-4 .order-lg-4 {
      -ms-flex-order: 4;
          order: 4; }
    .bootstrap-4 .order-lg-5 {
      -ms-flex-order: 5;
          order: 5; }
    .bootstrap-4 .order-lg-6 {
      -ms-flex-order: 6;
          order: 6; }
    .bootstrap-4 .order-lg-7 {
      -ms-flex-order: 7;
          order: 7; }
    .bootstrap-4 .order-lg-8 {
      -ms-flex-order: 8;
          order: 8; }
    .bootstrap-4 .order-lg-9 {
      -ms-flex-order: 9;
          order: 9; }
    .bootstrap-4 .order-lg-10 {
      -ms-flex-order: 10;
          order: 10; }
    .bootstrap-4 .order-lg-11 {
      -ms-flex-order: 11;
          order: 11; }
    .bootstrap-4 .order-lg-12 {
      -ms-flex-order: 12;
          order: 12; }
    .bootstrap-4 .offset-lg-0 {
      margin-left: 0; }
    .bootstrap-4 .offset-lg-1 {
      margin-left: 8.3333333333%; }
    .bootstrap-4 .offset-lg-2 {
      margin-left: 16.6666666667%; }
    .bootstrap-4 .offset-lg-3 {
      margin-left: 25%; }
    .bootstrap-4 .offset-lg-4 {
      margin-left: 33.3333333333%; }
    .bootstrap-4 .offset-lg-5 {
      margin-left: 41.6666666667%; }
    .bootstrap-4 .offset-lg-6 {
      margin-left: 50%; }
    .bootstrap-4 .offset-lg-7 {
      margin-left: 58.3333333333%; }
    .bootstrap-4 .offset-lg-8 {
      margin-left: 66.6666666667%; }
    .bootstrap-4 .offset-lg-9 {
      margin-left: 75%; }
    .bootstrap-4 .offset-lg-10 {
      margin-left: 83.3333333333%; }
    .bootstrap-4 .offset-lg-11 {
      margin-left: 91.6666666667%; } }
  .bootstrap-4 .table {
    width: 100%;
    max-width: 100%;
    margin-bottom: 1rem;
    background-color: transparent; }
    .bootstrap-4 .table th,
    .bootstrap-4 .table td {
      padding: 0.75rem;
      vertical-align: top;
      border-top: 1px solid #dee2e6; }
    .bootstrap-4 .table thead th {
      vertical-align: bottom;
      border-bottom: 2px solid #dee2e6; }
    .bootstrap-4 .table tbody + tbody {
      border-top: 2px solid #dee2e6; }
    .bootstrap-4 .table .table {
      background-color: #fff; }
  .bootstrap-4 .table-sm th,
  .bootstrap-4 .table-sm td {
    padding: 0.3rem; }
  .bootstrap-4 .table-bordered {
    border: 1px solid #dee2e6; }
    .bootstrap-4 .table-bordered th,
    .bootstrap-4 .table-bordered td {
      border: 1px solid #dee2e6; }
    .bootstrap-4 .table-bordered thead th,
    .bootstrap-4 .table-bordered thead td {
      border-bottom-width: 2px; }
  .bootstrap-4 .table-striped tbody tr:nth-of-type(odd) {
    background-color: rgba(0, 0, 0, 0.05); }
  .bootstrap-4 .table-hover tbody tr:hover {
    background-color: rgba(0, 0, 0, 0.075); }
  .bootstrap-4 .table-primary,
  .bootstrap-4 .table-primary > th,
  .bootstrap-4 .table-primary > td {
    background-color: #b8daff; }
  .bootstrap-4 .table-hover .table-primary:hover {
    background-color: #9fcdff; }
    .bootstrap-4 .table-hover .table-primary:hover > td,
    .bootstrap-4 .table-hover .table-primary:hover > th {
      background-color: #9fcdff; }
  .bootstrap-4 .table-secondary,
  .bootstrap-4 .table-secondary > th,
  .bootstrap-4 .table-secondary > td {
    background-color: #d6d8db; }
  .bootstrap-4 .table-hover .table-secondary:hover {
    background-color: #c8cbcf; }
    .bootstrap-4 .table-hover .table-secondary:hover > td,
    .bootstrap-4 .table-hover .table-secondary:hover > th {
      background-color: #c8cbcf; }
  .bootstrap-4 .table-success,
  .bootstrap-4 .table-success > th,
  .bootstrap-4 .table-success > td {
    background-color: #c3e6cb; }
  .bootstrap-4 .table-hover .table-success:hover {
    background-color: #b1dfbb; }
    .bootstrap-4 .table-hover .table-success:hover > td,
    .bootstrap-4 .table-hover .table-success:hover > th {
      background-color: #b1dfbb; }
  .bootstrap-4 .table-info,
  .bootstrap-4 .table-info > th,
  .bootstrap-4 .table-info > td {
    background-color: #bee5eb; }
  .bootstrap-4 .table-hover .table-info:hover {
    background-color: #abdde5; }
    .bootstrap-4 .table-hover .table-info:hover > td,
    .bootstrap-4 .table-hover .table-info:hover > th {
      background-color: #abdde5; }
  .bootstrap-4 .table-warning,
  .bootstrap-4 .table-warning > th,
  .bootstrap-4 .table-warning > td {
    background-color: #ffeeba; }
  .bootstrap-4 .table-hover .table-warning:hover {
    background-color: #ffe8a1; }
    .bootstrap-4 .table-hover .table-warning:hover > td,
    .bootstrap-4 .table-hover .table-warning:hover > th {
      background-color: #ffe8a1; }
  .bootstrap-4 .table-danger,
  .bootstrap-4 .table-danger > th,
  .bootstrap-4 .table-danger > td {
    background-color: #f5c6cb; }
  .bootstrap-4 .table-hover .table-danger:hover {
    background-color: #f1b0b7; }
    .bootstrap-4 .table-hover .table-danger:hover > td,
    .bootstrap-4 .table-hover .table-danger:hover > th {
      background-color: #f1b0b7; }
  .bootstrap-4 .table-light,
  .bootstrap-4 .table-light > th,
  .bootstrap-4 .table-light > td {
    background-color: #fdfdfe; }
  .bootstrap-4 .table-hover .table-light:hover {
    background-color: #ececf6; }
    .bootstrap-4 .table-hover .table-light:hover > td,
    .bootstrap-4 .table-hover .table-light:hover > th {
      background-color: #ececf6; }
  .bootstrap-4 .table-dark,
  .bootstrap-4 .table-dark > th,
  .bootstrap-4 .table-dark > td {
    background-color: #c6c8ca; }
  .bootstrap-4 .table-hover .table-dark:hover {
    background-color: #b9bbbe; }
    .bootstrap-4 .table-hover .table-dark:hover > td,
    .bootstrap-4 .table-hover .table-dark:hover > th {
      background-color: #b9bbbe; }
  .bootstrap-4 .table-active,
  .bootstrap-4 .table-active > th,
  .bootstrap-4 .table-active > td {
    background-color: rgba(0, 0, 0, 0.075); }
  .bootstrap-4 .table-hover .table-active:hover {
    background-color: rgba(0, 0, 0, 0.075); }
    .bootstrap-4 .table-hover .table-active:hover > td,
    .bootstrap-4 .table-hover .table-active:hover > th {
      background-color: rgba(0, 0, 0, 0.075); }
  .bootstrap-4 .table .thead-dark th {
    color: #fff;
    background-color: #212529;
    border-color: #32383e; }
  .bootstrap-4 .table .thead-light th {
    color: #495057;
    background-color: #e9ecef;
    border-color: #dee2e6; }
  .bootstrap-4 .table-dark {
    color: #fff;
    background-color: #212529; }
    .bootstrap-4 .table-dark th,
    .bootstrap-4 .table-dark td,
    .bootstrap-4 .table-dark thead th {
      border-color: #32383e; }
    .bootstrap-4 .table-dark.table-bordered {
      border: 0; }
    .bootstrap-4 .table-dark.table-striped tbody tr:nth-of-type(odd) {
      background-color: rgba(255, 255, 255, 0.05); }
    .bootstrap-4 .table-dark.table-hover tbody tr:hover {
      background-color: rgba(255, 255, 255, 0.075); }
  @media (max-width: 575.98px) {
    .bootstrap-4 .table-responsive-sm {
      display: block;
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: -ms-autohiding-scrollbar; }
      .bootstrap-4 .table-responsive-sm > .table-bordered {
        border: 0; } }
  @media (max-width: 767.98px) {
    .bootstrap-4 .table-responsive-md {
      display: block;
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: -ms-autohiding-scrollbar; }
      .bootstrap-4 .table-responsive-md > .table-bordered {
        border: 0; } }
  @media (max-width: 991.98px) {
    .bootstrap-4 .table-responsive-lg {
      display: block;
      width: 100%;
      overflow-x: auto;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: -ms-autohiding-scrollbar; }
      .bootstrap-4 .table-responsive-lg > .table-bordered {
        border: 0; } }
  .bootstrap-4 .table-responsive {
    display: block;
    width: 100%;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .bootstrap-4 .table-responsive > .table-bordered {
      border: 0; }
  .bootstrap-4 .form-control {
    display: block;
    width: 100%;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    .bootstrap-4 .form-control::-ms-expand {
      background-color: transparent;
      border: 0; }
    .bootstrap-4 .form-control:focus {
      color: #495057;
      background-color: #fff;
      border-color: #80bdff;
      outline: 0;
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-4 .form-control:-ms-input-placeholder {
      color: #6c757d;
      opacity: 1; }
    .bootstrap-4 .form-control::placeholder {
      color: #6c757d;
      opacity: 1; }
    .bootstrap-4 .form-control:disabled, .bootstrap-4 .form-control[readonly] {
      background-color: #e9ecef;
      opacity: 1; }
  .bootstrap-4 select.form-control:not([size]):not([multiple]) {
    height: calc(2.25rem + 2px); }
  .bootstrap-4 select.form-control:focus::-ms-value {
    color: #495057;
    background-color: #fff; }
  .bootstrap-4 .form-control-file,
  .bootstrap-4 .form-control-range {
    display: block;
    width: 100%; }
  .bootstrap-4 .col-form-label {
    padding-top: calc(0.375rem + 1px);
    padding-bottom: calc(0.375rem + 1px);
    margin-bottom: 0;
    font-size: inherit;
    line-height: 1.5; }
  .bootstrap-4 .col-form-label-lg {
    padding-top: calc(0.5rem + 1px);
    padding-bottom: calc(0.5rem + 1px);
    font-size: 1.25rem;
    line-height: 1.5; }
  .bootstrap-4 .col-form-label-sm {
    padding-top: calc(0.25rem + 1px);
    padding-bottom: calc(0.25rem + 1px);
    font-size: 0.875rem;
    line-height: 1.5; }
  .bootstrap-4 .form-control-plaintext {
    display: block;
    width: 100%;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    margin-bottom: 0;
    line-height: 1.5;
    background-color: transparent;
    border: solid transparent;
    border-width: 1px 0; }
    .bootstrap-4 .form-control-plaintext.form-control-sm, .bootstrap-4 .input-group-sm > .form-control-plaintext.form-control, .bootstrap-4 .input-group-sm > .input-group-prepend > .form-control-plaintext.input-group-text, .bootstrap-4 .input-group-sm > .input-group-append > .form-control-plaintext.input-group-text, .bootstrap-4 .input-group-sm > .input-group-prepend > .form-control-plaintext.btn, .bootstrap-4 .input-group-sm > .input-group-append > .form-control-plaintext.btn, .bootstrap-4 .form-control-plaintext.form-control-lg, .bootstrap-4 .input-group-lg > .form-control-plaintext.form-control, .bootstrap-4 .input-group-lg > .input-group-prepend > .form-control-plaintext.input-group-text, .bootstrap-4 .input-group-lg > .input-group-append > .form-control-plaintext.input-group-text, .bootstrap-4 .input-group-lg > .input-group-prepend > .form-control-plaintext.btn, .bootstrap-4 .input-group-lg > .input-group-append > .form-control-plaintext.btn {
      padding-right: 0;
      padding-left: 0; }
  .bootstrap-4 .form-control-sm, .bootstrap-4 .input-group-sm > .form-control, .bootstrap-4 .input-group-sm > .input-group-prepend > .input-group-text, .bootstrap-4 .input-group-sm > .input-group-append > .input-group-text, .bootstrap-4 .input-group-sm > .input-group-prepend > .btn, .bootstrap-4 .input-group-sm > .input-group-append > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem; }
  .bootstrap-4 select.form-control-sm:not([size]):not([multiple]), .bootstrap-4 .input-group-sm > select.form-control:not([size]):not([multiple]), .bootstrap-4 .input-group-sm > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .bootstrap-4 .input-group-sm > .input-group-append > select.input-group-text:not([size]):not([multiple]), .bootstrap-4 .input-group-sm > .input-group-prepend > select.btn:not([size]):not([multiple]), .bootstrap-4 .input-group-sm > .input-group-append > select.btn:not([size]):not([multiple]) {
    height: calc(1.8125rem + 2px); }
  .bootstrap-4 .form-control-lg, .bootstrap-4 .input-group-lg > .form-control, .bootstrap-4 .input-group-lg > .input-group-prepend > .input-group-text, .bootstrap-4 .input-group-lg > .input-group-append > .input-group-text, .bootstrap-4 .input-group-lg > .input-group-prepend > .btn, .bootstrap-4 .input-group-lg > .input-group-append > .btn {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem; }
  .bootstrap-4 select.form-control-lg:not([size]):not([multiple]), .bootstrap-4 .input-group-lg > select.form-control:not([size]):not([multiple]), .bootstrap-4 .input-group-lg > .input-group-prepend > select.input-group-text:not([size]):not([multiple]), .bootstrap-4 .input-group-lg > .input-group-append > select.input-group-text:not([size]):not([multiple]), .bootstrap-4 .input-group-lg > .input-group-prepend > select.btn:not([size]):not([multiple]), .bootstrap-4 .input-group-lg > .input-group-append > select.btn:not([size]):not([multiple]) {
    height: calc(2.875rem + 2px); }
  .bootstrap-4 .form-group {
    margin-bottom: 1rem; }
  .bootstrap-4 .form-text {
    display: block;
    margin-top: 0.25rem; }
  .bootstrap-4 .form-row {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-right: -5px;
    margin-left: -5px; }
    .bootstrap-4 .form-row > .col,
    .bootstrap-4 .form-row > [class*="col-"] {
      padding-right: 5px;
      padding-left: 5px; }
  .bootstrap-4 .form-check {
    position: relative;
    display: block;
    padding-left: 1.25rem; }
  .bootstrap-4 .form-check-input {
    position: absolute;
    margin-top: 0.3rem;
    margin-left: -1.25rem; }
    .bootstrap-4 .form-check-input:disabled ~ .form-check-label {
      color: #6c757d; }
  .bootstrap-4 .form-check-label {
    margin-bottom: 0; }
  .bootstrap-4 .form-check-inline {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    padding-left: 0;
    margin-right: 0.75rem; }
    .bootstrap-4 .form-check-inline .form-check-input {
      position: static;
      margin-top: 0;
      margin-right: 0.3125rem;
      margin-left: 0; }
  .bootstrap-4 .valid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #28a745; }
  .bootstrap-4 .valid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    line-height: 1;
    color: #fff;
    background-color: rgba(40, 167, 69, 0.8);
    border-radius: .2rem; }
  .was-validated .bootstrap-4 .form-control:valid, .bootstrap-4 .form-control.is-valid, .was-validated
  .bootstrap-4 .custom-select:valid,
  .bootstrap-4 .custom-select.is-valid {
    border-color: #28a745; }
    .was-validated .bootstrap-4 .form-control:valid:focus, .bootstrap-4 .form-control.is-valid:focus, .was-validated
    .bootstrap-4 .custom-select:valid:focus,
    .bootstrap-4 .custom-select.is-valid:focus {
      border-color: #28a745;
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
    .was-validated .bootstrap-4 .form-control:valid ~ .valid-feedback,
    .was-validated .bootstrap-4 .form-control:valid ~ .valid-tooltip, .bootstrap-4 .form-control.is-valid ~ .valid-feedback,
    .bootstrap-4 .form-control.is-valid ~ .valid-tooltip, .was-validated
    .bootstrap-4 .custom-select:valid ~ .valid-feedback,
    .was-validated
    .bootstrap-4 .custom-select:valid ~ .valid-tooltip,
    .bootstrap-4 .custom-select.is-valid ~ .valid-feedback,
    .bootstrap-4 .custom-select.is-valid ~ .valid-tooltip {
      display: block; }
  .was-validated .bootstrap-4 .form-check-input:valid ~ .form-check-label, .bootstrap-4 .form-check-input.is-valid ~ .form-check-label {
    color: #28a745; }
  .was-validated .bootstrap-4 .form-check-input:valid ~ .valid-feedback,
  .was-validated .bootstrap-4 .form-check-input:valid ~ .valid-tooltip, .bootstrap-4 .form-check-input.is-valid ~ .valid-feedback,
  .bootstrap-4 .form-check-input.is-valid ~ .valid-tooltip {
    display: block; }
  .was-validated .bootstrap-4 .custom-control-input:valid ~ .custom-control-label, .bootstrap-4 .custom-control-input.is-valid ~ .custom-control-label {
    color: #28a745; }
    .was-validated .bootstrap-4 .custom-control-input:valid ~ .custom-control-label::before, .bootstrap-4 .custom-control-input.is-valid ~ .custom-control-label::before {
      background-color: #71dd8a; }
  .was-validated .bootstrap-4 .custom-control-input:valid ~ .valid-feedback,
  .was-validated .bootstrap-4 .custom-control-input:valid ~ .valid-tooltip, .bootstrap-4 .custom-control-input.is-valid ~ .valid-feedback,
  .bootstrap-4 .custom-control-input.is-valid ~ .valid-tooltip {
    display: block; }
  .was-validated .bootstrap-4 .custom-control-input:valid:checked ~ .custom-control-label::before, .bootstrap-4 .custom-control-input.is-valid:checked ~ .custom-control-label::before {
    background-color: #34ce57; }
  .was-validated .bootstrap-4 .custom-control-input:valid:focus ~ .custom-control-label::before, .bootstrap-4 .custom-control-input.is-valid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
  .was-validated .bootstrap-4 .custom-file-input:valid ~ .custom-file-label, .bootstrap-4 .custom-file-input.is-valid ~ .custom-file-label {
    border-color: #28a745; }
    .was-validated .bootstrap-4 .custom-file-input:valid ~ .custom-file-label::before, .bootstrap-4 .custom-file-input.is-valid ~ .custom-file-label::before {
      border-color: inherit; }
  .was-validated .bootstrap-4 .custom-file-input:valid ~ .valid-feedback,
  .was-validated .bootstrap-4 .custom-file-input:valid ~ .valid-tooltip, .bootstrap-4 .custom-file-input.is-valid ~ .valid-feedback,
  .bootstrap-4 .custom-file-input.is-valid ~ .valid-tooltip {
    display: block; }
  .was-validated .bootstrap-4 .custom-file-input:valid:focus ~ .custom-file-label, .bootstrap-4 .custom-file-input.is-valid:focus ~ .custom-file-label {
    box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.25); }
  .bootstrap-4 .invalid-feedback {
    display: none;
    width: 100%;
    margin-top: 0.25rem;
    font-size: 80%;
    color: #dc3545; }
  .bootstrap-4 .invalid-tooltip {
    position: absolute;
    top: 100%;
    z-index: 5;
    display: none;
    max-width: 100%;
    padding: .5rem;
    margin-top: .1rem;
    font-size: .875rem;
    line-height: 1;
    color: #fff;
    background-color: rgba(220, 53, 69, 0.8);
    border-radius: .2rem; }
  .was-validated .bootstrap-4 .form-control:invalid, .bootstrap-4 .form-control.is-invalid, .was-validated
  .bootstrap-4 .custom-select:invalid,
  .bootstrap-4 .custom-select.is-invalid {
    border-color: #dc3545; }
    .was-validated .bootstrap-4 .form-control:invalid:focus, .bootstrap-4 .form-control.is-invalid:focus, .was-validated
    .bootstrap-4 .custom-select:invalid:focus,
    .bootstrap-4 .custom-select.is-invalid:focus {
      border-color: #dc3545;
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
    .was-validated .bootstrap-4 .form-control:invalid ~ .invalid-feedback,
    .was-validated .bootstrap-4 .form-control:invalid ~ .invalid-tooltip, .bootstrap-4 .form-control.is-invalid ~ .invalid-feedback,
    .bootstrap-4 .form-control.is-invalid ~ .invalid-tooltip, .was-validated
    .bootstrap-4 .custom-select:invalid ~ .invalid-feedback,
    .was-validated
    .bootstrap-4 .custom-select:invalid ~ .invalid-tooltip,
    .bootstrap-4 .custom-select.is-invalid ~ .invalid-feedback,
    .bootstrap-4 .custom-select.is-invalid ~ .invalid-tooltip {
      display: block; }
  .was-validated .bootstrap-4 .form-check-input:invalid ~ .form-check-label, .bootstrap-4 .form-check-input.is-invalid ~ .form-check-label {
    color: #dc3545; }
  .was-validated .bootstrap-4 .form-check-input:invalid ~ .invalid-feedback,
  .was-validated .bootstrap-4 .form-check-input:invalid ~ .invalid-tooltip, .bootstrap-4 .form-check-input.is-invalid ~ .invalid-feedback,
  .bootstrap-4 .form-check-input.is-invalid ~ .invalid-tooltip {
    display: block; }
  .was-validated .bootstrap-4 .custom-control-input:invalid ~ .custom-control-label, .bootstrap-4 .custom-control-input.is-invalid ~ .custom-control-label {
    color: #dc3545; }
    .was-validated .bootstrap-4 .custom-control-input:invalid ~ .custom-control-label::before, .bootstrap-4 .custom-control-input.is-invalid ~ .custom-control-label::before {
      background-color: #efa2a9; }
  .was-validated .bootstrap-4 .custom-control-input:invalid ~ .invalid-feedback,
  .was-validated .bootstrap-4 .custom-control-input:invalid ~ .invalid-tooltip, .bootstrap-4 .custom-control-input.is-invalid ~ .invalid-feedback,
  .bootstrap-4 .custom-control-input.is-invalid ~ .invalid-tooltip {
    display: block; }
  .was-validated .bootstrap-4 .custom-control-input:invalid:checked ~ .custom-control-label::before, .bootstrap-4 .custom-control-input.is-invalid:checked ~ .custom-control-label::before {
    background-color: #e4606d; }
  .was-validated .bootstrap-4 .custom-control-input:invalid:focus ~ .custom-control-label::before, .bootstrap-4 .custom-control-input.is-invalid:focus ~ .custom-control-label::before {
    box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .was-validated .bootstrap-4 .custom-file-input:invalid ~ .custom-file-label, .bootstrap-4 .custom-file-input.is-invalid ~ .custom-file-label {
    border-color: #dc3545; }
    .was-validated .bootstrap-4 .custom-file-input:invalid ~ .custom-file-label::before, .bootstrap-4 .custom-file-input.is-invalid ~ .custom-file-label::before {
      border-color: inherit; }
  .was-validated .bootstrap-4 .custom-file-input:invalid ~ .invalid-feedback,
  .was-validated .bootstrap-4 .custom-file-input:invalid ~ .invalid-tooltip, .bootstrap-4 .custom-file-input.is-invalid ~ .invalid-feedback,
  .bootstrap-4 .custom-file-input.is-invalid ~ .invalid-tooltip {
    display: block; }
  .was-validated .bootstrap-4 .custom-file-input:invalid:focus ~ .custom-file-label, .bootstrap-4 .custom-file-input.is-invalid:focus ~ .custom-file-label {
    box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.25); }
  .bootstrap-4 .form-inline {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-flow: row wrap;
        flex-flow: row wrap;
    -ms-flex-align: center;
        align-items: center; }
    .bootstrap-4 .form-inline .form-check {
      width: 100%; }
    @media (min-width: 576px) {
      .bootstrap-4 .form-inline label {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
        margin-bottom: 0; }
      .bootstrap-4 .form-inline .form-group {
        display: -ms-flexbox;
        display: flex;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
        -ms-flex-align: center;
            align-items: center;
        margin-bottom: 0; }
      .bootstrap-4 .form-inline .form-control {
        display: inline-block;
        width: auto;
        vertical-align: middle; }
      .bootstrap-4 .form-inline .form-control-plaintext {
        display: inline-block; }
      .bootstrap-4 .form-inline .input-group {
        width: auto; }
      .bootstrap-4 .form-inline .form-check {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center;
        width: auto;
        padding-left: 0; }
      .bootstrap-4 .form-inline .form-check-input {
        position: relative;
        margin-top: 0;
        margin-right: 0.25rem;
        margin-left: 0; }
      .bootstrap-4 .form-inline .custom-control {
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: center;
            justify-content: center; }
      .bootstrap-4 .form-inline .custom-control-label {
        margin-bottom: 0; } }
  .bootstrap-4 .btn {
    display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: 0.25rem;
    transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out, border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out; }
    .bootstrap-4 .btn:hover, .bootstrap-4 .btn:focus {
      text-decoration: none; }
    .bootstrap-4 .btn:focus, .bootstrap-4 .btn.focus {
      outline: 0;
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-4 .btn.disabled, .bootstrap-4 .btn:disabled {
      opacity: 0.65; }
    .bootstrap-4 .btn:not(:disabled):not(.disabled) {
      cursor: pointer; }
    .bootstrap-4 .btn:not(:disabled):not(.disabled):active, .bootstrap-4 .btn:not(:disabled):not(.disabled).active {
      background-image: none; }
  .bootstrap-4 a.btn.disabled,
  .bootstrap-4 fieldset:disabled a.btn {
    pointer-events: none; }
  .bootstrap-4 .btn-primary {
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
    .bootstrap-4 .btn-primary:hover {
      color: #fff;
      background-color: #0069d9;
      border-color: #0062cc; }
    .bootstrap-4 .btn-primary:focus, .bootstrap-4 .btn-primary.focus {
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
    .bootstrap-4 .btn-primary.disabled, .bootstrap-4 .btn-primary:disabled {
      color: #fff;
      background-color: #007bff;
      border-color: #007bff; }
    .bootstrap-4 .btn-primary:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-primary:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-primary.dropdown-toggle {
      color: #fff;
      background-color: #0062cc;
      border-color: #005cbf; }
      .bootstrap-4 .btn-primary:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-primary:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-primary.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .bootstrap-4 .btn-secondary {
    color: #fff;
    background-color: #6c757d;
    border-color: #6c757d; }
    .bootstrap-4 .btn-secondary:hover {
      color: #fff;
      background-color: #5a6268;
      border-color: #545b62; }
    .bootstrap-4 .btn-secondary:focus, .bootstrap-4 .btn-secondary.focus {
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
    .bootstrap-4 .btn-secondary.disabled, .bootstrap-4 .btn-secondary:disabled {
      color: #fff;
      background-color: #6c757d;
      border-color: #6c757d; }
    .bootstrap-4 .btn-secondary:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-secondary:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-secondary.dropdown-toggle {
      color: #fff;
      background-color: #545b62;
      border-color: #4e555b; }
      .bootstrap-4 .btn-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-secondary:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-secondary.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .bootstrap-4 .btn-success {
    color: #fff;
    background-color: #28a745;
    border-color: #28a745; }
    .bootstrap-4 .btn-success:hover {
      color: #fff;
      background-color: #218838;
      border-color: #1e7e34; }
    .bootstrap-4 .btn-success:focus, .bootstrap-4 .btn-success.focus {
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
    .bootstrap-4 .btn-success.disabled, .bootstrap-4 .btn-success:disabled {
      color: #fff;
      background-color: #28a745;
      border-color: #28a745; }
    .bootstrap-4 .btn-success:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-success:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-success.dropdown-toggle {
      color: #fff;
      background-color: #1e7e34;
      border-color: #1c7430; }
      .bootstrap-4 .btn-success:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-success:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-success.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .bootstrap-4 .btn-info {
    color: #fff;
    background-color: #17a2b8;
    border-color: #17a2b8; }
    .bootstrap-4 .btn-info:hover {
      color: #fff;
      background-color: #138496;
      border-color: #117a8b; }
    .bootstrap-4 .btn-info:focus, .bootstrap-4 .btn-info.focus {
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
    .bootstrap-4 .btn-info.disabled, .bootstrap-4 .btn-info:disabled {
      color: #fff;
      background-color: #17a2b8;
      border-color: #17a2b8; }
    .bootstrap-4 .btn-info:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-info:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-info.dropdown-toggle {
      color: #fff;
      background-color: #117a8b;
      border-color: #10707f; }
      .bootstrap-4 .btn-info:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-info:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-info.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .bootstrap-4 .btn-warning {
    color: #212529;
    background-color: #ffc107;
    border-color: #ffc107; }
    .bootstrap-4 .btn-warning:hover {
      color: #212529;
      background-color: #e0a800;
      border-color: #d39e00; }
    .bootstrap-4 .btn-warning:focus, .bootstrap-4 .btn-warning.focus {
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
    .bootstrap-4 .btn-warning.disabled, .bootstrap-4 .btn-warning:disabled {
      color: #212529;
      background-color: #ffc107;
      border-color: #ffc107; }
    .bootstrap-4 .btn-warning:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-warning:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-warning.dropdown-toggle {
      color: #212529;
      background-color: #d39e00;
      border-color: #c69500; }
      .bootstrap-4 .btn-warning:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-warning:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-warning.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .bootstrap-4 .btn-danger {
    color: #fff;
    background-color: #dc3545;
    border-color: #dc3545; }
    .bootstrap-4 .btn-danger:hover {
      color: #fff;
      background-color: #c82333;
      border-color: #bd2130; }
    .bootstrap-4 .btn-danger:focus, .bootstrap-4 .btn-danger.focus {
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
    .bootstrap-4 .btn-danger.disabled, .bootstrap-4 .btn-danger:disabled {
      color: #fff;
      background-color: #dc3545;
      border-color: #dc3545; }
    .bootstrap-4 .btn-danger:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-danger:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-danger.dropdown-toggle {
      color: #fff;
      background-color: #bd2130;
      border-color: #b21f2d; }
      .bootstrap-4 .btn-danger:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-danger:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-danger.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .bootstrap-4 .btn-light {
    color: #212529;
    background-color: #f8f9fa;
    border-color: #f8f9fa; }
    .bootstrap-4 .btn-light:hover {
      color: #212529;
      background-color: #e2e6ea;
      border-color: #dae0e5; }
    .bootstrap-4 .btn-light:focus, .bootstrap-4 .btn-light.focus {
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
    .bootstrap-4 .btn-light.disabled, .bootstrap-4 .btn-light:disabled {
      color: #212529;
      background-color: #f8f9fa;
      border-color: #f8f9fa; }
    .bootstrap-4 .btn-light:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-light:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-light.dropdown-toggle {
      color: #212529;
      background-color: #dae0e5;
      border-color: #d3d9df; }
      .bootstrap-4 .btn-light:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-light:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-light.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .bootstrap-4 .btn-dark {
    color: #fff;
    background-color: #343a40;
    border-color: #343a40; }
    .bootstrap-4 .btn-dark:hover {
      color: #fff;
      background-color: #23272b;
      border-color: #1d2124; }
    .bootstrap-4 .btn-dark:focus, .bootstrap-4 .btn-dark.focus {
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
    .bootstrap-4 .btn-dark.disabled, .bootstrap-4 .btn-dark:disabled {
      color: #fff;
      background-color: #343a40;
      border-color: #343a40; }
    .bootstrap-4 .btn-dark:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-dark:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-dark.dropdown-toggle {
      color: #fff;
      background-color: #1d2124;
      border-color: #171a1d; }
      .bootstrap-4 .btn-dark:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-dark:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-dark.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .bootstrap-4 .btn-outline-primary {
    color: #007bff;
    background-color: transparent;
    background-image: none;
    border-color: #007bff; }
    .bootstrap-4 .btn-outline-primary:hover {
      color: #fff;
      background-color: #007bff;
      border-color: #007bff; }
    .bootstrap-4 .btn-outline-primary:focus, .bootstrap-4 .btn-outline-primary.focus {
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
    .bootstrap-4 .btn-outline-primary.disabled, .bootstrap-4 .btn-outline-primary:disabled {
      color: #007bff;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-primary:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-primary:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-primary.dropdown-toggle {
      color: #fff;
      background-color: #007bff;
      border-color: #007bff; }
      .bootstrap-4 .btn-outline-primary:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-primary:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-primary.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.5); }
  .bootstrap-4 .btn-outline-secondary {
    color: #6c757d;
    background-color: transparent;
    background-image: none;
    border-color: #6c757d; }
    .bootstrap-4 .btn-outline-secondary:hover {
      color: #fff;
      background-color: #6c757d;
      border-color: #6c757d; }
    .bootstrap-4 .btn-outline-secondary:focus, .bootstrap-4 .btn-outline-secondary.focus {
      box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
    .bootstrap-4 .btn-outline-secondary.disabled, .bootstrap-4 .btn-outline-secondary:disabled {
      color: #6c757d;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-secondary:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-secondary:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-secondary.dropdown-toggle {
      color: #fff;
      background-color: #6c757d;
      border-color: #6c757d; }
      .bootstrap-4 .btn-outline-secondary:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-secondary:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-secondary.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(108, 117, 125, 0.5); }
  .bootstrap-4 .btn-outline-success {
    color: #28a745;
    background-color: transparent;
    background-image: none;
    border-color: #28a745; }
    .bootstrap-4 .btn-outline-success:hover {
      color: #fff;
      background-color: #28a745;
      border-color: #28a745; }
    .bootstrap-4 .btn-outline-success:focus, .bootstrap-4 .btn-outline-success.focus {
      box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
    .bootstrap-4 .btn-outline-success.disabled, .bootstrap-4 .btn-outline-success:disabled {
      color: #28a745;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-success:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-success:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-success.dropdown-toggle {
      color: #fff;
      background-color: #28a745;
      border-color: #28a745; }
      .bootstrap-4 .btn-outline-success:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-success:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-success.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(40, 167, 69, 0.5); }
  .bootstrap-4 .btn-outline-info {
    color: #17a2b8;
    background-color: transparent;
    background-image: none;
    border-color: #17a2b8; }
    .bootstrap-4 .btn-outline-info:hover {
      color: #fff;
      background-color: #17a2b8;
      border-color: #17a2b8; }
    .bootstrap-4 .btn-outline-info:focus, .bootstrap-4 .btn-outline-info.focus {
      box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
    .bootstrap-4 .btn-outline-info.disabled, .bootstrap-4 .btn-outline-info:disabled {
      color: #17a2b8;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-info:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-info:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-info.dropdown-toggle {
      color: #fff;
      background-color: #17a2b8;
      border-color: #17a2b8; }
      .bootstrap-4 .btn-outline-info:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-info:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-info.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(23, 162, 184, 0.5); }
  .bootstrap-4 .btn-outline-warning {
    color: #ffc107;
    background-color: transparent;
    background-image: none;
    border-color: #ffc107; }
    .bootstrap-4 .btn-outline-warning:hover {
      color: #212529;
      background-color: #ffc107;
      border-color: #ffc107; }
    .bootstrap-4 .btn-outline-warning:focus, .bootstrap-4 .btn-outline-warning.focus {
      box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
    .bootstrap-4 .btn-outline-warning.disabled, .bootstrap-4 .btn-outline-warning:disabled {
      color: #ffc107;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-warning:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-warning:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-warning.dropdown-toggle {
      color: #212529;
      background-color: #ffc107;
      border-color: #ffc107; }
      .bootstrap-4 .btn-outline-warning:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-warning:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-warning.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(255, 193, 7, 0.5); }
  .bootstrap-4 .btn-outline-danger {
    color: #dc3545;
    background-color: transparent;
    background-image: none;
    border-color: #dc3545; }
    .bootstrap-4 .btn-outline-danger:hover {
      color: #fff;
      background-color: #dc3545;
      border-color: #dc3545; }
    .bootstrap-4 .btn-outline-danger:focus, .bootstrap-4 .btn-outline-danger.focus {
      box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
    .bootstrap-4 .btn-outline-danger.disabled, .bootstrap-4 .btn-outline-danger:disabled {
      color: #dc3545;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-danger:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-danger:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-danger.dropdown-toggle {
      color: #fff;
      background-color: #dc3545;
      border-color: #dc3545; }
      .bootstrap-4 .btn-outline-danger:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-danger:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-danger.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(220, 53, 69, 0.5); }
  .bootstrap-4 .btn-outline-light {
    color: #f8f9fa;
    background-color: transparent;
    background-image: none;
    border-color: #f8f9fa; }
    .bootstrap-4 .btn-outline-light:hover {
      color: #212529;
      background-color: #f8f9fa;
      border-color: #f8f9fa; }
    .bootstrap-4 .btn-outline-light:focus, .bootstrap-4 .btn-outline-light.focus {
      box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
    .bootstrap-4 .btn-outline-light.disabled, .bootstrap-4 .btn-outline-light:disabled {
      color: #f8f9fa;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-light:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-light:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-light.dropdown-toggle {
      color: #212529;
      background-color: #f8f9fa;
      border-color: #f8f9fa; }
      .bootstrap-4 .btn-outline-light:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-light:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-light.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(248, 249, 250, 0.5); }
  .bootstrap-4 .btn-outline-dark {
    color: #343a40;
    background-color: transparent;
    background-image: none;
    border-color: #343a40; }
    .bootstrap-4 .btn-outline-dark:hover {
      color: #fff;
      background-color: #343a40;
      border-color: #343a40; }
    .bootstrap-4 .btn-outline-dark:focus, .bootstrap-4 .btn-outline-dark.focus {
      box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
    .bootstrap-4 .btn-outline-dark.disabled, .bootstrap-4 .btn-outline-dark:disabled {
      color: #343a40;
      background-color: transparent; }
    .bootstrap-4 .btn-outline-dark:not(:disabled):not(.disabled):active, .bootstrap-4 .btn-outline-dark:not(:disabled):not(.disabled).active,
    .show > .bootstrap-4 .btn-outline-dark.dropdown-toggle {
      color: #fff;
      background-color: #343a40;
      border-color: #343a40; }
      .bootstrap-4 .btn-outline-dark:not(:disabled):not(.disabled):active:focus, .bootstrap-4 .btn-outline-dark:not(:disabled):not(.disabled).active:focus,
      .show > .bootstrap-4 .btn-outline-dark.dropdown-toggle:focus {
        box-shadow: 0 0 0 0.2rem rgba(52, 58, 64, 0.5); }
  .bootstrap-4 .btn-link {
    font-weight: 400;
    color: #007bff;
    background-color: transparent; }
    .bootstrap-4 .btn-link:hover {
      color: #0056b3;
      text-decoration: underline;
      background-color: transparent;
      border-color: transparent; }
    .bootstrap-4 .btn-link:focus, .bootstrap-4 .btn-link.focus {
      text-decoration: underline;
      border-color: transparent;
      box-shadow: none; }
    .bootstrap-4 .btn-link:disabled, .bootstrap-4 .btn-link.disabled {
      color: #6c757d; }
  .bootstrap-4 .btn-lg, .bootstrap-4 .btn-group-lg > .btn {
    padding: 0.5rem 1rem;
    font-size: 1.25rem;
    line-height: 1.5;
    border-radius: 0.3rem; }
  .bootstrap-4 .btn-sm, .bootstrap-4 .btn-group-sm > .btn {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5;
    border-radius: 0.2rem; }
  .bootstrap-4 .btn-block {
    display: block;
    width: 100%; }
    .bootstrap-4 .btn-block + .btn-block {
      margin-top: 0.5rem; }
  .bootstrap-4 input[type="submit"].btn-block,
  .bootstrap-4 input[type="reset"].btn-block,
  .bootstrap-4 input[type="button"].btn-block {
    width: 100%; }
  .bootstrap-4 .fade {
    opacity: 0;
    transition: opacity 0.15s linear; }
    .bootstrap-4 .fade.show {
      opacity: 1; }
  .bootstrap-4 .collapse {
    display: none; }
    .bootstrap-4 .collapse.show {
      display: block; }
  .bootstrap-4 tr.collapse.show {
    display: table-row; }
  .bootstrap-4 tbody.collapse.show {
    display: table-row-group; }
  .bootstrap-4 .collapsing {
    position: relative;
    height: 0;
    overflow: hidden;
    transition: height 0.35s ease; }
  .bootstrap-4 .dropup,
  .bootstrap-4 .dropdown {
    position: relative; }
  .bootstrap-4 .dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid;
    border-right: 0.3em solid transparent;
    border-bottom: 0;
    border-left: 0.3em solid transparent; }
  .bootstrap-4 .dropdown-toggle:empty::after {
    margin-left: 0; }
  .bootstrap-4 .dropdown-menu {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1000;
    display: none;
    float: left;
    min-width: 10rem;
    padding: 0.5rem 0;
    margin: 0.125rem 0 0;
    font-size: 1rem;
    color: #212529;
    text-align: left;
    list-style: none;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.15);
    border-radius: 0.25rem; }
  .bootstrap-4 .dropup .dropdown-menu {
    margin-top: 0;
    margin-bottom: 0.125rem; }
  .bootstrap-4 .dropup .dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0;
    border-right: 0.3em solid transparent;
    border-bottom: 0.3em solid;
    border-left: 0.3em solid transparent; }
  .bootstrap-4 .dropup .dropdown-toggle:empty::after {
    margin-left: 0; }
  .bootstrap-4 .dropright .dropdown-menu {
    margin-top: 0;
    margin-left: 0.125rem; }
  .bootstrap-4 .dropright .dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-bottom: 0.3em solid transparent;
    border-left: 0.3em solid; }
  .bootstrap-4 .dropright .dropdown-toggle:empty::after {
    margin-left: 0; }
  .bootstrap-4 .dropright .dropdown-toggle::after {
    vertical-align: 0; }
  .bootstrap-4 .dropleft .dropdown-menu {
    margin-top: 0;
    margin-right: 0.125rem; }
  .bootstrap-4 .dropleft .dropdown-toggle::after {
    display: inline-block;
    width: 0;
    height: 0;
    margin-left: 0.255em;
    vertical-align: 0.255em;
    content: ""; }
  .bootstrap-4 .dropleft .dropdown-toggle::after {
    display: none; }
  .bootstrap-4 .dropleft .dropdown-toggle::before {
    display: inline-block;
    width: 0;
    height: 0;
    margin-right: 0.255em;
    vertical-align: 0.255em;
    content: "";
    border-top: 0.3em solid transparent;
    border-right: 0.3em solid;
    border-bottom: 0.3em solid transparent; }
  .bootstrap-4 .dropleft .dropdown-toggle:empty::after {
    margin-left: 0; }
  .bootstrap-4 .dropleft .dropdown-toggle::before {
    vertical-align: 0; }
  .bootstrap-4 .dropdown-divider {
    height: 0;
    margin: 0.5rem 0;
    overflow: hidden;
    border-top: 1px solid #e9ecef; }
  .bootstrap-4 .dropdown-item {
    display: block;
    width: 100%;
    padding: 0.25rem 1.5rem;
    clear: both;
    font-weight: 400;
    color: #212529;
    text-align: inherit;
    white-space: nowrap;
    background-color: transparent;
    border: 0; }
    .bootstrap-4 .dropdown-item:hover, .bootstrap-4 .dropdown-item:focus {
      color: #16181b;
      text-decoration: none;
      background-color: #f8f9fa; }
    .bootstrap-4 .dropdown-item.active, .bootstrap-4 .dropdown-item:active {
      color: #fff;
      text-decoration: none;
      background-color: #007bff; }
    .bootstrap-4 .dropdown-item.disabled, .bootstrap-4 .dropdown-item:disabled {
      color: #6c757d;
      background-color: transparent; }
  .bootstrap-4 .dropdown-menu.show {
    display: block; }
  .bootstrap-4 .dropdown-header {
    display: block;
    padding: 0.5rem 1.5rem;
    margin-bottom: 0;
    font-size: 0.875rem;
    color: #6c757d;
    white-space: nowrap; }
  .bootstrap-4 .btn-group,
  .bootstrap-4 .btn-group-vertical {
    position: relative;
    display: -ms-inline-flexbox;
    display: inline-flex;
    vertical-align: middle; }
    .bootstrap-4 .btn-group > .btn,
    .bootstrap-4 .btn-group-vertical > .btn {
      position: relative;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto; }
      .bootstrap-4 .btn-group > .btn:hover,
      .bootstrap-4 .btn-group-vertical > .btn:hover {
        z-index: 1; }
      .bootstrap-4 .btn-group > .btn:focus, .bootstrap-4 .btn-group > .btn:active, .bootstrap-4 .btn-group > .btn.active,
      .bootstrap-4 .btn-group-vertical > .btn:focus,
      .bootstrap-4 .btn-group-vertical > .btn:active,
      .bootstrap-4 .btn-group-vertical > .btn.active {
        z-index: 1; }
    .bootstrap-4 .btn-group .btn + .btn,
    .bootstrap-4 .btn-group .btn + .btn-group,
    .bootstrap-4 .btn-group .btn-group + .btn,
    .bootstrap-4 .btn-group .btn-group + .btn-group,
    .bootstrap-4 .btn-group-vertical .btn + .btn,
    .bootstrap-4 .btn-group-vertical .btn + .btn-group,
    .bootstrap-4 .btn-group-vertical .btn-group + .btn,
    .bootstrap-4 .btn-group-vertical .btn-group + .btn-group {
      margin-left: -1px; }
  .bootstrap-4 .btn-toolbar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .bootstrap-4 .btn-toolbar .input-group {
      width: auto; }
  .bootstrap-4 .btn-group > .btn:first-child {
    margin-left: 0; }
  .bootstrap-4 .btn-group > .btn:not(:last-child):not(.dropdown-toggle),
  .bootstrap-4 .btn-group > .btn-group:not(:last-child) > .btn {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .bootstrap-4 .btn-group > .btn:not(:first-child),
  .bootstrap-4 .btn-group > .btn-group:not(:first-child) > .btn {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap-4 .dropdown-toggle-split {
    padding-right: 0.5625rem;
    padding-left: 0.5625rem; }
    .bootstrap-4 .dropdown-toggle-split::after {
      margin-left: 0; }
  .bootstrap-4 .btn-sm + .dropdown-toggle-split, .bootstrap-4 .btn-group-sm > .btn + .dropdown-toggle-split {
    padding-right: 0.375rem;
    padding-left: 0.375rem; }
  .bootstrap-4 .btn-lg + .dropdown-toggle-split, .bootstrap-4 .btn-group-lg > .btn + .dropdown-toggle-split {
    padding-right: 0.75rem;
    padding-left: 0.75rem; }
  .bootstrap-4 .btn-group-vertical {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: center;
        justify-content: center; }
    .bootstrap-4 .btn-group-vertical .btn,
    .bootstrap-4 .btn-group-vertical .btn-group {
      width: 100%; }
    .bootstrap-4 .btn-group-vertical > .btn + .btn,
    .bootstrap-4 .btn-group-vertical > .btn + .btn-group,
    .bootstrap-4 .btn-group-vertical > .btn-group + .btn,
    .bootstrap-4 .btn-group-vertical > .btn-group + .btn-group {
      margin-top: -1px;
      margin-left: 0; }
    .bootstrap-4 .btn-group-vertical > .btn:not(:last-child):not(.dropdown-toggle),
    .bootstrap-4 .btn-group-vertical > .btn-group:not(:last-child) > .btn {
      border-bottom-right-radius: 0;
      border-bottom-left-radius: 0; }
    .bootstrap-4 .btn-group-vertical > .btn:not(:first-child),
    .bootstrap-4 .btn-group-vertical > .btn-group:not(:first-child) > .btn {
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
  .bootstrap-4 .btn-group-toggle > .btn,
  .bootstrap-4 .btn-group-toggle > .btn-group > .btn {
    margin-bottom: 0; }
    .bootstrap-4 .btn-group-toggle > .btn input[type="radio"],
    .bootstrap-4 .btn-group-toggle > .btn input[type="checkbox"],
    .bootstrap-4 .btn-group-toggle > .btn-group > .btn input[type="radio"],
    .bootstrap-4 .btn-group-toggle > .btn-group > .btn input[type="checkbox"] {
      position: absolute;
      clip: rect(0, 0, 0, 0);
      pointer-events: none; }
  .bootstrap-4 .input-group {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100%; }
    .bootstrap-4 .input-group > .form-control,
    .bootstrap-4 .input-group > .custom-select,
    .bootstrap-4 .input-group > .custom-file {
      position: relative;
      -ms-flex: 1 1 auto;
          flex: 1 1 auto;
      width: 1%;
      margin-bottom: 0; }
      .bootstrap-4 .input-group > .form-control:focus,
      .bootstrap-4 .input-group > .custom-select:focus,
      .bootstrap-4 .input-group > .custom-file:focus {
        z-index: 3; }
      .bootstrap-4 .input-group > .form-control + .form-control,
      .bootstrap-4 .input-group > .form-control + .custom-select,
      .bootstrap-4 .input-group > .form-control + .custom-file,
      .bootstrap-4 .input-group > .custom-select + .form-control,
      .bootstrap-4 .input-group > .custom-select + .custom-select,
      .bootstrap-4 .input-group > .custom-select + .custom-file,
      .bootstrap-4 .input-group > .custom-file + .form-control,
      .bootstrap-4 .input-group > .custom-file + .custom-select,
      .bootstrap-4 .input-group > .custom-file + .custom-file {
        margin-left: -1px; }
    .bootstrap-4 .input-group > .form-control:not(:last-child),
    .bootstrap-4 .input-group > .custom-select:not(:last-child) {
      border-top-right-radius: 0;
      border-bottom-right-radius: 0; }
    .bootstrap-4 .input-group > .form-control:not(:first-child),
    .bootstrap-4 .input-group > .custom-select:not(:first-child) {
      border-top-left-radius: 0;
      border-bottom-left-radius: 0; }
    .bootstrap-4 .input-group > .custom-file {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      .bootstrap-4 .input-group > .custom-file:not(:last-child) .custom-file-label,
      .bootstrap-4 .input-group > .custom-file:not(:last-child) .custom-file-label::before {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0; }
      .bootstrap-4 .input-group > .custom-file:not(:first-child) .custom-file-label,
      .bootstrap-4 .input-group > .custom-file:not(:first-child) .custom-file-label::before {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0; }
  .bootstrap-4 .input-group-prepend,
  .bootstrap-4 .input-group-append {
    display: -ms-flexbox;
    display: flex; }
    .bootstrap-4 .input-group-prepend .btn,
    .bootstrap-4 .input-group-append .btn {
      position: relative;
      z-index: 2; }
    .bootstrap-4 .input-group-prepend .btn + .btn,
    .bootstrap-4 .input-group-prepend .btn + .input-group-text,
    .bootstrap-4 .input-group-prepend .input-group-text + .input-group-text,
    .bootstrap-4 .input-group-prepend .input-group-text + .btn,
    .bootstrap-4 .input-group-append .btn + .btn,
    .bootstrap-4 .input-group-append .btn + .input-group-text,
    .bootstrap-4 .input-group-append .input-group-text + .input-group-text,
    .bootstrap-4 .input-group-append .input-group-text + .btn {
      margin-left: -1px; }
  .bootstrap-4 .input-group-prepend {
    margin-right: -1px; }
  .bootstrap-4 .input-group-append {
    margin-left: -1px; }
  .bootstrap-4 .input-group-text {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 0.375rem 0.75rem;
    margin-bottom: 0;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: #495057;
    text-align: center;
    white-space: nowrap;
    background-color: #e9ecef;
    border: 1px solid #ced4da;
    border-radius: 0.25rem; }
    .bootstrap-4 .input-group-text input[type="radio"],
    .bootstrap-4 .input-group-text input[type="checkbox"] {
      margin-top: 0; }
  .bootstrap-4 .input-group > .input-group-prepend > .btn,
  .bootstrap-4 .input-group > .input-group-prepend > .input-group-text,
  .bootstrap-4 .input-group > .input-group-append:not(:last-child) > .btn,
  .bootstrap-4 .input-group > .input-group-append:not(:last-child) > .input-group-text,
  .bootstrap-4 .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
  .bootstrap-4 .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
    border-top-right-radius: 0;
    border-bottom-right-radius: 0; }
  .bootstrap-4 .input-group > .input-group-append > .btn,
  .bootstrap-4 .input-group > .input-group-append > .input-group-text,
  .bootstrap-4 .input-group > .input-group-prepend:not(:first-child) > .btn,
  .bootstrap-4 .input-group > .input-group-prepend:not(:first-child) > .input-group-text,
  .bootstrap-4 .input-group > .input-group-prepend:first-child > .btn:not(:first-child),
  .bootstrap-4 .input-group > .input-group-prepend:first-child > .input-group-text:not(:first-child) {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0; }
  .bootstrap-4 .custom-control {
    position: relative;
    display: block;
    min-height: 1.5rem;
    padding-left: 1.5rem; }
  .bootstrap-4 .custom-control-inline {
    display: -ms-inline-flexbox;
    display: inline-flex;
    margin-right: 1rem; }
  .bootstrap-4 .custom-control-input {
    position: absolute;
    z-index: -1;
    opacity: 0; }
    .bootstrap-4 .custom-control-input:checked ~ .custom-control-label::before {
      color: #fff;
      background-color: #007bff; }
    .bootstrap-4 .custom-control-input:focus ~ .custom-control-label::before {
      box-shadow: 0 0 0 1px #fff, 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-4 .custom-control-input:active ~ .custom-control-label::before {
      color: #fff;
      background-color: #b3d7ff; }
    .bootstrap-4 .custom-control-input:disabled ~ .custom-control-label {
      color: #6c757d; }
      .bootstrap-4 .custom-control-input:disabled ~ .custom-control-label::before {
        background-color: #e9ecef; }
  .bootstrap-4 .custom-control-label {
    margin-bottom: 0; }
    .bootstrap-4 .custom-control-label::before {
      position: absolute;
      top: 0.25rem;
      left: 0;
      display: block;
      width: 1rem;
      height: 1rem;
      pointer-events: none;
      content: "";
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      background-color: #dee2e6; }
    .bootstrap-4 .custom-control-label::after {
      position: absolute;
      top: 0.25rem;
      left: 0;
      display: block;
      width: 1rem;
      height: 1rem;
      content: "";
      background-repeat: no-repeat;
      background-position: center center;
      background-size: 50% 50%; }
  .bootstrap-4 .custom-checkbox .custom-control-label::before {
    border-radius: 0.25rem; }
  .bootstrap-4 .custom-checkbox .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #007bff; }
  .bootstrap-4 .custom-checkbox .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3E%3Cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3E%3C/svg%3E"); }
  .bootstrap-4 .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::before {
    background-color: #007bff; }
  .bootstrap-4 .custom-checkbox .custom-control-input:indeterminate ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3E%3Cpath stroke='%23fff' d='M0 2h4'/%3E%3C/svg%3E"); }
  .bootstrap-4 .custom-checkbox .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }
  .bootstrap-4 .custom-checkbox .custom-control-input:disabled:indeterminate ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }
  .bootstrap-4 .custom-radio .custom-control-label::before {
    border-radius: 50%; }
  .bootstrap-4 .custom-radio .custom-control-input:checked ~ .custom-control-label::before {
    background-color: #007bff; }
  .bootstrap-4 .custom-radio .custom-control-input:checked ~ .custom-control-label::after {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3E%3Ccircle r='3' fill='%23fff'/%3E%3C/svg%3E"); }
  .bootstrap-4 .custom-radio .custom-control-input:disabled:checked ~ .custom-control-label::before {
    background-color: rgba(0, 123, 255, 0.5); }
  .bootstrap-4 .custom-select {
    display: inline-block;
    width: 100%;
    height: calc(2.25rem + 2px);
    padding: 0.375rem 1.75rem 0.375rem 0.75rem;
    line-height: 1.5;
    color: #495057;
    vertical-align: middle;
    background: #fff url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3E%3Cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
    background-size: 8px 10px;
    border: 1px solid #ced4da;
    border-radius: 0.25rem;
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none; }
    .bootstrap-4 .custom-select:focus {
      border-color: #80bdff;
      outline: 0;
      box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.075), 0 0 5px rgba(128, 189, 255, 0.5); }
      .bootstrap-4 .custom-select:focus::-ms-value {
        color: #495057;
        background-color: #fff; }
    .bootstrap-4 .custom-select[multiple], .bootstrap-4 .custom-select[size]:not([size="1"]) {
      height: auto;
      padding-right: 0.75rem;
      background-image: none; }
    .bootstrap-4 .custom-select:disabled {
      color: #6c757d;
      background-color: #e9ecef; }
    .bootstrap-4 .custom-select::-ms-expand {
      opacity: 0; }
  .bootstrap-4 .custom-select-sm {
    height: calc(1.8125rem + 2px);
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 75%; }
  .bootstrap-4 .custom-select-lg {
    height: calc(2.875rem + 2px);
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    font-size: 125%; }
  .bootstrap-4 .custom-file {
    position: relative;
    display: inline-block;
    width: 100%;
    height: calc(2.25rem + 2px);
    margin-bottom: 0; }
  .bootstrap-4 .custom-file-input {
    position: relative;
    z-index: 2;
    width: 100%;
    height: calc(2.25rem + 2px);
    margin: 0;
    opacity: 0; }
    .bootstrap-4 .custom-file-input:focus ~ .custom-file-control {
      border-color: #80bdff;
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
      .bootstrap-4 .custom-file-input:focus ~ .custom-file-control::before {
        border-color: #80bdff; }
    .bootstrap-4 .custom-file-input:lang(en) ~ .custom-file-label::after {
      content: "Browse"; }
  .bootstrap-4 .custom-file-label {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1;
    height: calc(2.25rem + 2px);
    padding: 0.375rem 0.75rem;
    line-height: 1.5;
    color: #495057;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.25rem; }
    .bootstrap-4 .custom-file-label::after {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      z-index: 3;
      display: block;
      height: calc(calc(2.25rem + 2px) - 1px * 2);
      padding: 0.375rem 0.75rem;
      line-height: 1.5;
      color: #495057;
      content: "Browse";
      background-color: #e9ecef;
      border-left: 1px solid #ced4da;
      border-radius: 0 0.25rem 0.25rem 0; }
  .bootstrap-4 .nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none; }
  .bootstrap-4 .nav-link {
    display: block;
    padding: 0.5rem 1rem; }
    .bootstrap-4 .nav-link:hover, .bootstrap-4 .nav-link:focus {
      text-decoration: none; }
    .bootstrap-4 .nav-link.disabled {
      color: #6c757d; }
  .bootstrap-4 .nav-tabs {
    border-bottom: 1px solid #dee2e6; }
    .bootstrap-4 .nav-tabs .nav-item {
      margin-bottom: -1px; }
    .bootstrap-4 .nav-tabs .nav-link {
      border: 1px solid transparent;
      border-top-left-radius: 0.25rem;
      border-top-right-radius: 0.25rem; }
      .bootstrap-4 .nav-tabs .nav-link:hover, .bootstrap-4 .nav-tabs .nav-link:focus {
        border-color: #e9ecef #e9ecef #dee2e6; }
      .bootstrap-4 .nav-tabs .nav-link.disabled {
        color: #6c757d;
        background-color: transparent;
        border-color: transparent; }
    .bootstrap-4 .nav-tabs .nav-link.active,
    .bootstrap-4 .nav-tabs .nav-item.show .nav-link {
      color: #495057;
      background-color: #fff;
      border-color: #dee2e6 #dee2e6 #fff; }
    .bootstrap-4 .nav-tabs .dropdown-menu {
      margin-top: -1px;
      border-top-left-radius: 0;
      border-top-right-radius: 0; }
  .bootstrap-4 .nav-pills .nav-link {
    border-radius: 0.25rem; }
  .bootstrap-4 .nav-pills .nav-link.active,
  .bootstrap-4 .nav-pills .show > .nav-link {
    color: #fff;
    background-color: #007bff; }
  .bootstrap-4 .nav-fill .nav-item {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    text-align: center; }
  .bootstrap-4 .nav-justified .nav-item {
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: center; }
  .bootstrap-4 .tab-content > .tab-pane {
    display: none; }
  .bootstrap-4 .tab-content > .active {
    display: block; }
  .bootstrap-4 .navbar {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 0.5rem 1rem; }
    .bootstrap-4 .navbar > .container,
    .bootstrap-4 .navbar > .container-fluid {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .bootstrap-4 .navbar-brand {
    display: inline-block;
    padding-top: 0.3125rem;
    padding-bottom: 0.3125rem;
    margin-right: 1rem;
    font-size: 1.25rem;
    line-height: inherit;
    white-space: nowrap; }
    .bootstrap-4 .navbar-brand:hover, .bootstrap-4 .navbar-brand:focus {
      text-decoration: none; }
  .bootstrap-4 .navbar-nav {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding-left: 0;
    margin-bottom: 0;
    list-style: none; }
    .bootstrap-4 .navbar-nav .nav-link {
      padding-right: 0;
      padding-left: 0; }
    .bootstrap-4 .navbar-nav .dropdown-menu {
      position: static;
      float: none; }
  .bootstrap-4 .navbar-text {
    display: inline-block;
    padding-top: 0.5rem;
    padding-bottom: 0.5rem; }
  .bootstrap-4 .navbar-collapse {
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%;
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-align: center;
        align-items: center; }
  .bootstrap-4 .navbar-toggler {
    padding: 0.25rem 0.75rem;
    font-size: 1.25rem;
    line-height: 1;
    background-color: transparent;
    border: 1px solid transparent;
    border-radius: 0.25rem; }
    .bootstrap-4 .navbar-toggler:hover, .bootstrap-4 .navbar-toggler:focus {
      text-decoration: none; }
    .bootstrap-4 .navbar-toggler:not(:disabled):not(.disabled) {
      cursor: pointer; }
  .bootstrap-4 .navbar-toggler-icon {
    display: inline-block;
    width: 1.5em;
    height: 1.5em;
    vertical-align: middle;
    content: "";
    background: no-repeat center center;
    background-size: 100% 100%; }
  @media (max-width: 575.98px) {
    .bootstrap-4 .navbar-expand-sm > .container,
    .bootstrap-4 .navbar-expand-sm > .container-fluid {
      padding-right: 0;
      padding-left: 0; } }
  @media (min-width: 576px) {
    .bootstrap-4 .navbar-expand-sm {
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
      -ms-flex-pack: start;
          justify-content: flex-start; }
      .bootstrap-4 .navbar-expand-sm .navbar-nav {
        -ms-flex-direction: row;
            flex-direction: row; }
        .bootstrap-4 .navbar-expand-sm .navbar-nav .dropdown-menu {
          position: absolute; }
        .bootstrap-4 .navbar-expand-sm .navbar-nav .dropdown-menu-right {
          right: 0;
          left: auto; }
        .bootstrap-4 .navbar-expand-sm .navbar-nav .nav-link {
          padding-right: 0.5rem;
          padding-left: 0.5rem; }
      .bootstrap-4 .navbar-expand-sm > .container,
      .bootstrap-4 .navbar-expand-sm > .container-fluid {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
      .bootstrap-4 .navbar-expand-sm .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
      .bootstrap-4 .navbar-expand-sm .navbar-toggler {
        display: none; }
      .bootstrap-4 .navbar-expand-sm .dropup .dropdown-menu {
        top: auto;
        bottom: 100%; } }
  @media (max-width: 767.98px) {
    .bootstrap-4 .navbar-expand-md > .container,
    .bootstrap-4 .navbar-expand-md > .container-fluid {
      padding-right: 0;
      padding-left: 0; } }
  @media (min-width: 768px) {
    .bootstrap-4 .navbar-expand-md {
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
      -ms-flex-pack: start;
          justify-content: flex-start; }
      .bootstrap-4 .navbar-expand-md .navbar-nav {
        -ms-flex-direction: row;
            flex-direction: row; }
        .bootstrap-4 .navbar-expand-md .navbar-nav .dropdown-menu {
          position: absolute; }
        .bootstrap-4 .navbar-expand-md .navbar-nav .dropdown-menu-right {
          right: 0;
          left: auto; }
        .bootstrap-4 .navbar-expand-md .navbar-nav .nav-link {
          padding-right: 0.5rem;
          padding-left: 0.5rem; }
      .bootstrap-4 .navbar-expand-md > .container,
      .bootstrap-4 .navbar-expand-md > .container-fluid {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
      .bootstrap-4 .navbar-expand-md .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
      .bootstrap-4 .navbar-expand-md .navbar-toggler {
        display: none; }
      .bootstrap-4 .navbar-expand-md .dropup .dropdown-menu {
        top: auto;
        bottom: 100%; } }
  @media (max-width: 991.98px) {
    .bootstrap-4 .navbar-expand-lg > .container,
    .bootstrap-4 .navbar-expand-lg > .container-fluid {
      padding-right: 0;
      padding-left: 0; } }
  @media (min-width: 992px) {
    .bootstrap-4 .navbar-expand-lg {
      -ms-flex-flow: row nowrap;
          flex-flow: row nowrap;
      -ms-flex-pack: start;
          justify-content: flex-start; }
      .bootstrap-4 .navbar-expand-lg .navbar-nav {
        -ms-flex-direction: row;
            flex-direction: row; }
        .bootstrap-4 .navbar-expand-lg .navbar-nav .dropdown-menu {
          position: absolute; }
        .bootstrap-4 .navbar-expand-lg .navbar-nav .dropdown-menu-right {
          right: 0;
          left: auto; }
        .bootstrap-4 .navbar-expand-lg .navbar-nav .nav-link {
          padding-right: 0.5rem;
          padding-left: 0.5rem; }
      .bootstrap-4 .navbar-expand-lg > .container,
      .bootstrap-4 .navbar-expand-lg > .container-fluid {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
      .bootstrap-4 .navbar-expand-lg .navbar-collapse {
        display: -ms-flexbox !important;
        display: flex !important;
        -ms-flex-preferred-size: auto;
            flex-basis: auto; }
      .bootstrap-4 .navbar-expand-lg .navbar-toggler {
        display: none; }
      .bootstrap-4 .navbar-expand-lg .dropup .dropdown-menu {
        top: auto;
        bottom: 100%; } }
  .bootstrap-4 .navbar-expand {
    -ms-flex-flow: row nowrap;
        flex-flow: row nowrap;
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .bootstrap-4 .navbar-expand > .container,
    .bootstrap-4 .navbar-expand > .container-fluid {
      padding-right: 0;
      padding-left: 0; }
    .bootstrap-4 .navbar-expand .navbar-nav {
      -ms-flex-direction: row;
          flex-direction: row; }
      .bootstrap-4 .navbar-expand .navbar-nav .dropdown-menu {
        position: absolute; }
      .bootstrap-4 .navbar-expand .navbar-nav .dropdown-menu-right {
        right: 0;
        left: auto; }
      .bootstrap-4 .navbar-expand .navbar-nav .nav-link {
        padding-right: 0.5rem;
        padding-left: 0.5rem; }
    .bootstrap-4 .navbar-expand > .container,
    .bootstrap-4 .navbar-expand > .container-fluid {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
    .bootstrap-4 .navbar-expand .navbar-collapse {
      display: -ms-flexbox !important;
      display: flex !important;
      -ms-flex-preferred-size: auto;
          flex-basis: auto; }
    .bootstrap-4 .navbar-expand .navbar-toggler {
      display: none; }
    .bootstrap-4 .navbar-expand .dropup .dropdown-menu {
      top: auto;
      bottom: 100%; }
  .bootstrap-4 .navbar-light .navbar-brand {
    color: rgba(0, 0, 0, 0.9); }
    .bootstrap-4 .navbar-light .navbar-brand:hover, .bootstrap-4 .navbar-light .navbar-brand:focus {
      color: rgba(0, 0, 0, 0.9); }
  .bootstrap-4 .navbar-light .navbar-nav .nav-link {
    color: rgba(0, 0, 0, 0.5); }
    .bootstrap-4 .navbar-light .navbar-nav .nav-link:hover, .bootstrap-4 .navbar-light .navbar-nav .nav-link:focus {
      color: rgba(0, 0, 0, 0.7); }
    .bootstrap-4 .navbar-light .navbar-nav .nav-link.disabled {
      color: rgba(0, 0, 0, 0.3); }
  .bootstrap-4 .navbar-light .navbar-nav .show > .nav-link,
  .bootstrap-4 .navbar-light .navbar-nav .active > .nav-link,
  .bootstrap-4 .navbar-light .navbar-nav .nav-link.show,
  .bootstrap-4 .navbar-light .navbar-nav .nav-link.active {
    color: rgba(0, 0, 0, 0.9); }
  .bootstrap-4 .navbar-light .navbar-toggler {
    color: rgba(0, 0, 0, 0.5);
    border-color: rgba(0, 0, 0, 0.1); }
  .bootstrap-4 .navbar-light .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(0, 0, 0, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .bootstrap-4 .navbar-light .navbar-text {
    color: rgba(0, 0, 0, 0.5); }
    .bootstrap-4 .navbar-light .navbar-text a {
      color: rgba(0, 0, 0, 0.9); }
      .bootstrap-4 .navbar-light .navbar-text a:hover, .bootstrap-4 .navbar-light .navbar-text a:focus {
        color: rgba(0, 0, 0, 0.9); }
  .bootstrap-4 .navbar-dark .navbar-brand {
    color: #fff; }
    .bootstrap-4 .navbar-dark .navbar-brand:hover, .bootstrap-4 .navbar-dark .navbar-brand:focus {
      color: #fff; }
  .bootstrap-4 .navbar-dark .navbar-nav .nav-link {
    color: rgba(255, 255, 255, 0.5); }
    .bootstrap-4 .navbar-dark .navbar-nav .nav-link:hover, .bootstrap-4 .navbar-dark .navbar-nav .nav-link:focus {
      color: rgba(255, 255, 255, 0.75); }
    .bootstrap-4 .navbar-dark .navbar-nav .nav-link.disabled {
      color: rgba(255, 255, 255, 0.25); }
  .bootstrap-4 .navbar-dark .navbar-nav .show > .nav-link,
  .bootstrap-4 .navbar-dark .navbar-nav .active > .nav-link,
  .bootstrap-4 .navbar-dark .navbar-nav .nav-link.show,
  .bootstrap-4 .navbar-dark .navbar-nav .nav-link.active {
    color: #fff; }
  .bootstrap-4 .navbar-dark .navbar-toggler {
    color: rgba(255, 255, 255, 0.5);
    border-color: rgba(255, 255, 255, 0.1); }
  .bootstrap-4 .navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(255, 255, 255, 0.5)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }
  .bootstrap-4 .navbar-dark .navbar-text {
    color: rgba(255, 255, 255, 0.5); }
    .bootstrap-4 .navbar-dark .navbar-text a {
      color: #fff; }
      .bootstrap-4 .navbar-dark .navbar-text a:hover, .bootstrap-4 .navbar-dark .navbar-text a:focus {
        color: #fff; }
  .bootstrap-4 .card {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    min-width: 0;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: border-box;
    border: 1px solid rgba(0, 0, 0, 0.125);
    border-radius: 0.25rem; }
    .bootstrap-4 .card > hr {
      margin-right: 0;
      margin-left: 0; }
    .bootstrap-4 .card > .list-group:first-child .list-group-item:first-child {
      border-top-left-radius: 0.25rem;
      border-top-right-radius: 0.25rem; }
    .bootstrap-4 .card > .list-group:last-child .list-group-item:last-child {
      border-bottom-right-radius: 0.25rem;
      border-bottom-left-radius: 0.25rem; }
  .bootstrap-4 .card-body {
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    padding: 1.25rem; }
  .bootstrap-4 .card-title {
    margin-bottom: 0.75rem; }
  .bootstrap-4 .card-subtitle {
    margin-top: -0.375rem;
    margin-bottom: 0; }
  .bootstrap-4 .card-text:last-child {
    margin-bottom: 0; }
  .bootstrap-4 .card-link:hover {
    text-decoration: none; }
  .bootstrap-4 .card-link + .card-link {
    margin-left: 1.25rem; }
  .bootstrap-4 .card-header {
    padding: 0.75rem 1.25rem;
    margin-bottom: 0;
    background-color: rgba(0, 0, 0, 0.03);
    border-bottom: 1px solid rgba(0, 0, 0, 0.125); }
    .bootstrap-4 .card-header:first-child {
      border-radius: calc(0.25rem - 1px) calc(0.25rem - 1px) 0 0; }
    .bootstrap-4 .card-header + .list-group .list-group-item:first-child {
      border-top: 0; }
  .bootstrap-4 .card-footer {
    padding: 0.75rem 1.25rem;
    background-color: rgba(0, 0, 0, 0.03);
    border-top: 1px solid rgba(0, 0, 0, 0.125); }
    .bootstrap-4 .card-footer:last-child {
      border-radius: 0 0 calc(0.25rem - 1px) calc(0.25rem - 1px); }
  .bootstrap-4 .card-header-tabs {
    margin-right: -0.625rem;
    margin-bottom: -0.75rem;
    margin-left: -0.625rem;
    border-bottom: 0; }
  .bootstrap-4 .card-header-pills {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
  .bootstrap-4 .card-img-overlay {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    padding: 1.25rem; }
  .bootstrap-4 .card-img {
    width: 100%;
    border-radius: calc(0.25rem - 1px); }
  .bootstrap-4 .card-img-top {
    width: 100%;
    border-top-left-radius: calc(0.25rem - 1px);
    border-top-right-radius: calc(0.25rem - 1px); }
  .bootstrap-4 .card-img-bottom {
    width: 100%;
    border-bottom-right-radius: calc(0.25rem - 1px);
    border-bottom-left-radius: calc(0.25rem - 1px); }
  .bootstrap-4 .card-deck {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .bootstrap-4 .card-deck .card {
      margin-bottom: 10px; }
    @media (min-width: 576px) {
      .bootstrap-4 .card-deck {
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
        margin-right: -10px;
        margin-left: -10px; }
        .bootstrap-4 .card-deck .card {
          display: -ms-flexbox;
          display: flex;
          -ms-flex: 1 0 0%;
              flex: 1 0 0%;
          -ms-flex-direction: column;
              flex-direction: column;
          margin-right: 10px;
          margin-bottom: 0;
          margin-left: 10px; } }
  .bootstrap-4 .card-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .bootstrap-4 .card-group > .card {
      margin-bottom: 10px; }
    @media (min-width: 576px) {
      .bootstrap-4 .card-group {
        -ms-flex-flow: row wrap;
            flex-flow: row wrap; }
        .bootstrap-4 .card-group > .card {
          -ms-flex: 1 0 0%;
              flex: 1 0 0%;
          margin-bottom: 0; }
          .bootstrap-4 .card-group > .card + .card {
            margin-left: 0;
            border-left: 0; }
          .bootstrap-4 .card-group > .card:first-child {
            border-top-right-radius: 0;
            border-bottom-right-radius: 0; }
            .bootstrap-4 .card-group > .card:first-child .card-img-top,
            .bootstrap-4 .card-group > .card:first-child .card-header {
              border-top-right-radius: 0; }
            .bootstrap-4 .card-group > .card:first-child .card-img-bottom,
            .bootstrap-4 .card-group > .card:first-child .card-footer {
              border-bottom-right-radius: 0; }
          .bootstrap-4 .card-group > .card:last-child {
            border-top-left-radius: 0;
            border-bottom-left-radius: 0; }
            .bootstrap-4 .card-group > .card:last-child .card-img-top,
            .bootstrap-4 .card-group > .card:last-child .card-header {
              border-top-left-radius: 0; }
            .bootstrap-4 .card-group > .card:last-child .card-img-bottom,
            .bootstrap-4 .card-group > .card:last-child .card-footer {
              border-bottom-left-radius: 0; }
          .bootstrap-4 .card-group > .card:only-child {
            border-radius: 0.25rem; }
            .bootstrap-4 .card-group > .card:only-child .card-img-top,
            .bootstrap-4 .card-group > .card:only-child .card-header {
              border-top-left-radius: 0.25rem;
              border-top-right-radius: 0.25rem; }
            .bootstrap-4 .card-group > .card:only-child .card-img-bottom,
            .bootstrap-4 .card-group > .card:only-child .card-footer {
              border-bottom-right-radius: 0.25rem;
              border-bottom-left-radius: 0.25rem; }
          .bootstrap-4 .card-group > .card:not(:first-child):not(:last-child):not(:only-child) {
            border-radius: 0; }
            .bootstrap-4 .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-top,
            .bootstrap-4 .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-img-bottom,
            .bootstrap-4 .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-header,
            .bootstrap-4 .card-group > .card:not(:first-child):not(:last-child):not(:only-child) .card-footer {
              border-radius: 0; } }
  .bootstrap-4 .card-columns .card {
    margin-bottom: 0.75rem; }
  @media (min-width: 576px) {
    .bootstrap-4 .card-columns {
      column-count: 3;
      column-gap: 1.25rem; }
      .bootstrap-4 .card-columns .card {
        display: inline-block;
        width: 100%; } }
  .bootstrap-4 .breadcrumb {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 0.75rem 1rem;
    margin-bottom: 1rem;
    list-style: none;
    background-color: #e9ecef;
    border-radius: 0.25rem; }
  .bootstrap-4 .breadcrumb-item + .breadcrumb-item::before {
    display: inline-block;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    color: #6c757d;
    content: "/"; }
  .bootstrap-4 .breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: underline; }
  .bootstrap-4 .breadcrumb-item + .breadcrumb-item:hover::before {
    text-decoration: none; }
  .bootstrap-4 .breadcrumb-item.active {
    color: #6c757d; }
  .bootstrap-4 .pagination {
    display: -ms-flexbox;
    display: flex;
    padding-left: 0;
    list-style: none;
    border-radius: 0.25rem; }
  .bootstrap-4 .page-link {
    position: relative;
    display: block;
    padding: 0.5rem 0.75rem;
    margin-left: -1px;
    line-height: 1.25;
    color: #007bff;
    background-color: #fff;
    border: 1px solid #dee2e6; }
    .bootstrap-4 .page-link:hover {
      color: #0056b3;
      text-decoration: none;
      background-color: #e9ecef;
      border-color: #dee2e6; }
    .bootstrap-4 .page-link:focus {
      z-index: 2;
      outline: 0;
      box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25); }
    .bootstrap-4 .page-link:not(:disabled):not(.disabled) {
      cursor: pointer; }
  .bootstrap-4 .page-item:first-child .page-link {
    margin-left: 0;
    border-top-left-radius: 0.25rem;
    border-bottom-left-radius: 0.25rem; }
  .bootstrap-4 .page-item:last-child .page-link {
    border-top-right-radius: 0.25rem;
    border-bottom-right-radius: 0.25rem; }
  .bootstrap-4 .page-item.active .page-link {
    z-index: 1;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff; }
  .bootstrap-4 .page-item.disabled .page-link {
    color: #6c757d;
    pointer-events: none;
    cursor: auto;
    background-color: #fff;
    border-color: #dee2e6; }
  .bootstrap-4 .pagination-lg .page-link {
    padding: 0.75rem 1.5rem;
    font-size: 1.25rem;
    line-height: 1.5; }
  .bootstrap-4 .pagination-lg .page-item:first-child .page-link {
    border-top-left-radius: 0.3rem;
    border-bottom-left-radius: 0.3rem; }
  .bootstrap-4 .pagination-lg .page-item:last-child .page-link {
    border-top-right-radius: 0.3rem;
    border-bottom-right-radius: 0.3rem; }
  .bootstrap-4 .pagination-sm .page-link {
    padding: 0.25rem 0.5rem;
    font-size: 0.875rem;
    line-height: 1.5; }
  .bootstrap-4 .pagination-sm .page-item:first-child .page-link {
    border-top-left-radius: 0.2rem;
    border-bottom-left-radius: 0.2rem; }
  .bootstrap-4 .pagination-sm .page-item:last-child .page-link {
    border-top-right-radius: 0.2rem;
    border-bottom-right-radius: 0.2rem; }
  .bootstrap-4 .badge {
    display: inline-block;
    padding: 0.25em 0.4em;
    font-size: 75%;
    font-weight: 700;
    line-height: 1;
    text-align: center;
    white-space: nowrap;
    vertical-align: baseline;
    border-radius: 0.25rem; }
    .bootstrap-4 .badge:empty {
      display: none; }
  .bootstrap-4 .btn .badge {
    position: relative;
    top: -1px; }
  .bootstrap-4 .badge-pill {
    padding-right: 0.6em;
    padding-left: 0.6em;
    border-radius: 10rem; }
  .bootstrap-4 .badge-primary {
    color: #fff;
    background-color: #007bff; }
    .bootstrap-4 .badge-primary[href]:hover, .bootstrap-4 .badge-primary[href]:focus {
      color: #fff;
      text-decoration: none;
      background-color: #0062cc; }
  .bootstrap-4 .badge-secondary {
    color: #fff;
    background-color: #6c757d; }
    .bootstrap-4 .badge-secondary[href]:hover, .bootstrap-4 .badge-secondary[href]:focus {
      color: #fff;
      text-decoration: none;
      background-color: #545b62; }
  .bootstrap-4 .badge-success {
    color: #fff;
    background-color: #28a745; }
    .bootstrap-4 .badge-success[href]:hover, .bootstrap-4 .badge-success[href]:focus {
      color: #fff;
      text-decoration: none;
      background-color: #1e7e34; }
  .bootstrap-4 .badge-info {
    color: #fff;
    background-color: #17a2b8; }
    .bootstrap-4 .badge-info[href]:hover, .bootstrap-4 .badge-info[href]:focus {
      color: #fff;
      text-decoration: none;
      background-color: #117a8b; }
  .bootstrap-4 .badge-warning {
    color: #212529;
    background-color: #ffc107; }
    .bootstrap-4 .badge-warning[href]:hover, .bootstrap-4 .badge-warning[href]:focus {
      color: #212529;
      text-decoration: none;
      background-color: #d39e00; }
  .bootstrap-4 .badge-danger {
    color: #fff;
    background-color: #dc3545; }
    .bootstrap-4 .badge-danger[href]:hover, .bootstrap-4 .badge-danger[href]:focus {
      color: #fff;
      text-decoration: none;
      background-color: #bd2130; }
  .bootstrap-4 .badge-light {
    color: #212529;
    background-color: #f8f9fa; }
    .bootstrap-4 .badge-light[href]:hover, .bootstrap-4 .badge-light[href]:focus {
      color: #212529;
      text-decoration: none;
      background-color: #dae0e5; }
  .bootstrap-4 .badge-dark {
    color: #fff;
    background-color: #343a40; }
    .bootstrap-4 .badge-dark[href]:hover, .bootstrap-4 .badge-dark[href]:focus {
      color: #fff;
      text-decoration: none;
      background-color: #1d2124; }
  .bootstrap-4 .jumbotron {
    padding: 2rem 1rem;
    margin-bottom: 2rem;
    background-color: #e9ecef;
    border-radius: 0.3rem; }
    @media (min-width: 576px) {
      .bootstrap-4 .jumbotron {
        padding: 4rem 2rem; } }
  .bootstrap-4 .jumbotron-fluid {
    padding-right: 0;
    padding-left: 0;
    border-radius: 0; }
  .bootstrap-4 .alert {
    position: relative;
    padding: 0.75rem 1.25rem;
    margin-bottom: 1rem;
    border: 1px solid transparent;
    border-radius: 0.25rem; }
  .bootstrap-4 .alert-heading {
    color: inherit; }
  .bootstrap-4 .alert-link {
    font-weight: 700; }
  .bootstrap-4 .alert-dismissible {
    padding-right: 4rem; }
    .bootstrap-4 .alert-dismissible .close {
      position: absolute;
      top: 0;
      right: 0;
      padding: 0.75rem 1.25rem;
      color: inherit; }
  .bootstrap-4 .alert-primary {
    color: #004085;
    background-color: #cce5ff;
    border-color: #b8daff; }
    .bootstrap-4 .alert-primary hr {
      border-top-color: #9fcdff; }
    .bootstrap-4 .alert-primary .alert-link {
      color: #002752; }
  .bootstrap-4 .alert-secondary {
    color: #383d41;
    background-color: #e2e3e5;
    border-color: #d6d8db; }
    .bootstrap-4 .alert-secondary hr {
      border-top-color: #c8cbcf; }
    .bootstrap-4 .alert-secondary .alert-link {
      color: #202326; }
  .bootstrap-4 .alert-success {
    color: #155724;
    background-color: #d4edda;
    border-color: #c3e6cb; }
    .bootstrap-4 .alert-success hr {
      border-top-color: #b1dfbb; }
    .bootstrap-4 .alert-success .alert-link {
      color: #0b2e13; }
  .bootstrap-4 .alert-info {
    color: #0c5460;
    background-color: #d1ecf1;
    border-color: #bee5eb; }
    .bootstrap-4 .alert-info hr {
      border-top-color: #abdde5; }
    .bootstrap-4 .alert-info .alert-link {
      color: #062c33; }
  .bootstrap-4 .alert-warning {
    color: #856404;
    background-color: #fff3cd;
    border-color: #ffeeba; }
    .bootstrap-4 .alert-warning hr {
      border-top-color: #ffe8a1; }
    .bootstrap-4 .alert-warning .alert-link {
      color: #533f03; }
  .bootstrap-4 .alert-danger {
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb; }
    .bootstrap-4 .alert-danger hr {
      border-top-color: #f1b0b7; }
    .bootstrap-4 .alert-danger .alert-link {
      color: #491217; }
  .bootstrap-4 .alert-light {
    color: #818182;
    background-color: #fefefe;
    border-color: #fdfdfe; }
    .bootstrap-4 .alert-light hr {
      border-top-color: #ececf6; }
    .bootstrap-4 .alert-light .alert-link {
      color: #686868; }
  .bootstrap-4 .alert-dark {
    color: #1b1e21;
    background-color: #d6d8d9;
    border-color: #c6c8ca; }
    .bootstrap-4 .alert-dark hr {
      border-top-color: #b9bbbe; }
    .bootstrap-4 .alert-dark .alert-link {
      color: #040505; }

@keyframes progress-bar-stripes {
  from {
    background-position: 1rem 0; }
  to {
    background-position: 0 0; } }
  .bootstrap-4 .progress {
    display: -ms-flexbox;
    display: flex;
    height: 1rem;
    overflow: hidden;
    font-size: 0.75rem;
    background-color: #e9ecef;
    border-radius: 0.25rem; }
  .bootstrap-4 .progress-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    color: #fff;
    text-align: center;
    background-color: #007bff;
    transition: width 0.6s ease; }
  .bootstrap-4 .progress-bar-striped {
    background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
    background-size: 1rem 1rem; }
  .bootstrap-4 .progress-bar-animated {
    animation: progress-bar-stripes 1s linear infinite; }
  .bootstrap-4 .media {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start; }
  .bootstrap-4 .media-body {
    -ms-flex: 1;
        flex: 1; }
  .bootstrap-4 .list-group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding-left: 0;
    margin-bottom: 0; }
  .bootstrap-4 .list-group-item-action {
    width: 100%;
    color: #495057;
    text-align: inherit; }
    .bootstrap-4 .list-group-item-action:hover, .bootstrap-4 .list-group-item-action:focus {
      color: #495057;
      text-decoration: none;
      background-color: #f8f9fa; }
    .bootstrap-4 .list-group-item-action:active {
      color: #212529;
      background-color: #e9ecef; }
  .bootstrap-4 .list-group-item {
    position: relative;
    display: block;
    padding: 0.75rem 1.25rem;
    margin-bottom: -1px;
    background-color: #fff;
    border: 1px solid rgba(0, 0, 0, 0.125); }
    .bootstrap-4 .list-group-item:first-child {
      border-top-left-radius: 0.25rem;
      border-top-right-radius: 0.25rem; }
    .bootstrap-4 .list-group-item:last-child {
      margin-bottom: 0;
      border-bottom-right-radius: 0.25rem;
      border-bottom-left-radius: 0.25rem; }
    .bootstrap-4 .list-group-item:hover, .bootstrap-4 .list-group-item:focus {
      z-index: 1;
      text-decoration: none; }
    .bootstrap-4 .list-group-item.disabled, .bootstrap-4 .list-group-item:disabled {
      color: #6c757d;
      background-color: #fff; }
    .bootstrap-4 .list-group-item.active {
      z-index: 2;
      color: #fff;
      background-color: #007bff;
      border-color: #007bff; }
  .bootstrap-4 .list-group-flush .list-group-item {
    border-right: 0;
    border-left: 0;
    border-radius: 0; }
  .bootstrap-4 .list-group-flush:first-child .list-group-item:first-child {
    border-top: 0; }
  .bootstrap-4 .list-group-flush:last-child .list-group-item:last-child {
    border-bottom: 0; }
  .bootstrap-4 .list-group-item-primary {
    color: #004085;
    background-color: #b8daff; }
    .bootstrap-4 .list-group-item-primary.list-group-item-action:hover, .bootstrap-4 .list-group-item-primary.list-group-item-action:focus {
      color: #004085;
      background-color: #9fcdff; }
    .bootstrap-4 .list-group-item-primary.list-group-item-action.active {
      color: #fff;
      background-color: #004085;
      border-color: #004085; }
  .bootstrap-4 .list-group-item-secondary {
    color: #383d41;
    background-color: #d6d8db; }
    .bootstrap-4 .list-group-item-secondary.list-group-item-action:hover, .bootstrap-4 .list-group-item-secondary.list-group-item-action:focus {
      color: #383d41;
      background-color: #c8cbcf; }
    .bootstrap-4 .list-group-item-secondary.list-group-item-action.active {
      color: #fff;
      background-color: #383d41;
      border-color: #383d41; }
  .bootstrap-4 .list-group-item-success {
    color: #155724;
    background-color: #c3e6cb; }
    .bootstrap-4 .list-group-item-success.list-group-item-action:hover, .bootstrap-4 .list-group-item-success.list-group-item-action:focus {
      color: #155724;
      background-color: #b1dfbb; }
    .bootstrap-4 .list-group-item-success.list-group-item-action.active {
      color: #fff;
      background-color: #155724;
      border-color: #155724; }
  .bootstrap-4 .list-group-item-info {
    color: #0c5460;
    background-color: #bee5eb; }
    .bootstrap-4 .list-group-item-info.list-group-item-action:hover, .bootstrap-4 .list-group-item-info.list-group-item-action:focus {
      color: #0c5460;
      background-color: #abdde5; }
    .bootstrap-4 .list-group-item-info.list-group-item-action.active {
      color: #fff;
      background-color: #0c5460;
      border-color: #0c5460; }
  .bootstrap-4 .list-group-item-warning {
    color: #856404;
    background-color: #ffeeba; }
    .bootstrap-4 .list-group-item-warning.list-group-item-action:hover, .bootstrap-4 .list-group-item-warning.list-group-item-action:focus {
      color: #856404;
      background-color: #ffe8a1; }
    .bootstrap-4 .list-group-item-warning.list-group-item-action.active {
      color: #fff;
      background-color: #856404;
      border-color: #856404; }
  .bootstrap-4 .list-group-item-danger {
    color: #721c24;
    background-color: #f5c6cb; }
    .bootstrap-4 .list-group-item-danger.list-group-item-action:hover, .bootstrap-4 .list-group-item-danger.list-group-item-action:focus {
      color: #721c24;
      background-color: #f1b0b7; }
    .bootstrap-4 .list-group-item-danger.list-group-item-action.active {
      color: #fff;
      background-color: #721c24;
      border-color: #721c24; }
  .bootstrap-4 .list-group-item-light {
    color: #818182;
    background-color: #fdfdfe; }
    .bootstrap-4 .list-group-item-light.list-group-item-action:hover, .bootstrap-4 .list-group-item-light.list-group-item-action:focus {
      color: #818182;
      background-color: #ececf6; }
    .bootstrap-4 .list-group-item-light.list-group-item-action.active {
      color: #fff;
      background-color: #818182;
      border-color: #818182; }
  .bootstrap-4 .list-group-item-dark {
    color: #1b1e21;
    background-color: #c6c8ca; }
    .bootstrap-4 .list-group-item-dark.list-group-item-action:hover, .bootstrap-4 .list-group-item-dark.list-group-item-action:focus {
      color: #1b1e21;
      background-color: #b9bbbe; }
    .bootstrap-4 .list-group-item-dark.list-group-item-action.active {
      color: #fff;
      background-color: #1b1e21;
      border-color: #1b1e21; }
  .bootstrap-4 .close {
    float: right;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
    color: #000;
    text-shadow: 0 1px 0 #fff;
    opacity: .5; }
    .bootstrap-4 .close:hover, .bootstrap-4 .close:focus {
      color: #000;
      text-decoration: none;
      opacity: .75; }
    .bootstrap-4 .close:not(:disabled):not(.disabled) {
      cursor: pointer; }
  .bootstrap-4 button.close {
    padding: 0;
    background-color: transparent;
    border: 0;
    -webkit-appearance: none; }
  .bootstrap-4 .modal-open {
    overflow: hidden; }
  .bootstrap-4 .modal {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1050;
    display: none;
    overflow: hidden;
    outline: 0; }
    .modal-open .bootstrap-4 .modal {
      overflow-x: hidden;
      overflow-y: auto; }
  .bootstrap-4 .modal-dialog {
    position: relative;
    width: auto;
    margin: 0.5rem;
    pointer-events: none; }
    .modal.fade .bootstrap-4 .modal-dialog {
      transition: transform 0.3s ease-out;
      transform: translate(0, -25%); }
    .modal.show .bootstrap-4 .modal-dialog {
      transform: translate(0, 0); }
  .bootstrap-4 .modal-dialog-centered {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    min-height: calc(100% - (0.5rem * 2)); }
  .bootstrap-4 .modal-content {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 100%;
    pointer-events: auto;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem;
    outline: 0; }
  .bootstrap-4 .modal-backdrop {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1040;
    background-color: #000; }
    .bootstrap-4 .modal-backdrop.fade {
      opacity: 0; }
    .bootstrap-4 .modal-backdrop.show {
      opacity: 0.5; }
  .bootstrap-4 .modal-header {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: justify;
        justify-content: space-between;
    padding: 1rem;
    border-bottom: 1px solid #e9ecef;
    border-top-left-radius: 0.3rem;
    border-top-right-radius: 0.3rem; }
    .bootstrap-4 .modal-header .close {
      padding: 1rem;
      margin: -1rem -1rem -1rem auto; }
  .bootstrap-4 .modal-title {
    margin-bottom: 0;
    line-height: 1.5; }
  .bootstrap-4 .modal-body {
    position: relative;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    padding: 1rem; }
  .bootstrap-4 .modal-footer {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding: 1rem;
    border-top: 1px solid #e9ecef; }
    .bootstrap-4 .modal-footer > :not(:first-child) {
      margin-left: .25rem; }
    .bootstrap-4 .modal-footer > :not(:last-child) {
      margin-right: .25rem; }
  .bootstrap-4 .modal-scrollbar-measure {
    position: absolute;
    top: -9999px;
    width: 50px;
    height: 50px;
    overflow: scroll; }
  @media (min-width: 576px) {
    .bootstrap-4 .modal-dialog {
      max-width: 500px;
      margin: 1.75rem auto; }
    .bootstrap-4 .modal-dialog-centered {
      min-height: calc(100% - (1.75rem * 2)); }
    .bootstrap-4 .modal-sm {
      max-width: 300px; } }
  @media (min-width: 992px) {
    .bootstrap-4 .modal-lg {
      max-width: 800px; } }
  .bootstrap-4 .tooltip {
    position: absolute;
    z-index: 1070;
    display: block;
    margin: 0;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 0.875rem;
    word-wrap: break-word;
    opacity: 0; }
    .bootstrap-4 .tooltip.show {
      opacity: 0.9; }
    .bootstrap-4 .tooltip .arrow {
      position: absolute;
      display: block;
      width: 0.8rem;
      height: 0.4rem; }
      .bootstrap-4 .tooltip .arrow::before {
        position: absolute;
        content: "";
        border-color: transparent;
        border-style: solid; }
  .bootstrap-4 .bs-tooltip-top, .bootstrap-4 .bs-tooltip-auto[x-placement^="top"] {
    padding: 0.4rem 0; }
    .bootstrap-4 .bs-tooltip-top .arrow, .bootstrap-4 .bs-tooltip-auto[x-placement^="top"] .arrow {
      bottom: 0; }
      .bootstrap-4 .bs-tooltip-top .arrow::before, .bootstrap-4 .bs-tooltip-auto[x-placement^="top"] .arrow::before {
        top: 0;
        border-width: 0.4rem 0.4rem 0;
        border-top-color: #000; }
  .bootstrap-4 .bs-tooltip-right, .bootstrap-4 .bs-tooltip-auto[x-placement^="right"] {
    padding: 0 0.4rem; }
    .bootstrap-4 .bs-tooltip-right .arrow, .bootstrap-4 .bs-tooltip-auto[x-placement^="right"] .arrow {
      left: 0;
      width: 0.4rem;
      height: 0.8rem; }
      .bootstrap-4 .bs-tooltip-right .arrow::before, .bootstrap-4 .bs-tooltip-auto[x-placement^="right"] .arrow::before {
        right: 0;
        border-width: 0.4rem 0.4rem 0.4rem 0;
        border-right-color: #000; }
  .bootstrap-4 .bs-tooltip-bottom, .bootstrap-4 .bs-tooltip-auto[x-placement^="bottom"] {
    padding: 0.4rem 0; }
    .bootstrap-4 .bs-tooltip-bottom .arrow, .bootstrap-4 .bs-tooltip-auto[x-placement^="bottom"] .arrow {
      top: 0; }
      .bootstrap-4 .bs-tooltip-bottom .arrow::before, .bootstrap-4 .bs-tooltip-auto[x-placement^="bottom"] .arrow::before {
        bottom: 0;
        border-width: 0 0.4rem 0.4rem;
        border-bottom-color: #000; }
  .bootstrap-4 .bs-tooltip-left, .bootstrap-4 .bs-tooltip-auto[x-placement^="left"] {
    padding: 0 0.4rem; }
    .bootstrap-4 .bs-tooltip-left .arrow, .bootstrap-4 .bs-tooltip-auto[x-placement^="left"] .arrow {
      right: 0;
      width: 0.4rem;
      height: 0.8rem; }
      .bootstrap-4 .bs-tooltip-left .arrow::before, .bootstrap-4 .bs-tooltip-auto[x-placement^="left"] .arrow::before {
        left: 0;
        border-width: 0.4rem 0 0.4rem 0.4rem;
        border-left-color: #000; }
  .bootstrap-4 .tooltip-inner {
    max-width: 200px;
    padding: 0.25rem 0.5rem;
    color: #fff;
    text-align: center;
    background-color: #000;
    border-radius: 0.25rem; }
  .bootstrap-4 .popover {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1060;
    display: block;
    max-width: 276px;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    font-style: normal;
    font-weight: 400;
    line-height: 1.5;
    text-align: left;
    text-align: start;
    text-decoration: none;
    text-shadow: none;
    text-transform: none;
    letter-spacing: normal;
    word-break: normal;
    word-spacing: normal;
    white-space: normal;
    line-break: auto;
    font-size: 0.875rem;
    word-wrap: break-word;
    background-color: #fff;
    background-clip: padding-box;
    border: 1px solid rgba(0, 0, 0, 0.2);
    border-radius: 0.3rem; }
    .bootstrap-4 .popover .arrow {
      position: absolute;
      display: block;
      width: 1rem;
      height: 0.5rem;
      margin: 0 0.3rem; }
      .bootstrap-4 .popover .arrow::before, .bootstrap-4 .popover .arrow::after {
        position: absolute;
        display: block;
        content: "";
        border-color: transparent;
        border-style: solid; }
  .bootstrap-4 .bs-popover-top, .bootstrap-4 .bs-popover-auto[x-placement^="top"] {
    margin-bottom: 0.5rem; }
    .bootstrap-4 .bs-popover-top .arrow, .bootstrap-4 .bs-popover-auto[x-placement^="top"] .arrow {
      bottom: calc((0.5rem + 1px) * -1); }
    .bootstrap-4 .bs-popover-top .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="top"] .arrow::before,
    .bootstrap-4 .bs-popover-top .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="top"] .arrow::after {
      border-width: 0.5rem 0.5rem 0; }
    .bootstrap-4 .bs-popover-top .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="top"] .arrow::before {
      bottom: 0;
      border-top-color: rgba(0, 0, 0, 0.25); }
    .bootstrap-4 .bs-popover-top .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="top"] .arrow::after {
      bottom: 1px;
      border-top-color: #fff; }
  .bootstrap-4 .bs-popover-right, .bootstrap-4 .bs-popover-auto[x-placement^="right"] {
    margin-left: 0.5rem; }
    .bootstrap-4 .bs-popover-right .arrow, .bootstrap-4 .bs-popover-auto[x-placement^="right"] .arrow {
      left: calc((0.5rem + 1px) * -1);
      width: 0.5rem;
      height: 1rem;
      margin: 0.3rem 0; }
    .bootstrap-4 .bs-popover-right .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="right"] .arrow::before,
    .bootstrap-4 .bs-popover-right .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="right"] .arrow::after {
      border-width: 0.5rem 0.5rem 0.5rem 0; }
    .bootstrap-4 .bs-popover-right .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="right"] .arrow::before {
      left: 0;
      border-right-color: rgba(0, 0, 0, 0.25); }
    .bootstrap-4 .bs-popover-right .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="right"] .arrow::after {
      left: 1px;
      border-right-color: #fff; }
  .bootstrap-4 .bs-popover-bottom, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] {
    margin-top: 0.5rem; }
    .bootstrap-4 .bs-popover-bottom .arrow, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] .arrow {
      top: calc((0.5rem + 1px) * -1); }
    .bootstrap-4 .bs-popover-bottom .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] .arrow::before,
    .bootstrap-4 .bs-popover-bottom .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] .arrow::after {
      border-width: 0 0.5rem 0.5rem 0.5rem; }
    .bootstrap-4 .bs-popover-bottom .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] .arrow::before {
      top: 0;
      border-bottom-color: rgba(0, 0, 0, 0.25); }
    .bootstrap-4 .bs-popover-bottom .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] .arrow::after {
      top: 1px;
      border-bottom-color: #fff; }
    .bootstrap-4 .bs-popover-bottom .popover-header::before, .bootstrap-4 .bs-popover-auto[x-placement^="bottom"] .popover-header::before {
      position: absolute;
      top: 0;
      left: 50%;
      display: block;
      width: 1rem;
      margin-left: -0.5rem;
      content: "";
      border-bottom: 1px solid #f7f7f7; }
  .bootstrap-4 .bs-popover-left, .bootstrap-4 .bs-popover-auto[x-placement^="left"] {
    margin-right: 0.5rem; }
    .bootstrap-4 .bs-popover-left .arrow, .bootstrap-4 .bs-popover-auto[x-placement^="left"] .arrow {
      right: calc((0.5rem + 1px) * -1);
      width: 0.5rem;
      height: 1rem;
      margin: 0.3rem 0; }
    .bootstrap-4 .bs-popover-left .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="left"] .arrow::before,
    .bootstrap-4 .bs-popover-left .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="left"] .arrow::after {
      border-width: 0.5rem 0 0.5rem 0.5rem; }
    .bootstrap-4 .bs-popover-left .arrow::before, .bootstrap-4 .bs-popover-auto[x-placement^="left"] .arrow::before {
      right: 0;
      border-left-color: rgba(0, 0, 0, 0.25); }
    .bootstrap-4 .bs-popover-left .arrow::after, .bootstrap-4 .bs-popover-auto[x-placement^="left"] .arrow::after {
      right: 1px;
      border-left-color: #fff; }
  .bootstrap-4 .popover-header {
    padding: 0.5rem 0.75rem;
    margin-bottom: 0;
    font-size: 1rem;
    color: inherit;
    background-color: #f7f7f7;
    border-bottom: 1px solid #ebebeb;
    border-top-left-radius: calc(0.3rem - 1px);
    border-top-right-radius: calc(0.3rem - 1px); }
    .bootstrap-4 .popover-header:empty {
      display: none; }
  .bootstrap-4 .popover-body {
    padding: 0.5rem 0.75rem;
    color: #212529; }
  .bootstrap-4 .carousel {
    position: relative; }
  .bootstrap-4 .carousel-inner {
    position: relative;
    width: 100%;
    overflow: hidden; }
  .bootstrap-4 .carousel-item {
    position: relative;
    display: none;
    -ms-flex-align: center;
        align-items: center;
    width: 100%;
    transition: transform 0.6s ease;
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    perspective: 1000px; }
  .bootstrap-4 .carousel-item.active,
  .bootstrap-4 .carousel-item-next,
  .bootstrap-4 .carousel-item-prev {
    display: block; }
  .bootstrap-4 .carousel-item-next,
  .bootstrap-4 .carousel-item-prev {
    position: absolute;
    top: 0; }
  .bootstrap-4 .carousel-item-next.carousel-item-left,
  .bootstrap-4 .carousel-item-prev.carousel-item-right {
    transform: translateX(0); }
    @supports (transform-style: preserve-3d) {
      .bootstrap-4 .carousel-item-next.carousel-item-left,
      .bootstrap-4 .carousel-item-prev.carousel-item-right {
        transform: translate3d(0, 0, 0); } }
  .bootstrap-4 .carousel-item-next,
  .bootstrap-4 .active.carousel-item-right {
    transform: translateX(100%); }
    @supports (transform-style: preserve-3d) {
      .bootstrap-4 .carousel-item-next,
      .bootstrap-4 .active.carousel-item-right {
        transform: translate3d(100%, 0, 0); } }
  .bootstrap-4 .carousel-item-prev,
  .bootstrap-4 .active.carousel-item-left {
    transform: translateX(-100%); }
    @supports (transform-style: preserve-3d) {
      .bootstrap-4 .carousel-item-prev,
      .bootstrap-4 .active.carousel-item-left {
        transform: translate3d(-100%, 0, 0); } }
  .bootstrap-4 .carousel-control-prev,
  .bootstrap-4 .carousel-control-next {
    position: absolute;
    top: 0;
    bottom: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    width: 15%;
    color: #fff;
    text-align: center;
    opacity: 0.5; }
    .bootstrap-4 .carousel-control-prev:hover, .bootstrap-4 .carousel-control-prev:focus,
    .bootstrap-4 .carousel-control-next:hover,
    .bootstrap-4 .carousel-control-next:focus {
      color: #fff;
      text-decoration: none;
      outline: 0;
      opacity: .9; }
  .bootstrap-4 .carousel-control-prev {
    left: 0; }
  .bootstrap-4 .carousel-control-next {
    right: 0; }
  .bootstrap-4 .carousel-control-prev-icon,
  .bootstrap-4 .carousel-control-next-icon {
    display: inline-block;
    width: 20px;
    height: 20px;
    background: transparent no-repeat center center;
    background-size: 100% 100%; }
  .bootstrap-4 .carousel-control-prev-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3E%3C/svg%3E"); }
  .bootstrap-4 .carousel-control-next-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 8 8'%3E%3Cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3E%3C/svg%3E"); }
  .bootstrap-4 .carousel-indicators {
    position: absolute;
    right: 0;
    bottom: 10px;
    left: 0;
    z-index: 15;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    padding-left: 0;
    margin-right: 15%;
    margin-left: 15%;
    list-style: none; }
    .bootstrap-4 .carousel-indicators li {
      position: relative;
      -ms-flex: 0 1 auto;
          flex: 0 1 auto;
      width: 30px;
      height: 3px;
      margin-right: 3px;
      margin-left: 3px;
      text-indent: -999px;
      background-color: rgba(255, 255, 255, 0.5); }
      .bootstrap-4 .carousel-indicators li::before {
        position: absolute;
        top: -10px;
        left: 0;
        display: inline-block;
        width: 100%;
        height: 10px;
        content: ""; }
      .bootstrap-4 .carousel-indicators li::after {
        position: absolute;
        bottom: -10px;
        left: 0;
        display: inline-block;
        width: 100%;
        height: 10px;
        content: ""; }
    .bootstrap-4 .carousel-indicators .active {
      background-color: #fff; }
  .bootstrap-4 .carousel-caption {
    position: absolute;
    right: 15%;
    bottom: 20px;
    left: 15%;
    z-index: 10;
    padding-top: 20px;
    padding-bottom: 20px;
    color: #fff;
    text-align: center; }
  .bootstrap-4 .align-baseline {
    vertical-align: baseline !important; }
  .bootstrap-4 .align-top {
    vertical-align: top !important; }
  .bootstrap-4 .align-middle {
    vertical-align: middle !important; }
  .bootstrap-4 .align-bottom {
    vertical-align: bottom !important; }
  .bootstrap-4 .align-text-bottom {
    vertical-align: text-bottom !important; }
  .bootstrap-4 .align-text-top {
    vertical-align: text-top !important; }
  .bootstrap-4 .bg-primary {
    background-color: #007bff !important; }
  .bootstrap-4 a.bg-primary:hover, .bootstrap-4 a.bg-primary:focus,
  .bootstrap-4 button.bg-primary:hover,
  .bootstrap-4 button.bg-primary:focus {
    background-color: #0062cc !important; }
  .bootstrap-4 .bg-secondary {
    background-color: #6c757d !important; }
  .bootstrap-4 a.bg-secondary:hover, .bootstrap-4 a.bg-secondary:focus,
  .bootstrap-4 button.bg-secondary:hover,
  .bootstrap-4 button.bg-secondary:focus {
    background-color: #545b62 !important; }
  .bootstrap-4 .bg-success {
    background-color: #28a745 !important; }
  .bootstrap-4 a.bg-success:hover, .bootstrap-4 a.bg-success:focus,
  .bootstrap-4 button.bg-success:hover,
  .bootstrap-4 button.bg-success:focus {
    background-color: #1e7e34 !important; }
  .bootstrap-4 .bg-info {
    background-color: #17a2b8 !important; }
  .bootstrap-4 a.bg-info:hover, .bootstrap-4 a.bg-info:focus,
  .bootstrap-4 button.bg-info:hover,
  .bootstrap-4 button.bg-info:focus {
    background-color: #117a8b !important; }
  .bootstrap-4 .bg-warning {
    background-color: #ffc107 !important; }
  .bootstrap-4 a.bg-warning:hover, .bootstrap-4 a.bg-warning:focus,
  .bootstrap-4 button.bg-warning:hover,
  .bootstrap-4 button.bg-warning:focus {
    background-color: #d39e00 !important; }
  .bootstrap-4 .bg-danger {
    background-color: #dc3545 !important; }
  .bootstrap-4 a.bg-danger:hover, .bootstrap-4 a.bg-danger:focus,
  .bootstrap-4 button.bg-danger:hover,
  .bootstrap-4 button.bg-danger:focus {
    background-color: #bd2130 !important; }
  .bootstrap-4 .bg-light {
    background-color: #f8f9fa !important; }
  .bootstrap-4 a.bg-light:hover, .bootstrap-4 a.bg-light:focus,
  .bootstrap-4 button.bg-light:hover,
  .bootstrap-4 button.bg-light:focus {
    background-color: #dae0e5 !important; }
  .bootstrap-4 .bg-dark {
    background-color: #343a40 !important; }
  .bootstrap-4 a.bg-dark:hover, .bootstrap-4 a.bg-dark:focus,
  .bootstrap-4 button.bg-dark:hover,
  .bootstrap-4 button.bg-dark:focus {
    background-color: #1d2124 !important; }
  .bootstrap-4 .bg-white {
    background-color: #fff !important; }
  .bootstrap-4 .bg-transparent {
    background-color: transparent !important; }
  .bootstrap-4 .border {
    border: 1px solid #dee2e6 !important; }
  .bootstrap-4 .border-top {
    border-top: 1px solid #dee2e6 !important; }
  .bootstrap-4 .border-right {
    border-right: 1px solid #dee2e6 !important; }
  .bootstrap-4 .border-bottom {
    border-bottom: 1px solid #dee2e6 !important; }
  .bootstrap-4 .border-left {
    border-left: 1px solid #dee2e6 !important; }
  .bootstrap-4 .border-0 {
    border: 0 !important; }
  .bootstrap-4 .border-top-0 {
    border-top: 0 !important; }
  .bootstrap-4 .border-right-0 {
    border-right: 0 !important; }
  .bootstrap-4 .border-bottom-0 {
    border-bottom: 0 !important; }
  .bootstrap-4 .border-left-0 {
    border-left: 0 !important; }
  .bootstrap-4 .border-primary {
    border-color: #007bff !important; }
  .bootstrap-4 .border-secondary {
    border-color: #6c757d !important; }
  .bootstrap-4 .border-success {
    border-color: #28a745 !important; }
  .bootstrap-4 .border-info {
    border-color: #17a2b8 !important; }
  .bootstrap-4 .border-warning {
    border-color: #ffc107 !important; }
  .bootstrap-4 .border-danger {
    border-color: #dc3545 !important; }
  .bootstrap-4 .border-light {
    border-color: #f8f9fa !important; }
  .bootstrap-4 .border-dark {
    border-color: #343a40 !important; }
  .bootstrap-4 .border-white {
    border-color: #fff !important; }
  .bootstrap-4 .rounded {
    border-radius: 0.25rem !important; }
  .bootstrap-4 .rounded-top {
    border-top-left-radius: 0.25rem !important;
    border-top-right-radius: 0.25rem !important; }
  .bootstrap-4 .rounded-right {
    border-top-right-radius: 0.25rem !important;
    border-bottom-right-radius: 0.25rem !important; }
  .bootstrap-4 .rounded-bottom {
    border-bottom-right-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important; }
  .bootstrap-4 .rounded-left {
    border-top-left-radius: 0.25rem !important;
    border-bottom-left-radius: 0.25rem !important; }
  .bootstrap-4 .rounded-circle {
    border-radius: 50% !important; }
  .bootstrap-4 .rounded-0 {
    border-radius: 0 !important; }
  .bootstrap-4 .clearfix::after {
    display: block;
    clear: both;
    content: ""; }
  .bootstrap-4 .d-none {
    display: none !important; }
  .bootstrap-4 .d-inline {
    display: inline !important; }
  .bootstrap-4 .d-inline-block {
    display: inline-block !important; }
  .bootstrap-4 .d-block {
    display: block !important; }
  .bootstrap-4 .d-table {
    display: table !important; }
  .bootstrap-4 .d-table-row {
    display: table-row !important; }
  .bootstrap-4 .d-table-cell {
    display: table-cell !important; }
  .bootstrap-4 .d-flex {
    display: -ms-flexbox !important;
    display: flex !important; }
  .bootstrap-4 .d-inline-flex {
    display: -ms-inline-flexbox !important;
    display: inline-flex !important; }
  @media (min-width: 576px) {
    .bootstrap-4 .d-sm-none {
      display: none !important; }
    .bootstrap-4 .d-sm-inline {
      display: inline !important; }
    .bootstrap-4 .d-sm-inline-block {
      display: inline-block !important; }
    .bootstrap-4 .d-sm-block {
      display: block !important; }
    .bootstrap-4 .d-sm-table {
      display: table !important; }
    .bootstrap-4 .d-sm-table-row {
      display: table-row !important; }
    .bootstrap-4 .d-sm-table-cell {
      display: table-cell !important; }
    .bootstrap-4 .d-sm-flex {
      display: -ms-flexbox !important;
      display: flex !important; }
    .bootstrap-4 .d-sm-inline-flex {
      display: -ms-inline-flexbox !important;
      display: inline-flex !important; } }
  @media (min-width: 768px) {
    .bootstrap-4 .d-md-none {
      display: none !important; }
    .bootstrap-4 .d-md-inline {
      display: inline !important; }
    .bootstrap-4 .d-md-inline-block {
      display: inline-block !important; }
    .bootstrap-4 .d-md-block {
      display: block !important; }
    .bootstrap-4 .d-md-table {
      display: table !important; }
    .bootstrap-4 .d-md-table-row {
      display: table-row !important; }
    .bootstrap-4 .d-md-table-cell {
      display: table-cell !important; }
    .bootstrap-4 .d-md-flex {
      display: -ms-flexbox !important;
      display: flex !important; }
    .bootstrap-4 .d-md-inline-flex {
      display: -ms-inline-flexbox !important;
      display: inline-flex !important; } }
  @media (min-width: 992px) {
    .bootstrap-4 .d-lg-none {
      display: none !important; }
    .bootstrap-4 .d-lg-inline {
      display: inline !important; }
    .bootstrap-4 .d-lg-inline-block {
      display: inline-block !important; }
    .bootstrap-4 .d-lg-block {
      display: block !important; }
    .bootstrap-4 .d-lg-table {
      display: table !important; }
    .bootstrap-4 .d-lg-table-row {
      display: table-row !important; }
    .bootstrap-4 .d-lg-table-cell {
      display: table-cell !important; }
    .bootstrap-4 .d-lg-flex {
      display: -ms-flexbox !important;
      display: flex !important; }
    .bootstrap-4 .d-lg-inline-flex {
      display: -ms-inline-flexbox !important;
      display: inline-flex !important; } }
  @media print {
    .bootstrap-4 .d-print-none {
      display: none !important; }
    .bootstrap-4 .d-print-inline {
      display: inline !important; }
    .bootstrap-4 .d-print-inline-block {
      display: inline-block !important; }
    .bootstrap-4 .d-print-block {
      display: block !important; }
    .bootstrap-4 .d-print-table {
      display: table !important; }
    .bootstrap-4 .d-print-table-row {
      display: table-row !important; }
    .bootstrap-4 .d-print-table-cell {
      display: table-cell !important; }
    .bootstrap-4 .d-print-flex {
      display: -ms-flexbox !important;
      display: flex !important; }
    .bootstrap-4 .d-print-inline-flex {
      display: -ms-inline-flexbox !important;
      display: inline-flex !important; } }
  .bootstrap-4 .embed-responsive {
    position: relative;
    display: block;
    width: 100%;
    padding: 0;
    overflow: hidden; }
    .bootstrap-4 .embed-responsive::before {
      display: block;
      content: ""; }
    .bootstrap-4 .embed-responsive .embed-responsive-item,
    .bootstrap-4 .embed-responsive iframe,
    .bootstrap-4 .embed-responsive embed,
    .bootstrap-4 .embed-responsive object,
    .bootstrap-4 .embed-responsive video {
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      width: 100%;
      height: 100%;
      border: 0; }
  .bootstrap-4 .embed-responsive-21by9::before {
    padding-top: 42.8571428571%; }
  .bootstrap-4 .embed-responsive-16by9::before {
    padding-top: 56.25%; }
  .bootstrap-4 .embed-responsive-4by3::before {
    padding-top: 75%; }
  .bootstrap-4 .embed-responsive-1by1::before {
    padding-top: 100%; }
  .bootstrap-4 .flex-row {
    -ms-flex-direction: row !important;
        flex-direction: row !important; }
  .bootstrap-4 .flex-column {
    -ms-flex-direction: column !important;
        flex-direction: column !important; }
  .bootstrap-4 .flex-row-reverse {
    -ms-flex-direction: row-reverse !important;
        flex-direction: row-reverse !important; }
  .bootstrap-4 .flex-column-reverse {
    -ms-flex-direction: column-reverse !important;
        flex-direction: column-reverse !important; }
  .bootstrap-4 .flex-wrap {
    -ms-flex-wrap: wrap !important;
        flex-wrap: wrap !important; }
  .bootstrap-4 .flex-nowrap {
    -ms-flex-wrap: nowrap !important;
        flex-wrap: nowrap !important; }
  .bootstrap-4 .flex-wrap-reverse {
    -ms-flex-wrap: wrap-reverse !important;
        flex-wrap: wrap-reverse !important; }
  .bootstrap-4 .justify-content-start {
    -ms-flex-pack: start !important;
        justify-content: flex-start !important; }
  .bootstrap-4 .justify-content-end {
    -ms-flex-pack: end !important;
        justify-content: flex-end !important; }
  .bootstrap-4 .justify-content-center {
    -ms-flex-pack: center !important;
        justify-content: center !important; }
  .bootstrap-4 .justify-content-between {
    -ms-flex-pack: justify !important;
        justify-content: space-between !important; }
  .bootstrap-4 .justify-content-around {
    -ms-flex-pack: distribute !important;
        justify-content: space-around !important; }
  .bootstrap-4 .align-items-start {
    -ms-flex-align: start !important;
        align-items: flex-start !important; }
  .bootstrap-4 .align-items-end {
    -ms-flex-align: end !important;
        align-items: flex-end !important; }
  .bootstrap-4 .align-items-center {
    -ms-flex-align: center !important;
        align-items: center !important; }
  .bootstrap-4 .align-items-baseline {
    -ms-flex-align: baseline !important;
        align-items: baseline !important; }
  .bootstrap-4 .align-items-stretch {
    -ms-flex-align: stretch !important;
        align-items: stretch !important; }
  .bootstrap-4 .align-content-start {
    -ms-flex-line-pack: start !important;
        align-content: flex-start !important; }
  .bootstrap-4 .align-content-end {
    -ms-flex-line-pack: end !important;
        align-content: flex-end !important; }
  .bootstrap-4 .align-content-center {
    -ms-flex-line-pack: center !important;
        align-content: center !important; }
  .bootstrap-4 .align-content-between {
    -ms-flex-line-pack: justify !important;
        align-content: space-between !important; }
  .bootstrap-4 .align-content-around {
    -ms-flex-line-pack: distribute !important;
        align-content: space-around !important; }
  .bootstrap-4 .align-content-stretch {
    -ms-flex-line-pack: stretch !important;
        align-content: stretch !important; }
  .bootstrap-4 .align-self-auto {
    -ms-flex-item-align: auto !important;
        -ms-grid-row-align: auto !important;
        align-self: auto !important; }
  .bootstrap-4 .align-self-start {
    -ms-flex-item-align: start !important;
        align-self: flex-start !important; }
  .bootstrap-4 .align-self-end {
    -ms-flex-item-align: end !important;
        align-self: flex-end !important; }
  .bootstrap-4 .align-self-center {
    -ms-flex-item-align: center !important;
        -ms-grid-row-align: center !important;
        align-self: center !important; }
  .bootstrap-4 .align-self-baseline {
    -ms-flex-item-align: baseline !important;
        align-self: baseline !important; }
  .bootstrap-4 .align-self-stretch {
    -ms-flex-item-align: stretch !important;
        -ms-grid-row-align: stretch !important;
        align-self: stretch !important; }
  @media (min-width: 576px) {
    .bootstrap-4 .flex-sm-row {
      -ms-flex-direction: row !important;
          flex-direction: row !important; }
    .bootstrap-4 .flex-sm-column {
      -ms-flex-direction: column !important;
          flex-direction: column !important; }
    .bootstrap-4 .flex-sm-row-reverse {
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }
    .bootstrap-4 .flex-sm-column-reverse {
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; }
    .bootstrap-4 .flex-sm-wrap {
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important; }
    .bootstrap-4 .flex-sm-nowrap {
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important; }
    .bootstrap-4 .flex-sm-wrap-reverse {
      -ms-flex-wrap: wrap-reverse !important;
          flex-wrap: wrap-reverse !important; }
    .bootstrap-4 .justify-content-sm-start {
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }
    .bootstrap-4 .justify-content-sm-end {
      -ms-flex-pack: end !important;
          justify-content: flex-end !important; }
    .bootstrap-4 .justify-content-sm-center {
      -ms-flex-pack: center !important;
          justify-content: center !important; }
    .bootstrap-4 .justify-content-sm-between {
      -ms-flex-pack: justify !important;
          justify-content: space-between !important; }
    .bootstrap-4 .justify-content-sm-around {
      -ms-flex-pack: distribute !important;
          justify-content: space-around !important; }
    .bootstrap-4 .align-items-sm-start {
      -ms-flex-align: start !important;
          align-items: flex-start !important; }
    .bootstrap-4 .align-items-sm-end {
      -ms-flex-align: end !important;
          align-items: flex-end !important; }
    .bootstrap-4 .align-items-sm-center {
      -ms-flex-align: center !important;
          align-items: center !important; }
    .bootstrap-4 .align-items-sm-baseline {
      -ms-flex-align: baseline !important;
          align-items: baseline !important; }
    .bootstrap-4 .align-items-sm-stretch {
      -ms-flex-align: stretch !important;
          align-items: stretch !important; }
    .bootstrap-4 .align-content-sm-start {
      -ms-flex-line-pack: start !important;
          align-content: flex-start !important; }
    .bootstrap-4 .align-content-sm-end {
      -ms-flex-line-pack: end !important;
          align-content: flex-end !important; }
    .bootstrap-4 .align-content-sm-center {
      -ms-flex-line-pack: center !important;
          align-content: center !important; }
    .bootstrap-4 .align-content-sm-between {
      -ms-flex-line-pack: justify !important;
          align-content: space-between !important; }
    .bootstrap-4 .align-content-sm-around {
      -ms-flex-line-pack: distribute !important;
          align-content: space-around !important; }
    .bootstrap-4 .align-content-sm-stretch {
      -ms-flex-line-pack: stretch !important;
          align-content: stretch !important; }
    .bootstrap-4 .align-self-sm-auto {
      -ms-flex-item-align: auto !important;
          -ms-grid-row-align: auto !important;
          align-self: auto !important; }
    .bootstrap-4 .align-self-sm-start {
      -ms-flex-item-align: start !important;
          align-self: flex-start !important; }
    .bootstrap-4 .align-self-sm-end {
      -ms-flex-item-align: end !important;
          align-self: flex-end !important; }
    .bootstrap-4 .align-self-sm-center {
      -ms-flex-item-align: center !important;
          -ms-grid-row-align: center !important;
          align-self: center !important; }
    .bootstrap-4 .align-self-sm-baseline {
      -ms-flex-item-align: baseline !important;
          align-self: baseline !important; }
    .bootstrap-4 .align-self-sm-stretch {
      -ms-flex-item-align: stretch !important;
          -ms-grid-row-align: stretch !important;
          align-self: stretch !important; } }
  @media (min-width: 768px) {
    .bootstrap-4 .flex-md-row {
      -ms-flex-direction: row !important;
          flex-direction: row !important; }
    .bootstrap-4 .flex-md-column {
      -ms-flex-direction: column !important;
          flex-direction: column !important; }
    .bootstrap-4 .flex-md-row-reverse {
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }
    .bootstrap-4 .flex-md-column-reverse {
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; }
    .bootstrap-4 .flex-md-wrap {
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important; }
    .bootstrap-4 .flex-md-nowrap {
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important; }
    .bootstrap-4 .flex-md-wrap-reverse {
      -ms-flex-wrap: wrap-reverse !important;
          flex-wrap: wrap-reverse !important; }
    .bootstrap-4 .justify-content-md-start {
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }
    .bootstrap-4 .justify-content-md-end {
      -ms-flex-pack: end !important;
          justify-content: flex-end !important; }
    .bootstrap-4 .justify-content-md-center {
      -ms-flex-pack: center !important;
          justify-content: center !important; }
    .bootstrap-4 .justify-content-md-between {
      -ms-flex-pack: justify !important;
          justify-content: space-between !important; }
    .bootstrap-4 .justify-content-md-around {
      -ms-flex-pack: distribute !important;
          justify-content: space-around !important; }
    .bootstrap-4 .align-items-md-start {
      -ms-flex-align: start !important;
          align-items: flex-start !important; }
    .bootstrap-4 .align-items-md-end {
      -ms-flex-align: end !important;
          align-items: flex-end !important; }
    .bootstrap-4 .align-items-md-center {
      -ms-flex-align: center !important;
          align-items: center !important; }
    .bootstrap-4 .align-items-md-baseline {
      -ms-flex-align: baseline !important;
          align-items: baseline !important; }
    .bootstrap-4 .align-items-md-stretch {
      -ms-flex-align: stretch !important;
          align-items: stretch !important; }
    .bootstrap-4 .align-content-md-start {
      -ms-flex-line-pack: start !important;
          align-content: flex-start !important; }
    .bootstrap-4 .align-content-md-end {
      -ms-flex-line-pack: end !important;
          align-content: flex-end !important; }
    .bootstrap-4 .align-content-md-center {
      -ms-flex-line-pack: center !important;
          align-content: center !important; }
    .bootstrap-4 .align-content-md-between {
      -ms-flex-line-pack: justify !important;
          align-content: space-between !important; }
    .bootstrap-4 .align-content-md-around {
      -ms-flex-line-pack: distribute !important;
          align-content: space-around !important; }
    .bootstrap-4 .align-content-md-stretch {
      -ms-flex-line-pack: stretch !important;
          align-content: stretch !important; }
    .bootstrap-4 .align-self-md-auto {
      -ms-flex-item-align: auto !important;
          -ms-grid-row-align: auto !important;
          align-self: auto !important; }
    .bootstrap-4 .align-self-md-start {
      -ms-flex-item-align: start !important;
          align-self: flex-start !important; }
    .bootstrap-4 .align-self-md-end {
      -ms-flex-item-align: end !important;
          align-self: flex-end !important; }
    .bootstrap-4 .align-self-md-center {
      -ms-flex-item-align: center !important;
          -ms-grid-row-align: center !important;
          align-self: center !important; }
    .bootstrap-4 .align-self-md-baseline {
      -ms-flex-item-align: baseline !important;
          align-self: baseline !important; }
    .bootstrap-4 .align-self-md-stretch {
      -ms-flex-item-align: stretch !important;
          -ms-grid-row-align: stretch !important;
          align-self: stretch !important; } }
  @media (min-width: 992px) {
    .bootstrap-4 .flex-lg-row {
      -ms-flex-direction: row !important;
          flex-direction: row !important; }
    .bootstrap-4 .flex-lg-column {
      -ms-flex-direction: column !important;
          flex-direction: column !important; }
    .bootstrap-4 .flex-lg-row-reverse {
      -ms-flex-direction: row-reverse !important;
          flex-direction: row-reverse !important; }
    .bootstrap-4 .flex-lg-column-reverse {
      -ms-flex-direction: column-reverse !important;
          flex-direction: column-reverse !important; }
    .bootstrap-4 .flex-lg-wrap {
      -ms-flex-wrap: wrap !important;
          flex-wrap: wrap !important; }
    .bootstrap-4 .flex-lg-nowrap {
      -ms-flex-wrap: nowrap !important;
          flex-wrap: nowrap !important; }
    .bootstrap-4 .flex-lg-wrap-reverse {
      -ms-flex-wrap: wrap-reverse !important;
          flex-wrap: wrap-reverse !important; }
    .bootstrap-4 .justify-content-lg-start {
      -ms-flex-pack: start !important;
          justify-content: flex-start !important; }
    .bootstrap-4 .justify-content-lg-end {
      -ms-flex-pack: end !important;
          justify-content: flex-end !important; }
    .bootstrap-4 .justify-content-lg-center {
      -ms-flex-pack: center !important;
          justify-content: center !important; }
    .bootstrap-4 .justify-content-lg-between {
      -ms-flex-pack: justify !important;
          justify-content: space-between !important; }
    .bootstrap-4 .justify-content-lg-around {
      -ms-flex-pack: distribute !important;
          justify-content: space-around !important; }
    .bootstrap-4 .align-items-lg-start {
      -ms-flex-align: start !important;
          align-items: flex-start !important; }
    .bootstrap-4 .align-items-lg-end {
      -ms-flex-align: end !important;
          align-items: flex-end !important; }
    .bootstrap-4 .align-items-lg-center {
      -ms-flex-align: center !important;
          align-items: center !important; }
    .bootstrap-4 .align-items-lg-baseline {
      -ms-flex-align: baseline !important;
          align-items: baseline !important; }
    .bootstrap-4 .align-items-lg-stretch {
      -ms-flex-align: stretch !important;
          align-items: stretch !important; }
    .bootstrap-4 .align-content-lg-start {
      -ms-flex-line-pack: start !important;
          align-content: flex-start !important; }
    .bootstrap-4 .align-content-lg-end {
      -ms-flex-line-pack: end !important;
          align-content: flex-end !important; }
    .bootstrap-4 .align-content-lg-center {
      -ms-flex-line-pack: center !important;
          align-content: center !important; }
    .bootstrap-4 .align-content-lg-between {
      -ms-flex-line-pack: justify !important;
          align-content: space-between !important; }
    .bootstrap-4 .align-content-lg-around {
      -ms-flex-line-pack: distribute !important;
          align-content: space-around !important; }
    .bootstrap-4 .align-content-lg-stretch {
      -ms-flex-line-pack: stretch !important;
          align-content: stretch !important; }
    .bootstrap-4 .align-self-lg-auto {
      -ms-flex-item-align: auto !important;
          -ms-grid-row-align: auto !important;
          align-self: auto !important; }
    .bootstrap-4 .align-self-lg-start {
      -ms-flex-item-align: start !important;
          align-self: flex-start !important; }
    .bootstrap-4 .align-self-lg-end {
      -ms-flex-item-align: end !important;
          align-self: flex-end !important; }
    .bootstrap-4 .align-self-lg-center {
      -ms-flex-item-align: center !important;
          -ms-grid-row-align: center !important;
          align-self: center !important; }
    .bootstrap-4 .align-self-lg-baseline {
      -ms-flex-item-align: baseline !important;
          align-self: baseline !important; }
    .bootstrap-4 .align-self-lg-stretch {
      -ms-flex-item-align: stretch !important;
          -ms-grid-row-align: stretch !important;
          align-self: stretch !important; } }
  .bootstrap-4 .float-left {
    float: left !important; }
  .bootstrap-4 .float-right {
    float: right !important; }
  .bootstrap-4 .float-none {
    float: none !important; }
  @media (min-width: 576px) {
    .bootstrap-4 .float-sm-left {
      float: left !important; }
    .bootstrap-4 .float-sm-right {
      float: right !important; }
    .bootstrap-4 .float-sm-none {
      float: none !important; } }
  @media (min-width: 768px) {
    .bootstrap-4 .float-md-left {
      float: left !important; }
    .bootstrap-4 .float-md-right {
      float: right !important; }
    .bootstrap-4 .float-md-none {
      float: none !important; } }
  @media (min-width: 992px) {
    .bootstrap-4 .float-lg-left {
      float: left !important; }
    .bootstrap-4 .float-lg-right {
      float: right !important; }
    .bootstrap-4 .float-lg-none {
      float: none !important; } }
  .bootstrap-4 .position-static {
    position: static !important; }
  .bootstrap-4 .position-relative {
    position: relative !important; }
  .bootstrap-4 .position-absolute {
    position: absolute !important; }
  .bootstrap-4 .position-fixed {
    position: fixed !important; }
  .bootstrap-4 .position-sticky {
    position: -webkit-sticky !important;
    position: sticky !important; }
  .bootstrap-4 .fixed-top {
    position: fixed;
    top: 0;
    right: 0;
    left: 0;
    z-index: 1030; }
  .bootstrap-4 .fixed-bottom {
    position: fixed;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 1030; }
  @supports ((position: -webkit-sticky) or (position: sticky)) {
    .bootstrap-4 .sticky-top {
      position: -webkit-sticky;
      position: sticky;
      top: 0;
      z-index: 1020; } }
  .bootstrap-4 .sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    -webkit-clip-path: inset(50%);
            clip-path: inset(50%);
    border: 0; }
  .bootstrap-4 .sr-only-focusable:active, .bootstrap-4 .sr-only-focusable:focus {
    position: static;
    width: auto;
    height: auto;
    overflow: visible;
    clip: auto;
    white-space: normal;
    -webkit-clip-path: none;
            clip-path: none; }
  .bootstrap-4 .w-25 {
    width: 25% !important; }
  .bootstrap-4 .w-50 {
    width: 50% !important; }
  .bootstrap-4 .w-75 {
    width: 75% !important; }
  .bootstrap-4 .w-100 {
    width: 100% !important; }
  .bootstrap-4 .h-25 {
    height: 25% !important; }
  .bootstrap-4 .h-50 {
    height: 50% !important; }
  .bootstrap-4 .h-75 {
    height: 75% !important; }
  .bootstrap-4 .h-100 {
    height: 100% !important; }
  .bootstrap-4 .mw-100 {
    max-width: 100% !important; }
  .bootstrap-4 .mh-100 {
    max-height: 100% !important; }
  .bootstrap-4 .m-0 {
    margin: 0 !important; }
  .bootstrap-4 .mt-0,
  .bootstrap-4 .my-0 {
    margin-top: 0 !important; }
  .bootstrap-4 .mr-0,
  .bootstrap-4 .mx-0 {
    margin-right: 0 !important; }
  .bootstrap-4 .mb-0,
  .bootstrap-4 .my-0 {
    margin-bottom: 0 !important; }
  .bootstrap-4 .ml-0,
  .bootstrap-4 .mx-0 {
    margin-left: 0 !important; }
  .bootstrap-4 .m-1 {
    margin: 0.25rem !important; }
  .bootstrap-4 .mt-1,
  .bootstrap-4 .my-1 {
    margin-top: 0.25rem !important; }
  .bootstrap-4 .mr-1,
  .bootstrap-4 .mx-1 {
    margin-right: 0.25rem !important; }
  .bootstrap-4 .mb-1,
  .bootstrap-4 .my-1 {
    margin-bottom: 0.25rem !important; }
  .bootstrap-4 .ml-1,
  .bootstrap-4 .mx-1 {
    margin-left: 0.25rem !important; }
  .bootstrap-4 .m-2 {
    margin: 0.5rem !important; }
  .bootstrap-4 .mt-2,
  .bootstrap-4 .my-2 {
    margin-top: 0.5rem !important; }
  .bootstrap-4 .mr-2,
  .bootstrap-4 .mx-2 {
    margin-right: 0.5rem !important; }
  .bootstrap-4 .mb-2,
  .bootstrap-4 .my-2 {
    margin-bottom: 0.5rem !important; }
  .bootstrap-4 .ml-2,
  .bootstrap-4 .mx-2 {
    margin-left: 0.5rem !important; }
  .bootstrap-4 .m-3 {
    margin: 1rem !important; }
  .bootstrap-4 .mt-3,
  .bootstrap-4 .my-3 {
    margin-top: 1rem !important; }
  .bootstrap-4 .mr-3,
  .bootstrap-4 .mx-3 {
    margin-right: 1rem !important; }
  .bootstrap-4 .mb-3,
  .bootstrap-4 .my-3 {
    margin-bottom: 1rem !important; }
  .bootstrap-4 .ml-3,
  .bootstrap-4 .mx-3 {
    margin-left: 1rem !important; }
  .bootstrap-4 .m-4 {
    margin: 1.5rem !important; }
  .bootstrap-4 .mt-4,
  .bootstrap-4 .my-4 {
    margin-top: 1.5rem !important; }
  .bootstrap-4 .mr-4,
  .bootstrap-4 .mx-4 {
    margin-right: 1.5rem !important; }
  .bootstrap-4 .mb-4,
  .bootstrap-4 .my-4 {
    margin-bottom: 1.5rem !important; }
  .bootstrap-4 .ml-4,
  .bootstrap-4 .mx-4 {
    margin-left: 1.5rem !important; }
  .bootstrap-4 .m-5 {
    margin: 3rem !important; }
  .bootstrap-4 .mt-5,
  .bootstrap-4 .my-5 {
    margin-top: 3rem !important; }
  .bootstrap-4 .mr-5,
  .bootstrap-4 .mx-5 {
    margin-right: 3rem !important; }
  .bootstrap-4 .mb-5,
  .bootstrap-4 .my-5 {
    margin-bottom: 3rem !important; }
  .bootstrap-4 .ml-5,
  .bootstrap-4 .mx-5 {
    margin-left: 3rem !important; }
  .bootstrap-4 .p-0 {
    padding: 0 !important; }
  .bootstrap-4 .pt-0,
  .bootstrap-4 .py-0 {
    padding-top: 0 !important; }
  .bootstrap-4 .pr-0,
  .bootstrap-4 .px-0 {
    padding-right: 0 !important; }
  .bootstrap-4 .pb-0,
  .bootstrap-4 .py-0 {
    padding-bottom: 0 !important; }
  .bootstrap-4 .pl-0,
  .bootstrap-4 .px-0 {
    padding-left: 0 !important; }
  .bootstrap-4 .p-1 {
    padding: 0.25rem !important; }
  .bootstrap-4 .pt-1,
  .bootstrap-4 .py-1 {
    padding-top: 0.25rem !important; }
  .bootstrap-4 .pr-1,
  .bootstrap-4 .px-1 {
    padding-right: 0.25rem !important; }
  .bootstrap-4 .pb-1,
  .bootstrap-4 .py-1 {
    padding-bottom: 0.25rem !important; }
  .bootstrap-4 .pl-1,
  .bootstrap-4 .px-1 {
    padding-left: 0.25rem !important; }
  .bootstrap-4 .p-2 {
    padding: 0.5rem !important; }
  .bootstrap-4 .pt-2,
  .bootstrap-4 .py-2 {
    padding-top: 0.5rem !important; }
  .bootstrap-4 .pr-2,
  .bootstrap-4 .px-2 {
    padding-right: 0.5rem !important; }
  .bootstrap-4 .pb-2,
  .bootstrap-4 .py-2 {
    padding-bottom: 0.5rem !important; }
  .bootstrap-4 .pl-2,
  .bootstrap-4 .px-2 {
    padding-left: 0.5rem !important; }
  .bootstrap-4 .p-3 {
    padding: 1rem !important; }
  .bootstrap-4 .pt-3,
  .bootstrap-4 .py-3 {
    padding-top: 1rem !important; }
  .bootstrap-4 .pr-3,
  .bootstrap-4 .px-3 {
    padding-right: 1rem !important; }
  .bootstrap-4 .pb-3,
  .bootstrap-4 .py-3 {
    padding-bottom: 1rem !important; }
  .bootstrap-4 .pl-3,
  .bootstrap-4 .px-3 {
    padding-left: 1rem !important; }
  .bootstrap-4 .p-4 {
    padding: 1.5rem !important; }
  .bootstrap-4 .pt-4,
  .bootstrap-4 .py-4 {
    padding-top: 1.5rem !important; }
  .bootstrap-4 .pr-4,
  .bootstrap-4 .px-4 {
    padding-right: 1.5rem !important; }
  .bootstrap-4 .pb-4,
  .bootstrap-4 .py-4 {
    padding-bottom: 1.5rem !important; }
  .bootstrap-4 .pl-4,
  .bootstrap-4 .px-4 {
    padding-left: 1.5rem !important; }
  .bootstrap-4 .p-5 {
    padding: 3rem !important; }
  .bootstrap-4 .pt-5,
  .bootstrap-4 .py-5 {
    padding-top: 3rem !important; }
  .bootstrap-4 .pr-5,
  .bootstrap-4 .px-5 {
    padding-right: 3rem !important; }
  .bootstrap-4 .pb-5,
  .bootstrap-4 .py-5 {
    padding-bottom: 3rem !important; }
  .bootstrap-4 .pl-5,
  .bootstrap-4 .px-5 {
    padding-left: 3rem !important; }
  .bootstrap-4 .m-auto {
    margin: auto !important; }
  .bootstrap-4 .mt-auto,
  .bootstrap-4 .my-auto {
    margin-top: auto !important; }
  .bootstrap-4 .mr-auto,
  .bootstrap-4 .mx-auto {
    margin-right: auto !important; }
  .bootstrap-4 .mb-auto,
  .bootstrap-4 .my-auto {
    margin-bottom: auto !important; }
  .bootstrap-4 .ml-auto,
  .bootstrap-4 .mx-auto {
    margin-left: auto !important; }
  @media (min-width: 576px) {
    .bootstrap-4 .m-sm-0 {
      margin: 0 !important; }
    .bootstrap-4 .mt-sm-0,
    .bootstrap-4 .my-sm-0 {
      margin-top: 0 !important; }
    .bootstrap-4 .mr-sm-0,
    .bootstrap-4 .mx-sm-0 {
      margin-right: 0 !important; }
    .bootstrap-4 .mb-sm-0,
    .bootstrap-4 .my-sm-0 {
      margin-bottom: 0 !important; }
    .bootstrap-4 .ml-sm-0,
    .bootstrap-4 .mx-sm-0 {
      margin-left: 0 !important; }
    .bootstrap-4 .m-sm-1 {
      margin: 0.25rem !important; }
    .bootstrap-4 .mt-sm-1,
    .bootstrap-4 .my-sm-1 {
      margin-top: 0.25rem !important; }
    .bootstrap-4 .mr-sm-1,
    .bootstrap-4 .mx-sm-1 {
      margin-right: 0.25rem !important; }
    .bootstrap-4 .mb-sm-1,
    .bootstrap-4 .my-sm-1 {
      margin-bottom: 0.25rem !important; }
    .bootstrap-4 .ml-sm-1,
    .bootstrap-4 .mx-sm-1 {
      margin-left: 0.25rem !important; }
    .bootstrap-4 .m-sm-2 {
      margin: 0.5rem !important; }
    .bootstrap-4 .mt-sm-2,
    .bootstrap-4 .my-sm-2 {
      margin-top: 0.5rem !important; }
    .bootstrap-4 .mr-sm-2,
    .bootstrap-4 .mx-sm-2 {
      margin-right: 0.5rem !important; }
    .bootstrap-4 .mb-sm-2,
    .bootstrap-4 .my-sm-2 {
      margin-bottom: 0.5rem !important; }
    .bootstrap-4 .ml-sm-2,
    .bootstrap-4 .mx-sm-2 {
      margin-left: 0.5rem !important; }
    .bootstrap-4 .m-sm-3 {
      margin: 1rem !important; }
    .bootstrap-4 .mt-sm-3,
    .bootstrap-4 .my-sm-3 {
      margin-top: 1rem !important; }
    .bootstrap-4 .mr-sm-3,
    .bootstrap-4 .mx-sm-3 {
      margin-right: 1rem !important; }
    .bootstrap-4 .mb-sm-3,
    .bootstrap-4 .my-sm-3 {
      margin-bottom: 1rem !important; }
    .bootstrap-4 .ml-sm-3,
    .bootstrap-4 .mx-sm-3 {
      margin-left: 1rem !important; }
    .bootstrap-4 .m-sm-4 {
      margin: 1.5rem !important; }
    .bootstrap-4 .mt-sm-4,
    .bootstrap-4 .my-sm-4 {
      margin-top: 1.5rem !important; }
    .bootstrap-4 .mr-sm-4,
    .bootstrap-4 .mx-sm-4 {
      margin-right: 1.5rem !important; }
    .bootstrap-4 .mb-sm-4,
    .bootstrap-4 .my-sm-4 {
      margin-bottom: 1.5rem !important; }
    .bootstrap-4 .ml-sm-4,
    .bootstrap-4 .mx-sm-4 {
      margin-left: 1.5rem !important; }
    .bootstrap-4 .m-sm-5 {
      margin: 3rem !important; }
    .bootstrap-4 .mt-sm-5,
    .bootstrap-4 .my-sm-5 {
      margin-top: 3rem !important; }
    .bootstrap-4 .mr-sm-5,
    .bootstrap-4 .mx-sm-5 {
      margin-right: 3rem !important; }
    .bootstrap-4 .mb-sm-5,
    .bootstrap-4 .my-sm-5 {
      margin-bottom: 3rem !important; }
    .bootstrap-4 .ml-sm-5,
    .bootstrap-4 .mx-sm-5 {
      margin-left: 3rem !important; }
    .bootstrap-4 .p-sm-0 {
      padding: 0 !important; }
    .bootstrap-4 .pt-sm-0,
    .bootstrap-4 .py-sm-0 {
      padding-top: 0 !important; }
    .bootstrap-4 .pr-sm-0,
    .bootstrap-4 .px-sm-0 {
      padding-right: 0 !important; }
    .bootstrap-4 .pb-sm-0,
    .bootstrap-4 .py-sm-0 {
      padding-bottom: 0 !important; }
    .bootstrap-4 .pl-sm-0,
    .bootstrap-4 .px-sm-0 {
      padding-left: 0 !important; }
    .bootstrap-4 .p-sm-1 {
      padding: 0.25rem !important; }
    .bootstrap-4 .pt-sm-1,
    .bootstrap-4 .py-sm-1 {
      padding-top: 0.25rem !important; }
    .bootstrap-4 .pr-sm-1,
    .bootstrap-4 .px-sm-1 {
      padding-right: 0.25rem !important; }
    .bootstrap-4 .pb-sm-1,
    .bootstrap-4 .py-sm-1 {
      padding-bottom: 0.25rem !important; }
    .bootstrap-4 .pl-sm-1,
    .bootstrap-4 .px-sm-1 {
      padding-left: 0.25rem !important; }
    .bootstrap-4 .p-sm-2 {
      padding: 0.5rem !important; }
    .bootstrap-4 .pt-sm-2,
    .bootstrap-4 .py-sm-2 {
      padding-top: 0.5rem !important; }
    .bootstrap-4 .pr-sm-2,
    .bootstrap-4 .px-sm-2 {
      padding-right: 0.5rem !important; }
    .bootstrap-4 .pb-sm-2,
    .bootstrap-4 .py-sm-2 {
      padding-bottom: 0.5rem !important; }
    .bootstrap-4 .pl-sm-2,
    .bootstrap-4 .px-sm-2 {
      padding-left: 0.5rem !important; }
    .bootstrap-4 .p-sm-3 {
      padding: 1rem !important; }
    .bootstrap-4 .pt-sm-3,
    .bootstrap-4 .py-sm-3 {
      padding-top: 1rem !important; }
    .bootstrap-4 .pr-sm-3,
    .bootstrap-4 .px-sm-3 {
      padding-right: 1rem !important; }
    .bootstrap-4 .pb-sm-3,
    .bootstrap-4 .py-sm-3 {
      padding-bottom: 1rem !important; }
    .bootstrap-4 .pl-sm-3,
    .bootstrap-4 .px-sm-3 {
      padding-left: 1rem !important; }
    .bootstrap-4 .p-sm-4 {
      padding: 1.5rem !important; }
    .bootstrap-4 .pt-sm-4,
    .bootstrap-4 .py-sm-4 {
      padding-top: 1.5rem !important; }
    .bootstrap-4 .pr-sm-4,
    .bootstrap-4 .px-sm-4 {
      padding-right: 1.5rem !important; }
    .bootstrap-4 .pb-sm-4,
    .bootstrap-4 .py-sm-4 {
      padding-bottom: 1.5rem !important; }
    .bootstrap-4 .pl-sm-4,
    .bootstrap-4 .px-sm-4 {
      padding-left: 1.5rem !important; }
    .bootstrap-4 .p-sm-5 {
      padding: 3rem !important; }
    .bootstrap-4 .pt-sm-5,
    .bootstrap-4 .py-sm-5 {
      padding-top: 3rem !important; }
    .bootstrap-4 .pr-sm-5,
    .bootstrap-4 .px-sm-5 {
      padding-right: 3rem !important; }
    .bootstrap-4 .pb-sm-5,
    .bootstrap-4 .py-sm-5 {
      padding-bottom: 3rem !important; }
    .bootstrap-4 .pl-sm-5,
    .bootstrap-4 .px-sm-5 {
      padding-left: 3rem !important; }
    .bootstrap-4 .m-sm-auto {
      margin: auto !important; }
    .bootstrap-4 .mt-sm-auto,
    .bootstrap-4 .my-sm-auto {
      margin-top: auto !important; }
    .bootstrap-4 .mr-sm-auto,
    .bootstrap-4 .mx-sm-auto {
      margin-right: auto !important; }
    .bootstrap-4 .mb-sm-auto,
    .bootstrap-4 .my-sm-auto {
      margin-bottom: auto !important; }
    .bootstrap-4 .ml-sm-auto,
    .bootstrap-4 .mx-sm-auto {
      margin-left: auto !important; } }
  @media (min-width: 768px) {
    .bootstrap-4 .m-md-0 {
      margin: 0 !important; }
    .bootstrap-4 .mt-md-0,
    .bootstrap-4 .my-md-0 {
      margin-top: 0 !important; }
    .bootstrap-4 .mr-md-0,
    .bootstrap-4 .mx-md-0 {
      margin-right: 0 !important; }
    .bootstrap-4 .mb-md-0,
    .bootstrap-4 .my-md-0 {
      margin-bottom: 0 !important; }
    .bootstrap-4 .ml-md-0,
    .bootstrap-4 .mx-md-0 {
      margin-left: 0 !important; }
    .bootstrap-4 .m-md-1 {
      margin: 0.25rem !important; }
    .bootstrap-4 .mt-md-1,
    .bootstrap-4 .my-md-1 {
      margin-top: 0.25rem !important; }
    .bootstrap-4 .mr-md-1,
    .bootstrap-4 .mx-md-1 {
      margin-right: 0.25rem !important; }
    .bootstrap-4 .mb-md-1,
    .bootstrap-4 .my-md-1 {
      margin-bottom: 0.25rem !important; }
    .bootstrap-4 .ml-md-1,
    .bootstrap-4 .mx-md-1 {
      margin-left: 0.25rem !important; }
    .bootstrap-4 .m-md-2 {
      margin: 0.5rem !important; }
    .bootstrap-4 .mt-md-2,
    .bootstrap-4 .my-md-2 {
      margin-top: 0.5rem !important; }
    .bootstrap-4 .mr-md-2,
    .bootstrap-4 .mx-md-2 {
      margin-right: 0.5rem !important; }
    .bootstrap-4 .mb-md-2,
    .bootstrap-4 .my-md-2 {
      margin-bottom: 0.5rem !important; }
    .bootstrap-4 .ml-md-2,
    .bootstrap-4 .mx-md-2 {
      margin-left: 0.5rem !important; }
    .bootstrap-4 .m-md-3 {
      margin: 1rem !important; }
    .bootstrap-4 .mt-md-3,
    .bootstrap-4 .my-md-3 {
      margin-top: 1rem !important; }
    .bootstrap-4 .mr-md-3,
    .bootstrap-4 .mx-md-3 {
      margin-right: 1rem !important; }
    .bootstrap-4 .mb-md-3,
    .bootstrap-4 .my-md-3 {
      margin-bottom: 1rem !important; }
    .bootstrap-4 .ml-md-3,
    .bootstrap-4 .mx-md-3 {
      margin-left: 1rem !important; }
    .bootstrap-4 .m-md-4 {
      margin: 1.5rem !important; }
    .bootstrap-4 .mt-md-4,
    .bootstrap-4 .my-md-4 {
      margin-top: 1.5rem !important; }
    .bootstrap-4 .mr-md-4,
    .bootstrap-4 .mx-md-4 {
      margin-right: 1.5rem !important; }
    .bootstrap-4 .mb-md-4,
    .bootstrap-4 .my-md-4 {
      margin-bottom: 1.5rem !important; }
    .bootstrap-4 .ml-md-4,
    .bootstrap-4 .mx-md-4 {
      margin-left: 1.5rem !important; }
    .bootstrap-4 .m-md-5 {
      margin: 3rem !important; }
    .bootstrap-4 .mt-md-5,
    .bootstrap-4 .my-md-5 {
      margin-top: 3rem !important; }
    .bootstrap-4 .mr-md-5,
    .bootstrap-4 .mx-md-5 {
      margin-right: 3rem !important; }
    .bootstrap-4 .mb-md-5,
    .bootstrap-4 .my-md-5 {
      margin-bottom: 3rem !important; }
    .bootstrap-4 .ml-md-5,
    .bootstrap-4 .mx-md-5 {
      margin-left: 3rem !important; }
    .bootstrap-4 .p-md-0 {
      padding: 0 !important; }
    .bootstrap-4 .pt-md-0,
    .bootstrap-4 .py-md-0 {
      padding-top: 0 !important; }
    .bootstrap-4 .pr-md-0,
    .bootstrap-4 .px-md-0 {
      padding-right: 0 !important; }
    .bootstrap-4 .pb-md-0,
    .bootstrap-4 .py-md-0 {
      padding-bottom: 0 !important; }
    .bootstrap-4 .pl-md-0,
    .bootstrap-4 .px-md-0 {
      padding-left: 0 !important; }
    .bootstrap-4 .p-md-1 {
      padding: 0.25rem !important; }
    .bootstrap-4 .pt-md-1,
    .bootstrap-4 .py-md-1 {
      padding-top: 0.25rem !important; }
    .bootstrap-4 .pr-md-1,
    .bootstrap-4 .px-md-1 {
      padding-right: 0.25rem !important; }
    .bootstrap-4 .pb-md-1,
    .bootstrap-4 .py-md-1 {
      padding-bottom: 0.25rem !important; }
    .bootstrap-4 .pl-md-1,
    .bootstrap-4 .px-md-1 {
      padding-left: 0.25rem !important; }
    .bootstrap-4 .p-md-2 {
      padding: 0.5rem !important; }
    .bootstrap-4 .pt-md-2,
    .bootstrap-4 .py-md-2 {
      padding-top: 0.5rem !important; }
    .bootstrap-4 .pr-md-2,
    .bootstrap-4 .px-md-2 {
      padding-right: 0.5rem !important; }
    .bootstrap-4 .pb-md-2,
    .bootstrap-4 .py-md-2 {
      padding-bottom: 0.5rem !important; }
    .bootstrap-4 .pl-md-2,
    .bootstrap-4 .px-md-2 {
      padding-left: 0.5rem !important; }
    .bootstrap-4 .p-md-3 {
      padding: 1rem !important; }
    .bootstrap-4 .pt-md-3,
    .bootstrap-4 .py-md-3 {
      padding-top: 1rem !important; }
    .bootstrap-4 .pr-md-3,
    .bootstrap-4 .px-md-3 {
      padding-right: 1rem !important; }
    .bootstrap-4 .pb-md-3,
    .bootstrap-4 .py-md-3 {
      padding-bottom: 1rem !important; }
    .bootstrap-4 .pl-md-3,
    .bootstrap-4 .px-md-3 {
      padding-left: 1rem !important; }
    .bootstrap-4 .p-md-4 {
      padding: 1.5rem !important; }
    .bootstrap-4 .pt-md-4,
    .bootstrap-4 .py-md-4 {
      padding-top: 1.5rem !important; }
    .bootstrap-4 .pr-md-4,
    .bootstrap-4 .px-md-4 {
      padding-right: 1.5rem !important; }
    .bootstrap-4 .pb-md-4,
    .bootstrap-4 .py-md-4 {
      padding-bottom: 1.5rem !important; }
    .bootstrap-4 .pl-md-4,
    .bootstrap-4 .px-md-4 {
      padding-left: 1.5rem !important; }
    .bootstrap-4 .p-md-5 {
      padding: 3rem !important; }
    .bootstrap-4 .pt-md-5,
    .bootstrap-4 .py-md-5 {
      padding-top: 3rem !important; }
    .bootstrap-4 .pr-md-5,
    .bootstrap-4 .px-md-5 {
      padding-right: 3rem !important; }
    .bootstrap-4 .pb-md-5,
    .bootstrap-4 .py-md-5 {
      padding-bottom: 3rem !important; }
    .bootstrap-4 .pl-md-5,
    .bootstrap-4 .px-md-5 {
      padding-left: 3rem !important; }
    .bootstrap-4 .m-md-auto {
      margin: auto !important; }
    .bootstrap-4 .mt-md-auto,
    .bootstrap-4 .my-md-auto {
      margin-top: auto !important; }
    .bootstrap-4 .mr-md-auto,
    .bootstrap-4 .mx-md-auto {
      margin-right: auto !important; }
    .bootstrap-4 .mb-md-auto,
    .bootstrap-4 .my-md-auto {
      margin-bottom: auto !important; }
    .bootstrap-4 .ml-md-auto,
    .bootstrap-4 .mx-md-auto {
      margin-left: auto !important; } }
  @media (min-width: 992px) {
    .bootstrap-4 .m-lg-0 {
      margin: 0 !important; }
    .bootstrap-4 .mt-lg-0,
    .bootstrap-4 .my-lg-0 {
      margin-top: 0 !important; }
    .bootstrap-4 .mr-lg-0,
    .bootstrap-4 .mx-lg-0 {
      margin-right: 0 !important; }
    .bootstrap-4 .mb-lg-0,
    .bootstrap-4 .my-lg-0 {
      margin-bottom: 0 !important; }
    .bootstrap-4 .ml-lg-0,
    .bootstrap-4 .mx-lg-0 {
      margin-left: 0 !important; }
    .bootstrap-4 .m-lg-1 {
      margin: 0.25rem !important; }
    .bootstrap-4 .mt-lg-1,
    .bootstrap-4 .my-lg-1 {
      margin-top: 0.25rem !important; }
    .bootstrap-4 .mr-lg-1,
    .bootstrap-4 .mx-lg-1 {
      margin-right: 0.25rem !important; }
    .bootstrap-4 .mb-lg-1,
    .bootstrap-4 .my-lg-1 {
      margin-bottom: 0.25rem !important; }
    .bootstrap-4 .ml-lg-1,
    .bootstrap-4 .mx-lg-1 {
      margin-left: 0.25rem !important; }
    .bootstrap-4 .m-lg-2 {
      margin: 0.5rem !important; }
    .bootstrap-4 .mt-lg-2,
    .bootstrap-4 .my-lg-2 {
      margin-top: 0.5rem !important; }
    .bootstrap-4 .mr-lg-2,
    .bootstrap-4 .mx-lg-2 {
      margin-right: 0.5rem !important; }
    .bootstrap-4 .mb-lg-2,
    .bootstrap-4 .my-lg-2 {
      margin-bottom: 0.5rem !important; }
    .bootstrap-4 .ml-lg-2,
    .bootstrap-4 .mx-lg-2 {
      margin-left: 0.5rem !important; }
    .bootstrap-4 .m-lg-3 {
      margin: 1rem !important; }
    .bootstrap-4 .mt-lg-3,
    .bootstrap-4 .my-lg-3 {
      margin-top: 1rem !important; }
    .bootstrap-4 .mr-lg-3,
    .bootstrap-4 .mx-lg-3 {
      margin-right: 1rem !important; }
    .bootstrap-4 .mb-lg-3,
    .bootstrap-4 .my-lg-3 {
      margin-bottom: 1rem !important; }
    .bootstrap-4 .ml-lg-3,
    .bootstrap-4 .mx-lg-3 {
      margin-left: 1rem !important; }
    .bootstrap-4 .m-lg-4 {
      margin: 1.5rem !important; }
    .bootstrap-4 .mt-lg-4,
    .bootstrap-4 .my-lg-4 {
      margin-top: 1.5rem !important; }
    .bootstrap-4 .mr-lg-4,
    .bootstrap-4 .mx-lg-4 {
      margin-right: 1.5rem !important; }
    .bootstrap-4 .mb-lg-4,
    .bootstrap-4 .my-lg-4 {
      margin-bottom: 1.5rem !important; }
    .bootstrap-4 .ml-lg-4,
    .bootstrap-4 .mx-lg-4 {
      margin-left: 1.5rem !important; }
    .bootstrap-4 .m-lg-5 {
      margin: 3rem !important; }
    .bootstrap-4 .mt-lg-5,
    .bootstrap-4 .my-lg-5 {
      margin-top: 3rem !important; }
    .bootstrap-4 .mr-lg-5,
    .bootstrap-4 .mx-lg-5 {
      margin-right: 3rem !important; }
    .bootstrap-4 .mb-lg-5,
    .bootstrap-4 .my-lg-5 {
      margin-bottom: 3rem !important; }
    .bootstrap-4 .ml-lg-5,
    .bootstrap-4 .mx-lg-5 {
      margin-left: 3rem !important; }
    .bootstrap-4 .p-lg-0 {
      padding: 0 !important; }
    .bootstrap-4 .pt-lg-0,
    .bootstrap-4 .py-lg-0 {
      padding-top: 0 !important; }
    .bootstrap-4 .pr-lg-0,
    .bootstrap-4 .px-lg-0 {
      padding-right: 0 !important; }
    .bootstrap-4 .pb-lg-0,
    .bootstrap-4 .py-lg-0 {
      padding-bottom: 0 !important; }
    .bootstrap-4 .pl-lg-0,
    .bootstrap-4 .px-lg-0 {
      padding-left: 0 !important; }
    .bootstrap-4 .p-lg-1 {
      padding: 0.25rem !important; }
    .bootstrap-4 .pt-lg-1,
    .bootstrap-4 .py-lg-1 {
      padding-top: 0.25rem !important; }
    .bootstrap-4 .pr-lg-1,
    .bootstrap-4 .px-lg-1 {
      padding-right: 0.25rem !important; }
    .bootstrap-4 .pb-lg-1,
    .bootstrap-4 .py-lg-1 {
      padding-bottom: 0.25rem !important; }
    .bootstrap-4 .pl-lg-1,
    .bootstrap-4 .px-lg-1 {
      padding-left: 0.25rem !important; }
    .bootstrap-4 .p-lg-2 {
      padding: 0.5rem !important; }
    .bootstrap-4 .pt-lg-2,
    .bootstrap-4 .py-lg-2 {
      padding-top: 0.5rem !important; }
    .bootstrap-4 .pr-lg-2,
    .bootstrap-4 .px-lg-2 {
      padding-right: 0.5rem !important; }
    .bootstrap-4 .pb-lg-2,
    .bootstrap-4 .py-lg-2 {
      padding-bottom: 0.5rem !important; }
    .bootstrap-4 .pl-lg-2,
    .bootstrap-4 .px-lg-2 {
      padding-left: 0.5rem !important; }
    .bootstrap-4 .p-lg-3 {
      padding: 1rem !important; }
    .bootstrap-4 .pt-lg-3,
    .bootstrap-4 .py-lg-3 {
      padding-top: 1rem !important; }
    .bootstrap-4 .pr-lg-3,
    .bootstrap-4 .px-lg-3 {
      padding-right: 1rem !important; }
    .bootstrap-4 .pb-lg-3,
    .bootstrap-4 .py-lg-3 {
      padding-bottom: 1rem !important; }
    .bootstrap-4 .pl-lg-3,
    .bootstrap-4 .px-lg-3 {
      padding-left: 1rem !important; }
    .bootstrap-4 .p-lg-4 {
      padding: 1.5rem !important; }
    .bootstrap-4 .pt-lg-4,
    .bootstrap-4 .py-lg-4 {
      padding-top: 1.5rem !important; }
    .bootstrap-4 .pr-lg-4,
    .bootstrap-4 .px-lg-4 {
      padding-right: 1.5rem !important; }
    .bootstrap-4 .pb-lg-4,
    .bootstrap-4 .py-lg-4 {
      padding-bottom: 1.5rem !important; }
    .bootstrap-4 .pl-lg-4,
    .bootstrap-4 .px-lg-4 {
      padding-left: 1.5rem !important; }
    .bootstrap-4 .p-lg-5 {
      padding: 3rem !important; }
    .bootstrap-4 .pt-lg-5,
    .bootstrap-4 .py-lg-5 {
      padding-top: 3rem !important; }
    .bootstrap-4 .pr-lg-5,
    .bootstrap-4 .px-lg-5 {
      padding-right: 3rem !important; }
    .bootstrap-4 .pb-lg-5,
    .bootstrap-4 .py-lg-5 {
      padding-bottom: 3rem !important; }
    .bootstrap-4 .pl-lg-5,
    .bootstrap-4 .px-lg-5 {
      padding-left: 3rem !important; }
    .bootstrap-4 .m-lg-auto {
      margin: auto !important; }
    .bootstrap-4 .mt-lg-auto,
    .bootstrap-4 .my-lg-auto {
      margin-top: auto !important; }
    .bootstrap-4 .mr-lg-auto,
    .bootstrap-4 .mx-lg-auto {
      margin-right: auto !important; }
    .bootstrap-4 .mb-lg-auto,
    .bootstrap-4 .my-lg-auto {
      margin-bottom: auto !important; }
    .bootstrap-4 .ml-lg-auto,
    .bootstrap-4 .mx-lg-auto {
      margin-left: auto !important; } }
  .bootstrap-4 .text-justify {
    text-align: justify !important; }
  .bootstrap-4 .text-nowrap {
    white-space: nowrap !important; }
  .bootstrap-4 .text-truncate {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap; }
  .bootstrap-4 .text-left {
    text-align: left !important; }
  .bootstrap-4 .text-right {
    text-align: right !important; }
  .bootstrap-4 .text-center {
    text-align: center !important; }
  @media (min-width: 576px) {
    .bootstrap-4 .text-sm-left {
      text-align: left !important; }
    .bootstrap-4 .text-sm-right {
      text-align: right !important; }
    .bootstrap-4 .text-sm-center {
      text-align: center !important; } }
  @media (min-width: 768px) {
    .bootstrap-4 .text-md-left {
      text-align: left !important; }
    .bootstrap-4 .text-md-right {
      text-align: right !important; }
    .bootstrap-4 .text-md-center {
      text-align: center !important; } }
  @media (min-width: 992px) {
    .bootstrap-4 .text-lg-left {
      text-align: left !important; }
    .bootstrap-4 .text-lg-right {
      text-align: right !important; }
    .bootstrap-4 .text-lg-center {
      text-align: center !important; } }
  .bootstrap-4 .text-lowercase {
    text-transform: lowercase !important; }
  .bootstrap-4 .text-uppercase {
    text-transform: uppercase !important; }
  .bootstrap-4 .text-capitalize {
    text-transform: capitalize !important; }
  .bootstrap-4 .font-weight-light {
    font-weight: 300 !important; }
  .bootstrap-4 .font-weight-normal {
    font-weight: 400 !important; }
  .bootstrap-4 .font-weight-bold {
    font-weight: 700 !important; }
  .bootstrap-4 .font-italic {
    font-style: italic !important; }
  .bootstrap-4 .text-white {
    color: #fff !important; }
  .bootstrap-4 .text-primary {
    color: #007bff !important; }
  .bootstrap-4 a.text-primary:hover, .bootstrap-4 a.text-primary:focus {
    color: #0062cc !important; }
  .bootstrap-4 .text-secondary {
    color: #6c757d !important; }
  .bootstrap-4 a.text-secondary:hover, .bootstrap-4 a.text-secondary:focus {
    color: #545b62 !important; }
  .bootstrap-4 .text-success {
    color: #28a745 !important; }
  .bootstrap-4 a.text-success:hover, .bootstrap-4 a.text-success:focus {
    color: #1e7e34 !important; }
  .bootstrap-4 .text-info {
    color: #17a2b8 !important; }
  .bootstrap-4 a.text-info:hover, .bootstrap-4 a.text-info:focus {
    color: #117a8b !important; }
  .bootstrap-4 .text-warning {
    color: #ffc107 !important; }
  .bootstrap-4 a.text-warning:hover, .bootstrap-4 a.text-warning:focus {
    color: #d39e00 !important; }
  .bootstrap-4 .text-danger {
    color: #dc3545 !important; }
  .bootstrap-4 a.text-danger:hover, .bootstrap-4 a.text-danger:focus {
    color: #bd2130 !important; }
  .bootstrap-4 .text-light {
    color: #f8f9fa !important; }
  .bootstrap-4 a.text-light:hover, .bootstrap-4 a.text-light:focus {
    color: #dae0e5 !important; }
  .bootstrap-4 .text-dark {
    color: #343a40 !important; }
  .bootstrap-4 a.text-dark:hover, .bootstrap-4 a.text-dark:focus {
    color: #1d2124 !important; }
  .bootstrap-4 .text-muted {
    color: #6c757d !important; }
  .bootstrap-4 .text-hide {
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0; }
  .bootstrap-4 .visible {
    visibility: visible !important; }
  .bootstrap-4 .invisible {
    visibility: hidden !important; }
  @media print {
    .bootstrap-4 *,
    .bootstrap-4 *::before,
    .bootstrap-4 *::after {
      text-shadow: none !important;
      box-shadow: none !important; }
    .bootstrap-4 a:not(.btn) {
      text-decoration: underline; }
    .bootstrap-4 abbr[title]::after {
      content: " (" attr(title) ")"; }
    .bootstrap-4 pre {
      white-space: pre-wrap !important; }
    .bootstrap-4 pre,
    .bootstrap-4 blockquote {
      border: 1px solid #999;
      page-break-inside: avoid; }
    .bootstrap-4 thead {
      display: table-header-group; }
    .bootstrap-4 tr,
    .bootstrap-4 img {
      page-break-inside: avoid; }
    .bootstrap-4 p,
    .bootstrap-4 h2,
    .bootstrap-4 h3 {
      orphans: 3;
      widows: 3; }
    .bootstrap-4 h2,
    .bootstrap-4 h3 {
      page-break-after: avoid; }
    @page {
      .bootstrap-4 {
        size: a3; } }
    .bootstrap-4 body {
      min-width: 992px !important; }
    .bootstrap-4 .container {
      min-width: 992px !important; }
    .bootstrap-4 .navbar {
      display: none; }
    .bootstrap-4 .badge {
      border: 1px solid #000; }
    .bootstrap-4 .table {
      border-collapse: collapse !important; }
      .bootstrap-4 .table td,
      .bootstrap-4 .table th {
        background-color: #fff !important; }
    .bootstrap-4 .table-bordered th,
    .bootstrap-4 .table-bordered td {
      border: 1px solid #ddd !important; } }
  @media all and (max-width: 576px) {
    .bootstrap-4 .container {
      width: auto !important;
      padding-right: 15px !important;
      padding-left: 15px !important; } }
  .bootstrap-4 ul li {
    list-style-type: none; }
  .bootstrap-4 p {
    color: inherit; }
  .bootstrap-4 .DnnModule {
    margin: 0px !important; }
  .bootstrap-4 .DnnModule .Invisible {
    visibility: visible !important; }
  .bootstrap-4 .ModDNNHTMLC > div {
    padding: 0px !important; }
  .bootstrap-4 .ModDNNHTMLC strong {
    font-size: inherit; }
  .bootstrap-4 .ModDNNHTMLC p {
    line-height: normal !important; }
  .bootstrap-4 .ModDNNHTMLC ol li, .bootstrap-4 .ModDNNHTMLC ul li, .bootstrap-4 .gridviewLayout ol li, .bootstrap-4 .gridviewLayout ul li, .bootstrap-4 .ContentArea ol li, .bootstrap-4 .ContentArea ul li {
    color: inherit; }
  .bootstrap-4 .ModDNNHTMLC table td,
  .bootstrap-4 .ContentArea table td {
    border: inherit !important; }
  .bootstrap-4 button.dnnPrimaryAction.dnnPrimaryActionBtn {
    border-radius: 30px !important;
    text-shadow: none;
    box-shadow: none;
    font-size: 16px;
    font-weight: 600;
    margin-right: 70px; }
    .bootstrap-4 button.dnnPrimaryAction.dnnPrimaryActionBtn:hover {
      background-color: #79BA00 !important; }
  .bootstrap-4 .form-builder-canvas.Simple select {
    border-radius: 3px !important; }
  .bootstrap-4 * {
    font-family: 'Open Sans', sans-serif !important; }
  .bootstrap-4 img {
    max-width: 100%; }
  .bootstrap-4 a {
    font-size: 16px;
    color: #0085ca;
    text-decoration: none; }
  .bootstrap-4 p, .bootstrap-4 li {
    line-height: 24px;
    color: #525252; }
  .bootstrap-4 .banner {
    height: 200px;
    background-size: cover;
    background-position: right center;
    background-repeat: no-repeat;
    border-image-repeat: stretch; }
    .bootstrap-4 .banner h2 {
      font-size: 37px !important;
      line-height: 48px;
      letter-spacing: -1px;
      color: white;
      display: inline-block;
      position: relative;
      padding-bottom: 23px;
      padding-top: 60px; }
      .bootstrap-4 .banner h2 :before {
        content: "";
        position: absolute;
        width: 60px;
        bottom: 0;
        left: 0;
        border-bottom: 6px solid #FFCB05; }
  .bootstrap-4 #dnn_divBanner {
    height: 200px; }
  @media only screen and (max-width: 768px) {
    .bootstrap-4 .banner {
      height: 100px;
      background-size: cover;
      background-position: left center;
      background-repeat: no-repeat;
      border-image-repeat: stretch; }
      .bootstrap-4 .banner h2 {
        font-size: 37px !important;
        line-height: 48px;
        letter-spacing: -1px;
        color: white;
        display: inline-block;
        position: relative;
        padding-bottom: 23px;
        padding-top: 15px; }
        .bootstrap-4 .banner h2 :before {
          content: "";
          position: absolute;
          width: 60px;
          bottom: 0;
          left: 0;
          border-bottom: 6px solid #FFCB05; }
    .bootstrap-4 #dnn_divBanner {
      height: 100px; } }
  .bootstrap-4 .overviewBar {
    float: right;
    margin: 0;
    max-width: 100%;
    list-style-type: none !important;
    padding: 9.5px 0; }
    .bootstrap-4 .overviewBar li {
      float: left;
      padding: 5px 10px; }
      .bootstrap-4 .overviewBar li a {
        text-decoration: none !important;
        font-size: 14px;
        color: #707070;
        font-weight: 600; }
        .bootstrap-4 .overviewBar li a.active {
          color: #0487CB; }
        .bootstrap-4 .overviewBar li a.cta {
          border-radius: 30px;
          background: #FFCB05;
          color: #7d4e04;
          padding: 8px 20px; }
          .bootstrap-4 .overviewBar li a.cta:hover {
            background-color: #F2C004;
            color: #7d4e04; }
        .bootstrap-4 .overviewBar li a:hover {
          color: #0487CB; }
  .bootstrap-4 #dnn_divIntroduction .contentBlock.text-center {
    border-bottom: 1px solid #e5e5e5;
    margin-bottom: 60px; }
    .bootstrap-4 #dnn_divIntroduction .contentBlock.text-center p {
      max-width: 780px;
      margin: auto;
      padding-bottom: 60px; }
  .bootstrap-4 #dnn_divIntroduction .contentBlock p, .bootstrap-4 #dnn_divIntroduction2 .contentBlock p {
    color: #005581 !important;
    font-size: 21px !important;
    line-height: 30px;
    padding-bottom: 30px; }
  .bootstrap-4 #dnn_divIntroduction .contentBlock h4, .bootstrap-4 #dnn_divIntroduction2 .contentBlock h4 {
    font-size: 24px;
    font-weight: 700;
    margin-bottom: 0px !important; }
  .bootstrap-4 #dnn_divSamplePages .contentBlock p {
    font-size: 18px;
    max-width: 460px;
    margin: 0 auto 27px auto;
    line-height: 27px; }
  .bootstrap-4 .contentBlock {
    margin-top: 60px; }
    .bootstrap-4 .contentBlock h5 {
      color: #005581;
      font-size: 21px; }
    .bootstrap-4 .contentBlock h6 {
      color: #003865;
      font-size: 30px;
      font-weight: bold;
      padding-bottom: 30px; }
    .bootstrap-4 .contentBlock h1 {
      font-size: 48px !important;
      line-height: 54px;
      letter-spacing: -1.5px;
      font-weight: 700;
      color: #003366;
      display: inline-block;
      position: relative;
      padding-bottom: 23px;
      margin-bottom: 40px; }
      .bootstrap-4 .contentBlock h1 :before {
        content: "";
        position: absolute;
        width: 60px;
        bottom: 0;
        left: 0;
        border-bottom: 6px solid #FFCB05; }
      .contentBlock.text-center :before {
        right: 0;
        margin: 0 auto; }
    .bootstrap-4 .contentBlock h3 {
      font-size: 30px;
      font-weight: bold;
      color: #003366;
      display: inline-block;
      margin-bottom: 30px; }
    .bootstrap-4 .contentBlock h4 {
      font-size: 37px;
      line-height: 48px;
      letter-spacing: -1px;
      font-weight: bold;
      color: #003865;
      display: inline-block;
      position: relative;
      padding-bottom: 25px;
      margin-bottom: 30px; }
      .bootstrap-4 .contentBlock h4 :before {
        content: "";
        position: absolute;
        width: 60px;
        bottom: 0;
        left: 0;
        border-bottom: 6px solid #FFCB05; }
      .contentBlock.text-center :before {
        right: 0;
        margin: 0 auto; }
    .bootstrap-4 .contentBlock p {
      font-size: 16px;
      margin-bottom: 20px; }
    .bootstrap-4 .contentBlock strong {
      font-weight: bold;
      color: #003865; }
    .bootstrap-4 .contentBlock .blueText {
      color: #005581;
      font-size: 21px; }
    .bootstrap-4 .contentBlock ul, .bootstrap-4 .contentBlock ul.arrow-list {
      padding: 0 25px 25px 25px;
      list-style-type: disc !important;
      list-style-position: outside; }
      .bootstrap-4 .contentBlock ul li, .bootstrap-4 .contentBlock ul.arrow-list li {
        font-size: 16px;
        padding-bottom: 20px;
        padding-left: 10px;
        list-style-image: url("/Portals/5/Images/blue-small-arrow.png"); }
    .bootstrap-4 .contentBlock .blue-button {
      font-size: 14px;
      font-weight: 600;
      box-sizing: content-box;
      color: #ffffff;
      cursor: pointer;
      padding: 8px 35px;
      border: none;
      border-radius: 30px;
      text-align: center;
      text-overflow: clip;
      background: #0085CA;
      transition: background 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75); }
    .bootstrap-4 .contentBlock .blue-button-big {
      font-size: 20px;
      font-weight: 600;
      box-sizing: content-box;
      color: #ffffff;
      cursor: pointer;
      padding: 14px 100px 14px 100px;
      border: none;
      border-radius: 30px;
      text-align: center;
      text-overflow: clip;
      background: #0085CA;
      transition: background 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75); }
    .bootstrap-4 .contentBlock .yellow-button-big {
      font-size: 18px;
      font-weight: 600;
      box-sizing: content-box;
      color: #7d4e04;
      cursor: pointer;
      padding: 20px 20px;
      border: none;
      border-radius: 30px;
      text-align: center;
      text-overflow: clip;
      background: #FFCB05;
      transition: background 0.2s cubic-bezier(0.25, 0.25, 0.75, 0.75); }
      .bootstrap-4 .contentBlock .yellow-button-big:hover {
        background-color: #F2C004; }
    .bootstrap-4 .contentBlock a {
      font-size: 14px;
      text-decoration: none; }
    .bootstrap-4 .contentBlock .bordered-block {
      border: 1px solid #e5e5e5;
      padding: 30px;
      margin: 10px;
      min-height: 205px; }
      .bootstrap-4 .contentBlock .bordered-block strong {
        font-size: 16px; }
  .bootstrap-4 .unbordered-block {
    margin: 10px 10px 60px 10px; }
    .bootstrap-4 .unbordered-block p {
      padding-top: 15px; }
    .bootstrap-4 .unbordered-block strong {
      margin: 0 10px;
      font-size: 18px;
      color: #003366;
      font-weight: 600; }
    .bootstrap-4 .unbordered-block a {
      font-size: 14px;
      text-decoration: none; }
  .bootstrap-4 .grayContentBlock {
    /* margin-top: 60px; */
    background-color: #F8F8F8;
    /*padding: 30px !important;*/ }
    .bootstrap-4 .grayContentBlock img {
      max-width: 100%; }
    .bootstrap-4 .grayContentBlock strong {
      font-size: 22px;
      color: #003366; }
    .bootstrap-4 .grayContentBlock p {
      font-size: 16px;
      padding-top: 20px; }
    .bootstrap-4 .grayContentBlock .contentBox {
      padding: 30px; }
  .bootstrap-4 #dnn_divBanner_SyncPanel #dnn_divBanner {
    height: 300px; }
  .bootstrap-4 hr.waves {
    height: 10px;
    background: url("/Portals/5/Images/hr-wave.png") repeat-x 0 0;
    border: 0; }
  .bootstrap-4 .red-tag {
    border-radius: 3px;
    background: #e0004d;
    margin-top: 20px;
    padding: 3px;
    color: #ffffff;
    font-size: 11px;
    width: 43px;
    height: 22px;
    font-weight: bold;
    letter-spacing: 1px; }
  .bootstrap-4 .tab-downnloads {
    width: 100%; }
    .bootstrap-4 .tab-downnloads thead {
      border-top: 2px solid #e5e5e5;
      cursor: pointer; }
      .bootstrap-4 .tab-downnloads thead .td1 {
        font-size: 16px;
        color: #333333;
        padding: 11.5px 15px;
        font-weight: 600;
        width: 80%; }
      .bootstrap-4 .tab-downnloads thead .td2 {
        width: 12%; }
      .bootstrap-4 .tab-downnloads thead .td3 {
        width: 8%;
        text-align: center; }
    .bootstrap-4 .tab-downnloads tbody {
      font-size: 13px;
      display: none; }
      .bootstrap-4 .tab-downnloads tbody tr {
        border-top: 1px solid #e5e5e5; }
      .bootstrap-4 .tab-downnloads tbody .td1 {
        width: 80%;
        padding: 10px 0px;
        color: #0085ca; }
        .bootstrap-4 .tab-downnloads tbody .td1 img {
          padding: 0px 30px 0 20px; }
      .bootstrap-4 .tab-downnloads tbody .td2 {
        width: 12%;
        color: #707070;
        text-align: right; }
      .bootstrap-4 .tab-downnloads tbody .td3 {
        width: 8%;
        text-align: center; }
  .bootstrap-4 #contact-us-titles {
    padding-top: 40px; }
    .bootstrap-4 #contact-us-titles .title-box {
      color: #707070;
      font-size: 16px;
      border-bottom: 2px solid #e5e5e5;
      cursor: pointer;
      padding-top: 20px; }
      .bootstrap-4 #contact-us-titles .title-box p {
        padding-top: 12px; }
    .bootstrap-4 #contact-us-titles .title-box:hover p {
      color: #0085ca !important; }
    .bootstrap-4 #contact-us-titles .title-box.active {
      border-bottom: 3px solid #0089c5; }
      .bootstrap-4 #contact-us-titles .title-box.active p {
        color: #0085ca !important;
        font-weight: 600; }
  .bootstrap-4 .contactDetails {
    background-color: #f8f8f8;
    padding: 35px;
    margin-left: 20px; }
    .bootstrap-4 .contactDetails strong {
      font-size: 18px;
      font-weight: 600;
      color: #003865;
      position: relative; }
    .bootstrap-4 .contactDetails p {
      font-size: 15px;
      color: #616161;
      position: relative;
      top: 5px;
      left: 40px; }
      .bootstrap-4 .contactDetails p a {
        color: #0085ca;
        text-decoration: underline;
        font-size: 14px; }
    .bootstrap-4 .contactDetails hr {
      margin-bottom: 20px;
      margin-left: -18px;
      margin-right: -18px;
      margin-top: 25px; }
  .bootstrap-4 .mainContent {
    padding: 0px; }
  .bootstrap-4 .sticky {
    position: fixed;
    top: 0;
    width: 100% !important;
    z-index: 55;
    background-color: white; }
    .bootstrap-4 .sticky hr {
      margin-bottom: 0px; }
    .bootstrap-4 .sticky #h2copy {
      float: left;
      color: #003865;
      font-weight: bold;
      font-size: 20px;
      line-height: 54px;
      letter-spacing: -0.5px;
      display: inline-block; }
  .bootstrap-4 #h2copy {
    display: none; }
  .bootstrap-4 #introCustomerService .contentBlock p, .bootstrap-4 #introTechnicalSupport .contentBlock p, .bootstrap-4 #introAccounts .contentBlock p {
    font-size: 18px;
    margin-top: -10px;
    color: #005581; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInRkZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19yb290LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX3JlYm9vdC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL192YXJpYWJsZXMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2hvdmVyLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX3R5cGUuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2xpc3RzLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL19pbWFnZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19pbWFnZXMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2JvcmRlci1yYWRpdXMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fY29kZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fZ3JpZC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19ncmlkLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL19icmVha3BvaW50cy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fdGFibGVzLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL190YWJsZS1yb3cuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fZnVuY3Rpb25zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX2Zvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL190cmFuc2l0aW9uLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL19mb3Jtcy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fZ3JhZGllbnRzLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX2J1dHRvbnMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2J1dHRvbnMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fdHJhbnNpdGlvbnMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fZHJvcGRvd24uc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2NhcmV0LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL19uYXYtZGl2aWRlci5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19idXR0b24tZ3JvdXAuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9faW5wdXQtZ3JvdXAuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fY3VzdG9tLWZvcm1zLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX25hdi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19uYXZiYXIuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fY2FyZC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19icmVhZGNydW1iLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX3BhZ2luYXRpb24uc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX3BhZ2luYXRpb24uc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fYmFkZ2Uuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2JhZGdlLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX2p1bWJvdHJvbi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19hbGVydC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fYWxlcnQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fcHJvZ3Jlc3Muc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fbWVkaWEuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fbGlzdC1ncm91cC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fbGlzdC1ncm91cC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19jbG9zZS5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL19tb2RhbC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL190b29sdGlwLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL19yZXNldC10ZXh0LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvX3BvcG92ZXIuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9fY2Fyb3VzZWwuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy91dGlsaXRpZXMvX2FsaWduLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL19iYWNrZ3JvdW5kLXZhcmlhbnQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy91dGlsaXRpZXMvX2JhY2tncm91bmQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy91dGlsaXRpZXMvX2JvcmRlcnMuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvdXRpbGl0aWVzL19kaXNwbGF5LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvdXRpbGl0aWVzL19lbWJlZC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3V0aWxpdGllcy9fZmxleC5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fZmxvYXQuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy91dGlsaXRpZXMvX2Zsb2F0LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvdXRpbGl0aWVzL19wb3NpdGlvbi5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGlucy9fc2NyZWVuLXJlYWRlci5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3V0aWxpdGllcy9fc2NyZWVucmVhZGVycy5zY3NzIiwidmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3V0aWxpdGllcy9fc2l6aW5nLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvdXRpbGl0aWVzL19zcGFjaW5nLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvdXRpbGl0aWVzL190ZXh0LnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL190ZXh0LXRydW5jYXRlLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL190ZXh0LWVtcGhhc2lzLnNjc3MiLCJ2ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvbWl4aW5zL190ZXh0LWhpZGUuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9taXhpbnMvX3Zpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy91dGlsaXRpZXMvX3Zpc2liaWxpdHkuc2NzcyIsInZlbmRvci9ib290c3RyYXAtNC4wLjAv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eUMsRUVyT2I7RUxhdEM7SUtaVSxnQkZxT3VDLEVFck9YO0VMWXRDO0lLWFUsbUJGcU8wQyxFRXJPZDtFTFd0QztJS1ZVLGtCRnFPeUMsRUVyT2I7RUxVdEM7SUtUVSxtQkZxTzBDLEVFck9kO0VMU3RDO0lLUlUsZ0JGcU53QixFRXJOSTtFTFF0QztJS0xFLG1CRnFQb0Q7SUVwUHBELGlCRnFQK0IsRUVwUGhDO0VMR0Q7SUtDRSxnQkZvT2dDO0lFbk9oQyxpQkZ3TytCO0lFdk8vQixpQkYrTitCLEVFOU5oQztFTEpEO0lLTUUsa0JGZ09rQztJRS9ObEMsaUJGb08rQjtJRW5PL0IsaUJGME4rQixFRXpOaEM7RUxURDtJS1dFLGtCRjROa0M7SUUzTmxDLGlCRmdPK0I7SUUvTi9CLGlCRnFOK0IsRUVwTmhDO0VMZEQ7SUtnQkUsa0JGd05rQztJRXZObEMsaUJGNE4rQjtJRTNOL0IsaUJGZ04rQixFRS9NaEM7RUxuQkQ7SUsyQkUsaUJGOERXO0lFN0RYLG9CRjZEVztJRTVEWCxVQUFTO0lBQ1QseUNGckNhLEVFc0NkO0VML0JEOztJS3dDRSxlRjJNK0I7SUUxTS9CLGlCRnlLK0IsRUV4S2hDO0VMMUNEOztJSzhDRSxlRitNZ0M7SUU5TWhDLDBCRnVObUMsRUV0TnBDO0VMaEREO0lNeEJFLGdCQUFlO0lBQ2YsaUJBQWdCLEVEZ0ZqQjtFTHpERDtJTXhCRSxnQkFBZTtJQUNmLGlCQUFnQixFRHFGakI7RUw5REQ7SUtnRUUsc0JBQXFCLEVBS3RCO0lMckVEO01LbUVJLHFCRmlNK0IsRUVoTWhDO0VMcEVIO0lLOEVFLGVBQWM7SUFDZCwwQkFBeUIsRUFDMUI7RUxoRkQ7SUtvRkUsb0JGS1c7SUVKWCxtQkZtS29ELEVFbEtyRDtFTHRGRDtJS3lGRSxlQUFjO0lBQ2QsZUFBYztJQUNkLGVGdEdnQixFRTJHakI7SUxoR0Q7TUs4RkksdUJBQXNCLEVBQ3ZCO0VML0ZIO0lPakJFLGdCQUFlO0lBR2YsYUFBWSxFQ0xiO0VSbUJEO0lRZEUsaUJMcXlCd0M7SUtweUJ4Qyx1QkxKYTtJS0tiLDBCTEZnQjtJTVZkLHVCTjZNZ0M7SUl0TWxDLGdCQUFlO0lBR2YsYUFBWSxFQ1FiO0VSTUQ7SVFFRSxzQkFBcUIsRUFDdEI7RVJIRDtJUU1FLHNCQUE0QjtJQUM1QixlQUFjLEVBQ2Y7RVJSRDtJUVdFLGVMc3hCcUM7SUtyeEJyQyxlTHZCZ0IsRUt3QmpCO0VSYkQ7Ozs7SVV2QkUsa0dQZ09nSCxFTy9Oakg7RVZzQkQ7SVVsQkUsaUJQbzJCdUM7SU9uMkJ2QyxlUDRCZTtJTzNCZix1QkFBc0IsRUFNdkI7SUFURDtNQU9JLGVBQWMsRUFDZjtFVldIO0lVTkUsdUJQNDFCdUM7SU8zMUJ2QyxpQlB1MUJ1QztJT3QxQnZDLFlQYmE7SU9jYiwwQlBMZ0I7SU1oQmQsc0JOK00rQixFT2hMbEM7SVZQRDtNVUVJLFdBQVU7TUFDVixnQkFBZTtNQUNmLGlCUCtNNkIsRU83TTlCO0VWTkg7SVVXRSxlQUFjO0lBQ2QsaUJQczBCdUM7SU9yMEJ2QyxlUHJCZ0IsRU82QmpCO0lWckJEO01VaUJJLG1CQUFrQjtNQUNsQixlQUFjO01BQ2QsbUJBQWtCLEVBQ25CO0VWcEJIO0lVeUJFLGtCUG0wQnVDO0lPbDBCdkMsbUJBQWtCLEVBQ25CO0VWM0JEO0lXdkJFLFlBQVc7SUFDWCxvQkFBdUM7SUFDdkMsbUJBQXNDO0lBQ3RDLG1CQUFrQjtJQUNsQixrQkFBaUIsRUNEaEI7SUNvREM7TWJoQ0o7UVdYTSxpQlhBSyxFWVRSLEVBQUE7SUNvREM7TWJoQ0o7UVdYTSxpQlhDSyxFWVZSLEVBQUE7SUNvREM7TWJoQ0o7UVdYTSxpQlhFSyxFWVhSLEVBQUE7RVpvQkg7SVd2QkUsWUFBVztJQUNYLG9CQUF1QztJQUN2QyxtQkFBc0M7SUFDdEMsbUJBQWtCO0lBQ2xCLGtCQUFpQixFQ1VoQjtFWlNIO0lXTEUscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JBQWU7UUFBZixnQkFBZTtJQUNmLG9CQUF1QztJQUN2QyxtQkFBc0MsRUNHckM7RVpESDtJWU1JLGdCQUFlO0lBQ2YsZUFBYyxFQU9mO0laZEg7O01ZV00saUJBQWdCO01BQ2hCLGdCQUFlLEVBQ2hCO0VaYkw7SWNw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LG9CWjhHVztJWTdHWCw4QlpzU3VDLEVZalJ4QztJZkREOztNZWhCSSxpQlorUmdDO01ZOVJoQyxvQkFBbUI7TUFDbkIsOEJaQWMsRVlDZjtJZmFIO01lVkksdUJBQXNCO01BQ3RCLGlDWkxjLEVZTWY7SWZRSDtNZUxJLDhCWlRjLEVZVWY7SWZJSDtNZURJLHVCWmhCVyxFWWlCWjtFZkFIOztJZVdJLGdCWnFRK0IsRVlwUWhDO0VmWkg7SWVxQkUsMEJabkNnQixFWWdEakI7SWZsQ0Q7O01leUJJLDBCWnZDYyxFWXdDZjtJZjFCSDs7TWUrQk0seUJBQThDLEVBQy9DO0VmaENMO0llMkNJLHNDWmxEVyxFWW1EWjtFZjVDSDtJZXVETSx1Q1o5RFMsRUNQUztFSmN4Qjs7O0lnQm5CTSwwQkMyRTRELEVEMUU3RDtFaEJrQkw7SWdCUlEsMEJBSnNDLEVaRnRCO0lKY3hCOztNZ0JKVSwwQkFSb0MsRUFTckM7RWhCR1Q7OztJZ0JuQk0sMEJDMkU0RCxFRDFFN0Q7RWhCa0JMO0lnQlJRLDBCQUpzQyxFWkZ0QjtJSmN4Qjs7TWdCSlUsMEJBUm9DLEVBU3JDO0VoQkdUOzs7SWdCbkJNLDBCQzJFNEQsRUQxRTdEO0VoQmtCTDtJZ0JSUSwwQkFKc0MsRVpGdEI7SUpjeEI7O01nQkpVLDBCQVJvQyxFQVNyQztFaEJHVDs7O0lnQm5CTSwwQkMyRTRELEVEMUU3RDtFaEJrQkw7SWdCUlEsMEJBSnNDLEVaRnRCO0lKY3hCOztNZ0JKVSwwQkFSb0MsRUFTckM7RWhCR1Q7OztJZ0JuQk0sMEJDMkU0RCxFRDFFN0Q7RWhCa0JMO0lnQlJRLDBCQUpzQyxFWkZ0QjtJSmN4Qjs7TWdCSlUsMEJBUm9DLEVBU3JDO0VoQkdUOzs7SWdCbkJNLDBCQzJFNEQsRUQxRTdEO0VoQmtCTDtJZ0JSUSwwQkFKc0MsRVpGdEI7SUpjeEI7O01nQkpVLDBCQVJvQyxFQVNyQztFaEJHVDs7O0lnQm5CTSwwQkMyRTRELEVEMUU3RDtFaEJrQkw7SWdCUlEsMEJBSnNDLEVaRnRCO0lKY3hCOztNZ0JKVSwwQkFSb0MsRUFTckM7RWhCR1Q7OztJZ0JuQk0sMEJDMkU0RCxFRDFFN0Q7RWhCa0JMO0lnQlJRLDBCQUpzQyxFWkZ0QjtJSmN4Qjs7TWdCSlUsMEJBUm9DLEVBU3JDO0VoQkdUOzs7SWdCbkJNLHVDYllTLEVhWFY7RWhCa0JMO0lnQlJRLHVDQUpzQyxFWkZ0QjtJSmN4Qjs7TWdCSlUsdUNBUm9DLEVBU3JDO0VoQkdUO0llaUZNLFlabEdTO0lZbUdULDBCWjFGWTtJWTJGWixzQlo2TWdELEVZNU1qRDtFZnBGTDtJZXlGTSxlWm5HWTtJWW9HWiwwQlp6R1k7SVkwR1osc0JaekdZLEVZMEdiO0VmNUZMO0llaUdFLFlabEhhO0lZbUhiLDBCWjFHZ0IsRVltSWpCO0lmM0hEOzs7TWV1R0ksc0JaeUxrRCxFWXhMbkQ7SWZ4R0g7TWUyR0ksVUFBUyxFQUNWO0lmNUdIO01lZ0hNLDRDWmpJUyxFWWtJVjtJZmpITDtNZXVIUSw2Q1p4SU8sRUNHUztFUzJEcEI7SWI3Q0o7TWUwSVEsZUFBYztNQUNkLFlBQVc7TUFDWCxpQkFBZ0I7TUFDaEIsa0NBQWlDO01BQ2pDLDZDQUE0QyxFQU8vQztNZnJKTDtRZWtKVSxVQUFTLEVBQ1YsRUFBQTtFRnRHTDtJYjdDSjtNZTBJUSxlQUFjO01BQ2QsWUFBVztNQUNYLGlCQUFnQjtNQUNoQixrQ0FBaUM7TUFDakMsNkNBQTRDLEVBTy9DO01mckpMO1Fla0pVLFVBQVMsRUFDVixFQUFBO0VGdEdMO0liN0NKO01lMElRLGVBQWM7TUFDZCxZQUFXO01BQ1gsaUJBQWdCO01BQ2hCLGtDQUFpQztNQUNqQyw2Q0FBNEMsRUFPL0M7TWZySkw7UWVrSlUsVUFBUyxFQUNWLEVBQUE7RWZuSlQ7SWUwSVEsZUFBYztJQUNkLFlBQVc7SUFDWCxpQkFBZ0I7SUFDaEIsa0NBQWlDO0lBQ2pDLDZDQUE0QyxFQU8vQztJZnJKTDtNZWtKVSxVQUFTLEVBQ1Y7RWZuSlQ7SWtCckJFLGVBQWM7SUFDZCxZQUFXO0lBQ1gsMEJmNFRrQztJZTNUbEMsZ0JmK05nQztJZTlOaEMsaUJmdU8rQjtJZXRPL0IsZWZNZ0I7SWVMaEIsdUJmRmE7SWVHYiw2QkFBNEI7SUFDNUIsMEJmQWdCO0llS2QsdUJmNkxnQztJZ0I1TTlCLHlFaEJvYTRGLEVlalhqRztJbEI1QkQ7TWtCR0ksOEJBQTZCO01BQzdCLFVBQVMsRUFDVjtJbEJMSDtNb0JkSSxlakJJYztNaUJIZCx1QmpCSlc7TWlCS1gsc0JqQnVZc0U7TWlCdFl0RSxXQUFVO01BS1IsaURqQmNXLEVpQlpkO0lwQklIO01rQllJLGVmdkJjO01leUJkLFdBQVUsRUFDWDtJbEJmSDtNa0JZSSxlZnZCYztNZXlCZCxXQUFVLEVBQ1g7SWxCZkg7TWtCd0JJLDBCZnZDYztNZXlDZCxXQUFVLEVBQ1g7RWxCM0JIO0lrQmdDSSw0QmZxVzBGLEVlcFczRjtFbEJqQ0g7SWtCeUNJLGVmbkRjO0llb0RkLHVCZjNEVyxFZTREWjtFbEIzQ0g7O0lrQmlERSxlQUFjO0lBQ2QsWUFBVyxFQUNaO0VsQm5ERDtJa0I2REUsa0NBQStEO0lBQy9ELHFDQUFrRTtJQUNsRSxpQkFBZ0I7SUFDaEIsbUJBQWtCO0lBQ2xCLGlCZnFKK0IsRWVwSmhDO0VsQmxFRDtJa0JxRUUsZ0NBQWtFO0lBQ2xFLG1DQUFxRTtJQUNyRSxtQmZ1SW9EO0lldElwRCxpQmZ1RytCLEVldEdoQztFbEJ6RUQ7SWtCNEVFLGlDQUFrRTtJQUNsRSxvQ0FBcUU7SUFDckUsb0JmaUlvRDtJZWhJcEQsaUJmaUcrQixFZWhHaEM7RWxCaEZEO0lrQnlGRSxlQUFjO0lBQ2QsWUFBVztJQUNYLHNCZjZNbUM7SWU1TW5DLHlCZjRNbUM7SWUzTW5DLGlCQUFnQjtJQUNoQixpQmZ3SCtCO0lldkgvQiw4QkFBNkI7SUFDN0IsMEJBQXlCO0lBQ3pCLG9CQUFtQyxFQU9wQztJbEJ4R0Q7TWtCcUdJLGlCQUFnQjtNQUNoQixnQkFBZSxFQUNoQjtFbEJ2R0g7SWtCb0hFLHdCZjZMaUM7SWU1TGpDLG9CZjBGb0Q7SWV6RnBELGlCZjBEK0I7SU14TTdCLHNCTitNK0IsRWUvRGxDO0VsQnhIRDtJa0I0SEksOEJmNFE2RixFZTNROUY7RWxCN0hIO0lrQmlJRSxxQmZvTGdDO0llbkxoQyxtQmY0RW9E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QkFBcUIsRWxCRXRCO0lKT0g7TXNCSkksV0FBVTtNQUNWLGlEbkJXYSxFbUJWZDtJdEJFSDtNc0JHSSxjbkI4VTZCLEVtQjVVOUI7SXRCTEg7TXNCU0ksZ0JBQWUsRUFDaEI7SXRCVkg7TXNCY0ksdUJBQXNCLEVBTXZCO0V0QnBCSDs7SXNCMEJFLHFCQUFvQixFQUNyQjtFdEIzQkQ7SXVCdEJFLFlwQkthO0lrQkxYLDBCbEI4QmE7SW9CNUJmLHNCcEI0QmUsRW1CNkJkO0l0QnJDSDtNdUJoQkksWXBCRFc7TWtCTFgsMEJFRG9GO01BU3BGLHNCQVR5SCxFbkJTckc7SUpjeEI7TXVCTE0sZ0RwQmFXLEVvQlhkO0l2QkdIO011QkVJLFlwQm5CVztNb0JvQlgsMEJwQkthO01vQkpiLHNCcEJJYSxFb0JIZDtJdkJMSDs7TXVCVUksWXBCM0JXO01vQjRCWCwwQkFsQ3VLO01Bc0N2SyxzQkF0QytNLEVBZ0RoTjtNdkJ6Qkg7O1F1QnNCUSxnRHBCZFMsRW9CZ0JaO0V2QnhCTDtJdUJ0QkUsWXBCS2E7SWtCTFgsMEJsQldjO0lvQlRoQixzQnBCU2dCLEVtQmdEZjtJdEJyQ0g7TXVCaEJJLFlwQkRXO01rQkxYLDBCRURvRjtNQVNwRixzQkFUeUgsRW5CU3JHO0lKY3hCO011QkxNLGtEcEJOWSxFb0JRZjtJdkJHSDtNdUJFSSxZcEJuQlc7TW9Cb0JYLDBCcEJkYztNb0JlZCxzQnBCZmMsRW9CZ0JmO0l2QkxIOztNdUJVSSxZcEIzQlc7TW9CNEJYLDBCQWxDdUs7TUFzQ3ZLLHNCQXRDK00sRUFnRGhOO012QnpCSDs7UXVCc0JRLGtEcEJqQ1UsRW9CbUNiO0V2QnhCTDtJdUJ0QkUsWXBCS2E7SWtCTFgsMEJsQnFDYTtJb0JuQ2Ysc0JwQm1DZSxFbUJzQmQ7SXRCckNIO011QmhCSSxZcEJEVztNa0JMWCwwQkVEb0Y7TUFTcEYsc0JBVHlILEVuQlNyRztJSmN4QjtNdUJMTSxnRHBCb0JXLEVvQmxCZDtJdkJHSDtNdUJFSSxZcEJuQlc7TW9Cb0JYLDBCcEJZYTtNb0JYYixzQnBCV2EsRW9CVmQ7SXZCTEg7O011QlVJLFlwQjNCVztNb0I0QlgsMEJBbEN1SztNQXNDdkssc0JBdEMrTSxFQWdEaE47TXZCekJIOztRdUJzQlEsZ0RwQlBTLEVvQlNaO0V2QnhCTDtJdUJ0QkUsWXBCS2E7SWtCTFgsMEJsQnVDYTtJb0JyQ2Ysc0JwQnFDZSxFbUJvQmQ7SXRCckNIO011QmhCSSxZcEJEVztNa0JMWCwwQkVEb0Y7TUFTcEYsc0JBVHlILEVuQlNyRztJSmN4QjtNdUJMTSxpRHBCc0JXLEVvQnBCZDtJdkJHSDtNdUJFSSxZcEJuQlc7TW9Cb0JYLDBCcEJjYTtNb0JiYixzQnBCYWEsRW9CWmQ7SXZCTEg7O011QlVJLFlwQjNCVztNb0I0QlgsMEJBbEN1SztNQXNDdkssc0JBdEMrTSxFQWdEaE47TXZCekJIOztRdUJzQlEsaURwQkxTLEVvQk9aO0V2QnhCTDtJdUJ0QkUsZXBCY2dCO0lrQmRkLDBCbEJvQ2E7SW9CbENmLHNCcEJrQ2UsRW1CdUJkO0l0QnJDSDtNdUJoQkksZXBCUWM7TWtCZGQsMEJFRG9GO01BU3BGLHNCQVR5SCxFbkJTckc7SUpjeEI7TXVCTE0sZ0RwQm1CVyxFb0JqQmQ7SXZCR0g7TXVCRUksZXBCVmM7TW9CV2QsMEJwQldhO01vQlZiLHNCcEJVYSxFb0JUZDtJdkJMSDs7TXVCVUksZXBCbEJjO01vQm1CZCwwQkFsQ3VLO01Bc0N2SyxzQkF0QytNLEVBZ0RoTjtNdkJ6Qkg7O1F1QnNCUSxnRHBCUlMsRW9CVVo7RXZCeEJMO0l1QnRCRSxZcEJLYTtJa0JMWCwwQmxCa0NhO0lvQmhDZixzQnBCZ0NlLEVtQnlCZDtJdEJyQ0g7TXVCaEJJLFlwQkRXO01rQkxYLDBCRURvRjtNQVNwRixzQkFUeUgsRW5CU3JHO0lKY3hCO011QkxNLGdEcEJpQlcsRW9CZmQ7SXZCR0g7TXVCRUksWXBCbkJXO01vQm9CWCwwQnBCU2E7TW9CUmIsc0JwQlFhLEVvQlBkO0l2QkxIOztNdUJVSSxZcEIzQlc7TW9CNEJYLDBCQWxDdUs7TUFzQ3ZLLHNCQXRDK00sRUFnRGhOO012QnpCSDs7UXVCc0JRLGdEcEJWUyxFb0JZWjtFdkJ4Qkw7SXVCdEJFLGVwQmNnQjtJa0JkZCwwQmxCTWM7SW9CSmhCLHNCcEJJZ0IsRW1CcURmO0l0QnJDSDtNdUJoQkksZXBCUWM7TWtCZGQsMEJFRG9GO01BU3BGLHNCQVR5SCxFbkJTckc7SUpjeEI7TXVCTE0sa0RwQlhZLEVvQmFmO0l2QkdIO011QkVJLGVwQlZjO01vQldkLDBCcEJuQmM7TW9Cb0JkLHNCcEJwQmMsRW9CcUJmO0l2QkxIOztNdUJVSSxlcEJsQmM7TW9CbUJkLDBCQWxDdUs7TUFzQ3ZLLHNCQXRDK00sRUFnRGhOO012QnpCSDs7UXVCc0JRLGtEcEJ0Q1UsRW9Cd0NiO0V2QnhCTDtJdUJ0QkUsWXBCS2E7SWtCTFgsMEJsQmFjO0lvQlhoQixzQnBCV2dCLEVtQjhDZjtJdEJyQ0g7TXVCaEJJLFlwQkRXO01rQkxYLDBCRURvRjtNQVNwRixzQkFUeUgsRW5CU3JHO0lKY3hCO011QkxNLCtDcEJKWSxFb0JNZjtJdkJHSDtNdUJFSSxZcEJuQlc7TW9Cb0JYLDBCcEJaYztNb0JhZCxzQnBCYmMsRW9CY2Y7SXZCTEg7O011QlVJLFlwQjNCVztNb0I0QlgsMEJBbEN1SztNQXNDdkssc0JBdEMrTSxFQWdEaE47TXZCekJIOztRdUJzQlEsK0NwQi9CVSxFb0JpQ2I7RXZCeEJMO0l1QjZCRSxlcEJyQmU7SW9Cc0JmLDhCQUE2QjtJQUM3Qix1QkFBc0I7SUFDdEIsc0JwQnhCZSxFbUJtQ2Q7SXRCM0NIO011Qm1DSSxZcEJwRFc7TW9CcURYLDBCcEI1QmE7TW9CNkJiLHNCcEI3QmEsRW9COEJkO0l2QnRDSDtNdUIwQ0ksZ0RwQmxDYSxFb0JtQ2Q7SXZCM0NIO011QitDSSxlcEJ2Q2E7TW9Cd0NiLDhCQUE2QixFQUM5QjtJdkJqREg7O011QnNESSxZcEJ2RVc7TW9Cd0VYLDBCcEIvQ2E7TW9CZ0RiLHNCcEJoRGEsRW9CMERkO012QmxFSDs7UXVCK0RRLGdEcEJ2RFMsRW9CeURaO0V2QmpFTDtJdUI2QkUsZXBCeENnQjtJb0J5Q2hCLDhCQUE2QjtJQUM3Qix1QkFBc0I7SUFDdEIsc0JwQjNDZ0IsRW1Cc0RmO0l0QjNDSDtNdUJtQ0ksWXBCcERXO01vQnFEWCwwQnBCL0NjO01vQmdEZCxzQnBCaERjLEVvQmlEZjtJdkJ0Q0g7TXVCMENJLGtEcEJyRGMsRW9Cc0RmO0l2QjNDSDtNdUIrQ0ksZXBCMURjO01vQjJEZCw4QkFBNkIsRUFDOUI7SXZCakRIOztNdUJzREksWXBCdkVXO01vQndFWCwwQnBCbEVjO01vQm1FZCxzQnBCbkVjLEVvQjZFZjtNdkJsRUg7O1F1QitEUSxrRHBCMUVVLEVvQjRFYjtFdkJqRUw7SXVCNkJFLGVwQmRlO0lvQmVmLDhCQUE2QjtJQUM3Qix1QkFBc0I7SUFDdEIsc0JwQmpCZSxFbUI0QmQ7SXRCM0NIO011Qm1DSSxZcEJwRFc7TW9CcURYLDBCcEJyQmE7TW9Cc0JiLHNCcEJ0QmEsRW9CdUJkO0l2QnRDSDtNdUIwQ0ksZ0RwQjNCYSxFb0I0QmQ7SXZCM0NIO011QitDSSxlcEJoQ2E7TW9CaUNiLDhCQUE2QixFQUM5QjtJdkJqREg7O011QnNESSxZcEJ2RVc7TW9Cd0VYLDBCcEJ4Q2E7TW9CeUNiLHNCcEJ6Q2EsRW9CbURkO012QmxFSDs7UXVCK0RRLGdEcEJoRFMsRW9Ca0RaO0V2QmpFTDtJdUI2QkUsZXBCWmU7SW9CYWYsOEJBQTZCO0lBQzdCLHVCQUFzQjtJQUN0QixzQnBCZmUsRW1CMEJkO0l0QjNDSDtNdUJtQ0ksWXBCcERXO01vQnFEWCwwQnBCbkJhO01vQm9CYixzQnBCcEJhLEVvQnFCZDtJdkJ0Q0g7TXVCMENJLGlEcEJ6QmEsRW9CMEJkO0l2QjNDSDtNdUIrQ0ksZXBCOUJhO01vQitCYiw4QkFBNkIsRUFDOUI7SXZCakRIOztNdUJzREksWXBCdkVXO01vQndFWCwwQnBCdENhO01vQnVDYixzQnBCdkNhLEVvQmlEZDtNdkJsRUg7O1F1QitEUSxpRHBCOUNTLEVvQmdEWjtFdkJqRUw7SXVCNkJFLGVwQmZlO0lvQmdCZiw4QkFBNkI7SUFDN0IsdUJBQXNCO0lBQ3RCLHNCcEJsQmUsRW1CNkJkO0l0QjNDSDtNdUJtQ0ksZXBCM0NjO01vQjRDZCwwQnBCdEJhO01vQnVCYixzQnBCdkJhLEVvQndCZDtJdkJ0Q0g7TXVCMENJLGdEcEI1QmEsRW9CNkJkO0l2QjNDSDtNdUIrQ0ksZXBCakNhO01vQmtDYiw4QkFBNkIsRUFDOUI7SXZCakRIOztNdUJzREksZXBCOURjO01vQitEZCwwQnBCekNhO01vQjBDYixzQnBCMUNhLEVvQm9EZDtNdkJsRUg7O1F1QitEUSxnRHBCakRTLEVvQm1EWjtFdkJqRUw7SXVCNkJFLGVwQmpCZTtJb0JrQmYsOEJBQTZCO0lBQzdCLHVCQUFzQjtJQUN0QixzQnBCcEJlLEVtQitCZDtJdEIzQ0g7TXVCbUNJLFlwQnBEVztNb0JxRFgsMEJwQnhCYTtNb0J5QmIsc0JwQnpCYSxFb0IwQmQ7SXZCdENIO011QjBDSSxnRHBCOUJhLEVvQitCZDtJdkIzQ0g7TXVCK0NJLGVwQm5DYTtNb0JvQ2IsOEJBQTZCLEVBQzlCO0l2QmpESDs7TXVCc0RJLFlwQnZFVztNb0J3RVgsMEJwQjNDYTtNb0I0Q2Isc0JwQjVDYSxFb0JzRGQ7TXZCbEVIOztRdUIrRFEsZ0RwQm5EUyxFb0JxRFo7RXZCakVMO0l1QjZCRSxlcEI3Q2dCO0lvQjhDaEIsOEJBQTZCO0lBQzdCLHVCQUFzQjtJQUN0QixzQnBCaERnQixFbUIyRGY7SXRCM0NIO011Qm1DSSxlcEIzQ2M7TW9CNENkLDBCcEJwRGM7TW9CcURkLHNCcEJyRGMsRW9Cc0RmO0l2QnRDSDtNdUIwQ0ksa0RwQjFEYyxFb0IyRGY7SXZCM0NIO011QitDSSxlcEIvRGM7TW9CZ0VkLDhCQUE2QixFQUM5QjtJdkJqREg7O011QnNESSxlcEI5RGM7TW9CK0RkLDBCcEJ2RWM7TW9Cd0VkLHNCcEJ4RWMsRW9Ca0ZmO012QmxFSDs7UXVCK0RRLGtEcEIvRVUsRW9CaUZiO0V2QmpFTDtJdUI2QkUsZXBCdENnQjtJb0J1Q2hCLDhCQUE2QjtJQUM3Qix1QkFBc0I7SUFDdEIsc0JwQnpDZ0IsRW1Cb0RmO0l0QjNDSDtNdUJtQ0ksWXBCcERXO01vQnFEWCwwQnBCN0NjO01vQjhDZCxzQnBCOUNjLEVvQitDZjtJdkJ0Q0g7TXVCMENJLCtDcEJuRGMsRW9Cb0RmO0l2QjNDSDtNdUIrQ0ksZXBCeERjO01vQnlEZCw4QkFBNkIsRUFDOUI7SXZCakRIOztNdUJzREksWXBCdkVXO01vQndFWCwwQnBCaEVjO01vQmlFZCxzQnBCakVjLEVvQjJFZjtNdkJsRUg7O1F1QitEUSwrQ3BCeEVVLEVvQjBFYjtFdkJqRUw7SXNCcURFLGlCbkI2SitCO0ltQjVKL0IsZW5COUNlO0ltQitDZiw4QkFBNkIsRUFzQjlCO0l0QjdFRDtNc0IwREksZW5CaUVnRDtNbUJoRWhELDJCbkJpRWlDO01tQmhFakMsOEJBQTZCO01BQzdCLDBCQUF5QixFbEIzRUw7SUpjeEI7TXNCa0VJLDJCbkIwRGlDO01tQnpEakMsMEJBQXlCO01BQ3pCLGlCQUFnQixFQUNqQjtJdEJyRUg7TXNCeUVJLGVuQnBGYyxFbUJxRmY7RXRCMUVIO0l1QnVFRSxxQnBCOE9nQztJb0I3T2hDLG1CcEJzSW9EO0lvQnJJcEQsaUJwQnNHK0I7SW9Cbkc3QixzQnBCMEcrQixFbUJoR2xDO0V0QnRGRDtJdUJ1RUUsd0JwQjBPaUM7SW9Cek9qQyxvQnBCdUlvRDtJb0J0SXBELGlCcEJ1RytCO0lvQnBHN0Isc0JwQjJHK0IsRW1CN0ZsQztFdEIxRkQ7SXNCa0dFLGVBQWM7SUFDZCxZQUFXLEVBTVo7SXRCekdEO01zQnVHSSxtQm5CK08rQixFbUI5T2hDO0V0QnhHSDs7O0lzQmdISSxZQUFXLEVBQ1o7RXRCakhIO0l3QnpCRSxXQUFVO0lMRU4saUNoQnNOMkMsRXFCbE5oRDtJeEJtQkQ7TXdCckJJLFdBQVUsRUFDWDtFeEJvQkg7SXdCaEJFLGNBQWEsRUFJZDtJeEJZRDtNd0JkSSxlQUFjLEVBQ2Y7RXhCYUg7SXdCUkksbUJBQWtCLEVBQ25CO0V4Qk9IO0l3QkZJLHlCQUF3QixFQUN6QjtFeEJDSDtJd0JHRSxtQkFBa0I7SUFDbEIsVUFBUztJQUNULGlCQUFnQjtJTDVCWiw4QmhCdU53QyxFcUJ6TDdDO0V4QlBEOztJeUJ6QkUsbUJBQWtCLEVBQ25CO0V6QndCRDtJMEJDTSxzQkFBcUI7SUFDckIsU0FBUTtJQUNSLFVBQVM7SUFDVCxxQkFB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SzVCO0k3QkpMOztNU1hJLDJCb0JvQm1EO01wQm5CbkQsOEJvQm1CbUQsRUFBSztJN0JUNUQ7O01TR0ksMEJvQk9tRDtNcEJObkQsNkJvQk1tRCxFQUFLO0k3QlY1RDtNNkJnQkkscUJBQWE7TUFBYixjQUFhO01BQ2IsdUJBQW1CO1VBQW5CLG9CQUFtQixFQU1wQjtNN0J2Qkg7O1FTWEksMkJvQitCOEU7UXBCOUI5RSw4Qm9COEI4RSxFQUFLO003QnBCdkY7O1FTR0ksMEJvQm1COEU7UXBCbEI5RSw2Qm9Ca0I4RSxFQUFLO0U3QnRCdkY7O0k2Qm1DRSxxQkFBYTtJQUFiLGNBQWEsRUFnQmQ7STdCbkREOztNNkJ5Q0ksbUJBQWtCO01BQ2xCLFdBQVUsRUFDWDtJN0IzQ0g7Ozs7Ozs7O002QmlESSxrQjFCaUk2QixFMEJoSTlCO0U3QmxESDtJNkJxRHVCLG1CMUI2SFUsRTBCN0g0QjtFN0JyRDdEO0k2QnNEc0Isa0IxQjRIVyxFMEI1SDBCO0U3QnREM0Q7STZCK0RFLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHVCQUFtQjtRQUFuQixvQkFBbUI7SUFDbkIsMEIxQndPa0M7STBCdk9sQyxpQkFBZ0I7SUFDaEIsZ0IxQjBJZ0M7STBCekloQyxpQjFCOEkrQjtJMEI3SS9CLGlCMUJpSitCO0kwQmhKL0IsZTFCaEZnQjtJMEJpRmhCLG1CQUFrQjtJQUNsQixvQkFBbUI7SUFDbkIsMEIxQnhGZ0I7STBCeUZoQiwwQjFCdkZnQjtJTVhkLHVCTjZNZ0MsRTBCbkduQztJN0JsRkQ7O002QmdGSSxjQUFhLEVBQ2Q7RTdCakZIOzs7Ozs7SVNYSSwyQm9CbUk0QjtJcEJsSTVCLDhCb0JrSTRCLEVBQy9CO0U3QnpIRDs7Ozs7O0lTR0ksMEJvQjhIMkI7SXBCN0gzQiw2Qm9CNkgyQixFQUM5QjtFN0JsSUQ7SThCbEJFLG1CQUFrQjtJQUNsQixlQUFjO0lBQ2QsbUJBQXNDO0lBQ3RDLHFCM0I2YTRDLEUyQjVhN0M7RTlCY0Q7SThCWEUsNEJBQW9CO0lBQXBCLHFCQUFvQjtJQUNwQixtQjNCeWEwQyxFMkJ4YTNDO0U5QlNEO0k4Qk5FLG1CQUFrQjtJQUNsQixZQUFXO0lBQ1gsV0FBVSxFQTRCWDtJOUJ4QkQ7TThCREksWTNCaEJXO01rQkxYLDBCbEI4QmEsRTJCTmQ7STlCRkg7TThCTUksaUUzQkVhLEUyQkRkO0k5QlBIO004QlVJLFkzQjNCVztNMkI0QlgsMEIzQnNhOEUsRTJCcGEvRTtJOUJiSDtNOEJpQk0sZTNCNUJZLEUyQmlDYjtNOUJ0Qkw7UThCb0JRLDBCM0JuQ1UsRTJCb0NYO0U5QnJCUDtJOEIrQkUsaUJBQWdCLEVBOEJqQjtJOUI3REQ7TThCbUNJLG1CQUFrQjtNQUNsQixhQUErRDtNQUMvRCxRQUFPO01BQ1AsZUFBYztNQUNkLFkzQjBYd0M7TTJCelh4QyxhM0J5WHdDO00yQnhYeEMscUJBQW9CO01BQ3BCLFlBQVc7TUFDWCwwQkFBaUI7U0FBakIsdUJBQWlCO1VBQWpCLHNCQUFpQjtjQUFqQixrQkFBaUI7TUFDakIsMEIzQjFEYyxFMkI0RGY7STlCOUNIO004QmtESSxtQkFBa0I7TUFDbEIsYUFBK0Q7TUFDL0QsUUFBTztNQUNQLGVBQWM7TUFDZCxZM0IyV3dDO00yQjFXeEMsYTNCMFd3QztNMkJ6V3hDLFlBQVc7TUFDWCw2QkFBNEI7TUFDNUIsbUNBQWtDO01BQ2xDLHlCM0J3VzJDLEUyQnZXNUM7RTlCNURIO0lTeEJJLHVCTjZNZ0MsRTJCOUdqQztFOUJ2RUg7SXFCdEJJLDBCbEI4QmEsRTJCb0VaO0U5QjVFTDtJOEI4RU0sMk5iOURxSSxFYStEdEk7RTlCL0VMO0lxQnRCSSwwQmxCOEJhLEUyQjhFWjtFOUJ0Rkw7SThCd0ZNLHdLYnhFcUksRWF5RXRJO0U5QnpGTDtJOEI4Rk0seUMzQnRGVyxFMkJ1Rlo7RTlCL0ZMO0k4QmlHTSx5QzNCekZXLEUyQjBGWjtFOUJsR0w7SThCNEdJLG1CM0JnVitDLEUyQi9VaEQ7RTlCN0dIO0lxQnRCSSwwQmxCOEJhLEUyQjBHWjtFOUJsSEw7SThCb0hNLHFLYnBHcUksRWFxR3RJO0U5QnJITDtJOEIwSE0seUMzQmxIVyxFMkJtSFo7RTlCM0hMO0k4QnVJRSxzQkFBcUI7SUFDckIsWUFBVztJQUNYLDRCM0I0UDRGO0kyQjNQNUYsMkMzQnNUdUM7STJCclR2QyxpQjNCMkUrQjtJMkIxRS9CLGUzQnRKZ0I7STJCdUpoQix1QkFBc0I7SUFDdEIsdU5BQXNHO0lBQ3RHLDBCM0J5VDBDO0kyQnhUMUMsMEIzQjdKZ0I7STJCK0pkLHVCM0JtQ2dDO0kyQi9CbEMseUJBQWdCO09BQWhCLHNCQUFnQjtZQUFoQixpQkFBZ0IsRUFrQ2pCO0k5QnhMRDtNOEJ5Skksc0IzQmtPc0U7TTJCak90RSxXQUFVO01BQ1YsbUYzQmdPc0UsRTJCck52RTtNOUJ0S0g7UThCbUtNLGUzQjdLWTtRMkI4S1osdUIzQnJMUyxFMkJzTFY7STlCcktMO004QjBLSSxhQUFZO01BQ1osdUIzQnFScUM7TTJCcFJyQyx1QkFBc0IsRUFDdkI7STlCN0tIO004QmdMSSxlM0IzTGM7TTJCNExkLDBCM0JoTWMsRTJCaU1mO0k5QmxMSDtNOEJzTEksV0FBVSxFQUNYO0U5QnZMSDtJOEIyTEUsOEIzQjZNK0Y7STJCNU0vRixzQjNCbVF5QztJMkJsUXpDLHlCM0JrUXlDO0kyQmpRekMsZTNCb1JxQyxFMkJuUnRDO0U5Qi9MRDtJOEJrTUUsNkIzQnlNK0Y7STJCeE0vRixzQjNCNFB5QztJMkIzUHpDLHlCM0IyUHlDO0kyQjFQekMsZ0IzQmdSc0MsRTJCL1F2QztFOUJ0TUQ7SThCOE1FLG1CQUFrQjtJQUNsQixzQkFBcUI7SUFDckIsWUFBVztJQUNYLDRCM0JvTDRGO0kyQm5MNUYsaUJBQWdCLEVBQ2pCO0U5Qm5ORDtJOEJzTkUsbUJBQWtCO0lBQ2xCLFdBQVU7SUFDVixZQUFXO0lBQ1gsNEIzQjRLNEY7STJCM0s1RixVQUFTO0lBQ1QsV0FBVSxFQWdCWDtJOUIzT0Q7TThCOE5JLHNCM0I2SnNFO00yQjVKdEUsaUQzQnZOYSxFMkI0TmQ7TTlCcE9IO1E4QmtPTSxzQjNCeUpvRSxFMkJ4SnJFO0k5Qm5PTDtNOEJ3T00sa0IzQmdRUSxFMkIvUFQ7RTlCek9MO0k4QjhPRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFNBQVE7SUFDUixRQUFPO0lBQ1AsV0FBVTtJQUNWLDRCM0JrSjRGO0kyQmpKNUYsMEIzQnFEa0M7STJCcERsQyxpQjNCL0IrQjtJMkJnQy9CLGUzQmhRZ0I7STJCaVFoQix1QjNCeFFhO0kyQnlRYiwwQjNCclFnQjtJTVhkLHVCTjZNZ0MsRTJCdUZuQztJOUI1UUQ7TThCNlBJLG1CQUFrQjtNQUNsQixPQUFNO01BQ04sU0FBUTtNQUNSLFVBQVM7TUFDVCxXQUFVO01BQ1YsZUFBYztNQUNkLDRDQUF1RTtNQUN2RSwwQjNCcUNnQztNMkJwQ2hDLGlCM0IvQzZCO00yQmdEN0IsZTNCaFJjO00yQmlSZCxrQkFBaUI7TVQ3UmpCLDBCbEJPYztNMkJ3UmQsK0IzQnRSYztNTVhkLG1DcUJrU2dGLEVBQ2pGO0U5QjNRSDtJK0J0QkUscUJBQWE7SUFBYixjQUFhO0lBQ2Isb0JBQWU7UUFBZixnQkFBZTtJQUNmLGdCQUFlO0lBQ2YsaUJBQWdCO0lBQ2hCLGlCQUFnQixFQUNqQjtFL0JpQkQ7SStCZEUsZUFBYztJQUNkLHFCNUI2aUJzQyxFNEJuaUJ2QztJL0JHRDtNK0JWSSxzQkFBcUIsRTNCR3RCO0lKT0g7TStCTEksZTVCTmMsRTRCT2Y7RS9CSUg7SStCSUUsaUM1QmxCZ0IsRTRCb0RqQjtJL0J0Q0Q7TStCT0ksb0I1QjJLNkIsRTRCMUs5QjtJL0JSSDtNK0JXSSw4QkFBZ0Q7TXRCN0JoRCxnQ051TWdDO01NdE1oQyxpQ05zTWdDLEU0QjlKakM7TS9CdkJIO1ErQmVNLHNDNUI3QlksRUNPZjtNSk9IO1ErQm1CTSxlNUI5Qlk7UTRCK0JaLDhCQUE2QjtRQUM3QiwwQkFBeUIsRUFDMUI7SS9CdEJMOztNK0IyQkksZTVCckNjO000QnNDZCx1QjVCN0NXO000QjhDWCxtQzVCOUNXLEU0QitDWjtJL0I5Qkg7TStCa0NJLGlCNUJnSjZCO01NcE03QiwwQnNCc0Q0QjtNdEJyRDVCLDJCc0JxRDRCLEVBQzdCO0UvQnJDSDtJU3hCSSx1Qk42TWdDLEU0QnJJakM7RS9CaERIOztJK0JvREksWTVCckVXO0k0QnNFWCwwQjVCN0NhLEU0QjhDZDtF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QnFhNkIsRTZCcGE5QjtJaENoSlg7O01nQ3NKVSxzQkFBaUI7VUFBakIsa0JBQWlCLEVBQ2xCO0loQ3ZKVDtNZ0MwSlUsZ0NBQXdCO01BQXhCLHlCQUF3QjtNQUd4Qiw4QkFBZ0I7VUFBaEIsaUJBQWdCLEVBQ2pCO0loQzlKVDtNZ0NpS1UsY0FBYSxFQUNkO0loQ2xLVDtNZ0NzS1ksVUFBUztNQUNULGFBQVksRUFDYjtFaEN4S1g7SWdDdUxJLDBCN0I5TFcsRTZCbU1aO0loQzVMSDtNZ0MwTE0sMEI3QmpNUyxFQ0FaO0VKT0g7SWdDZ01NLDBCN0J2TVMsRTZCZ05WO0loQ3pNTDtNZ0NtTVEsMEI3QjFNTyxFQ0FaO0lKT0g7TWdDdU1RLDBCN0I5TU8sRTZCK01SO0VoQ3hNUDs7OztJZ0MrTU0sMEI3QnROUyxFNkJ1TlY7RWhDaE5MO0lnQ29OSSwwQjdCM05XO0k2QjROWCxpQzdCNU5XLEU2QjZOWjtFaEN0Tkg7SWdDeU5JLHNRN0JtWG1TLEU2QmxYcFM7RWhDMU5IO0lnQzZOSSwwQjdCcE9XLEU2QjRPWjtJaENyT0g7TWdDK05NLDBCN0J0T1MsRTZCMk9WO01oQ3BPTDtRZ0NrT1EsMEI3QnpPTyxFQ0FaO0VKT0g7SWdDMk9JLFk3QjVQVyxFNkJpUVo7SWhDaFBIO01nQzhPTSxZN0IvUFMsRUNVWjtFSk9IO0lnQ29QTSxnQzdCclFTLEU2QjhRVjtJaEM3UEw7TWdDdVBRLGlDN0J4UU8sRUNVWjtJSk9IO01nQzJQUSxpQzdCNVFPLEU2QjZRUjtFaEM1UFA7Ozs7SWdDbVFNLFk3QnBSUyxFNkJxUlY7RWhDcFFMO0lnQ3dRSSxnQzdCelJXO0k2QjBSWCx1QzdCMVJXLEU2QjJSWjtFaEMxUUg7SWdDNlFJLDRRN0J3VGtTLEU2QnZUblM7RWhDOVFIO0lnQ2lSSSxnQzdCbFNXLEU2QjBTWjtJaEN6Ukg7TWdDbVJNLFk3QnBTUyxFNkJ5U1Y7TWhDeFJMO1FnQ3NSUSxZN0J2U08sRUNVWjtFSk9IO0lpQ3ZCRSxtQkFBa0I7SUFDbEIscUJBQWE7SUFBYixjQUFhO0lBQ2IsMkJBQXNCO1FBQXRCLHVCQUFzQjtJQUN0QixhQUFZO0lBQ1osc0JBQXFCO0lBQ3JCLHVCOUJDYTtJOEJBYiw0QkFBMkI7SUFDM0IsdUM5QlNhO0lNakJYLHVCTjZNZ0MsRThCbExuQztJakNIRDtNaUNaSSxnQkFBZTtNQUNmLGVBQWMsRUFDZjtJakNVSDtNU2xCSSxnQ051TWdDO01NdE1oQyxpQ05zTWdDLEU4QjFML0I7SWpDS0w7TVNKSSxvQ055TGdDO01NeExoQyxtQ053TGdDLEU4QnBML0I7RWpDREw7SWlDUUUsbUJBQWM7UUFBZCxlQUFjO0lBQ2QsaUI5QjZtQnlDLEU4QjVtQjFDO0VqQ1ZEO0lpQ2FFLHVCOUJ3bUJ3QyxFOEJ2bUJ6QztFakNkRDtJaUNpQkUsc0JBQWdDO0lBQ2hDLGlCQUFnQixFQUNqQjtFakNuQkQ7SWlDc0JFLGlCQUFnQixFQUNqQjtFakN2QkQ7SWlDMkJJLHNCQUFxQixFN0J6Q0Q7RUpjeEI7SWlDK0JJLHFCOUJ1bEJ1QyxFOEJ0bEJ4QztFakNoQ0g7SWlDd0NFLHlCOUI4a0J5QztJOEI3a0J6QyxpQkFBZ0I7SUFDaEIsc0M5QmpEYTtJOEJrRGIsOEM5QmxEYSxFOEI2RGQ7SWpDdEREO01TeEJJLDJEd0JzRThFLEVBQy9FO0lqQy9DSDtNaUNtRE0sY0FBYSxFQUNkO0VqQ3BETDtJaUN5REUseUI5QjZqQnlDO0k4QjVqQnpDLHNDOUJqRWE7SThCa0ViLDJDOUJsRWEsRThCdUVkO0lqQ2hFRDtNU3hCSSwyRE5rcEJvRixFOEIzakJyRjtFakMvREg7SWlDd0VFLHdCQUFrQztJQUNsQyx3QjlCNGlCd0M7SThCM2lCeEMsdUJBQWlDO0lBQ2pDLGlCQUFnQixFQUNqQjtFakM1RUQ7SWlDK0VFLHdCQUFrQztJQUNsQyx1QkFBaUMsRUFDbEM7RWpDakZEO0lpQ3FGRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFNBQVE7SUFDUixVQUFTO0lBQ1QsUUFBTztJQUNQLGlCOUJvaUJ5QyxFOEJuaUIxQztFakMzRkQ7SWlDOEZFLFlBQVc7SXhCdEhULG1DTmtwQm9GLEU4QjFoQnZGO0VqQ2hHRDtJaUNvR0UsWUFBVztJeEJ0SFQsNENONG9Cb0Y7SU0zb0JwRiw2Q04yb0JvRixFOEJwaEJ2RjtFakN0R0Q7SWlDeUdFLFlBQVc7SXhCN0dULGdETjhuQm9GO0lNN25CcEYsK0NONm5Cb0YsRThCL2dCdkY7RWpDM0dEO0lpQ2lIRSxxQkFBYTtJQUFiLGNBQWE7SUFDYiwyQkFBc0I7UUFBdEIsdUJBQXNCLEVBcUJ2QjtJakN2SUQ7TWlDcUhJLG9COUIyZ0J3RCxFOEIxZ0J6RDtJcEJ0RkM7TWJoQ0o7UWlDeUhJLHdCQUFtQjtZQUFuQixvQkFBbUI7UUFDbkIsb0I5QnNnQndEO1E4QnJnQnhELG1COUJxZ0J3RCxFOEJ6ZjNEO1FqQ3ZJRDtVaUM4SE0scUJBQWE7VUFBYixjQUFhO1VBRWIsaUJBQVk7Y0FBWixhQUFZO1VBQ1osMkJBQXNCO2NBQXRCLHVCQUFzQjtVQUN0QixtQjlCOGZzRDtVOEI3ZnRELGlCQUFnQjtVQUNoQixrQjlCNGZzRCxFOEIzZnZELEVBQUE7RWpDcklMO0lpQytJRSxxQkFBYTtJQUFiLGNBQWE7SUFDYiwyQkFBc0I7UUFBdEIsdUJBQXNCLEVBNEV2QjtJakM1TkQ7TWlDcUpJLG9COUIyZXdELEU4QjFlekQ7SXBCdEhDO01iaENKO1FpQ3lKSSx3QkFBbUI7WUFBbkIsb0JBQW1CLEVBbUV0QjtRakM1TkQ7VWlDOEpNLGlCQUFZO2NBQVosYUFBWTtVQUNaLGlCQUFnQixFQTJEakI7VWpDMU5MO1lpQ2tLUSxlQUFjO1lBQ2QsZUFBYyxFQUNmO1VqQ3BLUDtZU1hJLDJCd0JvTG9DO1l4Qm5McEMsOEJ3Qm1Mb0MsRUFVL0I7WWpDbkxUOztjaUM2S1ksMkJBQTBCLEVBQzNCO1lqQzlLWDs7Y2lDaUxZLDhCQUE2QixFQUM5QjtVakNsTFg7WVNHSSwwQndCbUxtQztZeEJsTG5DLDZCd0JrTG1DLEVBVTlCO1lqQ2hNVDs7Y2lDMExZLDBCQUF5QixFQUMxQjtZakMzTFg7O2NpQzhMWSw2QkFBNEIsRUFDN0I7VWpDL0xYO1lTeEJJLHVCTjZNZ0MsRThCd0IzQjtZakM3TVQ7O2NTbEJJLGdDTnVNZ0M7Y010TWhDLGlDTnNNZ0MsRThCbUJ6QjtZakN4TVg7O2NTSkksb0NOeUxnQztjTXhMaEMsbUNOd0xnQyxFOEJ1QnpCO1VqQzVNWDtZU3hCSSxpQndCd084QixFQVF6QjtZakN4TlQ7Ozs7Y1N4QkksaUJ3QjhPZ0MsRUFDekIsRUFBQTtFakN2Tlg7SWlDcU9JLHVCOUJnWnNDLEU4Qi9ZdkM7RXBCdE1DO0liaENKO01pQ3lPSSxnQjlCMFppQztNOEJ6WmpDLG9COUIwWnVDLEU4Qm5aMUM7TWpDalBEO1FpQzZPTSxzQkFBcUI7UUFDckIsWUFBVyxFQUNaLEVBQUE7RWpDL09MO0lrQzNCRSxxQkFBYTtJQUFiLGNBQWE7SUFDYixvQkFBZTtRQUFmLGdCQUFlO0lBQ2Ysc0IvQmkwQnNDO0krQmgwQnRDLG9CL0JtMEJzQztJK0JsMEJ0QyxpQkFBZ0I7SUFDaEIsMEIvQk9nQjtJTVRkLHVCTjZNZ0MsRStCek1uQztFbENvQkQ7SWtDZkksc0JBQXFCO0lBQ3JCLHNCL0J1ekJxQztJK0J0ekJyQyxxQi9Cc3pCcUM7SStCcnpCckMsZS9CQ2M7SStCQWQsYUFBaUMsRUFDbEM7RWxDVUg7SWtDREksMkJBQTBCLEVBQzNCO0VsQ0FIO0lrQ0dJLHNCQUFxQixFQUN0QjtFbENKSDtJa0NPSSxlL0JsQmMsRStCbUJmO0VsQ1JIO0ltQzNCRSxxQkFBYTtJQUFiLGNBQWE7STdCR2IsZ0JBQWU7SUFDZixpQkFBZ0I7SUdEZCx1Qk42TWdDLEVnQzdNbkM7RW5Dd0JEO0ltQ3JCRSxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLHdCaENxbUJ3QztJZ0NwbUJ4QyxrQmhDb00rQjtJZ0NuTS9CLGtCaEN3bUJzQztJZ0N2bUJ0QyxlaEN3QmU7SWdDdkJmLHVCaENGYTtJZ0NHYiwwQmhDQWdCLEVnQ21CakI7SW5DTEQ7TW1DWEksZWhDc0lnRDtNZ0NySWhELHNCQUFxQjtNQUNyQiwwQmhDTmM7TWdDT2Qsc0JoQ05jLEVnQ09mO0luQ09IO01tQ0pJLFdBQVU7TUFDVixXQUFVO01BQ1YsaURoQ1VhLEVnQ1RkO0luQ0NIO01tQ0dJLGdCQUFlLEVBQ2hCO0VuQ0pIO0ltQ1VNLGVBQWM7STFCUGhCLGdDTmtMZ0M7SU1qTGhDLG1DTmlMZ0MsRWdDeksvQjtFbkNaTDtJU1hJLGlDTmdNZ0M7SU0vTGhDLG9DTitMZ0MsRWdDcEsvQjtFbkNqQkw7SW1DcUJJLFdBQVU7SUFDVixZaEN2Q1c7SWdDd0NYLDBCaENmYTtJZ0NnQmIsc0JoQ2hCYSxFZ0NpQmQ7RW5DekJIO0ltQzRCSSxlaEN2Q2M7SWdDd0NkLHFCQUFvQjtJQUVwQixhQUFZO0lBQ1osdUJoQ2pEVztJZ0NrRFgsc0JoQy9DYyxFZ0NnRGY7RW5DbENIO0lvQ3hCSSx3QmpDOG1Cc0M7SWlDN21CdEMsbUJqQ3FPa0Q7SWlDcE9sRCxpQmpDcU02QixFaUNwTTlCO0VwQ3FCSDtJU0dJLCtCTm1MK0I7SU1sTC9CLGtDTmtMK0IsRWlDck01QjtFcENlUDtJU1hJLGdDTmlNK0I7SU1oTS9CLG1DTmdNK0IsRWlDaE01QjtFcENVUDtJb0N4Qkksd0JqQzRtQnFDO0lpQzNtQnJDLG9CakNzT2tEO0lpQ3JPbEQsaUJqQ3NNNkIsRWlDck05QjtFcENxQkg7SVNHSSwrQk5vTCtCO0lNbkwvQixrQ05tTCtCLEVpQ3RNNUI7RXBDZVA7SVNYSSxnQ05rTStCO0lNak0vQixtQ05pTStCLEVpQ2pNNUI7RXBDVVA7SXFDdEJFLHNCQUFxQjtJQUNyQixzQmxDNnNCc0M7SWtDNXNCdEMsZWxDeXNCcUM7SWtDeHNCckMsaUJsQ3NPK0I7SWtDck8vQixlQUFjO0lBQ2QsbUJBQWtCO0lBQ2xCLG9CQUFtQjtJQUNuQix5QkFBd0I7STVCVHRCLHVCTjZNZ0MsRWtDN0xuQztJckNRRDtNcUNWSSxjQUFhLEVBQ2Q7RXJDU0g7SXFDSkUsbUJBQWtCO0lBQ2xCLFVBQVMsRUFDVjtFckNFRDtJcUNLRSxxQmxDc3JCc0M7SWtDcnJCdEMsb0JsQ3FyQnNDO0lNbnRCcEMscUJOc3RCcUMsRWtDdHJCeEM7RXJDUkQ7SXNDM0JFLFluQ1VhO0ltQ1RiLDBCbkNrQ2UsRWtDU2Q7SXJDakJIO01zQ3RCTSxZbkNLUztNbUNKVCxzQkFBcUI7TUFDckIsMEJBQWtDLEVsQ2FyQztFSk9IO0lzQzNCRSxZbkNVYTtJbUNUYiwwQm5DZWdCLEVrQzRCZjtJckNqQkg7TXNDdEJNLFluQ0tTO01tQ0pULHNCQUFxQjtNQUNyQiwwQkFBa0MsRWxDYXJDO0VKT0g7SXNDM0JFLFluQ1VhO0ltQ1RiLDBCbkN5Q2UsRWtDRWQ7SXJDakJIO01zQ3RCTSxZbkNLUztNbUNKVCxzQkFBcUI7TUFDckIsMEJBQWtDLEVsQ2FyQztFSk9IO0lzQzNCRSxZbkNVYTtJbUNUYiwwQm5DMkNlLEVrQ0FkO0lyQ2pCSDtNc0N0Qk0sWW5DS1M7TW1DSlQsc0JBQXFCO01BQ3JCLDBCQUFrQyxFbENhckM7RUpPSDtJc0MzQkUsZW5DbUJnQjtJbUNsQmhCLDBCbkN3Q2UsRWtDR2Q7SXJDakJIO01zQ3RCTSxlbkNjWTtNbUNiWixzQkFBcUI7TUFDckIsMEJBQWtDLEVsQ2FyQztFSk9IO0lzQzNCRSxZbkNVYTtJbUNUYiwwQm5Dc0NlLEVrQ0tkO0lyQ2pCSDtNc0N0Qk0sWW5DS1M7TW1DSlQsc0JBQXFCO01BQ3JCLDBCQUFrQyxFbENhckM7RUpPSDtJc0MzQkUsZW5DbUJnQjtJbUNsQmhCLDBCbkNVZ0IsRWtDaUNmO0lyQ2pCSDtNc0N0Qk0sZW5DY1k7TW1DYlosc0JBQXFCO01BQ3JCLDBCQUFrQyxFbENhckM7RUpPSDtJc0MzQkUsWW5DVWE7SW1DVGIsMEJuQ2lCZ0IsRWtDMEJmO0lyQ2pCSDtNc0N0Qk0sWW5DS1M7TW1DSlQsc0JBQXFCO01BQ3JCLDBCQUFrQyxFbENhckM7RUpPSDtJdUMzQkUsbUJBQW9EO0lBQ3BELG9CcEN5b0JzQztJb0N4b0J0QywwQnBDVWdCO0lNVGQsc0JOOE0rQixFb0N6TWxDO0kxQm1ERztNYmhDSjtRdUNyQkksbUJwQ29vQm9DLEVvQ2xvQnZDLEVBQUE7RXZDbUJEO0l1Q2hCRSxpQkFBZ0I7SUFDaEIsZ0JBQWU7STlCVGIsaUI4QlVzQixFQUN6QjtFdkNhRDtJd0N2QkUsbUJBQWtCO0lBQ2xCLHlCckMydkJ5QztJcUMxdkJ6QyxvQnJDMnZCc0M7SXFDMXZCdEMsOEJBQTZDO0kvQkozQyx1Qk42TWdDLEVxQ3ZNbkM7RXhDa0JEO0l3Q2JFLGVBQWMsRUFDZjtFeENZRDtJd0NSRSxpQnJDMk4rQixFcUMxTmhDO0V4Q09EO0l3Q0NFLG9CQUF3RCxFQVV6RDtJeENYRDtNd0NLSSxtQkFBa0I7TUFDbEIsT0FBTTtNQUNOLFNBQVE7TUFDUix5QnJDNnRCdUM7TXFDNXRCdkMsZUFBYyxFQUNmO0V4Q1ZIO0l5QzNCRSxleEJtRmdFO0lJOUU5RCwwQko4RThEO0l3QmpGaEUsc0J4QmlGZ0UsRXVCbkMvRDtJeENyQkg7TXlDdEJJLDBCQUFxQyxFQUN0QztJekNxQkg7TXlDbEJJLGVBQTBCLEVBQzNCO0V6Q2lCSDtJeUMzQkUsZXhCbUZnRTtJSTlFOUQsMEJKOEU4RDtJd0JqRmhFLHNCeEJpRmdFLEV1Qm5DL0Q7SXhDckJIO015Q3RCSSwwQkFBcUMsRUFDdEM7SXpDcUJIO015Q2xCSSxlQUEwQixFQUMzQjtFekNpQkg7SXlDM0JFLGV4Qm1GZ0U7SUk5RTlELDBCSjhFOEQ7SXdCakZoRSxzQnhCaUZnRSxFdUJuQy9EO0l4Q3JCSDtNeUN0QkksMEJBQXFDLEVBQ3RDO0l6Q3FCSDtNeUNsQkksZUFBMEIsRUFDM0I7RXpDaUJIO0l5QzNCRSxleEJtRmdFO0lJOUU5RCwwQko4RThEO0l3QmpGaEUsc0J4QmlGZ0UsRXVCbkMvRDtJeENyQkg7TXlDdEJJLDBCQUFxQyxFQUN0QztJekNxQkg7TXlDbEJJLGVBQTBCLEVBQzNCO0V6Q2lCSDtJeUMzQkUsZXhCbUZnRTtJSTlFOUQsMEJKOEU4RDtJd0JqRmhFLHNCeEJpRmdFLEV1Qm5DL0Q7SXhDckJIO015Q3RCSSwwQkFBcUMsRUFDdEM7SXpDcUJIO015Q2xCSSxlQUEwQixFQUMzQjtFekNpQkg7SXlDM0JFLGV4Qm1GZ0U7SUk5RTlELDBCSjhFOEQ7SXdCakZoRSxzQnhCaUZnRSxFdUJuQy9EO0l4Q3JCSDtNeUN0QkksMEJBQXFDLEVBQ3RDO0l6Q3FCSDtNeUNsQkksZUFBMEIsRUFDM0I7RXpDaUJIO0l5QzNCRSxleEJtRmdFO0lJOUU5RCwwQko4RThEO0l3QmpGaEUsc0J4QmlGZ0UsRXVCbkMvRDtJeENyQkg7TXlDdEJJLDBCQUFxQyxFQUN0QztJekNxQkg7TXlDbEJJLGVBQTBCLEVBQzNCO0V6Q2lCSDtJeUMzQkUsZXhCbUZnRTtJSTlFOUQsMEJKOEU4RDtJd0JqRmhFLHNCeEJpRmdFLEV1Qm5DL0Q7SXhDckJIO015Q3RCSSwwQkFBcUMsRUFDdEM7SXpDcUJIO015Q2xCSSxlQUEwQixFQUMzQjs7QUNYSDtFQUNFO0lBQU8sNEJBQXVDLEVBQUE7RUFDOUM7SUFBSyx5QkFBd0IsRUFBQSxFQUFBO0UxQzBCL0I7STBDdEJFLHFCQUFhO0lBQWIsY0FBYTtJQUNiLGF2Q3V3QnNDO0l1Q3R3QnRDLGlCQUFnQjtJQUNoQixtQnZDc3dCeUQ7SXVDcndCekQsMEJ2Q0dnQjtJTVRkLHVCTjZNZ0MsRXVDcE1uQztFMUNlRDtJMENaRSxxQkFBYTtJQUFiLGNBQWE7SUFDYiwyQkFBc0I7UUFBdEIsdUJBQXNCO0lBQ3RCLHNCQUF1QjtRQUF2Qix3QkFBdUI7SUFDdkIsWXZDUmE7SXVDU2IsbUJBQWtCO0lBQ2xCLDBCdkNlZTtJZ0IvQlgsNEJoQml4QjRDLEV1Qy92QmpEO0UxQ0tEO0lxQmVFLHNNQUE2STtJcUJoQjdJLDJCdkNtdkJzQyxFdUNsdkJ2QztFMUNBRDtJMENHRSxtRHZDc3ZCb0QsRXVDcnZCckQ7RTFDSkQ7STJDM0JFLHFCQUFhO0lBQWIsY0FBYTtJQUNiLHNCQUF1QjtRQUF2Qix3QkFBdUIsRUFDeEI7RTNDeUJEO0kyQ3RCRSxZQUFPO1FBQVAsUUFBTyxFQUNSO0UzQ3FCRDtJNEN2QkUscUJBQWE7SUFBYixjQUFhO0lBQ2IsMkJBQXNCO1FBQXRCLHVCQUFzQjtJQUd0QixnQkFBZTtJQUNmLGlCQUFnQixFQUNqQjtFNUNpQkQ7STRDUkUsWUFBVztJQUNYLGV6Q0hnQjtJeUNJaEIsb0JBQW1CLEVBYXBCO0k1Q1BEO000Q0ZJLGV6Q1JjO015Q1NkLHNCQUFxQjtNQUNyQiwwQnpDaEJjLEVDU2Y7SUpPSDtNNENJSSxlekNaYztNeUNhZCwwQnpDcEJjLEV5Q3FCZjtFNUNOSDtJNENlRSxtQkFBa0I7SUFDbEIsZUFBYztJQUNkLHlCekNtdkJ5QztJeUNqdkJ6QyxvQnpDK0orQjtJeUM5Si9CLHVCekNyQ2E7SXlDc0NiLHVDekM1QmEsRXlDeURkO0k1Q2xERDtNU2xCSSxnQ051TWdDO01NdE1oQyxpQ05zTWdDLEV5QzVKakM7STVDekJIO000QzRCSSxpQkFBZ0I7TW5DaENoQixvQ055TGdDO01NeExoQyxtQ053TGdDLEV5Q3ZKakM7STVDOUJIO000Q2lDSSxXQUFVO01BQ1Ysc0JBQXFCLEV4Q3pDdEI7SUpPSDtNNEN1Q0ksZXpDbERjO015Q21EZCx1QnpDekRXLEV5QzBEWjtJNUN6Q0g7TTRDNkNJLFdBQVU7TUFDVixZekMvRFc7TXlDZ0VYLDBCekN2Q2E7TXlDd0NiLHNCekN4Q2EsRXlDeUNkO0U1Q2pESDtJNEM0REksZ0JBQWU7SUFDZixlQUFjO0luQ3JGZCxpQm1Dc0Z3QixFQUN6QjtFNUMvREg7STRDbUVNLGNBQWEsRUFDZDtFNUNwRUw7STRDeUVNLGlCQUFnQixFQUNqQjtFNUMxRUw7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7STZDeEJJLGU1QmdGOEQ7STRCL0U5RCwwQjVCK0U4RCxFNEJqRS9EO0k3Q1NIO002Q25CUSxlNUIyRTBEO000QjFFMUQsMEJBQXlDLEV6Q1c5QztJSk9IO002Q2RRLFlBQVc7TUFDWCwwQjVCcUUwRDtNNEJwRTFELHNCNUJvRTBELEU0Qm5FM0Q7RTdDV1A7SThDM0JFLGFBQVk7SUFDWixrQjNDcTJCdUQ7STJDcDJCdkQsaUIzQzRPK0I7STJDM08vQixlQUFjO0lBQ2QsWTNDZ0JhO0kyQ2ZiLDBCM0NLYTtJMkNKYixZQUFXLEVBWVo7STlDU0Q7TThDbEJJLFkzQ1dXO00yQ1ZYLHNCQUFxQjtNQUNyQixhQUFZLEUxQ1NiO0lKT0g7TThDWEksZ0JBQWUsRUFDaEI7RTlDVUg7SThDQUUsV0FBVTtJQUNWLDhCQUE2QjtJ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a0I7TUFDbEIsZUFBYztNQUNkLGM3QzZwQitCO002QzVwQi9CLGU3QzZwQitCLEU2Q3JwQmhDO01oREFIO1FnRExNLG1CQUFrQjtRQUNsQixZQUFXO1FBQ1gsMEJBQXlCO1FBQ3pCLG9CQUFtQixFQUNwQjtFaERDTDtJZ0RJRSxrQkFBZ0MsRUFXakM7SWhEZkQ7TWdET0ksVUFBUyxFQU9WO01oRGRIO1FnRFVNLE9BQU07UUFDTiw4QkFBZ0U7UUFDaEUsdUI3Q25CUyxFNkNvQlY7RWhEYkw7SWdEa0JFLGtCN0Ntb0JpQyxFNkN0bkJsQztJaEQvQkQ7TWdEcUJJLFFBQU87TUFDUCxjN0MrbkIrQjtNNkM5bkIvQixlN0M2bkIrQixFNkN0bkJoQztNaEQ5Qkg7UWdEMEJNLFNBQVE7UUFDUixxQ0FBMkY7UUFDM0YseUI3Q25DUyxFNkNvQ1Y7RWhEN0JMO0lnRGtDRSxrQkFBZ0MsRUFXakM7SWhEN0NEO01nRHFDSSxPQUFNLEVBT1A7TWhENUNIO1FnRHdDTSxVQUFTO1FBQ1QsOEI3QzRtQjZCO1E2QzNtQjdCLDBCN0NqRFMsRTZDa0RWO0VoRDNDTDtJZ0RnREUsa0I3Q3FtQmlDLEU2Q3hsQmxDO0loRDdERDtNZ0RtREksU0FBUTtNQUNSLGM3Q2ltQitCO002Q2htQi9CLGU3QytsQitCLEU2Q3hsQmhDO01oRDVESDtRZ0R3RE0sUUFBTztRQUNQLHFDN0M0bEI2QjtRNkMzbEI3Qix3QjdDakVTLEU2Q2tFVjtFaEQzREw7SWdEZ0ZFLGlCN0MyakJpQztJNkMxakJqQyx3QjdDZ2tCaUM7STZDL2pCakMsWTdDbkdhO0k2Q29HYixtQkFBa0I7SUFDbEIsdUI3QzNGYTtJTWpCWCx1Qk42TWdDLEU2Qy9GbkM7RWhEdEZEO0lrRDNCRSxtQkFBa0I7SUFDbEIsT0FBTTtJQUNOLFFBQU87SUFDUCxjL0NrakJzQztJK0NqakJ0QyxlQUFjO0lBQ2QsaUIvQ21yQnVDO0k4Q3hyQnZDLGtLOUNtT2dMO0k4Q2pPaEwsbUJBQWtCO0lBQ2xCLGlCOUMwTytCO0k4Q3pPL0IsaUI5QzZPK0I7SThDNU8vQixpQkFBZ0I7SUFDaEIsa0JBQWlCO0lBQ2pCLHNCQUFxQjtJQUNyQixrQkFBaUI7SUFDakIscUJBQW9CO0lBQ3BCLHVCQUFzQjtJQUN0QixtQkFBa0I7SUFDbEIscUJBQW9CO0lBQ3BCLG9CQUFtQjtJQUNuQixpQkFBZ0I7SUNMaEIsb0IvQ2lPb0Q7SStDL05wRCxzQkFBcUI7SUFDckIsdUIvQ0ZhO0krQ0diLDZCQUE0QjtJQUM1QixxQy9DTWE7SU1qQlgsc0JOOE0rQixFK0MvS2xDO0lsRFBEO01rRFJJLG1CQUFrQjtNQUNsQixlQUFjO01BQ2QsWS9Da3JCb0M7TStDanJCcEMsZS9Da3JCcUM7TStDanJCckMsaUIvQzBMK0IsRStDaExoQztNbEROSDtRa0RBTSxtQkFBa0I7UUFDbEIsZUFBYztRQUNkLFlBQVc7UUFDWCwwQkFBeUI7UUFDekIsb0JBQW1CLEVBQ3BCO0VsRExMO0lrRFVFLHNCL0NtcUJ1QyxFK0Mvb0J4QztJbEQ5QkQ7TWtEYUksa0NBQXdFLEVBQ3pFO0lsRGRIOztNa0RrQkksOEJBQWdFLEVBQ2pFO0lsRG5CSDtNa0RzQkksVUFBUztNQUNULHNDL0N5cEJtRSxFK0N4cEJwRTtJbER4Qkg7TWtEMkJJLFkvQ3VKNkI7TStDdEo3Qix1Qi9DN0NXLEUrQzhDWjtFbEQ3Qkg7SWtEaUNFLG9CL0M0b0J1QyxFK0NybkJ4QztJbER4REQ7TWtEb0NJLGdDQUFzRTtNQUN0RSxjL0N3b0JxQztNK0N2b0JyQyxhL0Nzb0JvQztNK0Nyb0JwQyxpQkFBMkIsRUFDNUI7SWxEeENIOztNa0Q0Q0kscUNBQTJGLEVBQzVGO0lsRDdDSDtNa0RnREksUUFBTztNQUNQLHdDL0MrbkJtRSxFK0M5bkJwRTtJbERsREg7TWtEcURJLFUvQzZINkI7TStDNUg3Qix5Qi9DdkVXLEUrQ3dFWjtFbER2REg7SWtEMkRFLG1CL0NrbkJ1QyxFK0NsbEJ4QztJbEQzRkQ7TWtEOERJLCtCQUFxRSxFQUN0RTtJbEQvREg7O01rRG1FSSxxQ0FBMkYsRUFDNUY7SWxEcEVIO01rRHVFSSxPQUFNO01BQ04seUMvQ3dtQm1FLEUrQ3ZtQnBFO0lsRHpFSDtNa0Q0RUksUy9Dc0c2QjtNK0NyRzdCLDBCL0M5RlcsRStDK0ZaO0lsRDlFSDtNa0RrRkksbUJBQWtCO01BQ2xCLE9BQU07TUFDTixVQUFTO01BQ1QsZUFBYztNQUNkLFkvQ3NsQm9DO00rQ3JsQnBDLHFCQUF3QztNQUN4QyxZQUFXO01BQ1gsaUMvQzBrQnVELEUrQ3prQnhEO0VsRDFGSDtJa0Q4RkUscUIvQytrQnVDLEUrQ3hqQnhDO0lsRHJIRDtNa0RpR0ksaUNBQXVFO01BQ3ZFLGMvQzJrQnFDO00rQzFrQnJDLGEvQ3lrQm9DO00rQ3hrQnBDLGlCQUEyQixFQUM1QjtJbERyR0g7O01rRHlHSSxxQy9Db2tCcUMsRStDbmtCdEM7SWxEMUdIO01rRDZHSSxTQUFRO01BQ1IsdUMvQ2trQm1FLEUrQ2prQnBFO0lsRC9HSDtNa0RrSEksVy9DZ0U2QjtNK0MvRDdCLHdCL0NwSVcsRStDcUlaO0VsRHBISDtJa0R5SUUsd0IvQzZoQndDO0krQzVoQnhDLGlCQUFnQjtJQUNoQixnQi9Da0VnQztJK0NqRWhDLGUvQ3VGbUM7SStDdEZuQywwQi9Dc2hCeUQ7SStDcmhCekQsaUNBQXlFO0l6Q2hLdkUsMkN5Q2lLeUU7SXpDaEt6RSw0Q3lDZ0t5RSxFQU01RTtJbERySkQ7TWtEbUpJLGNBQWEsRUFDZDtFbERwSkg7SWtEd0pFLHdCL0M4Z0J3QztJK0M3Z0J4QyxlL0NqS2dCLEUrQ2tLakI7RWxEMUpEO0ltRDFCRSxtQkFBa0IsRUFDbkI7RW5EeUJEO0ltRHRCRSxtQkFBa0I7SUFDbEIsWUFBVztJQUNYLGlCQUFnQixFQUNqQjtFbkRtQkQ7SW1EaEJFLG1CQUFrQjtJQUNsQixjQUFhO0lBQ2IsdUJBQW1CO1FBQW5CLG9CQUFtQjtJQUNuQixZQUFXO0loQ1ZQLGdDaEI2MUJnRDtJZ0RqMUJwRCxvQ0FBMkI7WUFBM0IsNEJBQTJCO0lBQzNCLG9CQUFtQixFQUNwQjtFbkRTRDs7O0ltREpFLGVBQWMsRUFDZjtFbkRHRDs7SW1EQ0UsbUJBQWtCO0lBQ2xCLE9BQU0sRUFDUDtFbkRIRDs7SW1EUUUseUJBQXdCLEVBS3pCO0lBSHlDO01u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SWtFZFUsNEJBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSw4QkFBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLCtCQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsNkJBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0MsMEJBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsOEJBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSxnQ0FBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLGlDQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsK0JBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0Msd0JBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsNEJBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSw4QkFBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLCtCQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsNkJBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0Msc0JBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsMEJBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSw0QkFBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLDZCQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsMkJBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0MsNEJBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsZ0NBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSxrQ0FBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLG1DQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsaUNBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0MsMkJBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsK0JBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSxpQ0FBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLGtDQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsZ0NBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0MseUJBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsNkJBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSwrQkFBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLGdDQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsOEJBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0MsMkJBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsK0JBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSxpQ0FBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLGtDQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsZ0NBQXNDLEVBQ3ZDO0VsRUNUO0lrRWpCd0MseUJBQTRCLEVBQUk7RWxFaUJ4RTs7SWtFZFUsNkJBQW9DLEVBQ3JDO0VsRWFUOztJa0VWVSwrQkFBd0MsRUFDekM7RWxFU1Q7O0lrRU5VLGdDQUEwQyxFQUMzQztFbEVLVDs7SWtFRlUsOEJBQXNDLEVBQ3ZDO0VsRUNUO0lrRUl1Qix3QkFBdUIsRUFBSztFbEVKbkQ7O0lrRU9NLDRCQUEyQixFQUM1QjtFbEVSTDs7SWtFV00sOEJBQTZCLEVBQzlCO0VsRVpMOztJa0VlTSwrQkFBOEIsRUFDL0I7RWxFaEJMOztJa0VtQk0sNkJBQTRCLEVBQzdCO0VyRFlEO0liaENKO01rRWpCd0MscUJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUseUJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSwyQkFBd0MsRUFDekM7SWxFU1Q7O01rRU5VLDRCQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsMEJBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MsMkJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsK0JBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSxpQ0FBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGtDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsZ0NBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MsMEJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsOEJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSxnQ0FBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGlDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsK0JBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0Msd0JBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsNEJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSw4QkFBd0MsRUFDekM7SWxFU1Q7O01rRU5VLCtCQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsNkJBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MsMEJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsOEJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSxnQ0FBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGlDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsK0JBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0Msd0JBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsNEJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSw4QkFBd0MsRUFDekM7SWxFU1Q7O01rRU5VLCtCQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsNkJBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0Msc0JBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsMEJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSw0QkFBd0MsRUFDekM7SWxFU1Q7O01rRU5VLDZCQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsMkJBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MsNEJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsZ0NBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSxrQ0FBd0MsRUFDekM7SWxFU1Q7O01rRU5VLG1DQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsaUNBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MsMkJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsK0JBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSxpQ0FBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGtDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsZ0NBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MseUJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsNkJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSwrQkFBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGdDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsOEJBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MsMkJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsK0JBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSxpQ0FBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGtDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsZ0NBQXNDLEVBQ3ZDO0lsRUNUO01rRWpCd0MseUJBQTRCLEVBQUk7SWxFaUJ4RTs7TWtFZFUsNkJBQW9DLEVBQ3JDO0lsRWFUOztNa0VWVSwrQkFBd0MsRUFDekM7SWxFU1Q7O01rRU5VLGdDQUEwQyxFQUMzQztJbEVLVDs7TWtFRlUsOEJBQXNDLEVBQ3ZDO0lsRUNUO01rRUl1Qix3QkFBdUIsRUFBSztJbEVKbkQ7O01rRU9NLDRCQUEyQixFQUM1QjtJbEVSTDs7TWtFV00sOEJBQTZCLEVBQzlCO0lsRVpMOztNa0VlTSwrQkFBOEIsRUFDL0I7SWxFaEJMOztNa0VtQk0sNkJBQTRCLEVBQzdCLEVBQUE7RXJEWUQ7SWJoQ0o7TWtFakJ3QyxxQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSx5QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLDJCQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsNEJBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSwwQkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3QywyQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSwrQkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLGlDQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsa0NBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSxnQ0FBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3QywwQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSw4QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLGdDQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsaUNBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSwrQkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3Qyx3QkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSw0QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLDhCQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsK0JBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSw2QkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3QywwQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSw4QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLGdDQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsaUNBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSwrQkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3Qyx3QkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSw0QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLDhCQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsK0JBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSw2QkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3QyxzQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSwwQkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLDRCQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsNkJBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSwyQkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3Qyw0QkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSxnQ0FBb0MsRUFDckM7SWxFYVQ7O01rRVZVLGtDQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsbUNBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSxpQ0FBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3QywyQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSwrQkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLGlDQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsa0NBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSxnQ0FBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3Qyx5QkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSw2QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLCtCQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsZ0NBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSw4QkFBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3QywyQkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSwrQkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLGlDQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsa0NBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSxnQ0FBc0MsRUFDdkM7SWxFQ1Q7TWtFakJ3Qyx5QkFBNEIsRUFBSTtJbEVpQnhFOztNa0VkVSw2QkFBb0MsRUFDckM7SWxFYVQ7O01rRVZVLCtCQUF3QyxFQUN6QztJbEVTVDs7TWtFTlUsZ0NBQTBDLEVBQzNDO0lsRUtUOztNa0VGVSw4QkFBc0MsRUFDdkM7SWxFQ1Q7TWtFSXVCLHdCQUF1QixFQUFLO0lsRUpuRDs7TWtFT00sNEJBQTJCLEVBQzVCO0lsRVJMOztNa0VXTSw4QkFBNkIsRUFDOUI7SWxFWkw7O01rRWVNLCtCQUE4QixFQUMvQjtJbEVoQkw7O01rRW1CTSw2QkFBNEIsRUFDN0IsRUFBQTtFckRZRDtJYmhDSjtNa0VqQndDLHFCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLHlCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsMkJBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSw0QkFBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLDBCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLDJCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLCtCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsaUNBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxrQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLGdDQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLDBCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDhCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsZ0NBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxpQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLCtCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLHdCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDRCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsOEJBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSwrQkFBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLDZCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLDBCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDhCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsZ0NBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxpQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLCtCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLHdCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDRCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsOEJBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSwrQkFBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLDZCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLHNCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDBCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsNEJBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSw2QkFBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLDJCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLDRCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLGdDQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsa0NBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxtQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLGlDQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLDJCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLCtCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsaUNBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxrQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLGdDQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLHlCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDZCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsK0JBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxnQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLDhCQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLDJCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLCtCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsaUNBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxrQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLGdDQUFzQyxFQUN2QztJbEVDVDtNa0VqQndDLHlCQUE0QixFQUFJO0lsRWlCeEU7O01rRWRVLDZCQUFvQyxFQUNyQztJbEVhVDs7TWtFVlUsK0JBQXdDLEVBQ3pDO0lsRVNUOztNa0VOVSxnQ0FBMEMsRUFDM0M7SWxFS1Q7O01rRUZVLDhCQUFzQyxFQUN2QztJbEVDVDtNa0VJdUIsd0JBQXVCLEVBQUs7SWxFSm5EOztNa0VPTSw0QkFBMkIsRUFDNUI7SWxFUkw7O01rRVdNLDhCQUE2QixFQUM5QjtJbEVaTDs7TWtFZU0sK0JBQThCLEVBQy9CO0lsRWhCTDs7TWtFbUJNLDZCQUE0QixFQUM3QixFQUFBO0VsRXBCTDtJbUVwQmlCLCtCQUE4QixFQUFLO0VuRW9CcEQ7SW1FbkJpQiwrQkFBOEIsRUFBSztFbkVtQnBEO0lvRXhCRSxpQkFBZ0I7SUFDaEIsd0JBQXVCO0lBQ3ZCLG9CQUFtQixFRElzQjtFbkVrQjNDO0ltRVY0Qiw0QkFBMkIsRUFBSztFbkVVNUQ7SW1FVDRCLDZCQUE0QixFQUFLO0VuRVM3RDtJbUVSNEIsOEJBQTZCLEVBQUs7RXREd0MxRDtJYmhDSjtNbUVWNEIsNEJBQTJCLEVBQUs7SW5FVTVEO01tRVQ0Qiw2QkFBNEIsRUFBSztJbkVTN0Q7TW1FUjRCLDhCQUE2QixFQUFLLEVBQUE7RXREd0MxRDtJYmhDSjtNbUVWNEIsNEJBQTJCLEVBQUs7SW5FVTVEO01tRVQ0Qiw2QkFBNEIsRUFBSztJbkVTN0Q7TW1FUjRCLDhCQUE2QixFQUFLLEVBQUE7RXREd0MxRDtJYmhDSjtNbUVWNEIsNEJBQTJCLEVBQUs7SW5FVTVEO01tRVQ0Qiw2QkFBNEIsRUFBSztJbkVTN0Q7TW1FUjRCLDhCQUE2QixFQUFLLEVBQUE7RW5FUTlEO0ltRUZtQixxQ0FBb0MsRUFBSztFbkVFNUQ7SW1FRG1CLHFDQUFvQyxFQUFLO0VuRUM1RDtJbUVBbUIsc0NBQXFDLEVBQUs7RW5FQTdEO0ltRUlzQiw0QkFBMEMsRUFBSTtFbkVKcEU7SW1FS3NCLDRCQUEyQyxFQUFJO0VuRUxyRTtJbUVNc0IsNEJBQXlDLEVBQUk7RW5FTm5FO0ltRU9zQiw4QkFBNkIsRUFBSztFbkVQeEQ7SW1FV2MsdUJBQXNCLEVBQUs7RW5FWHpDO0lxRXRCSSwwQkFBd0IsRUFDekI7RXJFcUJIO0lxRWxCTSwwQkFBcUMsRWpFV3hDO0VKT0g7SXFFdEJJLDBCQUF3QixFQUN6QjtFckVxQkg7SXFFbEJNLDBCQUFxQyxFakVXeEM7RUpPSDtJcUV0QkksMEJBQXdCLEVBQ3pCO0VyRXFCSDtJcUVsQk0sMEJBQXFDLEVqRVd4QztFSk9IO0lxRXRCSSwwQkFBd0IsRUFDekI7RXJFcUJIO0lxRWxCTSwwQkFBcUMsRWpFV3hDO0VKT0g7SXFFdEJJLDBCQUF3QixFQUN6QjtFckVxQkg7SXFFbEJNLDBCQUFxQyxFakVXeEM7RUpPSDtJcUV0QkksMEJBQXdCLEVBQ3pCO0VyRXFCSDtJcUVsQk0sMEJBQXFDLEVqRVd4QztFSk9IO0lxRXRCSSwwQkFBd0IsRUFDekI7RXJFcUJIO0lxRWxCTSwwQkFBcUMsRWpFV3hDO0VKT0g7SXFFdEJJLDBCQUF3QixFQUN6QjtFckVxQkg7SXFFbEJNLDBCQUFxQyxFakVXeEM7RUpPSDtJbUVpQmMsMEJBQTZCLEVBQUk7RW5FakIvQztJc0V6QkUsWUFBVztJQUNYLG1CQUFrQjtJQUNsQixrQkFBaUI7SUFDakIsOEJBQTZCO0lBQzdCLFVBQVMsRUg0Q1Y7RW5FdkJEO0l1RXZCRSwrQkFBa0MsRUNDbkM7RXhFc0JEO0l1RXZCRSw4QkFBa0MsRUNLbkM7RUNDQztJekVpQkY7OztNeUVYTSw2QkFBNEI7TUFFNUIsNEJBQTJCLEVBQzVCO0l6RVFMO015RUpRLDJCQUEwQixFQUMzQjtJekVHUDtNeUVNTSw4QkFBNkIsRUFDOUI7SXpFUEw7TXlFcUJNLGlDQUFnQyxFQUNqQztJekV0Qkw7O015RXlCTSx1QkFBZ0M7TUFDaEMseUJBQXdCLEVBQ3pCO0l6RTNCTDtNeUVtQ00sNEJBQTJCLEVBQzVCO0l6RXBDTDs7TXlFd0NNLHlCQUF3QixFQUN6QjtJekV6Q0w7OztNeUU4Q00sV0FBVTtNQUNWLFVBQVMsRUFDVjtJekVoREw7O015RW9ETSx3QkFBdUIsRUFDeEI7SUFPRDtNekU1REo7UXlFNkRNLFN0RW15QmdDLEVINXZCckMsRUFBQTtJQXBHRDtNeUVnRU0sNEJBQTJDLEVBQzVDO0l6RWpFTDtNeUVtRU0sNEJBQTJDLEVBQzVDO0l6RXBFTDtNeUV3RU0s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M2NUO00wRWdkWSwwQkFBeUIsRUFDNUI7STFFamRUO00wRXFkUSxpQ0FBZ0MsRUFNbkM7TTFFM2RMO1EwRXdkWSwwQkFBeUI7UUFDekIsaUJBQWdCLEVBQ25CO0UxRTFkVDtJMEUrZEksMEJBQXlCO0lBQ3pCLGNBQWE7SUFDYixrQkFBaUIsRUE2QnBCO0kxRTlmRDtNMEVvZVEsZ0JBQWU7TUFDZixpQkFBZ0I7TUFDaEIsZUFBYztNQUNkLG1CQUFrQixFQUNyQjtJMUV4ZUw7TTBFMmVRLGdCQUFlO01BQ2YsZUFBYztNQUNkLG1CQUFrQjtNQUNsQixTQUFRO01BQ1IsV0FBVSxFQU9iO00xRXRmTDtRMEVrZlksZUFBYztRQUNkLDJCQUEwQjtRQUMxQixnQkFBZSxFQUNsQjtJMUVyZlQ7TTBFeWZRLG9CQUFtQjtNQUNuQixtQkFBa0I7TUFDbEIsb0JBQW1CO01BQ25CLGlCQUFnQixFQUNuQjtFMUU3Zkw7STBFaWdCSSxhQUFZLEVBQ2Y7RTFFbGdCRDtJMEVxZ0JJLGdCQUFlO0lBQ2YsT0FBTTtJQUNOLHVCQUFzQjtJQUN0QixZQUFXO0lBQ1gsd0JBQXVCLEVBZTFCO0kxRXhoQkQ7TTBFNGdCUSxtQkFBa0IsRUFDckI7STFFN2dCTDtNMEVnaEJRLFlBQVc7TUFDWCxlQUFjO01BQ2Qsa0JBQWlCO01BQ2pCLGdCQUFlO01BQ2Ysa0JBQWlCO01BQ2pCLHVCQUFzQjtNQUN0QixzQkFBcUIsRUFDeEI7RTFFdmhCTDtJMEUyaEJJLGNBQWEsRUFDaEI7RTFFNWhCRDtJMEUraEJJLGdCQUFlO0lBQ2Ysa0JBQWlCO0lBQ2pCLGVBQWMsRUFDakIiLCJmaWxlIjoidGRlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIiRncmlkLWNvbHVtbnM6ICAgICAgMTI7XHJcbiRncmlkLWd1dHRlci13aWR0aDogMjBweDtcclxuXHJcbiRncmlkLWJyZWFrcG9pbnRzOiAoXHJcbiAgLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcclxuICB4czogMCxcclxuICAvLyBTbWFsbCBzY3JlZW4gLyBwaG9uZVxyXG4gIHNtOiA1NzZweCxcclxuICAvLyBNZWRpdW0gc2NyZWVuIC8gdGFibGV0XHJcbiAgbWQ6IDc2OHB4LFxyXG4gIC8vIExhcmdlIHNjcmVlbiAvIGRlc2t0b3BcclxuICBsZzogOTkycHhcclxuICAvLyBFeHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuICAvL3hsOiAxMjAwcHhcclxuKTtcclxuXHJcbiRjb250YWluZXItbWF4LXdpZHRoczogKFxyXG4gIHNtOiA1NDBweCxcclxuICBtZDogNzIwcHgsXHJcbiAgbGc6IDk2MHB4XHJcbiAgLy94bDogMTE0MHB4XHJcbik7XHJcblxyXG5AaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvZnVuY3Rpb25zXCI7XHJcbkBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy92YXJpYWJsZXNcIjtcclxuQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21peGluc1wiO1xyXG5AaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3Mvcm9vdFwiO1xyXG5cclxuLmJvb3RzdHJhcC00IHtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9yZWJvb3RcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy90eXBlXCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvaW1hZ2VzXCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvY29kZVwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL2dyaWRcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy90YWJsZXNcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9mb3Jtc1wiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL2J1dHRvbnNcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy90cmFuc2l0aW9uc1wiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL2Ryb3Bkb3duXCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvYnV0dG9uLWdyb3VwXCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvaW5wdXQtZ3JvdXBcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9jdXN0b20tZm9ybXNcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9uYXZcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9uYXZiYXJcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9jYXJkXCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvYnJlYWRjcnVtYlwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3BhZ2luYXRpb25cIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9iYWRnZVwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL2p1bWJvdHJvblwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL2FsZXJ0XCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvcHJvZ3Jlc3NcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9tZWRpYVwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL2xpc3QtZ3JvdXBcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9jbG9zZVwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL21vZGFsXCI7XHJcbiAgICBAaW1wb3J0IFwiLi92ZW5kb3IvYm9vdHN0cmFwLTQuMC4wL3Njc3MvdG9vbHRpcFwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3BvcG92ZXJcIjtcclxuICAgIEBpbXBvcnQgXCIuL3ZlbmRvci9ib290c3RyYXAtNC4wLjAvc2Nzcy9jYXJvdXNlbFwiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3V0aWxpdGllc1wiO1xyXG4gICAgQGltcG9ydCBcIi4vdmVuZG9yL2Jvb3RzdHJhcC00LjAuMC9zY3NzL3ByaW50XCI7XHJcbiAgICAvLyBGaXggb3ZlcnJpZGVzIGZyb20gdGhlbWVcclxuICAgIEBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDU3NnB4KSB7XHJcbiAgICAgICAgLmNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHggIWltcG9ydGFudDtcclxuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4ICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVsIHtcclxuICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcblxyXG4gICAgLkRubk1vZHVsZSB7XHJcbiAgICAgICAgbWFyZ2luOiAwcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuRG5uTW9kdWxlIC5JbnZpc2libGUge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICAuTW9kRE5OSFRNTEMgPiBkaXYge1xyXG4gICAgICAgIHBhZGRpbmc6IDBweCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5Nb2RETk5IVE1MQyBzdHJvbmcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICAgIH1cclxuXHJcbiAgICAuTW9kRE5OSFRNTEMgcCB7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG5cclxuICAgIC5Nb2RETk5IVE1MQyBvbCBsaSwgLk1vZEROTkhUTUxDIHVsIGxpLCAuZ3JpZHZpZXdMYXlvdXQgb2wgbGksIC5ncmlkdmlld0xheW91dCB1bCBsaSwgLkNvbnRlbnRBcmVhIG9sIGxpLCAuQ29udGVudEFyZWEgdWwgbGkge1xyXG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgfVxyXG5cclxuICAgIC5Nb2RETk5IVE1MQyB0YWJsZSB0ZCxcclxuICAgIC5Db250ZW50QXJlYSB0YWJsZSB0ZCB7XHJcbiAgICAgICAgYm9yZGVyOiBpbmhlcml0ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgYnV0dG9uLmRublByaW1hcnlBY3Rpb24uZG5uUHJpbWFyeUFjdGlvbkJ0biB7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIHRleHQtc2hhZG93OiBub25lO1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA3MHB4O1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5QkEwMCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuZm9ybS1idWlsZGVyLWNhbnZhcy5TaW1wbGUgc2VsZWN0IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcclxuICAgIH1cclxuXHJcbiAgICBAaW1wb3J0IFwiLi9jb21wb25lbnRzL2xpc3RzXCI7XHJcbiAgICBAaW1wb3J0IFwiLi9jb21wb25lbnRzL2NvbW1vblwiO1xyXG4gICAgQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1PcGVuK1NhbnM6NDAwLDQwMGksNjAwLDYwMGksNzAwLDcwMGksODAwLDgwMGknKTtcclxufVxyXG4iLCI6cm9vdCB7XG4gIC8vIEN1c3RvbSB2YXJpYWJsZSB2YWx1ZXMgb25seSBzdXBwb3J0IFNhc3NTY3JpcHQgaW5zaWRlIGAje31gLlxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY29sb3JzIHtcbiAgICAtLSN7JGNvbG9yfTogI3skdmFsdWV9O1xuICB9XG5cbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgLS0jeyRjb2xvcn06ICN7JHZhbHVlfTtcbiAgfVxuXG4gIEBlYWNoICRicCwgJHZhbHVlIGluICRncmlkLWJyZWFrcG9pbnRzIHtcbiAgICAtLWJyZWFrcG9pbnQtI3skYnB9OiAjeyR2YWx1ZX07XG4gIH1cblxuICAvLyBVc2UgYGluc3BlY3RgIGZvciBsaXN0cyBzbyB0aGF0IHF1b3RlZCBpdGVtcyBrZWVwIHRoZSBxdW90ZXMuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vc2Fzcy9zYXNzL2lzc3Vlcy8yMzgzI2lzc3VlY29tbWVudC0zMzYzNDkxNzJcbiAgLS1mb250LWZhbWlseS1zYW5zLXNlcmlmOiAje2luc3BlY3QoJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYpfTtcbiAgLS1mb250LWZhbWlseS1tb25vc3BhY2U6ICN7aW5zcGVjdCgkZm9udC1mYW1pbHktbW9ub3NwYWNlKX07XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBhdC1ydWxlLW5vLXZlbmRvci1wcmVmaXgsIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlLCBwcm9wZXJ0eS1uby12ZW5kb3ItcHJlZml4XG5cbi8vIFJlYm9vdFxuLy9cbi8vIE5vcm1hbGl6YXRpb24gb2YgSFRNTCBlbGVtZW50cywgbWFudWFsbHkgZm9ya2VkIGZyb20gTm9ybWFsaXplLmNzcyB0byByZW1vdmVcbi8vIHN0eWxlcyB0YXJnZXRpbmcgaXJyZWxldmFudCBicm93c2VycyB3aGlsZSBhcHBseWluZyBuZXcgc3R5bGVzLlxuLy9cbi8vIE5vcm1hbGl6ZSBpcyBsaWNlbnNlZCBNSVQuIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3NcblxuXG4vLyBEb2N1bWVudFxuLy9cbi8vIDEuIENoYW5nZSBmcm9tIGBib3gtc2l6aW5nOiBjb250ZW50LWJveGAgc28gdGhhdCBgd2lkdGhgIGlzIG5vdCBhZmZlY3RlZCBieSBgcGFkZGluZ2Agb3IgYGJvcmRlcmAuXG4vLyAyLiBDaGFuZ2UgdGhlIGRlZmF1bHQgZm9udCBmYW1pbHkgaW4gYWxsIGJyb3dzZXJzLlxuLy8gMy4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuLy8gNC4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBJRSBvbiBXaW5kb3dzIFBob25lIGFuZCBpbiBpT1MuXG4vLyA1LiBTZXR0aW5nIEB2aWV3cG9ydCBjYXVzZXMgc2Nyb2xsYmFycyB0byBvdmVybGFwIGNvbnRlbnQgaW4gSUUxMSBhbmQgRWRnZSwgc29cbi8vICAgIHdlIGZvcmNlIGEgbm9uLW92ZXJsYXBwaW5nLCBub24tYXV0by1oaWRpbmcgc2Nyb2xsYmFyIHRvIGNvdW50ZXJhY3QuXG4vLyA2LiBDaGFuZ2UgdGhlIGRlZmF1bHQgdGFwIGhpZ2hsaWdodCB0byBiZSBjb21wbGV0ZWx5IHRyYW5zcGFyZW50IGluIGlPUy5cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxufVxuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDJcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8vIDNcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyA0XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogc2Nyb2xsYmFyOyAvLyA1XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTsgLy8gNlxufVxuXG4vLyBJRTEwKyBkb2Vzbid0IGhvbm9yIGA8bWV0YSBuYW1lPVwidmlld3BvcnRcIj5gIGluIHNvbWUgY2FzZXMuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG4vLyBTaGltIGZvciBcIm5ld1wiIEhUTUw1IHN0cnVjdHVyYWwgZWxlbWVudHMgdG8gZGlzcGxheSBjb3JyZWN0bHkgKElFMTAsIG9sZGVyIGJyb3dzZXJzKVxuYXJ0aWNsZSwgYXNpZGUsIGRpYWxvZywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBtYWluLCBuYXYsIHNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vIEJvZHlcbi8vXG4vLyAxLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4vLyAyLiBBcyBhIGJlc3QgcHJhY3RpY2UsIGFwcGx5IGEgZGVmYXVsdCBgYmFja2dyb3VuZC1jb2xvcmAuXG4vLyAzLiBTZXQgYW4gZXhwbGljaXQgaW5pdGlhbCB0ZXh0LWFsaWduIHZhbHVlIHNvIHRoYXQgd2UgY2FuIGxhdGVyIHVzZSB0aGVcbi8vICAgIHRoZSBgaW5oZXJpdGAgdmFsdWUgb24gdGhpbmdzIGxpa2UgYDx0aD5gIGVsZW1lbnRzLlxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyAvLyAxXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWJhc2U7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogJGJvZHktY29sb3I7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIDNcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmc7IC8vIDJcbn1cblxuLy8gU3VwcHJlc3MgdGhlIGZvY3VzIG91dGxpbmUgb24gZWxlbWVudHMgdGhhdCBjYW5ub3QgYmUgYWNjZXNzZWQgdmlhIGtleWJvYXJkLlxuLy8gVGhpcyBwcmV2ZW50cyBhbiB1bndhbnRlZCBmb2N1cyBvdXRsaW5lIGZyb20gYXBwZWFyaW5nIGFyb3VuZCBlbGVtZW50cyB0aGF0XG4vLyBtaWdodCBzdGlsbCByZXNwb25kIHRvIHBvaW50ZXIgZXZlbnRzLlxuLy9cbi8vIENyZWRpdDogaHR0cHM6Ly9naXRodWIuY29tL3N1aXRjc3MvYmFzZVxuW3RhYmluZGV4PVwiLTFcIl06Zm9jdXMge1xuICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XG59XG5cblxuLy8gQ29udGVudCBncm91cGluZ1xuLy9cbi8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4vLyAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLy8gMVxuICBoZWlnaHQ6IDA7IC8vIDFcbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8vIDJcbn1cblxuXG4vL1xuLy8gVHlwb2dyYXBoeVxuLy9cblxuLy8gUmVtb3ZlIHRvcCBtYXJnaW5zIGZyb20gaGVhZGluZ3Ncbi8vXG4vLyBCeSBkZWZhdWx0LCBgPGgxPmAtYDxoNj5gIGFsbCByZWNlaXZlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuIFdlIG51a2UgdGhlIHRvcFxuLy8gbWFyZ2luIGZvciBlYXNpZXIgY29udHJvbCB3aXRoaW4gdHlwZSBzY2FsZXMgYXMgaXQgYXZvaWRzIG1hcmdpbiBjb2xsYXBzaW5nLlxuLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJGhlYWRpbmdzLW1hcmdpbi1ib3R0b207XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlIHNlbGVjdG9yLWxpc3QtY29tbWEtbmV3bGluZS1hZnRlclxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIHBhcmFncmFwaHNcbi8vXG4vLyBTaW1pbGFybHksIHRoZSB0b3AgbWFyZ2luIG9uIGA8cD5gcyBnZXQgcmVzZXQuIEhvd2V2ZXIsIHdlIGFsc28gcmVzZXQgdGhlXG4vLyBib3R0b20gbWFyZ2luIHRvIHVzZSBgcmVtYCB1bml0cyBpbnN0ZWFkIG9mIGBlbWAuXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xufVxuXG4vLyBBYmJyZXZpYXRpb25zXG4vL1xuLy8gMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuLy8gMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbi8vIDMuIEFkZCBleHBsaWNpdCBjdXJzb3IgdG8gaW5kaWNhdGUgY2hhbmdlZCBiZWhhdmlvci5cbi8vIDQuIER1cGxpY2F0ZSBiZWhhdmlvciB0byB0aGUgZGF0YS0qIGF0dHJpYnV0ZSBmb3Igb3VyIHRvb2x0aXAgcGx1Z2luXG5cbmFiYnJbdGl0bGVdLFxuYWJicltkYXRhLW9yaWdpbmFsLXRpdGxlXSB7IC8vIDRcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8vIDJcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvLyAyXG4gIGN1cnNvcjogaGVscDsgLy8gM1xuICBib3JkZXItYm90dG9tOiAwOyAvLyAxXG59XG5cbmFkZHJlc3Mge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5vbCxcbnVsLFxuZGwge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5vbCBvbCxcbnVsIHVsLFxub2wgdWwsXG51bCBvbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbmR0IHtcbiAgZm9udC13ZWlnaHQ6ICRkdC1mb250LXdlaWdodDtcbn1cblxuZGQge1xuICBtYXJnaW4tYm90dG9tOiAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLVxufVxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmb250LXdlaWdodC1ub3RhdGlvblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IC8vIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmlcbn1cbi8vIHN0eWxlbGludC1lbmFibGUgZm9udC13ZWlnaHQtbm90YXRpb25cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgLy8gQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnNcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuLy8gYWxsIGJyb3dzZXJzLlxuLy9cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHsgYm90dG9tOiAtLjI1ZW07IH1cbnN1cCB7IHRvcDogLS41ZW07IH1cblxuXG4vL1xuLy8gTGlua3Ncbi8vXG5cbmEge1xuICBjb2xvcjogJGxpbmstY29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogJGxpbmstZGVjb3JhdGlvbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLy8gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuXG4gIEBpbmNsdWRlIGhvdmVyIHtcbiAgICBjb2xvcjogJGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICB9XG59XG5cbi8vIEFuZCB1bmRvIHRoZXNlIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgbGlua3MvbmFtZWQgYW5jaG9ycyAod2l0aG91dCBocmVmKVxuLy8gd2hpY2ggaGF2ZSBub3QgYmVlbiBtYWRlIGV4cGxpY2l0bHkga2V5Ym9hcmQtZm9jdXNhYmxlICh3aXRob3V0IHRhYmluZGV4KS5cbi8vIEl0IHdvdWxkIGJlIG1vcmUgc3RyYWlnaHRmb3J3YXJkIHRvIGp1c3QgdXNlIGFbaHJlZl0gaW4gcHJldmlvdXMgYmxvY2ssIGJ1dCB0aGF0XG4vLyBjYXVzZXMgc3BlY2lmaWNpdHkgaXNzdWVzIGluIG1hbnkgb3RoZXIgc3R5bGVzIHRoYXQgYXJlIHRvbyBjb21wbGV4IHRvIGZpeC5cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE5NDAyXG5cbmE6bm90KFtocmVmXSk6bm90KFt0YWJpbmRleF0pIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG5cbi8vXG4vLyBDb2RlXG4vL1xuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXNcbnByZSxcbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvLyBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICBmb250LXNpemU6IDFlbTsgLy8gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxufVxuLy8gc3R5bGVsaW50LWVuYWJsZSBmb250LWZhbWlseS1uby1kdXBsaWNhdGUtbmFtZXNcblxucHJlIHtcbiAgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdCB0b3AgbWFyZ2luXG4gIG1hcmdpbi10b3A6IDA7XG4gIC8vIFJlc2V0IGJyb3dzZXIgZGVmYXVsdCBvZiBgMWVtYCB0byB1c2UgYHJlbWBzXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIC8vIERvbid0IGFsbG93IGNvbnRlbnQgdG8gYnJlYWsgb3V0c2lkZVxuICBvdmVyZmxvdzogYXV0bztcbiAgLy8gV2UgaGF2ZSBAdmlld3BvcnQgc2V0IHdoaWNoIGNhdXNlcyBzY3JvbGxiYXJzIHRvIG92ZXJsYXAgY29udGVudCBpbiBJRTExIGFuZCBFZGdlLCBzb1xuICAvLyB3ZSBmb3JjZSBhIG5vbi1vdmVybGFwcGluZywgbm9uLWF1dG8taGlkaW5nIHNjcm9sbGJhciB0byBjb3VudGVyYWN0LlxuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IHNjcm9sbGJhcjtcbn1cblxuXG4vL1xuLy8gRmlndXJlc1xuLy9cblxuZmlndXJlIHtcbiAgLy8gQXBwbHkgYSBjb25zaXN0ZW50IG1hcmdpbiBzdHJhdGVneSAobWF0Y2hlcyBvdXIgdHlwZSBzdHlsZXMpLlxuICBtYXJnaW46IDAgMCAxcmVtO1xufVxuXG5cbi8vXG4vLyBJbWFnZXMgYW5kIGNvbnRlbnRcbi8vXG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgLy8gUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG59XG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgLy8gSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUVcbn1cblxuXG4vL1xuLy8gVGFibGVzXG4vL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8vIFByZXZlbnQgZG91YmxlIGJvcmRlcnNcbn1cblxuY2FwdGlvbiB7XG4gIHBhZGRpbmctdG9wOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHRhYmxlLWNlbGwtcGFkZGluZztcbiAgY29sb3I6ICR0ZXh0LW11dGVkO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBjYXB0aW9uLXNpZGU6IGJvdHRvbTtcbn1cblxudGgge1xuICAvLyBNYXRjaGVzIGRlZmF1bHQgYDx0ZD5gIGFsaWdubWVudCBieSBpbmhlcml0aW5nIGZyb20gdGhlIGA8Ym9keT5gLCBvciB0aGVcbiAgLy8gY2xvc2VzdCBwYXJlbnQgd2l0aCBhIHNldCBgdGV4dC1hbGlnbmAuXG4gIHRleHQtYWxpZ246IGluaGVyaXQ7XG59XG5cblxuLy9cbi8vIEZvcm1zXG4vL1xuXG5sYWJlbCB7XG4gIC8vIEFsbG93IGxhYmVscyB0byB1c2UgYG1hcmdpbmAgZm9yIHNwYWNpbmcuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG59XG5cbi8vIFJlbW92ZSB0aGUgZGVmYXVsdCBgYm9yZGVyLXJhZGl1c2AgdGhhdCBtYWNPUyBDaHJvbWUgYWRkcy5cbi8vXG4vLyBEZXRhaWxzIGF0IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjQwOTNcbmJ1dHRvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbi8vIFdvcmsgYXJvdW5kIGEgRmlyZWZveC9JRSBidWcgd2hlcmUgdGhlIHRyYW5zcGFyZW50IGBidXR0b25gIGJhY2tncm91bmRcbi8vIHJlc3VsdHMgaW4gYSBsb3NzIG9mIHRoZSBkZWZhdWx0IGBidXR0b25gIGZvY3VzIHN0eWxlcy5cbi8vXG4vLyBDcmVkaXQ6IGh0dHBzOi8vZ2l0aHViLmNvbS9zdWl0Y3NzL2Jhc2UvXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAxcHggZG90dGVkO1xuICBvdXRsaW5lOiA1cHggYXV0byAtd2Via2l0LWZvY3VzLXJpbmctY29sb3I7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxub3B0Z3JvdXAsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDsgLy8gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5idXR0b24sXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyAvLyBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlXG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyAvLyBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3hcbn1cblxuLy8gMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4vLyAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4vLyAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8vIDJcbn1cblxuLy8gUmVtb3ZlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBmcm9tIEZpcmVmb3gsIGJ1dCBkb24ndCByZXN0b3JlIHRoZSBvdXRsaW5lIGxpa2UgTm9ybWFsaXplLlxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8vIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLVxuICBwYWRkaW5nOiAwOyAvLyAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtXG59XG5cblxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwidGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJtb250aFwiXSB7XG4gIC8vIFJlbW92ZSB0aGUgZGVmYXVsdCBhcHBlYXJhbmNlIG9mIHRlbXBvcmFsIGlucHV0cyB0byBhdm9pZCBhIE1vYmlsZSBTYWZhcmlcbiAgLy8gYnVnIHdoZXJlIHNldHRpbmcgYSBjdXN0b20gbGluZS1oZWlnaHQgcHJldmVudHMgdGV4dCBmcm9tIGJlaW5nIHZlcnRpY2FsbHlcbiAgLy8gY2VudGVyZWQgd2l0aGluIHRoZSBpbnB1dC5cbiAgLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbiAgLy8gYW5kIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTEyNjZcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBsaXN0Ym94O1xufVxuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyAvLyBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICAvLyBUZXh0YXJlYXMgc2hvdWxkIHJlYWxseSBvbmx5IHJlc2l6ZSB2ZXJ0aWNhbGx5IHNvIHRoZXkgZG9uJ3QgYnJlYWsgdGhlaXIgKGhvcml6b250YWwpIGNvbnRhaW5lcnMuXG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbmZpZWxkc2V0IHtcbiAgLy8gQnJvd3NlcnMgc2V0IGEgZGVmYXVsdCBgbWluLXdpZHRoOiBtaW4tY29udGVudDtgIG9uIGZpZWxkc2V0cyxcbiAgLy8gdW5saWtlIGUuZy4gYDxkaXY+YHMsIHdoaWNoIGhhdmUgYG1pbi13aWR0aDogMDtgIGJ5IGRlZmF1bHQuXG4gIC8vIFNvIHdlIHJlc2V0IHRoYXQgdG8gZW5zdXJlIGZpZWxkc2V0cyBiZWhhdmUgbW9yZSBsaWtlIGEgc3RhbmRhcmQgYmxvY2sgZWxlbWVudC5cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTIzNTlcbiAgLy8gYW5kIGh0dHBzOi8vaHRtbC5zcGVjLndoYXR3Zy5vcmcvbXVsdGlwYWdlLyN0aGUtZmllbGRzZXQtYW5kLWxlZ2VuZC1lbGVtZW50c1xuICBtaW4td2lkdGg6IDA7XG4gIC8vIFJlc2V0IHRoZSBkZWZhdWx0IG91dGxpbmUgYmVoYXZpb3Igb2YgZmllbGRzZXRzIHNvIHRoZXkgZG9uJ3QgYWZmZWN0IHBhZ2UgbGF5b3V0LlxuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbi8vIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyAxXG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbi1ib3R0b206IC41cmVtO1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0OyAvLyAyXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8vIDFcbn1cblxucHJvZ3Jlc3Mge1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8vIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG59XG5cbi8vIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuICAvLyBgLmZvcm0tY29udHJvbGAgY2xhc3MgY2FuIHByb3Blcmx5IHN0eWxlIHRoZW0uIE5vdGUgdGhhdCB0aGlzIGNhbm5vdCBzaW1wbHlcbiAgLy8gYmUgYWRkZWQgdG8gYC5mb3JtLWNvbnRyb2xgIGFzIGl0J3Mgbm90IHNwZWNpZmljIGVub3VnaC4gRm9yIGRldGFpbHMsIHNlZVxuICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLy8gMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy9cbi8vIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4vL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbi8vIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbi8vXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICBmb250OiBpbmhlcml0OyAvLyAyXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAxXG59XG5cbi8vXG4vLyBDb3JyZWN0IGVsZW1lbnQgZGlzcGxheXNcbi8vXG5cbm91dHB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgLy8gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzXG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyAvLyBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRVxufVxuXG4vLyBBbHdheXMgaGlkZSBhbiBlbGVtZW50IHdpdGggdGhlIGBoaWRkZW5gIEhUTUwgYXR0cmlidXRlIChmcm9tIFB1cmVDU1MpLlxuLy8gTmVlZGVkIGZvciBwcm9wZXIgZGlzcGxheSBpbiBJRSAxMC0uXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8vIFZhcmlhYmxlc1xuLy9cbi8vIFZhcmlhYmxlcyBzaG91bGQgZm9sbG93IHRoZSBgJGNvbXBvbmVudC1zdGF0ZS1wcm9wZXJ0eS1zaXplYCBmb3JtdWxhIGZvclxuLy8gY29uc2lzdGVudCBuYW1pbmcuIEV4OiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3IgYW5kICRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHMuXG5cblxuLy9cbi8vIENvbG9yIHN5c3RlbVxuLy9cblxuLy8gc3R5bGVsaW50LWRpc2FibGVcbiR3aGl0ZTogICAgI2ZmZiAhZGVmYXVsdDtcbiRncmF5LTEwMDogI2Y4ZjlmYSAhZGVmYXVsdDtcbiRncmF5LTIwMDogI2U5ZWNlZiAhZGVmYXVsdDtcbiRncmF5LTMwMDogI2RlZTJlNiAhZGVmYXVsdDtcbiRncmF5LTQwMDogI2NlZDRkYSAhZGVmYXVsdDtcbiRncmF5LTUwMDogI2FkYjViZCAhZGVmYXVsdDtcbiRncmF5LTYwMDogIzZjNzU3ZCAhZGVmYXVsdDtcbiRncmF5LTcwMDogIzQ5NTA1NyAhZGVmYXVsdDtcbiRncmF5LTgwMDogIzM0M2E0MCAhZGVmYXVsdDtcbiRncmF5LTkwMDogIzIxMjUyOSAhZGVmYXVsdDtcbiRibGFjazogICAgIzAwMCAhZGVmYXVsdDtcblxuJGdyYXlzOiAoKSAhZGVmYXVsdDtcbiRncmF5czogbWFwLW1lcmdlKChcbiAgXCIxMDBcIjogJGdyYXktMTAwLFxuICBcIjIwMFwiOiAkZ3JheS0yMDAsXG4gIFwiMzAwXCI6ICRncmF5LTMwMCxcbiAgXCI0MDBcIjogJGdyYXktNDAwLFxuICBcIjUwMFwiOiAkZ3JheS01MDAsXG4gIFwiNjAwXCI6ICRncmF5LTYwMCxcbiAgXCI3MDBcIjogJGdyYXktNzAwLFxuICBcIjgwMFwiOiAkZ3JheS04MDAsXG4gIFwiOTAwXCI6ICRncmF5LTkwMFxuKSwgJGdyYXlzKTtcblxuJGJsdWU6ICAgICMwMDdiZmYgIWRlZmF1bHQ7XG4kaW5kaWdvOiAgIzY2MTBmMiAhZGVmYXVsdDtcbiRwdXJwbGU6ICAjNmY0MmMxICFkZWZhdWx0O1xuJHBpbms6ICAgICNlODNlOGMgIWRlZmF1bHQ7XG4kcmVkOiAgICAgI2RjMzU0NSAhZGVmYXVsdDtcbiRvcmFuZ2U6ICAjZmQ3ZTE0ICFkZWZhdWx0O1xuJHllbGxvdzogICNmZmMxMDcgIWRlZmF1bHQ7XG4kZ3JlZW46ICAgIzI4YTc0NSAhZGVmYXVsdDtcbiR0ZWFsOiAgICAjMjBjOTk3ICFkZWZhdWx0O1xuJGN5YW46ICAgICMxN2EyYjggIWRlZmF1bHQ7XG5cbiRjb2xvcnM6ICgpICFkZWZhdWx0O1xuJGNvbG9yczogbWFwLW1lcmdlKChcbiAgXCJibHVlXCI6ICAgICAgICRibHVlLFxuICBcImluZGlnb1wiOiAgICAgJGluZGlnbyxcbiAgXCJwdXJwbGVcIjogICAgICRwdXJwbGUsXG4gIFwicGlua1wiOiAgICAgICAkcGluayxcbiAgXCJyZWRcIjogICAgICAgICRyZWQsXG4gIFwib3JhbmdlXCI6ICAgICAkb3JhbmdlLFxuICBcInllbGxvd1wiOiAgICAgJHllbGxvdyxcbiAgXCJncmVlblwiOiAgICAgICRncmVlbixcbiAgXCJ0ZWFsXCI6ICAgICAgICR0ZWFsLFxuICBcImN5YW5cIjogICAgICAgJGN5YW4sXG4gIFwid2hpdGVcIjogICAgICAkd2hpdGUsXG4gIFwiZ3JheVwiOiAgICAgICAkZ3JheS02MDAsXG4gIFwiZ3JheS1kYXJrXCI6ICAkZ3JheS04MDBcbiksICRjb2xvcnMpO1xuXG4kcHJpbWFyeTogICAgICAgJGJsdWUgIWRlZmF1bHQ7XG4kc2Vjb25kYXJ5OiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHN1Y2Nlc3M6ICAgICAgICRncmVlbiAhZGVmYXVsdDtcbiRpbmZvOiAgICAgICAgICAkY3lhbiAhZGVmYXVsdDtcbiR3YXJuaW5nOiAgICAgICAkeWVsbG93ICFkZWZhdWx0O1xuJGRhbmdlcjogICAgICAgICRyZWQgIWRlZmF1bHQ7XG4kbGlnaHQ6ICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGRhcms6ICAgICAgICAgICRncmF5LTgwMCAhZGVmYXVsdDtcblxuJHRoZW1lLWNvbG9yczogKCkgIWRlZmF1bHQ7XG4kdGhlbWUtY29sb3JzOiBtYXAtbWVyZ2UoKFxuICBcInByaW1hcnlcIjogICAgJHByaW1hcnksXG4gIFwic2Vjb25kYXJ5XCI6ICAkc2Vjb25kYXJ5LFxuICBcInN1Y2Nlc3NcIjogICAgJHN1Y2Nlc3MsXG4gIFwiaW5mb1wiOiAgICAgICAkaW5mbyxcbiAgXCJ3YXJuaW5nXCI6ICAgICR3YXJuaW5nLFxuICBcImRhbmdlclwiOiAgICAgJGRhbmdlcixcbiAgXCJsaWdodFwiOiAgICAgICRsaWdodCxcbiAgXCJkYXJrXCI6ICAgICAgICRkYXJrXG4pLCAkdGhlbWUtY29sb3JzKTtcbi8vIHN0eWxlbGludC1lbmFibGVcblxuLy8gU2V0IGEgc3BlY2lmaWMganVtcCBwb2ludCBmb3IgcmVxdWVzdGluZyBjb2xvciBqdW1wc1xuJHRoZW1lLWNvbG9yLWludGVydmFsOiAgICAgIDglICFkZWZhdWx0O1xuXG4vLyBUaGUgeWlxIGxpZ2h0bmVzcyB2YWx1ZSB0aGF0IGRldGVybWluZXMgd2hlbiB0aGUgbGlnaHRuZXNzIG9mIGNvbG9yIGNoYW5nZXMgZnJvbSBcImRhcmtcIiB0byBcImxpZ2h0XCIuIEFjY2VwdGFibGUgdmFsdWVzIGFyZSBiZXR3ZWVuIDAgYW5kIDI1NS5cbiR5aXEtY29udHJhc3RlZC10aHJlc2hvbGQ6IDE1MCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9taXplIHRoZSBsaWdodCBhbmQgZGFyayB0ZXh0IGNvbG9ycyBmb3IgdXNlIGluIG91ciBZSVEgY29sb3IgY29udHJhc3QgZnVuY3Rpb24uXG4keWlxLXRleHQtZGFyazogJGdyYXktOTAwICFkZWZhdWx0O1xuJHlpcS10ZXh0LWxpZ2h0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIE9wdGlvbnNcbi8vXG4vLyBRdWlja2x5IG1vZGlmeSBnbG9iYWwgc3R5bGluZyBieSBlbmFibGluZyBvciBkaXNhYmxpbmcgb3B0aW9uYWwgZmVhdHVyZXMuXG5cbiRlbmFibGUtY2FyZXQ6ICAgICAgICAgICAgICB0cnVlICFkZWZhdWx0O1xuJGVuYWJsZS1yb3VuZGVkOiAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXNoYWRvd3M6ICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLWdyYWRpZW50czogICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7XG4kZW5hYmxlLXRyYW5zaXRpb25zOiAgICAgICAgdHJ1ZSAhZGVmYXVsdDtcbiRlbmFibGUtaG92ZXItbWVkaWEtcXVlcnk6ICBmYWxzZSAhZGVmYXVsdDsgLy8gRGVwcmVjYXRlZCwgbm8gbG9uZ2VyIGFmZmVjdHMgYW55IGNvbXBpbGVkIENTU1xuJGVuYWJsZS1ncmlkLWNsYXNzZXM6ICAgICAgIHRydWUgIWRlZmF1bHQ7XG4kZW5hYmxlLXByaW50LXN0eWxlczogICAgICAgdHJ1ZSAhZGVmYXVsdDtcblxuXG4vLyBTcGFjaW5nXG4vL1xuLy8gQ29udHJvbCB0aGUgZGVmYXVsdCBzdHlsaW5nIG9mIG1vc3QgQm9vdHN0cmFwIGVsZW1lbnRzIGJ5IG1vZGlmeWluZyB0aGVzZVxuLy8gdmFyaWFibGVzLiBNb3N0bHkgZm9jdXNlZCBvbiBzcGFjaW5nLlxuLy8gWW91IGNhbiBhZGQgbW9yZSBlbnRyaWVzIHRvIHRoZSAkc3BhY2VycyBtYXAsIHNob3VsZCB5b3UgbmVlZCBtb3JlIHZhcmlhdGlvbi5cblxuLy8gc3R5bGVsaW50LWRpc2FibGVcbiRzcGFjZXI6IDFyZW0gIWRlZmF1bHQ7XG4kc3BhY2VyczogKCkgIWRlZmF1bHQ7XG4kc3BhY2VyczogbWFwLW1lcmdlKChcbiAgMDogMCxcbiAgMTogKCRzcGFjZXIgKiAuMjUpLFxuICAyOiAoJHNwYWNlciAqIC41KSxcbiAgMzogJHNwYWNlcixcbiAgNDogKCRzcGFjZXIgKiAxLjUpLFxuICA1OiAoJHNwYWNlciAqIDMpXG4pLCAkc3BhY2Vycyk7XG5cbi8vIFRoaXMgdmFyaWFibGUgYWZmZWN0cyB0aGUgYC5oLSpgIGFuZCBgLnctKmAgY2xhc3Nlcy5cbiRzaXplczogKCkgIWRlZmF1bHQ7XG4kc2l6ZXM6IG1hcC1tZXJnZSgoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKSwgJHNpemVzKTtcbi8vIHN0eWxlbGludC1lbmFibGVcblxuLy8gQm9keVxuLy9cbi8vIFNldHRpbmdzIGZvciB0aGUgYDxib2R5PmAgZWxlbWVudC5cblxuJGJvZHktYmc6ICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkZ3JheS05MDAgIWRlZmF1bHQ7XG5cbi8vIExpbmtzXG4vL1xuLy8gU3R5bGUgYW5jaG9yIGVsZW1lbnRzLlxuXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuJGxpbmstZGVjb3JhdGlvbjogICAgICAgICAgIG5vbmUgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuJGxpbmstaG92ZXItZGVjb3JhdGlvbjogICAgIHVuZGVybGluZSAhZGVmYXVsdDtcblxuLy8gUGFyYWdyYXBoc1xuLy9cbi8vIFN0eWxlIHAgZWxlbWVudC5cblxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAgIDFyZW0gIWRlZmF1bHQ7XG5cblxuLy8gR3JpZCBicmVha3BvaW50c1xuLy9cbi8vIERlZmluZSB0aGUgbWluaW11bSBkaW1lbnNpb25zIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLFxuLy8gYWRhcHRpbmcgdG8gZGlmZmVyZW50IHNjcmVlbiBzaXplcywgZm9yIHVzZSBpbiBtZWRpYSBxdWVyaWVzLlxuXG4kZ3JpZC1icmVha3BvaW50czogKFxuICB4czogMCxcbiAgc206IDU3NnB4LFxuICBtZDogNzY4cHgsXG4gIGxnOiA5OTJweCxcbiAgeGw6IDEyMDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGdyaWQtYnJlYWtwb2ludHMsIFwiJGdyaWQtYnJlYWtwb2ludHNcIik7XG5AaW5jbHVkZSBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRncmlkLWJyZWFrcG9pbnRzKTtcblxuXG4vLyBHcmlkIGNvbnRhaW5lcnNcbi8vXG4vLyBEZWZpbmUgdGhlIG1heGltdW0gd2lkdGggb2YgYC5jb250YWluZXJgIGZvciBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4kY29udGFpbmVyLW1heC13aWR0aHM6IChcbiAgc206IDU0MHB4LFxuICBtZDogNzIwcHgsXG4gIGxnOiA5NjBweCxcbiAgeGw6IDExNDBweFxuKSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgX2Fzc2VydC1hc2NlbmRpbmcoJGNvbnRhaW5lci1tYXgtd2lkdGhzLCBcIiRjb250YWluZXItbWF4LXdpZHRoc1wiKTtcblxuXG4vLyBHcmlkIGNvbHVtbnNcbi8vXG4vLyBTZXQgdGhlIG51bWJlciBvZiBjb2x1bW5zIGFuZCBzcGVjaWZ5IHRoZSB3aWR0aCBvZiB0aGUgZ3V0dGVycy5cblxuJGdyaWQtY29sdW1uczogICAgICAgICAgICAgICAgMTIgIWRlZmF1bHQ7XG4kZ3JpZC1ndXR0ZXItd2lkdGg6ICAgICAgICAgICAzMHB4ICFkZWZhdWx0O1xuXG4vLyBDb21wb25lbnRzXG4vL1xuLy8gRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLlxuXG4kbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtc206ICAgICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgIDFweCAhZGVmYXVsdDtcbiRib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJGJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuJGJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAgICAgLjNyZW0gIWRlZmF1bHQ7XG4kYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICAgICAuMnJlbSAhZGVmYXVsdDtcblxuJGNvbXBvbmVudC1hY3RpdmUtY29sb3I6ICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgICAgdGhlbWUtY29sb3IoXCJwcmltYXJ5XCIpICFkZWZhdWx0O1xuXG4kY2FyZXQtd2lkdGg6ICAgICAgICAgICAgICAgICAuM2VtICFkZWZhdWx0O1xuXG4kdHJhbnNpdGlvbi1iYXNlOiAgICAgICAgICAgICBhbGwgLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuJHRyYW5zaXRpb24tZmFkZTogICAgICAgICAgICAgb3BhY2l0eSAuMTVzIGxpbmVhciAhZGVmYXVsdDtcbiR0cmFuc2l0aW9uLWNvbGxhcHNlOiAgICAgICAgIGhlaWdodCAuMzVzIGVhc2UgIWRlZmF1bHQ7XG5cblxuLy8gRm9udHNcbi8vXG4vLyBGb250LCBsaW5lLWhlaWdodCwgYW5kIGNvbG9yIGZvciBib2R5IHRleHQsIGhlYWRpbmdzLCBhbmQgbW9yZS5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUgdmFsdWUta2V5d29yZC1jYXNlXG4kZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICAgICAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsIFwiU2Vnb2UgVUlcIiwgUm9ib3RvLCBcIkhlbHZldGljYSBOZXVlXCIsIEFyaWFsLCBzYW5zLXNlcmlmLCBcIkFwcGxlIENvbG9yIEVtb2ppXCIsIFwiU2Vnb2UgVUkgRW1vamlcIiwgXCJTZWdvZSBVSSBTeW1ib2xcIiAhZGVmYXVsdDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6ICAgICAgIFNGTW9uby1SZWd1bGFyLCBNZW5sbywgTW9uYWNvLCBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgXCJDb3VyaWVyIE5ld1wiLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAkZm9udC1mYW1pbHktc2Fucy1zZXJpZiAhZGVmYXVsdDtcbi8vIHN0eWxlbGludC1lbmFibGUgdmFsdWUta2V5d29yZC1jYXNlXG5cbiRmb250LXNpemUtYmFzZTogICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7IC8vIEFzc3VtZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCwgdHlwaWNhbGx5IGAxNnB4YFxuJGZvbnQtc2l6ZS1sZzogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIDEuMjUpICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1zbTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC44NzUpICFkZWZhdWx0O1xuXG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtbm9ybWFsOiAgICAgICAgICA0MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICA3MDAgIWRlZmF1bHQ7XG5cbiRmb250LXdlaWdodC1iYXNlOiAgICAgICAgICAgICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAxLjUgIWRlZmF1bHQ7XG5cbiRoMS1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIuNSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDIgIWRlZmF1bHQ7XG4kaDMtZm9udC1zaXplOiAgICAgICAgICAgICAgICAkZm9udC1zaXplLWJhc2UgKiAxLjc1ICFkZWZhdWx0O1xuJGg0LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS41ICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1iYXNlICogMS4yNSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6ICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAhZGVmYXVsdDtcblxuJGhlYWRpbmdzLW1hcmdpbi1ib3R0b206ICAgICAgKCRzcGFjZXIgLyAyKSAhZGVmYXVsdDtcbiRoZWFkaW5ncy1mb250LWZhbWlseTogICAgICAgIGluaGVyaXQgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtbGluZS1oZWlnaHQ6ICAgICAgICAxLjIgIWRlZmF1bHQ7XG4kaGVhZGluZ3MtY29sb3I6ICAgICAgICAgICAgICBpbmhlcml0ICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtc2l6ZTogICAgICAgICAgICAgICA2cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkyLXNpemU6ICAgICAgICAgICAgICAgNS41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXkzLXNpemU6ICAgICAgICAgICAgICAgNC41cmVtICFkZWZhdWx0O1xuJGRpc3BsYXk0LXNpemU6ICAgICAgICAgICAgICAgMy41cmVtICFkZWZhdWx0O1xuXG4kZGlzcGxheTEtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTItd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTMtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheTQtd2VpZ2h0OiAgICAgICAgICAgICAzMDAgIWRlZmF1bHQ7XG4kZGlzcGxheS1saW5lLWhlaWdodDogICAgICAgICAkaGVhZGluZ3MtbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRsZWFkLWZvbnQtc2l6ZTogICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcbiRsZWFkLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgIDMwMCAhZGVmYXVsdDtcblxuJHNtYWxsLWZvbnQtc2l6ZTogICAgICAgICAgICAgODAlICFkZWZhdWx0O1xuXG4kdGV4dC1tdXRlZDogICAgICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRibG9ja3F1b3RlLXNtYWxsLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWZvbnQtc2l6ZTogICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAxLjI1KSAhZGVmYXVsdDtcblxuJGhyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRoci1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cbiRtYXJrLXBhZGRpbmc6ICAgICAgICAgICAgICAgIC4yZW0gIWRlZmF1bHQ7XG5cbiRkdC1mb250LXdlaWdodDogICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4ka2JkLWJveC1zaGFkb3c6ICAgICAgICAgICAgICBpbnNldCAwIC0uMXJlbSAwIHJnYmEoJGJsYWNrLCAuMjUpICFkZWZhdWx0O1xuJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ6ICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbiRsaXN0LWlubGluZS1wYWRkaW5nOiAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kbWFyay1iZzogICAgICAgICAgICAgICAgICAgICAjZmNmOGUzICFkZWZhdWx0O1xuXG4kaHItbWFyZ2luLXk6ICAgICAgICAgICAgICAgICAkc3BhY2VyICFkZWZhdWx0O1xuXG5cbi8vIFRhYmxlc1xuLy9cbi8vIEN1c3RvbWl6ZXMgdGhlIGAudGFibGVgIGNvbXBvbmVudCB3aXRoIGJhc2ljIHZhbHVlcywgZWFjaCB1c2VkIGFjcm9zcyBhbGwgdGFibGUgdmFyaWF0aW9ucy5cblxuJHRhYmxlLWNlbGwtcGFkZGluZzogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJHRhYmxlLWNlbGwtcGFkZGluZy1zbTogICAgICAgLjNyZW0gIWRlZmF1bHQ7XG5cbiR0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJHRhYmxlLWFjY2VudC1iZzogICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtaG92ZXItYmc6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtYWN0aXZlLWJnOiAgICAgICAgICAgICAkdGFibGUtaG92ZXItYmcgIWRlZmF1bHQ7XG5cbiR0YWJsZS1ib3JkZXItd2lkdGg6ICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oZWFkLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWNvbG9yOiAgICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcblxuJHRhYmxlLWRhcmstYmc6ICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHRhYmxlLWRhcmstYWNjZW50LWJnOiAgICAgICAgcmdiYSgkd2hpdGUsIC4wNSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ob3Zlci1iZzogICAgICAgICByZ2JhKCR3aGl0ZSwgLjA3NSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1ib3JkZXItY29sb3I6ICAgICBsaWdodGVuKCRncmF5LTkwMCwgNy41JSkgIWRlZmF1bHQ7XG4kdGFibGUtZGFyay1jb2xvcjogICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcblxuXG4vLyBCdXR0b25zICsgRm9ybXNcbi8vXG4vLyBTaGFyZWQgdmFyaWFibGVzIHRoYXQgYXJlIHJlYXNzaWduZWQgdG8gYCRpbnB1dC1gIGFuZCBgJGJ0bi1gIHNwZWNpZmljIHZhcmlhYmxlcy5cblxuJGlucHV0LWJ0bi1wYWRkaW5nLXk6ICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14OiAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tbGluZS1oZWlnaHQ6ICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLWZvY3VzLXdpZHRoOiAgICAgICAuMnJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tZm9jdXMtY29sb3I6ICAgICAgIHJnYmEoJGNvbXBvbmVudC1hY3RpdmUtYmcsIC4yNSkgIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3c6ICAwIDAgMCAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICRpbnB1dC1idG4tZm9jdXMtY29sb3IgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tcGFkZGluZy15LXNtOiAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LXNtOiAgICAgIC41cmVtICFkZWZhdWx0O1xuJGlucHV0LWJ0bi1saW5lLWhlaWdodC1zbTogICAgJGxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtYnRuLXBhZGRpbmcteS1sZzogICAgICAuNXJlbSAhZGVmYXVsdDtcbiRpbnB1dC1idG4tcGFkZGluZy14LWxnOiAgICAgIDFyZW0gIWRlZmF1bHQ7XG4kaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAkbGluZS1oZWlnaHQtbGcgIWRlZmF1bHQ7XG5cbiRpbnB1dC1idG4tYm9yZGVyLXdpZHRoOiAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG5cblxuLy8gQnV0dG9uc1xuLy9cbi8vIEZvciBlYWNoIG9mIEJvb3RzdHJhcCdzIGJ1dHRvbnMsIGRlZmluZSB0ZXh0LCBiYWNrZ3JvdW5kLCBhbmQgYm9yZGVyIGNvbG9yLlxuXG4kYnRuLXBhZGRpbmcteTogICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteSAhZGVmYXVsdDtcbiRidG4tcGFkZGluZy14OiAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGJ0bi1saW5lLWhlaWdodDogICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcblxuJGJ0bi1wYWRkaW5nLXktc206ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktc20gIWRlZmF1bHQ7XG4kYnRuLXBhZGRpbmcteC1zbTogICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRidG4tbGluZS1oZWlnaHQtc206ICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQtc20gIWRlZmF1bHQ7XG5cbiRidG4tcGFkZGluZy15LWxnOiAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15LWxnICFkZWZhdWx0O1xuJGJ0bi1wYWRkaW5nLXgtbGc6ICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kYnRuLWxpbmUtaGVpZ2h0LWxnOiAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LWxnICFkZWZhdWx0O1xuXG4kYnRuLWJvcmRlci13aWR0aDogICAgICAgICAgICAkaW5wdXQtYnRuLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcblxuJGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRidG4tYm94LXNoYWRvdzogICAgICAgICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgkd2hpdGUsIC4xNSksIDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG4kYnRuLWZvY3VzLXdpZHRoOiAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGJ0bi1mb2N1cy1ib3gtc2hhZG93OiAgICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuJGJ0bi1kaXNhYmxlZC1vcGFjaXR5OiAgICAgICAgLjY1ICFkZWZhdWx0O1xuJGJ0bi1hY3RpdmUtYm94LXNoYWRvdzogICAgICAgaW5zZXQgMCAzcHggNXB4IHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcblxuJGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kYnRuLWJsb2NrLXNwYWNpbmcteTogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcblxuLy8gQWxsb3dzIGZvciBjdXN0b21pemluZyBidXR0b24gcmFkaXVzIGluZGVwZW5kZW50bHkgZnJvbSBnbG9iYWwgYm9yZGVyIHJhZGl1c1xuJGJ0bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kYnRuLWJvcmRlci1yYWRpdXMtbGc6ICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRidG4tYm9yZGVyLXJhZGl1cy1zbTogICAgICAgICRib3JkZXItcmFkaXVzLXNtICFkZWZhdWx0O1xuXG4kYnRuLXRyYW5zaXRpb246ICAgICAgICAgICAgICBjb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4xNXMgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuMTVzIGVhc2UtaW4tb3V0LCBib3gtc2hhZG93IC4xNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cblxuLy8gRm9ybXNcblxuJGlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGlucHV0LXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy14ICFkZWZhdWx0O1xuJGlucHV0LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tbGluZS1oZWlnaHQgIWRlZmF1bHQ7XG5cbiRpbnB1dC1wYWRkaW5nLXktc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAhZGVmYXVsdDtcbiRpbnB1dC1wYWRkaW5nLXgtc206ICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLXBhZGRpbmcteC1zbSAhZGVmYXVsdDtcbiRpbnB1dC1saW5lLWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kaW5wdXQtcGFkZGluZy15LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgIWRlZmF1bHQ7XG4kaW5wdXQtcGFkZGluZy14LWxnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXgtbGcgIWRlZmF1bHQ7XG4kaW5wdXQtbGluZS1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRpbnB1dC1kaXNhYmxlZC1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cbiRpbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGdyYXktNDAwICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogICAgICAgICAgICAgICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgIGluc2V0IDAgMXB4IDFweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLWxnOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1sZyAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItcmFkaXVzLXNtOiAgICAgICAgICAgICAgICAkYm9yZGVyLXJhZGl1cy1zbSAhZGVmYXVsdDtcblxuJGlucHV0LWZvY3VzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1iZyAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICBsaWdodGVuKCRjb21wb25lbnQtYWN0aXZlLWJnLCAyNSUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRpbnB1dC1mb2N1cy13aWR0aDogICAgICAgICAgICAgICAgICAgICAkaW5wdXQtYnRuLWZvY3VzLXdpZHRoICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJveC1zaGFkb3c6ICAgICAgICAgICAgICAgICRpbnB1dC1idG4tZm9jdXMtYm94LXNoYWRvdyAhZGVmYXVsdDtcblxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICRpbnB1dC1ib3JkZXItd2lkdGggKiAyICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyOiAgICAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqICRpbnB1dC1idG4tbGluZS1oZWlnaHQpICsgKCRpbnB1dC1idG4tcGFkZGluZy15ICogMikgIWRlZmF1bHQ7XG4kaW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsYygjeyRpbnB1dC1oZWlnaHQtaW5uZXJ9ICsgI3skaW5wdXQtaGVpZ2h0LWJvcmRlcn0pICFkZWZhdWx0O1xuXG4kaW5wdXQtaGVpZ2h0LWlubmVyLXNtOiAgICAgICAgICAgICAgICAgKCRmb250LXNpemUtc20gKiAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0LXNtKSArICgkaW5wdXQtYnRuLXBhZGRpbmcteS1zbSAqIDIpICFkZWZhdWx0O1xuJGlucHV0LWhlaWdodC1zbTogICAgICAgICAgICAgICAgICAgICAgIGNhbGMoI3skaW5wdXQtaGVpZ2h0LWlubmVyLXNtfSArICN7JGlucHV0LWhlaWdodC1ib3JkZXJ9KSAhZGVmYXVsdDtcblxuJGlucHV0LWhlaWdodC1pbm5lci1sZzogICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWxnICogJGlucHV0LWJ0bi1saW5lLWhlaWdodC1sZykgKyAoJGlucHV0LWJ0bi1wYWRkaW5nLXktbGcgKiAyKSAhZGVmYXVsdDtcbiRpbnB1dC1oZWlnaHQtbGc6ICAgICAgICAgICAgICAgICAgICAgICBjYWxjKCN7JGlucHV0LWhlaWdodC1pbm5lci1sZ30gKyAjeyRpbnB1dC1oZWlnaHQtYm9yZGVyfSkgIWRlZmF1bHQ7XG5cbiRpbnB1dC10cmFuc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3IgLjE1cyBlYXNlLWluLW91dCwgYm94LXNoYWRvdyAuMTVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4kZm9ybS10ZXh0LW1hcmdpbi10b3A6ICAgICAgICAgICAgICAgICAgLjI1cmVtICFkZWZhdWx0O1xuXG4kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI6ICAgICAgICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi15OiAgICAgICAgICAgICAuM3JlbSAhZGVmYXVsdDtcbiRmb3JtLWNoZWNrLWlucHV0LW1hcmdpbi14OiAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWNoZWNrLWlubGluZS1tYXJnaW4teDogICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg6ICAgICAgLjMxMjVyZW0gIWRlZmF1bHQ7XG5cbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I6ICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWdyb3VwLWFkZG9uLWJnOiAgICAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I6ICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtZ3V0dGVyOiAgICAgICAgICAgICAgICAgMS41cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLXNwYWNlci14OiAgICAgICAgICAgICAgIDFyZW0gIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTogICAgICAgICAxcmVtICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZzogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmctc2l6ZTogICAgICA1MCUgNTAlICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1ib3gtc2hhZG93OiAgIGluc2V0IDAgLjI1cmVtIC4yNXJlbSByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWRpc2FibGVkLWJnOiAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I6ICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjogICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJnOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG4kY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc6ICByZ2JhKHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSwgLjUpICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3c6ICAgbm9uZSAhZGVmYXVsdDtcblxuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1mb2N1cy1ib3gtc2hhZG93OiAgICAgMCAwIDAgMXB4ICRib2R5LWJnLCAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWNvbG9yOiAgICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc6ICAgICAgICAgICAgbGlnaHRlbigkY29tcG9uZW50LWFjdGl2ZS1iZywgMzUlKSAhZGVmYXVsdDtcbiRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYWN0aXZlLWJveC1zaGFkb3c6ICAgIG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItaWNvbi1jaGVja2VkOiAgICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZmlsbD0nI3skY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtY29sb3J9JyBkPSdNNi41NjQuNzVsLTMuNTkgMy42MTItMS41MzgtMS41NUwwIDQuMjYgMi45NzQgNy4yNSA4IDIuMTkzeicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuXG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJnOiAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24taW5kZXRlcm1pbmF0ZTogIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQgNCclM0UlM0NwYXRoIHN0cm9rZT0nI3skY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWNvbG9yfScgZD0nTTAgMmg0Jy8lM0UlM0Mvc3ZnJTNFXCIpLCBcIiNcIiwgXCIlMjNcIikgIWRlZmF1bHQ7XG4kY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG5cbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWJvcmRlci1yYWRpdXM6ICAgICAgICAgIDUwJSAhZGVmYXVsdDtcbiRjdXN0b20tcmFkaW8taW5kaWNhdG9yLWljb24tY2hlY2tlZDogICAgICAgICAgIHN0ci1yZXBsYWNlKHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtjaGFyc2V0PXV0ZjgsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nLTQgLTQgOCA4JyUzRSUzQ2NpcmNsZSByPSczJyBmaWxsPScjeyRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcn0nLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15OiAgICAgICAgICAgLjM3NXJlbSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0OiAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWluZGljYXRvci1wYWRkaW5nOiAgIDFyZW0gIWRlZmF1bHQ7IC8vIEV4dHJhIHBhZGRpbmcgdG8gYWNjb3VudCBmb3IgdGhlIHByZXNlbmNlIG9mIHRoZSBiYWNrZ3JvdW5kLWltYWdlIGJhc2VkIGluZGljYXRvclxuJGN1c3RvbS1zZWxlY3QtbGluZS1oZWlnaHQ6ICAgICAgICAgJGlucHV0LWJ0bi1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWNvbG9yOiAgICAgICAgICAgICAgICRpbnB1dC1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWNvbG9yOiAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnOiAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWRpc2FibGVkLWJnOiAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJnLXNpemU6ICAgICAgICAgICAgIDhweCAxMHB4ICFkZWZhdWx0OyAvLyBJbiBwaXhlbHMgYmVjYXVzZSBpbWFnZSBkaW1lbnNpb25zXG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3ItY29sb3I6ICAgICAkZ3JheS04MDAgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3I6ICAgICAgICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCA0IDUnJTNFJTNDcGF0aCBmaWxsPScjeyRjdXN0b20tc2VsZWN0LWluZGljYXRvci1jb2xvcn0nIGQ9J00yIDBMMCAyaDR6bTAgNUwwIDNoNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci13aWR0aDogICAgICAgICRpbnB1dC1idG4tYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yOiAgICAgICAgJGlucHV0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tc2VsZWN0LWJvcmRlci1yYWRpdXM6ICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I6ICAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtZm9jdXMtYm94LXNoYWRvdzogICAgaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAuMDc1KSwgMCAwIDVweCByZ2JhKCRjdXN0b20tc2VsZWN0LWZvY3VzLWJvcmRlci1jb2xvciwgLjUpICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtc206ICAgICAgICA3NSUgIWRlZmF1bHQ7XG4kY3VzdG9tLXNlbGVjdC1oZWlnaHQtc206ICAgICAgICAgICAkaW5wdXQtaGVpZ2h0LXNtICFkZWZhdWx0O1xuXG4kY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc6ICAgICAgICAxMjUlICFkZWZhdWx0O1xuJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LWxnOiAgICAgICAgICAgJGlucHV0LWhlaWdodC1sZyAhZGVmYXVsdDtcblxuJGN1c3RvbS1maWxlLWhlaWdodDogICAgICAgICAgICAgICAgJGlucHV0LWhlaWdodCAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I6ICAgICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtZm9jdXMtYm94LXNoYWRvdzogICAgICAkaW5wdXQtYnRuLWZvY3VzLWJveC1zaGFkb3cgIWRlZmF1bHQ7XG5cbiRjdXN0b20tZmlsZS1wYWRkaW5nLXk6ICAgICAgICAgICAgICRpbnB1dC1idG4tcGFkZGluZy15ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLXBhZGRpbmcteDogICAgICAgICAgICAgJGlucHV0LWJ0bi1wYWRkaW5nLXggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtbGluZS1oZWlnaHQ6ICAgICAgICAgICAkaW5wdXQtYnRuLWxpbmUtaGVpZ2h0ICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWNvbG9yOiAgICAgICAgICAgICAgICAgJGlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJnOiAgICAgICAgICAgICAgICAgICAgJGlucHV0LWJnICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci13aWR0aDogICAgICAgICAgJGlucHV0LWJ0bi1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAkaW5wdXQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgJGlucHV0LWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY3VzdG9tLWZpbGUtYm94LXNoYWRvdzogICAgICAgICAgICAkaW5wdXQtYm94LXNoYWRvdyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tY29sb3I6ICAgICAgICAgICRjdXN0b20tZmlsZS1jb2xvciAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS1idXR0b24tYmc6ICAgICAgICAgICAgICRpbnB1dC1ncm91cC1hZGRvbi1iZyAhZGVmYXVsdDtcbiRjdXN0b20tZmlsZS10ZXh0OiAoXG4gIGVuOiBcIkJyb3dzZVwiXG4pICFkZWZhdWx0O1xuXG5cbi8vIEZvcm0gdmFsaWRhdGlvblxuJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDogICAgICAgICAgJGZvcm0tdGV4dC1tYXJnaW4tdG9wICFkZWZhdWx0O1xuJGZvcm0tZmVlZGJhY2stZm9udC1zaXplOiAgICAgICAgICAgJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yOiAgICAgICAgIHRoZW1lLWNvbG9yKFwic3VjY2Vzc1wiKSAhZGVmYXVsdDtcbiRmb3JtLWZlZWRiYWNrLWludmFsaWQtY29sb3I6ICAgICAgIHRoZW1lLWNvbG9yKFwiZGFuZ2VyXCIpICFkZWZhdWx0O1xuXG5cbi8vIERyb3Bkb3duc1xuLy9cbi8vIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cblxuJGRyb3Bkb3duLW1pbi13aWR0aDogICAgICAgICAgICAgICAgMTByZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tcGFkZGluZy15OiAgICAgICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRkcm9wZG93bi1zcGFjZXI6ICAgICAgICAgICAgICAgICAgIC4xMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24tYmc6ICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjE1KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJvcmRlci13aWR0aDogICAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIDAgLjVyZW0gMXJlbSByZ2JhKCRibGFjaywgLjE3NSkgIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbigkZ3JheS05MDAsIDUlKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICRncmF5LTEwMCAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXk6ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taXRlbS1wYWRkaW5nLXg6ICAgICAgICAgICAxLjVyZW0gIWRlZmF1bHQ7XG5cbiRkcm9wZG93bi1oZWFkZXItY29sb3I6ICAgICAgICAgICAgICRncmF5LTYwMCAhZGVmYXVsdDtcblxuXG4vLyBaLWluZGV4IG1hc3RlciBsaXN0XG4vL1xuLy8gV2FybmluZzogQXZvaWQgY3VzdG9taXppbmcgdGhlc2UgdmFsdWVzLiBUaGV5J3JlIHVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3XG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXG5cbiR6aW5kZXgtZHJvcGRvd246ICAgICAgICAgICAgICAgICAgIDEwMDAgIWRlZmF1bHQ7XG4kemluZGV4LXN0aWNreTogICAgICAgICAgICAgICAgICAgICAxMDIwICFkZWZhdWx0O1xuJHppbmRleC1maXhlZDogICAgICAgICAgICAgICAgICAgICAgMTAzMCAhZGVmYXVsdDtcbiR6aW5kZXgtbW9kYWwtYmFja2Ryb3A6ICAgICAgICAgICAgIDEwNDAgIWRlZmF1bHQ7XG4kemluZGV4LW1vZGFsOiAgICAgICAgICAgICAgICAgICAgICAxMDUwICFkZWZhdWx0O1xuJHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgICAgICAgICAgMTA2MCAhZGVmYXVsdDtcbiR6aW5kZXgtdG9vbHRpcDogICAgICAgICAgICAgICAgICAgIDEwNzAgIWRlZmF1bHQ7XG5cbi8vIE5hdnNcblxuJG5hdi1saW5rLXBhZGRpbmcteTogICAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kbmF2LWxpbmstcGFkZGluZy14OiAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJG5hdi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuXG4kbmF2LXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG5hdi10YWJzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3I6ICAkZ3JheS0yMDAgJGdyYXktMjAwICRuYXYtdGFicy1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAkZ3JheS03MDAgIWRlZmF1bHQ7XG4kbmF2LXRhYnMtbGluay1hY3RpdmUtYmc6ICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I6ICRncmF5LTMwMCAkZ3JheS0zMDAgJG5hdi10YWJzLWxpbmstYWN0aXZlLWJnICFkZWZhdWx0O1xuXG4kbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRuYXYtcGlsbHMtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICRjb21wb25lbnQtYWN0aXZlLWNvbG9yICFkZWZhdWx0O1xuJG5hdi1waWxscy1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtYmcgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhclxuXG4kbmF2YmFyLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAoJHNwYWNlciAvIDIpICFkZWZhdWx0O1xuJG5hdmJhci1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgJHNwYWNlciAhZGVmYXVsdDtcblxuJG5hdmJhci1uYXYtbGluay1wYWRkaW5nLXg6ICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG5cbiRuYXZiYXItYnJhbmQtZm9udC1zaXplOiAgICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4vLyBDb21wdXRlIHRoZSBuYXZiYXItYnJhbmQgcGFkZGluZy15IHNvIHRoZSBuYXZiYXItYnJhbmQgd2lsbCBoYXZlIHRoZSBzYW1lIGhlaWdodCBhcyBuYXZiYXItdGV4dCBhbmQgbmF2LWxpbmtcbiRuYXYtbGluay1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICgkZm9udC1zaXplLWJhc2UgKiAkbGluZS1oZWlnaHQtYmFzZSArICRuYXYtbGluay1wYWRkaW5nLXkgKiAyKSAhZGVmYXVsdDtcbiRuYXZiYXItYnJhbmQtaGVpZ2h0OiAgICAgICAgICAgICAgICRuYXZiYXItYnJhbmQtZm9udC1zaXplICogJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kbmF2YmFyLWJyYW5kLXBhZGRpbmcteTogICAgICAgICAgICAoJG5hdi1saW5rLWhlaWdodCAtICRuYXZiYXItYnJhbmQtaGVpZ2h0KSAvIDIgIWRlZmF1bHQ7XG5cbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXk6ICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXg6ICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRuYXZiYXItdG9nZ2xlci1mb250LXNpemU6ICAgICAgICAgICRmb250LXNpemUtbGcgIWRlZmF1bHQ7XG4kbmF2YmFyLXRvZ2dsZXItYm9yZGVyLXJhZGl1czogICAgICAkYnRuLWJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRuYXZiYXItZGFyay1jb2xvcjogICAgICAgICAgICAgICAgIHJnYmEoJHdoaXRlLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWRhcmstaG92ZXItY29sb3I6ICAgICAgICAgICByZ2JhKCR3aGl0ZSwgLjc1KSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I6ICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay1kaXNhYmxlZC1jb2xvcjogICAgICAgIHJnYmEoJHdoaXRlLCAuMjUpICFkZWZhdWx0O1xuJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZzogICAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0Nzdmcgdmlld0JveD0nMCAwIDMwIDMwJyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnJTNFJTNDcGF0aCBzdHJva2U9JyN7JG5hdmJhci1kYXJrLWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItZGFyay10b2dnbGVyLWJvcmRlci1jb2xvcjogIHJnYmEoJHdoaXRlLCAuMSkgIWRlZmF1bHQ7XG5cbiRuYXZiYXItbGlnaHQtY29sb3I6ICAgICAgICAgICAgICAgIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LWhvdmVyLWNvbG9yOiAgICAgICAgICByZ2JhKCRibGFjaywgLjcpICFkZWZhdWx0O1xuJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I6ICAgICAgICAgcmdiYSgkYmxhY2ssIC45KSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtZGlzYWJsZWQtY29sb3I6ICAgICAgIHJnYmEoJGJsYWNrLCAuMykgIWRlZmF1bHQ7XG4kbmF2YmFyLWxpZ2h0LXRvZ2dsZXItaWNvbi1iZzogICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB2aWV3Qm94PScwIDAgMzAgMzAnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyclM0UlM0NwYXRoIHN0cm9rZT0nI3skbmF2YmFyLWxpZ2h0LWNvbG9yfScgc3Ryb2tlLXdpZHRoPScyJyBzdHJva2UtbGluZWNhcD0ncm91bmQnIHN0cm9rZS1taXRlcmxpbWl0PScxMCcgZD0nTTQgN2gyMk00IDE1aDIyTTQgMjNoMjInLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcbiRuYXZiYXItbGlnaHQtdG9nZ2xlci1ib3JkZXItY29sb3I6IHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG5cbi8vIFBhZ2luYXRpb25cblxuJHBhZ2luYXRpb24tcGFkZGluZy15OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXg6ICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXktc206ICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1wYWRkaW5nLXgtc206ICAgICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteS1sZzogICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZzogICAgICAgICAgIDEuNXJlbSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgIDEuMjUgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICRsaW5rLWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYmc6ICAgICAgICAgICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoOiAgICAgICAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjogICAgICAgICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZm9jdXMtYm94LXNoYWRvdzogICAgICAgJGlucHV0LWJ0bi1mb2N1cy1ib3gtc2hhZG93ICFkZWZhdWx0O1xuXG4kcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjogICAgICAgICAgICAkbGluay1ob3Zlci1jb2xvciAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICRncmF5LTIwMCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICRncmF5LTMwMCAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRwYWdpbmF0aW9uLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyLWNvbG9yOiAgJGdyYXktMzAwICFkZWZhdWx0O1xuXG5cbi8vIEp1bWJvdHJvblxuXG4kanVtYm90cm9uLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAycmVtICFkZWZhdWx0O1xuJGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgICAgJGdyYXktMjAwICFkZWZhdWx0O1xuXG5cbi8vIENhcmRzXG5cbiRjYXJkLXNwYWNlci15OiAgICAgICAgICAgICAgICAgICAgIC43NXJlbSAhZGVmYXVsdDtcbiRjYXJkLXNwYWNlci14OiAgICAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItd2lkdGg6ICAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJGNhcmQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kY2FyZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjEyNSkgIWRlZmF1bHQ7XG4kY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzOiAgICAgICAgICBjYWxjKCN7JGNhcmQtYm9yZGVyLXJhZGl1c30gLSAjeyRjYXJkLWJvcmRlci13aWR0aH0pICFkZWZhdWx0O1xuJGNhcmQtY2FwLWJnOiAgICAgICAgICAgICAgICAgICAgICAgcmdiYSgkYmxhY2ssIC4wMykgIWRlZmF1bHQ7XG4kY2FyZC1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG5cbiRjYXJkLWltZy1vdmVybGF5LXBhZGRpbmc6ICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG5cbiRjYXJkLWdyb3VwLW1hcmdpbjogICAgICAgICAgICAgICAgICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSAhZGVmYXVsdDtcbiRjYXJkLWRlY2stbWFyZ2luOiAgICAgICAgICAgICAgICAgICRjYXJkLWdyb3VwLW1hcmdpbiAhZGVmYXVsdDtcblxuJGNhcmQtY29sdW1ucy1jb3VudDogICAgICAgICAgICAgICAgMyAhZGVmYXVsdDtcbiRjYXJkLWNvbHVtbnMtZ2FwOiAgICAgICAgICAgICAgICAgIDEuMjVyZW0gIWRlZmF1bHQ7XG4kY2FyZC1jb2x1bW5zLW1hcmdpbjogICAgICAgICAgICAgICAkY2FyZC1zcGFjZXIteSAhZGVmYXVsdDtcblxuXG4vLyBUb29sdGlwc1xuXG4kdG9vbHRpcC1mb250LXNpemU6ICAgICAgICAgICAkZm9udC1zaXplLXNtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWF4LXdpZHRoOiAgICAgICAgICAgMjAwcHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1jb2xvcjogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogICAgICAgICAgICAgICAgICAkYmxhY2sgIWRlZmF1bHQ7XG4kdG9vbHRpcC1ib3JkZXItcmFkaXVzOiAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG4kdG9vbHRpcC1vcGFjaXR5OiAgICAgICAgICAgICAuOSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteTogICAgICAgICAgIC4yNXJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLXBhZGRpbmcteDogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHRvb2x0aXAtbWFyZ2luOiAgICAgICAgICAgICAgMCAhZGVmYXVsdDtcblxuJHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgLjhyZW0gIWRlZmF1bHQ7XG4kdG9vbHRpcC1hcnJvdy1oZWlnaHQ6ICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiR0b29sdGlwLWFycm93LWNvbG9yOiAgICAgICAgICR0b29sdGlwLWJnICFkZWZhdWx0O1xuXG5cbi8vIFBvcG92ZXJzXG5cbiRwb3BvdmVyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LXNpemUtc20gIWRlZmF1bHQ7XG4kcG9wb3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kcG9wb3Zlci1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAyNzZweCAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvcmRlci13aWR0aDogICAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJHBvcG92ZXItYm9yZGVyLXJhZGl1czogICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMtbGcgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib3gtc2hhZG93OiAgICAgICAgICAgICAgICAwIC4yNXJlbSAuNXJlbSByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICBkYXJrZW4oJHBvcG92ZXItYmcsIDMlKSAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICRoZWFkaW5ncy1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXk6ICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteDogICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1ib2R5LWNvbG9yOiAgICAgICAgICAgICAgICAkYm9keS1jb2xvciAhZGVmYXVsdDtcbiRwb3BvdmVyLWJvZHktcGFkZGluZy15OiAgICAgICAgICAgICRwb3BvdmVyLWhlYWRlci1wYWRkaW5nLXkgIWRlZmF1bHQ7XG4kcG9wb3Zlci1ib2R5LXBhZGRpbmcteDogICAgICAgICAgICAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14ICFkZWZhdWx0O1xuXG4kcG9wb3Zlci1hcnJvdy13aWR0aDogICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHBvcG92ZXItYXJyb3ctaGVpZ2h0OiAgICAgICAgICAgICAgLjVyZW0gIWRlZmF1bHQ7XG4kcG9wb3Zlci1hcnJvdy1jb2xvcjogICAgICAgICAgICAgICAkcG9wb3Zlci1iZyAhZGVmYXVsdDtcblxuJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgZmFkZS1pbigkcG9wb3Zlci1ib3JkZXItY29sb3IsIC4wNSkgIWRlZmF1bHQ7XG5cblxuLy8gQmFkZ2VzXG5cbiRiYWRnZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgIDc1JSAhZGVmYXVsdDtcbiRiYWRnZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGJhZGdlLXBhZGRpbmcteTogICAgICAgICAgICAgICAgICAgLjI1ZW0gIWRlZmF1bHQ7XG4kYmFkZ2UtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAuNGVtICFkZWZhdWx0O1xuJGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgJGJvcmRlci1yYWRpdXMgIWRlZmF1bHQ7XG5cbiRiYWRnZS1waWxsLXBhZGRpbmcteDogICAgICAgICAgICAgIC42ZW0gIWRlZmF1bHQ7XG4vLyBVc2UgYSBoaWdoZXIgdGhhbiBub3JtYWwgdmFsdWUgdG8gZW5zdXJlIGNvbXBsZXRlbHkgcm91bmRlZCBlZGdlcyB3aGVuXG4vLyBjdXN0b21pemluZyBwYWRkaW5nIG9yIGZvbnQtc2l6ZSBvbiBsYWJlbHMuXG4kYmFkZ2UtcGlsbC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAxMHJlbSAhZGVmYXVsdDtcblxuXG4vLyBNb2RhbHNcblxuLy8gUGFkZGluZyBhcHBsaWVkIHRvIHRoZSBtb2RhbCBib2R5XG4kbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kbW9kYWwtZGlhbG9nLW1hcmdpbjogICAgICAgICAuNXJlbSAhZGVmYXVsdDtcbiRtb2RhbC1kaWFsb2ctbWFyZ2luLXktc20tdXA6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbiRtb2RhbC10aXRsZS1saW5lLWhlaWdodDogICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlICFkZWZhdWx0O1xuXG4kbW9kYWwtY29udGVudC1iZzogICAgICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICByZ2JhKCRibGFjaywgLjIpICFkZWZhdWx0O1xuJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoOiAgICAgJGJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1jb250ZW50LWJveC1zaGFkb3cteHM6ICAgIDAgLjI1cmVtIC41cmVtIHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kbW9kYWwtY29udGVudC1ib3gtc2hhZG93LXNtLXVwOiAwIC41cmVtIDFyZW0gcmdiYSgkYmxhY2ssIC41KSAhZGVmYXVsdDtcblxuJG1vZGFsLWJhY2tkcm9wLWJnOiAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjUgIWRlZmF1bHQ7XG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjogICAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoOiAgICRtb2RhbC1jb250ZW50LWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRtb2RhbC1mb290ZXItYm9yZGVyLXdpZHRoOiAgICRtb2RhbC1oZWFkZXItYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuJG1vZGFsLWhlYWRlci1wYWRkaW5nOiAgICAgICAgMXJlbSAhZGVmYXVsdDtcblxuJG1vZGFsLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgODAwcHggIWRlZmF1bHQ7XG4kbW9kYWwtbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICA1MDBweCAhZGVmYXVsdDtcbiRtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgICAgICAgIDMwMHB4ICFkZWZhdWx0O1xuXG4kbW9kYWwtdHJhbnNpdGlvbjogICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gLjNzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG5cbi8vIEFsZXJ0c1xuLy9cbi8vIERlZmluZSBhbGVydCBjb2xvcnMsIGJvcmRlciByYWRpdXMsIGFuZCBwYWRkaW5nLlxuXG4kYWxlcnQtcGFkZGluZy15OiAgICAgICAgICAgICAgICAgICAuNzVyZW0gIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy14OiAgICAgICAgICAgICAgICAgICAxLjI1cmVtICFkZWZhdWx0O1xuJGFsZXJ0LW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICRib3JkZXItcmFkaXVzICFkZWZhdWx0O1xuJGFsZXJ0LWxpbmstZm9udC13ZWlnaHQ6ICAgICAgICAgICAgJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICAgICAkYm9yZGVyLXdpZHRoICFkZWZhdWx0O1xuXG4kYWxlcnQtYmctbGV2ZWw6ICAgICAgICAgICAgICAgICAgICAtMTAgIWRlZmF1bHQ7XG4kYWxlcnQtYm9yZGVyLWxldmVsOiAgICAgICAgICAgICAgICAtOSAhZGVmYXVsdDtcbiRhbGVydC1jb2xvci1sZXZlbDogICAgICAgICAgICAgICAgIDYgIWRlZmF1bHQ7XG5cblxuLy8gUHJvZ3Jlc3MgYmFyc1xuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuJHByb2dyZXNzLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgKCRmb250LXNpemUtYmFzZSAqIC43NSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYm9yZGVyLXJhZGl1czogICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiRwcm9ncmVzcy1ib3gtc2hhZG93OiAgICAgICAgICAgICAgIGluc2V0IDAgLjFyZW0gLjFyZW0gcmdiYSgkYmxhY2ssIC4xKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItY29sb3I6ICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYmc6ICAgICAgICAgICAgICAgICAgIHRoZW1lLWNvbG9yKFwicHJpbWFyeVwiKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZzogICAgIDFzIGxpbmVhciBpbmZpbml0ZSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbjogICAgICAgICAgIHdpZHRoIC42cyBlYXNlICFkZWZhdWx0O1xuXG4vLyBMaXN0IGdyb3VwXG5cbiRsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci1jb2xvcjogICAgICAgICAgIHJnYmEoJGJsYWNrLCAuMTI1KSAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWJvcmRlci13aWR0aDogICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXk6ICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtaXRlbS1wYWRkaW5nLXg6ICAgICAgICAgMS4yNXJlbSAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtaG92ZXItYmc6ICAgICAgICAgICAgICAgJGdyYXktMTAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yOiAgICAgICAgICAgJGNvbXBvbmVudC1hY3RpdmUtY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgICAgICAkY29tcG9uZW50LWFjdGl2ZS1iZyAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I6ICAgICRsaXN0LWdyb3VwLWFjdGl2ZS1iZyAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgJGdyYXktNjAwICFkZWZhdWx0O1xuJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc6ICAgICAgICAgICAgJGxpc3QtZ3JvdXAtYmcgIWRlZmF1bHQ7XG5cbiRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvcjogICAgICAgICAgICRncmF5LTcwMCAhZGVmYXVsdDtcbiRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjogICAgICRsaXN0LWdyb3VwLWFjdGlvbi1jb2xvciAhZGVmYXVsdDtcblxuJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1jb2xvcjogICAgJGJvZHktY29sb3IgIWRlZmF1bHQ7XG4kbGlzdC1ncm91cC1hY3Rpb24tYWN0aXZlLWJnOiAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG5cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuXG4kdGh1bWJuYWlsLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAuMjVyZW0gIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYm9keS1iZyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm9yZGVyLXdpZHRoOiAgICAgICAgICAgICRib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkZ3JheS0zMDAgIWRlZmF1bHQ7XG4kdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAkYm9yZGVyLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYm5haWwtYm94LXNoYWRvdzogICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKCRibGFjaywgLjA3NSkgIWRlZmF1bHQ7XG5cblxuLy8gRmlndXJlc1xuXG4kZmlndXJlLWNhcHRpb24tZm9udC1zaXplOiAgICAgICAgICA5MCUgIWRlZmF1bHQ7XG4kZmlndXJlLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG5cblxuLy8gQnJlYWRjcnVtYnNcblxuJGJyZWFkY3J1bWItcGFkZGluZy15OiAgICAgICAgICAgICAgLjc1cmVtICFkZWZhdWx0O1xuJGJyZWFkY3J1bWItcGFkZGluZy14OiAgICAgICAgICAgICAgMXJlbSAhZGVmYXVsdDtcbiRicmVhZGNydW1iLWl0ZW0tcGFkZGluZzogICAgICAgICAgIC41cmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1tYXJnaW4tYm90dG9tOiAgICAgICAgICAxcmVtICFkZWZhdWx0O1xuXG4kYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICAgICAkZ3JheS0yMDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyLWNvbG9yOiAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAkZ3JheS02MDAgIWRlZmF1bHQ7XG4kYnJlYWRjcnVtYi1kaXZpZGVyOiAgICAgICAgICAgICAgICBcIi9cIiAhZGVmYXVsdDtcblxuXG4vLyBDYXJvdXNlbFxuXG4kY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAkd2hpdGUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC13aWR0aDogICAgICAgICAgICAxNSUgIWRlZmF1bHQ7XG4kY2Fyb3VzZWwtY29udHJvbC1vcGFjaXR5OiAgICAgICAgICAuNSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWluZGljYXRvci13aWR0aDogICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItaGVpZ2h0OiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3Itc3BhY2VyOiAgICAgICAgIDNweCAhZGVmYXVsdDtcbiRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICR3aGl0ZSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLWNhcHRpb24td2lkdGg6ICAgICAgICAgICAgNzAlICFkZWZhdWx0O1xuJGNhcm91c2VsLWNhcHRpb24tY29sb3I6ICAgICAgICAgICAgJHdoaXRlICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1pY29uLXdpZHRoOiAgICAgICAyMHB4ICFkZWZhdWx0O1xuXG4kY2Fyb3VzZWwtY29udHJvbC1wcmV2LWljb24tYmc6ICAgICBzdHItcmVwbGFjZSh1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7Y2hhcnNldD11dGY4LCUzQ3N2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIGZpbGw9JyN7JGNhcm91c2VsLWNvbnRyb2wtY29sb3J9JyB2aWV3Qm94PScwIDAgOCA4JyUzRSUzQ3BhdGggZD0nTTUuMjUgMGwtNCA0IDQgNCAxLjUtMS41LTIuNS0yLjUgMi41LTIuNS0xLjUtMS41eicvJTNFJTNDL3N2ZyUzRVwiKSwgXCIjXCIsIFwiJTIzXCIpICFkZWZhdWx0O1xuJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnOiAgICAgc3RyLXJlcGxhY2UodXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2NoYXJzZXQ9dXRmOCwlM0NzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyBmaWxsPScjeyRjYXJvdXNlbC1jb250cm9sLWNvbG9yfScgdmlld0JveD0nMCAwIDggOCclM0UlM0NwYXRoIGQ9J00yLjc1IDBsLTEuNSAxLjUgMi41IDIuNS0yLjUgMi41IDEuNSAxLjUgNC00LTQtNHonLyUzRSUzQy9zdmclM0VcIiksIFwiI1wiLCBcIiUyM1wiKSAhZGVmYXVsdDtcblxuJGNhcm91c2VsLXRyYW5zaXRpb246ICAgICAgICAgICAgICAgdHJhbnNmb3JtIC42cyBlYXNlICFkZWZhdWx0O1xuXG5cbi8vIENsb3NlXG5cbiRjbG9zZS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LXNpemUtYmFzZSAqIDEuNSAhZGVmYXVsdDtcbiRjbG9zZS1mb250LXdlaWdodDogICAgICAgICAgICAgICAgICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgJGJsYWNrICFkZWZhdWx0O1xuJGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgICAgICAgMCAxcHggMCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIENvZGVcblxuJGNvZGUtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgODcuNSUgIWRlZmF1bHQ7XG4kY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkcGluayAhZGVmYXVsdDtcblxuJGtiZC1wYWRkaW5nLXk6ICAgICAgICAgICAgICAgICAgICAgLjJyZW0gIWRlZmF1bHQ7XG4ka2JkLXBhZGRpbmcteDogICAgICAgICAgICAgICAgICAgICAuNHJlbSAhZGVmYXVsdDtcbiRrYmQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICRjb2RlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRrYmQtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICR3aGl0ZSAhZGVmYXVsdDtcbiRrYmQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LTkwMCAhZGVmYXVsdDtcblxuJHByZS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgJGdyYXktOTAwICFkZWZhdWx0O1xuJHByZS1zY3JvbGxhYmxlLW1heC1oZWlnaHQ6ICAgICAgICAgMzQwcHggIWRlZmF1bHQ7XG5cblxuLy8gUHJpbnRpbmdcbiRwcmludC1wYWdlLXNpemU6ICAgICAgICAgICAgICAgICAgIGEzICFkZWZhdWx0O1xuJHByaW50LWJvZHktbWluLXdpZHRoOiAgICAgICAgICAgICAgbWFwLWdldCgkZ3JpZC1icmVha3BvaW50cywgXCJsZ1wiKSAhZGVmYXVsdDtcbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGluZGVudGF0aW9uXG5cbi8vIEhvdmVyIG1peGluIGFuZCBgJGVuYWJsZS1ob3Zlci1tZWRpYS1xdWVyeWAgYXJlIGRlcHJlY2F0ZWQuXG4vL1xuLy8gT3JpZ2FsbHkgYWRkZWQgZHVyaW5nIG91ciBhbHBoYXMgYW5kIG1haW50YWluZWQgZHVyaW5nIGJldGFzLCB0aGlzIG1peGluIHdhc1xuLy8gZGVzaWduZWQgdG8gcHJldmVudCBgOmhvdmVyYCBzdGlja2luZXNzIG9uIGlPU+KAlGFuIGlzc3VlIHdoZXJlIGhvdmVyIHN0eWxlc1xuLy8gd291bGQgcGVyc2lzdCBhZnRlciBpbml0aWFsIHRvdWNoLlxuLy9cbi8vIEZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LCB3ZSd2ZSBrZXB0IHRoZXNlIG1peGlucyBhbmQgdXBkYXRlZCB0aGVtIHRvXG4vLyBhbHdheXMgcmV0dXJuIHRoZWlyIHJlZ3VsYXIgcHN1ZWRvLWNsYXNzZXMgaW5zdGVhZCBvZiBhIHNoaW1tZWQgbWVkaWEgcXVlcnkuXG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMjUxOTVcblxuQG1peGluIGhvdmVyIHtcbiAgJjpob3ZlciB7IEBjb250ZW50OyB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cyB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBwbGFpbi1ob3Zlci1mb2N1cyB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cbkBtaXhpbiBob3Zlci1mb2N1cy1hY3RpdmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudCwgc2VsZWN0b3ItbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5cbi8vXG4vLyBIZWFkaW5nc1xuLy9cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNixcbi5oMSwgLmgyLCAuaDMsIC5oNCwgLmg1LCAuaDYge1xuICBtYXJnaW4tYm90dG9tOiAkaGVhZGluZ3MtbWFyZ2luLWJvdHRvbTtcbiAgZm9udC1mYW1pbHk6ICRoZWFkaW5ncy1mb250LWZhbWlseTtcbiAgZm9udC13ZWlnaHQ6ICRoZWFkaW5ncy1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRoZWFkaW5ncy1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRoZWFkaW5ncy1jb2xvcjtcbn1cblxuaDEsIC5oMSB7IGZvbnQtc2l6ZTogJGgxLWZvbnQtc2l6ZTsgfVxuaDIsIC5oMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuaDMsIC5oMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZTsgfVxuaDQsIC5oNCB7IGZvbnQtc2l6ZTogJGg0LWZvbnQtc2l6ZTsgfVxuaDUsIC5oNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuaDYsIC5oNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGxlYWQtZm9udC13ZWlnaHQ7XG59XG5cbi8vIFR5cGUgZGlzcGxheSBjbGFzc2VzXG4uZGlzcGxheS0xIHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTEtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5MS13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cbi5kaXNwbGF5LTIge1xuICBmb250LXNpemU6ICRkaXNwbGF5Mi1zaXplO1xuICBmb250LXdlaWdodDogJGRpc3BsYXkyLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRkaXNwbGF5LWxpbmUtaGVpZ2h0O1xufVxuLmRpc3BsYXktMyB7XG4gIGZvbnQtc2l6ZTogJGRpc3BsYXkzLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZGlzcGxheTMtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGRpc3BsYXktbGluZS1oZWlnaHQ7XG59XG4uZGlzcGxheS00IHtcbiAgZm9udC1zaXplOiAkZGlzcGxheTQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRkaXNwbGF5NC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZGlzcGxheS1saW5lLWhlaWdodDtcbn1cblxuXG4vL1xuLy8gSG9yaXpvbnRhbCBydWxlc1xuLy9cblxuaHIge1xuICBtYXJnaW4tdG9wOiAkaHItbWFyZ2luLXk7XG4gIG1hcmdpbi1ib3R0b206ICRoci1tYXJnaW4teTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAkaHItYm9yZGVyLXdpZHRoIHNvbGlkICRoci1ib3JkZXItY29sb3I7XG59XG5cblxuLy9cbi8vIEVtcGhhc2lzXG4vL1xuXG5zbWFsbCxcbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG59XG5cbm1hcmssXG4ubWFyayB7XG4gIHBhZGRpbmc6ICRtYXJrLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYXJrLWJnO1xufVxuXG5cbi8vXG4vLyBMaXN0c1xuLy9cblxuLmxpc3QtdW5zdHlsZWQge1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xufVxuXG4vLyBJbmxpbmUgdHVybnMgbGlzdCBpdGVtcyBpbnRvIGlubGluZS1ibG9ja1xuLmxpc3QtaW5saW5lIHtcbiAgQGluY2x1ZGUgbGlzdC11bnN0eWxlZDtcbn1cbi5saXN0LWlubGluZS1pdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkbGlzdC1pbmxpbmUtcGFkZGluZztcbiAgfVxufVxuXG5cbi8vXG4vLyBNaXNjXG4vL1xuXG4vLyBCdWlsZHMgb24gYGFiYnJgXG4uaW5pdGlhbGlzbSB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuLmJsb2NrcXVvdGUge1xuICBtYXJnaW4tYm90dG9tOiAkc3BhY2VyO1xuICBmb250LXNpemU6ICRibG9ja3F1b3RlLWZvbnQtc2l6ZTtcbn1cblxuLmJsb2NrcXVvdGUtZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogODAlOyAvLyBiYWNrIHRvIGRlZmF1bHQgZm9udC1zaXplXG4gIGNvbG9yOiAkYmxvY2txdW90ZS1zbWFsbC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDBBMFwiOyAvLyBlbSBkYXNoLCBuYnNwXG4gIH1cbn1cbiIsIi8vIExpc3RzXG5cbi8vIFVuc3R5bGVkIGtlZXBzIGxpc3QgaXRlbXMgYmxvY2sgbGV2ZWwsIGp1c3QgcmVtb3ZlcyBkZWZhdWx0IGJyb3dzZXIgcGFkZGluZyBhbmQgbGlzdC1zdHlsZVxuQG1peGluIGxpc3QtdW5zdHlsZWQge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvLyBJbWFnZSBNaXhpbnNcbi8vIC0gUmVzcG9uc2l2ZSBpbWFnZVxuLy8gLSBSZXRpbmEgaW1hZ2VcblxuXG4vLyBSZXNwb25zaXZlIGltYWdlXG4vL1xuLy8gS2VlcCBpbWFnZXMgZnJvbSBzY2FsaW5nIGJleW9uZCB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50cy5cblxuQG1peGluIGltZy1mbHVpZCB7XG4gIC8vIFBhcnQgMTogU2V0IGEgbWF4aW11bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLy8gUGFydCAyOiBPdmVycmlkZSB0aGUgaGVpZ2h0IHRvIGF1dG8sIG90aGVyd2lzZSBpbWFnZXMgd2lsbCBiZSBzdHJldGNoZWRcbiAgLy8gd2hlbiBzZXR0aW5nIGEgd2lkdGggYW5kIGhlaWdodCBhdHRyaWJ1dGUgb24gdGhlIGltZyBlbGVtZW50LlxuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLlxuXG4vLyBzdHlsZWxpbnQtZGlzYWJsZSBpbmRlbnRhdGlvbiwgbWVkaWEtcXVlcnktbGlzdC1jb21tYS1uZXdsaW5lLWFmdGVyXG5AbWl4aW4gaW1nLXJldGluYSgkZmlsZS0xeCwgJGZpbGUtMngsICR3aWR0aC0xeCwgJGhlaWdodC0xeCkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMXgpO1xuXG4gIC8vIEF1dG9wcmVmaXhlciB0YWtlcyBjYXJlIG9mIGFkZGluZyAtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gYW5kIC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8sXG4gIC8vIGJ1dCBkb2Vzbid0IGNvbnZlcnQgZHBweD0+ZHBpLlxuICAvLyBUaGVyZSdzIG5vIHN1Y2ggdGhpbmcgYXMgdW5wcmVmaXhlZCBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvIHNpbmNlIGl0J3Mgbm9uc3RhbmRhcmQuXG4gIC8vIENvbXBhdGliaWxpdHkgaW5mbzogaHR0cHM6Ly9jYW5pdXNlLmNvbS8jZmVhdD1jc3MtbWVkaWEtcmVzb2x1dGlvblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSwgLy8gSUU5LTExIGRvbid0IHN1cHBvcnQgZHBweFxuICBvbmx5IHNjcmVlbiBhbmQgKG1pbi1yZXNvbHV0aW9uOiAyZHBweCkgeyAvLyBTdGFuZGFyZGl6ZWRcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGZpbGUtMngpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgaW1hZ2VzIChlbnN1cmUgaW1hZ2VzIGRvbid0IHNjYWxlIGJleW9uZCB0aGVpciBwYXJlbnRzKVxuLy9cbi8vIFRoaXMgaXMgcHVycG9zZWZ1bGx5IG9wdC1pbiB2aWEgYW4gZXhwbGljaXQgY2xhc3MgcmF0aGVyIHRoYW4gYmVpbmcgdGhlIGRlZmF1bHQgZm9yIGFsbCBgPGltZz5gcy5cbi8vIFdlIHByZXZpb3VzbHkgdHJpZWQgdGhlIFwiaW1hZ2VzIGFyZSByZXNwb25zaXZlIGJ5IGRlZmF1bHRcIiBhcHByb2FjaCBpbiBCb290c3RyYXAgdjIsXG4vLyBhbmQgYWJhbmRvbmVkIGl0IGluIEJvb3RzdHJhcCB2MyBiZWNhdXNlIGl0IGJyZWFrcyBsb3RzIG9mIHRoaXJkLXBhcnR5IHdpZGdldHMgKGluY2x1ZGluZyBHb29nbGUgTWFwcylcbi8vIHdoaWNoIHdlcmVuJ3QgZXhwZWN0aW5nIHRoZSBpbWFnZXMgd2l0aGluIHRoZW1zZWx2ZXMgdG8gYmUgaW52b2x1bnRhcmlseSByZXNpemVkLlxuLy8gU2VlIGFsc28gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xODE3OFxuLmltZy1mbHVpZCB7XG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuXG4vLyBJbWFnZSB0aHVtYm5haWxzXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6ICR0aHVtYm5haWwtcGFkZGluZztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlci13aWR0aCBzb2xpZCAkdGh1bWJuYWlsLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkdGh1bWJuYWlsLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCR0aHVtYm5haWwtYm94LXNoYWRvdyk7XG5cbiAgLy8gS2VlcCB0aGVtIGF0IG1vc3QgMTAwJSB3aWRlXG4gIEBpbmNsdWRlIGltZy1mbHVpZDtcbn1cblxuLy9cbi8vIEZpZ3VyZXNcbi8vXG5cbi5maWd1cmUge1xuICAvLyBFbnN1cmVzIHRoZSBjYXB0aW9uJ3MgdGV4dCBhbGlnbnMgd2l0aCB0aGUgaW1hZ2UuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmZpZ3VyZS1pbWcge1xuICBtYXJnaW4tYm90dG9tOiAoJHNwYWNlciAvIDIpO1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmZpZ3VyZS1jYXB0aW9uIHtcbiAgZm9udC1zaXplOiAkZmlndXJlLWNhcHRpb24tZm9udC1zaXplO1xuICBjb2xvcjogJGZpZ3VyZS1jYXB0aW9uLWNvbG9yO1xufVxuIiwiLy8gU2luZ2xlIHNpZGUgYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gYm9yZGVyLXJhZGl1cygkcmFkaXVzOiAkYm9yZGVyLXJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItdG9wLXJhZGl1cygkcmFkaXVzKSB7XG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGJvcmRlci1yaWdodC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gYm9yZGVyLWJvdHRvbS1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJHJhZGl1cztcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBib3JkZXItbGVmdC1yYWRpdXMoJHJhZGl1cykge1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cbiIsIi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgZm9udC1zaXplOiAkY29kZS1mb250LXNpemU7XG4gIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcblxuICAvLyBTdHJlYW1saW5lIHRoZSBzdHlsZSB3aGVuIGluc2lkZSBhbmNob3JzIHRvIGF2b2lkIGJyb2tlbiB1bmRlcmxpbmUgYW5kIG1vcmVcbiAgYSA+ICYge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAka2JkLXBhZGRpbmcteSAka2JkLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAka2JkLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRrYmQtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtc20pO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRrYmQtYm94LXNoYWRvdyk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogJG5lc3RlZC1rYmQtZm9udC13ZWlnaHQ7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG4vLyBCbG9ja3Mgb2YgY29kZVxucHJlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGNvZGUtZm9udC1zaXplO1xuICBjb2xvcjogJHByZS1jb2xvcjtcblxuICAvLyBBY2NvdW50IGZvciBzb21lIGNvZGUgb3V0cHV0cyB0aGF0IHBsYWNlIGNvZGUgdGFncyBpbiBwcmUgdGFnc1xuICBjb2RlIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAkcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG5AbWl4aW4gbWFrZS1jb250YWluZXIoKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nLXJpZ2h0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRncmlkLWd1dHRlci13aWR0aCAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG5cbi8vIEZvciBlYWNoIGJyZWFrcG9pbnQsIGRlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiB0aGUgY29udGFpbmVyIGluIGEgbWVkaWEgcXVlcnlcbkBtaXhpbiBtYWtlLWNvbnRhaW5lci1tYXgtd2lkdGhzKCRtYXgtd2lkdGhzOiAkY29udGFpbmVyLW1heC13aWR0aHMsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQsICRjb250YWluZXItbWF4LXdpZHRoIGluICRtYXgtd2lkdGhzIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50LCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIG1heC13aWR0aDogJGNvbnRhaW5lci1tYXgtd2lkdGg7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBtYWtlLXJvdygpIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAtMik7XG4gIG1hcmdpbi1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gLTIpO1xufVxuXG5AbWl4aW4gbWFrZS1jb2wtcmVhZHkoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gYmVjb21pbmcgdG9vIG5hcnJvdyB3aGVuIGF0IHNtYWxsZXIgZ3JpZCB0aWVycyBieVxuICAvLyBhbHdheXMgc2V0dGluZyBgd2lkdGg6IDEwMCU7YC4gVGhpcyB3b3JrcyBiZWNhdXNlIHdlIHVzZSBgZmxleGAgdmFsdWVzXG4gIC8vIGxhdGVyIG9uIHRvIG92ZXJyaWRlIHRoaXMgaW5pdGlhbCB3aWR0aC5cbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgLy8gUHJldmVudCBjb2xsYXBzaW5nXG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGdyaWQtZ3V0dGVyLXdpZHRoIC8gMik7XG59XG5cbkBtaXhpbiBtYWtlLWNvbCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgZmxleDogMCAwIHBlcmNlbnRhZ2UoJHNpemUgLyAkY29sdW1ucyk7XG4gIC8vIEFkZCBhIGBtYXgtd2lkdGhgIHRvIGVuc3VyZSBjb250ZW50IHdpdGhpbiBlYWNoIGNvbHVtbiBkb2VzIG5vdCBibG93IG91dFxuICAvLyB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbi4gQXBwbGllcyB0byBJRTEwKyBhbmQgRmlyZWZveC4gQ2hyb21lIGFuZCBTYWZhcmlcbiAgLy8gZG8gbm90IGFwcGVhciB0byByZXF1aXJlIHRoaXMuXG4gIG1heC13aWR0aDogcGVyY2VudGFnZSgkc2l6ZSAvICRjb2x1bW5zKTtcbn1cblxuQG1peGluIG1ha2UtY29sLW9mZnNldCgkc2l6ZSwgJGNvbHVtbnM6ICRncmlkLWNvbHVtbnMpIHtcbiAgJG51bTogJHNpemUgLyAkY29sdW1ucztcbiAgbWFyZ2luLWxlZnQ6IGlmKCRudW0gPT0gMCwgMCwgcGVyY2VudGFnZSgkbnVtKSk7XG59XG4iLCIvLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICAgIEBpbmNsdWRlIG1ha2UtY29udGFpbmVyLW1heC13aWR0aHMoKTtcbiAgfVxufVxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRoIDEwMCUgd2lkdGggZm9yXG4vLyBmbHVpZCwgZnVsbCB3aWR0aCBsYXlvdXRzLlxuXG5AaWYgJGVuYWJsZS1ncmlkLWNsYXNzZXMge1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBAaW5jbHVkZSBtYWtlLWNvbnRhaW5lcigpO1xuICB9XG59XG5cbi8vIFJvd1xuLy9cbi8vIFJvd3MgY29udGFpbiBhbmQgY2xlYXIgdGhlIGZsb2F0cyBvZiB5b3VyIGNvbHVtbnMuXG5cbkBpZiAkZW5hYmxlLWdyaWQtY2xhc3NlcyB7XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIG1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG5lZ2F0aXZlIG1hcmdpbiBmcm9tIGRlZmF1bHQgLnJvdywgdGhlbiB0aGUgaG9yaXpvbnRhbCBwYWRkaW5nXG4gIC8vIGZyb20gYWxsIGltbWVkaWF0ZSBjaGlsZHJlbiBjb2x1bW5zICh0byBwcmV2ZW50IHJ1bmF3YXkgc3R5bGUgaW5oZXJpdGFuY2UpLlxuICAubm8tZ3V0dGVycyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgPiAuY29sLFxuICAgID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuQGlmICRlbmFibGUtZ3JpZC1jbGFzc2VzIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkLWNvbHVtbnMoKTtcbn1cbiIsIi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy9cbi8vICAgICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweClcbi8vXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkZ3JpZC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20pXG4vLyAgICBtZFxuLy8gICAgPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAoeHM6IDAsIHNtOiA1NzZweCwgbWQ6IDc2OHB4LCBsZzogOTkycHgsIHhsOiAxMjAwcHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCBsZyB4bCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vL1xuLy8gICAgPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICA1NzZweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4wMnB4XG4vLyB0byB3b3JrIGFyb3VuZCB0aGUgbGltaXRhdGlvbnMgb2YgYG1pbi1gIGFuZCBgbWF4LWAgcHJlZml4ZXMgYW5kIHZpZXdwb3J0cyB3aXRoIGZyYWN0aW9uYWwgd2lkdGhzLlxuLy8gU2VlIGh0dHBzOi8vd3d3LnczLm9yZy9UUi9tZWRpYXF1ZXJpZXMtNC8jbXEtbWluLW1heFxuLy8gVXNlcyAwLjAycHggcmF0aGVyIHRoYW4gMC4wMXB4IHRvIHdvcmsgYXJvdW5kIGEgY3VycmVudCByb3VuZGluZyBidWcgaW4gU2FmYXJpLlxuLy8gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNzgyNjFcbi8vXG4vLyAgICA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiAwLCBzbTogNTc2cHgsIG1kOiA3NjhweCwgbGc6IDk5MnB4LCB4bDogMTIwMHB4KSlcbi8vICAgIDc2Ny45OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAuMDJweCwgbnVsbCk7XG59XG5cbi8vIFJldHVybnMgYSBibGFuayBzdHJpbmcgaWYgc21hbGxlc3QgYnJlYWtwb2ludCwgb3RoZXJ3aXNlIHJldHVybnMgdGhlIG5hbWUgd2l0aCBhIGRhc2ggaW5mcm9udC5cbi8vIFVzZWZ1bCBmb3IgbWFraW5nIHJlc3BvbnNpdmUgdXRpbGl0aWVzLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoeHMsICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIlwiICAoUmV0dXJucyBhIGJsYW5rIHN0cmluZylcbi8vICAgID4+IGJyZWFrcG9pbnQtaW5maXgoc20sICh4czogMCwgc206IDU3NnB4LCBtZDogNzY4cHgsIGxnOiA5OTJweCwgeGw6IDEyMDBweCkpXG4vLyAgICBcIi1zbVwiXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1pbmZpeCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICBAcmV0dXJuIGlmKGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpID09IG51bGwsIFwiXCIsIFwiLSN7JG5hbWV9XCIpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWluIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG4gIEBpZiAkbWF4IHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyBNZWRpYSB0aGF0IHNwYW5zIG11bHRpcGxlIGJyZWFrcG9pbnQgd2lkdGhzLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IGJldHdlZW4gdGhlIG1pbiBhbmQgbWF4IGJyZWFrcG9pbnRzXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1iZXR3ZWVuKCRsb3dlciwgJHVwcGVyLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICRtaW46IGJyZWFrcG9pbnQtbWluKCRsb3dlciwgJGJyZWFrcG9pbnRzKTtcbiAgJG1heDogYnJlYWtwb2ludC1tYXgoJHVwcGVyLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1pbiA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJHVwcGVyLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gIEBpZiAkbWluICE9IG51bGwgYW5kICRtYXggIT0gbnVsbCB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIGFuZCAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH0gQGVsc2UgaWYgJG1heCA9PSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfSBAZWxzZSBpZiAkbWluID09IG51bGwge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZyYW1ld29yayBncmlkIGdlbmVyYXRpb25cbi8vXG4vLyBVc2VkIG9ubHkgYnkgQm9vdHN0cmFwIHRvIGdlbmVyYXRlIHRoZSBjb3JyZWN0IG51bWJlciBvZiBncmlkIGNsYXNzZXMgZ2l2ZW5cbi8vIGFueSB2YWx1ZSBvZiBgJGdyaWQtY29sdW1uc2AuXG5cbkBtaXhpbiBtYWtlLWdyaWQtY29sdW1ucygkY29sdW1uczogJGdyaWQtY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIC8vIENvbW1vbiBwcm9wZXJ0aWVzIGZvciBhbGwgYnJlYWtwb2ludHNcbiAgJWdyaWQtY29sdW1uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4OyAvLyBQcmV2ZW50IGNvbHVtbnMgZnJvbSBjb2xsYXBzaW5nIHdoZW4gZW1wdHlcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIEBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRicmVha3BvaW50cykge1xuICAgICRpbmZpeDogYnJlYWtwb2ludC1pbmZpeCgkYnJlYWtwb2ludCwgJGJyZWFrcG9pbnRzKTtcblxuICAgIC8vIEFsbG93IGNvbHVtbnMgdG8gc3RyZXRjaCBmdWxsIHdpZHRoIGJlbG93IHRoZWlyIGJyZWFrcG9pbnRzXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAuY29sI3skaW5maXh9LSN7JGl9IHtcbiAgICAgICAgQGV4dGVuZCAlZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICAgIC5jb2wjeyRpbmZpeH0sXG4gICAgLmNvbCN7JGluZml4fS1hdXRvIHtcbiAgICAgIEBleHRlbmQgJWdyaWQtY29sdW1uO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQsICRicmVha3BvaW50cykge1xuICAgICAgLy8gUHJvdmlkZSBiYXNpYyBgLmNvbC17YnB9YCBjbGFzc2VzIGZvciBlcXVhbC13aWR0aCBmbGV4Ym94IGNvbHVtbnNcbiAgICAgIC5jb2wjeyRpbmZpeH0ge1xuICAgICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIC5jb2wjeyRpbmZpeH0tYXV0byB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiBub25lOyAvLyBSZXNldCBlYXJsaWVyIGdyaWQgdGllcnNcbiAgICAgIH1cblxuICAgICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY29sdW1ucyB7XG4gICAgICAgIC5jb2wjeyRpbmZpeH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG1ha2UtY29sKCRpLCAkY29sdW1ucyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm9yZGVyI3skaW5maXh9LWZpcnN0IHsgb3JkZXI6IC0xOyB9XG5cbiAgICAgIC5vcmRlciN7JGluZml4fS1sYXN0IHsgb3JkZXI6ICRjb2x1bW5zICsgMTsgfVxuXG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICAgICAgLm9yZGVyI3skaW5maXh9LSN7JGl9IHsgb3JkZXI6ICRpOyB9XG4gICAgICB9XG5cbiAgICAgIC8vIGAkY29sdW1ucyAtIDFgIGJlY2F1c2Ugb2Zmc2V0dGluZyBieSB0aGUgd2lkdGggb2YgYW4gZW50aXJlIHJvdyBpc24ndCBwb3NzaWJsZVxuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAoJGNvbHVtbnMgLSAxKSB7XG4gICAgICAgIEBpZiBub3QgKCRpbmZpeCA9PSBcIlwiIGFuZCAkaSA9PSAwKSB7IC8vIEF2b2lkIGVtaXR0aW5nIHVzZWxlc3MgLm9mZnNldC0wXG4gICAgICAgICAgLm9mZnNldCN7JGluZml4fS0jeyRpfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtYWtlLWNvbC1vZmZzZXQoJGksICRjb2x1bW5zKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYXNpYyBCb290c3RyYXAgdGFibGVcbi8vXG5cbi50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRzcGFjZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iZzsgLy8gUmVzZXQgZm9yIG5lc3Rpbmcgd2l0aGluIHBhcmVudHMgd2l0aCBgYmFja2dyb3VuZC1jb2xvcmAuXG5cbiAgdGgsXG4gIHRkIHtcbiAgICBwYWRkaW5nOiAkdGFibGUtY2VsbC1wYWRkaW5nO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQgdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogKDIgKiAkdGFibGUtYm9yZGVyLXdpZHRoKSBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcbiAgfVxufVxuXG5cbi8vXG4vLyBDb25kZW5zZWQgdGFibGUgdy8gaGFsZiBwYWRkaW5nXG4vL1xuXG4udGFibGUtc20ge1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1jZWxsLXBhZGRpbmctc207XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItd2lkdGggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcblxuICB0aCxcbiAgdGQge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlci13aWR0aCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgdGhlYWQge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6ICgyICogJHRhYmxlLWJvcmRlci13aWR0aCk7XG4gICAgfVxuICB9XG59XG5cblxuLy8gWmVicmEtc3RyaXBpbmdcbi8vXG4vLyBEZWZhdWx0IHplYnJhLXN0cmlwZSBzdHlsZXMgKGFsdGVybmF0aW5nIGdyYXkgYW5kIHRyYW5zcGFyZW50IGJhY2tncm91bmRzKVxuXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHRyOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1hY2NlbnQtYmc7XG4gIH1cbn1cblxuXG4vLyBIb3ZlciBlZmZlY3Rcbi8vXG4vLyBQbGFjZWQgaGVyZSBzaW5jZSBpdCBoYXMgdG8gY29tZSBhZnRlciB0aGUgcG90ZW50aWFsIHplYnJhIHN0cmlwaW5nXG5cbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHRyIHtcbiAgICBAaW5jbHVkZSBob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIEBpbmNsdWRlIHRhYmxlLXJvdy12YXJpYW50KCRjb2xvciwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAtOSkpO1xufVxuXG5AaW5jbHVkZSB0YWJsZS1yb3ctdmFyaWFudChhY3RpdmUsICR0YWJsZS1hY3RpdmUtYmcpO1xuXG5cbi8vIERhcmsgc3R5bGVzXG4vL1xuLy8gU2FtZSB0YWJsZSBtYXJrdXAsIGJ1dCBpbnZlcnRlZCBjb2xvciBzY2hlbWU6IGRhcmsgYmFja2dyb3VuZCBhbmQgbGlnaHQgdGV4dC5cblxuLy8gc3R5bGVsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWR1cGxpY2F0ZS1zZWxlY3RvcnNcbi50YWJsZSB7XG4gIC50aGVhZC1kYXJrIHtcbiAgICB0aCB7XG4gICAgICBjb2xvcjogJHRhYmxlLWRhcmstY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogJHRhYmxlLWRhcmstYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC50aGVhZC1saWdodCB7XG4gICAgdGgge1xuICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtYmc7XG4gICAgICBib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi50YWJsZS1kYXJrIHtcbiAgY29sb3I6ICR0YWJsZS1kYXJrLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1iZztcblxuICB0aCxcbiAgdGQsXG4gIHRoZWFkIHRoIHtcbiAgICBib3JkZXItY29sb3I6ICR0YWJsZS1kYXJrLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gICYudGFibGUtYm9yZGVyZWQge1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gICYudGFibGUtc3RyaXBlZCB7XG4gICAgdGJvZHkgdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1hY2NlbnQtYmc7XG4gICAgfVxuICB9XG5cbiAgJi50YWJsZS1ob3ZlciB7XG4gICAgdGJvZHkgdHIge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZGFyay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBSZXNwb25zaXZlIHRhYmxlc1xuLy9cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLnRhYmxlLXJlc3BvbnNpdmUtKmAgY2xhc3NlcyBmb3IgY29uZmlndXJpbmcgdGhlIHNjcmVlblxuLy8gc2l6ZSBvZiB3aGVyZSB5b3VyIHRhYmxlIHdpbGwgb3ZlcmZsb3cuXG5cbi50YWJsZS1yZXNwb25zaXZlIHtcbiAgQGVhY2ggJGJyZWFrcG9pbnQgaW4gbWFwLWtleXMoJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRuZXh0LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAmI3skaW5maXh9IHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnJlYWtwb2ludCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMDA1N1xuXG4gICAgICAgIC8vIFByZXZlbnQgZG91YmxlIGJvcmRlciBvbiBob3Jpem9udGFsIHNjcm9sbCBkdWUgdG8gdXNlIG9mIGBkaXNwbGF5OiBibG9jaztgXG4gICAgICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIFRhYmxlc1xuXG5AbWl4aW4gdGFibGUtcm93LXZhcmlhbnQoJHN0YXRlLCAkYmFja2dyb3VuZCkge1xuICAvLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuICAvLyBpbmhlcml0YW5jZSB0byBuZXN0ZWQgdGFibGVzLlxuICAudGFibGUtI3skc3RhdGV9IHtcbiAgICAmLFxuICAgID4gdGgsXG4gICAgPiB0ZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZXMgZm9yIGAudGFibGUtaG92ZXJgXG4gIC8vIE5vdGU6IHRoaXMgaXMgbm90IGF2YWlsYWJsZSBmb3IgY2VsbHMgb3Igcm93cyB3aXRoaW4gYHRoZWFkYCBvciBgdGZvb3RgLlxuICAudGFibGUtaG92ZXIge1xuICAgICRob3Zlci1iYWNrZ3JvdW5kOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcblxuICAgIC50YWJsZS0jeyRzdGF0ZX0ge1xuICAgICAgQGluY2x1ZGUgaG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcblxuICAgICAgICA+IHRkLFxuICAgICAgICA+IHRoIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gQm9vdHN0cmFwIGZ1bmN0aW9uc1xuLy9cbi8vIFV0aWxpdHkgbWl4aW5zIGFuZCBmdW5jdGlvbnMgZm9yIGV2YWx1dGF0aW5nIHNvdXJjZSBjb2RlIGFjcm9zcyBvdXIgdmFyaWFibGVzLCBtYXBzLCBhbmQgbWl4aW5zLlxuXG4vLyBBc2NlbmRpbmdcbi8vIFVzZWQgdG8gZXZhbHVhdGUgU2FzcyBtYXBzIGxpa2Ugb3VyIGdyaWQgYnJlYWtwb2ludHMuXG5AbWl4aW4gX2Fzc2VydC1hc2NlbmRpbmcoJG1hcCwgJG1hcC1uYW1lKSB7XG4gICRwcmV2LWtleTogbnVsbDtcbiAgJHByZXYtbnVtOiBudWxsO1xuICBAZWFjaCAka2V5LCAkbnVtIGluICRtYXAge1xuICAgIEBpZiAkcHJldi1udW0gPT0gbnVsbCB7XG4gICAgICAvLyBEbyBub3RoaW5nXG4gICAgfSBAZWxzZSBpZiBub3QgY29tcGFyYWJsZSgkcHJldi1udW0sICRudW0pIHtcbiAgICAgIEB3YXJuIFwiUG90ZW50aWFsbHkgaW52YWxpZCB2YWx1ZSBmb3IgI3skbWFwLW5hbWV9OiBUaGlzIG1hcCBtdXN0IGJlIGluIGFzY2VuZGluZyBvcmRlciwgYnV0IGtleSAnI3ska2V5fScgaGFzIHZhbHVlICN7JG51bX0gd2hvc2UgdW5pdCBtYWtlcyBpdCBpbmNvbXBhcmFibGUgdG8gI3skcHJldi1udW19LCB0aGUgdmFsdWUgb2YgdGhlIHByZXZpb3VzIGtleSAnI3skcHJldi1rZXl9JyAhXCI7XG4gICAgfSBAZWxzZSBpZiAkcHJldi1udW0gPj0gJG51bSB7XG4gICAgICBAd2FybiBcIkludmFsaWQgdmFsdWUgZm9yICN7JG1hcC1uYW1lfTogVGhpcyBtYXAgbXVzdCBiZSBpbiBhc2NlbmRpbmcgb3JkZXIsIGJ1dCBrZXkgJyN7JGtleX0nIGhhcyB2YWx1ZSAjeyRudW19IHdoaWNoIGlzbid0IGdyZWF0ZXIgdGhhbiAjeyRwcmV2LW51bX0sIHRoZSB2YWx1ZSBvZiB0aGUgcHJldmlvdXMga2V5ICcjeyRwcmV2LWtleX0nICFcIjtcbiAgICB9XG4gICAgJHByZXYta2V5OiAka2V5O1xuICAgICRwcmV2LW51bTogJG51bTtcbiAgfVxufVxuXG4vLyBTdGFydHMgYXQgemVyb1xuLy8gQW5vdGhlciBncmlkIG1peGluIHRoYXQgZW5zdXJlcyB0aGUgbWluLXdpZHRoIG9mIHRoZSBsb3dlc3QgYnJlYWtwb2ludCBzdGFydHMgYXQgMC5cbkBtaXhpbiBfYXNzZXJ0LXN0YXJ0cy1hdC16ZXJvKCRtYXApIHtcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcbiAgJGZpcnN0LXZhbHVlOiBudGgoJHZhbHVlcywgMSk7XG4gIEBpZiAkZmlyc3QtdmFsdWUgIT0gMCB7XG4gICAgQHdhcm4gXCJGaXJzdCBicmVha3BvaW50IGluIGAkZ3JpZC1icmVha3BvaW50c2AgbXVzdCBzdGFydCBhdCAwLCBidXQgc3RhcnRzIGF0ICN7JGZpcnN0LXZhbHVlfS5cIjtcbiAgfVxufVxuXG4vLyBSZXBsYWNlIGAkc2VhcmNoYCB3aXRoIGAkcmVwbGFjZWAgaW4gYCRzdHJpbmdgXG4vLyBVc2VkIG9uIG91ciBTVkcgaWNvbiBiYWNrZ3JvdW5kcyBmb3IgY3VzdG9tIGZvcm1zLlxuLy9cbi8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8gQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBJbml0aWFsIHN0cmluZ1xuLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWFyY2ggLSBTdWJzdHJpbmcgdG8gcmVwbGFjZVxuLy8gQHBhcmFtIHtTdHJpbmd9ICRyZXBsYWNlICgnJykgLSBOZXcgdmFsdWVcbi8vIEByZXR1cm4ge1N0cmluZ30gLSBVcGRhdGVkIHN0cmluZ1xuQGZ1bmN0aW9uIHN0ci1yZXBsYWNlKCRzdHJpbmcsICRzZWFyY2gsICRyZXBsYWNlOiBcIlwiKSB7XG4gICRpbmRleDogc3RyLWluZGV4KCRzdHJpbmcsICRzZWFyY2gpO1xuXG4gIEBpZiAkaW5kZXgge1xuICAgIEByZXR1cm4gc3RyLXNsaWNlKCRzdHJpbmcsIDEsICRpbmRleCAtIDEpICsgJHJlcGxhY2UgKyBzdHItcmVwbGFjZShzdHItc2xpY2UoJHN0cmluZywgJGluZGV4ICsgc3RyLWxlbmd0aCgkc2VhcmNoKSksICRzZWFyY2gsICRyZXBsYWNlKTtcbiAgfVxuXG4gIEByZXR1cm4gJHN0cmluZztcbn1cblxuLy8gQ29sb3IgY29udHJhc3RcbkBmdW5jdGlvbiBjb2xvci15aXEoJGNvbG9yKSB7XG4gICRyOiByZWQoJGNvbG9yKTtcbiAgJGc6IGdyZWVuKCRjb2xvcik7XG4gICRiOiBibHVlKCRjb2xvcik7XG5cbiAgJHlpcTogKCgkciAqIDI5OSkgKyAoJGcgKiA1ODcpICsgKCRiICogMTE0KSkgLyAxMDAwO1xuXG4gIEBpZiAoJHlpcSA+PSAkeWlxLWNvbnRyYXN0ZWQtdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtZGFyaztcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiAkeWlxLXRleHQtbGlnaHQ7XG4gIH1cbn1cblxuLy8gUmV0cmlldmUgY29sb3IgU2FzcyBtYXBzXG5AZnVuY3Rpb24gY29sb3IoJGtleTogXCJibHVlXCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCRjb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gdGhlbWUtY29sb3IoJGtleTogXCJwcmltYXJ5XCIpIHtcbiAgQHJldHVybiBtYXAtZ2V0KCR0aGVtZS1jb2xvcnMsICRrZXkpO1xufVxuXG5AZnVuY3Rpb24gZ3JheSgka2V5OiBcIjEwMFwiKSB7XG4gIEByZXR1cm4gbWFwLWdldCgkZ3JheXMsICRrZXkpO1xufVxuXG4vLyBSZXF1ZXN0IGEgdGhlbWUgY29sb3IgbGV2ZWxcbkBmdW5jdGlvbiB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3ItbmFtZTogXCJwcmltYXJ5XCIsICRsZXZlbDogMCkge1xuICAkY29sb3I6IHRoZW1lLWNvbG9yKCRjb2xvci1uYW1lKTtcbiAgJGNvbG9yLWJhc2U6IGlmKCRsZXZlbCA+IDAsICMwMDAsICNmZmYpO1xuICAkbGV2ZWw6IGFicygkbGV2ZWwpO1xuXG4gIEByZXR1cm4gbWl4KCRjb2xvci1iYXNlLCAkY29sb3IsICRsZXZlbCAqICR0aGVtZS1jb2xvci1pbnRlcnZhbCk7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy9cbi8vIFRleHR1YWwgZm9ybSBjb250cm9sc1xuLy9cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJGlucHV0LXBhZGRpbmcteSAkaW5wdXQtcGFkZGluZy14O1xuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWJvcmRlci1jb2xvcjtcblxuICAvLyBOb3RlOiBUaGlzIGhhcyBubyBlZmZlY3Qgb24gPHNlbGVjdD5zIGluIHNvbWUgYnJvd3NlcnMsIGR1ZSB0byB0aGUgbGltaXRlZCBzdHlsYWJpbGl0eSBvZiBgPHNlbGVjdD5gcyBpbiBDU1MuXG4gIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgIC8vIE1hbnVhbGx5IHVzZSB0aGUgaWYvZWxzZSBpbnN0ZWFkIG9mIHRoZSBtaXhpbiB0byBhY2NvdW50IGZvciBpT1Mgb3ZlcnJpZGVcbiAgICBib3JkZXItcmFkaXVzOiAkaW5wdXQtYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgLy8gT3RoZXJ3aXNlIHVuZG8gdGhlIGlPUyBkZWZhdWx0XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGlucHV0LWJveC1zaGFkb3cpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRpbnB1dC10cmFuc2l0aW9uKTtcblxuICAvLyBVbnN0eWxlIHRoZSBjYXJldCBvbiBgPHNlbGVjdD5gcyBpbiBJRTEwKy5cbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLy8gQ3VzdG9taXplIHRoZSBgOmZvY3VzYCBzdGF0ZSB0byBpbWl0YXRlIG5hdGl2ZSBXZWJLaXQgc3R5bGVzLlxuICBAaW5jbHVkZSBmb3JtLWNvbnRyb2wtZm9jdXMoKTtcblxuICAvLyBQbGFjZWhvbGRlclxuICAmOjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICAvLyBPdmVycmlkZSBGaXJlZm94J3MgdW51c3VhbCBkZWZhdWx0IG9wYWNpdHk7IHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMTUyNi5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYW5kIHJlYWQtb25seSBpbnB1dHNcbiAgLy9cbiAgLy8gSFRNTDUgc2F5cyB0aGF0IGNvbnRyb2xzIHVuZGVyIGEgZmllbGRzZXQgPiBsZWdlbmQ6Zmlyc3QtY2hpbGQgd29uJ3QgYmVcbiAgLy8gZGlzYWJsZWQgaWYgdGhlIGZpZWxkc2V0IGlzIGRpc2FibGVkLiBEdWUgdG8gaW1wbGVtZW50YXRpb24gZGlmZmljdWx0eSwgd2VcbiAgLy8gZG9uJ3QgaG9ub3IgdGhhdCBlZGdlIGNhc2U7IHdlIHN0eWxlIHRoZW0gYXMgZGlzYWJsZWQgYW55d2F5LlxuICAmOmRpc2FibGVkLFxuICAmW3JlYWRvbmx5XSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWRpc2FibGVkLWJnO1xuICAgIC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTUuXG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG5zZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgJjpub3QoW3NpemVdKTpub3QoW211bHRpcGxlXSkge1xuICAgIGhlaWdodDogJGlucHV0LWhlaWdodDtcbiAgfVxuXG4gICY6Zm9jdXM6Oi1tcy12YWx1ZSB7XG4gICAgLy8gU3VwcHJlc3MgdGhlIG5lc3RlZCBkZWZhdWx0IHdoaXRlIHRleHQgb24gYmx1ZSBiYWNrZ3JvdW5kIGhpZ2hsaWdodCBnaXZlbiB0b1xuICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgIC8vIGluIElFIGFuZCAodW5kZXIgY2VydGFpbiBjb25kaXRpb25zKSBFZGdlLCBhcyBpdCBsb29rcyBiYWQgYW5kIGNhbm5vdCBiZSBtYWRlIHRvXG4gICAgLy8gbWF0Y2ggdGhlIGFwcGVhcmFuY2Ugb2YgdGhlIG5hdGl2ZSB3aWRnZXQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTkzOTguXG4gICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gIH1cbn1cblxuLy8gTWFrZSBmaWxlIGlucHV0cyBiZXR0ZXIgbWF0Y2ggdGV4dCBpbnB1dHMgYnkgZm9yY2luZyB0aGVtIHRvIG5ldyBsaW5lcy5cbi5mb3JtLWNvbnRyb2wtZmlsZSxcbi5mb3JtLWNvbnRyb2wtcmFuZ2Uge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy9cbi8vIExhYmVsc1xuLy9cblxuLy8gRm9yIHVzZSB3aXRoIGhvcml6b250YWwgYW5kIGlubGluZSBmb3Jtcywgd2hlbiB5b3UgbmVlZCB0aGUgbGFiZWwgKG9yIGxlZ2VuZClcbi8vIHRleHQgdG8gYWxpZ24gd2l0aCB0aGUgZm9ybSBjb250cm9scy5cbi5jb2wtZm9ybS1sYWJlbCB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15fSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSB0aGUgYDxsYWJlbD4vPGxlZ2VuZD5gIGRlZmF1bHRcbiAgZm9udC1zaXplOiBpbmhlcml0OyAvLyBPdmVycmlkZSB0aGUgYDxsZWdlbmQ+YCBkZWZhdWx0XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1sZyB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1sZ30gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LWxnfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBmb250LXNpemU6ICRmb250LXNpemUtbGc7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtbGc7XG59XG5cbi5jb2wtZm9ybS1sYWJlbC1zbSB7XG4gIHBhZGRpbmctdG9wOiBjYWxjKCN7JGlucHV0LXBhZGRpbmcteS1zbX0gKyAjeyRpbnB1dC1ib3JkZXItd2lkdGh9KTtcbiAgcGFkZGluZy1ib3R0b206IGNhbGMoI3skaW5wdXQtcGFkZGluZy15LXNtfSArICN7JGlucHV0LWJvcmRlci13aWR0aH0pO1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQtc207XG59XG5cblxuLy8gUmVhZG9ubHkgY29udHJvbHMgYXMgcGxhaW4gdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgcmVhZG9ubHkgaW5wdXQgdG8gbWFrZSBpdCBhcHBlYXIgbGlrZSByZWd1bGFyIHBsYWluXG4vLyB0ZXh0ICh3aXRob3V0IGFueSBib3JkZXIsIGJhY2tncm91bmQgY29sb3IsIGZvY3VzIGluZGljYXRvcilcblxuLmZvcm0tY29udHJvbC1wbGFpbnRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmctdG9wOiAkaW5wdXQtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGlucHV0LXBhZGRpbmcteTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gbWF0Y2ggaW5wdXRzIGlmIHRoaXMgY2xhc3MgY29tZXMgb24gaW5wdXRzIHdpdGggZGVmYXVsdCBtYXJnaW5zXG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGggMDtcblxuICAmLmZvcm0tY29udHJvbC1zbSxcbiAgJi5mb3JtLWNvbnRyb2wtbGcge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIHNpemluZ1xuLy9cbi8vIEJ1aWxkIG9uIGAuZm9ybS1jb250cm9sYCB3aXRoIG1vZGlmaWVyIGNsYXNzZXMgdG8gZGVjcmVhc2Ugb3IgaW5jcmVhc2UgdGhlXG4vLyBoZWlnaHQgYW5kIGZvbnQtc2l6ZSBvZiBmb3JtIGNvbnRyb2xzLlxuLy9cbi8vIFRoZSBgLmZvcm0tZ3JvdXAtKiBmb3JtLWNvbnRyb2xgIHZhcmlhdGlvbnMgYXJlIHNhZGx5IGR1cGxpY2F0ZWQgdG8gYXZvaWQgdGhlXG4vLyBpc3N1ZSBkb2N1bWVudGVkIGluIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTUwNzQuXG5cbi5mb3JtLWNvbnRyb2wtc20ge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LXNtICRpbnB1dC1wYWRkaW5nLXgtc207XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbTtcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1zbTtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtc20ge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LXNtO1xuICB9XG59XG5cbi5mb3JtLWNvbnRyb2wtbGcge1xuICBwYWRkaW5nOiAkaW5wdXQtcGFkZGluZy15LWxnICRpbnB1dC1wYWRkaW5nLXgtbGc7XG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sZztcbiAgbGluZS1oZWlnaHQ6ICRpbnB1dC1saW5lLWhlaWdodC1sZztcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbnNlbGVjdC5mb3JtLWNvbnRyb2wtbGcge1xuICAmOm5vdChbc2l6ZV0pOm5vdChbbXVsdGlwbGVdKSB7XG4gICAgaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWxnO1xuICB9XG59XG5cblxuLy8gRm9ybSBncm91cHNcbi8vXG4vLyBEZXNpZ25lZCB0byBoZWxwIHdpdGggdGhlIG9yZ2FuaXphdGlvbiBhbmQgc3BhY2luZyBvZiB2ZXJ0aWNhbCBmb3Jtcy4gRm9yXG4vLyBob3Jpem9udGFsIGZvcm1zLCB1c2UgdGhlIHByZWRlZmluZWQgZ3JpZCBjbGFzc2VzLlxuXG4uZm9ybS1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b207XG59XG5cbi5mb3JtLXRleHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogJGZvcm0tdGV4dC1tYXJnaW4tdG9wO1xufVxuXG5cbi8vIEZvcm0gZ3JpZFxuLy9cbi8vIFNwZWNpYWwgcmVwbGFjZW1lbnQgZm9yIG91ciBncmlkIHN5c3RlbSdzIGAucm93YCBmb3IgdGlnaHRlciBmb3JtIGxheW91dHMuXG5cbi5mb3JtLXJvdyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLXJpZ2h0OiAtNXB4O1xuICBtYXJnaW4tbGVmdDogLTVweDtcblxuICA+IC5jb2wsXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgfVxufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5mb3JtLWNoZWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAkZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG59XG5cbi5mb3JtLWNoZWNrLWlucHV0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1jaGVjay1pbnB1dC1tYXJnaW4teTtcbiAgbWFyZ2luLWxlZnQ6IC0kZm9ybS1jaGVjay1pbnB1dC1ndXR0ZXI7XG5cbiAgJjpkaXNhYmxlZCB+IC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogJHRleHQtbXV0ZWQ7XG4gIH1cbn1cblxuLmZvcm0tY2hlY2stbGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IGA8bGFiZWw+YCBib3R0b20gbWFyZ2luXG59XG5cbi5mb3JtLWNoZWNrLWlubGluZSB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIE92ZXJyaWRlIGJhc2UgLmZvcm0tY2hlY2tcbiAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtbWFyZ2luLXg7XG5cbiAgLy8gVW5kbyAuZm9ybS1jaGVjay1pbnB1dCBkZWZhdWx0cyBhbmQgYWRkIHNvbWUgYG1hcmdpbi1yaWdodGAuXG4gIC5mb3JtLWNoZWNrLWlucHV0IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkZm9ybS1jaGVjay1pbmxpbmUtaW5wdXQtbWFyZ2luLXg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIHZhbGlkYXRpb25cbi8vXG4vLyBQcm92aWRlIGZlZWRiYWNrIHRvIHVzZXJzIHdoZW4gZm9ybSBmaWVsZCB2YWx1ZXMgYXJlIHZhbGlkIG9yIGludmFsaWQuIFdvcmtzXG4vLyBwcmltYXJpbHkgZm9yIGNsaWVudC1zaWRlIHZhbGlkYXRpb24gdmlhIHNjb3BlZCBgOmludmFsaWRgIGFuZCBgOnZhbGlkYFxuLy8gcHNldWRvLWNsYXNzZXMgYnV0IGFsc28gaW5jbHVkZXMgYC5pcy1pbnZhbGlkYCBhbmQgYC5pcy12YWxpZGAgY2xhc3NlcyBmb3Jcbi8vIHNlcnZlciBzaWRlIHZhbGlkYXRpb24uXG5cbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcInZhbGlkXCIsICRmb3JtLWZlZWRiYWNrLXZhbGlkLWNvbG9yKTtcbkBpbmNsdWRlIGZvcm0tdmFsaWRhdGlvbi1zdGF0ZShcImludmFsaWRcIiwgJGZvcm0tZmVlZGJhY2staW52YWxpZC1jb2xvcik7XG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG5cbi5mb3JtLWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIFByZXZlbnQgc2hvcnRlciBlbGVtZW50cyBmcm9tIGdyb3dpbmcgdG8gc2FtZSBoZWlnaHQgYXMgb3RoZXJzIChlLmcuLCBzbWFsbCBidXR0b25zIGdyb3dpbmcgdG8gbm9ybWFsIHNpemVkIGJ1dHRvbiBoZWlnaHQpXG5cbiAgLy8gQmVjYXVzZSB3ZSB1c2UgZmxleCwgdGhlIGluaXRpYWwgc2l6aW5nIG9mIGNoZWNrYm94ZXMgaXMgY29sbGFwc2VkIGFuZFxuICAvLyBkb2Vzbid0IG9jY3VweSB0aGUgZnVsbC13aWR0aCAod2hpY2ggaXMgd2hhdCB3ZSB3YW50IGZvciB4cyBncmlkIHRpZXIpLFxuICAvLyBzbyB3ZSBmb3JjZSB0aGF0IGhlcmUuXG4gIC5mb3JtLWNoZWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIEtpY2sgaW4gdGhlIGlubGluZVxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgbGFiZWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLy8gSW5saW5lLWJsb2NrIGFsbCB0aGUgdGhpbmdzIGZvciBcImlubGluZVwiXG4gICAgLmZvcm0tZ3JvdXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC8vIEFsbG93IGZvbGtzIHRvICpub3QqIHVzZSBgLmZvcm0tZ3JvdXBgXG4gICAgLmZvcm0tY29udHJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBsYWJlbHMgZnJvbSBzdGFja2luZyBhYm92ZSBpbnB1dHMgaW4gYC5mb3JtLWdyb3VwYFxuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN0YXRpYyBjb250cm9scyBiZWhhdmUgbGlrZSByZWd1bGFyIG9uZXNcbiAgICAuZm9ybS1jb250cm9sLXBsYWludGV4dCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLmlucHV0LWdyb3VwIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5mb3JtLWNoZWNrIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogJGZvcm0tY2hlY2staW5wdXQtbWFyZ2luLXg7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tLWNvbnRyb2wge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbiAgICAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiB0cmFuc2l0aW9uKCR0cmFuc2l0aW9uLi4uKSB7XG4gIEBpZiAkZW5hYmxlLXRyYW5zaXRpb25zIHtcbiAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uKSA9PSAwIHtcbiAgICAgIHRyYW5zaXRpb246ICR0cmFuc2l0aW9uLWJhc2U7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvcm0gY29udHJvbCBmb2N1cyBzdGF0ZVxuLy9cbi8vIEdlbmVyYXRlIGEgY3VzdG9taXplZCBmb2N1cyBzdGF0ZSBhbmQgZm9yIGFueSBpbnB1dCB3aXRoIHRoZSBzcGVjaWZpZWQgY29sb3IsXG4vLyB3aGljaCBkZWZhdWx0cyB0byB0aGUgYCRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3JgIHZhcmlhYmxlLlxuLy9cbi8vIFdlIGhpZ2hseSBlbmNvdXJhZ2UgeW91IHRvIG5vdCBjdXN0b21pemUgdGhlIGRlZmF1bHQgdmFsdWUsIGJ1dCBpbnN0ZWFkIHVzZVxuLy8gdGhpcyB0byB0d2VhayBjb2xvcnMgb24gYW4gYXMtbmVlZGVkIGJhc2lzLiBUaGlzIGFlc3RoZXRpYyBjaGFuZ2UgaXMgYmFzZWQgb25cbi8vIFdlYktpdCdzIGRlZmF1bHQgc3R5bGVzLCBidXQgYXBwbGljYWJsZSB0byBhIHdpZGVyIHJhbmdlIG9mIGJyb3dzZXJzLiBJdHNcbi8vIHVzYWJpbGl0eSBhbmQgYWNjZXNzaWJpbGl0eSBzaG91bGQgYmUgdGFrZW4gaW50byBhY2NvdW50IHdpdGggYW55IGNoYW5nZS5cbi8vXG4vLyBFeGFtcGxlIHVzYWdlOiBjaGFuZ2UgdGhlIGRlZmF1bHQgYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyB0byB3aGl0ZSBmb3IgYmV0dGVyXG4vLyBjb250cmFzdCBhZ2FpbnN0IGEgZGFyayBncmF5IGJhY2tncm91bmQuXG5AbWl4aW4gZm9ybS1jb250cm9sLWZvY3VzKCkge1xuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGlucHV0LWZvY3VzLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1mb2N1cy1iZztcbiAgICBib3JkZXItY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdywgJGlucHV0LWZvY3VzLWJveC1zaGFkb3c7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAkaW5wdXQtZm9jdXMtYm94LXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuXG5AbWl4aW4gZm9ybS12YWxpZGF0aW9uLXN0YXRlKCRzdGF0ZSwgJGNvbG9yKSB7XG4gIC4jeyRzdGF0ZX0tZmVlZGJhY2sge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogJGZvcm0tZmVlZGJhY2stbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRmb3JtLWZlZWRiYWNrLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG5cbiAgLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IC8vIENvbnRhaW4gdG8gcGFyZW50IHdoZW4gcG9zc2libGVcbiAgICBwYWRkaW5nOiAuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAuMXJlbTtcbiAgICBmb250LXNpemU6IC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY29sb3IsIC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAuMnJlbTtcbiAgfVxuXG4gIC5mb3JtLWNvbnRyb2wsXG4gIC5jdXN0b20tc2VsZWN0IHtcbiAgICAud2FzLXZhbGlkYXRlZCAmOiN7JHN0YXRlfSxcbiAgICAmLmlzLSN7JHN0YXRlfSB7XG4gICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICB9XG5cbiAgICAgIH4gLiN7JHN0YXRlfS1mZWVkYmFjayxcbiAgICAgIH4gLiN7JHN0YXRlfS10b29sdGlwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tY2hlY2staW5wdXQge1xuICAgIC53YXMtdmFsaWRhdGVkICY6I3skc3RhdGV9LFxuICAgICYuaXMtI3skc3RhdGV9IHtcbiAgICAgIH4gLmZvcm0tY2hlY2stbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgfVxuXG4gICAgICB+IC4jeyRzdGF0ZX0tZmVlZGJhY2ssXG4gICAgICB+IC4jeyRzdGF0ZX0tdG9vbHRpcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5jdXN0b20tY29udHJvbC1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigkY29sb3IsIDI1JSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcobGlnaHRlbigkY29sb3IsIDEwJSkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJGJvZHktYmcsIDAgMCAwICRpbnB1dC1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIGN1c3RvbSBmaWxlXG4gIC5jdXN0b20tZmlsZS1pbnB1dCB7XG4gICAgLndhcy12YWxpZGF0ZWQgJjojeyRzdGF0ZX0sXG4gICAgJi5pcy0jeyRzdGF0ZX0ge1xuICAgICAgfiAuY3VzdG9tLWZpbGUtbGFiZWwge1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjpiZWZvcmUgeyBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAgIH1cblxuICAgICAgfiAuI3skc3RhdGV9LWZlZWRiYWNrLFxuICAgICAgfiAuI3skc3RhdGV9LXRvb2x0aXAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIH4gLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkaW5wdXQtZm9jdXMtd2lkdGggcmdiYSgkY29sb3IsIC4yNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEdyYWRpZW50c1xuXG5AbWl4aW4gZ3JhZGllbnQtYmcoJGNvbG9yKSB7XG4gIEBpZiAkZW5hYmxlLWdyYWRpZW50cyB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14O1xuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8gSG9yaXpvbnRhbCBncmFkaWVudCwgZnJvbSBsZWZ0IHRvIHJpZ2h0XG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC14KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IgJHN0YXJ0LXBlcmNlbnQsICRlbmQtY29sb3IgJGVuZC1wZXJjZW50KTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xufVxuXG4vLyBWZXJ0aWNhbCBncmFkaWVudCwgZnJvbSB0b3AgdG8gYm90dG9tXG4vL1xuLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbkBtaXhpbiBncmFkaWVudC15KCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJHN0YXJ0LXBlcmNlbnQ6IDAlLCAkZW5kLXBlcmNlbnQ6IDEwMCUpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgJHN0YXJ0LWNvbG9yICRzdGFydC1wZXJjZW50LCAkZW5kLWNvbG9yICRlbmQtcGVyY2VudCk7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cblxuQG1peGluIGdyYWRpZW50LWRpcmVjdGlvbmFsKCRzdGFydC1jb2xvcjogIzU1NSwgJGVuZC1jb2xvcjogIzMzMywgJGRlZzogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRkZWcsICRzdGFydC1jb2xvciwgJGVuZC1jb2xvcik7XG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbn1cbkBtaXhpbiBncmFkaWVudC14LXRocmVlLWNvbG9ycygkc3RhcnQtY29sb3I6ICMwMGIzZWUsICRtaWQtY29sb3I6ICM3YTQzYjYsICRjb2xvci1zdG9wOiA1MCUsICRlbmQtY29sb3I6ICNjMzMyNWYpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAkc3RhcnQtY29sb3IsICRtaWQtY29sb3IgJGNvbG9yLXN0b3AsICRlbmQtY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXktdGhyZWUtY29sb3JzKCRzdGFydC1jb2xvcjogIzAwYjNlZSwgJG1pZC1jb2xvcjogIzdhNDNiNiwgJGNvbG9yLXN0b3A6IDUwJSwgJGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoJHN0YXJ0LWNvbG9yLCAkbWlkLWNvbG9yICRjb2xvci1zdG9wLCAkZW5kLWNvbG9yKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbn1cbkBtaXhpbiBncmFkaWVudC1yYWRpYWwoJGlubmVyLWNvbG9yOiAjNTU1LCAkb3V0ZXItY29sb3I6ICMzMzMpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgJGlubmVyLWNvbG9yLCAkb3V0ZXItY29sb3IpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuQG1peGluIGdyYWRpZW50LXN0cmlwZWQoJGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSksICRhbmdsZTogNDVkZWcpIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KCRhbmdsZSwgJGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsICRjb2xvciA1MCUsICRjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi8vXG4vLyBCYXNlIHN0eWxlc1xuLy9cblxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC13ZWlnaHQ6ICRidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGJvcmRlcjogJGJ0bi1ib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRidG4tcGFkZGluZy15LCAkYnRuLXBhZGRpbmcteCwgJGZvbnQtc2l6ZS1iYXNlLCAkYnRuLWxpbmUtaGVpZ2h0LCAkYnRuLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRidG4tdHJhbnNpdGlvbik7XG5cbiAgLy8gU2hhcmUgaG92ZXIgYW5kIGZvY3VzIHN0eWxlc1xuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkYnRuLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBjb21lcyBmaXJzdCBzbyBhY3RpdmUgY2FuIHByb3Blcmx5IHJlc3R5bGVcbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogJGJ0bi1kaXNhYmxlZC1vcGFjaXR5O1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLmJ0biBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAgICY6Zm9jdXMge1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWZvY3VzLWJveC1zaGFkb3csICRidG4tYWN0aXZlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuYS5idG4uZGlzYWJsZWQsXG5maWVsZHNldDpkaXNhYmxlZCBhLmJ0biB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG5cbi8vXG4vLyBBbHRlcm5hdGUgYnV0dG9uc1xuLy9cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkdmFsdWUsICR2YWx1ZSk7XG4gIH1cbn1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5idG4tb3V0bGluZS0jeyRjb2xvcn0ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1vdXRsaW5lLXZhcmlhbnQoJHZhbHVlKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBMaW5rIGJ1dHRvbnNcbi8vXG5cbi8vIE1ha2UgYSBidXR0b24gbG9vayBhbmQgYmVoYXZlIGxpa2UgYSBsaW5rXG4uYnRuLWxpbmsge1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRsaW5rLWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQsXG4gICYuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gIH1cblxuICAvLyBObyBuZWVkIGZvciBhbiBhY3RpdmUgc3RhdGUgaGVyZVxufVxuXG5cbi8vXG4vLyBCdXR0b24gU2l6ZXNcbi8vXG5cbi5idG4tbGcge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1sZywgJGJ0bi1wYWRkaW5nLXgtbGcsICRmb250LXNpemUtbGcsICRidG4tbGluZS1oZWlnaHQtbGcsICRidG4tYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5idG4tc20ge1xuICBAaW5jbHVkZSBidXR0b24tc2l6ZSgkYnRuLXBhZGRpbmcteS1zbSwgJGJ0bi1wYWRkaW5nLXgtc20sICRmb250LXNpemUtc20sICRidG4tbGluZS1oZWlnaHQtc20sICRidG4tYm9yZGVyLXJhZGl1cy1zbSk7XG59XG5cblxuLy9cbi8vIEJsb2NrIGJ1dHRvblxuLy9cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcblxuICAvLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4gICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogJGJ0bi1ibG9jay1zcGFjaW5nLXk7XG4gIH1cbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbkBtaXhpbiBidXR0b24tdmFyaWFudCgkYmFja2dyb3VuZCwgJGJvcmRlciwgJGhvdmVyLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgNy41JSksICRob3Zlci1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMCUpLCAkYWN0aXZlLWJhY2tncm91bmQ6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKSwgJGFjdGl2ZS1ib3JkZXI6IGRhcmtlbigkYm9yZGVyLCAxMi41JSkpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmFja2dyb3VuZCk7XG4gIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRiYWNrZ3JvdW5kKTtcbiAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRidG4tYm94LXNoYWRvdyk7XG5cbiAgQGluY2x1ZGUgaG92ZXIge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGhvdmVyLWJhY2tncm91bmQpO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6ICRob3Zlci1ib3JkZXI7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgQGlmICRlbmFibGUtc2hhZG93cyB7XG4gICAgICBib3gtc2hhZG93OiAkYnRuLWJveC1zaGFkb3csIDAgMCAwICRidG4tZm9jdXMtd2lkdGggcmdiYSgkYm9yZGVyLCAuNSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgIH1cbiAgfVxuXG4gIC8vIERpc2FibGVkIGNvbWVzIGZpcnN0IHNvIGFjdGl2ZSBjYW4gcHJvcGVybHkgcmVzdHlsZVxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogY29sb3IteWlxKCRiYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpOmFjdGl2ZSxcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKS5hY3RpdmUsXG4gIC5zaG93ID4gJi5kcm9wZG93bi10b2dnbGUge1xuICAgIGNvbG9yOiBjb2xvci15aXEoJGFjdGl2ZS1iYWNrZ3JvdW5kKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWN0aXZlLWJhY2tncm91bmQ7XG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IC8vIFJlbW92ZSB0aGUgZ3JhZGllbnQgZm9yIHRoZSBwcmVzc2VkL2FjdGl2ZSBzdGF0ZVxuICAgIH1cbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIHtcbiAgICAgICAgYm94LXNoYWRvdzogJGJ0bi1hY3RpdmUtYm94LXNoYWRvdywgMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRib3JkZXIsIC41KTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGJvcmRlciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLW91dGxpbmUtdmFyaWFudCgkY29sb3IsICRjb2xvci1ob3ZlcjogY29sb3IteWlxKCRjb2xvciksICRhY3RpdmUtYmFja2dyb3VuZDogJGNvbG9yLCAkYWN0aXZlLWJvcmRlcjogJGNvbG9yKSB7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJi5mb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJjpkaXNhYmxlZCB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6bm90KDpkaXNhYmxlZCk6bm90KC5kaXNhYmxlZCk6YWN0aXZlLFxuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpLmFjdGl2ZSxcbiAgLnNob3cgPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgY29sb3I6IGNvbG9yLXlpcSgkYWN0aXZlLWJhY2tncm91bmQpO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY3RpdmUtYmFja2dyb3VuZDtcbiAgICBib3JkZXItY29sb3I6ICRhY3RpdmUtYm9yZGVyO1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAvLyBBdm9pZCB1c2luZyBtaXhpbiBzbyB3ZSBjYW4gcGFzcyBjdXN0b20gZm9jdXMgc2hhZG93IHByb3Blcmx5XG4gICAgICBAaWYgJGVuYWJsZS1zaGFkb3dzIGFuZCAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93ICE9IG5vbmUge1xuICAgICAgICBib3gtc2hhZG93OiAkYnRuLWFjdGl2ZS1ib3gtc2hhZG93LCAwIDAgMCAkYnRuLWZvY3VzLXdpZHRoIHJnYmEoJGNvbG9yLCAuNSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgJGJ0bi1mb2N1cy13aWR0aCByZ2JhKCRjb2xvciwgLjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b24gc2l6ZXNcbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xuICAvLyBNYW51YWxseSBkZWNsYXJlIHRvIHByb3ZpZGUgYW4gb3ZlcnJpZGUgdG8gdGhlIGJyb3dzZXIgZGVmYXVsdFxuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcbiAgfSBAZWxzZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5cbi5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1mYWRlKTtcblxuICAmLnNob3cge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgJi5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG50ciB7XG4gICYuY29sbGFwc2Uuc2hvdyB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICB9XG59XG5cbnRib2R5IHtcbiAgJi5jb2xsYXBzZS5zaG93IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7XG4gIH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkdHJhbnNpdGlvbi1jb2xsYXBzZSk7XG59XG4iLCIvLyBUaGUgZHJvcGRvd24gd3JhcHBlciAoYDxkaXY+YClcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5kcm9wZG93bi10b2dnbGUge1xuICAvLyBHZW5lcmF0ZSB0aGUgY2FyZXQgYXV0b21hdGljYWxseVxuICBAaW5jbHVkZSBjYXJldDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIG1lbnVcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6ICR6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6ICRkcm9wZG93bi1taW4td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgMDtcbiAgbWFyZ2luOiAkZHJvcGRvd24tc3BhY2VyIDAgMDsgLy8gb3ZlcnJpZGUgZGVmYXVsdCB1bFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTsgLy8gUmVkZWNsYXJlIGJlY2F1c2UgbmVzdGluZyBjYW4gY2F1c2UgaW5oZXJpdGFuY2UgaXNzdWVzXG4gIGNvbG9yOiAkYm9keS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDsgLy8gRW5zdXJlcyBwcm9wZXIgYWxpZ25tZW50IGlmIHBhcmVudCBoYXMgaXQgY2hhbmdlZCAoZS5nLiwgbW9kYWwgZm9vdGVyKVxuICBsaXN0LXN0eWxlOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlci13aWR0aCBzb2xpZCAkZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRkcm9wZG93bi1ib3JkZXItcmFkaXVzKTtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkZHJvcGRvd24tYm94LXNoYWRvdyk7XG59XG5cbi8vIEFsbG93IGZvciBkcm9wZG93bnMgdG8gZ28gYm90dG9tIHVwIChha2EsIGRyb3B1cC1tZW51KVxuLy8gSnVzdCBhZGQgLmRyb3B1cCBhZnRlciB0aGUgc3RhbmRhcmQgLmRyb3Bkb3duIGNsYXNzIGFuZCB5b3UncmUgc2V0LlxuLmRyb3B1cCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldCh1cCk7XG4gIH1cbn1cblxuLmRyb3ByaWdodCB7XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAkZHJvcGRvd24tc3BhY2VyO1xuICB9XG5cbiAgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgY2FyZXQocmlnaHQpO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uZHJvcGxlZnQge1xuICAuZHJvcGRvd24tbWVudSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6ICRkcm9wZG93bi1zcGFjZXI7XG4gIH1cblxuICAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBAaW5jbHVkZSBjYXJldChsZWZ0KTtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgdmVydGljYWwtYWxpZ246IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gYDxocj5gKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4uZHJvcGRvd24tZGl2aWRlciB7XG4gIEBpbmNsdWRlIG5hdi1kaXZpZGVyKCRkcm9wZG93bi1kaXZpZGVyLWJnKTtcbn1cblxuLy8gTGlua3MsIGJ1dHRvbnMsIGFuZCBtb3JlIHdpdGhpbiB0aGUgZHJvcGRvd24gbWVudVxuLy9cbi8vIGA8YnV0dG9uPmAtc3BlY2lmaWMgc3R5bGVzIGFyZSBkZW5vdGVkIHdpdGggYC8vIEZvciA8YnV0dG9uPnNgXG4uZHJvcGRvd24taXRlbSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzXG4gIHBhZGRpbmc6ICRkcm9wZG93bi1pdGVtLXBhZGRpbmcteSAkZHJvcGRvd24taXRlbS1wYWRkaW5nLXg7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgY29sb3I6ICRkcm9wZG93bi1saW5rLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvLyBGb3IgYDxidXR0b24+YHNcbiAgYm9yZGVyOiAwOyAvLyBGb3IgYDxidXR0b24+YHNcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkZHJvcGRvd24tbGluay1ob3Zlci1iZyk7XG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGNvbG9yOiAkZHJvcGRvd24tbGluay1hY3RpdmUtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRkcm9wZG93bi1saW5rLWFjdGl2ZS1iZyk7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGRyb3Bkb3duLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgLy8gUmVtb3ZlIENTUyBncmFkaWVudHMgaWYgdGhleSdyZSBlbmFibGVkXG4gICAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi5kcm9wZG93bi1tZW51LnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gRHJvcGRvd24gc2VjdGlvbiBoZWFkZXJzXG4uZHJvcGRvd24taGVhZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nLXkgJGRyb3Bkb3duLWl0ZW0tcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBmb3IgdXNlIHdpdGggaGVhZGluZyBlbGVtZW50c1xuICBmb250LXNpemU6ICRmb250LXNpemUtc207XG4gIGNvbG9yOiAkZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG4iLCJAbWl4aW4gY2FyZXQtZG93biB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC11cCB7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1sZWZ0OiAkY2FyZXQtd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG59XG5cbkBtaXhpbiBjYXJldC1yaWdodCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmV0LXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogJGNhcmV0LXdpZHRoIHNvbGlkO1xufVxuXG5AbWl4aW4gY2FyZXQtbGVmdCB7XG4gIGJvcmRlci10b3A6ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiAkY2FyZXQtd2lkdGggc29saWQ7XG4gIGJvcmRlci1ib3R0b206ICRjYXJldC13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuQG1peGluIGNhcmV0KCRkaXJlY3Rpb246IGRvd24pIHtcbiAgQGlmICRlbmFibGUtY2FyZXQge1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAwO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6ICRjYXJldC13aWR0aCAqIC44NTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiAkY2FyZXQtd2lkdGggKiAuODU7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgQGlmICRkaXJlY3Rpb24gPT0gZG93biB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LWRvd247XG4gICAgICB9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdXAge1xuICAgICAgICBAaW5jbHVkZSBjYXJldC11cDtcbiAgICAgIH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSByaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGNhcmV0LXJpZ2h0O1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogJGNhcmV0LXdpZHRoICogLjg1O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBAaW5jbHVkZSBjYXJldC1sZWZ0O1xuICAgICAgfVxuICAgIH1cblxuICAgICY6ZW1wdHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy9cbi8vIERpdmlkZXJzIChiYXNpY2FsbHkgYW4gaHIpIHdpdGhpbiBkcm9wZG93bnMgYW5kIG5hdiBsaXN0c1xuXG5AbWl4aW4gbmF2LWRpdmlkZXIoJGNvbG9yOiAjZTVlNWU1KSB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAoJHNwYWNlciAvIDIpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkY29sb3I7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gTWFrZSB0aGUgZGl2IGJlaGF2ZSBsaWtlIGEgYnV0dG9uXG4uYnRuLWdyb3VwLFxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG5cbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleDogMCAxIGF1dG87XG5cbiAgICAvLyBCcmluZyB0aGUgaG92ZXIsIGZvY3VzZWQsIGFuZCBcImFjdGl2ZVwiIGJ1dHRvbnMgdG8gdGhlIGZyb250IHRvIG92ZXJsYXlcbiAgICAvLyB0aGUgYm9yZGVycyBwcm9wZXJseVxuICAgIEBpbmNsdWRlIGhvdmVyIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4gIC5idG4gKyAuYnRuLFxuICAuYnRuICsgLmJ0bi1ncm91cCxcbiAgLmJ0bi1ncm91cCArIC5idG4sXG4gIC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLSRidG4tYm9yZGVyLXdpZHRoO1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLmJ0bi1ncm91cCB7XG4gID4gLmJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICAvLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbiAgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuICA+IC5idG4tZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbiAgfVxufVxuXG4vLyBTaXppbmdcbi8vXG4vLyBSZW1peCB0aGUgZGVmYXVsdCBidXR0b24gc2l6aW5nIGNsYXNzZXMgaW50byBuZXcgb25lcyBmb3IgZWFzaWVyIG1hbmlwdWxhdGlvbi5cblxuLmJ0bi1ncm91cC1zbSA+IC5idG4geyBAZXh0ZW5kIC5idG4tc207IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgQGV4dGVuZCAuYnRuLWxnOyB9XG5cblxuLy9cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vXG5cbi5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteCAqIC43NTtcblxuICAmOjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLmJ0bi1zbSArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1zbSAqIC43NTtcbn1cblxuLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUtc3BsaXQge1xuICBwYWRkaW5nLXJpZ2h0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbiAgcGFkZGluZy1sZWZ0OiAkYnRuLXBhZGRpbmcteC1sZyAqIC43NTtcbn1cblxuXG4vLyBUaGUgY2xpY2thYmxlIGJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG1lbnVcbi8vIFNldCB0aGUgc2FtZSBpbnNldCBzaGFkb3cgYXMgdGhlIDphY3RpdmUgc3RhdGVcbi5idG4tZ3JvdXAuc2hvdyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgQGluY2x1ZGUgYm94LXNoYWRvdygkYnRuLWFjdGl2ZS1ib3gtc2hhZG93KTtcblxuICAvLyBTaG93IG5vIHNoYWRvdyBmb3IgYC5idG4tbGlua2Agc2luY2UgaXQgaGFzIG5vIG90aGVyIGJ1dHRvbiBzdHlsZXMuXG4gICYuYnRuLWxpbmsge1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vL1xuLy8gVmVydGljYWwgYnV0dG9uIGdyb3Vwc1xuLy9cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAuYnRuLFxuICAuYnRuLWdyb3VwIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gID4gLmJ0biArIC5idG4sXG4gID4gLmJ0biArIC5idG4tZ3JvdXAsXG4gID4gLmJ0bi1ncm91cCArIC5idG4sXG4gID4gLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IC0kYnRuLWJvcmRlci13aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxuXG4gIC8vIFJlc2V0IHJvdW5kZWQgY29ybmVyc1xuICA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4gID4gLmJ0bi1ncm91cDpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG4gIH1cblxuICA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4gID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKDApO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3ggYW5kIHJhZGlvIG9wdGlvbnNcbi8vXG4vLyBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBicm93c2VyJ3MgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrLCBwb3dlcmVkIGJ5IHRoZVxuLy8gYHJlcXVpcmVkYCBhdHRyaWJ1dGUsIHdlIGhhdmUgdG8gXCJoaWRlXCIgdGhlIGlucHV0cyB2aWEgYGNsaXBgLiBXZSBjYW5ub3QgdXNlXG4vLyBgZGlzcGxheTogbm9uZTtgIG9yIGB2aXNpYmlsaXR5OiBoaWRkZW47YCBhcyB0aGF0IGFsc28gaGlkZXMgdGhlIHBvcG92ZXIuXG4vLyBTaW1wbHkgdmlzdWFsbHkgaGlkaW5nIHRoZSBpbnB1dHMgdmlhIGBvcGFjaXR5YCB3b3VsZCBsZWF2ZSB0aGVtIGNsaWNrYWJsZSBpblxuLy8gY2VydGFpbiBjYXNlcyB3aGljaCBpcyBwcmV2ZW50ZWQgYnkgdXNpbmcgYGNsaXBgIGFuZCBgcG9pbnRlci1ldmVudHNgLlxuLy8gVGhpcyB3YXksIHdlIGVuc3VyZSBhIERPTSBlbGVtZW50IGlzIHZpc2libGUgdG8gcG9zaXRpb24gdGhlIHBvcG92ZXIgZnJvbS5cbi8vXG4vLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTI3OTQgYW5kXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xNDU1OSBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cblxuLmJ0bi1ncm91cC10b2dnbGUge1xuICA+IC5idG4sXG4gID4gLmJ0bi1ncm91cCA+IC5idG4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgYDxsYWJlbD5gIHZhbHVlXG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXF1YWxpZnlpbmctdHlwZVxuXG4vL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyAvLyBGb3IgZm9ybSB2YWxpZGF0aW9uIGZlZWRiYWNrXG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMTAwJTtcblxuICA+IC5mb3JtLWNvbnRyb2wsXG4gID4gLmN1c3RvbS1zZWxlY3QsXG4gID4gLmN1c3RvbS1maWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBmb2N1cyBzdGF0ZSdzIHotaW5kZXhcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICAvLyBBZGQgd2lkdGggMSUgYW5kIGZsZXgtYmFzaXMgYXV0byB0byBlbnN1cmUgdGhhdCBidXR0b24gd2lsbCBub3Qgd3JhcCBvdXRcbiAgICAvLyB0aGUgY29sdW1uLiBBcHBsaWVzIHRvIElFIEVkZ2UrIGFuZCBGaXJlZm94LiBDaHJvbWUgZG9lcyBub3QgcmVxdWlyZSB0aGlzLlxuICAgIHdpZHRoOiAxJTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgZm9ybSBjb250cm9sIHRvIHRoZSB0b3Agb2Ygc3Vycm91bmRpbmcgZWxlbWVudHNcbiAgICAmOmZvY3VzIHtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgfVxuXG4gICAgKyAuZm9ybS1jb250cm9sLFxuICAgICsgLmN1c3RvbS1zZWxlY3QsXG4gICAgKyAuY3VzdG9tLWZpbGUge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gID4gLmZvcm0tY29udHJvbCxcbiAgPiAuY3VzdG9tLXNlbGVjdCB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxuXG4gIC8vIEN1c3RvbSBmaWxlIGlucHV0cyBoYXZlIG1vcmUgY29tcGxleCBtYXJrdXAsIHRodXMgcmVxdWlyaW5nIGRpZmZlcmVudFxuICAvLyBib3JkZXItcmFkaXVzIG92ZXJyaWRlcy5cbiAgPiAuY3VzdG9tLWZpbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICY6bm90KDpsYXN0LWNoaWxkKSAuY3VzdG9tLWZpbGUtbGFiZWwsXG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIC5jdXN0b20tZmlsZS1sYWJlbDo6YmVmb3JlIHsgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygwKTsgfVxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsLFxuICAgICY6bm90KDpmaXJzdC1jaGlsZCkgLmN1c3RvbS1maWxlLWxhYmVsOjpiZWZvcmUgeyBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7IH1cbiAgfVxufVxuXG5cbi8vIFByZXBlbmQgYW5kIGFwcGVuZFxuLy9cbi8vIFdoaWxlIGl0IHJlcXVpcmVzIG9uZSBleHRyYSBsYXllciBvZiBIVE1MIGZvciBlYWNoLCBkZWRpY2F0ZWQgcHJlcGVuZCBhbmRcbi8vIGFwcGVuZCBlbGVtZW50cyBhbGxvdyB1cyB0byAxKSBiZSBsZXNzIGNsZXZlciwgMikgc2ltcGxpZnkgb3VyIHNlbGVjdG9ycywgYW5kXG4vLyAzKSBzdXBwb3J0IEhUTUw1IGZvcm0gdmFsaWRhdGlvbi5cblxuLmlucHV0LWdyb3VwLXByZXBlbmQsXG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAvLyBFbnN1cmUgYnV0dG9ucyBhcmUgYWx3YXlzIGFib3ZlIGlucHV0cyBmb3IgbW9yZSB2aXN1YWxseSBwbGVhc2luZyBib3JkZXJzLlxuICAvLyBUaGlzIGlzbid0IG5lZWRlZCBmb3IgYC5pbnB1dC1ncm91cC10ZXh0YCBzaW5jZSBpdCBzaGFyZXMgdGhlIHNhbWUgYm9yZGVyLWNvbG9yXG4gIC8vIGFzIG91ciBpbnB1dHMuXG4gIC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuaW5wdXQtZ3JvdXAtdGV4dCxcbiAgLmlucHV0LWdyb3VwLXRleHQgKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLSRpbnB1dC1ib3JkZXItd2lkdGg7XG4gIH1cbn1cblxuLmlucHV0LWdyb3VwLXByZXBlbmQgeyBtYXJnaW4tcmlnaHQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG4uaW5wdXQtZ3JvdXAtYXBwZW5kIHsgbWFyZ2luLWxlZnQ6IC0kaW5wdXQtYm9yZGVyLXdpZHRoOyB9XG5cblxuLy8gVGV4dHVhbCBhZGRvbnNcbi8vXG4vLyBTZXJ2ZXMgYXMgYSBjYXRjaC1hbGwgZWxlbWVudCBmb3IgYW55IHRleHQgb3IgcmFkaW8vY2hlY2tib3ggaW5wdXQgeW91IHdpc2hcbi8vIHRvIHByZXBlbmQgb3IgYXBwZW5kIHRvIGFuIGlucHV0LlxuXG4uaW5wdXQtZ3JvdXAtdGV4dCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6ICRpbnB1dC1wYWRkaW5nLXkgJGlucHV0LXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gQWxsb3cgdXNlIG9mIDxsYWJlbD4gZWxlbWVudHMgYnkgb3ZlcnJpZGluZyBvdXIgZGVmYXVsdCBtYXJnaW4tYm90dG9tXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlOyAvLyBNYXRjaCBpbnB1dHNcbiAgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAkaW5wdXQtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZ3JvdXAtYWRkb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWdyb3VwLWFkZG9uLWJnO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXItd2lkdGggc29saWQgJGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkaW5wdXQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG5cbi8vIFNpemluZ1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtbGcgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbC1sZztcbn1cblxuLmlucHV0LWdyb3VwLXNtID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1zbSA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtcHJlcGVuZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtc20gPiAuaW5wdXQtZ3JvdXAtYXBwZW5kID4gLmJ0biB7XG4gIEBleHRlbmQgLmZvcm0tY29udHJvbC1zbTtcbn1cblxuXG4vLyBQcmVwZW5kIGFuZCBhcHBlbmQgcm91bmRlZCBjb3JuZXJzXG4vL1xuLy8gVGhlc2UgcnVsZXNldHMgbXVzdCBjb21lIGFmdGVyIHRoZSBzaXppbmcgb25lcyB0byBwcm9wZXJseSBvdmVycmlkZSBzbSBhbmQgbGdcbi8vIGJvcmRlci1yYWRpdXMgdmFsdWVzIHdoZW4gZXh0ZW5kaW5nLiBUaGV5J3JlIG1vcmUgc3BlY2lmaWMgdGhhbiB3ZSdkIGxpa2Vcbi8vIHdpdGggdGhlIGAuaW5wdXQtZ3JvdXAgPmAgcGFydCwgYnV0IHdpdGhvdXQgaXQsIHdlIGNhbm5vdCBvdmVycmlkZSB0aGUgc2l6aW5nLlxuXG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmJ0bixcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpub3QoOmxhc3QtY2hpbGQpID4gLmlucHV0LWdyb3VwLXRleHQsXG4uaW5wdXQtZ3JvdXAgPiAuaW5wdXQtZ3JvdXAtYXBwZW5kOmxhc3QtY2hpbGQgPiAuYnRuOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZDpsYXN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIEBpbmNsdWRlIGJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG5cbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1hcHBlbmQgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLWFwcGVuZCA+IC5pbnB1dC1ncm91cC10ZXh0LFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLFxuLmlucHV0LWdyb3VwID4gLmlucHV0LWdyb3VwLXByZXBlbmQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuaW5wdXQtZ3JvdXAtdGV4dCxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmJ0bjpub3QoOmZpcnN0LWNoaWxkKSxcbi5pbnB1dC1ncm91cCA+IC5pbnB1dC1ncm91cC1wcmVwZW5kOmZpcnN0LWNoaWxkID4gLmlucHV0LWdyb3VwLXRleHQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoMCk7XG59XG4iLCIvLyBFbWJlZGRlZCBpY29ucyBmcm9tIE9wZW4gSWNvbmljLlxuLy8gUmVsZWFzZWQgdW5kZXIgTUlUIGFuZCBjb3B5cmlnaHQgMjAxNCBXYXlidXJ5LlxuLy8gaHR0cHM6Ly91c2VpY29uaWMuY29tL29wZW5cblxuXG4vLyBDaGVja2JveGVzIGFuZCByYWRpb3Ncbi8vXG4vLyBCYXNlIGNsYXNzIHRha2VzIGNhcmUgb2YgYWxsIHRoZSBrZXkgYmVoYXZpb3JhbCBhc3BlY3RzLlxuXG4uY3VzdG9tLWNvbnRyb2wge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtaW4taGVpZ2h0OiAoMXJlbSAqICRsaW5lLWhlaWdodC1iYXNlKTtcbiAgcGFkZGluZy1sZWZ0OiAkY3VzdG9tLWNvbnRyb2wtZ3V0dGVyO1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi1yaWdodDogJGN1c3RvbS1jb250cm9sLXNwYWNlci14O1xufVxuXG4uY3VzdG9tLWNvbnRyb2wtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IC0xOyAvLyBQdXQgdGhlIGlucHV0IGJlaGluZCB0aGUgbGFiZWwgc28gaXQgZG9lc24ndCBvdmVybGF5IHRleHRcbiAgb3BhY2l0eTogMDtcblxuICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1jb2xvcjtcbiAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1jaGVja2VkLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAvLyB0aGUgbWl4aW4gaXMgbm90IHVzZWQgaGVyZSB0byBtYWtlIHN1cmUgdGhlcmUgaXMgZmVlZGJhY2tcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAmOmFjdGl2ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1hY3RpdmUtYmc7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWFjdGl2ZS1ib3gtc2hhZG93KTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIH4gLmN1c3RvbS1jb250cm9sLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtbGFiZWwtZGlzYWJsZWQtY29sb3I7XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEN1c3RvbSBjb250cm9sIGluZGljYXRvcnNcbi8vXG4vLyBCdWlsZCB0aGUgY3VzdG9tIGNvbnRyb2xzIG91dCBvZiBwc3VlZG8tZWxlbWVudHMuXG5cbi5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgLy8gQmFja2dyb3VuZC1jb2xvciBhbmQgKHdoZW4gZW5hYmxlZCkgZ3JhZGllbnRcbiAgJjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAoKCRsaW5lLWhlaWdodC1iYXNlIC0gJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplKSAvIDIpO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBoZWlnaHQ6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3Itc2l6ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItYmc7XG4gICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWJveC1zaGFkb3cpO1xuICB9XG5cbiAgLy8gRm9yZWdyb3VuZCAoaWNvbilcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICgoJGxpbmUtaGVpZ2h0LWJhc2UgLSAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLXNpemUpIC8gMik7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGhlaWdodDogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1zaXplO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1jb250cm9sLWluZGljYXRvci1iZy1zaXplO1xuICB9XG59XG5cblxuLy8gQ2hlY2tib3hlc1xuLy9cbi8vIFR3ZWFrIGp1c3QgYSBmZXcgdGhpbmdzIGZvciBjaGVja2JveGVzLlxuXG4uY3VzdG9tLWNoZWNrYm94IHtcbiAgLmN1c3RvbS1jb250cm9sLWxhYmVsOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGN1c3RvbS1jaGVja2JveC1pbmRpY2F0b3ItYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6Y2hlY2tlZCB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1iZyk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWljb24tY2hlY2tlZDtcbiAgICB9XG4gIH1cblxuICAuY3VzdG9tLWNvbnRyb2wtaW5wdXQ6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbCB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGdyYWRpZW50LWJnKCRjdXN0b20tY2hlY2tib3gtaW5kaWNhdG9yLWluZGV0ZXJtaW5hdGUtYmcpO1xuICAgICAgQGluY2x1ZGUgYm94LXNoYWRvdygkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pbmRldGVybWluYXRlLWJveC1zaGFkb3cpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLWNoZWNrYm94LWluZGljYXRvci1pY29uLWluZGV0ZXJtaW5hdGU7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICAgICY6aW5kZXRlcm1pbmF0ZSB+IC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjdXN0b20tY29udHJvbC1pbmRpY2F0b3ItY2hlY2tlZC1kaXNhYmxlZC1iZztcbiAgICB9XG4gIH1cbn1cblxuLy8gUmFkaW9zXG4vL1xuLy8gVHdlYWsganVzdCBhIGZldyB0aGluZ3MgZm9yIHJhZGlvcy5cblxuLmN1c3RvbS1yYWRpbyB7XG4gIC5jdXN0b20tY29udHJvbC1sYWJlbDo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1ib3JkZXItcmFkaXVzO1xuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWwge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBncmFkaWVudC1iZygkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtYmcpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiAkY3VzdG9tLXJhZGlvLWluZGljYXRvci1pY29uLWNoZWNrZWQ7XG4gICAgfVxuICB9XG5cbiAgLmN1c3RvbS1jb250cm9sLWlucHV0OmRpc2FibGVkIHtcbiAgICAmOmNoZWNrZWQgfiAuY3VzdG9tLWNvbnRyb2wtbGFiZWw6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLWNvbnRyb2wtaW5kaWNhdG9yLWNoZWNrZWQtZGlzYWJsZWQtYmc7XG4gICAgfVxuICB9XG59XG5cblxuLy8gU2VsZWN0XG4vL1xuLy8gUmVwbGFjZXMgdGhlIGJyb3dzZXIgZGVmYXVsdCBzZWxlY3Qgd2l0aCBhIGN1c3RvbSBvbmUsIG1vc3RseSBwdWxsZWQgZnJvbVxuLy8gaHR0cDovL3ByaW1lcmNzcy5pby5cbi8vXG5cbi5jdXN0b20tc2VsZWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAoJGN1c3RvbS1zZWxlY3QtcGFkZGluZy14ICsgJGN1c3RvbS1zZWxlY3QtaW5kaWNhdG9yLXBhZGRpbmcpICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteSAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gIGxpbmUtaGVpZ2h0OiAkY3VzdG9tLXNlbGVjdC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tc2VsZWN0LWNvbG9yO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBiYWNrZ3JvdW5kOiAkY3VzdG9tLXNlbGVjdC1iZyAkY3VzdG9tLXNlbGVjdC1pbmRpY2F0b3Igbm8tcmVwZWF0IHJpZ2h0ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogJGN1c3RvbS1zZWxlY3QtYmctc2l6ZTtcbiAgYm9yZGVyOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1zZWxlY3QtYm9yZGVyLWNvbG9yO1xuICBAaWYgJGVuYWJsZS1yb3VuZGVkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkY3VzdG9tLXNlbGVjdC1ib3JkZXItcmFkaXVzO1xuICB9IEBlbHNlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICBib3gtc2hhZG93OiAkY3VzdG9tLXNlbGVjdC1mb2N1cy1ib3gtc2hhZG93O1xuXG4gICAgJjo6LW1zLXZhbHVlIHtcbiAgICAgIC8vIEZvciB2aXN1YWwgY29uc2lzdGVuY3kgd2l0aCBvdGhlciBwbGF0Zm9ybXMvYnJvd3NlcnMsXG4gICAgICAvLyBzdXBwcmVzcyB0aGUgZGVmYXVsdCB3aGl0ZSB0ZXh0IG9uIGJsdWUgYmFja2dyb3VuZCBoaWdobGlnaHQgZ2l2ZW4gdG9cbiAgICAgIC8vIHRoZSBzZWxlY3RlZCBvcHRpb24gdGV4dCB3aGVuIHRoZSAoc3RpbGwgY2xvc2VkKSA8c2VsZWN0PiByZWNlaXZlcyBmb2N1c1xuICAgICAgLy8gaW4gSUUgYW5kICh1bmRlciBjZXJ0YWluIGNvbmRpdGlvbnMpIEVkZ2UuXG4gICAgICAvLyBTZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xOTM5OC5cbiAgICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmc7XG4gICAgfVxuICB9XG5cbiAgJlttdWx0aXBsZV0sXG4gICZbc2l6ZV06bm90KFtzaXplPVwiMVwiXSkge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkY3VzdG9tLXNlbGVjdC1wYWRkaW5nLXg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3VzdG9tLXNlbGVjdC1kaXNhYmxlZC1iZztcbiAgfVxuXG4gIC8vIEhpZGVzIHRoZSBkZWZhdWx0IGNhcmV0IGluIElFMTFcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxufVxuXG4uY3VzdG9tLXNlbGVjdC1zbSB7XG4gIGhlaWdodDogJGN1c3RvbS1zZWxlY3QtaGVpZ2h0LXNtO1xuICBwYWRkaW5nLXRvcDogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJGN1c3RvbS1zZWxlY3QtcGFkZGluZy15O1xuICBmb250LXNpemU6ICRjdXN0b20tc2VsZWN0LWZvbnQtc2l6ZS1zbTtcbn1cblxuLmN1c3RvbS1zZWxlY3QtbGcge1xuICBoZWlnaHQ6ICRjdXN0b20tc2VsZWN0LWhlaWdodC1sZztcbiAgcGFkZGluZy10b3A6ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRjdXN0b20tc2VsZWN0LXBhZGRpbmcteTtcbiAgZm9udC1zaXplOiAkY3VzdG9tLXNlbGVjdC1mb250LXNpemUtbGc7XG59XG5cblxuLy8gRmlsZVxuLy9cbi8vIEN1c3RvbSBmaWxlIGlucHV0LlxuXG4uY3VzdG9tLWZpbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGN1c3RvbS1maWxlLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmN1c3RvbS1maWxlLWlucHV0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkY3VzdG9tLWZpbGUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG4gIG9wYWNpdHk6IDA7XG5cbiAgJjpmb2N1cyB+IC5jdXN0b20tZmlsZS1jb250cm9sIHtcbiAgICBib3JkZXItY29sb3I6ICRjdXN0b20tZmlsZS1mb2N1cy1ib3JkZXItY29sb3I7XG4gICAgYm94LXNoYWRvdzogJGN1c3RvbS1maWxlLWZvY3VzLWJveC1zaGFkb3c7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkY3VzdG9tLWZpbGUtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRsYW5nLCAkdmFsdWUgaW4gJGN1c3RvbS1maWxlLXRleHQge1xuICAgICY6bGFuZygjeyRsYW5nfSkgfiAuY3VzdG9tLWZpbGUtbGFiZWw6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICR2YWx1ZTtcbiAgICB9XG4gIH1cbn1cblxuLmN1c3RvbS1maWxlLWxhYmVsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBoZWlnaHQ6ICRjdXN0b20tZmlsZS1oZWlnaHQ7XG4gIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgbGluZS1oZWlnaHQ6ICRjdXN0b20tZmlsZS1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRjdXN0b20tZmlsZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGN1c3RvbS1maWxlLWJnO1xuICBib3JkZXI6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY3VzdG9tLWZpbGUtYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJGN1c3RvbS1maWxlLWJveC1zaGFkb3cpO1xuXG4gICY6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogY2FsYygjeyRjdXN0b20tZmlsZS1oZWlnaHR9IC0gI3skY3VzdG9tLWZpbGUtYm9yZGVyLXdpZHRofSAqIDIpO1xuICAgIHBhZGRpbmc6ICRjdXN0b20tZmlsZS1wYWRkaW5nLXkgJGN1c3RvbS1maWxlLXBhZGRpbmcteDtcbiAgICBsaW5lLWhlaWdodDogJGN1c3RvbS1maWxlLWxpbmUtaGVpZ2h0O1xuICAgIGNvbG9yOiAkY3VzdG9tLWZpbGUtYnV0dG9uLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiQnJvd3NlXCI7XG4gICAgQGluY2x1ZGUgZ3JhZGllbnQtYmcoJGN1c3RvbS1maWxlLWJ1dHRvbi1iZyk7XG4gICAgYm9yZGVyLWxlZnQ6ICRjdXN0b20tZmlsZS1ib3JkZXItd2lkdGggc29saWQgJGN1c3RvbS1maWxlLWJvcmRlci1jb2xvcjtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDAgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgJGN1c3RvbS1maWxlLWJvcmRlci1yYWRpdXMgMCk7XG4gIH1cbn1cbiIsIi8vIEJhc2UgY2xhc3Ncbi8vXG4vLyBLaWNrc3RhcnQgYW55IG5hdmlnYXRpb24gY29tcG9uZW50IHdpdGggYSBzZXQgb2Ygc3R5bGUgcmVzZXRzLiBXb3JrcyB3aXRoXG4vLyBgPG5hdj5gcyBvciBgPHVsPmBzLlxuXG4ubmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5uYXYtbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkbmF2LWxpbmstcGFkZGluZy15ICRuYXYtbGluay1wYWRkaW5nLXg7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlIGxpZ2h0ZW5zIHRleHRcbiAgJi5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICRuYXYtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxufVxuXG4vL1xuLy8gVGFic1xuLy9cblxuLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCAkbmF2LXRhYnMtYm9yZGVyLWNvbG9yO1xuXG4gIC5uYXYtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gIH1cblxuICAubmF2LWxpbmsge1xuICAgIGJvcmRlcjogJG5hdi10YWJzLWJvcmRlci13aWR0aCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkbmF2LXRhYnMtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkbmF2LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLm5hdi1pdGVtLnNob3cgLm5hdi1saW5rIHtcbiAgICBjb2xvcjogJG5hdi10YWJzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRuYXYtdGFicy1saW5rLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAuZHJvcGRvd24tbWVudSB7XG4gICAgLy8gTWFrZSBkcm9wZG93biBib3JkZXIgb3ZlcmxhcCB0YWIgYm9yZGVyXG4gICAgbWFyZ2luLXRvcDogLSRuYXYtdGFicy1ib3JkZXItd2lkdGg7XG4gICAgLy8gUmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbiAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBQaWxsc1xuLy9cblxuLm5hdi1waWxscyB7XG4gIC5uYXYtbGluayB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkbmF2LXBpbGxzLWJvcmRlci1yYWRpdXMpO1xuICB9XG5cbiAgLm5hdi1saW5rLmFjdGl2ZSxcbiAgLnNob3cgPiAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAkbmF2LXBpbGxzLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtcGlsbHMtbGluay1hY3RpdmUtYmc7XG4gIH1cbn1cblxuXG4vL1xuLy8gSnVzdGlmaWVkIHZhcmlhbnRzXG4vL1xuXG4ubmF2LWZpbGwge1xuICAubmF2LWl0ZW0ge1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIC5uYXYtaXRlbSB7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gVGFiYmFibGUgdGFic1xuLy9cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuXG4udGFiLWNvbnRlbnQge1xuICA+IC50YWItcGFuZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICA+IC5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG4iLCIvLyBDb250ZW50c1xuLy9cbi8vIE5hdmJhclxuLy8gTmF2YmFyIGJyYW5kXG4vLyBOYXZiYXIgbmF2XG4vLyBOYXZiYXIgdGV4dFxuLy8gTmF2YmFyIGRpdmlkZXJcbi8vIFJlc3BvbnNpdmUgbmF2YmFyXG4vLyBOYXZiYXIgcG9zaXRpb25cbi8vIE5hdmJhciB0aGVtZXNcblxuXG4vLyBOYXZiYXJcbi8vXG4vLyBQcm92aWRlIGEgc3RhdGljIG5hdmJhciBmcm9tIHdoaWNoIHdlIGV4cGFuZCB0byBjcmVhdGUgZnVsbC13aWR0aCwgZml4ZWQsIGFuZFxuLy8gb3RoZXIgbmF2YmFyIHZhcmlhdGlvbnMuXG5cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgLy8gYWxsb3cgdXMgdG8gZG8gdGhlIGxpbmUgYnJlYWsgZm9yIGNvbGxhcHNpbmcgY29udGVudFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IC8vIHNwYWNlIG91dCBicmFuZCBmcm9tIGxvZ29cbiAgcGFkZGluZzogJG5hdmJhci1wYWRkaW5nLXkgJG5hdmJhci1wYWRkaW5nLXg7XG5cbiAgLy8gQmVjYXVzZSBmbGV4IHByb3BlcnRpZXMgYXJlbid0IGluaGVyaXRlZCwgd2UgbmVlZCB0byByZWRlY2xhcmUgdGhlc2UgZmlyc3RcbiAgLy8gZmV3IHByb3Blcml0aWVzIHNvIHRoYXQgY29udGVudCBuZXN0ZWQgd2l0aGluIGJlaGF2ZSBwcm9wZXJseS5cbiAgPiAuY29udGFpbmVyLFxuICA+IC5jb250YWluZXItZmx1aWQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGJyYW5kXG4vL1xuLy8gVXNlZCBmb3IgYnJhbmQsIHByb2plY3QsIG9yIHNpdGUgbmFtZXMuXG5cbi5uYXZiYXItYnJhbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2YmFyLWJyYW5kLXBhZGRpbmcteTtcbiAgcGFkZGluZy1ib3R0b206ICRuYXZiYXItYnJhbmQtcGFkZGluZy15O1xuICBtYXJnaW4tcmlnaHQ6ICRuYXZiYXItcGFkZGluZy14O1xuICBmb250LXNpemU6ICRuYXZiYXItYnJhbmQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIG5hdlxuLy9cbi8vIEN1c3RvbSBuYXZiYXIgbmF2aWdhdGlvbiAoZG9lc24ndCByZXF1aXJlIGAubmF2YCwgYnV0IGRvZXMgbWFrZSB1c2Ugb2YgYC5uYXYtbGlua2ApLlxuXG4ubmF2YmFyLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IC8vIGNhbm5vdCB1c2UgYGluaGVyaXRgIHRvIGdldCB0aGUgYC5uYXZiYXJgcyB2YWx1ZVxuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIHRleHRcbi8vXG4vL1xuXG4ubmF2YmFyLXRleHQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAkbmF2LWxpbmstcGFkZGluZy15O1xuICBwYWRkaW5nLWJvdHRvbTogJG5hdi1saW5rLXBhZGRpbmcteTtcbn1cblxuXG4vLyBSZXNwb25zaXZlIG5hdmJhclxuLy9cbi8vIEN1c3RvbSBzdHlsZXMgZm9yIHJlc3BvbnNpdmUgY29sbGFwc2luZyBhbmQgdG9nZ2xpbmcgb2YgbmF2YmFyIGNvbnRlbnRzLlxuLy8gUG93ZXJlZCBieSB0aGUgY29sbGFwc2UgQm9vdHN0cmFwIEphdmFTY3JpcHQgcGx1Z2luLlxuXG4vLyBXaGVuIGNvbGxhcHNlZCwgcHJldmVudCB0aGUgdG9nZ2xlYWJsZSBuYXZiYXIgY29udGVudHMgZnJvbSBhcHBlYXJpbmcgaW5cbi8vIHRoZSBkZWZhdWx0IGZsZXhib3ggcm93IG9yaWVuYXRpb24uIFJlcXVpcmVzIHRoZSB1c2Ugb2YgYGZsZXgtd3JhcDogd3JhcGBcbi8vIG9uIHRoZSBgLm5hdmJhcmAgcGFyZW50LlxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZ3JvdzogMTtcbiAgLy8gRm9yIGFsd2F5cyBleHBhbmRlZCBvciBleHRyYSBmdWxsIG5hdmJhcnMsIGVuc3VyZSBjb250ZW50IGFsaWducyBpdHNlbGZcbiAgLy8gcHJvcGVybHkgdmVydGljYWxseS4gQ2FuIGJlIGVhc2lseSBvdmVycmlkZGVuIHdpdGggZmxleCB1dGlsaXRpZXMuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi8vIEJ1dHRvbiBmb3IgdG9nZ2xpbmcgdGhlIG5hdmJhciB3aGVuIGluIGl0cyBjb2xsYXBzZWQgc3RhdGVcbi5uYXZiYXItdG9nZ2xlciB7XG4gIHBhZGRpbmc6ICRuYXZiYXItdG9nZ2xlci1wYWRkaW5nLXkgJG5hdmJhci10b2dnbGVyLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkbmF2YmFyLXRvZ2dsZXItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7IC8vIHJlbW92ZSBkZWZhdWx0IGJ1dHRvbiBzdHlsZVxuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRuYXZiYXItdG9nZ2xlci1ib3JkZXItcmFkaXVzKTtcblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgLy8gT3BpbmlvbmF0ZWQ6IGFkZCBcImhhbmRcIiBjdXJzb3IgdG8gbm9uLWRpc2FibGVkIC5uYXZiYXItdG9nZ2xlciBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLy8gS2VlcCBhcyBhIHNlcGFyYXRlIGVsZW1lbnQgc28gZm9sa3MgY2FuIGVhc2lseSBvdmVycmlkZSBpdCB3aXRoIGFub3RoZXIgaWNvblxuLy8gb3IgaW1hZ2UgZmlsZSBhcyBuZWVkZWQuXG4ubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNWVtO1xuICBoZWlnaHQ6IDEuNWVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjb250ZW50OiBcIlwiO1xuICBiYWNrZ3JvdW5kOiBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi8vIEdlbmVyYXRlIHNlcmllcyBvZiBgLm5hdmJhci1leHBhbmQtKmAgcmVzcG9uc2l2ZSBjbGFzc2VzIGZvciBjb25maWd1cmluZ1xuLy8gd2hlcmUgeW91ciBuYXZiYXIgY29sbGFwc2VzLlxuLm5hdmJhci1leHBhbmQge1xuICBAZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJG5leHQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgICYjeyRpbmZpeH0ge1xuICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicmVha3BvaW50KSB7XG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuZXh0KSB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgIC5uYXZiYXItbmF2IHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICAgICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5kcm9wZG93bi1tZW51LXJpZ2h0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgbGVmdDogYXV0bzsgLy8gUmVzZXQgdGhlIGRlZmF1bHQgZnJvbSBgLmRyb3Bkb3duLW1lbnVgXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRuYXZiYXItbmF2LWxpbmstcGFkZGluZy14O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkbmF2YmFyLW5hdi1saW5rLXBhZGRpbmcteDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBGb3IgbmVzdGluZyBjb250YWluZXJzLCBoYXZlIHRvIHJlZGVjbGFyZSBmb3IgYWxpZ25tZW50IHB1cnBvc2VzXG4gICAgICAgID4gLmNvbnRhaW5lcixcbiAgICAgICAgPiAuY29udGFpbmVyLWZsdWlkIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItY29sbGFwc2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgIC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbiAgICAgICAgICAvLyBDaGFuZ2VzIGZsZXgtYmFzZXMgdG8gYXV0byBiZWNhdXNlIG9mIGFuIElFMTAgYnVnXG4gICAgICAgICAgZmxleC1iYXNpczogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wdXAge1xuICAgICAgICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIGJvdHRvbTogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXZiYXIgdGhlbWVzXG4vL1xuLy8gU3R5bGVzIGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBuYXZiYXJzIHdpdGggbGlnaHQgb3IgZGFyayBiYWNrZ3JvdW5kLlxuXG4vLyBEYXJrIGxpbmtzIGFnYWluc3QgYSBsaWdodCBiYWNrZ3JvdW5kXG4ubmF2YmFyLWxpZ2h0IHtcbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItbmF2IHtcbiAgICAubmF2LWxpbmsge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGhvdmVyLWZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuc2hvdyA+IC5uYXYtbGluayxcbiAgICAuYWN0aXZlID4gLm5hdi1saW5rLFxuICAgIC5uYXYtbGluay5zaG93LFxuICAgIC5uYXYtbGluay5hY3RpdmUge1xuICAgICAgY29sb3I6ICRuYXZiYXItbGlnaHQtYWN0aXZlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgY29sb3I6ICRuYXZiYXItbGlnaHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWxpZ2h0LXRvZ2dsZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRuYXZiYXItbGlnaHQtdG9nZ2xlci1pY29uLWJnO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogJG5hdmJhci1saWdodC1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWxpZ2h0LWFjdGl2ZS1jb2xvcjtcblxuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1saWdodC1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdoaXRlIGxpbmtzIGFnYWluc3QgYSBkYXJrIGJhY2tncm91bmRcbi5uYXZiYXItZGFyayB7XG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6ICRuYXZiYXItZGFyay1hY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstaG92ZXItY29sb3I7XG4gICAgICB9XG5cbiAgICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWRpc2FibGVkLWNvbG9yO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93ID4gLm5hdi1saW5rLFxuICAgIC5hY3RpdmUgPiAubmF2LWxpbmssXG4gICAgLm5hdi1saW5rLnNob3csXG4gICAgLm5hdi1saW5rLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogJG5hdmJhci1kYXJrLWFjdGl2ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXIge1xuICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkbmF2YmFyLWRhcmstdG9nZ2xlci1ib3JkZXItY29sb3I7XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogJG5hdmJhci1kYXJrLXRvZ2dsZXItaWNvbi1iZztcbiAgfVxuXG4gIC5uYXZiYXItdGV4dCB7XG4gICAgY29sb3I6ICRuYXZiYXItZGFyay1jb2xvcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuXG4gICAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkbmF2YmFyLWRhcmstYWN0aXZlLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIEJhc2Ugc3R5bGVzXG4vL1xuXG4uY2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWluLXdpZHRoOiAwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IGJvcmRlci1ib3g7XG4gIGJvcmRlcjogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcblxuICA+IGhyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cblxuICA+IC5saXN0LWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuXG4gID4gLmxpc3QtZ3JvdXA6bGFzdC1jaGlsZCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpsYXN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIGJvcmRlci1ib3R0b20tcmFkaXVzKCRjYXJkLWJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1ib2R5IHtcbiAgLy8gRW5hYmxlIGBmbGV4LWdyb3c6IDFgIGZvciBkZWNrcyBhbmQgZ3JvdXBzIHNvIHRoYXQgY2FyZCBibG9ja3MgdGFrZSB1cFxuICAvLyBhcyBtdWNoIHNwYWNlIGFzIHBvc3NpYmxlLCBlbnN1cmluZyBmb290ZXJzIGFyZSBhbGlnbmVkIHRvIHRoZSBib3R0b20uXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteDtcbn1cblxuLmNhcmQtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAkY2FyZC1zcGFjZXIteTtcbn1cblxuLmNhcmQtc3VidGl0bGUge1xuICBtYXJnaW4tdG9wOiAtKCRjYXJkLXNwYWNlci15IC8gMik7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLXRleHQ6bGFzdC1jaGlsZCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5jYXJkLWxpbmsge1xuICBAaW5jbHVkZSBob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgKyAuY2FyZC1saW5rIHtcbiAgICBtYXJnaW4tbGVmdDogJGNhcmQtc3BhY2VyLXg7XG4gIH1cbn1cblxuLy9cbi8vIE9wdGlvbmFsIHRleHR1YWwgY2Fwc1xuLy9cblxuLmNhcmQtaGVhZGVyIHtcbiAgcGFkZGluZzogJGNhcmQtc3BhY2VyLXkgJGNhcmQtc3BhY2VyLXg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIFJlbW92ZXMgdGhlIGRlZmF1bHQgbWFyZ2luLWJvdHRvbSBvZiA8aE4+XG4gIGJhY2tncm91bmQtY29sb3I6ICRjYXJkLWNhcC1iZztcbiAgYm9yZGVyLWJvdHRvbTogJGNhcmQtYm9yZGVyLXdpZHRoIHNvbGlkICRjYXJkLWJvcmRlci1jb2xvcjtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRjYXJkLWlubmVyLWJvcmRlci1yYWRpdXMgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAwIDApO1xuICB9XG5cbiAgKyAubGlzdC1ncm91cCB7XG4gICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuXG4uY2FyZC1mb290ZXIge1xuICBwYWRkaW5nOiAkY2FyZC1zcGFjZXIteSAkY2FyZC1zcGFjZXIteDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNhcmQtY2FwLWJnO1xuICBib3JkZXItdG9wOiAkY2FyZC1ib3JkZXItd2lkdGggc29saWQgJGNhcmQtYm9yZGVyLWNvbG9yO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygwIDAgJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyAkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbiAgfVxufVxuXG5cbi8vXG4vLyBIZWFkZXIgbmF2c1xuLy9cblxuLmNhcmQtaGVhZGVyLXRhYnMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWJvdHRvbTogLSRjYXJkLXNwYWNlci15O1xuICBtYXJnaW4tbGVmdDogLSgkY2FyZC1zcGFjZXIteCAvIDIpO1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuXG4uY2FyZC1oZWFkZXItcGlsbHMge1xuICBtYXJnaW4tcmlnaHQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0oJGNhcmQtc3BhY2VyLXggLyAyKTtcbn1cblxuLy8gQ2FyZCBpbWFnZVxuLmNhcmQtaW1nLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcGFkZGluZzogJGNhcmQtaW1nLW92ZXJsYXktcGFkZGluZztcbn1cblxuLmNhcmQtaW1nIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gQ2FyZCBpbWFnZSBjYXBzXG4uY2FyZC1pbWctdG9wIHtcbiAgd2lkdGg6IDEwMCU7IC8vIFJlcXVpcmVkIGJlY2F1c2Ugd2UgdXNlIGZsZXhib3ggYW5kIHRoaXMgaW5oZXJlbnRseSBhcHBsaWVzIGFsaWduLXNlbGY6IHN0cmV0Y2hcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGNhcmQtaW5uZXItYm9yZGVyLXJhZGl1cyk7XG59XG5cbi5jYXJkLWltZy1ib3R0b20ge1xuICB3aWR0aDogMTAwJTsgLy8gUmVxdWlyZWQgYmVjYXVzZSB3ZSB1c2UgZmxleGJveCBhbmQgdGhpcyBpbmhlcmVudGx5IGFwcGxpZXMgYWxpZ24tc2VsZjogc3RyZXRjaFxuICBAaW5jbHVkZSBib3JkZXItYm90dG9tLXJhZGl1cygkY2FyZC1pbm5lci1ib3JkZXItcmFkaXVzKTtcbn1cblxuXG4vLyBDYXJkIGRlY2tcblxuLmNhcmQtZGVjayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWRlY2stbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNhcmQtZGVjay1tYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6IC0kY2FyZC1kZWNrLW1hcmdpbjtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAvLyBGbGV4YnVncyAjNDogaHR0cHM6Ly9naXRodWIuY29tL3BoaWxpcHdhbHRvbi9mbGV4YnVncyM0LWZsZXgtc2hvcnRoYW5kLWRlY2xhcmF0aW9ucy13aXRoLXVuaXRsZXNzLWZsZXgtYmFzaXMtdmFsdWVzLWFyZS1pZ25vcmVkXG4gICAgICBmbGV4OiAxIDAgMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkY2FyZC1kZWNrLW1hcmdpbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIE92ZXJyaWRlIHRoZSBkZWZhdWx0XG4gICAgICBtYXJnaW4tbGVmdDogJGNhcmQtZGVjay1tYXJnaW47XG4gICAgfVxuICB9XG59XG5cblxuLy9cbi8vIENhcmQgZ3JvdXBzXG4vL1xuXG4uY2FyZC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgLy8gVGhlIGNoaWxkIHNlbGVjdG9yIGFsbG93cyBuZXN0ZWQgYC5jYXJkYCB3aXRoaW4gYC5jYXJkLWdyb3VwYFxuICAvLyB0byBkaXNwbGF5IHByb3Blcmx5LlxuICA+IC5jYXJkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkY2FyZC1ncm91cC1tYXJnaW47XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAvLyBUaGUgY2hpbGQgc2VsZWN0b3IgYWxsb3dzIG5lc3RlZCBgLmNhcmRgIHdpdGhpbiBgLmNhcmQtZ3JvdXBgXG4gICAgLy8gdG8gZGlzcGxheSBwcm9wZXJseS5cbiAgICA+IC5jYXJkIHtcbiAgICAgIC8vIEZsZXhidWdzICM0OiBodHRwczovL2dpdGh1Yi5jb20vcGhpbGlwd2FsdG9uL2ZsZXhidWdzIzQtZmxleC1zaG9ydGhhbmQtZGVjbGFyYXRpb25zLXdpdGgtdW5pdGxlc3MtZmxleC1iYXNpcy12YWx1ZXMtYXJlLWlnbm9yZWRcbiAgICAgIGZsZXg6IDEgMCAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICsgLmNhcmQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICB9XG5cbiAgICAgIC8vIEhhbmRsZSByb3VuZGVkIGNvcm5lcnNcbiAgICAgIEBpZiAkZW5hYmxlLXJvdW5kZWQge1xuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtZm9vdGVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xuXG4gICAgICAgICAgLmNhcmQtaW1nLXRvcCxcbiAgICAgICAgICAuY2FyZC1oZWFkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm9ubHktY2hpbGQge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItdG9wLXJhZGl1cygkY2FyZC1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNhcmQtaW1nLWJvdHRvbSxcbiAgICAgICAgICAuY2FyZC1mb290ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGNhcmQtYm9yZGVyLXJhZGl1cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpOm5vdCg6b25seS1jaGlsZCkge1xuICAgICAgICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG5cbiAgICAgICAgICAuY2FyZC1pbWctdG9wLFxuICAgICAgICAgIC5jYXJkLWltZy1ib3R0b20sXG4gICAgICAgICAgLmNhcmQtaGVhZGVyLFxuICAgICAgICAgIC5jYXJkLWZvb3RlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi8vXG4vLyBDb2x1bW5zXG4vL1xuXG4uY2FyZC1jb2x1bW5zIHtcbiAgLmNhcmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRjYXJkLWNvbHVtbnMtbWFyZ2luO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgIGNvbHVtbi1jb3VudDogJGNhcmQtY29sdW1ucy1jb3VudDtcbiAgICBjb2x1bW4tZ2FwOiAkY2FyZC1jb2x1bW5zLWdhcDtcblxuICAgIC5jYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gRG9uJ3QgbGV0IHRoZW0gdmVydGljYWxseSBzcGFuIG11bHRpcGxlIGNvbHVtbnNcbiAgICAgIHdpZHRoOiAxMDAlOyAvLyBEb24ndCBsZXQgdGhlaXIgd2lkdGggY2hhbmdlXG4gICAgfVxuICB9XG59XG4iLCIuYnJlYWRjcnVtYiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogJGJyZWFkY3J1bWItcGFkZGluZy15ICRicmVhZGNydW1iLXBhZGRpbmcteDtcbiAgbWFyZ2luLWJvdHRvbTogJGJyZWFkY3J1bWItbWFyZ2luLWJvdHRvbTtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJyZWFkY3J1bWItYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xufVxuXG4uYnJlYWRjcnVtYi1pdGVtIHtcbiAgLy8gVGhlIHNlcGFyYXRvciBiZXR3ZWVuIGJyZWFkY3J1bWJzIChieSBkZWZhdWx0LCBhIGZvcndhcmQtc2xhc2g6IFwiL1wiKVxuICArIC5icmVhZGNydW1iLWl0ZW06OmJlZm9yZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvLyBTdXBwcmVzcyB1bmRlcmxpbmluZyBvZiB0aGUgc2VwYXJhdG9yIGluIG1vZGVybiBicm93c2Vyc1xuICAgIHBhZGRpbmctcmlnaHQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICBwYWRkaW5nLWxlZnQ6ICRicmVhZGNydW1iLWl0ZW0tcGFkZGluZztcbiAgICBjb2xvcjogJGJyZWFkY3J1bWItZGl2aWRlci1jb2xvcjtcbiAgICBjb250ZW50OiBcIiN7JGJyZWFkY3J1bWItZGl2aWRlcn1cIjtcbiAgfVxuXG4gIC8vIElFOS0xMSBoYWNrIHRvIHByb3Blcmx5IGhhbmRsZSBoeXBlcmxpbmsgdW5kZXJsaW5lcyBmb3IgYnJlYWRjcnVtYnMgYnVpbHRcbiAgLy8gd2l0aG91dCBgPHVsPmBzLiBUaGUgYDo6YmVmb3JlYCBwc2V1ZG8tZWxlbWVudCBnZW5lcmF0ZXMgYW4gZWxlbWVudFxuICAvLyAqd2l0aGluKiB0aGUgLmJyZWFkY3J1bWItaXRlbSBhbmQgdGhlcmVieSBpbmhlcml0cyB0aGUgYHRleHQtZGVjb3JhdGlvbmAuXG4gIC8vXG4gIC8vIFRvIHRyaWNrIElFIGludG8gc3VwcHJlc3NpbmcgdGhlIHVuZGVybGluZSwgd2UgZ2l2ZSB0aGUgcHNldWRvLWVsZW1lbnQgYW5cbiAgLy8gdW5kZXJsaW5lIGFuZCB0aGVuIGltbWVkaWF0ZWx5IHJlbW92ZSBpdC5cbiAgKyAuYnJlYWRjcnVtYi1pdGVtOmhvdmVyOjpiZWZvcmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIC8vIHN0eWxlbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1kdXBsaWNhdGUtc2VsZWN0b3JzXG4gICsgLmJyZWFkY3J1bWItaXRlbTpob3Zlcjo6YmVmb3JlIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmFjdGl2ZSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLnBhZ2luYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkKCk7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoKTtcbn1cblxuLnBhZ2UtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLXBhZGRpbmcteSAkcGFnaW5hdGlvbi1wYWRkaW5nLXg7XG4gIG1hcmdpbi1sZWZ0OiAtJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoO1xuICBsaW5lLWhlaWdodDogJHBhZ2luYXRpb24tbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tYmc7XG4gIGJvcmRlcjogJHBhZ2luYXRpb24tYm9yZGVyLXdpZHRoIHNvbGlkICRwYWdpbmF0aW9uLWJvcmRlci1jb2xvcjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgIGJvcmRlci1jb2xvcjogJHBhZ2luYXRpb24taG92ZXItYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgei1pbmRleDogMjtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJveC1zaGFkb3c6ICRwYWdpbmF0aW9uLWZvY3VzLWJveC1zaGFkb3c7XG4gIH1cblxuICAvLyBPcGluaW9uYXRlZDogYWRkIFwiaGFuZFwiIGN1cnNvciB0byBub24tZGlzYWJsZWQgLnBhZ2UtbGluayBlbGVtZW50c1xuICAmOm5vdCg6ZGlzYWJsZWQpOm5vdCguZGlzYWJsZWQpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuLnBhZ2UtaXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBAaW5jbHVkZSBib3JkZXItbGVmdC1yYWRpdXMoJGJvcmRlci1yYWRpdXMpO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIC5wYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgfVxuICB9XG5cbiAgJi5hY3RpdmUgLnBhZ2UtbGluayB7XG4gICAgei1pbmRleDogMTtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cblxuICAmLmRpc2FibGVkIC5wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAvLyBPcGluaW9uYXRlZDogcmVtb3ZlIHRoZSBcImhhbmRcIiBjdXJzb3Igc2V0IHByZXZpb3VzbHkgZm9yIC5wYWdlLWxpbmtcbiAgICBjdXJzb3I6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHBhZ2luYXRpb24tZGlzYWJsZWQtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiAkcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vL1xuLy8gU2l6aW5nXG4vL1xuXG4ucGFnaW5hdGlvbi1sZyB7XG4gIEBpbmNsdWRlIHBhZ2luYXRpb24tc2l6ZSgkcGFnaW5hdGlvbi1wYWRkaW5nLXktbGcsICRwYWdpbmF0aW9uLXBhZGRpbmcteC1sZywgJGZvbnQtc2l6ZS1sZywgJGxpbmUtaGVpZ2h0LWxnLCAkYm9yZGVyLXJhZGl1cy1sZyk7XG59XG5cbi5wYWdpbmF0aW9uLXNtIHtcbiAgQGluY2x1ZGUgcGFnaW5hdGlvbi1zaXplKCRwYWdpbmF0aW9uLXBhZGRpbmcteS1zbSwgJHBhZ2luYXRpb24tcGFkZGluZy14LXNtLCAkZm9udC1zaXplLXNtLCAkbGluZS1oZWlnaHQtc20sICRib3JkZXItcmFkaXVzLXNtKTtcbn1cbiIsIi8vIFBhZ2luYXRpb25cblxuQG1peGluIHBhZ2luYXRpb24tc2l6ZSgkcGFkZGluZy15LCAkcGFkZGluZy14LCAkZm9udC1zaXplLCAkbGluZS1oZWlnaHQsICRib3JkZXItcmFkaXVzKSB7XG4gIC5wYWdlLWxpbmsge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nLXkgJHBhZGRpbmcteDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodDtcbiAgfVxuXG4gIC5wYWdlLWl0ZW0ge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGJvcmRlci1sZWZ0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJpZ2h0LXJhZGl1cygkYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gUmVxdWlyZXMgb25lIG9mIHRoZSBjb250ZXh0dWFsLCBjb2xvciBtb2RpZmllciBjbGFzc2VzIGZvciBgY29sb3JgIGFuZFxuLy8gYGJhY2tncm91bmQtY29sb3JgLlxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nLXkgJGJhZGdlLXBhZGRpbmcteDtcbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGJhZGdlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJhZGdlLWJvcmRlci1yYWRpdXMpO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5XG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gUXVpY2sgZml4IGZvciBiYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biAuYmFkZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTFweDtcbn1cblxuLy8gUGlsbCBiYWRnZXNcbi8vXG4vLyBNYWtlIHRoZW0gZXh0cmEgcm91bmRlZCB3aXRoIGEgbW9kaWZpZXIgdG8gcmVwbGFjZSB2MydzIGJhZGdlcy5cblxuLmJhZGdlLXBpbGwge1xuICBwYWRkaW5nLXJpZ2h0OiAkYmFkZ2UtcGlsbC1wYWRkaW5nLXg7XG4gIHBhZGRpbmctbGVmdDogJGJhZGdlLXBpbGwtcGFkZGluZy14O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRiYWRnZS1waWxsLWJvcmRlci1yYWRpdXMpO1xufVxuXG4vLyBDb2xvcnNcbi8vXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnMgKGxpbmtlZCBiYWRnZXMgZ2V0IGRhcmtlciBvbiA6aG92ZXIpLlxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgLmJhZGdlLSN7JGNvbG9yfSB7XG4gICAgQGluY2x1ZGUgYmFkZ2UtdmFyaWFudCgkdmFsdWUpO1xuICB9XG59XG4iLCJAbWl4aW4gYmFkZ2UtdmFyaWFudCgkYmcpIHtcbiAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7XG5cbiAgJltocmVmXSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgY29sb3I6IGNvbG9yLXlpcSgkYmcpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRiZywgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5qdW1ib3Ryb24ge1xuICBwYWRkaW5nOiAkanVtYm90cm9uLXBhZGRpbmcgKCRqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAkanVtYm90cm9uLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6ICRqdW1ib3Ryb24tYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICBwYWRkaW5nOiAoJGp1bWJvdHJvbi1wYWRkaW5nICogMikgJGp1bWJvdHJvbi1wYWRkaW5nO1xuICB9XG59XG5cbi5qdW1ib3Ryb24tZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gQmFzZSBzdHlsZXNcbi8vXG5cbi5hbGVydCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAkYWxlcnQtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAkYWxlcnQtYm9yZGVyLXdpZHRoIHNvbGlkIHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKCRhbGVydC1ib3JkZXItcmFkaXVzKTtcbn1cblxuLy8gSGVhZGluZ3MgZm9yIGxhcmdlciBhbGVydHNcbi5hbGVydC1oZWFkaW5nIHtcbiAgLy8gU3BlY2lmaWVkIHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nICRoZWFkaW5ncy1jb2xvclxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbi5hbGVydC1saW5rIHtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1saW5rLWZvbnQtd2VpZ2h0O1xufVxuXG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2libGUge1xuICBwYWRkaW5nLXJpZ2h0OiAoJGNsb3NlLWZvbnQtc2l6ZSArICRhbGVydC1wYWRkaW5nLXggKiAyKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogJGFsZXJ0LXBhZGRpbmcteSAkYWxlcnQtcGFkZGluZy14O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cblxuLy8gQWx0ZXJuYXRlIHN0eWxlc1xuLy9cbi8vIEdlbmVyYXRlIGNvbnRleHR1YWwgbW9kaWZpZXIgY2xhc3NlcyBmb3IgY29sb3JpemluZyB0aGUgYWxlcnQuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICAuYWxlcnQtI3skY29sb3J9IHtcbiAgICBAaW5jbHVkZSBhbGVydC12YXJpYW50KHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgJGFsZXJ0LWJnLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtYm9yZGVyLWxldmVsKSwgdGhlbWUtY29sb3ItbGV2ZWwoJGNvbG9yLCAkYWxlcnQtY29sb3ItbGV2ZWwpKTtcbiAgfVxufVxuIiwiQG1peGluIGFsZXJ0LXZhcmlhbnQoJGJhY2tncm91bmQsICRib3JkZXIsICRjb2xvcikge1xuICBjb2xvcjogJGNvbG9yO1xuICBAaW5jbHVkZSBncmFkaWVudC1iZygkYmFja2dyb3VuZCk7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKCRib3JkZXIsIDUlKTtcbiAgfVxuXG4gIC5hbGVydC1saW5rIHtcbiAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcHJvZ3Jlc3MtaGVpZ2h0IDA7IH1cbiAgdG8geyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLnByb2dyZXNzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBvdmVyZmxvdzogaGlkZGVuOyAvLyBmb3JjZSByb3VuZGVkIGNvcm5lcnMgYnkgY3JvcHBpbmcgaXRcbiAgZm9udC1zaXplOiAkcHJvZ3Jlc3MtZm9udC1zaXplO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHByb2dyZXNzLWJvcmRlci1yYWRpdXMpO1xuICBAaW5jbHVkZSBib3gtc2hhZG93KCRwcm9ncmVzcy1ib3gtc2hhZG93KTtcbn1cblxuLnByb2dyZXNzLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBjb2xvcjogJHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWJnO1xuICBAaW5jbHVkZSB0cmFuc2l0aW9uKCRwcm9ncmVzcy1iYXItdHJhbnNpdGlvbik7XG59XG5cbi5wcm9ncmVzcy1iYXItc3RyaXBlZCB7XG4gIEBpbmNsdWRlIGdyYWRpZW50LXN0cmlwZWQoKTtcbiAgYmFja2dyb3VuZC1zaXplOiAkcHJvZ3Jlc3MtaGVpZ2h0ICRwcm9ncmVzcy1oZWlnaHQ7XG59XG5cbi5wcm9ncmVzcy1iYXItYW5pbWF0ZWQge1xuICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzICRwcm9ncmVzcy1iYXItYW5pbWF0aW9uLXRpbWluZztcbn1cbiIsIi5tZWRpYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4ubWVkaWEtYm9keSB7XG4gIGZsZXg6IDE7XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4vL1xuLy8gRWFzaWx5IHVzYWJsZSBvbiA8dWw+LCA8b2w+LCBvciA8ZGl2Pi5cblxuLmxpc3QtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIC8vIE5vIG5lZWQgdG8gc2V0IGxpc3Qtc3R5bGU6IG5vbmU7IHNpbmNlIC5saXN0LWdyb3VwLWl0ZW0gaXMgYmxvY2sgbGV2ZWxcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyByZXNldCBwYWRkaW5nIGJlY2F1c2UgdWwgYW5kIG9sXG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5cblxuLy8gSW50ZXJhY3RpdmUgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBhbmNob3Igb3IgYnV0dG9uIGVsZW1lbnRzIGluc3RlYWQgb2YgYGxpYHMgb3IgYGRpdmBzIHRvIGNyZWF0ZSBpbnRlcmFjdGl2ZVxuLy8gbGlzdCBpdGVtcy4gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzZWxlY3RlZCBpdGVtcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICB3aWR0aDogMTAwJTsgLy8gRm9yIGA8YnV0dG9uPmBzIChhbmNob3JzIGJlY29tZSAxMDAlIGJ5IGRlZmF1bHQgdGhvdWdoKVxuICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBpbmhlcml0OyAvLyBGb3IgYDxidXR0b24+YHMgKGFuY2hvcnMgaW5oZXJpdClcblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1ob3Zlci1jb2xvcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgY29sb3I6ICRsaXN0LWdyb3VwLWFjdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtYWN0aW9uLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIEluZGl2aWR1YWwgbGlzdCBpdGVtc1xuLy9cbi8vIFVzZSBvbiBgbGlgcyBvciBgZGl2YHMgd2l0aGluIHRoZSBgLmxpc3QtZ3JvdXBgIHBhcmVudC5cblxuLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy15ICRsaXN0LWdyb3VwLWl0ZW0tcGFkZGluZy14O1xuICAvLyBQbGFjZSB0aGUgYm9yZGVyIG9uIHRoZSBsaXN0IGl0ZW1zIGFuZCBuZWdhdGl2ZSBtYXJnaW4gdXAgZm9yIGJldHRlciBzdHlsaW5nXG4gIG1hcmdpbi1ib3R0b206IC0kbGlzdC1ncm91cC1ib3JkZXItd2lkdGg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWJnO1xuICBib3JkZXI6ICRsaXN0LWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZCAkbGlzdC1ncm91cC1ib3JkZXItY29sb3I7XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgQGluY2x1ZGUgYm9yZGVyLWJvdHRvbS1yYWRpdXMoJGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cblxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgei1pbmRleDogMTsgLy8gUGxhY2UgaG92ZXIvYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAmLmRpc2FibGVkLFxuICAmOmRpc2FibGVkIHtcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gIH1cblxuICAvLyBJbmNsdWRlIGJvdGggaGVyZSBmb3IgYDxhPmBzIGFuZCBgPGJ1dHRvbj5gc1xuICAmLmFjdGl2ZSB7XG4gICAgei1pbmRleDogMjsgLy8gUGxhY2UgYWN0aXZlIGl0ZW1zIGFib3ZlIHRoZWlyIHNpYmxpbmdzIGZvciBwcm9wZXIgYm9yZGVyIHN0eWxpbmdcbiAgICBjb2xvcjogJGxpc3QtZ3JvdXAtYWN0aXZlLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1iZztcbiAgICBib3JkZXItY29sb3I6ICRsaXN0LWdyb3VwLWFjdGl2ZS1ib3JkZXItY29sb3I7XG4gIH1cbn1cblxuXG4vLyBGbHVzaCBsaXN0IGl0ZW1zXG4vL1xuLy8gUmVtb3ZlIGJvcmRlcnMgYW5kIGJvcmRlci1yYWRpdXMgdG8ga2VlcCBsaXN0IGdyb3VwIGl0ZW1zIGVkZ2UtdG8tZWRnZS4gTW9zdFxuLy8gdXNlZnVsIHdpdGhpbiBvdGhlciBjb21wb25lbnRzIChlLmcuLCBjYXJkcykuXG5cbi5saXN0LWdyb3VwLWZsdXNoIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMCk7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhbnRzXG4vL1xuLy8gQWRkIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRleHQgYW5kIGJhY2tncm91bmQgY29sb3Igb24gaW5kaXZpZHVhbCBpdGVtcy5cbi8vIE9yZ2FuaXphdGlvbmFsbHksIHRoaXMgbXVzdCBjb21lIGFmdGVyIHRoZSBgOmhvdmVyYCBzdGF0ZXMuXG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkY29sb3IsIHRoZW1lLWNvbG9yLWxldmVsKCRjb2xvciwgLTkpLCB0aGVtZS1jb2xvci1sZXZlbCgkY29sb3IsIDYpKTtcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbkBtaXhpbiBsaXN0LWdyb3VwLWl0ZW0tdmFyaWFudCgkc3RhdGUsICRiYWNrZ3JvdW5kLCAkY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS0jeyRzdGF0ZX0ge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgICAmLmxpc3QtZ3JvdXAtaXRlbS1hY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgICBjb2xvcjogJGNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGJhY2tncm91bmQsIDUlKTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6ICRjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAkY2xvc2UtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6ICRjbG9zZS10ZXh0LXNoYWRvdztcbiAgb3BhY2l0eTogLjU7XG5cbiAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIG9wYWNpdHk6IC43NTtcbiAgfVxuXG4gIC8vIE9waW5pb25hdGVkOiBhZGQgXCJoYW5kXCIgY3Vyc29yIHRvIG5vbi1kaXNhYmxlZCAuY2xvc2UgZWxlbWVudHNcbiAgJjpub3QoOmRpc2FibGVkKTpub3QoLmRpc2FibGVkKSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG4vLyBTZWUgaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvRXZlbnRzL2NsaWNrI1NhZmFyaV9Nb2JpbGVcblxuLy8gc3R5bGVsaW50LWRpc2FibGUgcHJvcGVydHktbm8tdmVuZG9yLXByZWZpeCwgc2VsZWN0b3Itbm8tcXVhbGlmeWluZy10eXBlXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG4vLyBzdHlsZWxpbnQtZW5hYmxlXG4iLCIvLyAubW9kYWwtb3BlbiAgICAgIC0gYm9keSBjbGFzcyBmb3Iga2lsbGluZyB0aGUgc2Nyb2xsXG4vLyAubW9kYWwgICAgICAgICAgIC0gY29udGFpbmVyIHRvIHNjcm9sbCB3aXRoaW5cbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxuLy8gLm1vZGFsLWNvbnRlbnQgICAtIGFjdHVhbCBtb2RhbCB3LyBiZyBhbmQgY29ybmVycyBhbmQgc3R1ZmZcblxuXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcbi5tb2RhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8gQ29udGFpbmVyIHRoYXQgdGhlIG1vZGFsIHNjcm9sbHMgd2l0aGluXG4ubW9kYWwge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHppbmRleC1tb2RhbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG4gIC8vIFdlIGRlbGliZXJhdGVseSBkb24ndCB1c2UgYC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtgIGR1ZSB0byBhXG4gIC8vIGduYXJseSBpT1MgU2FmYXJpIGJ1ZzogaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1ODM0MlxuICAvLyBTZWUgYWxzbyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzE3Njk1XG5cbiAgLm1vZGFsLW9wZW4gJiB7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cbn1cblxuLy8gU2hlbGwgZGl2IHRvIHBvc2l0aW9uIHRoZSBtb2RhbCB3aXRoIGJvdHRvbSBwYWRkaW5nXG4ubW9kYWwtZGlhbG9nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bztcbiAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbjtcbiAgLy8gYWxsb3cgY2xpY2tzIHRvIHBhc3MgdGhyb3VnaCBmb3IgY3VzdG9tIGNsaWNrIGhhbmRsaW5nIHRvIGNsb3NlIG1vZGFsXG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXG4gIC5tb2RhbC5mYWRlICYge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24oJG1vZGFsLXRyYW5zaXRpb24pO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC0yNSUpO1xuICB9XG4gIC5tb2RhbC5zaG93ICYge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi5tb2RhbC1kaWFsb2ctY2VudGVyZWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbn0gKiAyKSk7XG59XG5cbi8vIEFjdHVhbCBtb2RhbFxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHdpZHRoOiAxMDAlOyAvLyBFbnN1cmUgYC5tb2RhbC1jb250ZW50YCBleHRlbmRzIHRoZSBmdWxsIHdpZHRoIG9mIHRoZSBwYXJlbnQgYC5tb2RhbC1kaWFsb2dgXG4gIC8vIGNvdW50ZXJhY3QgdGhlIHBvaW50ZXItZXZlbnRzOiBub25lOyBpbiB0aGUgLm1vZGFsLWRpYWxvZ1xuICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgYmFja2dyb3VuZC1jb2xvcjogJG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogJG1vZGFsLWNvbnRlbnQtYm9yZGVyLXdpZHRoIHNvbGlkICRtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkYm9yZGVyLXJhZGl1cy1sZyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJG1vZGFsLWNvbnRlbnQtYm94LXNoYWRvdy14cyk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LW1vZGFsLWJhY2tkcm9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtYmFja2Ryb3AtYmc7XG5cbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgb3BhY2l0eTogMDsgfVxuICAmLnNob3cgeyBvcGFjaXR5OiAkbW9kYWwtYmFja2Ryb3Atb3BhY2l0eTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyAvLyBzbyB0aGUgY2xvc2UgYnRuIGFsd2F5cyBzdGF5cyBvbiB0aGUgdXBwZXIgcmlnaHQgY29ybmVyXG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgLy8gUHV0IG1vZGFsIGhlYWRlciBlbGVtZW50cyAodGl0bGUgYW5kIGRpc21pc3MpIG9uIG9wcG9zaXRlIGVuZHNcbiAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAkbW9kYWwtaGVhZGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjtcbiAgQGluY2x1ZGUgYm9yZGVyLXRvcC1yYWRpdXMoJGJvcmRlci1yYWRpdXMtbGcpO1xuXG4gIC5jbG9zZSB7XG4gICAgcGFkZGluZzogJG1vZGFsLWhlYWRlci1wYWRkaW5nO1xuICAgIC8vIGF1dG8gb24gdGhlIGxlZnQgZm9yY2UgaWNvbiB0byB0aGUgcmlnaHQgZXZlbiB3aGVuIHRoZXJlIGlzIG5vIC5tb2RhbC10aXRsZVxuICAgIG1hcmdpbjogKC0kbW9kYWwtaGVhZGVyLXBhZGRpbmcpICgtJG1vZGFsLWhlYWRlci1wYWRkaW5nKSAoLSRtb2RhbC1oZWFkZXItcGFkZGluZykgYXV0bztcbiAgfVxufVxuXG4vLyBUaXRsZSB0ZXh0IHdpdGhpbiBoZWFkZXJcbi5tb2RhbC10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGxpbmUtaGVpZ2h0OiAkbW9kYWwtdGl0bGUtbGluZS1oZWlnaHQ7XG59XG5cbi8vIE1vZGFsIGJvZHlcbi8vIFdoZXJlIGFsbCBtb2RhbCBjb250ZW50IHJlc2lkZXMgKHNpYmxpbmcgb2YgLm1vZGFsLWhlYWRlciBhbmQgLm1vZGFsLWZvb3Rlcilcbi5tb2RhbC1ib2R5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBFbmFibGUgYGZsZXgtZ3JvdzogMWAgc28gdGhhdCB0aGUgYm9keSB0YWtlIHVwIGFzIG11Y2ggc3BhY2UgYXMgcG9zc2libGVcbiAgLy8gd2hlbiBzaG91bGQgdGhlcmUgYmUgYSBmaXhlZCBoZWlnaHQgb24gYC5tb2RhbC1kaWFsb2dgLlxuICBmbGV4OiAxIDEgYXV0bztcbiAgcGFkZGluZzogJG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgLy8gdmVydGljYWxseSBjZW50ZXJcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgLy8gUmlnaHQgYWxpZ24gYnV0dG9ucyB3aXRoIGZsZXggcHJvcGVydHkgYmVjYXVzZSB0ZXh0LWFsaWduIGRvZXNuJ3Qgd29yayBvbiBmbGV4IGl0ZW1zXG4gIHBhZGRpbmc6ICRtb2RhbC1pbm5lci1wYWRkaW5nO1xuICBib3JkZXItdG9wOiAkbW9kYWwtZm9vdGVyLWJvcmRlci13aWR0aCBzb2xpZCAkbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcblxuICAvLyBFYXNpbHkgcGxhY2UgbWFyZ2luIGJldHdlZW4gZm9vdGVyIGVsZW1lbnRzXG4gID4gOm5vdCg6Zmlyc3QtY2hpbGQpIHsgbWFyZ2luLWxlZnQ6IC4yNXJlbTsgfVxuICA+IDpub3QoOmxhc3QtY2hpbGQpIHsgbWFyZ2luLXJpZ2h0OiAuMjVyZW07IH1cbn1cblxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXG4ubW9kYWwtc2Nyb2xsYmFyLW1lYXN1cmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTk5OTlweDtcbiAgd2lkdGg6IDUwcHg7XG4gIGhlaWdodDogNTBweDtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbn1cblxuLy8gU2NhbGUgdXAgdGhlIG1vZGFsXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gIC8vIEF1dG9tYXRpY2FsbHkgc2V0IG1vZGFsJ3Mgd2lkdGggZm9yIGxhcmdlciB2aWV3cG9ydHNcbiAgLm1vZGFsLWRpYWxvZyB7XG4gICAgbWF4LXdpZHRoOiAkbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAkbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwIGF1dG87XG4gIH1cblxuICAubW9kYWwtZGlhbG9nLWNlbnRlcmVkIHtcbiAgICBtaW4taGVpZ2h0OiBjYWxjKDEwMCUgLSAoI3skbW9kYWwtZGlhbG9nLW1hcmdpbi15LXNtLXVwfSAqIDIpKTtcbiAgfVxuXG4gIC5tb2RhbC1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBib3gtc2hhZG93KCRtb2RhbC1jb250ZW50LWJveC1zaGFkb3ctc20tdXApO1xuICB9XG5cbiAgLm1vZGFsLXNtIHsgbWF4LXdpZHRoOiAkbW9kYWwtc207IH1cblxufVxuXG5AaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gIC5tb2RhbC1sZyB7IG1heC13aWR0aDogJG1vZGFsLWxnOyB9XG59XG4iLCIvLyBCYXNlIGNsYXNzXG4udG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogJHppbmRleC10b29sdGlwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAkdG9vbHRpcC1tYXJnaW47XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHRvb2x0aXBzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgQGluY2x1ZGUgcmVzZXQtdGV4dCgpO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgLy8gQWxsb3cgYnJlYWtpbmcgdmVyeSBsb25nIHdvcmRzIHNvIHRoZXkgZG9uJ3Qgb3ZlcmZsb3cgdGhlIHRvb2x0aXAncyBib3VuZHNcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICBvcGFjaXR5OiAwO1xuXG4gICYuc2hvdyB7IG9wYWNpdHk6ICR0b29sdGlwLW9wYWNpdHk7IH1cblxuICAuYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC10b3Age1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIGJvdHRvbTogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3JkZXItd2lkdGg6ICR0b29sdGlwLWFycm93LWhlaWdodCAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwO1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLXJpZ2h0IHtcbiAgcGFkZGluZzogMCAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvcmRlci13aWR0aDogKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0ICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpIDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6ICR0b29sdGlwLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG4uYnMtdG9vbHRpcC1ib3R0b20ge1xuICBwYWRkaW5nOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQgMDtcblxuICAuYXJyb3cge1xuICAgIHRvcDogMDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBib3JkZXItd2lkdGg6IDAgKCR0b29sdGlwLWFycm93LXdpZHRoIC8gMikgJHRvb2x0aXAtYXJyb3ctaGVpZ2h0O1xuICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gICAgfVxuICB9XG59XG5cbi5icy10b29sdGlwLWxlZnQge1xuICBwYWRkaW5nOiAwICR0b29sdGlwLWFycm93LWhlaWdodDtcblxuICAuYXJyb3cge1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAkdG9vbHRpcC1hcnJvdy1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkdG9vbHRpcC1hcnJvdy13aWR0aDtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAoJHRvb2x0aXAtYXJyb3ctd2lkdGggLyAyKSAwICgkdG9vbHRpcC1hcnJvdy13aWR0aCAvIDIpICR0b29sdGlwLWFycm93LWhlaWdodDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXRvb2x0aXAtYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy10b29sdGlwLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXRvb2x0aXAtbGVmdDtcbiAgfVxufVxuXG4vLyBXcmFwcGVyIGZvciB0aGUgdG9vbHRpcCBjb250ZW50XG4udG9vbHRpcC1pbm5lciB7XG4gIG1heC13aWR0aDogJHRvb2x0aXAtbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nLXkgJHRvb2x0aXAtcGFkZGluZy14O1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmc7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHRvb2x0aXAtYm9yZGVyLXJhZGl1cyk7XG59XG4iLCJAbWl4aW4gcmVzZXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTtcbiAgLy8gV2UgZGVsaWJlcmF0ZWx5IGRvIE5PVCByZXNldCBmb250LXNpemUgb3Igd29yZC13cmFwLlxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7IC8vIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgZGVjbGFyYXRpb24tYmxvY2stbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIGxpbmUtYnJlYWs6IGF1dG87XG59XG4iLCIucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6ICRwb3BvdmVyLW1heC13aWR0aDtcbiAgLy8gT3VyIHBhcmVudCBlbGVtZW50IGNhbiBiZSBhcmJpdHJhcnkgc2luY2UgdG9vbHRpcHMgYXJlIGJ5IGRlZmF1bHQgaW5zZXJ0ZWQgYXMgYSBzaWJsaW5nIG9mIHRoZWlyIHRhcmdldCBlbGVtZW50LlxuICAvLyBTbyByZXNldCBvdXIgZm9udCBhbmQgdGV4dCBwcm9wZXJ0aWVzIHRvIGF2b2lkIGluaGVyaXRpbmcgd2VpcmQgdmFsdWVzLlxuICBAaW5jbHVkZSByZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogJHBvcG92ZXItZm9udC1zaXplO1xuICAvLyBBbGxvdyBicmVha2luZyB2ZXJ5IGxvbmcgd29yZHMgc28gdGhleSBkb24ndCBvdmVyZmxvdyB0aGUgcG9wb3ZlcidzIGJvdW5kc1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwb3BvdmVyLWJnO1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1ib3JkZXItY29sb3I7XG4gIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoJHBvcG92ZXItYm9yZGVyLXJhZGl1cyk7XG4gIEBpbmNsdWRlIGJveC1zaGFkb3coJHBvcG92ZXItYm94LXNoYWRvdyk7XG5cbiAgLmFycm93IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIG1hcmdpbjogMCAkYm9yZGVyLXJhZGl1cy1sZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItdG9wIHtcbiAgbWFyZ2luLWJvdHRvbTogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgYm90dG9tOiBjYWxjKCgjeyRwb3BvdmVyLWFycm93LWhlaWdodH0gKyAjeyRwb3BvdmVyLWJvcmRlci13aWR0aH0pICogLTEpO1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpIDA7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgYm90dG9tOiAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItcmlnaHQge1xuICBtYXJnaW4tbGVmdDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgbGVmdDogY2FsYygoI3skcG9wb3Zlci1hcnJvdy1oZWlnaHR9ICsgI3skcG9wb3Zlci1ib3JkZXItd2lkdGh9KSAqIC0xKTtcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuICAgIGhlaWdodDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luOiAkYm9yZGVyLXJhZGl1cy1sZyAwOyAvLyBtYWtlIHN1cmUgdGhlIGFycm93IGRvZXMgbm90IHRvdWNoIHRoZSBwb3BvdmVyJ3Mgcm91bmRlZCBjb3JuZXJzXG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQgKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMDtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICBsZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICBsZWZ0OiAkcG9wb3Zlci1ib3JkZXItd2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxufVxuXG4uYnMtcG9wb3Zlci1ib3R0b20ge1xuICBtYXJnaW4tdG9wOiAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG5cbiAgLmFycm93IHtcbiAgICB0b3A6IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSxcbiAgLmFycm93OjphZnRlciB7XG4gICAgYm9yZGVyLXdpZHRoOiAwICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIDIpICRwb3BvdmVyLWFycm93LWhlaWdodCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKTtcbiAgfVxuXG4gIC5hcnJvdzo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gIH1cblxuICAuYXJyb3c6OmFmdGVyIHtcbiAgICB0b3A6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgfVxuXG4gIC8vIFRoaXMgd2lsbCByZW1vdmUgdGhlIHBvcG92ZXItaGVhZGVyJ3MgYm9yZGVyIGp1c3QgYmVsb3cgdGhlIGFycm93XG4gIC5wb3BvdmVyLWhlYWRlcjo6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogJHBvcG92ZXItYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6ICgkcG9wb3Zlci1hcnJvdy13aWR0aCAvIC0yKTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1ib3R0b206ICRwb3BvdmVyLWJvcmRlci13aWR0aCBzb2xpZCAkcG9wb3Zlci1oZWFkZXItYmc7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogJHBvcG92ZXItYXJyb3ctaGVpZ2h0O1xuXG4gIC5hcnJvdyB7XG4gICAgcmlnaHQ6IGNhbGMoKCN7JHBvcG92ZXItYXJyb3ctaGVpZ2h0fSArICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSkgKiAtMSk7XG4gICAgd2lkdGg6ICRwb3BvdmVyLWFycm93LWhlaWdodDtcbiAgICBoZWlnaHQ6ICRwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbjogJGJvcmRlci1yYWRpdXMtbGcgMDsgLy8gbWFrZSBzdXJlIHRoZSBhcnJvdyBkb2VzIG5vdCB0b3VjaCB0aGUgcG9wb3ZlcidzIHJvdW5kZWQgY29ybmVyc1xuICB9XG5cbiAgLmFycm93OjpiZWZvcmUsXG4gIC5hcnJvdzo6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogKCRwb3BvdmVyLWFycm93LXdpZHRoIC8gMikgMCAoJHBvcG92ZXItYXJyb3ctd2lkdGggLyAyKSAkcG9wb3Zlci1hcnJvdy1oZWlnaHQ7XG4gIH1cblxuICAuYXJyb3c6OmJlZm9yZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm9yZGVyLWxlZnQtY29sb3I6ICRwb3BvdmVyLWFycm93LW91dGVyLWNvbG9yO1xuICB9XG5cbiAgLmFycm93OjphZnRlciB7XG4gICAgcmlnaHQ6ICRwb3BvdmVyLWJvcmRlci13aWR0aDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogJHBvcG92ZXItYXJyb3ctY29sb3I7XG4gIH1cbn1cblxuLmJzLXBvcG92ZXItYXV0byB7XG4gICZbeC1wbGFjZW1lbnRePVwidG9wXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXRvcDtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cInJpZ2h0XCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLXJpZ2h0O1xuICB9XG4gICZbeC1wbGFjZW1lbnRePVwiYm90dG9tXCJdIHtcbiAgICBAZXh0ZW5kIC5icy1wb3BvdmVyLWJvdHRvbTtcbiAgfVxuICAmW3gtcGxhY2VtZW50Xj1cImxlZnRcIl0ge1xuICAgIEBleHRlbmQgLmJzLXBvcG92ZXItbGVmdDtcbiAgfVxufVxuXG5cbi8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuLnBvcG92ZXItaGVhZGVyIHtcbiAgcGFkZGluZzogJHBvcG92ZXItaGVhZGVyLXBhZGRpbmcteSAkcG9wb3Zlci1oZWFkZXItcGFkZGluZy14O1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBSZXNldCB0aGUgZGVmYXVsdCBmcm9tIFJlYm9vdFxuICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcbiAgY29sb3I6ICRwb3BvdmVyLWhlYWRlci1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHBvcG92ZXItaGVhZGVyLWJnO1xuICBib3JkZXItYm90dG9tOiAkcG9wb3Zlci1ib3JkZXItd2lkdGggc29saWQgZGFya2VuKCRwb3BvdmVyLWhlYWRlci1iZywgNSUpO1xuICAkb2Zmc2V0LWJvcmRlci13aWR0aDogY2FsYygjeyRib3JkZXItcmFkaXVzLWxnfSAtICN7JHBvcG92ZXItYm9yZGVyLXdpZHRofSk7XG4gIEBpbmNsdWRlIGJvcmRlci10b3AtcmFkaXVzKCRvZmZzZXQtYm9yZGVyLXdpZHRoKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWJvZHkge1xuICBwYWRkaW5nOiAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteSAkcG9wb3Zlci1ib2R5LXBhZGRpbmcteDtcbiAgY29sb3I6ICRwb3BvdmVyLWJvZHktY29sb3I7XG59XG4iLCIvLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jYXJvdXNlbC1pdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkY2Fyb3VzZWwtdHJhbnNpdGlvbik7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbn1cblxuLmNhcm91c2VsLWl0ZW0uYWN0aXZlLFxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNhcm91c2VsLWl0ZW0tbmV4dCxcbi5jYXJvdXNlbC1pdGVtLXByZXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbn1cblxuLy8gQ1NTMyB0cmFuc2Zvcm1zIHdoZW4gc3VwcG9ydGVkIGJ5IHRoZSBicm93c2VyXG4uY2Fyb3VzZWwtaXRlbS1uZXh0LmNhcm91c2VsLWl0ZW0tbGVmdCxcbi5jYXJvdXNlbC1pdGVtLXByZXYuY2Fyb3VzZWwtaXRlbS1yaWdodCB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcblxuICBAc3VwcG9ydHMgKHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG59XG5cbi5jYXJvdXNlbC1pdGVtLW5leHQsXG4uYWN0aXZlLmNhcm91c2VsLWl0ZW0tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG5cbiAgQHN1cHBvcnRzICh0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcbiAgfVxufVxuXG4uY2Fyb3VzZWwtaXRlbS1wcmV2LFxuLmFjdGl2ZS5jYXJvdXNlbC1pdGVtLWxlZnQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuXG4gIEBzdXBwb3J0cyAodHJhbnNmb3JtLXN0eWxlOiBwcmVzZXJ2ZS0zZCkge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApO1xuICB9XG59XG5cblxuLy9cbi8vIExlZnQvcmlnaHQgY29udHJvbHMgZm9yIG5hdlxuLy9cblxuLmNhcm91c2VsLWNvbnRyb2wtcHJldixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICAvLyBVc2UgZmxleCBmb3IgYWxpZ25tZW50ICgxLTMpXG4gIGRpc3BsYXk6IGZsZXg7IC8vIDEuIGFsbG93IGZsZXggc3R5bGVzXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IC8vIDIuIHZlcnRpY2FsbHkgY2VudGVyIGNvbnRlbnRzXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyAvLyAzLiBob3Jpem9udGFsbHkgY2VudGVyIGNvbnRlbnRzXG4gIHdpZHRoOiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6ICRjYXJvdXNlbC1jb250cm9sLW9wYWNpdHk7XG4gIC8vIFdlIGNhbid0IGhhdmUgYSB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBIb3Zlci9mb2N1cyBzdGF0ZVxuICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgY29sb3I6ICRjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG9wYWNpdHk6IC45O1xuICB9XG59XG4uY2Fyb3VzZWwtY29udHJvbC1wcmV2IHtcbiAgbGVmdDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMCwgMCwgMCwgLjI1KSwgcmdiYSgwLCAwLCAwLCAuMDAxKSk7XG4gIH1cbn1cbi5jYXJvdXNlbC1jb250cm9sLW5leHQge1xuICByaWdodDogMDtcbiAgQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMjcwZGVnLCByZ2JhKDAsIDAsIDAsIC4yNSksIHJnYmEoMCwgMCwgMCwgLjAwMSkpO1xuICB9XG59XG5cbi8vIEljb25zIGZvciB3aXRoaW5cbi5jYXJvdXNlbC1jb250cm9sLXByZXYtaWNvbixcbi5jYXJvdXNlbC1jb250cm9sLW5leHQtaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRjYXJvdXNlbC1jb250cm9sLWljb24td2lkdGg7XG4gIGhlaWdodDogJGNhcm91c2VsLWNvbnRyb2wtaWNvbi13aWR0aDtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogJGNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uLWJnO1xufVxuLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogJGNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLWJnO1xufVxuXG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIG9yZGVyZWQgbGlzdCB3aXRoIHRoZSBmb2xsb3dpbmcgY2xhc3MgYW5kIGFkZCBhIGxpc3QgaXRlbSBmb3IgZWFjaFxuLy8gc2xpZGUgeW91ciBjYXJvdXNlbCBob2xkcy5cblxuLmNhcm91c2VsLWluZGljYXRvcnMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE1O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBvdmVycmlkZSA8b2w+IGRlZmF1bHRcbiAgLy8gVXNlIHRoZSAuY2Fyb3VzZWwtY29udHJvbCdzIHdpZHRoIGFzIG1hcmdpbiBzbyB3ZSBkb24ndCBvdmVybGF5IHRob3NlXG4gIG1hcmdpbi1yaWdodDogJGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIG1hcmdpbi1sZWZ0OiAkY2Fyb3VzZWwtY29udHJvbC13aWR0aDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICBsaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXdpZHRoO1xuICAgIGhlaWdodDogJGNhcm91c2VsLWluZGljYXRvci1oZWlnaHQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAkY2Fyb3VzZWwtaW5kaWNhdG9yLXNwYWNlcjtcbiAgICBtYXJnaW4tbGVmdDogJGNhcm91c2VsLWluZGljYXRvci1zcGFjZXI7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTlweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnLCAuNSk7XG5cbiAgICAvLyBVc2UgcHNldWRvIGNsYXNzZXMgdG8gaW5jcmVhc2UgdGhlIGhpdCBhcmVhIGJ5IDEwcHggb24gdG9wIGFuZCBib3R0b20uXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTEwcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xMHB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gIH1cblxuICAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG5cbi8vIE9wdGlvbmFsIGNhcHRpb25zXG4vL1xuLy9cblxuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcbiAgYm90dG9tOiAyMHB4O1xuICBsZWZ0OiAoKDEwMCUgLSAkY2Fyb3VzZWwtY2FwdGlvbi13aWR0aCkgLyAyKTtcbiAgei1pbmRleDogMTA7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgY29sb3I6ICRjYXJvdXNlbC1jYXB0aW9uLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLmFsaWduLWJhc2VsaW5lICAgIHsgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lICFpbXBvcnRhbnQ7IH0gLy8gQnJvd3NlciBkZWZhdWx0XG4uYWxpZ24tdG9wICAgICAgICAgeyB2ZXJ0aWNhbC1hbGlnbjogdG9wICFpbXBvcnRhbnQ7IH1cbi5hbGlnbi1taWRkbGUgICAgICB7IHZlcnRpY2FsLWFsaWduOiBtaWRkbGUgIWltcG9ydGFudDsgfVxuLmFsaWduLWJvdHRvbSAgICAgIHsgdmVydGljYWwtYWxpZ246IGJvdHRvbSAhaW1wb3J0YW50OyB9XG4uYWxpZ24tdGV4dC1ib3R0b20geyB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b20gIWltcG9ydGFudDsgfVxuLmFsaWduLXRleHQtdG9wICAgIHsgdmVydGljYWwtYWxpZ246IHRleHQtdG9wICFpbXBvcnRhbnQ7IH1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBDb250ZXh0dWFsIGJhY2tncm91bmRzXG5cbkBtaXhpbiBiZy12YXJpYW50KCRwYXJlbnQsICRjb2xvcikge1xuICAjeyRwYXJlbnR9IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3IgIWltcG9ydGFudDtcbiAgfVxuICBhI3skcGFyZW50fSxcbiAgYnV0dG9uI3skcGFyZW50fSB7XG4gICAgQGluY2x1ZGUgaG92ZXItZm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gYmctZ3JhZGllbnQtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yIGxpbmVhci1ncmFkaWVudCgxODBkZWcsIG1peCgkYm9keS1iZywgJGNvbG9yLCAxNSUpLCAkY29sb3IpIHJlcGVhdC14ICFpbXBvcnRhbnQ7XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkdGhlbWUtY29sb3JzIHtcbiAgQGluY2x1ZGUgYmctdmFyaWFudChcIi5iZy0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuQGlmICRlbmFibGUtZ3JhZGllbnRzIHtcbiAgQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gICAgQGluY2x1ZGUgYmctZ3JhZGllbnQtdmFyaWFudChcIi5iZy1ncmFkaWVudC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbiAgfVxufVxuXG4uYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUgIWltcG9ydGFudDtcbn1cblxuLmJnLXRyYW5zcGFyZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gQm9yZGVyXG4vL1xuXG4uYm9yZGVyICAgICAgICAgeyBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGJvcmRlci1jb2xvciAhaW1wb3J0YW50OyB9XG4uYm9yZGVyLXRvcCAgICAgeyBib3JkZXItdG9wOiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1yaWdodCAgIHsgYm9yZGVyLXJpZ2h0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20gIHsgYm9yZGVyLWJvdHRvbTogJGJvcmRlci13aWR0aCBzb2xpZCAkYm9yZGVyLWNvbG9yICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItbGVmdCAgICB7IGJvcmRlci1sZWZ0OiAkYm9yZGVyLXdpZHRoIHNvbGlkICRib3JkZXItY29sb3IgIWltcG9ydGFudDsgfVxuXG4uYm9yZGVyLTAgICAgICAgIHsgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItdG9wLTAgICAgeyBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7IH1cbi5ib3JkZXItcmlnaHQtMCAgeyBib3JkZXItcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1ib3R0b20tMCB7IGJvcmRlci1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuLmJvcmRlci1sZWZ0LTAgICB7IGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7IH1cblxuQGVhY2ggJGNvbG9yLCAkdmFsdWUgaW4gJHRoZW1lLWNvbG9ycyB7XG4gIC5ib3JkZXItI3skY29sb3J9IHtcbiAgICBib3JkZXItY29sb3I6ICR2YWx1ZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5ib3JkZXItd2hpdGUge1xuICBib3JkZXItY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xufVxuXG4vL1xuLy8gQm9yZGVyLXJhZGl1c1xuLy9cblxuLnJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtdG9wIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG4ucm91bmRlZC1yaWdodCB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbn1cbi5yb3VuZGVkLWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAkYm9yZGVyLXJhZGl1cyAhaW1wb3J0YW50O1xufVxuLnJvdW5kZWQtbGVmdCB7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRib3JkZXItcmFkaXVzICFpbXBvcnRhbnQ7XG59XG5cbi5yb3VuZGVkLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xufVxuXG4ucm91bmRlZC0wIHtcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xufVxuIiwiQG1peGluIGNsZWFyZml4KCkge1xuICAmOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIGNvbW1vbiBgZGlzcGxheWAgdmFsdWVzXG4vL1xuXG5AZWFjaCAkYnJlYWtwb2ludCBpbiBtYXAta2V5cygkZ3JpZC1icmVha3BvaW50cykge1xuICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicmVha3BvaW50KSB7XG4gICAgJGluZml4OiBicmVha3BvaW50LWluZml4KCRicmVha3BvaW50LCAkZ3JpZC1icmVha3BvaW50cyk7XG5cbiAgICAuZCN7JGluZml4fS1ub25lICAgICAgICAgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS1pbmxpbmUgICAgICAgeyBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmQjeyRpbmZpeH0tYmxvY2sgICAgICAgIHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlICAgICAgICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICAuZCN7JGluZml4fS10YWJsZS1yb3cgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LXRhYmxlLWNlbGwgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWZsZXggICAgICAgICB7IGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDsgfVxuICAgIC5kI3skaW5maXh9LWlubGluZS1mbGV4ICB7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH1cbiAgfVxufVxuXG5cbi8vXG4vLyBVdGlsaXRpZXMgZm9yIHRvZ2dsaW5nIGBkaXNwbGF5YCBpbiBwcmludFxuLy9cblxuQG1lZGlhIHByaW50IHtcbiAgLmQtcHJpbnQtbm9uZSAgICAgICAgIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWlubGluZSAgICAgICB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWlubGluZS1ibG9jayB7IGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWJsb2NrICAgICAgICB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtdGFibGUgICAgICAgIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZS1yb3cgICAgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAuZC1wcmludC10YWJsZS1jZWxsICAgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgLmQtcHJpbnQtZmxleCAgICAgICAgIHsgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG4gIC5kLXByaW50LWlubGluZS1mbGV4ICB7IGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7IH1cbn1cbiIsIi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuXG4gIC5lbWJlZC1yZXNwb25zaXZlLWl0ZW0sXG4gIGlmcmFtZSxcbiAgZW1iZWQsXG4gIG9iamVjdCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMDtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0yMWJ5OSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDIxKTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoOSAvIDE2KTtcbiAgfVxufVxuXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLXRvcDogcGVyY2VudGFnZSgzIC8gNCk7XG4gIH1cbn1cblxuLmVtYmVkLXJlc3BvbnNpdmUtMWJ5MSB7XG4gICY6OmJlZm9yZSB7XG4gICAgcGFkZGluZy10b3A6IHBlcmNlbnRhZ2UoMSAvIDEpO1xuICB9XG59XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gRmxleCB2YXJpYXRpb25cbi8vXG4vLyBDdXN0b20gc3R5bGVzIGZvciBhZGRpdGlvbmFsIGZsZXggYWxpZ25tZW50IG9wdGlvbnMuXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbGV4I3skaW5maXh9LXJvdyAgICAgICAgICAgIHsgZmxleC1kaXJlY3Rpb246IHJvdyAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uICAgICAgICAgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1yb3ctcmV2ZXJzZSAgICB7IGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZSAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0tY29sdW1uLXJldmVyc2UgeyBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcCAgICAgICAgIHsgZmxleC13cmFwOiB3cmFwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxleCN7JGluZml4fS1ub3dyYXAgICAgICAgeyBmbGV4LXdyYXA6IG5vd3JhcCAhaW1wb3J0YW50OyB9XG4gICAgLmZsZXgjeyRpbmZpeH0td3JhcC1yZXZlcnNlIHsgZmxleC13cmFwOiB3cmFwLXJldmVyc2UgIWltcG9ydGFudDsgfVxuXG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1zdGFydCAgIHsganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWVuZCAgICAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgLmp1c3RpZnktY29udGVudCN7JGluZml4fS1iZXR3ZWVuIHsganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuanVzdGlmeS1jb250ZW50I3skaW5maXh9LWFyb3VuZCAgeyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tc3RhcnQgICAgeyBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLWl0ZW1zI3skaW5maXh9LWVuZCAgICAgIHsgYWxpZ24taXRlbXM6IGZsZXgtZW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24taXRlbXMjeyRpbmZpeH0tYmFzZWxpbmUgeyBhbGlnbi1pdGVtczogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1pdGVtcyN7JGluZml4fS1zdHJldGNoICB7IGFsaWduLWl0ZW1zOiBzdHJldGNoICFpbXBvcnRhbnQ7IH1cblxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LXN0YXJ0ICAgeyBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1lbmQgICAgIHsgYWxpZ24tY29udGVudDogZmxleC1lbmQgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWNlbnRlciAgeyBhbGlnbi1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1jb250ZW50I3skaW5maXh9LWJldHdlZW4geyBhbGlnbi1jb250ZW50OiBzcGFjZS1iZXR3ZWVuICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1hcm91bmQgIHsgYWxpZ24tY29udGVudDogc3BhY2UtYXJvdW5kICFpbXBvcnRhbnQ7IH1cbiAgICAuYWxpZ24tY29udGVudCN7JGluZml4fS1zdHJldGNoIHsgYWxpZ24tY29udGVudDogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG5cbiAgICAuYWxpZ24tc2VsZiN7JGluZml4fS1hdXRvICAgICB7IGFsaWduLXNlbGY6IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0YXJ0ICAgIHsgYWxpZ24tc2VsZjogZmxleC1zdGFydCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tZW5kICAgICAgeyBhbGlnbi1zZWxmOiBmbGV4LWVuZCAhaW1wb3J0YW50OyB9XG4gICAgLmFsaWduLXNlbGYjeyRpbmZpeH0tY2VudGVyICAgeyBhbGlnbi1zZWxmOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LWJhc2VsaW5lIHsgYWxpZ24tc2VsZjogYmFzZWxpbmUgIWltcG9ydGFudDsgfVxuICAgIC5hbGlnbi1zZWxmI3skaW5maXh9LXN0cmV0Y2ggIHsgYWxpZ24tc2VsZjogc3RyZXRjaCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG5AbWl4aW4gZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG59XG5AbWl4aW4gZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbkBtaXhpbiBmbG9hdC1ub25lIHtcbiAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC5mbG9hdCN7JGluZml4fS1sZWZ0ICB7IEBpbmNsdWRlIGZsb2F0LWxlZnQ7IH1cbiAgICAuZmxvYXQjeyRpbmZpeH0tcmlnaHQgeyBAaW5jbHVkZSBmbG9hdC1yaWdodDsgfVxuICAgIC5mbG9hdCN7JGluZml4fS1ub25lICB7IEBpbmNsdWRlIGZsb2F0LW5vbmU7IH1cbiAgfVxufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIENvbW1vbiB2YWx1ZXNcblxuLy8gU2FzcyBsaXN0IG5vdCBpbiB2YXJpYWJsZXMgc2luY2UgaXQncyBub3QgaW50ZW5kZWQgZm9yIGN1c3RvbWl6YXRpb24uXG4kcG9zaXRpb25zOiBzdGF0aWMsIHJlbGF0aXZlLCBhYnNvbHV0ZSwgZml4ZWQsIHN0aWNreTtcblxuQGVhY2ggJHBvc2l0aW9uIGluICRwb3NpdGlvbnMge1xuICAucG9zaXRpb24tI3skcG9zaXRpb259IHsgcG9zaXRpb246ICRwb3NpdGlvbiAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFNob3J0aGFuZFxuXG4uZml4ZWQtdG9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkemluZGV4LWZpeGVkO1xufVxuXG4uc3RpY2t5LXRvcCB7XG4gIEBzdXBwb3J0cyAocG9zaXRpb246IHN0aWNreSkge1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6ICR6aW5kZXgtc3RpY2t5O1xuICB9XG59XG4iLCIvLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuLy8gU2VlOiBodHRwczovL2h1Z29naXJhdWRlbC5jb20vMjAxNi8xMC8xMy9jc3MtaGlkZS1hbmQtc2Vlay9cblxuQG1peGluIHNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gIGJvcmRlcjogMDtcbn1cblxuLy8gVXNlIGluIGNvbmp1bmN0aW9uIHdpdGggLnNyLW9ubHkgdG8gb25seSBkaXNwbGF5IGNvbnRlbnQgd2hlbiBpdCdzIGZvY3VzZWQuXG4vL1xuLy8gVXNlZnVsIGZvciBcIlNraXAgdG8gbWFpbiBjb250ZW50XCIgbGlua3M7IHNlZSBodHRwczovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuQG1peGluIHNyLW9ubHktZm9jdXNhYmxlIHtcbiAgJjphY3RpdmUsXG4gICY6Zm9jdXMge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBTY3JlZW5yZWFkZXJzXG4vL1xuXG4uc3Itb25seSB7XG4gIEBpbmNsdWRlIHNyLW9ubHkoKTtcbn1cblxuLnNyLW9ubHktZm9jdXNhYmxlIHtcbiAgQGluY2x1ZGUgc3Itb25seS1mb2N1c2FibGUoKTtcbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vLyBXaWR0aCBhbmQgaGVpZ2h0XG5cbkBlYWNoICRwcm9wLCAkYWJicmV2IGluICh3aWR0aDogdywgaGVpZ2h0OiBoKSB7XG4gIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzaXplcyB7XG4gICAgLiN7JGFiYnJldn0tI3skc2l6ZX0geyAjeyRwcm9wfTogJGxlbmd0aCAhaW1wb3J0YW50OyB9XG4gIH1cbn1cblxuLm13LTEwMCB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4ubWgtMTAwIHsgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4iLCIvLyBzdHlsZWxpbnQtZGlzYWJsZSBkZWNsYXJhdGlvbi1uby1pbXBvcnRhbnRcblxuLy8gTWFyZ2luIGFuZCBQYWRkaW5nXG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIEBlYWNoICRwcm9wLCAkYWJicmV2IGluIChtYXJnaW46IG0sIHBhZGRpbmc6IHApIHtcbiAgICAgIEBlYWNoICRzaXplLCAkbGVuZ3RoIGluICRzcGFjZXJzIHtcblxuICAgICAgICAuI3skYWJicmV2fSN7JGluZml4fS0jeyRzaXplfSB7ICN7JHByb3B9OiAkbGVuZ3RoICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgLiN7JGFiYnJldn10I3skaW5maXh9LSN7JHNpemV9LFxuICAgICAgICAuI3skYWJicmV2fXkjeyRpbmZpeH0tI3skc2l6ZX0ge1xuICAgICAgICAgICN7JHByb3B9LXRvcDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9ciN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn14I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1yaWdodDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC4jeyRhYmJyZXZ9YiN7JGluZml4fS0jeyRzaXplfSxcbiAgICAgICAgLiN7JGFiYnJldn15I3skaW5maXh9LSN7JHNpemV9IHtcbiAgICAgICAgICAjeyRwcm9wfS1ib3R0b206ICRsZW5ndGggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuI3skYWJicmV2fWwjeyRpbmZpeH0tI3skc2l6ZX0sXG4gICAgICAgIC4jeyRhYmJyZXZ9eCN7JGluZml4fS0jeyRzaXplfSB7XG4gICAgICAgICAgI3skcHJvcH0tbGVmdDogJGxlbmd0aCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU29tZSBzcGVjaWFsIG1hcmdpbiB1dGlsc1xuICAgIC5tI3skaW5maXh9LWF1dG8geyBtYXJnaW46IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5tdCN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi10b3A6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1yI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5tYiN7JGluZml4fS1hdXRvLFxuICAgIC5teSN7JGluZml4fS1hdXRvIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gICAgLm1sI3skaW5maXh9LWF1dG8sXG4gICAgLm14I3skaW5maXh9LWF1dG8ge1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIHN0eWxlbGludC1kaXNhYmxlIGRlY2xhcmF0aW9uLW5vLWltcG9ydGFudFxuXG4vL1xuLy8gVGV4dFxuLy9cblxuLy8gQWxpZ25tZW50XG5cbi50ZXh0LWp1c3RpZnkgIHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4udGV4dC1ub3dyYXAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXAgIWltcG9ydGFudDsgfVxuLnRleHQtdHJ1bmNhdGUgeyBAaW5jbHVkZSB0ZXh0LXRydW5jYXRlOyB9XG5cbi8vIFJlc3BvbnNpdmUgYWxpZ25tZW50XG5cbkBlYWNoICRicmVha3BvaW50IGluIG1hcC1rZXlzKCRncmlkLWJyZWFrcG9pbnRzKSB7XG4gIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJyZWFrcG9pbnQpIHtcbiAgICAkaW5maXg6IGJyZWFrcG9pbnQtaW5maXgoJGJyZWFrcG9pbnQsICRncmlkLWJyZWFrcG9pbnRzKTtcblxuICAgIC50ZXh0I3skaW5maXh9LWxlZnQgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAgIC50ZXh0I3skaW5maXh9LXJpZ2h0ICB7IHRleHQtYWxpZ246IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAudGV4dCN7JGluZml4fS1jZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDsgfVxuICB9XG59XG5cbi8vIFRyYW5zZm9ybWF0aW9uXG5cbi50ZXh0LWxvd2VyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFpbXBvcnRhbnQ7IH1cbi50ZXh0LWNhcGl0YWxpemUgeyB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZSAhaW1wb3J0YW50OyB9XG5cbi8vIFdlaWdodCBhbmQgaXRhbGljc1xuXG4uZm9udC13ZWlnaHQtbGlnaHQgIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodCAhaW1wb3J0YW50OyB9XG4uZm9udC13ZWlnaHQtbm9ybWFsIHsgZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWltcG9ydGFudDsgfVxuLmZvbnQtd2VpZ2h0LWJvbGQgICB7IGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhaW1wb3J0YW50OyB9XG4uZm9udC1pdGFsaWMgICAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljICFpbXBvcnRhbnQ7IH1cblxuLy8gQ29udGV4dHVhbCBjb2xvcnNcblxuLnRleHQtd2hpdGUgeyBjb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbkBlYWNoICRjb2xvciwgJHZhbHVlIGluICR0aGVtZS1jb2xvcnMge1xuICBAaW5jbHVkZSB0ZXh0LWVtcGhhc2lzLXZhcmlhbnQoXCIudGV4dC0jeyRjb2xvcn1cIiwgJHZhbHVlKTtcbn1cblxuLnRleHQtbXV0ZWQgeyBjb2xvcjogJHRleHQtbXV0ZWQgIWltcG9ydGFudDsgfVxuXG4vLyBNaXNjXG5cbi50ZXh0LWhpZGUge1xuICBAaW5jbHVkZSB0ZXh0LWhpZGUoKTtcbn1cbiIsIi8vIFRleHQgdHJ1bmNhdGVcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuQG1peGluIHRleHQtdHJ1bmNhdGUoKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFR5cG9ncmFwaHlcblxuQG1peGluIHRleHQtZW1waGFzaXMtdmFyaWFudCgkcGFyZW50LCAkY29sb3IpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgY29sb3I6ICRjb2xvciAhaW1wb3J0YW50O1xuICB9XG4gIGEjeyRwYXJlbnR9IHtcbiAgICBAaW5jbHVkZSBob3Zlci1mb2N1cyB7XG4gICAgICBjb2xvcjogZGFya2VuKCRjb2xvciwgMTAlKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG5AbWl4aW4gdGV4dC1oaWRlKCkge1xuICAvLyBzdHlsZWxpbnQtZGlzYWJsZS1uZXh0LWxpbmUgZm9udC1mYW1pbHktbm8tbWlzc2luZy1nZW5lcmljLWZhbWlseS1rZXl3b3JkXG4gIGZvbnQ6IDAvMCBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50XG5cbi8vIFZpc2liaWxpdHlcblxuQG1peGluIGludmlzaWJsZSgkdmlzaWJpbGl0eSkge1xuICB2aXNpYmlsaXR5OiAkdmlzaWJpbGl0eSAhaW1wb3J0YW50O1xufVxuIiwiLy9cbi8vIFZpc2liaWxpdHkgdXRpbGl0aWVzXG4vL1xuXG4udmlzaWJsZSB7XG4gIEBpbmNsdWRlIGludmlzaWJsZSh2aXNpYmxlKTtcbn1cblxuLmludmlzaWJsZSB7XG4gIEBpbmNsdWRlIGludmlzaWJsZShoaWRkZW4pO1xufVxuIiwiLy8gc3R5bGVsaW50LWRpc2FibGUgZGVjbGFyYXRpb24tbm8taW1wb3J0YW50LCBzZWxlY3Rvci1uby1xdWFsaWZ5aW5nLXR5cGVcblxuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbi8vIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGlmICRlbmFibGUtcHJpbnQtc3R5bGVzIHtcbiAgQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6OmJlZm9yZSxcbiAgICAqOjphZnRlciB7XG4gICAgICAvLyBCb290c3RyYXAgc3BlY2lmaWM7IGNvbW1lbnQgb3V0IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kYFxuICAgICAgLy9jb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTNcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAvL2JhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAmOm5vdCguYnRuKSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYzsgY29tbWVudCB0aGUgZm9sbG93aW5nIHNlbGVjdG9yIG91dFxuICAgIC8vYVtocmVmXTo6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICAvL31cblxuICAgIGFiYnJbdGl0bGVdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljOyBjb21tZW50IHRoZSBmb2xsb3dpbmcgc2VsZWN0b3Igb3V0XG4gICAgLy9cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICAvL1xuXG4gICAgLy9hW2hyZWZePVwiI1wiXTo6YWZ0ZXIsXG4gICAgLy9hW2hyZWZePVwiamF2YXNjcmlwdDpcIl06OmFmdGVyIHtcbiAgICAvLyBjb250ZW50OiBcIlwiO1xuICAgIC8vfVxuXG4gICAgcHJlIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgIzk5OTsgICAvLyBCb290c3RyYXAgY3VzdG9tIGNvZGU7IHVzaW5nIGAkYm9yZGVyLXdpZHRoYCBpbnN0ZWFkIG9mIDFweFxuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gUHJpbnRpbmcgVGFibGVzOlxuICAgIC8vIGh0dHA6Ly9jc3MtZGlzY3Vzcy5pbmN1dGlvLmNvbS93aWtpL1ByaW50aW5nX1RhYmxlc1xuICAgIC8vXG5cbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gQm9vdHN0cmFwIHNwZWNpZmljIGNoYW5nZXMgc3RhcnRcblxuICAgIC8vIFNwZWNpZnkgYSBzaXplIGFuZCBtaW4td2lkdGggdG8gbWFrZSBwcmludGluZyBjbG9zZXIgYWNyb3NzIGJyb3dzZXJzLlxuICAgIC8vIFdlIGRvbid0IHNldCBtYXJnaW4gaGVyZSBiZWNhdXNlIGl0IGJyZWFrcyBgc2l6ZWAgaW4gQ2hyb21lLiBXZSBhbHNvXG4gICAgLy8gZG9uJ3QgdXNlIGAhaW1wb3J0YW50YCBvbiBgc2l6ZWAgYXMgaXQgYnJlYWtzIGluIENocm9tZS5cbiAgICBAcGFnZSB7XG4gICAgICBzaXplOiAkcHJpbnQtcGFnZS1zaXplO1xuICAgIH1cbiAgICBib2R5IHtcbiAgICAgIG1pbi13aWR0aDogJHByaW50LWJvZHktbWluLXdpZHRoICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5jb250YWluZXIge1xuICAgICAgbWluLXdpZHRoOiAkcHJpbnQtYm9keS1taW4td2lkdGggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgY29tcG9uZW50c1xuICAgIC5uYXZiYXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGJvcmRlcjogJGJvcmRlci13aWR0aCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlICFpbXBvcnRhbnQ7XG5cbiAgICAgIHRkLFxuICAgICAgdGgge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJvb3RzdHJhcCBzcGVjaWZpYyBjaGFuZ2VzIGVuZFxuICB9XG59XG4iLCLvu78qIHtcclxuICAgIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJywgc2Fucy1zZXJpZiAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5pbWcge1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5hIHtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGNvbG9yOiAjMDA4NWNhO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG5wLCBsaSB7XHJcbiAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgIGNvbG9yOiAjNTI1MjUyO1xyXG59XHJcblxyXG4uYmFubmVyIHtcclxuICAgIGhlaWdodDogMjAwcHg7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgIGJvcmRlci1pbWFnZS1yZXBlYXQ6IHN0cmV0Y2g7XHJcblxyXG5cclxuICAgIGgyIHtcclxuICAgICAgICBmb250LXNpemU6IDM3cHggIWltcG9ydGFudDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcclxuICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjNweDtcclxuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcclxuICAgICAgICAvLyBZZWxsb3cgdW5kZXJsaW5lXHJcbiAgICAgICAgOmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNGRkNCMDU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4jZG5uX2RpdkJhbm5lciB7XHJcbiAgICBoZWlnaHQ6IDIwMHB4O1xyXG59XHJcblxyXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2OHB4KSB7XHJcbiAgICAuYmFubmVyIHtcclxuICAgICAgICBoZWlnaHQ6IDEwMHB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCBjZW50ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICBib3JkZXItaW1hZ2UtcmVwZWF0OiBzdHJldGNoO1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzdweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcbiAgICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyM3B4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcclxuICAgICAgICAgICAgLy8gWWVsbG93IHVuZGVybGluZVxyXG4gICAgICAgICAgICA6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI0ZGQ0IwNTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjZG5uX2RpdkJhbm5lciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgIH1cclxufVxyXG5cclxuLm92ZXJ2aWV3QmFyIHtcclxuICAgIGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgcGFkZGluZzogOS41cHggMDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgICAgICBjb2xvcjogIzcwNzA3MDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHJcbiAgICAgICAgICAgICYuYWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDQ4N0NCO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmLmN0YSB7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI0ZGQ0IwNTtcclxuICAgICAgICAgICAgICAgIGNvbG9yOiAjN2Q0ZTA0O1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogOHB4IDIwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0YyQzAwNDtcclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzdkNGUwNDtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICBjb2xvcjogIzA0ODdDQjtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuI2Rubl9kaXZJbnRyb2R1Y3Rpb24gLmNvbnRlbnRCbG9jay50ZXh0LWNlbnRlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U1ZTVlNTtcclxuICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgbWF4LXdpZHRoOiA3ODBweDtcclxuICAgICAgICBtYXJnaW46YXV0bztcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTo2MHB4O1xyXG4gICAgfVxyXG59XHJcblxyXG4jZG5uX2RpdkludHJvZHVjdGlvbiAuY29udGVudEJsb2NrIHAsICNkbm5fZGl2SW50cm9kdWN0aW9uMiAuY29udGVudEJsb2NrIHAge1xyXG4gICAgY29sb3I6ICMwMDU1ODEgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMjFweCAhaW1wb3J0YW50O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuI2Rubl9kaXZJbnRyb2R1Y3Rpb24gLmNvbnRlbnRCbG9jayBoNCwgI2Rubl9kaXZJbnRyb2R1Y3Rpb24yIC5jb250ZW50QmxvY2sgaDQge1xyXG4gICAgZm9udC1zaXplOiAyNHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDBweCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4jZG5uX2RpdlNhbXBsZVBhZ2VzIC5jb250ZW50QmxvY2sgcCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBtYXgtd2lkdGg6IDQ2MHB4O1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gMjdweCBhdXRvO1xyXG4gICAgbGluZS1oZWlnaHQ6IDI3cHg7XHJcbn1cclxuXHJcbi5jb250ZW50QmxvY2sge1xyXG4gICAgbWFyZ2luLXRvcDogNjBweDtcclxuXHJcbiAgICBoNSB7XHJcbiAgICAgICAgY29sb3I6ICMwMDU1ODE7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xyXG4gICAgfVxyXG5cclxuICAgIGg2IHtcclxuICAgICAgICBjb2xvcjogIzAwMzg2NTtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogNDhweCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1NHB4O1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMS41cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICBjb2xvcjogIzAwMzM2NjtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyM3B4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgLy8gWWVsbG93IHVuZGVybGluZVxyXG4gICAgICAgIDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjRkZDQjA1O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGF0LXJvb3QgLmNvbnRlbnRCbG9jay50ZXh0LWNlbnRlciB7XHJcbiAgICAgICAgICAgIDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLy8gQ2VudGVyIHRoZSB5ZWxsb3cgdW5kZXJsaW5lXHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGgzIHtcclxuICAgICAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICMwMDMzNjY7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgaDQge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMzdweDtcclxuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTFweDtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBjb2xvcjogIzAwMzg2NTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgLy8gWWVsbG93IHVuZGVybGluZVxyXG4gICAgICAgIDpiZWZvcmUge1xyXG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjRkZDQjA1O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQGF0LXJvb3QgLmNvbnRlbnRCbG9jay50ZXh0LWNlbnRlciB7XHJcbiAgICAgICAgICAgIDpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgLy8gQ2VudGVyIHRoZSB5ZWxsb3cgdW5kZXJsaW5lXHJcbiAgICAgICAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgICAgY29sb3I6ICMwMDM4NjU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsdWVUZXh0IHtcclxuICAgICAgICBjb2xvcjogIzAwNTU4MTtcclxuICAgICAgICBmb250LXNpemU6IDIxcHg7XHJcbiAgICB9XHJcblxyXG4gICAgdWwsIHVsLmFycm93LWxpc3Qge1xyXG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAyNXB4IDI1cHg7XHJcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcclxuXHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtaW1hZ2U6IHVybCgnL1BvcnRhbHMvNS9JbWFnZXMvYmx1ZS1zbWFsbC1hcnJvdy5wbmcnKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmJsdWUtYnV0dG9uIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDhweCAzNXB4O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLW8tdGV4dC1vdmVyZmxvdzogY2xpcDtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICMwMDg1Q0E7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjc1LCAwLjc1KTtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsdWUtYnV0dG9uLWJpZyB7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xyXG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAxNHB4IDEwMHB4IDE0cHggMTAwcHg7XHJcbiAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAtby10ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gICAgICAgIHRleHQtb3ZlcmZsb3c6IGNsaXA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogIzAwODVDQTtcclxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7XHJcbiAgICAgICAgLW1vei10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xyXG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjc1LCAwLjc1KTtcclxuICAgIH1cclxuXHJcbiAgICAueWVsbG93LWJ1dHRvbi1iaWcge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7XHJcbiAgICAgICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcclxuICAgICAgICBjb2xvcjogIzdkNGUwNDtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgcGFkZGluZzogMjBweCAyMHB4O1xyXG4gICAgICAgIGJvcmRlcjogbm9uZTtcclxuICAgICAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDMwcHg7XHJcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMzBweDtcclxuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgLW8tdGV4dC1vdmVyZmxvdzogY2xpcDtcclxuICAgICAgICB0ZXh0LW92ZXJmbG93OiBjbGlwO1xyXG4gICAgICAgIGJhY2tncm91bmQ6ICNGRkNCMDU7XHJcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xyXG4gICAgICAgIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGN1YmljLWJlemllcigwLjI1LCAwLjI1LCAwLjc1LCAwLjc1KTtcclxuICAgICAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuMjUsIDAuNzUsIDAuNzUpO1xyXG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBjdWJpYy1iZXppZXIoMC4yNSwgMC4yNSwgMC43NSwgMC43NSk7XHJcblxyXG4gICAgICAgICY6aG92ZXIge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJDMDA0O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgfVxyXG5cclxuICAgIC5ib3JkZXJlZC1ibG9jayB7XHJcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTVlNTtcclxuICAgICAgICBwYWRkaW5nOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbjogMTBweDtcclxuICAgICAgICBtaW4taGVpZ2h0OiAyMDVweDtcclxuXHJcbiAgICAgICAgc3Ryb25nIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnVuYm9yZGVyZWQtYmxvY2sge1xyXG4gICAgbWFyZ2luOiAxMHB4IDEwcHggNjBweCAxMHB4O1xyXG5cclxuICAgIHAge1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGNvbG9yOiAjMDAzMzY2O1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLmdyYXlDb250ZW50QmxvY2sge1xyXG4gICAgLyogbWFyZ2luLXRvcDogNjBweDsgKi9cclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY4Rjg7XHJcbiAgICAvKnBhZGRpbmc6IDMwcHggIWltcG9ydGFudDsqL1xyXG4gICAgaW1nIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgICBmb250LXNpemU6IDIycHg7XHJcbiAgICAgICAgY29sb3I6ICMwMDMzNjZcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgLmNvbnRlbnRCb3gge1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcbiAgICB9XHJcbn1cclxuLy9UbyBtYWtlIHRoZSBjb250ZW50IHBhbmUgdmlzaWJsZSBpbiBlZGl0IG1vZGVcclxuI2Rubl9kaXZCYW5uZXJfU3luY1BhbmVsICNkbm5fZGl2QmFubmVyIHtcclxuICAgIGhlaWdodDogMzAwcHg7XHJcbn1cclxuXHJcbmhyLndhdmVzIHtcclxuICAgIGhlaWdodDogMTBweDtcclxuICAgIGJhY2tncm91bmQ6IHVybChcIi9Qb3J0YWxzLzUvSW1hZ2VzL2hyLXdhdmUucG5nXCIpIHJlcGVhdC14IDAgMDtcclxuICAgIGJvcmRlcjogMDtcclxufVxyXG5cclxuLnJlZC10YWcge1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYmFja2dyb3VuZDogI2UwMDA0ZDtcclxuICAgIG1hcmdpbi10b3A6IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAzcHg7XHJcbiAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgIHdpZHRoOiA0M3B4O1xyXG4gICAgaGVpZ2h0OiAyMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG59XHJcblxyXG4udGFiLWRvd25ubG9hZHMge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgdGhlYWQge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZTVlNWU1O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgICAgICAgLnRkMSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDExLjVweCAxNXB4O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnRkMiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMiU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGQzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRib2R5IHtcclxuICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgdHIge1xyXG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZDEge1xyXG4gICAgICAgICAgICB3aWR0aDogODAlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDBweDtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDg1Y2E7XHJcblxyXG4gICAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZzogMHB4IDMwcHggMCAyMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGQyIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEyJTtcclxuICAgICAgICAgICAgY29sb3I6ICM3MDcwNzA7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGQzIHtcclxuICAgICAgICAgICAgd2lkdGg6IDglO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXJcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbiNjb250YWN0LXVzLXRpdGxlcyB7XHJcbiAgICBwYWRkaW5nLXRvcDogNDBweDtcclxuXHJcbiAgICAudGl0bGUtYm94IHtcclxuICAgICAgICBjb2xvcjogIzcwNzA3MDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlNWU1ZTU7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50aXRsZS1ib3g6aG92ZXIge1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogIzAwODVjYSAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudGl0bGUtYm94LmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICMwMDg5YzU7XHJcblxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICBjb2xvcjogIzAwODVjYSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3REZXRhaWxzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XHJcbiAgICBwYWRkaW5nOiAzNXB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XHJcblxyXG4gICAgc3Ryb25nIHtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgICAgICBjb2xvcjogIzAwMzg2NTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICB9XHJcblxyXG4gICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgIGNvbG9yOiAjNjE2MTYxO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IDVweDtcclxuICAgICAgICBsZWZ0OiA0MHB4O1xyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgY29sb3I6ICMwMDg1Y2E7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIGhyIHtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMThweDtcclxuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xOHB4O1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYWluQ29udGVudCB7XHJcbiAgICBwYWRkaW5nOiAwcHg7XHJcbn1cclxuXHJcbi5zdGlja3kge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIHotaW5kZXg6IDU1O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG4gICAgaHIge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcclxuICAgIH1cclxuXHJcbiAgICAjaDJjb3B5IHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICBjb2xvcjogIzAwMzg2NTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjVweDtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbiNoMmNvcHkge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuI2ludHJvQ3VzdG9tZXJTZXJ2aWNlIC5jb250ZW50QmxvY2sgcCwgI2ludHJvVGVjaG5pY2FsU3VwcG9ydCAuY29udGVudEJsb2NrIHAsICNpbnRyb0FjY291bnRzIC5jb250ZW50QmxvY2sgcCB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgIGNvbG9yOiAjMDA1NTgxO1xyXG59Il19 */
