@charset "UTF-8";
/*!
 * 
 * Singular - Bootstrap Admin Theme + AngularJS
 * 
 * Author: @geedmo
 * Website: http://geedmo.com
 * License: http://themeforest.net/licenses/standard?license=regular
 * 
 */
/* ========================================================================

[Table of Content]

1. Scaffolding
  1.1 bootstrap (framework)
  1.2 bootstrap-variables (override)
  1.3 bootstrap-reset (override)
  1.4 font

2. Layout
  2.1 layout / .wrapper .content-wrapper
  2.2 topnavbar / .topnavbar
  2.3 sidebar / .sidebar

3. Components
  3.1  button-extra
  3.2  placeholder / .box-placeholder
  3.3  panels
  3.4  progress-extra
  3.5  points / .point
  3.6  timeline / .timeline
  3.7  dropdown-extra
  3.8  row-extra / .row-table .row-flush
  3.10 masonry-grid / .row-masonry
  3.11 typeahead / .typeahead-ctrl
  3.12 animate
  3.13 loading-bar
  3.14 table-grid
  3.15 palette / .palette
  3.16 chat / .chat
  3.17 button switch / .btn-switch
  3.18 feather icons

4. Apps
  4.1 calendar / .fc-*
  4.2 Tasks
  4.3 portlets / .portlet
  4.3 mailbox / .mailbox

5. Charts
  5.1 charts

6. Form components
  6.1 form-extra
  6.2 form-validation
  6.3 form-wizard / .steps-bar
  6.4 form-switch
  6.5 form-input

7. Tables
  7.2 table-responsive
  7.2 table-ngtable

8. Plugins
  8.1 plugins
  8.2 slim-scroll / .slimScrollBar
  8.3 datepicker / .bootstrap-datetimepicker-widget
  8.4 alerts / .alerts
  8.5 toaster / .toast
  8.7 gmap / .gmap
  8.8 vector-map / vector-map

9. Utilities 
  9.1 utils background
  9.2 utils

10. Print CSS
  10.1 print

11. Settings
  11.1 settings

12. Documentation
  12.1 docs

 ========================================================================== */
/*!
 * Bootstrap v3.3.5 (http://getbootstrap.com)
 * Copyright 2011-2015 Twitter, Inc.
 * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
}
body {
  margin: 0;
}
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block;
}
audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline;
}
audio:not([controls]) {
  display: none;
  height: 0;
}
[hidden],
template {
  display: none;
}
a {
  background-color: transparent;
}
a:active,
a:hover {
  outline: 0;
}
abbr[title] {
  border-bottom: 1px dotted;
}
b,
strong {
  font-weight: bold;
}
dfn {
  font-style: italic;
}
h1 {
  font-size: 2em;
  margin: 0.67em 0;
}
mark {
  background: #ff0;
  color: #000;
}
small {
  font-size: 80%;
}
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  border: 0;
}
svg:not(:root) {
  overflow: hidden;
}
figure {
  margin: 1em 40px;
}
hr {
  box-sizing: content-box;
  height: 0;
}
pre {
  overflow: auto;
}
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em;
}
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0;
}
button {
  overflow: visible;
}
button,
select {
  text-transform: none;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
button[disabled],
html input[disabled] {
  cursor: default;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0;
}
input {
  line-height: normal;
}
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
}
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box;
}
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none;
}
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em;
}
legend {
  border: 0;
  padding: 0;
}
textarea {
  overflow: auto;
}
optgroup {
  font-weight: bold;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
}
td,
th {
  padding: 0;
}
/*! Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .navbar {
    display: none;
  }
  .btn > .caret,
  .dropup > .btn > .caret {
    border-top-color: #000 !important;
  }
  .label {
    border: 1px solid #000;
  }
  .table {
    border-collapse: collapse !important;
  }
  .table td,
  .table th {
    background-color: #fff !important;
  }
  .table-bordered th,
  .table-bordered td {
    border: 1px solid #ddd !important;
  }
}
* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
*:before,
*:after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
html {
  font-size: 10px;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
body {
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-size: 13px;
  line-height: 1.52857143;
  color: #585f69;
  background-color: #f7f9fb;
}
input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}
a {
  color: #43a8eb;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #1683cc;
  text-decoration: underline;
}
a:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
figure {
  margin: 0;
}
img {
  vertical-align: middle;
}
.img-responsive,
.thumbnail > img,
.thumbnail a > img,
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  max-width: 100%;
  height: auto;
}
.img-rounded {
  border-radius: 4px;
}
.img-thumbnail {
  padding: 2px;
  line-height: 1.52857143;
  background-color: #e1e2e3;
  border: 1px solid #e1e2e3;
  border-radius: 2px;
  -webkit-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  display: inline-block;
  max-width: 100%;
  height: auto;
}
.img-circle {
  border-radius: 50%;
}
hr {
  margin-top: 19px;
  margin-bottom: 19px;
  border: 0;
  border-top: 1px solid #f4f5f5;
}
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  border: 0;
}
.sr-only-focusable:active,
.sr-only-focusable:focus {
  position: static;
  width: auto;
  height: auto;
  margin: 0;
  overflow: visible;
  clip: auto;
}
[role="button"] {
  cursor: pointer;
}
h1,
h2,
h3,
h4,
h5,
h6,
.h1,
.h2,
.h3,
.h4,
.h5,
.h6 {
  font-family: inherit;
  font-weight: 500;
  line-height: 1.1;
  color: inherit;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small,
.h1 small,
.h2 small,
.h3 small,
.h4 small,
.h5 small,
.h6 small,
h1 .small,
h2 .small,
h3 .small,
h4 .small,
h5 .small,
h6 .small,
.h1 .small,
.h2 .small,
.h3 .small,
.h4 .small,
.h5 .small,
.h6 .small {
  font-weight: normal;
  line-height: 1;
  color: #515d6e;
}
h1,
.h1,
h2,
.h2,
h3,
.h3 {
  margin-top: 19px;
  margin-bottom: 9.5px;
}
h1 small,
.h1 small,
h2 small,
.h2 small,
h3 small,
.h3 small,
h1 .small,
.h1 .small,
h2 .small,
.h2 .small,
h3 .small,
.h3 .small {
  font-size: 65%;
}
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 9.5px;
  margin-bottom: 9.5px;
}
h4 small,
.h4 small,
h5 small,
.h5 small,
h6 small,
.h6 small,
h4 .small,
.h4 .small,
h5 .small,
.h5 .small,
h6 .small,
.h6 .small {
  font-size: 75%;
}
h1,
.h1 {
  font-size: 33px;
}
h2,
.h2 {
  font-size: 27px;
}
h3,
.h3 {
  font-size: 23px;
}
h4,
.h4 {
  font-size: 17px;
}
h5,
.h5 {
  font-size: 13px;
}
h6,
.h6 {
  font-size: 12px;
}
p {
  margin: 0 0 9.5px;
}
.lead {
  margin-bottom: 19px;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.4;
}
@media (min-width: 768px) {
  .lead {
    font-size: 19.5px;
  }
}
small,
.small {
  font-size: 92%;
}
mark,
.mark {
  background-color: #fcf8e3;
  padding: .2em;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
.text-justify {
  text-align: justify;
}
.text-nowrap {
  white-space: nowrap;
}
.text-lowercase {
  text-transform: lowercase;
}
.text-uppercase {
  text-transform: uppercase;
}
.text-capitalize {
  text-transform: capitalize;
}
.text-muted {
  color: #8394a9;
}
.text-primary {
  color: #43a8eb;
}
a.text-primary:hover,
a.text-primary:focus {
  color: #1892e3;
}
.text-success {
  color: #88bf57;
}
a.text-success:hover,
a.text-success:focus {
  color: #6fa43f;
}
.text-info {
  color: #8293b9;
}
a.text-info:hover,
a.text-info:focus {
  color: #6177a7;
}
.text-warning {
  color: #fdaf40;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #fc9a0e;
}
.text-danger {
  color: #eb615f;
}
a.text-danger:hover,
a.text-danger:focus {
  color: #e53432;
}
.bg-primary {
  color: #fff;
  background-color: #43a8eb;
}
a.bg-primary:hover,
a.bg-primary:focus {
  background-color: #1892e3;
}
.bg-success {
  background-color: #dff0d8;
}
a.bg-success:hover,
a.bg-success:focus {
  background-color: #c1e2b3;
}
.bg-info {
  background-color: #d9edf7;
}
a.bg-info:hover,
a.bg-info:focus {
  background-color: #afd9ee;
}
.bg-warning {
  background-color: #fcf8e3;
}
a.bg-warning:hover,
a.bg-warning:focus {
  background-color: #f7ecb5;
}
.bg-danger {
  background-color: #f2dede;
}
a.bg-danger:hover,
a.bg-danger:focus {
  background-color: #e4b9b9;
}
.page-header {
  padding-bottom: 8.5px;
  margin: 38px 0 19px;
  border-bottom: 1px solid #f4f5f5;
}
ul,
ol {
  margin-top: 0;
  margin-bottom: 9.5px;
}
ul ul,
ol ul,
ul ol,
ol ol {
  margin-bottom: 0;
}
.list-unstyled {
  padding-left: 0;
  list-style: none;
}
.list-inline {
  padding-left: 0;
  list-style: none;
  margin-left: -5px;
}
.list-inline > li {
  display: inline-block;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-top: 0;
  margin-bottom: 19px;
}
dt,
dd {
  line-height: 1.52857143;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0;
}
@media (min-width: 768px) {
  .dl-horizontal dt {
    float: left;
    width: 160px;
    clear: left;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .dl-horizontal dd {
    margin-left: 180px;
  }
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #515d6e;
}
.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 9.5px 19px;
  margin: 0 0 19px;
  font-size: 16.25px;
  border-left: 5px solid #f4f5f5;
}
blockquote p:last-child,
blockquote ul:last-child,
blockquote ol:last-child {
  margin-bottom: 0;
}
blockquote footer,
blockquote small,
blockquote .small {
  display: block;
  font-size: 80%;
  line-height: 1.52857143;
  color: #515d6e;
}
blockquote footer:before,
blockquote small:before,
blockquote .small:before {
  content: '\2014 \00A0';
}
.blockquote-reverse,
blockquote.pull-right {
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #f4f5f5;
  border-left: 0;
  text-align: right;
}
.blockquote-reverse footer:before,
blockquote.pull-right footer:before,
.blockquote-reverse small:before,
blockquote.pull-right small:before,
.blockquote-reverse .small:before,
blockquote.pull-right .small:before {
  content: '';
}
.blockquote-reverse footer:after,
blockquote.pull-right footer:after,
.blockquote-reverse small:after,
blockquote.pull-right small:after,
.blockquote-reverse .small:after,
blockquote.pull-right .small:after {
  content: '\00A0 \2014';
}
address {
  margin-bottom: 19px;
  font-style: normal;
  line-height: 1.52857143;
}
code,
kbd,
pre,
samp {
  font-family: Menlo, Monaco, Consolas, "Courier New", monospace;
}
code {
  padding: 2px 4px;
  font-size: 90%;
  color: #259cc7;
  background-color: #f2f7f9;
  border-radius: 3px;
}
kbd {
  padding: 2px 4px;
  font-size: 90%;
  color: #ffffff;
  background-color: #333333;
  border-radius: 2px;
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.25);
}
kbd kbd {
  padding: 0;
  font-size: 100%;
  font-weight: bold;
  box-shadow: none;
}
pre {
  display: block;
  padding: 9px;
  margin: 0 0 9.5px;
  font-size: 12px;
  line-height: 1.52857143;
  word-break: break-all;
  word-wrap: break-word;
  color: #515d6e;
  background-color: #f5f5f5;
  border: 1px solid #cccccc;
  border-radius: 3px;
}
pre code {
  padding: 0;
  font-size: inherit;
  color: inherit;
  white-space: pre-wrap;
  background-color: transparent;
  border-radius: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
@media (min-width: 768px) {
  .container {
    width: 750px;
  }
}
@media (min-width: 992px) {
  .container {
    width: 970px;
  }
}
@media (min-width: 1200px) {
  .container {
    width: 1170px;
  }
}
.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.row {
  margin-left: -15px;
  margin-right: -15px;
}
.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 1px;
  padding-left: 15px;
  padding-right: 15px;
}
.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}
.col-xs-12 {
  width: 100%;
}
.col-xs-11 {
  width: 91.66666667%;
}
.col-xs-10 {
  width: 83.33333333%;
}
.col-xs-9 {
  width: 75%;
}
.col-xs-8 {
  width: 66.66666667%;
}
.col-xs-7 {
  width: 58.33333333%;
}
.col-xs-6 {
  width: 50%;
}
.col-xs-5 {
  width: 41.66666667%;
}
.col-xs-4 {
  width: 33.33333333%;
}
.col-xs-3 {
  width: 25%;
}
.col-xs-2 {
  width: 16.66666667%;
}
.col-xs-1 {
  width: 8.33333333%;
}
.col-xs-pull-12 {
  right: 100%;
}
.col-xs-pull-11 {
  right: 91.66666667%;
}
.col-xs-pull-10 {
  right: 83.33333333%;
}
.col-xs-pull-9 {
  right: 75%;
}
.col-xs-pull-8 {
  right: 66.66666667%;
}
.col-xs-pull-7 {
  right: 58.33333333%;
}
.col-xs-pull-6 {
  right: 50%;
}
.col-xs-pull-5 {
  right: 41.66666667%;
}
.col-xs-pull-4 {
  right: 33.33333333%;
}
.col-xs-pull-3 {
  right: 25%;
}
.col-xs-pull-2 {
  right: 16.66666667%;
}
.col-xs-pull-1 {
  right: 8.33333333%;
}
.col-xs-pull-0 {
  right: auto;
}
.col-xs-push-12 {
  left: 100%;
}
.col-xs-push-11 {
  left: 91.66666667%;
}
.col-xs-push-10 {
  left: 83.33333333%;
}
.col-xs-push-9 {
  left: 75%;
}
.col-xs-push-8 {
  left: 66.66666667%;
}
.col-xs-push-7 {
  left: 58.33333333%;
}
.col-xs-push-6 {
  left: 50%;
}
.col-xs-push-5 {
  left: 41.66666667%;
}
.col-xs-push-4 {
  left: 33.33333333%;
}
.col-xs-push-3 {
  left: 25%;
}
.col-xs-push-2 {
  left: 16.66666667%;
}
.col-xs-push-1 {
  left: 8.33333333%;
}
.col-xs-push-0 {
  left: auto;
}
.col-xs-offset-12 {
  margin-left: 100%;
}
.col-xs-offset-11 {
  margin-left: 91.66666667%;
}
.col-xs-offset-10 {
  margin-left: 83.33333333%;
}
.col-xs-offset-9 {
  margin-left: 75%;
}
.col-xs-offset-8 {
  margin-left: 66.66666667%;
}
.col-xs-offset-7 {
  margin-left: 58.33333333%;
}
.col-xs-offset-6 {
  margin-left: 50%;
}
.col-xs-offset-5 {
  margin-left: 41.66666667%;
}
.col-xs-offset-4 {
  margin-left: 33.33333333%;
}
.col-xs-offset-3 {
  margin-left: 25%;
}
.col-xs-offset-2 {
  margin-left: 16.66666667%;
}
.col-xs-offset-1 {
  margin-left: 8.33333333%;
}
.col-xs-offset-0 {
  margin-left: 0%;
}
@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-11 {
    width: 91.66666667%;
  }
  .col-sm-10 {
    width: 83.33333333%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-8 {
    width: 66.66666667%;
  }
  .col-sm-7 {
    width: 58.33333333%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-5 {
    width: 41.66666667%;
  }
  .col-sm-4 {
    width: 33.33333333%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-2 {
    width: 16.66666667%;
  }
  .col-sm-1 {
    width: 8.33333333%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-pull-11 {
    right: 91.66666667%;
  }
  .col-sm-pull-10 {
    right: 83.33333333%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-8 {
    right: 66.66666667%;
  }
  .col-sm-pull-7 {
    right: 58.33333333%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-5 {
    right: 41.66666667%;
  }
  .col-sm-pull-4 {
    right: 33.33333333%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-2 {
    right: 16.66666667%;
  }
  .col-sm-pull-1 {
    right: 8.33333333%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-push-11 {
    left: 91.66666667%;
  }
  .col-sm-push-10 {
    left: 83.33333333%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-8 {
    left: 66.66666667%;
  }
  .col-sm-push-7 {
    left: 58.33333333%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-5 {
    left: 41.66666667%;
  }
  .col-sm-push-4 {
    left: 33.33333333%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-2 {
    left: 16.66666667%;
  }
  .col-sm-push-1 {
    left: 8.33333333%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
  .col-sm-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-sm-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-sm-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-sm-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-sm-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-11 {
    width: 91.66666667%;
  }
  .col-md-10 {
    width: 83.33333333%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-8 {
    width: 66.66666667%;
  }
  .col-md-7 {
    width: 58.33333333%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-5 {
    width: 41.66666667%;
  }
  .col-md-4 {
    width: 33.33333333%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-2 {
    width: 16.66666667%;
  }
  .col-md-1 {
    width: 8.33333333%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-pull-11 {
    right: 91.66666667%;
  }
  .col-md-pull-10 {
    right: 83.33333333%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-8 {
    right: 66.66666667%;
  }
  .col-md-pull-7 {
    right: 58.33333333%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-5 {
    right: 41.66666667%;
  }
  .col-md-pull-4 {
    right: 33.33333333%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-2 {
    right: 16.66666667%;
  }
  .col-md-pull-1 {
    right: 8.33333333%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-push-11 {
    left: 91.66666667%;
  }
  .col-md-push-10 {
    left: 83.33333333%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-8 {
    left: 66.66666667%;
  }
  .col-md-push-7 {
    left: 58.33333333%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-5 {
    left: 41.66666667%;
  }
  .col-md-push-4 {
    left: 33.33333333%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-2 {
    left: 16.66666667%;
  }
  .col-md-push-1 {
    left: 8.33333333%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
  .col-md-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-md-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-md-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-md-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-md-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
}
@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-11 {
    width: 91.66666667%;
  }
  .col-lg-10 {
    width: 83.33333333%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-8 {
    width: 66.66666667%;
  }
  .col-lg-7 {
    width: 58.33333333%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-5 {
    width: 41.66666667%;
  }
  .col-lg-4 {
    width: 33.33333333%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-2 {
    width: 16.66666667%;
  }
  .col-lg-1 {
    width: 8.33333333%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-pull-11 {
    right: 91.66666667%;
  }
  .col-lg-pull-10 {
    right: 83.33333333%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-8 {
    right: 66.66666667%;
  }
  .col-lg-pull-7 {
    right: 58.33333333%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-5 {
    right: 41.66666667%;
  }
  .col-lg-pull-4 {
    right: 33.33333333%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-2 {
    right: 16.66666667%;
  }
  .col-lg-pull-1 {
    right: 8.33333333%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-push-11 {
    left: 91.66666667%;
  }
  .col-lg-push-10 {
    left: 83.33333333%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-8 {
    left: 66.66666667%;
  }
  .col-lg-push-7 {
    left: 58.33333333%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-5 {
    left: 41.66666667%;
  }
  .col-lg-push-4 {
    left: 33.33333333%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-2 {
    left: 16.66666667%;
  }
  .col-lg-push-1 {
    left: 8.33333333%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
  .col-lg-offset-11 {
    margin-left: 91.66666667%;
  }
  .col-lg-offset-10 {
    margin-left: 83.33333333%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-8 {
    margin-left: 66.66666667%;
  }
  .col-lg-offset-7 {
    margin-left: 58.33333333%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-5 {
    margin-left: 41.66666667%;
  }
  .col-lg-offset-4 {
    margin-left: 33.33333333%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-2 {
    margin-left: 16.66666667%;
  }
  .col-lg-offset-1 {
    margin-left: 8.33333333%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
}
table {
  background-color: transparent;
}
caption {
  padding-top: 12px 8px;
  padding-bottom: 12px 8px;
  color: #8394a9;
  text-align: left;
}
th {
  text-align: left;
}
.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 19px;
}
.table > thead > tr > th,
.table > tbody > tr > th,
.table > tfoot > tr > th,
.table > thead > tr > td,
.table > tbody > tr > td,
.table > tfoot > tr > td {
  padding: 12px 8px;
  line-height: 1.52857143;
  vertical-align: top;
  border-top: 1px solid #eeeeee;
}
.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #eeeeee;
}
.table > caption + thead > tr:first-child > th,
.table > colgroup + thead > tr:first-child > th,
.table > thead:first-child > tr:first-child > th,
.table > caption + thead > tr:first-child > td,
.table > colgroup + thead > tr:first-child > td,
.table > thead:first-child > tr:first-child > td {
  border-top: 0;
}
.table > tbody + tbody {
  border-top: 2px solid #eeeeee;
}
.table .table {
  background-color: #f7f9fb;
}
.table-condensed > thead > tr > th,
.table-condensed > tbody > tr > th,
.table-condensed > tfoot > tr > th,
.table-condensed > thead > tr > td,
.table-condensed > tbody > tr > td,
.table-condensed > tfoot > tr > td {
  padding: 5px;
}
.table-bordered {
  border: 1px solid #eeeeee;
}
.table-bordered > thead > tr > th,
.table-bordered > tbody > tr > th,
.table-bordered > tfoot > tr > th,
.table-bordered > thead > tr > td,
.table-bordered > tbody > tr > td,
.table-bordered > tfoot > tr > td {
  border: 1px solid #eeeeee;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 2px;
}
.table-striped > tbody > tr:nth-of-type(odd) {
  background-color: #fafbfc;
}
.table-hover > tbody > tr:hover {
  background-color: #fafbfc;
}
table col[class*="col-"] {
  position: static;
  float: none;
  display: table-column;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  float: none;
  display: table-cell;
}
.table > thead > tr > td.active,
.table > tbody > tr > td.active,
.table > tfoot > tr > td.active,
.table > thead > tr > th.active,
.table > tbody > tr > th.active,
.table > tfoot > tr > th.active,
.table > thead > tr.active > td,
.table > tbody > tr.active > td,
.table > tfoot > tr.active > td,
.table > thead > tr.active > th,
.table > tbody > tr.active > th,
.table > tfoot > tr.active > th {
  background-color: #e6e9ee;
}
.table-hover > tbody > tr > td.active:hover,
.table-hover > tbody > tr > th.active:hover,
.table-hover > tbody > tr.active:hover > td,
.table-hover > tbody > tr:hover > .active,
.table-hover > tbody > tr.active:hover > th {
  background-color: #d7dce4;
}
.table > thead > tr > td.success,
.table > tbody > tr > td.success,
.table > tfoot > tr > td.success,
.table > thead > tr > th.success,
.table > tbody > tr > th.success,
.table > tfoot > tr > th.success,
.table > thead > tr.success > td,
.table > tbody > tr.success > td,
.table > tfoot > tr.success > td,
.table > thead > tr.success > th,
.table > tbody > tr.success > th,
.table > tfoot > tr.success > th {
  background-color: #dff0d8;
}
.table-hover > tbody > tr > td.success:hover,
.table-hover > tbody > tr > th.success:hover,
.table-hover > tbody > tr.success:hover > td,
.table-hover > tbody > tr:hover > .success,
.table-hover > tbody > tr.success:hover > th {
  background-color: #d0e9c6;
}
.table > thead > tr > td.info,
.table > tbody > tr > td.info,
.table > tfoot > tr > td.info,
.table > thead > tr > th.info,
.table > tbody > tr > th.info,
.table > tfoot > tr > th.info,
.table > thead > tr.info > td,
.table > tbody > tr.info > td,
.table > tfoot > tr.info > td,
.table > thead > tr.info > th,
.table > tbody > tr.info > th,
.table > tfoot > tr.info > th {
  background-color: #d9edf7;
}
.table-hover > tbody > tr > td.info:hover,
.table-hover > tbody > tr > th.info:hover,
.table-hover > tbody > tr.info:hover > td,
.table-hover > tbody > tr:hover > .info,
.table-hover > tbody > tr.info:hover > th {
  background-color: #c4e3f3;
}
.table > thead > tr > td.warning,
.table > tbody > tr > td.warning,
.table > tfoot > tr > td.warning,
.table > thead > tr > th.warning,
.table > tbody > tr > th.warning,
.table > tfoot > tr > th.warning,
.table > thead > tr.warning > td,
.table > tbody > tr.warning > td,
.table > tfoot > tr.warning > td,
.table > thead > tr.warning > th,
.table > tbody > tr.warning > th,
.table > tfoot > tr.warning > th {
  background-color: #fcf8e3;
}
.table-hover > tbody > tr > td.warning:hover,
.table-hover > tbody > tr > th.warning:hover,
.table-hover > tbody > tr.warning:hover > td,
.table-hover > tbody > tr:hover > .warning,
.table-hover > tbody > tr.warning:hover > th {
  background-color: #faf2cc;
}
.table > thead > tr > td.danger,
.table > tbody > tr > td.danger,
.table > tfoot > tr > td.danger,
.table > thead > tr > th.danger,
.table > tbody > tr > th.danger,
.table > tfoot > tr > th.danger,
.table > thead > tr.danger > td,
.table > tbody > tr.danger > td,
.table > tfoot > tr.danger > td,
.table > thead > tr.danger > th,
.table > tbody > tr.danger > th,
.table > tfoot > tr.danger > th {
  background-color: #f2dede;
}
.table-hover > tbody > tr > td.danger:hover,
.table-hover > tbody > tr > th.danger:hover,
.table-hover > tbody > tr.danger:hover > td,
.table-hover > tbody > tr:hover > .danger,
.table-hover > tbody > tr.danger:hover > th {
  background-color: #ebcccc;
}
.table-responsive {
  overflow-x: auto;
  min-height: 0.01%;
}
@media screen and (max-width: 767px) {
  .table-responsive {
    width: 100%;
    margin-bottom: 14.25px;
    overflow-y: hidden;
    -ms-overflow-style: -ms-autohiding-scrollbar;
    border: 1px solid #eeeeee;
  }
  .table-responsive > .table {
    margin-bottom: 0;
  }
  .table-responsive > .table > thead > tr > th,
  .table-responsive > .table > tbody > tr > th,
  .table-responsive > .table > tfoot > tr > th,
  .table-responsive > .table > thead > tr > td,
  .table-responsive > .table > tbody > tr > td,
  .table-responsive > .table > tfoot > tr > td {
    white-space: nowrap;
  }
  .table-responsive > .table-bordered {
    border: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:first-child,
  .table-responsive > .table-bordered > tbody > tr > th:first-child,
  .table-responsive > .table-bordered > tfoot > tr > th:first-child,
  .table-responsive > .table-bordered > thead > tr > td:first-child,
  .table-responsive > .table-bordered > tbody > tr > td:first-child,
  .table-responsive > .table-bordered > tfoot > tr > td:first-child {
    border-left: 0;
  }
  .table-responsive > .table-bordered > thead > tr > th:last-child,
  .table-responsive > .table-bordered > tbody > tr > th:last-child,
  .table-responsive > .table-bordered > tfoot > tr > th:last-child,
  .table-responsive > .table-bordered > thead > tr > td:last-child,
  .table-responsive > .table-bordered > tbody > tr > td:last-child,
  .table-responsive > .table-bordered > tfoot > tr > td:last-child {
    border-right: 0;
  }
  .table-responsive > .table-bordered > tbody > tr:last-child > th,
  .table-responsive > .table-bordered > tfoot > tr:last-child > th,
  .table-responsive > .table-bordered > tbody > tr:last-child > td,
  .table-responsive > .table-bordered > tfoot > tr:last-child > td {
    border-bottom: 0;
  }
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 19px;
  font-size: 19.5px;
  line-height: inherit;
  color: #515d6e;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
label {
  display: inline-block;
  max-width: 100%;
  margin-bottom: 5px;
  font-weight: bold;
}
input[type="search"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  margin-top: 1px \9;
  line-height: normal;
}
input[type="file"] {
  display: block;
}
input[type="range"] {
  display: block;
  width: 100%;
}
select[multiple],
select[size] {
  height: auto;
}
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
output {
  display: block;
  padding-top: 9px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
}
.form-control {
  display: block;
  width: 100%;
  height: 37px;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dbd9d9;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
}
.form-control:focus {
  border-color: #43a8eb;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
}
.form-control::-moz-placeholder {
  color: #b7bac9;
  opacity: 1;
}
.form-control:-ms-input-placeholder {
  color: #b7bac9;
}
.form-control::-webkit-input-placeholder {
  color: #b7bac9;
}
.form-control[disabled],
.form-control[readonly],
fieldset[disabled] .form-control {
  background-color: #f4f5f5;
  opacity: 1;
}
.form-control[disabled],
fieldset[disabled] .form-control {
  cursor: not-allowed;
}
textarea.form-control {
  height: auto;
}
input[type="search"] {
  -webkit-appearance: none;
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  input[type="date"].form-control,
  input[type="time"].form-control,
  input[type="datetime-local"].form-control,
  input[type="month"].form-control {
    line-height: 37px;
  }
  input[type="date"].input-sm,
  input[type="time"].input-sm,
  input[type="datetime-local"].input-sm,
  input[type="month"].input-sm,
  .input-group-sm input[type="date"],
  .input-group-sm input[type="time"],
  .input-group-sm input[type="datetime-local"],
  .input-group-sm input[type="month"] {
    line-height: 30px;
  }
  input[type="date"].input-lg,
  input[type="time"].input-lg,
  input[type="datetime-local"].input-lg,
  input[type="month"].input-lg,
  .input-group-lg input[type="date"],
  .input-group-lg input[type="time"],
  .input-group-lg input[type="datetime-local"],
  .input-group-lg input[type="month"] {
    line-height: 53px;
  }
}
.form-group {
  margin-bottom: 15px;
}
.radio,
.checkbox {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px;
}
.radio label,
.checkbox label {
  min-height: 19px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: normal;
  cursor: pointer;
}
.radio input[type="radio"],
.radio-inline input[type="radio"],
.checkbox input[type="checkbox"],
.checkbox-inline input[type="checkbox"] {
  position: absolute;
  margin-left: -20px;
  margin-top: 4px \9;
}
.radio + .radio,
.checkbox + .checkbox {
  margin-top: -5px;
}
.radio-inline,
.checkbox-inline {
  position: relative;
  display: inline-block;
  padding-left: 20px;
  margin-bottom: 0;
  vertical-align: middle;
  font-weight: normal;
  cursor: pointer;
}
.radio-inline + .radio-inline,
.checkbox-inline + .checkbox-inline {
  margin-top: 0;
  margin-left: 10px;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"].disabled,
input[type="checkbox"].disabled,
fieldset[disabled] input[type="radio"],
fieldset[disabled] input[type="checkbox"] {
  cursor: not-allowed;
}
.radio-inline.disabled,
.checkbox-inline.disabled,
fieldset[disabled] .radio-inline,
fieldset[disabled] .checkbox-inline {
  cursor: not-allowed;
}
.radio.disabled label,
.checkbox.disabled label,
fieldset[disabled] .radio label,
fieldset[disabled] .checkbox label {
  cursor: not-allowed;
}
.form-control-static {
  padding-top: 9px;
  padding-bottom: 9px;
  margin-bottom: 0;
  min-height: 32px;
}
.form-control-static.input-lg,
.form-control-static.input-sm {
  padding-left: 0;
  padding-right: 0;
}
.input-sm {
  height: 30px;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}
select.input-sm {
  height: 30px;
  line-height: 30px;
}
textarea.input-sm,
select[multiple].input-sm {
  height: auto;
}
.form-group-sm .form-control {
  height: 30px;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}
.form-group-sm select.form-control {
  height: 30px;
  line-height: 30px;
}
.form-group-sm textarea.form-control,
.form-group-sm select[multiple].form-control {
  height: auto;
}
.form-group-sm .form-control-static {
  height: 30px;
  min-height: 31px;
  padding: 6px 18px;
  font-size: 12px;
  line-height: 1.5;
}
.input-lg {
  height: 53px;
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}
select.input-lg {
  height: 53px;
  line-height: 53px;
}
textarea.input-lg,
select[multiple].input-lg {
  height: auto;
}
.form-group-lg .form-control {
  height: 53px;
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}
.form-group-lg select.form-control {
  height: 53px;
  line-height: 53px;
}
.form-group-lg textarea.form-control,
.form-group-lg select[multiple].form-control {
  height: auto;
}
.form-group-lg .form-control-static {
  height: 53px;
  min-height: 36px;
  padding: 15px 26px;
  font-size: 17px;
  line-height: 1.33;
}
.has-feedback {
  position: relative;
}
.has-feedback .form-control {
  padding-right: 46.25px;
}
.form-control-feedback {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  display: block;
  width: 37px;
  height: 37px;
  line-height: 37px;
  text-align: center;
  pointer-events: none;
}
.input-lg + .form-control-feedback,
.input-group-lg + .form-control-feedback,
.form-group-lg .form-control + .form-control-feedback {
  width: 53px;
  height: 53px;
  line-height: 53px;
}
.input-sm + .form-control-feedback,
.input-group-sm + .form-control-feedback,
.form-group-sm .form-control + .form-control-feedback {
  width: 30px;
  height: 30px;
  line-height: 30px;
}
.has-success .help-block,
.has-success .control-label,
.has-success .radio,
.has-success .checkbox,
.has-success .radio-inline,
.has-success .checkbox-inline,
.has-success.radio label,
.has-success.checkbox label,
.has-success.radio-inline label,
.has-success.checkbox-inline label {
  color: #88bf57;
}
.has-success .form-control {
  border-color: #88bf57;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-success .form-control:focus {
  border-color: #6fa43f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #bcdba1;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #bcdba1;
}
.has-success .input-group-addon {
  color: #88bf57;
  border-color: #88bf57;
  background-color: #dff0d8;
}
.has-success .form-control-feedback {
  color: #88bf57;
}
.has-warning .help-block,
.has-warning .control-label,
.has-warning .radio,
.has-warning .checkbox,
.has-warning .radio-inline,
.has-warning .checkbox-inline,
.has-warning.radio label,
.has-warning.checkbox label,
.has-warning.radio-inline label,
.has-warning.checkbox-inline label {
  color: #fdaf40;
}
.has-warning .form-control {
  border-color: #fdaf40;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-warning .form-control:focus {
  border-color: #fc9a0e;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fed9a5;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #fed9a5;
}
.has-warning .input-group-addon {
  color: #fdaf40;
  border-color: #fdaf40;
  background-color: #fcf8e3;
}
.has-warning .form-control-feedback {
  color: #fdaf40;
}
.has-error .help-block,
.has-error .control-label,
.has-error .radio,
.has-error .checkbox,
.has-error .radio-inline,
.has-error .checkbox-inline,
.has-error.radio label,
.has-error.checkbox label,
.has-error.radio-inline label,
.has-error.checkbox-inline label {
  color: #eb615f;
}
.has-error .form-control {
  border-color: #eb615f;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.has-error .form-control:focus {
  border-color: #e53432;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f6bbba;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #f6bbba;
}
.has-error .input-group-addon {
  color: #eb615f;
  border-color: #eb615f;
  background-color: #f2dede;
}
.has-error .form-control-feedback {
  color: #eb615f;
}
.has-feedback label ~ .form-control-feedback {
  top: 24px;
}
.has-feedback label.sr-only ~ .form-control-feedback {
  top: 0;
}
.help-block {
  display: block;
  margin-top: 5px;
  margin-bottom: 10px;
  color: #989fa9;
}
@media (min-width: 768px) {
  .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .form-inline .form-control-static {
    display: inline-block;
  }
  .form-inline .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .form-inline .input-group .input-group-addon,
  .form-inline .input-group .input-group-btn,
  .form-inline .input-group .form-control {
    width: auto;
  }
  .form-inline .input-group > .form-control {
    width: 100%;
  }
  .form-inline .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio,
  .form-inline .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .form-inline .radio label,
  .form-inline .checkbox label {
    padding-left: 0;
  }
  .form-inline .radio input[type="radio"],
  .form-inline .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .form-inline .has-feedback .form-control-feedback {
    top: 0;
  }
}
.form-horizontal .radio,
.form-horizontal .checkbox,
.form-horizontal .radio-inline,
.form-horizontal .checkbox-inline {
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 9px;
}
.form-horizontal .radio,
.form-horizontal .checkbox {
  min-height: 28px;
}
.form-horizontal .form-group {
  margin-left: -15px;
  margin-right: -15px;
}
@media (min-width: 768px) {
  .form-horizontal .control-label {
    text-align: right;
    margin-bottom: 0;
    padding-top: 9px;
  }
}
.form-horizontal .has-feedback .form-control-feedback {
  right: 15px;
}
@media (min-width: 768px) {
  .form-horizontal .form-group-lg .control-label {
    padding-top: 19.62px;
    font-size: 17px;
  }
}
@media (min-width: 768px) {
  .form-horizontal .form-group-sm .control-label {
    padding-top: 6px;
    font-size: 12px;
  }
}
.btn {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  border-radius: 3px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
.btn:focus,
.btn:active:focus,
.btn.active:focus,
.btn.focus,
.btn:active.focus,
.btn.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn:hover,
.btn:focus,
.btn.focus {
  color: #a0aab2;
  text-decoration: none;
}
.btn:active,
.btn.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}
.btn-default {
  color: #a0aab2 !important;
  background-color: #ffffff;
  border-color: #e6e9ee;
}
.btn-default:focus,
.btn-default.focus {
  color: #a0aab2 !important;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.btn-default:hover {
  color: #a0aab2;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  color: #a0aab2;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.btn-default:active:hover,
.btn-default.active:hover,
.open > .dropdown-toggle.btn-default:hover,
.btn-default:active:focus,
.btn-default.active:focus,
.open > .dropdown-toggle.btn-default:focus,
.btn-default:active.focus,
.btn-default.active.focus,
.open > .dropdown-toggle.btn-default.focus {
  color: #a0aab2;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.btn-default:active,
.btn-default.active,
.open > .dropdown-toggle.btn-default {
  background-image: none;
}
.btn-default.disabled,
.btn-default[disabled],
fieldset[disabled] .btn-default,
.btn-default.disabled:hover,
.btn-default[disabled]:hover,
fieldset[disabled] .btn-default:hover,
.btn-default.disabled:focus,
.btn-default[disabled]:focus,
fieldset[disabled] .btn-default:focus,
.btn-default.disabled.focus,
.btn-default[disabled].focus,
fieldset[disabled] .btn-default.focus,
.btn-default.disabled:active,
.btn-default[disabled]:active,
fieldset[disabled] .btn-default:active,
.btn-default.disabled.active,
.btn-default[disabled].active,
fieldset[disabled] .btn-default.active {
  background-color: #ffffff;
  border-color: #e6e9ee;
}
.btn-default .badge {
  color: #ffffff;
  background-color: #a0aab2;
}
.btn-primary {
  color: #ffffff !important;
  background-color: #43a8eb;
  border-color: #3ea6eb;
}
.btn-primary:focus,
.btn-primary.focus {
  color: #ffffff !important;
  background-color: #319fe9;
  border-color: #1a95e7;
}
.btn-primary:hover {
  color: #ffffff;
  background-color: #319fe9;
  border-color: #1a95e7;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  color: #ffffff;
  background-color: #319fe9;
  border-color: #1a95e7;
}
.btn-primary:active:hover,
.btn-primary.active:hover,
.open > .dropdown-toggle.btn-primary:hover,
.btn-primary:active:focus,
.btn-primary.active:focus,
.open > .dropdown-toggle.btn-primary:focus,
.btn-primary:active.focus,
.btn-primary.active.focus,
.open > .dropdown-toggle.btn-primary.focus {
  color: #ffffff;
  background-color: #319fe9;
  border-color: #1a95e7;
}
.btn-primary:active,
.btn-primary.active,
.open > .dropdown-toggle.btn-primary {
  background-image: none;
}
.btn-primary.disabled,
.btn-primary[disabled],
fieldset[disabled] .btn-primary,
.btn-primary.disabled:hover,
.btn-primary[disabled]:hover,
fieldset[disabled] .btn-primary:hover,
.btn-primary.disabled:focus,
.btn-primary[disabled]:focus,
fieldset[disabled] .btn-primary:focus,
.btn-primary.disabled.focus,
.btn-primary[disabled].focus,
fieldset[disabled] .btn-primary.focus,
.btn-primary.disabled:active,
.btn-primary[disabled]:active,
fieldset[disabled] .btn-primary:active,
.btn-primary.disabled.active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary.active {
  background-color: #43a8eb;
  border-color: #3ea6eb;
}
.btn-primary .badge {
  color: #43a8eb;
  background-color: #ffffff;
}
.btn-success {
  color: #ffffff !important;
  background-color: #88bf57;
  border-color: #85be53;
}
.btn-success:focus,
.btn-success.focus {
  color: #ffffff !important;
  background-color: #7eb948;
  border-color: #71a840;
}
.btn-success:hover {
  color: #ffffff;
  background-color: #7eb948;
  border-color: #71a840;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  color: #ffffff;
  background-color: #7eb948;
  border-color: #71a840;
}
.btn-success:active:hover,
.btn-success.active:hover,
.open > .dropdown-toggle.btn-success:hover,
.btn-success:active:focus,
.btn-success.active:focus,
.open > .dropdown-toggle.btn-success:focus,
.btn-success:active.focus,
.btn-success.active.focus,
.open > .dropdown-toggle.btn-success.focus {
  color: #ffffff;
  background-color: #7eb948;
  border-color: #71a840;
}
.btn-success:active,
.btn-success.active,
.open > .dropdown-toggle.btn-success {
  background-image: none;
}
.btn-success.disabled,
.btn-success[disabled],
fieldset[disabled] .btn-success,
.btn-success.disabled:hover,
.btn-success[disabled]:hover,
fieldset[disabled] .btn-success:hover,
.btn-success.disabled:focus,
.btn-success[disabled]:focus,
fieldset[disabled] .btn-success:focus,
.btn-success.disabled.focus,
.btn-success[disabled].focus,
fieldset[disabled] .btn-success.focus,
.btn-success.disabled:active,
.btn-success[disabled]:active,
fieldset[disabled] .btn-success:active,
.btn-success.disabled.active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success.active {
  background-color: #88bf57;
  border-color: #85be53;
}
.btn-success .badge {
  color: #88bf57;
  background-color: #ffffff;
}
.btn-info {
  color: #ffffff !important;
  background-color: #8293b9;
  border-color: #7f90b7;
}
.btn-info:focus,
.btn-info.focus {
  color: #ffffff !important;
  background-color: #7588b2;
  border-color: #657aa9;
}
.btn-info:hover {
  color: #ffffff;
  background-color: #7588b2;
  border-color: #657aa9;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  color: #ffffff;
  background-color: #7588b2;
  border-color: #657aa9;
}
.btn-info:active:hover,
.btn-info.active:hover,
.open > .dropdown-toggle.btn-info:hover,
.btn-info:active:focus,
.btn-info.active:focus,
.open > .dropdown-toggle.btn-info:focus,
.btn-info:active.focus,
.btn-info.active.focus,
.open > .dropdown-toggle.btn-info.focus {
  color: #ffffff;
  background-color: #7588b2;
  border-color: #657aa9;
}
.btn-info:active,
.btn-info.active,
.open > .dropdown-toggle.btn-info {
  background-image: none;
}
.btn-info.disabled,
.btn-info[disabled],
fieldset[disabled] .btn-info,
.btn-info.disabled:hover,
.btn-info[disabled]:hover,
fieldset[disabled] .btn-info:hover,
.btn-info.disabled:focus,
.btn-info[disabled]:focus,
fieldset[disabled] .btn-info:focus,
.btn-info.disabled.focus,
.btn-info[disabled].focus,
fieldset[disabled] .btn-info.focus,
.btn-info.disabled:active,
.btn-info[disabled]:active,
fieldset[disabled] .btn-info:active,
.btn-info.disabled.active,
.btn-info[disabled].active,
fieldset[disabled] .btn-info.active {
  background-color: #8293b9;
  border-color: #7f90b7;
}
.btn-info .badge {
  color: #8293b9;
  background-color: #ffffff;
}
.btn-warning {
  color: #ffffff !important;
  background-color: #fdaf40;
  border-color: #fdad3b;
}
.btn-warning:focus,
.btn-warning.focus {
  color: #ffffff !important;
  background-color: #fda72c;
  border-color: #fd9c13;
}
.btn-warning:hover {
  color: #ffffff;
  background-color: #fda72c;
  border-color: #fd9c13;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  color: #ffffff;
  background-color: #fda72c;
  border-color: #fd9c13;
}
.btn-warning:active:hover,
.btn-warning.active:hover,
.open > .dropdown-toggle.btn-warning:hover,
.btn-warning:active:focus,
.btn-warning.active:focus,
.open > .dropdown-toggle.btn-warning:focus,
.btn-warning:active.focus,
.btn-warning.active.focus,
.open > .dropdown-toggle.btn-warning.focus {
  color: #ffffff;
  background-color: #fda72c;
  border-color: #fd9c13;
}
.btn-warning:active,
.btn-warning.active,
.open > .dropdown-toggle.btn-warning {
  background-image: none;
}
.btn-warning.disabled,
.btn-warning[disabled],
fieldset[disabled] .btn-warning,
.btn-warning.disabled:hover,
.btn-warning[disabled]:hover,
fieldset[disabled] .btn-warning:hover,
.btn-warning.disabled:focus,
.btn-warning[disabled]:focus,
fieldset[disabled] .btn-warning:focus,
.btn-warning.disabled.focus,
.btn-warning[disabled].focus,
fieldset[disabled] .btn-warning.focus,
.btn-warning.disabled:active,
.btn-warning[disabled]:active,
fieldset[disabled] .btn-warning:active,
.btn-warning.disabled.active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning.active {
  background-color: #fdaf40;
  border-color: #fdad3b;
}
.btn-warning .badge {
  color: #fdaf40;
  background-color: #ffffff;
}
.btn-danger {
  color: #ffffff !important;
  background-color: #eb615f;
  border-color: #ea5d5a;
}
.btn-danger:focus,
.btn-danger.focus {
  color: #ffffff !important;
  background-color: #e94f4d;
  border-color: #e63936;
}
.btn-danger:hover {
  color: #ffffff;
  background-color: #e94f4d;
  border-color: #e63936;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  color: #ffffff;
  background-color: #e94f4d;
  border-color: #e63936;
}
.btn-danger:active:hover,
.btn-danger.active:hover,
.open > .dropdown-toggle.btn-danger:hover,
.btn-danger:active:focus,
.btn-danger.active:focus,
.open > .dropdown-toggle.btn-danger:focus,
.btn-danger:active.focus,
.btn-danger.active.focus,
.open > .dropdown-toggle.btn-danger.focus {
  color: #ffffff;
  background-color: #e94f4d;
  border-color: #e63936;
}
.btn-danger:active,
.btn-danger.active,
.open > .dropdown-toggle.btn-danger {
  background-image: none;
}
.btn-danger.disabled,
.btn-danger[disabled],
fieldset[disabled] .btn-danger,
.btn-danger.disabled:hover,
.btn-danger[disabled]:hover,
fieldset[disabled] .btn-danger:hover,
.btn-danger.disabled:focus,
.btn-danger[disabled]:focus,
fieldset[disabled] .btn-danger:focus,
.btn-danger.disabled.focus,
.btn-danger[disabled].focus,
fieldset[disabled] .btn-danger.focus,
.btn-danger.disabled:active,
.btn-danger[disabled]:active,
fieldset[disabled] .btn-danger:active,
.btn-danger.disabled.active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger.active {
  background-color: #eb615f;
  border-color: #ea5d5a;
}
.btn-danger .badge {
  color: #eb615f;
  background-color: #ffffff;
}
.btn-link {
  color: #43a8eb;
  font-weight: normal;
  border-radius: 0;
}
.btn-link,
.btn-link:active,
.btn-link.active,
.btn-link[disabled],
fieldset[disabled] .btn-link {
  background-color: transparent;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn-link,
.btn-link:hover,
.btn-link:focus,
.btn-link:active {
  border-color: transparent;
}
.btn-link:hover,
.btn-link:focus {
  color: #1683cc;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
fieldset[disabled] .btn-link:hover,
.btn-link[disabled]:focus,
fieldset[disabled] .btn-link:focus {
  color: #e6e9ee;
  text-decoration: none;
}
.btn-lg,
.btn-group-lg > .btn {
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}
.btn-sm,
.btn-group-sm > .btn {
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}
.btn-xs,
.btn-group-xs > .btn {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
}
.btn-block {
  display: block;
  width: 100%;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  display: none;
}
.collapse.in {
  display: block;
}
tr.collapse.in {
  display: table-row;
}
tbody.collapse.in {
  display: table-row-group;
}
.collapsing {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition-property: height, visibility;
  transition-property: height, visibility;
  -webkit-transition-duration: 0.35s;
  transition-duration: 0.35s;
  -webkit-transition-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !important;
  transition-timing-function: cubic-bezier(0.35, 0, 0.25, 1) !important;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  margin-left: 2px;
  vertical-align: middle;
  border-top: 4px dashed;
  border-top: 4px solid \9;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle:focus {
  outline: 0;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  font-size: 13px;
  text-align: left;
  background-color: #ffffff;
  border: 1px solid #cccccc;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  -webkit-box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  height: 1px;
  margin: 8.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.52857143;
  color: #5f5f5f;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus {
  text-decoration: none;
  color: #46515f;
  background-color: #fafbfc;
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #43a8eb;
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #e6e9ee;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: not-allowed;
}
.open > .dropdown-menu {
  display: block;
}
.open > a {
  outline: 0;
}
.dropdown-menu-right {
  left: auto;
  right: 0;
}
.dropdown-menu-left {
  left: 0;
  right: auto;
}
.dropdown-header {
  display: block;
  padding: 3px 20px;
  font-size: 12px;
  line-height: 1.52857143;
  color: #e6e9ee;
  white-space: nowrap;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px dashed;
  border-bottom: 4px solid \9;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 2px;
}
@media (min-width: 768px) {
  .navbar-right .dropdown-menu {
    left: auto;
    right: 0;
  }
  .navbar-right .dropdown-menu-left {
    left: 0;
    right: auto;
  }
}
.btn-group,
.btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle;
}
.btn-group > .btn,
.btn-group-vertical > .btn {
  position: relative;
  float: left;
}
.btn-group > .btn:hover,
.btn-group-vertical > .btn:hover,
.btn-group > .btn:focus,
.btn-group-vertical > .btn:focus,
.btn-group > .btn:active,
.btn-group-vertical > .btn:active,
.btn-group > .btn.active,
.btn-group-vertical > .btn.active {
  z-index: 2;
}
.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
  margin-left: -1px;
}
.btn-toolbar {
  margin-left: -5px;
}
.btn-toolbar .btn,
.btn-toolbar .btn-group,
.btn-toolbar .input-group {
  float: left;
}
.btn-toolbar > .btn,
.btn-toolbar > .btn-group,
.btn-toolbar > .input-group {
  margin-left: 5px;
}
.btn-group > .btn:not(:first-child):not(:last-child):not(.dropdown-toggle) {
  border-radius: 0;
}
.btn-group > .btn:first-child {
  margin-left: 0;
}
.btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn:last-child:not(:first-child),
.btn-group > .dropdown-toggle:not(:first-child) {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group > .btn-group {
  float: left;
}
.btn-group > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
}
.btn-group > .btn-lg + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.btn-group.open .dropdown-toggle.btn-link {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.btn .caret {
  margin-left: 0;
}
.btn-lg .caret {
  border-width: 5px 5px 0;
  border-bottom-width: 0;
}
.dropup .btn-lg .caret {
  border-width: 0 5px 5px;
}
.btn-group-vertical > .btn,
.btn-group-vertical > .btn-group,
.btn-group-vertical > .btn-group > .btn {
  display: block;
  float: none;
  width: 100%;
  max-width: 100%;
}
.btn-group-vertical > .btn-group > .btn {
  float: none;
}
.btn-group-vertical > .btn + .btn,
.btn-group-vertical > .btn + .btn-group,
.btn-group-vertical > .btn-group + .btn,
.btn-group-vertical > .btn-group + .btn-group {
  margin-top: -1px;
  margin-left: 0;
}
.btn-group-vertical > .btn:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.btn-group-vertical > .btn:first-child:not(:last-child) {
  border-top-right-radius: 3px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn:last-child:not(:first-child) {
  border-bottom-left-radius: 3px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn {
  border-radius: 0;
}
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .btn:last-child,
.btn-group-vertical > .btn-group:first-child:not(:last-child) > .dropdown-toggle {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.btn-group-justified {
  display: table;
  width: 100%;
  table-layout: fixed;
  border-collapse: separate;
}
.btn-group-justified > .btn,
.btn-group-justified > .btn-group {
  float: none;
  display: table-cell;
  width: 1%;
}
.btn-group-justified > .btn-group .btn {
  width: 100%;
}
.btn-group-justified > .btn-group .dropdown-menu {
  left: auto;
}
[data-toggle="buttons"] > .btn input[type="radio"],
[data-toggle="buttons"] > .btn-group > .btn input[type="radio"],
[data-toggle="buttons"] > .btn input[type="checkbox"],
[data-toggle="buttons"] > .btn-group > .btn input[type="checkbox"] {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}
.input-group {
  position: relative;
  display: table;
  border-collapse: separate;
}
.input-group[class*="col-"] {
  float: none;
  padding-left: 0;
  padding-right: 0;
}
.input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0;
}
.input-group-lg > .form-control,
.input-group-lg > .input-group-addon,
.input-group-lg > .input-group-btn > .btn {
  height: 53px;
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
  border-radius: 4px;
}
select.input-group-lg > .form-control,
select.input-group-lg > .input-group-addon,
select.input-group-lg > .input-group-btn > .btn {
  height: 53px;
  line-height: 53px;
}
textarea.input-group-lg > .form-control,
textarea.input-group-lg > .input-group-addon,
textarea.input-group-lg > .input-group-btn > .btn,
select[multiple].input-group-lg > .form-control,
select[multiple].input-group-lg > .input-group-addon,
select[multiple].input-group-lg > .input-group-btn > .btn {
  height: auto;
}
.input-group-sm > .form-control,
.input-group-sm > .input-group-addon,
.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
  height: 31px;
}
select.input-group-sm > .form-control,
select.input-group-sm > .input-group-addon,
select.input-group-sm > .input-group-btn > .btn {
  height: 30px;
  line-height: 30px;
}
textarea.input-group-sm > .form-control,
textarea.input-group-sm > .input-group-addon,
textarea.input-group-sm > .input-group-btn > .btn,
select[multiple].input-group-sm > .form-control,
select[multiple].input-group-sm > .input-group-addon,
select[multiple].input-group-sm > .input-group-btn > .btn {
  height: auto;
}
.input-group-addon,
.input-group-btn,
.input-group .form-control {
  display: table-cell;
}
.input-group-addon:not(:first-child):not(:last-child),
.input-group-btn:not(:first-child):not(:last-child),
.input-group .form-control:not(:first-child):not(:last-child) {
  border-radius: 0;
}
.input-group-addon,
.input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle;
}
.input-group-addon {
  padding: 8px 24px;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  color: #515d6e;
  text-align: center;
  background-color: #f4f5f5;
  border: 1px solid #dbd9d9;
  border-radius: 3px;
}
.input-group-addon.input-sm {
  padding: 5px 18px;
  font-size: 12px;
  border-radius: 2px;
}
.input-group-addon.input-lg {
  padding: 14px 26px;
  font-size: 17px;
  border-radius: 4px;
}
.input-group-addon input[type="radio"],
.input-group-addon input[type="checkbox"] {
  margin-top: 0;
}
.input-group .form-control:first-child,
.input-group-addon:first-child,
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group > .btn,
.input-group-btn:first-child > .dropdown-toggle,
.input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group-btn:last-child > .btn-group:not(:last-child) > .btn {
  border-bottom-right-radius: 0;
  border-top-right-radius: 0;
}
.input-group-addon:first-child {
  border-right: 0;
}
.input-group .form-control:last-child,
.input-group-addon:last-child,
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group > .btn,
.input-group-btn:last-child > .dropdown-toggle,
.input-group-btn:first-child > .btn:not(:first-child),
.input-group-btn:first-child > .btn-group:not(:first-child) > .btn {
  border-bottom-left-radius: 0;
  border-top-left-radius: 0;
}
.input-group-addon:last-child {
  border-left: 0;
}
.input-group-btn {
  position: relative;
  font-size: 0;
  white-space: nowrap;
}
.input-group-btn > .btn {
  position: relative;
}
.input-group-btn > .btn + .btn {
  margin-left: -1px;
}
.input-group-btn > .btn:hover,
.input-group-btn > .btn:focus,
.input-group-btn > .btn:active {
  z-index: 2;
}
.input-group-btn:first-child > .btn,
.input-group-btn:first-child > .btn-group {
  margin-right: -1px;
}
.input-group-btn:last-child > .btn,
.input-group-btn:last-child > .btn-group {
  z-index: 2;
  margin-left: -1px;
}
.nav {
  margin-bottom: 0;
  padding-left: 0;
  list-style: none;
}
.nav > li {
  position: relative;
  display: block;
}
.nav > li > a {
  position: relative;
  display: block;
  padding: 10px 15px;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: transparent;
}
.nav > li.disabled > a {
  color: #e6e9ee;
}
.nav > li.disabled > a:hover,
.nav > li.disabled > a:focus {
  color: #e6e9ee;
  text-decoration: none;
  background-color: transparent;
  cursor: not-allowed;
}
.nav .open > a,
.nav .open > a:hover,
.nav .open > a:focus {
  background-color: transparent;
  border-color: #43a8eb;
}
.nav .nav-divider {
  height: 1px;
  margin: 8.5px 0;
  overflow: hidden;
  background-color: #e5e5e5;
}
.nav > li > a > img {
  max-width: none;
}
.nav-tabs {
  border-bottom: 1px solid #dddddd;
}
.nav-tabs > li {
  float: left;
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  margin-right: 2px;
  line-height: 1.52857143;
  border: 1px solid transparent;
  border-radius: 3px 3px 0 0;
}
.nav-tabs > li > a:hover {
  border-color: #dddddd #dddddd #dddddd;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: #a0aab2;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-tabs.nav-justified {
  width: 100%;
  border-bottom: 0;
}
.nav-tabs.nav-justified > li {
  float: none;
}
.nav-tabs.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-tabs.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-tabs.nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs.nav-justified > li > a {
  margin-right: 0;
  border-radius: 3px;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border: 1px solid #dddddd;
}
@media (min-width: 768px) {
  .nav-tabs.nav-justified > li > a {
    border-bottom: 1px solid #dddddd;
    border-radius: 3px 3px 0 0;
  }
  .nav-tabs.nav-justified > .active > a,
  .nav-tabs.nav-justified > .active > a:hover,
  .nav-tabs.nav-justified > .active > a:focus {
    border-bottom-color: #f7f9fb;
  }
}
.nav-pills > li {
  float: left;
}
.nav-pills > li > a {
  border-radius: 3px;
}
.nav-pills > li + li {
  margin-left: 2px;
}
.nav-pills > li.active > a,
.nav-pills > li.active > a:hover,
.nav-pills > li.active > a:focus {
  color: #ffffff;
  background-color: #43a8eb;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li + li {
  margin-top: 2px;
  margin-left: 0;
}
.nav-justified {
  width: 100%;
}
.nav-justified > li {
  float: none;
}
.nav-justified > li > a {
  text-align: center;
  margin-bottom: 5px;
}
.nav-justified > .dropdown .dropdown-menu {
  top: auto;
  left: auto;
}
@media (min-width: 768px) {
  .nav-justified > li {
    display: table-cell;
    width: 1%;
  }
  .nav-justified > li > a {
    margin-bottom: 0;
  }
}
.nav-tabs-justified {
  border-bottom: 0;
}
.nav-tabs-justified > li > a {
  margin-right: 0;
  border-radius: 3px;
}
.nav-tabs-justified > .active > a,
.nav-tabs-justified > .active > a:hover,
.nav-tabs-justified > .active > a:focus {
  border: 1px solid #dddddd;
}
@media (min-width: 768px) {
  .nav-tabs-justified > li > a {
    border-bottom: 1px solid #dddddd;
    border-radius: 3px 3px 0 0;
  }
  .nav-tabs-justified > .active > a,
  .nav-tabs-justified > .active > a:hover,
  .nav-tabs-justified > .active > a:focus {
    border-bottom-color: #f7f9fb;
  }
}
.tab-content > .tab-pane {
  display: none;
}
.tab-content > .active {
  display: block;
}
.nav-tabs .dropdown-menu {
  margin-top: -1px;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar {
  position: relative;
  min-height: 60px;
  margin-bottom: 19px;
  border: 1px solid transparent;
}
@media (min-width: 768px) {
  .navbar {
    border-radius: 3px;
  }
}
@media (min-width: 768px) {
  .navbar-header {
    float: left;
  }
}
.navbar-collapse {
  overflow-x: visible;
  padding-right: 15px;
  padding-left: 15px;
  border-top: 1px solid transparent;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
  -webkit-overflow-scrolling: touch;
}
.navbar-collapse.in {
  overflow-y: auto;
}
@media (min-width: 768px) {
  .navbar-collapse {
    width: auto;
    border-top: 0;
    box-shadow: none;
  }
  .navbar-collapse.collapse {
    display: block !important;
    height: auto !important;
    padding-bottom: 0;
    overflow: visible !important;
  }
  .navbar-collapse.in {
    overflow-y: visible;
  }
  .navbar-fixed-top .navbar-collapse,
  .navbar-static-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    padding-left: 0;
    padding-right: 0;
  }
}
.navbar-fixed-top .navbar-collapse,
.navbar-fixed-bottom .navbar-collapse {
  max-height: 340px;
}
@media (max-device-width: 480px) and (orientation: landscape) {
  .navbar-fixed-top .navbar-collapse,
  .navbar-fixed-bottom .navbar-collapse {
    max-height: 200px;
  }
}
.container > .navbar-header,
.container-fluid > .navbar-header,
.container > .navbar-collapse,
.container-fluid > .navbar-collapse {
  margin-right: -15px;
  margin-left: -15px;
}
@media (min-width: 768px) {
  .container > .navbar-header,
  .container-fluid > .navbar-header,
  .container > .navbar-collapse,
  .container-fluid > .navbar-collapse {
    margin-right: 0;
    margin-left: 0;
  }
}
.navbar-static-top {
  z-index: 1000;
  border-width: 0 0 1px;
}
@media (min-width: 768px) {
  .navbar-static-top {
    border-radius: 0;
  }
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
}
@media (min-width: 768px) {
  .navbar-fixed-top,
  .navbar-fixed-bottom {
    border-radius: 0;
  }
}
.navbar-fixed-top {
  top: 0;
  border-width: 0 0 1px;
}
.navbar-fixed-bottom {
  bottom: 0;
  margin-bottom: 0;
  border-width: 1px 0 0;
}
.navbar-brand {
  float: left;
  padding: 20.5px 15px;
  font-size: 17px;
  line-height: 19px;
  height: 60px;
}
.navbar-brand:hover,
.navbar-brand:focus {
  text-decoration: none;
}
.navbar-brand > img {
  display: block;
}
@media (min-width: 768px) {
  .navbar > .container .navbar-brand,
  .navbar > .container-fluid .navbar-brand {
    margin-left: -15px;
  }
}
.navbar-toggle {
  position: relative;
  float: right;
  margin-right: 15px;
  padding: 9px 10px;
  margin-top: 13px;
  margin-bottom: 13px;
  background-color: transparent;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 3px;
}
.navbar-toggle:focus {
  outline: 0;
}
.navbar-toggle .icon-bar {
  display: block;
  width: 22px;
  height: 2px;
  border-radius: 1px;
}
.navbar-toggle .icon-bar + .icon-bar {
  margin-top: 4px;
}
@media (min-width: 768px) {
  .navbar-toggle {
    display: none;
  }
}
.navbar-nav {
  margin: 10.25px -15px;
}
.navbar-nav > li > a {
  padding-top: 10px;
  padding-bottom: 10px;
  line-height: 19px;
}
@media (max-width: 767px) {
  .navbar-nav .open .dropdown-menu {
    position: static;
    float: none;
    width: auto;
    margin-top: 0;
    background-color: transparent;
    border: 0;
    box-shadow: none;
  }
  .navbar-nav .open .dropdown-menu > li > a,
  .navbar-nav .open .dropdown-menu .dropdown-header {
    padding: 5px 15px 5px 25px;
  }
  .navbar-nav .open .dropdown-menu > li > a {
    line-height: 19px;
  }
  .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-nav .open .dropdown-menu > li > a:focus {
    background-image: none;
  }
}
@media (min-width: 768px) {
  .navbar-nav {
    float: left;
    margin: 0;
  }
  .navbar-nav > li {
    float: left;
  }
  .navbar-nav > li > a {
    padding-top: 20.5px;
    padding-bottom: 20.5px;
  }
}
.navbar-form {
  margin-left: -15px;
  margin-right: -15px;
  padding: 10px 15px;
  border-top: 1px solid transparent;
  border-bottom: 1px solid transparent;
  -webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1), 0 1px 0 rgba(255, 255, 255, 0.1);
  margin-top: 11.5px;
  margin-bottom: 11.5px;
}
@media (min-width: 768px) {
  .navbar-form .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle;
  }
  .navbar-form .form-control-static {
    display: inline-block;
  }
  .navbar-form .input-group {
    display: inline-table;
    vertical-align: middle;
  }
  .navbar-form .input-group .input-group-addon,
  .navbar-form .input-group .input-group-btn,
  .navbar-form .input-group .form-control {
    width: auto;
  }
  .navbar-form .input-group > .form-control {
    width: 100%;
  }
  .navbar-form .control-label {
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio,
  .navbar-form .checkbox {
    display: inline-block;
    margin-top: 0;
    margin-bottom: 0;
    vertical-align: middle;
  }
  .navbar-form .radio label,
  .navbar-form .checkbox label {
    padding-left: 0;
  }
  .navbar-form .radio input[type="radio"],
  .navbar-form .checkbox input[type="checkbox"] {
    position: relative;
    margin-left: 0;
  }
  .navbar-form .has-feedback .form-control-feedback {
    top: 0;
  }
}
@media (max-width: 767px) {
  .navbar-form .form-group {
    margin-bottom: 5px;
  }
  .navbar-form .form-group:last-child {
    margin-bottom: 0;
  }
}
@media (min-width: 768px) {
  .navbar-form {
    width: auto;
    border: 0;
    margin-left: 0;
    margin-right: 0;
    padding-top: 0;
    padding-bottom: 0;
    -webkit-box-shadow: none;
    box-shadow: none;
  }
}
.navbar-nav > li > .dropdown-menu {
  margin-top: 0;
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu {
  margin-bottom: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.navbar-btn {
  margin-top: 11.5px;
  margin-bottom: 11.5px;
}
.navbar-btn.btn-sm {
  margin-top: 15px;
  margin-bottom: 15px;
}
.navbar-btn.btn-xs {
  margin-top: 19px;
  margin-bottom: 19px;
}
.navbar-text {
  margin-top: 20.5px;
  margin-bottom: 20.5px;
}
@media (min-width: 768px) {
  .navbar-text {
    float: left;
    margin-left: 15px;
    margin-right: 15px;
  }
}
@media (min-width: 768px) {
  .navbar-left {
    float: left !important;
    float: left;
  }
  .navbar-right {
    float: right !important;
    float: right;
    margin-right: -15px;
  }
  .navbar-right ~ .navbar-right {
    margin-right: 0;
  }
}
.navbar-default {
  background-color: #f8f8f8;
  border-color: #e7e7e7;
}
.navbar-default .navbar-brand {
  color: #ffffff;
}
.navbar-default .navbar-brand:hover,
.navbar-default .navbar-brand:focus {
  color: #e6e6e6;
  background-color: transparent;
}
.navbar-default .navbar-text {
  color: #777777;
}
.navbar-default .navbar-nav > li > a {
  color: #ffffff;
}
.navbar-default .navbar-nav > li > a:hover,
.navbar-default .navbar-nav > li > a:focus {
  color: #dddddd;
  background-color: transparent;
}
.navbar-default .navbar-nav > .active > a,
.navbar-default .navbar-nav > .active > a:hover,
.navbar-default .navbar-nav > .active > a:focus {
  color: #dddddd;
  background-color: #e7e7e7;
}
.navbar-default .navbar-nav > .disabled > a,
.navbar-default .navbar-nav > .disabled > a:hover,
.navbar-default .navbar-nav > .disabled > a:focus {
  color: #cccccc;
  background-color: transparent;
}
.navbar-default .navbar-toggle {
  border-color: #dddddd;
}
.navbar-default .navbar-toggle:hover,
.navbar-default .navbar-toggle:focus {
  background-color: #dddddd;
}
.navbar-default .navbar-toggle .icon-bar {
  background-color: #888888;
}
.navbar-default .navbar-collapse,
.navbar-default .navbar-form {
  border-color: #e7e7e7;
}
.navbar-default .navbar-nav > .open > a,
.navbar-default .navbar-nav > .open > a:hover,
.navbar-default .navbar-nav > .open > a:focus {
  background-color: #e7e7e7;
  color: #dddddd;
}
@media (max-width: 767px) {
  .navbar-default .navbar-nav .open .dropdown-menu > li > a {
    color: #ffffff;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #dddddd;
    background-color: transparent;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #dddddd;
    background-color: #e7e7e7;
  }
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-default .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #cccccc;
    background-color: transparent;
  }
}
.navbar-default .navbar-link {
  color: #ffffff;
}
.navbar-default .navbar-link:hover {
  color: #dddddd;
}
.navbar-default .btn-link {
  color: #ffffff;
}
.navbar-default .btn-link:hover,
.navbar-default .btn-link:focus {
  color: #dddddd;
}
.navbar-default .btn-link[disabled]:hover,
fieldset[disabled] .navbar-default .btn-link:hover,
.navbar-default .btn-link[disabled]:focus,
fieldset[disabled] .navbar-default .btn-link:focus {
  color: #cccccc;
}
.navbar-inverse {
  background-color: #222222;
  border-color: #080808;
}
.navbar-inverse .navbar-brand {
  color: #e6e9ee;
}
.navbar-inverse .navbar-brand:hover,
.navbar-inverse .navbar-brand:focus {
  color: #ffffff;
  background-color: transparent;
}
.navbar-inverse .navbar-text {
  color: #e6e9ee;
}
.navbar-inverse .navbar-nav > li > a {
  color: #e6e9ee;
}
.navbar-inverse .navbar-nav > li > a:hover,
.navbar-inverse .navbar-nav > li > a:focus {
  color: #ffffff;
  background-color: transparent;
}
.navbar-inverse .navbar-nav > .active > a,
.navbar-inverse .navbar-nav > .active > a:hover,
.navbar-inverse .navbar-nav > .active > a:focus {
  color: #ffffff;
  background-color: #080808;
}
.navbar-inverse .navbar-nav > .disabled > a,
.navbar-inverse .navbar-nav > .disabled > a:hover,
.navbar-inverse .navbar-nav > .disabled > a:focus {
  color: #444444;
  background-color: transparent;
}
.navbar-inverse .navbar-toggle {
  border-color: #333333;
}
.navbar-inverse .navbar-toggle:hover,
.navbar-inverse .navbar-toggle:focus {
  background-color: #333333;
}
.navbar-inverse .navbar-toggle .icon-bar {
  background-color: #ffffff;
}
.navbar-inverse .navbar-collapse,
.navbar-inverse .navbar-form {
  border-color: #101010;
}
.navbar-inverse .navbar-nav > .open > a,
.navbar-inverse .navbar-nav > .open > a:hover,
.navbar-inverse .navbar-nav > .open > a:focus {
  background-color: #080808;
  color: #ffffff;
}
@media (max-width: 767px) {
  .navbar-inverse .navbar-nav .open .dropdown-menu > .dropdown-header {
    border-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu .divider {
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a {
    color: #e6e9ee;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > li > a:focus {
    color: #ffffff;
    background-color: transparent;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .active > a:focus {
    color: #ffffff;
    background-color: #080808;
  }
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:hover,
  .navbar-inverse .navbar-nav .open .dropdown-menu > .disabled > a:focus {
    color: #444444;
    background-color: transparent;
  }
}
.navbar-inverse .navbar-link {
  color: #e6e9ee;
}
.navbar-inverse .navbar-link:hover {
  color: #ffffff;
}
.navbar-inverse .btn-link {
  color: #e6e9ee;
}
.navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link:focus {
  color: #ffffff;
}
.navbar-inverse .btn-link[disabled]:hover,
fieldset[disabled] .navbar-inverse .btn-link:hover,
.navbar-inverse .btn-link[disabled]:focus,
fieldset[disabled] .navbar-inverse .btn-link:focus {
  color: #444444;
}
.breadcrumb {
  padding: 12px 15px;
  margin-bottom: 19px;
  list-style: none;
  background-color: #fafafa;
  border-radius: 3px;
}
.breadcrumb > li {
  display: inline-block;
}
.breadcrumb > li + li:before {
  content: ">\00a0";
  padding: 0 5px;
  color: #c1c2c3;
}
.breadcrumb > .active {
  color: #585f69;
}
.pagination {
  display: inline-block;
  padding-left: 0;
  margin: 19px 0;
  border-radius: 3px;
}
.pagination > li {
  display: inline;
}
.pagination > li > a,
.pagination > li > span {
  position: relative;
  float: left;
  padding: 8px 24px;
  line-height: 1.52857143;
  text-decoration: none;
  color: #585f69;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  margin-left: -1px;
}
.pagination > li:first-child > a,
.pagination > li:first-child > span {
  margin-left: 0;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px;
}
.pagination > li:last-child > a,
.pagination > li:last-child > span {
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px;
}
.pagination > li > a:hover,
.pagination > li > span:hover,
.pagination > li > a:focus,
.pagination > li > span:focus {
  z-index: 3;
  color: #1683cc;
  background-color: #fafafa;
  border-color: #eeeeee;
}
.pagination > .active > a,
.pagination > .active > span,
.pagination > .active > a:hover,
.pagination > .active > span:hover,
.pagination > .active > a:focus,
.pagination > .active > span:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #43a8eb;
  border-color: #43a8eb;
  cursor: default;
}
.pagination > .disabled > span,
.pagination > .disabled > span:hover,
.pagination > .disabled > span:focus,
.pagination > .disabled > a,
.pagination > .disabled > a:hover,
.pagination > .disabled > a:focus {
  color: #e6e9ee;
  background-color: #ffffff;
  border-color: #eeeeee;
  cursor: not-allowed;
}
.pagination-lg > li > a,
.pagination-lg > li > span {
  padding: 14px 26px;
  font-size: 17px;
  line-height: 1.33;
}
.pagination-lg > li:first-child > a,
.pagination-lg > li:first-child > span {
  border-bottom-left-radius: 4px;
  border-top-left-radius: 4px;
}
.pagination-lg > li:last-child > a,
.pagination-lg > li:last-child > span {
  border-bottom-right-radius: 4px;
  border-top-right-radius: 4px;
}
.pagination-sm > li > a,
.pagination-sm > li > span {
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
}
.pagination-sm > li:first-child > a,
.pagination-sm > li:first-child > span {
  border-bottom-left-radius: 2px;
  border-top-left-radius: 2px;
}
.pagination-sm > li:last-child > a,
.pagination-sm > li:last-child > span {
  border-bottom-right-radius: 2px;
  border-top-right-radius: 2px;
}
.pager {
  padding-left: 0;
  margin: 19px 0;
  list-style: none;
  text-align: center;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #ffffff;
  border: 1px solid #eeeeee;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #fafafa;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #e6e9ee;
  background-color: #ffffff;
  cursor: not-allowed;
}
.label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: bold;
  line-height: 1;
  color: #ffffff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em;
}
a.label:hover,
a.label:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.label:empty {
  display: none;
}
.btn .label {
  position: relative;
  top: -1px;
}
.label-default {
  background-color: #a0aab2;
}
.label-default[href]:hover,
.label-default[href]:focus {
  background-color: #84919b;
}
.label-primary {
  background-color: #43a8eb;
}
.label-primary[href]:hover,
.label-primary[href]:focus {
  background-color: #1892e3;
}
.label-success {
  background-color: #88bf57;
}
.label-success[href]:hover,
.label-success[href]:focus {
  background-color: #6fa43f;
}
.label-info {
  background-color: #8293b9;
}
.label-info[href]:hover,
.label-info[href]:focus {
  background-color: #6177a7;
}
.label-warning {
  background-color: #fdaf40;
}
.label-warning[href]:hover,
.label-warning[href]:focus {
  background-color: #fc9a0e;
}
.label-danger {
  background-color: #eb615f;
}
.label-danger[href]:hover,
.label-danger[href]:focus {
  background-color: #e53432;
}
.badge {
  display: inline-block;
  min-width: 10px;
  padding: 3px 7px;
  font-size: 12px;
  font-weight: bold;
  color: #ffffff;
  line-height: 1;
  vertical-align: middle;
  white-space: nowrap;
  text-align: center;
  background-color: #e6e9ee;
  border-radius: 10px;
}
.badge:empty {
  display: none;
}
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-xs .badge,
.btn-group-xs > .btn .badge {
  top: 0;
  padding: 1px 5px;
}
a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.list-group-item.active > .badge,
.nav-pills > .active > a > .badge {
  color: #43a8eb;
  background-color: #ffffff;
}
.list-group-item > .badge {
  float: right;
}
.list-group-item > .badge + .badge {
  margin-right: 5px;
}
.nav-pills > li > a > .badge {
  margin-left: 3px;
}
.jumbotron {
  padding-top: 30px;
  padding-bottom: 30px;
  margin-bottom: 30px;
  color: inherit;
  background-color: #fcfcfc;
}
.jumbotron h1,
.jumbotron .h1 {
  color: inherit;
}
.jumbotron p {
  margin-bottom: 15px;
  font-size: 20px;
  font-weight: 200;
}
.jumbotron > hr {
  border-top-color: #e3e3e3;
}
.container .jumbotron,
.container-fluid .jumbotron {
  border-radius: 4px;
}
.jumbotron .container {
  max-width: 100%;
}
@media screen and (min-width: 768px) {
  .jumbotron {
    padding-top: 48px;
    padding-bottom: 48px;
  }
  .container .jumbotron,
  .container-fluid .jumbotron {
    padding-left: 60px;
    padding-right: 60px;
  }
  .jumbotron h1,
  .jumbotron .h1 {
    font-size: 59px;
  }
}
.thumbnail {
  display: block;
  padding: 2px;
  margin-bottom: 19px;
  line-height: 1.52857143;
  background-color: #e1e2e3;
  border: 1px solid #e1e2e3;
  border-radius: 2px;
  -webkit-transition: border 0.2s ease-in-out;
  -o-transition: border 0.2s ease-in-out;
  transition: border 0.2s ease-in-out;
}
.thumbnail > img,
.thumbnail a > img {
  margin-left: auto;
  margin-right: auto;
}
a.thumbnail:hover,
a.thumbnail:focus,
a.thumbnail.active {
  border-color: #43a8eb;
}
.thumbnail .caption {
  padding: 9px;
  color: #585f69;
}
.alert {
  padding: 8px;
  margin-bottom: 19px;
  border: 1px solid transparent;
  border-radius: 2px;
}
.alert h4 {
  margin-top: 0;
  color: inherit;
}
.alert .alert-link {
  font-weight: bold;
}
.alert > p,
.alert > ul {
  margin-bottom: 0;
}
.alert > p + p {
  margin-top: 5px;
}
.alert-dismissable,
.alert-dismissible {
  padding-right: 28px;
}
.alert-dismissable .close,
.alert-dismissible .close {
  position: relative;
  top: -2px;
  right: -21px;
  color: inherit;
}
.alert-success {
  background-color: #88bf57;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}
.alert-success hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}
.alert-success .alert-link {
  color: #e6e6e6;
}
.alert-info {
  background-color: #8293b9;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}
.alert-info hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}
.alert-info .alert-link {
  color: #e6e6e6;
}
.alert-warning {
  background-color: #fdaf40;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}
.alert-warning hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}
.alert-warning .alert-link {
  color: #e6e6e6;
}
.alert-danger {
  background-color: #eb615f;
  border-color: rgba(0, 0, 0, 0.1);
  color: #ffffff;
}
.alert-danger hr {
  border-top-color: rgba(0, 0, 0, 0.1);
}
.alert-danger .alert-link {
  color: #e6e6e6;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 19px;
  margin-bottom: 19px;
  background-color: #f1f1f1;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
}
.progress-bar {
  float: left;
  width: 0%;
  height: 100%;
  font-size: 12px;
  line-height: 19px;
  color: #ffffff;
  text-align: center;
  background-color: #43a8eb;
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress-striped .progress-bar,
.progress-bar-striped {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-size: 40px 40px;
}
.progress.active .progress-bar,
.progress-bar.active {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-bar-success {
  background-color: #88bf57;
}
.progress-striped .progress-bar-success {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-info {
  background-color: #8293b9;
}
.progress-striped .progress-bar-info {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-warning {
  background-color: #fdaf40;
}
.progress-striped .progress-bar-warning {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-danger {
  background-color: #eb615f;
}
.progress-striped .progress-bar-danger {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.media {
  margin-top: 15px;
}
.media:first-child {
  margin-top: 0;
}
.media,
.media-body {
  zoom: 1;
  overflow: hidden;
}
.media-body {
  width: 10000px;
}
.media-object {
  display: block;
}
.media-object.img-thumbnail {
  max-width: none;
}
.media-right,
.media > .pull-right {
  padding-left: 10px;
}
.media-left,
.media > .pull-left {
  padding-right: 10px;
}
.media-left,
.media-right,
.media-body {
  display: table-cell;
  vertical-align: top;
}
.media-middle {
  vertical-align: middle;
}
.media-bottom {
  vertical-align: bottom;
}
.media-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.media-list {
  padding-left: 0;
  list-style: none;
}
.list-group {
  margin-bottom: 20px;
  padding-left: 0;
}
.list-group-item {
  position: relative;
  display: block;
  padding: 10px 15px;
  margin-bottom: -1px;
  background-color: #ffffff;
  border: 1px solid #f1f2f3;
}
.list-group-item:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.list-group-item:last-child {
  margin-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
a.list-group-item,
button.list-group-item {
  color: #555555;
}
a.list-group-item .list-group-item-heading,
button.list-group-item .list-group-item-heading {
  color: #333333;
}
a.list-group-item:hover,
button.list-group-item:hover,
a.list-group-item:focus,
button.list-group-item:focus {
  text-decoration: none;
  color: #555555;
  background-color: #fafbfc;
}
button.list-group-item {
  width: 100%;
  text-align: left;
}
.list-group-item.disabled,
.list-group-item.disabled:hover,
.list-group-item.disabled:focus {
  background-color: #f4f5f5;
  color: #e6e9ee;
  cursor: not-allowed;
}
.list-group-item.disabled .list-group-item-heading,
.list-group-item.disabled:hover .list-group-item-heading,
.list-group-item.disabled:focus .list-group-item-heading {
  color: inherit;
}
.list-group-item.disabled .list-group-item-text,
.list-group-item.disabled:hover .list-group-item-text,
.list-group-item.disabled:focus .list-group-item-text {
  color: #e6e9ee;
}
.list-group-item.active,
.list-group-item.active:hover,
.list-group-item.active:focus {
  z-index: 2;
  color: #ffffff;
  background-color: #43a8eb;
  border-color: #43a8eb;
}
.list-group-item.active .list-group-item-heading,
.list-group-item.active:hover .list-group-item-heading,
.list-group-item.active:focus .list-group-item-heading,
.list-group-item.active .list-group-item-heading > small,
.list-group-item.active:hover .list-group-item-heading > small,
.list-group-item.active:focus .list-group-item-heading > small,
.list-group-item.active .list-group-item-heading > .small,
.list-group-item.active:hover .list-group-item-heading > .small,
.list-group-item.active:focus .list-group-item-heading > .small {
  color: inherit;
}
.list-group-item.active .list-group-item-text,
.list-group-item.active:hover .list-group-item-text,
.list-group-item.active:focus .list-group-item-text {
  color: #fbfdff;
}
.list-group-item-success {
  color: #88bf57;
  background-color: #dff0d8;
}
a.list-group-item-success,
button.list-group-item-success {
  color: #88bf57;
}
a.list-group-item-success .list-group-item-heading,
button.list-group-item-success .list-group-item-heading {
  color: inherit;
}
a.list-group-item-success:hover,
button.list-group-item-success:hover,
a.list-group-item-success:focus,
button.list-group-item-success:focus {
  color: #88bf57;
  background-color: #d0e9c6;
}
a.list-group-item-success.active,
button.list-group-item-success.active,
a.list-group-item-success.active:hover,
button.list-group-item-success.active:hover,
a.list-group-item-success.active:focus,
button.list-group-item-success.active:focus {
  color: #fff;
  background-color: #88bf57;
  border-color: #88bf57;
}
.list-group-item-info {
  color: #8293b9;
  background-color: #d9edf7;
}
a.list-group-item-info,
button.list-group-item-info {
  color: #8293b9;
}
a.list-group-item-info .list-group-item-heading,
button.list-group-item-info .list-group-item-heading {
  color: inherit;
}
a.list-group-item-info:hover,
button.list-group-item-info:hover,
a.list-group-item-info:focus,
button.list-group-item-info:focus {
  color: #8293b9;
  background-color: #c4e3f3;
}
a.list-group-item-info.active,
button.list-group-item-info.active,
a.list-group-item-info.active:hover,
button.list-group-item-info.active:hover,
a.list-group-item-info.active:focus,
button.list-group-item-info.active:focus {
  color: #fff;
  background-color: #8293b9;
  border-color: #8293b9;
}
.list-group-item-warning {
  color: #fdaf40;
  background-color: #fcf8e3;
}
a.list-group-item-warning,
button.list-group-item-warning {
  color: #fdaf40;
}
a.list-group-item-warning .list-group-item-heading,
button.list-group-item-warning .list-group-item-heading {
  color: inherit;
}
a.list-group-item-warning:hover,
button.list-group-item-warning:hover,
a.list-group-item-warning:focus,
button.list-group-item-warning:focus {
  color: #fdaf40;
  background-color: #faf2cc;
}
a.list-group-item-warning.active,
button.list-group-item-warning.active,
a.list-group-item-warning.active:hover,
button.list-group-item-warning.active:hover,
a.list-group-item-warning.active:focus,
button.list-group-item-warning.active:focus {
  color: #fff;
  background-color: #fdaf40;
  border-color: #fdaf40;
}
.list-group-item-danger {
  color: #eb615f;
  background-color: #f2dede;
}
a.list-group-item-danger,
button.list-group-item-danger {
  color: #eb615f;
}
a.list-group-item-danger .list-group-item-heading,
button.list-group-item-danger .list-group-item-heading {
  color: inherit;
}
a.list-group-item-danger:hover,
button.list-group-item-danger:hover,
a.list-group-item-danger:focus,
button.list-group-item-danger:focus {
  color: #eb615f;
  background-color: #ebcccc;
}
a.list-group-item-danger.active,
button.list-group-item-danger.active,
a.list-group-item-danger.active:hover,
button.list-group-item-danger.active:hover,
a.list-group-item-danger.active:focus,
button.list-group-item-danger.active:focus {
  color: #fff;
  background-color: #eb615f;
  border-color: #eb615f;
}
.list-group-item-heading {
  margin-top: 0;
  margin-bottom: 5px;
}
.list-group-item-text {
  margin-bottom: 0;
  line-height: 1.3;
}
.panel {
  margin-bottom: 19px;
  background-color: #ffffff;
  border: 1px solid transparent;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
}
.panel-body {
  padding: 15px;
}
.panel-heading {
  padding: 10px 15px;
  border-bottom: 1px solid transparent;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel-heading > .dropdown .dropdown-toggle {
  color: inherit;
}
.panel-title {
  margin-top: 0;
  margin-bottom: 0;
  font-size: 15px;
  color: inherit;
}
.panel-title > a,
.panel-title > small,
.panel-title > .small,
.panel-title > small > a,
.panel-title > .small > a {
  color: inherit;
}
.panel-footer {
  padding: 10px 15px;
  background-color: #f1f1f5;
  border-top: 1px solid #eeeeee;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .list-group,
.panel > .panel-collapse > .list-group {
  margin-bottom: 0;
}
.panel > .list-group .list-group-item,
.panel > .panel-collapse > .list-group .list-group-item {
  border-width: 1px 0;
  border-radius: 0;
}
.panel > .list-group:first-child .list-group-item:first-child,
.panel > .panel-collapse > .list-group:first-child .list-group-item:first-child {
  border-top: 0;
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .list-group:last-child .list-group-item:last-child,
.panel > .panel-collapse > .list-group:last-child .list-group-item:last-child {
  border-bottom: 0;
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .panel-heading + .panel-collapse > .list-group .list-group-item:first-child {
  border-top-right-radius: 0;
  border-top-left-radius: 0;
}
.panel-heading + .list-group .list-group-item:first-child {
  border-top-width: 0;
}
.list-group + .panel-footer {
  border-top-width: 0;
}
.panel > .table,
.panel > .table-responsive > .table,
.panel > .panel-collapse > .table {
  margin-bottom: 0;
}
.panel > .table caption,
.panel > .table-responsive > .table caption,
.panel > .panel-collapse > .table caption {
  padding-left: 15px;
  padding-right: 15px;
}
.panel > .table:first-child,
.panel > .table-responsive:first-child > .table:first-child {
  border-top-right-radius: 3px;
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:first-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:first-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:first-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:first-child {
  border-top-left-radius: 3px;
}
.panel > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child td:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child td:last-child,
.panel > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > thead:first-child > tr:first-child th:last-child,
.panel > .table:first-child > tbody:first-child > tr:first-child th:last-child,
.panel > .table-responsive:first-child > .table:first-child > tbody:first-child > tr:first-child th:last-child {
  border-top-right-radius: 3px;
}
.panel > .table:last-child,
.panel > .table-responsive:last-child > .table:last-child {
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child {
  border-bottom-left-radius: 3px;
  border-bottom-right-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:first-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:first-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:first-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:first-child {
  border-bottom-left-radius: 3px;
}
.panel > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child td:last-child,
.panel > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tbody:last-child > tr:last-child th:last-child,
.panel > .table:last-child > tfoot:last-child > tr:last-child th:last-child,
.panel > .table-responsive:last-child > .table:last-child > tfoot:last-child > tr:last-child th:last-child {
  border-bottom-right-radius: 3px;
}
.panel > .panel-body + .table,
.panel > .panel-body + .table-responsive,
.panel > .table + .panel-body,
.panel > .table-responsive + .panel-body {
  border-top: 1px solid #eeeeee;
}
.panel > .table > tbody:first-child > tr:first-child th,
.panel > .table > tbody:first-child > tr:first-child td {
  border-top: 0;
}
.panel > .table-bordered,
.panel > .table-responsive > .table-bordered {
  border: 0;
}
.panel > .table-bordered > thead > tr > th:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:first-child,
.panel > .table-bordered > tbody > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:first-child,
.panel > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:first-child,
.panel > .table-bordered > thead > tr > td:first-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:first-child,
.panel > .table-bordered > tbody > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:first-child,
.panel > .table-bordered > tfoot > tr > td:first-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:first-child {
  border-left: 0;
}
.panel > .table-bordered > thead > tr > th:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > th:last-child,
.panel > .table-bordered > tbody > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > th:last-child,
.panel > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > th:last-child,
.panel > .table-bordered > thead > tr > td:last-child,
.panel > .table-responsive > .table-bordered > thead > tr > td:last-child,
.panel > .table-bordered > tbody > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tbody > tr > td:last-child,
.panel > .table-bordered > tfoot > tr > td:last-child,
.panel > .table-responsive > .table-bordered > tfoot > tr > td:last-child {
  border-right: 0;
}
.panel > .table-bordered > thead > tr:first-child > td,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > td,
.panel > .table-bordered > tbody > tr:first-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > td,
.panel > .table-bordered > thead > tr:first-child > th,
.panel > .table-responsive > .table-bordered > thead > tr:first-child > th,
.panel > .table-bordered > tbody > tr:first-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:first-child > th {
  border-bottom: 0;
}
.panel > .table-bordered > tbody > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > td,
.panel > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > td,
.panel > .table-bordered > tbody > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tbody > tr:last-child > th,
.panel > .table-bordered > tfoot > tr:last-child > th,
.panel > .table-responsive > .table-bordered > tfoot > tr:last-child > th {
  border-bottom: 0;
}
.panel > .table-responsive {
  border: 0;
  margin-bottom: 0;
}
.panel-group {
  margin-bottom: 19px;
}
.panel-group .panel {
  margin-bottom: 0;
  border-radius: 4px;
}
.panel-group .panel + .panel {
  margin-top: 5px;
}
.panel-group .panel-heading {
  border-bottom: 0;
}
.panel-group .panel-heading + .panel-collapse > .panel-body,
.panel-group .panel-heading + .panel-collapse > .list-group {
  border-top: 1px solid #eeeeee;
}
.panel-group .panel-footer {
  border-top: 0;
}
.panel-group .panel-footer + .panel-collapse .panel-body {
  border-bottom: 1px solid #eeeeee;
}
.panel-default {
  border-color: #e6e9ee;
}
.panel-default > .panel-heading {
  color: #444444;
  background-color: #ffffff;
  border-color: #e6e9ee;
}
.panel-default > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-default > .panel-heading .badge {
  color: #ffffff;
  background-color: #444444;
}
.panel-default > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-primary {
  border-color: #e6e9ee;
}
.panel-primary > .panel-heading {
  color: #ffffff;
  background-color: #43a8eb;
  border-color: #e6e9ee;
}
.panel-primary > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-primary > .panel-heading .badge {
  color: #43a8eb;
  background-color: #ffffff;
}
.panel-primary > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-success {
  border-color: #e6e9ee;
}
.panel-success > .panel-heading {
  color: #ffffff;
  background-color: #88bf57;
  border-color: #e6e9ee;
}
.panel-success > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-success > .panel-heading .badge {
  color: #88bf57;
  background-color: #ffffff;
}
.panel-success > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-info {
  border-color: #e6e9ee;
}
.panel-info > .panel-heading {
  color: #ffffff;
  background-color: #8293b9;
  border-color: #e6e9ee;
}
.panel-info > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-info > .panel-heading .badge {
  color: #8293b9;
  background-color: #ffffff;
}
.panel-info > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-warning {
  border-color: #e6e9ee;
}
.panel-warning > .panel-heading {
  color: #ffffff;
  background-color: #fdaf40;
  border-color: #e6e9ee;
}
.panel-warning > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-warning > .panel-heading .badge {
  color: #fdaf40;
  background-color: #ffffff;
}
.panel-warning > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-danger {
  border-color: #e6e9ee;
}
.panel-danger > .panel-heading {
  color: #ffffff;
  background-color: #eb615f;
  border-color: #e6e9ee;
}
.panel-danger > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-danger > .panel-heading .badge {
  color: #eb615f;
  background-color: #ffffff;
}
.panel-danger > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.embed-responsive {
  position: relative;
  display: block;
  height: 0;
  padding: 0;
  overflow: hidden;
}
.embed-responsive .embed-responsive-item,
.embed-responsive iframe,
.embed-responsive embed,
.embed-responsive object,
.embed-responsive video {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  height: 100%;
  width: 100%;
  border: 0;
}
.embed-responsive-16by9 {
  padding-bottom: 56.25%;
}
.embed-responsive-4by3 {
  padding-bottom: 75%;
}
.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #ffffff;
  border: 1px solid #f4f5f5;
  border-radius: 3px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05);
}
.well blockquote {
  border-color: #ddd;
  border-color: rgba(0, 0, 0, 0.15);
}
.well-lg {
  padding: 24px;
  border-radius: 4px;
}
.well-sm {
  padding: 9px;
  border-radius: 2px;
}
.close {
  float: right;
  font-size: 19.5px;
  font-weight: bold;
  line-height: 1;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.modal-open {
  overflow: hidden;
}
.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}
.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
  -ms-transform: translate(0, -25%);
  -o-transform: translate(0, -25%);
  transform: translate(0, -25%);
  -webkit-transition: -webkit-transform 0.3s ease-out;
  -moz-transition: -moz-transform 0.3s ease-out;
  -o-transition: -o-transform 0.3s ease-out;
  transition: transform 0.3s ease-out;
}
.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  -o-transform: translate(0, 0);
  transform: translate(0, 0);
}
.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}
.modal-dialog {
  position: relative;
  width: auto;
  margin: 10px;
}
.modal-content {
  position: relative;
  background-color: #ffffff;
  border: 1px solid #999999;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 4px;
  -webkit-box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  box-shadow: 0 3px 9px rgba(0, 0, 0, 0.5);
  background-clip: padding-box;
  outline: 0;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}
.modal-backdrop.fade {
  opacity: 0;
  filter: alpha(opacity=0);
}
.modal-backdrop.in {
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.modal-header {
  padding: 15px;
  border-bottom: 1px solid #e5e5e5;
  min-height: 16.52857143px;
}
.modal-header .close {
  margin-top: -2px;
}
.modal-title {
  margin: 0;
  line-height: 1.52857143;
}
.modal-body {
  position: relative;
  padding: 15px;
}
.modal-footer {
  padding: 15px;
  text-align: right;
  border-top: 1px solid #e5e5e5;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.modal-scrollbar-measure {
  position: absolute;
  top: -9999px;
  width: 50px;
  height: 50px;
  overflow: scroll;
}
@media (min-width: 768px) {
  .modal-dialog {
    width: 600px;
    margin: 30px auto;
  }
  .modal-content {
    -webkit-box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.5);
  }
  .modal-sm {
    width: 300px;
  }
}
@media (min-width: 992px) {
  .modal-lg {
    width: 900px;
  }
}
.tooltip {
  position: absolute;
  z-index: 1070;
  display: block;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.52857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 12px;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 3px 8px;
  color: #ffffff;
  text-align: center;
  background-color: #222222;
  border-radius: 3px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #222222;
}
.tooltip.top-left .tooltip-arrow {
  bottom: 0;
  right: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #222222;
}
.tooltip.top-right .tooltip-arrow {
  bottom: 0;
  left: 5px;
  margin-bottom: -5px;
  border-width: 5px 5px 0;
  border-top-color: #222222;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #222222;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #222222;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #222222;
}
.tooltip.bottom-left .tooltip-arrow {
  top: 0;
  right: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #222222;
}
.tooltip.bottom-right .tooltip-arrow {
  top: 0;
  left: 5px;
  margin-top: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #222222;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1060;
  display: none;
  max-width: 276px;
  padding: 1px;
  font-family: 'Open Sans', Helvetica, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  letter-spacing: normal;
  line-break: auto;
  line-height: 1.52857143;
  text-align: left;
  text-align: start;
  text-decoration: none;
  text-shadow: none;
  text-transform: none;
  white-space: normal;
  word-break: normal;
  word-spacing: normal;
  word-wrap: normal;
  font-size: 13px;
  background-color: #ffffff;
  background-clip: padding-box;
  border: 1px solid #cccccc;
  border: 1px solid #e1e1e1;
  border-radius: 4px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 13px;
  background-color: #fafafa;
  border-bottom: 1px solid #ededed;
  border-radius: 3px 3px 0 0;
}
.popover-content {
  padding: 9px 14px;
}
.popover > .arrow,
.popover > .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover > .arrow {
  border-width: 11px;
}
.popover > .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top > .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999999;
  border-top-color: #e1e1e1;
  bottom: -11px;
}
.popover.top > .arrow:after {
  content: " ";
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #ffffff;
}
.popover.right > .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999999;
  border-right-color: #e1e1e1;
}
.popover.right > .arrow:after {
  content: " ";
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #ffffff;
}
.popover.bottom > .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999999;
  border-bottom-color: #e1e1e1;
  top: -11px;
}
.popover.bottom > .arrow:after {
  content: " ";
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #ffffff;
}
.popover.left > .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999999;
  border-left-color: #e1e1e1;
}
.popover.left > .arrow:after {
  content: " ";
  right: 1px;
  border-right-width: 0;
  border-left-color: #ffffff;
  bottom: -10px;
}
.carousel {
  position: relative;
}
.carousel-inner {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  line-height: 1;
}
@media all and (transform-3d), (-webkit-transform-3d) {
  .carousel-inner > .item {
    -webkit-transition: -webkit-transform 0.6s ease-in-out;
    -moz-transition: -moz-transform 0.6s ease-in-out;
    -o-transition: -o-transform 0.6s ease-in-out;
    transition: transform 0.6s ease-in-out;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-perspective: 1000px;
    -moz-perspective: 1000px;
    perspective: 1000px;
  }
  .carousel-inner > .item.next,
  .carousel-inner > .item.active.right {
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.prev,
  .carousel-inner > .item.active.left {
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
    left: 0;
  }
  .carousel-inner > .item.next.left,
  .carousel-inner > .item.prev.right,
  .carousel-inner > .item.active {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    left: 0;
  }
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 15%;
  opacity: 0.5;
  filter: alpha(opacity=50);
  font-size: 20px;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-control.left {
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5) 0%, rgba(0, 0, 0, 0.0001) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1);
}
.carousel-control.right {
  left: auto;
  right: 0;
  background-image: -webkit-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: -o-linear-gradient(left, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.0001) 0%, rgba(0, 0, 0, 0.5) 100%);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1);
}
.carousel-control:hover,
.carousel-control:focus {
  outline: 0;
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-control .icon-prev,
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-left,
.carousel-control .glyphicon-chevron-right {
  position: absolute;
  top: 50%;
  margin-top: -10px;
  z-index: 5;
  display: inline-block;
}
.carousel-control .icon-prev,
.carousel-control .glyphicon-chevron-left {
  left: 50%;
  margin-left: -10px;
}
.carousel-control .icon-next,
.carousel-control .glyphicon-chevron-right {
  right: 50%;
  margin-right: -10px;
}
.carousel-control .icon-prev,
.carousel-control .icon-next {
  width: 20px;
  height: 20px;
  line-height: 1;
  font-family: serif;
}
.carousel-control .icon-prev:before {
  content: '\2039';
}
.carousel-control .icon-next:before {
  content: '\203a';
}
.carousel-indicators {
  position: absolute;
  bottom: 10px;
  left: 50%;
  z-index: 15;
  width: 60%;
  margin-left: -30%;
  padding-left: 0;
  list-style: none;
  text-align: center;
}
.carousel-indicators li {
  display: inline-block;
  width: 10px;
  height: 10px;
  margin: 1px;
  text-indent: -999px;
  border: 1px solid #ffffff;
  border-radius: 10px;
  cursor: pointer;
  background-color: #000 \9;
  background-color: rgba(0, 0, 0, 0);
}
.carousel-indicators .active {
  margin: 0;
  width: 12px;
  height: 12px;
  background-color: #ffffff;
}
.carousel-caption {
  position: absolute;
  left: 15%;
  right: 15%;
  bottom: 20px;
  z-index: 10;
  padding-top: 20px;
  padding-bottom: 20px;
  color: #ffffff;
  text-align: center;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.6);
}
.carousel-caption .btn {
  text-shadow: none;
}
@media screen and (min-width: 768px) {
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-prev,
  .carousel-control .icon-next {
    width: 30px;
    height: 30px;
    margin-top: -15px;
    font-size: 30px;
  }
  .carousel-control .glyphicon-chevron-left,
  .carousel-control .icon-prev {
    margin-left: -15px;
  }
  .carousel-control .glyphicon-chevron-right,
  .carousel-control .icon-next {
    margin-right: -15px;
  }
  .carousel-caption {
    left: 20%;
    right: 20%;
    padding-bottom: 30px;
  }
  .carousel-indicators {
    bottom: 20px;
  }
}
.clearfix:before,
.clearfix:after,
.dl-horizontal dd:before,
.dl-horizontal dd:after,
.container:before,
.container:after,
.container-fluid:before,
.container-fluid:after,
.row:before,
.row:after,
.form-horizontal .form-group:before,
.form-horizontal .form-group:after,
.btn-toolbar:before,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:before,
.btn-group-vertical > .btn-group:after,
.nav:before,
.nav:after,
.navbar:before,
.navbar:after,
.navbar-header:before,
.navbar-header:after,
.navbar-collapse:before,
.navbar-collapse:after,
.pager:before,
.pager:after,
.panel-body:before,
.panel-body:after,
.modal-footer:before,
.modal-footer:after {
  content: " ";
  display: table;
}
.clearfix:after,
.dl-horizontal dd:after,
.container:after,
.container-fluid:after,
.row:after,
.form-horizontal .form-group:after,
.btn-toolbar:after,
.btn-group-vertical > .btn-group:after,
.nav:after,
.navbar:after,
.navbar-header:after,
.navbar-collapse:after,
.pager:after,
.panel-body:after,
.modal-footer:after {
  clear: both;
}
.center-block {
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.pull-right {
  float: right !important;
}
.pull-left {
  float: left !important;
}
.hide {
  display: none !important;
}
.show {
  display: block !important;
}
.invisible {
  visibility: hidden;
}
.text-hide {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.hidden {
  display: none !important;
}
.affix {
  position: fixed;
}
@-ms-viewport {
  width: device-width;
}
.visible-xs,
.visible-sm,
.visible-md,
.visible-lg {
  display: none !important;
}
.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}
@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}
@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}
@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}
@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}
@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}
@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}
.visible-print {
  display: none !important;
}
@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}
.visible-print-block {
  display: none !important;
}
@media print {
  .visible-print-block {
    display: block !important;
  }
}
.visible-print-inline {
  display: none !important;
}
@media print {
  .visible-print-inline {
    display: inline !important;
  }
}
.visible-print-inline-block {
  display: none !important;
}
@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}
@media print {
  .hidden-print {
    display: none !important;
  }
}
/* ========================================================================
   Component: bootstrap-reset.less
 ========================================================================== */
.glyphicon {
  display: inline-block;
  font: normal normal normal 14px/1 FontAwesome;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
.glyphicon.fa-pull-left {
  margin-right: 0.3em;
}
.glyphicon.fa-pull-right {
  margin-left: 0.3em;
}
.glyphicon.pull-left {
  margin-right: 0.3em;
}
.glyphicon.pull-right {
  margin-left: 0.3em;
}
.glyphicon.glyphicon-chevron-left:before {
  content: "\f053";
}
.glyphicon.glyphicon-chevron-right:before {
  content: "\f054";
}
.glyphicon.glyphicon-chevron-up:before {
  content: "\f077";
}
.glyphicon.glyphicon-chevron-down:before {
  content: "\f078";
}
[ui-sref] {
  cursor: pointer;
}
.nav-pills,
.pagination,
.carousel,
.panel-title a {
  cursor: pointer;
}
[ng\:cloak],
[ng-cloak],
[data-ng-cloak],
[x-ng-cloak],
.ng-cloak,
.x-ng-cloak {
  display: none !important;
}
*:focus {
  outline: 0 !important;
}
a {
  outline: none !important;
}
a:hover,
a:focus {
  text-decoration: none;
}
.list-group {
  line-height: 1.3;
}
.list-group .list-group-item {
  padding: 10px;
}
.panel .list-group .list-group-item:first-child {
  border-top: 0;
}
.page-header {
  border-bottom-color: #e6e9ee;
}
.jumbotron {
  border: 1px solid #f4f5f5;
}
.nav-tabs > li > a {
  font-weight: 400;
  color: #585f69;
  background-color: #f4f5f5;
  margin: 0;
  border: 1px solid #e6e9ee;
  border-radius: 0;
  padding: 8px 18px;
  cursor: pointer;
}
.nav-tabs > li.active > a {
  padding: 12px 22px;
}
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:hover,
.nav-tabs > li.active > a:focus {
  color: inherit;
  border-bottom-color: #fff;
}
.nav-tabs > li {
  padding: 4px;
}
.nav-tabs > li.active {
  padding: 0;
}
.nav-tabs > li.active + li {
  padding-left: 4px;
}
.nav-tabs > li:first-child {
  padding-left: 0;
}
.tab-content {
  padding: 10px 20px;
  border-style: solid;
  border-width: 0 1px 1px 1px;
  border-color: #e6e9ee;
}
.nav-pills + .tab-content {
  border: 0;
  padding: 0;
}
.nav-tabs.nav-justified > .active > a,
.nav-tabs.nav-justified > .active > a:hover,
.nav-tabs.nav-justified > .active > a:focus {
  border-bottom: 0;
}
.form-control {
  padding-left: 18px;
  padding-right: 18px;
  box-shadow: 0 0 0 #000 !important;
}
.form-control,
.input-group-addon {
  border-color: #dbd9d9;
}
.input-group-addon {
  background-color: #f8f9fb;
}
.input-sm,
select.input-sm {
  height: 31px;
}
fieldset {
  padding-bottom: 20px;
  border-bottom: 1px dashed #eee;
  margin-bottom: 20px;
}
fieldset.last-child,
fieldset:last-child {
  border-bottom: 0;
}
fieldset .form-group {
  margin-bottom: 0;
}
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="url"],
input[type="number"] {
  -webkit-appearance: none;
}
.table > thead > tr > th {
  border-bottom-width: 1px;
  padding-top: 20px !important;
  padding-bottom: 20px !important;
}
.table > tbody + tbody {
  border-bottom-width: 1px;
}
.table-bordered > thead > tr > th,
.table-bordered > thead > tr > td {
  border-bottom-width: 1px;
}
.progress {
  -webkit-box-shadow: 0 0 0 #000000;
  box-shadow: 0 0 0 #000000;
  border-radius: 2px;
  border: 1px solid #f1f1f1;
  background-color: #fff;
}
.progress .progress-bar {
  -webkit-box-shadow: 0 0 0 #000000;
  box-shadow: 0 0 0 #000000;
}
.popover {
  box-shadow: 0 0 0 #000;
  border-color: #eee;
  border-bottom: 2px solid #e6e9ee;
  border-radius: 2px;
}
.popover .popover-title {
  border: 0;
}
.dropdown-menu {
  border-radius: 2px;
}
.dropdown-header {
  color: #a1a2a3;
}
.carousel .carousel-indicators {
  bottom: 0;
}
.carousel .carousel-control.left,
.carousel .carousel-control.right {
  background-image: none;
}
.carousel .carousel-control em {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 5;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
}
.panel > .table-responsive {
  max-width: 100%;
  overflow: auto;
}
.media-heading a {
  text-decoration: none;
}
/* Open Sans @font-face kit */
/* BEGIN Light */
@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.eot');
  src: url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Light/OpenSans-Light.svg#OpenSansLight') format('svg');
  font-weight: 300;
  font-style: normal;
}
/* END Light */
/* BEGIN Regular */
@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot');
  src: url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Regular/OpenSans-Regular.svg#OpenSansRegular') format('svg');
  font-weight: 400;
  font-style: normal;
}
/* END Regular */
/* BEGIN Italic */
@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.eot');
  src: url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Italic/OpenSans-Italic.svg#OpenSansItalic') format('svg');
  font-weight: 400;
  font-style: italic;
}
/* END Italic */
/* BEGIN Semibold */
@font-face {
  font-family: 'Open Sans';
  src: url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.eot');
  src: url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.eot?#iefix') format('embedded-opentype'), url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.woff') format('woff'), url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.ttf') format('truetype'), url('../vendor/open-sans-fontface/fonts/Semibold/OpenSans-Semibold.svg#OpenSansSemibold') format('svg');
  font-weight: 600;
  font-style: normal;
}
/* END Semibold */
/* ========================================================================
   Component: layout.less
 ========================================================================== */
html {
  /* @replace rtl */
  direction: ltr;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
}
html,
body {
  width: 100%;
  height: 100%;
}
body {
  overflow-x: hidden;
}
.app-container {
  position: relative;
  width: 100%;
  min-height: 100%;
  height: auto;
  -webkit-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  -o-transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
  overflow-x: hidden;
}
.app-container.ng-leave {
  display: none;
}
.app-container > header {
  position: relative;
  z-index: 410;
}
.app-container > aside {
  position: absolute;
  top: 60px;
  left: 0;
  bottom: 0;
  width: 220px;
  z-index: 310;
}
.app-container > section {
  position: relative;
  height: 100%;
  margin-left: 0;
  overflow: hidden;
  z-index: 110;
}
.app-container > footer {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 60px;
  padding: 20px;
  border-top: 1px solid #e6e9ee;
  background-color: #f7f9fb;
  z-index: 210;
}
.app-container > footer > p {
  margin: 0;
}
@media only screen and (min-width: 768px) {
  .app-container > section,
  .app-container > footer {
    margin-left: 220px;
  }
}
.app {
  padding: 20px;
  padding-bottom: 80px;
  width: 100%;
}
.app > h3 {
  margin: 0;
  margin-bottom: 20px;
  padding: 0;
}
.app > h3:before,
.app > h3:after {
  content: " ";
  display: table;
}
.app > h3:after {
  clear: both;
}
.app > h3:before,
.app > h3:after {
  content: " ";
  display: table;
}
.app > h3:after {
  clear: both;
}
.app > h3 > small {
  display: block;
  font-size: 12px;
  color: #8394a9;
  line-height: 2;
}
.app > button,
.app > .btn {
  margin: 10px 10px 0 0;
}
.app .container,
.app .container-fluid {
  padding-left: 0;
  padding-right: 0;
}
@media only screen and (min-width: 768px) {
  .app > button,
  .app > .btn {
    margin: 0;
  }
}
.app > .unwrap {
  margin: -20px;
}
@media only screen and (max-width: 767px) {
  .no-csstransforms3d .app-container > aside {
    margin-left: -220px;
  }
  .no-csstransforms3d .aside-toggled .app-container > section,
  .no-csstransforms3d .aside-toggled .app-container > footer {
    margin-left: 220px;
  }
  .no-csstransforms3d .aside-toggled .app-container > aside {
    margin-left: 0;
  }
  .csstransforms3d .app-container {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
  }
  .csstransforms3d .app-container > section,
  .csstransforms3d .app-container > footer {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-transition: -webkit-transform 0.3s ease;
    -moz-transition: -moz-transform 0.3s ease;
    -o-transition: -o-transform 0.3s ease;
    transition: transform 0.3s ease;
  }
  .csstransforms3d .app-container > aside {
    transform-style: preserve-3d;
    -webkit-transform: translate3d(-220px, 0, 0);
    transform: translate3d(-220px, 0, 0);
    -webkit-transition: -webkit-transform 0.3s ease;
    -moz-transition: -moz-transform 0.3s ease;
    -o-transition: -o-transform 0.3s ease;
    transition: transform 0.3s ease;
  }
  .csstransforms3d .aside-toggled .app-container > section,
  .csstransforms3d .aside-toggled .app-container > footer {
    -webkit-transform: translate3d(220px, 0, 0);
    transform: translate3d(220px, 0, 0);
  }
  .csstransforms3d .aside-toggled .app-container > aside {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
.aside-collapsed .hidden-collapsed {
  display: none;
}
@media only screen and (min-width: 768px) {
  .aside-collapsed .app-container > aside {
    width: 65px;
  }
  .aside-collapsed .app-container > section,
  .aside-collapsed .app-container > footer {
    margin-left: 65px;
  }
}
@media (max-width: 1140px) {
  .layout-fixed.aside-toggled {
    overflow-y: hidden;
  }
}
.layout-fixed .app-container > aside,
.layout-fixed .app-container > header {
  position: fixed;
}
@media only screen and (min-width: 992px) {
  .layout-fixed .app-container > aside {
    /* safari fix */
    height: 1px;
    min-height: 100%;
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    backface-visibility: hidden;
  }
}
.layout-fixed .app-container > header {
  width: 100%;
}
.layout-fixed .app-container > section {
  padding-top: 60px;
}
.layout-boxed .app-container {
  max-width: 1140px;
  margin: 0 auto;
  overflow: hidden;
}
.layout-boxed .app-container > aside {
  left: inherit;
}
.layout-boxed .app-container > header {
  width: 100%;
  max-width: 1140px;
}
.layout-boxed.in-app .app-container {
  box-shadow: 0 0 13px rgba(0, 0, 0, 0.25);
}
.layout-boxed .hidden-boxed {
  display: none;
}
.layout-boxed .fw-boxed {
  width: 100%;
}
/* ========================================================================
   Component: top-navbar.less
 ========================================================================== */
.topnavbar {
  position: relative;
  -webkit-backface-visibility: hidden;
  /* fixes chrome jump */
  margin-bottom: 0;
  border-radius: 0;
  border: 0;
  box-shadow: 0 0 0 0 rgba(0, 0, 0, 0);
  -webkit-transition: box-shadow 0.2s ease;
  -o-transition: box-shadow 0.2s ease;
  transition: box-shadow 0.2s ease;
}
.topnavbar > .navbar-header {
  position: relative;
}
@media only screen and (min-width: 768px) {
  .topnavbar > .navbar-header {
    width: 220px;
    background-image: none;
    z-index: 1;
  }
}
.topnavbar > .navbar-header > .navbar-brand {
  display: block;
  padding: 5px;
  float: none;
  text-align: center;
}
.topnavbar > .navbar-header > .navbar-brand img {
  max-height: 100%;
  width: auto;
}
.topnavbar > .navbar-header .brand-logo {
  display: inline-block;
}
.topnavbar > .navbar-header .brand-logo-collapsed {
  display: none;
}
@media only screen and (min-width: 768px) {
  .aside-collapsed .topnavbar > .navbar-header {
    width: 65px;
  }
  .aside-collapsed .topnavbar > .navbar-header .brand-logo {
    display: none;
  }
  .aside-collapsed .topnavbar > .navbar-header .brand-logo-collapsed {
    display: inline-block;
  }
}
.topnavbar .nav > li > a .point-pin {
  display: inline-block;
}
.topnavbar .nav > li > a .point-pin > .point {
  left: auto;
  right: -5px;
  bottom: auto;
  top: -5px;
}
.topnavbar .mobile-toggles {
  position: absolute !important;
  right: 0;
  left: 0;
  top: 0;
  height: 60px;
  padding: 10px;
}
.topnavbar .mobile-toggles:before,
.topnavbar .mobile-toggles:after {
  content: " ";
  display: table;
}
.topnavbar .mobile-toggles:after {
  clear: both;
}
.topnavbar .mobile-toggles:before,
.topnavbar .mobile-toggles:after {
  content: " ";
  display: table;
}
.topnavbar .mobile-toggles:after {
  clear: both;
}
@media only screen and (min-width: 768px) {
  .topnavbar .mobile-toggles {
    display: none;
  }
}
.topnavbar .sidebar-toggle,
.topnavbar .menu-toggle {
  font-size: 24px;
  color: white;
  z-index: 3001;
}
.topnavbar .sidebar-toggle {
  float: left;
}
.topnavbar .menu-toggle {
  float: right;
}
@media only screen and (min-width: 768px) {
  .topnavbar .nav > li > a:hover,
  .topnavbar .nav > li > a:focus {
    background-color: rgba(54, 60, 71, 0.05);
  }
}
.search-form .form-control {
  border-color: transparent;
}
.search-form .input-group-addon {
  border-color: transparent;
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.nav-wrapper {
  padding: 0 15px;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.1);
}
.nav-wrapper.in {
  overflow: visible;
}
.nav-wrapper .navbar-nav .open .dropdown-menu {
  position: absolute;
  left: 0px;
  right: 0px;
  border-top: 1px solid #e1e1e1;
  border-bottom: 1px solid #e1e1e1;
}
@media only screen and (min-width: 768px) {
  .nav-wrapper {
    position: relative;
  }
  .nav-wrapper:before,
  .nav-wrapper:after {
    content: " ";
    display: table;
  }
  .nav-wrapper:after {
    clear: both;
  }
  .nav-wrapper:before,
  .nav-wrapper:after {
    content: " ";
    display: table;
  }
  .nav-wrapper:after {
    clear: both;
  }
  .nav-wrapper .navbar-nav .open .dropdown-menu {
    left: auto;
    right: auto;
  }
  .nav-wrapper .navbar-nav.navbar-right .open .dropdown-menu {
    left: auto;
    right: 0;
  }
}
/* ========================================================================
   Component: sidebar.less
 ========================================================================== */
.sidebar-wrapper {
  height: 100%;
  overflow-x: hidden;
  background-color: inherit;
}
.sidebar-wrapper hr {
  margin: 10px 5px;
  border-top-color: rgba(0, 0, 0, 0.15);
}
.sidebar-wrapper .dropdown-backdrop {
  left: 65px;
  z-index: 300;
}
.sidebar {
  position: relative;
  height: 100%;
  margin-right: -17px;
  padding-bottom: 50px;
  overflow-x: hidden;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  background-color: inherit;
}
.sidebar:after {
  content: "";
}
.sidebar .nav-heading {
  padding: 12px 15px;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .035em;
  pointer-events: none;
  cursor: default;
}
.sidebar .sidebar-buttons {
  float: left;
  padding: 15px;
  padding-top: 25px;
  width: 220px;
}
.sidebar .sidebar-buttons .btn-sidebar {
  cursor: pointer;
}
.sidebar > .sidebar-nav {
  padding-bottom: 20px;
}
.sidebar > .sidebar-nav > .nav {
  position: relative;
}
.sidebar > .sidebar-nav > .nav > li > a {
  padding: 12px 15px;
  letter-spacing: .025em;
  font-weight: bold;
}
.sidebar > .sidebar-nav > .nav > li > a:focus,
.sidebar > .sidebar-nav > .nav > li > a:hover {
  text-decoration: none;
  outline: none;
}
.sidebar > .sidebar-nav > .nav > li > a > .sidebar-item-icon {
  width: 1.7em;
  display: inline-block;
  font-style: normal;
  font-weight: normal;
  line-height: 1;
  -webkit-font-smoothing: antialiased;
}
.sidebar-slide-template {
  display: none;
}
.sidebar-slide-template.nav-slide {
  display: block;
}
.sidebar-subnav > .sidebar-subnav-header {
  display: none;
  padding: 12px 15px;
  cursor: pointer;
}
.sidebar-subnav > .sidebar-subnav-header > a {
  padding: 0 !important;
  background-color: transparent !important;
}
.sidebar-subnav > li > a {
  display: block;
  position: relative;
  padding: 10px 20px;
  padding-left: 40px;
  font-weight: normal;
}
.sidebar-subnav.nav-floating {
  display: block !important;
  height: auto !important;
  visibility: visible;
  left: inherit;
  margin-left: 65px;
  min-width: 190px;
  border: 1px solid rgba(0, 0, 0, 0.15);
  overflow: auto;
  z-index: 301;
}
.sidebar-subnav.nav-floating > .sidebar-subnav-header {
  display: block;
  background-color: transparent !important;
}
.sidebar-subnav.nav-floating > li > a {
  margin-left: 0;
  padding-left: 25px;
}
.sidebar-subnav.nav-floating > li > a > em {
  display: none;
}
.sidebar-subnav.nav-slide {
  height: auto !important;
  display: block !important;
  visibility: visible !important;
}
.sidebar-subnav.nav-slide > li > a {
  padding-left: 45px;
}
.sidebar-subnav.nav-slide .sidebar-subnav-header {
  position: relative;
  display: block;
}
.sidebar {
  margin-left: 0;
  -webkit-transition: margin-left 0.3s ease;
  -o-transition: margin-left 0.3s ease;
  transition: margin-left 0.3s ease;
}
.sidebar.sidebar-slide {
  margin-left: -220px;
}
.sidebar > .sidebar-nav {
  width: 457px;
  margin-right: 0;
}
.sidebar > .sidebar-nav:before,
.sidebar > .sidebar-nav:after {
  content: " ";
  display: table;
}
.sidebar > .sidebar-nav:after {
  clear: both;
}
.sidebar > .sidebar-nav:before,
.sidebar > .sidebar-nav:after {
  content: " ";
  display: table;
}
.sidebar > .sidebar-nav:after {
  clear: both;
}
.sidebar > .sidebar-nav > .nav,
.sidebar > .sidebar-nav .nav-slide {
  float: left;
  width: 220px;
}
.sidebar > .sidebar-nav > .nav {
  clear: left;
}
.sidebar > .sidebar-nav .nav-slide {
  float: right;
  margin-right: 17px;
}
@media only screen and (min-width: 768px) {
  .sidebar > .sidebar-nav > .nav {
    padding-right: 0;
  }
  .sidebar > .sidebar-nav > .nav .label,
  .sidebar > .sidebar-nav > .nav .sidebar-item-caret {
    margin: 2px 0 0 0;
  }
  .sidebar > .sidebar-nav > .nav .sidebar-item-caret + .label {
    margin-right: 5px;
  }
  .aside-collapsed .hidden-sidebar-collapsed,
  .aside-collapsed .sidebar-buttons,
  .aside-collapsed .sidebar-item-caret {
    display: none;
  }
  .aside-collapsed .sidebar > .sidebar-nav > .nav .nav,
  .aside-collapsed .sidebar > .sidebar-nav > .nav > .nav-heading,
  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a > span {
    display: none !important;
  }
  .aside-collapsed .sidebar > .sidebar-nav > .nav > li {
    width: 64px;
  }
  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a {
    padding: 20px 0;
    text-align: center;
  }
  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a > .sidebar-item-icon {
    font-size: 1.6em;
    width: auto;
  }
  .aside-collapsed .sidebar > .sidebar-nav > .nav > li > a:focus > .sidebar-item-icon {
    color: inherit;
  }
  .aside-collapsed .sidebar .nav .label {
    position: absolute;
    top: 10px;
    right: 5px;
    text-indent: 0;
  }
}
/* ========================================================================
   Component: button-extra.less
 ========================================================================== */
.btn {
  -webkit-appearance: none;
  outline: none !important;
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
}
.btn.btn-link {
  -webkit-box-shadow: 0 0 0 #000000 !important;
  box-shadow: 0 0 0 #000000 !important;
  border: 0;
}
.btn.btn-default {
  border-color: #e6e9ee;
}
.input-group .input-sm + .input-group-btn .btn {
  font-size: 13px;
}
.btn:active,
.btn.active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
.btn-group.open .dropdown-toggle {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
.btn-inverse {
  color: #ffffff !important;
  background-color: #363c47;
  border-color: #363c47;
}
.btn-inverse:focus,
.btn-inverse.focus {
  color: #ffffff !important;
  background-color: #2d323b;
  border-color: #242830;
}
.btn-inverse:hover {
  color: #ffffff;
  background-color: #2d323b;
  border-color: #242830;
}
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  color: #ffffff;
  background-color: #2d323b;
  border-color: #242830;
}
.btn-inverse:active:hover,
.btn-inverse.active:hover,
.open > .dropdown-toggle.btn-inverse:hover,
.btn-inverse:active:focus,
.btn-inverse.active:focus,
.open > .dropdown-toggle.btn-inverse:focus,
.btn-inverse:active.focus,
.btn-inverse.active.focus,
.open > .dropdown-toggle.btn-inverse.focus {
  color: #ffffff;
  background-color: #2d323b;
  border-color: #242830;
}
.btn-inverse:active,
.btn-inverse.active,
.open > .dropdown-toggle.btn-inverse {
  background-image: none;
}
.btn-inverse.disabled,
.btn-inverse[disabled],
fieldset[disabled] .btn-inverse,
.btn-inverse.disabled:hover,
.btn-inverse[disabled]:hover,
fieldset[disabled] .btn-inverse:hover,
.btn-inverse.disabled:focus,
.btn-inverse[disabled]:focus,
fieldset[disabled] .btn-inverse:focus,
.btn-inverse.disabled.focus,
.btn-inverse[disabled].focus,
fieldset[disabled] .btn-inverse.focus,
.btn-inverse.disabled:active,
.btn-inverse[disabled]:active,
fieldset[disabled] .btn-inverse:active,
.btn-inverse.disabled.active,
.btn-inverse[disabled].active,
fieldset[disabled] .btn-inverse.active {
  background-color: #363c47;
  border-color: #363c47;
}
.btn-inverse .badge {
  color: #363c47;
  background-color: #ffffff;
}
.btn-turquoise {
  color: #ffffff !important;
  background-color: #2fc8a6;
  border-color: transparent;
}
.btn-turquoise:focus,
.btn-turquoise.focus {
  color: #ffffff !important;
  background-color: #2bb798;
  border-color: rgba(0, 0, 0, 0);
}
.btn-turquoise:hover {
  color: #ffffff;
  background-color: #2bb798;
  border-color: rgba(0, 0, 0, 0);
}
.btn-turquoise:active,
.btn-turquoise.active,
.open > .dropdown-toggle.btn-turquoise {
  color: #ffffff;
  background-color: #2bb798;
  border-color: rgba(0, 0, 0, 0);
}
.btn-turquoise:active:hover,
.btn-turquoise.active:hover,
.open > .dropdown-toggle.btn-turquoise:hover,
.btn-turquoise:active:focus,
.btn-turquoise.active:focus,
.open > .dropdown-toggle.btn-turquoise:focus,
.btn-turquoise:active.focus,
.btn-turquoise.active.focus,
.open > .dropdown-toggle.btn-turquoise.focus {
  color: #ffffff;
  background-color: #2bb798;
  border-color: rgba(0, 0, 0, 0);
}
.btn-turquoise:active,
.btn-turquoise.active,
.open > .dropdown-toggle.btn-turquoise {
  background-image: none;
}
.btn-turquoise.disabled,
.btn-turquoise[disabled],
fieldset[disabled] .btn-turquoise,
.btn-turquoise.disabled:hover,
.btn-turquoise[disabled]:hover,
fieldset[disabled] .btn-turquoise:hover,
.btn-turquoise.disabled:focus,
.btn-turquoise[disabled]:focus,
fieldset[disabled] .btn-turquoise:focus,
.btn-turquoise.disabled.focus,
.btn-turquoise[disabled].focus,
fieldset[disabled] .btn-turquoise.focus,
.btn-turquoise.disabled:active,
.btn-turquoise[disabled]:active,
fieldset[disabled] .btn-turquoise:active,
.btn-turquoise.disabled.active,
.btn-turquoise[disabled].active,
fieldset[disabled] .btn-turquoise.active {
  background-color: #2fc8a6;
  border-color: transparent;
}
.btn-turquoise .badge {
  color: #2fc8a6;
  background-color: #ffffff;
}
.btn-purple {
  color: #ffffff !important;
  background-color: #c29eff;
  border-color: transparent;
}
.btn-purple:focus,
.btn-purple.focus {
  color: #ffffff !important;
  background-color: #b58aff;
  border-color: rgba(0, 0, 0, 0);
}
.btn-purple:hover {
  color: #ffffff;
  background-color: #b58aff;
  border-color: rgba(0, 0, 0, 0);
}
.btn-purple:active,
.btn-purple.active,
.open > .dropdown-toggle.btn-purple {
  color: #ffffff;
  background-color: #b58aff;
  border-color: rgba(0, 0, 0, 0);
}
.btn-purple:active:hover,
.btn-purple.active:hover,
.open > .dropdown-toggle.btn-purple:hover,
.btn-purple:active:focus,
.btn-purple.active:focus,
.open > .dropdown-toggle.btn-purple:focus,
.btn-purple:active.focus,
.btn-purple.active.focus,
.open > .dropdown-toggle.btn-purple.focus {
  color: #ffffff;
  background-color: #b58aff;
  border-color: rgba(0, 0, 0, 0);
}
.btn-purple:active,
.btn-purple.active,
.open > .dropdown-toggle.btn-purple {
  background-image: none;
}
.btn-purple.disabled,
.btn-purple[disabled],
fieldset[disabled] .btn-purple,
.btn-purple.disabled:hover,
.btn-purple[disabled]:hover,
fieldset[disabled] .btn-purple:hover,
.btn-purple.disabled:focus,
.btn-purple[disabled]:focus,
fieldset[disabled] .btn-purple:focus,
.btn-purple.disabled.focus,
.btn-purple[disabled].focus,
fieldset[disabled] .btn-purple.focus,
.btn-purple.disabled:active,
.btn-purple[disabled]:active,
fieldset[disabled] .btn-purple:active,
.btn-purple.disabled.active,
.btn-purple[disabled].active,
fieldset[disabled] .btn-purple.active {
  background-color: #c29eff;
  border-color: transparent;
}
.btn-purple .badge {
  color: #c29eff;
  background-color: #ffffff;
}
.btn-pink {
  color: #ffffff !important;
  background-color: #f963bc;
  border-color: transparent;
}
.btn-pink:focus,
.btn-pink.focus {
  color: #ffffff !important;
  background-color: #f84fb4;
  border-color: rgba(0, 0, 0, 0);
}
.btn-pink:hover {
  color: #ffffff;
  background-color: #f84fb4;
  border-color: rgba(0, 0, 0, 0);
}
.btn-pink:active,
.btn-pink.active,
.open > .dropdown-toggle.btn-pink {
  color: #ffffff;
  background-color: #f84fb4;
  border-color: rgba(0, 0, 0, 0);
}
.btn-pink:active:hover,
.btn-pink.active:hover,
.open > .dropdown-toggle.btn-pink:hover,
.btn-pink:active:focus,
.btn-pink.active:focus,
.open > .dropdown-toggle.btn-pink:focus,
.btn-pink:active.focus,
.btn-pink.active.focus,
.open > .dropdown-toggle.btn-pink.focus {
  color: #ffffff;
  background-color: #f84fb4;
  border-color: rgba(0, 0, 0, 0);
}
.btn-pink:active,
.btn-pink.active,
.open > .dropdown-toggle.btn-pink {
  background-image: none;
}
.btn-pink.disabled,
.btn-pink[disabled],
fieldset[disabled] .btn-pink,
.btn-pink.disabled:hover,
.btn-pink[disabled]:hover,
fieldset[disabled] .btn-pink:hover,
.btn-pink.disabled:focus,
.btn-pink[disabled]:focus,
fieldset[disabled] .btn-pink:focus,
.btn-pink.disabled.focus,
.btn-pink[disabled].focus,
fieldset[disabled] .btn-pink.focus,
.btn-pink.disabled:active,
.btn-pink[disabled]:active,
fieldset[disabled] .btn-pink:active,
.btn-pink.disabled.active,
.btn-pink[disabled].active,
fieldset[disabled] .btn-pink.active {
  background-color: #f963bc;
  border-color: transparent;
}
.btn-pink .badge {
  color: #f963bc;
  background-color: #ffffff;
}
.btn-orange {
  color: #ffffff !important;
  background-color: #f57035;
  border-color: transparent;
}
.btn-orange:focus,
.btn-orange.focus {
  color: #ffffff !important;
  background-color: #f46222;
  border-color: rgba(0, 0, 0, 0);
}
.btn-orange:hover {
  color: #ffffff;
  background-color: #f46222;
  border-color: rgba(0, 0, 0, 0);
}
.btn-orange:active,
.btn-orange.active,
.open > .dropdown-toggle.btn-orange {
  color: #ffffff;
  background-color: #f46222;
  border-color: rgba(0, 0, 0, 0);
}
.btn-orange:active:hover,
.btn-orange.active:hover,
.open > .dropdown-toggle.btn-orange:hover,
.btn-orange:active:focus,
.btn-orange.active:focus,
.open > .dropdown-toggle.btn-orange:focus,
.btn-orange:active.focus,
.btn-orange.active.focus,
.open > .dropdown-toggle.btn-orange.focus {
  color: #ffffff;
  background-color: #f46222;
  border-color: rgba(0, 0, 0, 0);
}
.btn-orange:active,
.btn-orange.active,
.open > .dropdown-toggle.btn-orange {
  background-image: none;
}
.btn-orange.disabled,
.btn-orange[disabled],
fieldset[disabled] .btn-orange,
.btn-orange.disabled:hover,
.btn-orange[disabled]:hover,
fieldset[disabled] .btn-orange:hover,
.btn-orange.disabled:focus,
.btn-orange[disabled]:focus,
fieldset[disabled] .btn-orange:focus,
.btn-orange.disabled.focus,
.btn-orange[disabled].focus,
fieldset[disabled] .btn-orange.focus,
.btn-orange.disabled:active,
.btn-orange[disabled]:active,
fieldset[disabled] .btn-orange:active,
.btn-orange.disabled.active,
.btn-orange[disabled].active,
fieldset[disabled] .btn-orange.active {
  background-color: #f57035;
  border-color: transparent;
}
.btn-orange .badge {
  color: #f57035;
  background-color: #ffffff;
}
.btn-outline {
  background-color: transparent;
  border-color: #fff;
}
.btn-outline:hover,
.btn-outline:focus {
  background-color: #fff;
  color: #43a8eb;
}
.btn-flat {
  border-bottom-width: 1px;
  border-radius: 0;
  box-shadow: 0 0 0 #000;
}
.btn-xl {
  padding: 20px 16px;
  font-size: 18px;
}
.btn-square {
  border-radius: 0;
}
.btn-pill-left,
.btn-oval {
  border-top-left-radius: 50px;
  border-bottom-left-radius: 50px;
  padding-left: 18px;
}
.btn-pill-right,
.btn-oval {
  border-top-right-radius: 50px;
  border-bottom-right-radius: 50px;
  padding-right: 18px;
}
.btn-labeled {
  padding-top: 0;
  padding-bottom: 0;
}
.btn-label {
  position: relative;
  display: inline-block;
  min-width: 30px;
  background: transparent;
  padding: 8px 18px;
  left: -24px;
  border-radius: 2px 0 0 2px;
}
.btn-label.btn-label-right {
  left: auto;
  right: -24px;
  border-radius: 0 2px 2px 0;
}
.btn-label:after {
  content: "";
  position: absolute;
  top: 2px;
  bottom: 2px;
  right: 0;
  width: 1px;
  background: rgba(0, 0, 0, 0.1);
}
.btn-lg .btn-label {
  padding: 14px 18px;
  left: -26px;
  border-radius: 3px 0 0 3px;
}
.btn-lg .btn-label.btn-label-right {
  left: auto;
  right: -26px;
  border-radius: 0 3px 3px 0;
}
.btn-sm .btn-label {
  padding: 5px 18px;
  left: -18px;
  border-radius: 1px 0 0 1px;
}
.btn-sm .btn-label.btn-label-right {
  left: auto;
  right: -18px;
  border-radius: 0 1px 1px 0;
}
.btn-xs .btn-label {
  padding: 1px 18px;
  left: -5px;
  border-radius: 1px 0 0 1px;
}
.btn-xs .btn-label.btn-label-right {
  left: auto;
  right: -5px;
  border-radius: 0 1px 1px 0;
}
.btn-fw {
  min-width: 120px;
}
.btn-fw.btn-sm {
  min-width: 80px;
}
.btn-fw.btn-lg {
  min-width: 150px;
}
/* ========================================================================
   Component: placeholder.less
 ========================================================================== */
.box-placeholder {
  margin-bottom: 12px;
  padding: 15px;
  border: 1px dashed #a0aab2;
  background: #f4f5f5;
  color: #444444;
}
.box-placeholder > :last-child {
  margin-bottom: 0;
}
.box-placeholder-lg {
  padding-top: 80px;
  padding-bottom: 80px;
}
/* ========================================================================
   Component: panels.less
 ========================================================================== */
.panel {
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.1);
}
.panel .panel-heading {
  border-bottom-width: 0;
}
.panel .panel-heading a {
  text-decoration: none !important;
}
.panel.panel-default .panel-heading {
  border-bottom-width: 1px;
}
.panel.panel-transparent {
  border: 0;
  background-color: transparent;
  box-shadow: 0 0 0 #000;
}
.panel.panel-transparent .panel-heading,
.panel.panel-transparent .panel-body {
  background-color: transparent;
  padding-left: 0;
  padding-right: 0;
}
.panel .table {
  margin-bottom: 0;
  border: 0;
}
.panel-flat {
  margin: 0 !important;
  border: 0;
}
.panel-group .panel-flat {
  box-shadow: 0 0 0 #000;
}
.panel-group .panel-flat:first-child {
  border-radius: 4px 4px 0 0;
}
.panel-group .panel-flat:last-child {
  border-radius: 0 0 4px 4px;
}
.panel-heading > .btn,
.panel-heading > .btn-group {
  margin-top: -5px;
}
.panel-heading > .btn-sm,
.panel-heading > .btn-group-sm {
  margin-top: -3px;
}
.panel-heading > .btn-xs,
.panel-heading > .btn-group-xs {
  margin-top: -1px;
}
.panel-heading > .label.pull-right {
  margin-top: 3px;
}
.panel-heading > .label.pull-right + .label.pull-right {
  margin-right: 10px;
}
.panel-footer .pagination {
  margin: 0;
}
.panel-footer .radial-bar {
  margin-bottom: 0;
}
.panel-footer p {
  margin-bottom: 0;
}
.panel-heading-active {
  background-color: #88bf57 !important;
  font-weight: bold;
  font-size: 16px;
}
.panel-heading-active > a {
  padding: 15px 0;
  color: #fff !important;
  -webkit-transition: padding 0.5s ease;
  -o-transition: padding 0.5s ease;
  transition: padding 0.5s ease;
}
.panel-heading-active + .panel-collapse:after {
  content: "";
  display: block;
  width: 60%;
  margin: 0 auto;
  height: 0;
  border-bottom: 1px solid #e1e2e3;
}
.panel-inverse {
  border-color: #e6e9ee;
}
.panel-inverse > .panel-heading {
  color: #ffffff;
  background-color: #363c47;
  border-color: #363c47;
}
.panel-inverse > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-inverse > .panel-heading .badge {
  color: #363c47;
  background-color: #ffffff;
}
.panel-inverse > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-turquoise {
  border-color: #e6e9ee;
}
.panel-turquoise > .panel-heading {
  color: #ffffff;
  background-color: #2fc8a6;
  border-color: #2fc8a6;
}
.panel-turquoise > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-turquoise > .panel-heading .badge {
  color: #2fc8a6;
  background-color: #ffffff;
}
.panel-turquoise > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-pink {
  border-color: #e6e9ee;
}
.panel-pink > .panel-heading {
  color: #ffffff;
  background-color: #f963bc;
  border-color: #f963bc;
}
.panel-pink > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-pink > .panel-heading .badge {
  color: #f963bc;
  background-color: #ffffff;
}
.panel-pink > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-purple {
  border-color: #e6e9ee;
}
.panel-purple > .panel-heading {
  color: #ffffff;
  background-color: #c29eff;
  border-color: #c29eff;
}
.panel-purple > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-purple > .panel-heading .badge {
  color: #c29eff;
  background-color: #ffffff;
}
.panel-purple > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
.panel-orange {
  border-color: #e6e9ee;
}
.panel-orange > .panel-heading {
  color: #ffffff;
  background-color: #f57035;
  border-color: #f57035;
}
.panel-orange > .panel-heading + .panel-collapse > .panel-body {
  border-top-color: #e6e9ee;
}
.panel-orange > .panel-heading .badge {
  color: #f57035;
  background-color: #ffffff;
}
.panel-orange > .panel-footer + .panel-collapse > .panel-body {
  border-bottom-color: #e6e9ee;
}
/* ========================================================================
   Component: progress-extra.less
 ========================================================================== */
.progress-sm {
  height: 15px;
}
.progress-xs {
  height: 8px;
}
.progress-bar-purple {
  background-color: #c29eff;
}
.progress-striped .progress-bar-purple {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-inverse {
  background-color: #363c47;
}
.progress-striped .progress-bar-inverse {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-turquoise {
  background-color: #2fc8a6;
}
.progress-striped .progress-bar-turquoise {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-bar-pink {
  background-color: #f963bc;
}
.progress-striped .progress-bar-pink {
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-0 {
  width: 0%;
}
.progress-10 {
  width: 10%;
}
.progress-20 {
  width: 20%;
}
.progress-30 {
  width: 30%;
}
.progress-40 {
  width: 40%;
}
.progress-50 {
  width: 50%;
}
.progress-60 {
  width: 60%;
}
.progress-70 {
  width: 70%;
}
.progress-80 {
  width: 80%;
}
.progress-90 {
  width: 90%;
}
.progress-100 {
  width: 100%;
}
/* ========================================================================
   Component: points.less
 ========================================================================== */
.point {
  display: inline-block;
  width: 7px;
  height: 7px;
  border-radius: 500px;
  margin: 0 .5em;
  background-color: #a0aab2;
  vertical-align: baseline;
  border: 1px solid rgba(255, 255, 255, 0.5);
}
.point.text-left {
  margin-left: 0;
}
.point.text-right {
  margin-right: 0;
}
.point-primary {
  background-color: #43a8eb;
}
.point-success {
  background-color: #88bf57;
}
.point-info {
  background-color: #8293b9;
}
.point-warning {
  background-color: #fdaf40;
}
.point-danger {
  background-color: #eb615f;
}
.point-turquoise {
  background-color: #2fc8a6;
}
.point-pink {
  background-color: #f963bc;
}
.point-inverse {
  background-color: #363c47;
}
.point-purple {
  background-color: #c29eff;
}
.point-sm {
  width: 5px;
  height: 5px;
}
.point-lg {
  width: 11px;
  height: 11px;
}
.point-xl {
  width: 18px;
  height: 18px;
}
.point-outline {
  background-color: transparent;
}
.point-outline.point-primary {
  border: 1px solid #43a8eb;
}
.point-outline.point-success {
  border: 1px solid #88bf57;
}
.point-outline.point-info {
  border: 1px solid #8293b9;
}
.point-outline.point-warning {
  border: 1px solid #fdaf40;
}
.point-outline.point-danger {
  border: 1px solid #eb615f;
}
.point-pin {
  position: relative;
}
.point-pin > .point {
  position: absolute;
  left: 0;
  bottom: 0;
  margin: 0;
}
/* ========================================================================
   Component: timeline.less
 ========================================================================== */
.timeline,
.timeline-alt {
  list-style: none;
  padding: 0 0 10px;
  position: relative;
  margin: 0;
}
.timeline:before,
.timeline-alt:before {
  top: 0;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 1px;
  background-color: #e6e9ee;
  left: 20px;
}
.timeline > li,
.timeline-alt > li {
  margin-bottom: 20px;
  position: relative;
  margin-top: 30px;
}
.timeline > li:before,
.timeline-alt > li:before,
.timeline > li:after,
.timeline-alt > li:after {
  content: " ";
  display: table;
}
.timeline > li:after,
.timeline-alt > li:after {
  clear: both;
}
.timeline > li:before,
.timeline-alt > li:before,
.timeline > li:after,
.timeline-alt > li:after {
  content: " ";
  display: table;
}
.timeline > li:after,
.timeline-alt > li:after {
  clear: both;
}
.timeline > li:first-child,
.timeline-alt > li:first-child {
  margin-top: 0;
}
.timeline > li.timeline-separator,
.timeline-alt > li.timeline-separator {
  position: relative;
}
.timeline > li.timeline-separator:before,
.timeline-alt > li.timeline-separator:before {
  content: attr(data-datetime);
  display: inline-block;
  min-width: 40px;
  text-align: center;
  padding: 0 18px;
  line-height: 28px;
  font-size: 11px;
  background-color: #e6e9ee;
  border-radius: 30px;
  margin-left: 40px;
}
.timeline > li.timeline-separator:after,
.timeline-alt > li.timeline-separator:after {
  content: "";
  width: 10px;
  height: 10px;
  position: absolute;
  top: 50%;
  left: 15px;
  margin-top: -5px;
  background-color: #e6e9ee;
  border-radius: 50%;
}
.timeline > li > .timeline-panel,
.timeline-alt > li > .timeline-panel {
  position: relative;
  margin-left: 50px;
}
.timeline > li > .timeline-panel .popover,
.timeline-alt > li > .timeline-panel .popover {
  position: relative;
  display: block;
  margin: 0;
  width: 100%;
  max-width: none;
}
.timeline > li > .timeline-panel .popover .arrow,
.timeline-alt > li > .timeline-panel .popover .arrow {
  display: none;
}
.timeline > li > .timeline-panel .popover .popover-content .popover-title,
.timeline-alt > li > .timeline-panel .popover .popover-content .popover-title {
  background-color: transparent;
  border: 0;
  padding-left: 0;
  padding-top: 0;
}
.timeline > li > .timeline-date,
.timeline-alt > li > .timeline-date {
  float: right;
  margin: -20px 0 0;
  display: block;
  height: 20px;
  line-height: 20px;
  font-size: 11px;
  color: #8394a9;
}
.timeline > li > .timeline-date > time:after,
.timeline-alt > li > .timeline-date > time:after {
  content: attr(datetime);
}
.timeline > li > .timeline-badge,
.timeline-alt > li > .timeline-badge {
  position: absolute;
  top: 0;
  left: 20px;
  width: 50px;
  height: 50px;
  border-radius: 500px;
  margin-left: -25px;
  line-height: 50px;
  font-size: 20px;
  text-align: center;
  color: #fff;
  z-index: 100;
}
.timeline > li > .timeline-badge.timeline-badge-sm,
.timeline-alt > li > .timeline-badge.timeline-badge-sm {
  width: 30px;
  height: 30px;
  margin-left: -15px;
  line-height: 30px;
  font-size: 12px;
}
.timeline-title {
  margin-top: 0;
  color: inherit;
}
.timeline-body > p,
.timeline-body > ul {
  margin-bottom: 0;
}
.timeline-body > p + p {
  margin-top: 5px;
}
@media only screen and (min-width: 992px) {
  .timeline:before {
    left: 50%;
    margin-left: 25px;
  }
  .timeline > li.timeline-separator {
    margin-left: 25px;
    text-align: center;
  }
  .timeline > li.timeline-separator:before {
    margin-left: 25px;
  }
  .timeline > li.timeline-separator:after {
    display: none;
  }
  .timeline > li > .timeline-badge {
    left: 50%;
    margin-left: 0;
  }
  .timeline > li > .timeline-date {
    float: none;
    position: absolute;
    width: 40%;
    left: 50%;
    top: 25px;
    margin-left: 75px;
    margin-top: -10px;
  }
  .timeline > li > .timeline-panel {
    float: left;
    margin: 0;
    width: 48%;
  }
  .timeline > li > .timeline-panel:before {
    border-left-width: 15px;
    border-right-width: 0;
    top: 26px;
    right: -15px;
    left: auto;
  }
  .timeline > li > .timeline-panel:after {
    border-left-width: 14px;
    border-right-width: 0;
    top: 27px;
    right: -14px;
    left: auto;
  }
  .timeline > li > .timeline-panel .popover .arrow {
    top: 25px;
    display: block;
  }
  .timeline > li.timeline-inverted > .timeline-panel {
    float: right;
    padding-left: 50px;
  }
  .timeline > li.timeline-inverted .timeline-date {
    left: auto;
    right: 50%;
    width: auto;
    margin-left: 0;
    margin-right: 50px;
  }
}
/* ========================================================================
   Component: dropdown-extras.less
 ========================================================================== */
.dropdown-lg > .dropdown-menu {
  min-width: 200px;
}
.navbar-nav .open .dropdown-menu {
  background-color: #fff;
}
.dropdown-list > .dropdown-menu {
  padding: 0;
  min-width: 220px;
}
.dropdown-list .list-group {
  margin: 0;
}
.dropdown-list .list-group-item {
  border-radius: 0;
  border-left: 0;
  border-right: 0;
}
.dropdown-list .list-group-item:first-child {
  border-top: 0;
}
.dropdown-list .list-group-item:last-child {
  border-bottom: 0;
}
.dropdown > a {
  position: relative;
}
.dropdown > a > .label {
  position: absolute;
  top: 10px;
  right: 10px;
  padding: 2px 5px;
}
@media only screen and (min-width: 768px) {
  .dropdown > a > .label {
    right: 0;
  }
}
.dropdown-menu-header {
  padding: 10px 15px;
  background-color: #fafafa;
  border-bottom: 1px solid #e1e1e1;
}
.dropdown-menu[offcanvas-dropdown] {
  position: relative;
  overflow: hidden;
}
.dropdown-menu[offcanvas-dropdown] .offcanvas-content {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  background-color: #fff;
  overflow-y: auto;
  transition: all ease .2s;
  -webkit-transition: all ease .2s;
  z-index: 1;
  color: #585f69;
}
.dropdown-menu[offcanvas-dropdown] .offcanvas-content.ng-hide {
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
}
.offcanvas-toggle {
  font-weight: bold;
  cursor: pointer;
}
/* ========================================================================
   Component: row-extra.less
 ========================================================================== */
.row-table {
  display: table;
  table-layout: fixed;
  height: 100%;
  width: 100%;
  margin: 0;
}
.row-table > [class*="col-"] {
  display: table-cell;
  float: none;
  table-layout: fixed;
  vertical-align: middle;
}
.row-flush > [class*="col-"] {
  padding-left: 0;
  padding-right: 0;
}
/* ========================================================================
   Component: masonry-grid.less
 ========================================================================== */
.row-masonry {
  position: relative;
  margin: 0;
  padding: 0;
  width: 100%;
}
.row-masonry > .col-masonry {
  display: inline-block;
  width: 100%;
  min-height: 1em;
  margin-bottom: 15px;
}
/* Columns definition by devices */
@media only screen and (min-width: 480px) {
  .row-masonry-sm-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }
  .no-csscolumns .row-masonry-sm-1 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }
  .row-masonry-sm-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }
  .no-csscolumns .row-masonry-sm-2 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }
  .row-masonry-sm-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }
  .no-csscolumns .row-masonry-sm-3 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }
  .row-masonry-sm-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }
  .no-csscolumns .row-masonry-sm-4 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }
  .row-masonry-sm-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }
  .no-csscolumns .row-masonry-sm-5 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }
  .row-masonry-sm-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }
  .no-csscolumns .row-masonry-sm-6 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }
  .row-masonry-sm-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }
  .no-csscolumns .row-masonry-sm-7 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }
  .row-masonry-sm-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }
  .no-csscolumns .row-masonry-sm-8 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }
  .row-masonry-sm-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }
  .no-csscolumns .row-masonry-sm-9 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }
  .row-masonry-sm-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }
  .no-csscolumns .row-masonry-sm-10 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }
  .row-masonry-sm-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }
  .no-csscolumns .row-masonry-sm-11 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }
  .row-masonry-sm-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }
  .no-csscolumns .row-masonry-sm-12 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-sm-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-sm-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}
@media only screen and (min-width: 768px) {
  .row-masonry-md-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }
  .no-csscolumns .row-masonry-md-1 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }
  .row-masonry-md-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }
  .no-csscolumns .row-masonry-md-2 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }
  .row-masonry-md-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }
  .no-csscolumns .row-masonry-md-3 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }
  .row-masonry-md-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }
  .no-csscolumns .row-masonry-md-4 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }
  .row-masonry-md-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }
  .no-csscolumns .row-masonry-md-5 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }
  .row-masonry-md-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }
  .no-csscolumns .row-masonry-md-6 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }
  .row-masonry-md-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }
  .no-csscolumns .row-masonry-md-7 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }
  .row-masonry-md-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }
  .no-csscolumns .row-masonry-md-8 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }
  .row-masonry-md-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }
  .no-csscolumns .row-masonry-md-9 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }
  .row-masonry-md-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }
  .no-csscolumns .row-masonry-md-10 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }
  .row-masonry-md-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }
  .no-csscolumns .row-masonry-md-11 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }
  .row-masonry-md-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }
  .no-csscolumns .row-masonry-md-12 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-md-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-md-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}
@media only screen and (min-width: 992px) {
  .row-masonry-lg-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }
  .no-csscolumns .row-masonry-lg-1 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }
  .row-masonry-lg-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }
  .no-csscolumns .row-masonry-lg-2 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }
  .row-masonry-lg-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }
  .no-csscolumns .row-masonry-lg-3 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }
  .row-masonry-lg-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }
  .no-csscolumns .row-masonry-lg-4 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }
  .row-masonry-lg-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }
  .no-csscolumns .row-masonry-lg-5 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }
  .row-masonry-lg-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }
  .no-csscolumns .row-masonry-lg-6 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }
  .row-masonry-lg-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }
  .no-csscolumns .row-masonry-lg-7 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }
  .row-masonry-lg-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }
  .no-csscolumns .row-masonry-lg-8 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }
  .row-masonry-lg-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }
  .no-csscolumns .row-masonry-lg-9 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }
  .row-masonry-lg-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }
  .no-csscolumns .row-masonry-lg-10 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }
  .row-masonry-lg-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }
  .no-csscolumns .row-masonry-lg-11 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }
  .row-masonry-lg-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }
  .no-csscolumns .row-masonry-lg-12 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-lg-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-lg-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}
@media only screen and (min-width: 1200px) {
  .row-masonry-xl-1 {
    -moz-column-count: 1;
    -webkit-column-count: 1;
    column-count: 1;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 1;
    -webkit-columns: 1;
    columns: 1;
  }
  .no-csscolumns .row-masonry-xl-1 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-1:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-1 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 99%;
  }
  .row-masonry-xl-2 {
    -moz-column-count: 2;
    -webkit-column-count: 2;
    column-count: 2;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 2;
    -webkit-columns: 2;
    columns: 2;
  }
  .no-csscolumns .row-masonry-xl-2 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-2:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-2 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 49%;
  }
  .row-masonry-xl-3 {
    -moz-column-count: 3;
    -webkit-column-count: 3;
    column-count: 3;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 3;
    -webkit-columns: 3;
    columns: 3;
  }
  .no-csscolumns .row-masonry-xl-3 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-3:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-3 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 32%;
  }
  .row-masonry-xl-4 {
    -moz-column-count: 4;
    -webkit-column-count: 4;
    column-count: 4;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 4;
    -webkit-columns: 4;
    columns: 4;
  }
  .no-csscolumns .row-masonry-xl-4 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-4:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-4 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 24%;
  }
  .row-masonry-xl-5 {
    -moz-column-count: 5;
    -webkit-column-count: 5;
    column-count: 5;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 5;
    -webkit-columns: 5;
    columns: 5;
  }
  .no-csscolumns .row-masonry-xl-5 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-5:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-5 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 19%;
  }
  .row-masonry-xl-6 {
    -moz-column-count: 6;
    -webkit-column-count: 6;
    column-count: 6;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 6;
    -webkit-columns: 6;
    columns: 6;
  }
  .no-csscolumns .row-masonry-xl-6 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-6:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-6 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 15%;
  }
  .row-masonry-xl-7 {
    -moz-column-count: 7;
    -webkit-column-count: 7;
    column-count: 7;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 7;
    -webkit-columns: 7;
    columns: 7;
  }
  .no-csscolumns .row-masonry-xl-7 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-7:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-7 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 13%;
  }
  .row-masonry-xl-8 {
    -moz-column-count: 8;
    -webkit-column-count: 8;
    column-count: 8;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 8;
    -webkit-columns: 8;
    columns: 8;
  }
  .no-csscolumns .row-masonry-xl-8 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-8:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-8 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 11%;
  }
  .row-masonry-xl-9 {
    -moz-column-count: 9;
    -webkit-column-count: 9;
    column-count: 9;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 9;
    -webkit-columns: 9;
    columns: 9;
  }
  .no-csscolumns .row-masonry-xl-9 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-9:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-9 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 10%;
  }
  .row-masonry-xl-10 {
    -moz-column-count: 10;
    -webkit-column-count: 10;
    column-count: 10;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 10;
    -webkit-columns: 10;
    columns: 10;
  }
  .no-csscolumns .row-masonry-xl-10 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-10:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-10 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 9%;
  }
  .row-masonry-xl-11 {
    -moz-column-count: 11;
    -webkit-column-count: 11;
    column-count: 11;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 11;
    -webkit-columns: 11;
    columns: 11;
  }
  .no-csscolumns .row-masonry-xl-11 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-11:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-11 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 8%;
  }
  .row-masonry-xl-12 {
    -moz-column-count: 12;
    -webkit-column-count: 12;
    column-count: 12;
    -moz-column-gap: 15px;
    -webkit-column-gap: 15px;
    column-gap: 15px;
    -moz-columns: 12;
    -webkit-columns: 12;
    columns: 12;
  }
  .no-csscolumns .row-masonry-xl-12 {
    text-align: justify;
  }
  .no-csscolumns .row-masonry-xl-12:after {
    content: '';
    display: inline-block;
    width: 100%;
  }
  .no-csscolumns .row-masonry-xl-12 > .col-masonry {
    vertical-align: top;
    display: inline-block;
    width: 7%;
  }
}
/* ========================================================================
   Component: typeahead.less
 ========================================================================== */
.typeahead-ctrl .dropdown-menu {
  max-height: 300px;
  overflow: auto;
}
/* ========================================================================
   Component: animate.less
 ========================================================================== */
[ui-view].ng-leave {
  display: none;
}
[ui-view].ng-leave.ng-fluid {
  display: block;
}
.ng-fluid.ng-animate {
  position: absolute;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.ng-fadeInLeft2.ng-enter {
  -webkit-animation: fadeInLeft2 0.35s;
  -o-animation: fadeInLeft2 0.35s;
  animation: fadeInLeft2 0.35s;
}
.ng-fadeInLeft2.ng-leave {
  -webkit-animation: fadeOutRight 0.35s;
  -o-animation: fadeOutRight 0.35s;
  animation: fadeOutRight 0.35s;
}
.ng-fadeIn.ng-enter {
  -webkit-animation: fadeIn 0.35s;
  -o-animation: fadeIn 0.35s;
  animation: fadeIn 0.35s;
}
.ng-fadeIn.ng-leave {
  -webkit-animation: fadeOut 0.35s;
  -o-animation: fadeOut 0.35s;
  animation: fadeOut 0.35s;
}
.ng-fadeInUp.ng-enter {
  -webkit-animation: fadeInUp 0.35s;
  -o-animation: fadeInUp 0.35s;
  animation: fadeInUp 0.35s;
}
.ng-fadeInUp.ng-leave {
  -webkit-animation: fadeOutDown 0.35s;
  -o-animation: fadeOutDown 0.35s;
  animation: fadeOutDown 0.35s;
}
.ng-fadeInDown.ng-enter {
  -webkit-animation: fadeInDown 0.35s;
  -o-animation: fadeInDown 0.35s;
  animation: fadeInDown 0.35s;
}
.ng-fadeInDown.ng-leave {
  -webkit-animation: fadeOutUp 0.35s;
  -o-animation: fadeOutUp 0.35s;
  animation: fadeOutUp 0.35s;
}
.ng-fadeInRight.ng-enter {
  -webkit-animation: fadeInRight 0.35s;
  -o-animation: fadeInRight 0.35s;
  animation: fadeInRight 0.35s;
}
.ng-fadeInRight.ng-leave {
  -webkit-animation: fadeOutLeft 0.35s;
  -o-animation: fadeOutLeft 0.35s;
  animation: fadeOutLeft 0.35s;
}
.ng-fadeInLeft.ng-enter {
  -webkit-animation: fadeInLeft 0.35s;
  -o-animation: fadeInLeft 0.35s;
  animation: fadeInLeft 0.35s;
}
.ng-fadeInLeft.ng-leave {
  -webkit-animation: fadeOutRight 0.35s;
  -o-animation: fadeOutRight 0.35s;
  animation: fadeOutRight 0.35s;
}
.ng-fadeInUpBig.ng-enter {
  -webkit-animation: fadeInDownBig 0.35s;
  -o-animation: fadeInDownBig 0.35s;
  animation: fadeInDownBig 0.35s;
}
.ng-fadeInUpBig.ng-leave {
  -webkit-animation: fadeOutDownBig 0.35s;
  -o-animation: fadeOutDownBig 0.35s;
  animation: fadeOutDownBig 0.35s;
}
.ng-fadeInDownBig.ng-enter {
  -webkit-animation: fadeInUpBig 0.35s;
  -o-animation: fadeInUpBig 0.35s;
  animation: fadeInUpBig 0.35s;
}
.ng-fadeInDownBig.ng-leave {
  -webkit-animation: fadeOutUpBig 0.35s;
  -o-animation: fadeOutUpBig 0.35s;
  animation: fadeOutUpBig 0.35s;
}
.ng-fadeInRightBig.ng-enter {
  -webkit-animation: fadeInRightBig 0.35s;
  -o-animation: fadeInRightBig 0.35s;
  animation: fadeInRightBig 0.35s;
}
.ng-fadeInRightBig.ng-leave {
  -webkit-animation: fadeOutLeftBig 0.35s;
  -o-animation: fadeOutLeftBig 0.35s;
  animation: fadeOutLeftBig 0.35s;
}
.ng-fadeInLeftBig.ng-enter {
  -webkit-animation: fadeInLeftBig 0.35s;
  -o-animation: fadeInLeftBig 0.35s;
  animation: fadeInLeftBig 0.35s;
}
.ng-fadeInLeftBig.ng-leave {
  -webkit-animation: fadeOutRightBig 0.35s;
  -o-animation: fadeOutRightBig 0.35s;
  animation: fadeOutRightBig 0.35s;
}
.ng-fadeOutZoom.ng-enter {
  -webkit-animation: zoomIn 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-animation: zoomIn 1s cubic-bezier(0.23, 1, 0.32, 1);
  animation: zoomIn 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.ng-fadeOutZoom.ng-leave {
  -webkit-animation: fadeOut 1s cubic-bezier(0.23, 1, 0.32, 1);
  -o-animation: fadeOut 1s cubic-bezier(0.23, 1, 0.32, 1);
  animation: fadeOut 1s cubic-bezier(0.23, 1, 0.32, 1);
}
.animated {
  -webkit-animation-duration: 0.5s;
  animation-duration: 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.fadeInLeft2 {
  -webkit-animation-name: fadeInLeft2;
  animation-name: fadeInLeft2;
}
@-webkit-keyframes fadeInLeft2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-18px, 0, 0);
    transform: translate3d(-18px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}
@keyframes fadeInLeft2 {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-18px, 0, 0);
    -ms-transform: translate3d(-18px, 0, 0);
    transform: translate3d(-18px, 0, 0);
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }
}
/* ========================================================================
   Component: loading-bar.less
 ========================================================================== */
/*
 * angular-loading-bar v0.6.0 * https://chieffancypants.github.io/angular-loading-bar
 * Copyright (c) 2014 Wes Cruver * License: MIT
 */
#loading-bar {
  position: absolute;
  z-index: 90002;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
}
.layout-fixed #loading-bar {
  top: 60px;
}
/* Make clicks pass-through */
#loading-bar,
#loading-bar-spinner {
  pointer-events: none;
  -webkit-pointer-events: none;
  -webkit-transition: 350ms linear all;
  -moz-transition: 350ms linear all;
  -o-transition: 350ms linear all;
  transition: 350ms linear all;
}
#loading-bar.ng-enter,
#loading-bar.ng-leave.ng-leave-active,
#loading-bar-spinner.ng-enter,
#loading-bar-spinner.ng-leave.ng-leave-active {
  opacity: 0;
}
#loading-bar.ng-enter.ng-enter-active,
#loading-bar.ng-leave,
#loading-bar-spinner.ng-enter.ng-enter-active,
#loading-bar-spinner.ng-leave {
  opacity: 1;
}
#loading-bar .bar {
  height: 100%;
  width: 100%;
  -webkit-transition: width 350ms;
  -moz-transition: width 350ms;
  -o-transition: width 350ms;
  transition: width 350ms;
  background: #8293b9;
  border-bottom-right-radius: 1px;
  border-top-right-radius: 1px;
}
/* Fancy blur effect */
#loading-bar .peg {
  position: absolute;
  width: 70px;
  right: 0;
  top: 0;
  height: 2px;
  opacity: .45;
  -moz-box-shadow: #8293b9 1px 0 6px 1px;
  -ms-box-shadow: #8293b9 1px 0 6px 1px;
  -webkit-box-shadow: #8293b9 1px 0 6px 1px;
  box-shadow: #8293b9 1px 0 6px 1px;
  -moz-border-radius: 100%;
  -webkit-border-radius: 100%;
  border-radius: 100%;
}
#loading-bar-spinner {
  display: block;
  position: fixed;
  z-index: 90002;
  top: 10px;
  left: 10px;
}
#loading-bar-spinner .spinner-icon {
  width: 14px;
  height: 14px;
  border: solid 2px transparent;
  border-top-color: #8293b9;
  border-left-color: #8293b9;
  border-radius: 10px;
  -webkit-animation: loading-bar-spinner 400ms linear infinite;
  -moz-animation: loading-bar-spinner 400ms linear infinite;
  -ms-animation: loading-bar-spinner 400ms linear infinite;
  -o-animation: loading-bar-spinner 400ms linear infinite;
  animation: loading-bar-spinner 400ms linear infinite;
}
@-webkit-keyframes loading-bar-spinner {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-moz-keyframes loading-bar-spinner {
  0% {
    -moz-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -moz-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-o-keyframes loading-bar-spinner {
  0% {
    -o-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -o-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@-ms-keyframes loading-bar-spinner {
  0% {
    -ms-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  100% {
    -ms-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}
@keyframes loading-bar-spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* ========================================================================
   Component: form-validation.less
   (http://mdo.github.io/table-grid)
 ========================================================================== */
@media only screen and (min-width: 768px) {
  .table-grid {
    display: table;
    width: 100%;
    height: 100%;
    table-layout: fixed;
  }
  .col {
    display: table-cell;
    vertical-align: top;
    height: 100%;
  }
  .col.col-full-center {
    vertical-align: middle;
  }
  .col-1 {
    width: 8.333333%;
  }
  .col-2 {
    width: 16.666667%;
  }
  .col-3 {
    width: 25%;
  }
  .col-4 {
    width: 33.333333%;
  }
  .col-5 {
    width: 41.666667%;
  }
  .col-6 {
    width: 50%;
  }
  .col-7 {
    width: 58.333333%;
  }
  .col-8 {
    width: 66.666667%;
  }
  .col-9 {
    width: 75%;
  }
  .col-10 {
    width: 83.333333%;
  }
  .col-11 {
    width: 91.666667%;
  }
  .col-12 {
    width: 100%;
  }
  .table-grid-padded {
    margin-left: -1rem;
    margin-right: -1rem;
  }
  .table-grid-padded .table-grid {
    border-spacing: 1rem 0;
  }
  .table-grid-align-middle .col {
    vertical-align: middle;
  }
}
.palette {
  background-color: #fff;
  padding: 10px 10px 15px 10px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  -ms-border-radius: 3px;
  -o-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0px 2px 0px #e2e8eb;
  -moz-box-shadow: 0px 2px 0px #e2e8eb;
  -ms-box-shadow: 0px 2px 0px #e2e8eb;
  -o-box-shadow: 0px 2px 0px #e2e8eb;
  box-shadow: 0px 2px 0px #e2e8eb;
  margin: 30px 0;
  max-width: 100%;
}
.color {
  height: 140px;
}
.info {
  margin-left: 0;
  margin-top: 10px;
  margin-bottom: -5px;
  font-size: 15px;
  font-weight: bold;
  font-family: "AvenirNextLTProBold", "Lucida Grande", Arial, sans-serif;
  position: relative;
}
.info li {
  list-style: none;
  display: block;
}
.info span {
  font-size: 24px;
  position: absolute;
  top: 50%;
  margin-top: -17px;
  color: #839199;
}
.info .clipboard {
  right: 0;
  cursor: pointer;
}
.info .icon-globe {
  right: 30px;
}
.info li:nth-child(1) {
  text-transform: uppercase;
  color: #414b55;
}
.info li:nth-child(2) {
  text-transform: lowercase;
  color: #839199;
}
/* ========================================================================
   Component: chat.less
 ========================================================================== */
.chat {
  list-style: none;
  margin: 0;
  padding: 0;
  padding-right: 6px;
}
.chat li {
  margin-bottom: 10px;
  padding-bottom: 5px;
}
.chat li .chat-body {
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.05);
  background-color: #fff;
  border: 1px solid #e6e9ee;
}
.chat li .chat-body p {
  margin: 0;
  color: #8394a9;
}
.chat li .chat-header {
  padding: 10px;
}
.chat li .chat-msg {
  padding: 10px;
  border-radius: 2px;
}
.chat li.left .chat-body {
  margin-left: 60px;
}
.chat li.right .chat-body {
  margin-right: 60px;
}
.panel .slidedown .glyphicon,
.chat .glyphicon {
  margin-right: 5px;
}
.btn-switch {
  position: relative;
  display: inline-block;
  cursor: pointer;
}
.btn-switch > input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
  cursor: pointer;
  left: -100%;
  top: -100%;
}
.btn-switch > input[type="checkbox"] + .btn {
  background-color: transparent;
  border-color: #43a8eb;
  color: #43a8eb;
  text-align: left;
}
.btn-switch > input[type="checkbox"] + .btn > em {
  position: relative;
  top: -1px;
  margin-right: 2px;
  display: inline-block;
  border: 1px solid #43a8eb;
  border-radius: 50%;
  padding: 2.5px;
  margin: 0 4px 0 0;
  font-size: 10px;
  text-align: center;
}
.btn-switch > input[type="checkbox"] + .btn > em:before {
  position: relative;
  opacity: 0;
}
.btn-switch > input[type="checkbox"]:checked + .btn {
  background-color: #43a8eb;
  color: #fff;
}
.btn-switch > input[type="checkbox"]:checked + .btn > em {
  background-color: #fff;
  color: #43a8eb;
}
.btn-switch > input[type="checkbox"]:checked + .btn > em:before {
  opacity: 1;
}
.btn-switch-primary > input[type="checkbox"] + .btn {
  border-color: #43a8eb;
  color: #43a8eb !important;
}
.btn-switch-primary > input[type="checkbox"] + .btn > em {
  border-color: #43a8eb;
}
.btn-switch-primary > input[type="checkbox"]:checked + .btn {
  background-color: #43a8eb;
  color: #fff !important;
}
.btn-switch-primary > input[type="checkbox"]:checked + .btn > em {
  color: #43a8eb !important;
}
.btn-switch-success > input[type="checkbox"] + .btn {
  border-color: #88bf57;
  color: #88bf57 !important;
}
.btn-switch-success > input[type="checkbox"] + .btn > em {
  border-color: #88bf57;
}
.btn-switch-success > input[type="checkbox"]:checked + .btn {
  background-color: #88bf57;
  color: #fff !important;
}
.btn-switch-success > input[type="checkbox"]:checked + .btn > em {
  color: #88bf57 !important;
}
.btn-switch-info > input[type="checkbox"] + .btn {
  border-color: #8293b9;
  color: #8293b9 !important;
}
.btn-switch-info > input[type="checkbox"] + .btn > em {
  border-color: #8293b9;
}
.btn-switch-info > input[type="checkbox"]:checked + .btn {
  background-color: #8293b9;
  color: #fff !important;
}
.btn-switch-info > input[type="checkbox"]:checked + .btn > em {
  color: #8293b9 !important;
}
.btn-switch-warning > input[type="checkbox"] + .btn {
  border-color: #fdaf40;
  color: #fdaf40 !important;
}
.btn-switch-warning > input[type="checkbox"] + .btn > em {
  border-color: #fdaf40;
}
.btn-switch-warning > input[type="checkbox"]:checked + .btn {
  background-color: #fdaf40;
  color: #fff !important;
}
.btn-switch-warning > input[type="checkbox"]:checked + .btn > em {
  color: #fdaf40 !important;
}
.btn-switch-danger > input[type="checkbox"] + .btn {
  border-color: #eb615f;
  color: #eb615f !important;
}
.btn-switch-danger > input[type="checkbox"] + .btn > em {
  border-color: #eb615f;
}
.btn-switch-danger > input[type="checkbox"]:checked + .btn {
  background-color: #eb615f;
  color: #fff !important;
}
.btn-switch-danger > input[type="checkbox"]:checked + .btn > em {
  color: #eb615f !important;
}
.btn-switch-inverse > input[type="checkbox"] + .btn {
  border-color: #363c47;
  color: #363c47 !important;
}
.btn-switch-inverse > input[type="checkbox"] + .btn > em {
  border-color: #363c47;
}
.btn-switch-inverse > input[type="checkbox"]:checked + .btn {
  background-color: #363c47;
  color: #fff !important;
}
.btn-switch-inverse > input[type="checkbox"]:checked + .btn > em {
  color: #363c47 !important;
}
.btn-switch-turquoise > input[type="checkbox"] + .btn {
  border-color: #2fc8a6;
  color: #2fc8a6 !important;
}
.btn-switch-turquoise > input[type="checkbox"] + .btn > em {
  border-color: #2fc8a6;
}
.btn-switch-turquoise > input[type="checkbox"]:checked + .btn {
  background-color: #2fc8a6;
  color: #fff !important;
}
.btn-switch-turquoise > input[type="checkbox"]:checked + .btn > em {
  color: #2fc8a6 !important;
}
.btn-switch-pink > input[type="checkbox"] + .btn {
  border-color: #f963bc;
  color: #f963bc !important;
}
.btn-switch-pink > input[type="checkbox"] + .btn > em {
  border-color: #f963bc;
}
.btn-switch-pink > input[type="checkbox"]:checked + .btn {
  background-color: #f963bc;
  color: #fff !important;
}
.btn-switch-pink > input[type="checkbox"]:checked + .btn > em {
  color: #f963bc !important;
}
.btn-switch-purple > input[type="checkbox"] + .btn {
  border-color: #c29eff;
  color: #c29eff !important;
}
.btn-switch-purple > input[type="checkbox"] + .btn > em {
  border-color: #c29eff;
}
.btn-switch-purple > input[type="checkbox"]:checked + .btn {
  background-color: #c29eff;
  color: #fff !important;
}
.btn-switch-purple > input[type="checkbox"]:checked + .btn > em {
  color: #c29eff !important;
}
.btn-switch-orange > input[type="checkbox"] + .btn {
  border-color: #f57035;
  color: #f57035 !important;
}
.btn-switch-orange > input[type="checkbox"] + .btn > em {
  border-color: #f57035;
}
.btn-switch-orange > input[type="checkbox"]:checked + .btn {
  background-color: #f57035;
  color: #fff !important;
}
.btn-switch-orange > input[type="checkbox"]:checked + .btn > em {
  color: #f57035 !important;
}
/* ========================================================================
   Component: feather-icons.less
 ========================================================================== */
.icon-eye,
.icon-paper-clip,
.icon-mail,
.icon-toggle,
.icon-layout,
.icon-link,
.icon-bell,
.icon-lock,
.icon-unlock,
.icon-ribbon,
.icon-image,
.icon-signal,
.icon-target,
.icon-clipboard,
.icon-clock,
.icon-clock,
.icon-watch,
.icon-air-play,
.icon-camera,
.icon-video,
.icon-disc,
.icon-printer,
.icon-monitor,
.icon-server,
.icon-cog,
.icon-heart,
.icon-paragraph,
.icon-align-justify,
.icon-align-left,
.icon-align-center,
.icon-align-right,
.icon-book,
.icon-layers,
.icon-stack,
.icon-stack-2,
.icon-paper,
.icon-paper-stack,
.icon-search,
.icon-zoom-in,
.icon-zoom-out,
.icon-reply,
.icon-circle-plus,
.icon-circle-minus,
.icon-circle-check,
.icon-circle-cross,
.icon-square-plus,
.icon-square-minus,
.icon-square-check,
.icon-square-cross,
.icon-microphone,
.icon-record,
.icon-skip-back,
.icon-rewind,
.icon-play,
.icon-pause,
.icon-stop,
.icon-fast-forward,
.icon-skip-forward,
.icon-shuffle,
.icon-repeat,
.icon-folder,
.icon-umbrella,
.icon-moon,
.icon-thermometer,
.icon-drop,
.icon-sun,
.icon-cloud,
.icon-cloud-upload,
.icon-cloud-download,
.icon-upload,
.icon-download,
.icon-location,
.icon-location-2,
.icon-map,
.icon-battery,
.icon-head,
.icon-briefcase,
.icon-speech-bubble,
.icon-anchor,
.icon-globe,
.icon-box,
.icon-reload,
.icon-share,
.icon-marquee,
.icon-marquee-plus,
.icon-marquee-minus,
.icon-tag,
.icon-power,
.icon-command,
.icon-alt,
.icon-esc,
.icon-bar-graph,
.icon-bar-graph-2,
.icon-pie-graph,
.icon-star,
.icon-arrow-left,
.icon-arrow-right,
.icon-arrow-up,
.icon-arrow-down,
.icon-volume,
.icon-mute,
.icon-content-right,
.icon-content-left,
.icon-grid,
.icon-grid-2,
.icon-columns,
.icon-loader,
.icon-bag,
.icon-ban,
.icon-flag,
.icon-trash,
.icon-expand,
.icon-contract,
.icon-maximize,
.icon-minimize,
.icon-plus,
.icon-minus,
.icon-check,
.icon-cross,
.icon-move,
.icon-delete,
.icon-menu,
.icon-archive,
.icon-inbox,
.icon-outbox,
.icon-file,
.icon-file-add,
.icon-file-subtract,
.icon-help,
.icon-open,
.icon-ellipsis {
  font-size: 15px;
  text-rendering: auto;
}
/* ========================================================================
   Component: calendar.less
 ========================================================================== */
.calendar-app .fc-button {
  color: #a0aab2 !important;
  background-color: #ffffff;
  border-color: #e6e9ee;
  padding: 5px 18px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 2px;
  height: auto;
  background-image: none;
}
.calendar-app .fc-button:focus,
.calendar-app .fc-button.focus {
  color: #a0aab2 !important;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.calendar-app .fc-button:hover {
  color: #a0aab2;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.calendar-app .fc-button:active,
.calendar-app .fc-button.active,
.open > .dropdown-toggle.calendar-app .fc-button {
  color: #a0aab2;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.calendar-app .fc-button:active:hover,
.calendar-app .fc-button.active:hover,
.open > .dropdown-toggle.calendar-app .fc-button:hover,
.calendar-app .fc-button:active:focus,
.calendar-app .fc-button.active:focus,
.open > .dropdown-toggle.calendar-app .fc-button:focus,
.calendar-app .fc-button:active.focus,
.calendar-app .fc-button.active.focus,
.open > .dropdown-toggle.calendar-app .fc-button.focus {
  color: #a0aab2;
  background-color: #f5f5f5;
  border-color: #ced4dd;
}
.calendar-app .fc-button:active,
.calendar-app .fc-button.active,
.open > .dropdown-toggle.calendar-app .fc-button {
  background-image: none;
}
.calendar-app .fc-button.disabled,
.calendar-app .fc-button[disabled],
fieldset[disabled] .calendar-app .fc-button,
.calendar-app .fc-button.disabled:hover,
.calendar-app .fc-button[disabled]:hover,
fieldset[disabled] .calendar-app .fc-button:hover,
.calendar-app .fc-button.disabled:focus,
.calendar-app .fc-button[disabled]:focus,
fieldset[disabled] .calendar-app .fc-button:focus,
.calendar-app .fc-button.disabled.focus,
.calendar-app .fc-button[disabled].focus,
fieldset[disabled] .calendar-app .fc-button.focus,
.calendar-app .fc-button.disabled:active,
.calendar-app .fc-button[disabled]:active,
fieldset[disabled] .calendar-app .fc-button:active,
.calendar-app .fc-button.disabled.active,
.calendar-app .fc-button[disabled].active,
fieldset[disabled] .calendar-app .fc-button.active {
  background-color: #ffffff;
  border-color: #e6e9ee;
}
.calendar-app .fc-button .badge {
  color: #ffffff;
  background-color: #a0aab2;
}
.calendar-app .fc-button:active,
.calendar-app .fc-button.active,
.calendar-app .fc-button.fc-state-active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
.calendar-app .fc-event {
  border: 1px solid #8293b9;
  background-color: #8293b9;
  color: #fff;
}
.calendar-app .fc-button .fc-icon {
  margin: 0 .1em;
  font-size: inherit;
  font-family: FontAwesome !important;
  vertical-align: baseline;
  color: #555;
}
.calendar-app .fc-button .fc-icon:after {
  display: none;
}
.calendar-app .fc-button .fc-icon.fc-icon-right-single-arrow:before {
  content: "\f105";
}
.calendar-app .fc-button .fc-icon.fc-icon-left-single-arrow:before {
  content: "\f104";
}
.calendar-app .fc-state-highlight,
.calendar-app .fc-day:hover,
.calendar-app .fc-unthemed .fc-today {
  background-color: #f4f5f5;
}
.calendar-app .fc-cell-overlay {
  background-color: rgba(67, 168, 235, 0.7);
}
.calendar-app .fc-day-number {
  font-size: 18px;
  font-weight: bold;
  color: #a1a2a3;
}
.calendar-app .fc-view {
  overflow: visible;
}
.calendar-app .external-events {
  margin: 0;
}
.calendar-app .external-events > div {
  display: inline-block;
  margin-right: 5px;
  margin-bottom: 5px;
  padding: 6px 10px;
  color: #fff;
  font-size: 11px;
  cursor: pointer;
}
.calendar-app .external-events:empty {
  content: "EMRTPUY";
}
.calendar-app .external-events-trash {
  position: relative;
  min-height: 120px;
}
.calendar-app .external-events-trash:after {
  content: "\f00d";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: #363c47;
  opacity: 0;
  font-family: FontAwesome;
  color: #fff;
  text-align: center;
  font-size: 50px;
  padding: 8%;
  max-height: 100%;
  -webkit-transition: all 0.3s ease;
  -o-transition: all 0.3s ease;
  transition: all 0.3s ease;
  z-index: -1;
}
.calendar-app .external-events-trash.active:after {
  opacity: 1;
  z-index: 1;
}
.calendar-app .external-events-trash.hovered:after {
  background-color: #fb797e;
}
.calendar-app .external-event-color-selector .circle.selected {
  border: 3px solid rgba(255, 255, 255, 0.5);
}
/* ========================================================================
   Component: portlets.less
 ========================================================================== */
[portlet] {
  min-height: 30px;
}
[portlet].portlet-handler,
[portlet] .portlet-handler {
  cursor: move;
}
.portlets-wrapper {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
  overflow: auto;
}
.portlet.box-placeholder {
  padding: 0;
}
/* ========================================================================
   Component: tasks.less
 ========================================================================== */
.task .task-item-list {
  position: relative;
}
.task .task-item {
  -webkit-transition: color 0.6s, background-color 0.3s;
  -o-transition: color 0.6s, background-color 0.3s;
  transition: color 0.6s, background-color 0.3s;
}
.task .task-item .panel-heading {
  padding: 20px 10px;
}
.task .task-item.ng-enter {
  -webkit-animation: fadeInLeft 1s;
  -o-animation: fadeInLeft 1s;
  animation: fadeInLeft 1s;
}
.task .task-item.ng-leave {
  position: absolute;
  left: 0;
  right: 0;
  -webkit-animation: fadeOutRightBig 0.5s;
  -o-animation: fadeOutRightBig 0.5s;
  animation: fadeOutRightBig 0.5s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}
.task .task-item .task-edit {
  display: none;
  cursor: pointer;
}
.task .task-item:hover .task-edit {
  display: inline;
}
.task .task-item.task-complete .task-edit {
  display: none;
}
.task textarea {
  resize: none;
  max-width: 100%;
  min-width: 100%;
}
.task .task-complete {
  background: #f4f5f5;
  opacity: .6;
  color: #2b3d51;
}
.task .task-complete .task-title {
  text-decoration: line-through;
}
.task .panel-group > .panel {
  border: 1px;
  margin: 0;
}
.task .panel-group > .panel .panel-body {
  border-bottom: 1px solid #f4f5f5;
}
/* ========================================================================
   Component: mailbox.less
 ========================================================================== */
.mb-boxes {
  height: 0;
  overflow: hidden;
  margin: 0;
  padding-bottom: 20px;
}
@media only screen and (min-width: 1200px) {
  .mb-boxes {
    height: auto !important;
    display: block;
    visibility: visible;
  }
}
.mb-boxes a {
  border-radius: 0;
  color: #a0aab2;
  background-color: transparent;
  border-left: 2px solid transparent;
}
.mb-boxes a:hover,
.mb-boxes a:focus {
  background-color: #f4f5f5;
  color: #515d6e;
  border-left: 2px solid #f4f5f5;
}
.mb-boxes a.active,
.mb-boxes a.active:hover,
.mb-boxes a.active:focus {
  color: #515d6e;
  border-color: transparent;
  background-color: transparent;
}
.mb-mails-responsive {
  max-width: 100%;
  overflow: auto;
}
.mb-mails > tbody > tr > td {
  border-top: 1px solid #e6e9ee;
}
.mb-mails .mb-mail-active {
  background-color: #f7f8f9 !important;
}
.mb-mails .mb-mail-date {
  display: block;
  float: right;
  color: #8394a9;
  font-size: 12px;
  font-weight: bold;
}
.mb-mails .mb-mail-from {
  display: block;
  color: #2b3d51;
  font-size: 17px;
  font-weight: 600;
  line-height: 1.2;
}
.mb-mails .mb-mail-subject {
  color: #2b3d51;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.8;
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 .2em;
  overflow: hidden;
  vertical-align: bottom;
  padding: 0;
  max-width: 28ch;
}
.mb-mails .mb-mail-preview {
  clear: both;
  margin-top: 10px;
  color: #8394a9;
}
.mb-mails .mb-unread {
  background-color: #f4f5f5;
}
.mb-panel {
  position: relative;
  width: 100%;
  overflow: hidden;
}
.mb-panel > .mb-panel-inner {
  position: relative;
  -webkit-backface-visibility: hidden;
  -moz-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition: -webkit-transform 0.3s ease;
  -moz-transition: -moz-transform 0.3s ease;
  -o-transition: -o-transform 0.3s ease;
  transition: transform 0.3s ease;
}
.mb-panel > .mb-panel-inner:before,
.mb-panel > .mb-panel-inner:after {
  content: " ";
  display: table;
}
.mb-panel > .mb-panel-inner:after {
  clear: both;
}
.mb-panel > .mb-panel-inner:before,
.mb-panel > .mb-panel-inner:after {
  content: " ";
  display: table;
}
.mb-panel > .mb-panel-inner:after {
  clear: both;
}
.mb-panel > .mb-panel-inner > .mb-panel-content {
  position: absolute;
  top: 0;
  left: 100%;
  right: 0;
}
@media only screen and (min-width: 768px) {
  .mb-panel > .mb-panel-inner > .mb-panel-content {
    position: static;
    padding-left: 15px;
  }
}
@media only screen and (min-width: 768px) {
  .mb-panel > .mb-panel-inner > .mb-panel-list {
    border-right: 1px solid #e6e9ee;
    padding-right: 15px;
    border-left: 1px solid #e6e9ee;
    padding-left: 15px;
  }
}
.mb-panel > .mb-panel-inner > .mb-panel-list,
.mb-panel > .mb-panel-inner > .mb-panel-content {
  float: left;
  width: 100%;
}
@media only screen and (min-width: 768px) {
  .mb-panel > .mb-panel-inner > .mb-panel-list {
    width: 40%;
  }
  .mb-panel > .mb-panel-inner > .mb-panel-content {
    width: 60%;
  }
}
.mb-panel > .mb-panel-inner.mb-content-open {
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
}
.mb-panel .mb-panel-back {
  display: inline-block;
  margin: 10px 0 20px 0;
  color: #000;
  text-decoration: none;
  cursor: pointer;
  color: #8394a9;
}
@media only screen and (min-width: 768px) {
  .mb-panel .mb-panel-back {
    display: none;
  }
}
.mb-panel-content > h3 {
  font-weight: 600;
  margin-top: 0;
  font-size: 30px;
}
.mb-panel-content .mb-panel-form .mb-panel-form-reply {
  min-height: 120px;
  border-color: transparent;
  -webkit-transition: border-color 0.3s ease;
  -o-transition: border-color 0.3s ease;
  transition: border-color 0.3s ease;
}
.mb-panel-content .mb-panel-form .mb-panel-form-reply:focus {
  border-color: #a0aab2;
}
.no-csstransforms3d .mb-panel > .mb-panel-inner.mb-content-open {
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.no-csstransforms3d .mb-panel > .mb-panel-inner.mb-content-open > .mb-panel-content {
  left: 0;
}
.no-csstransforms3d .mb-panel > .mb-panel-inner.mb-content-open > .mb-panel-list {
  position: relative;
  visibility: hidden;
  z-index: -1;
}
/* ========================================================================
   Component: chart-flot.less
 ========================================================================== */
flot {
  display: block;
  width: 100%;
}
flot .legend > table {
  top: 0 !important;
}
flot .legend > table tr td {
  padding: 3px;
}
flot .legend > table tr td:first-child {
  padding-left: 3px;
}
flot .legend > table tr td:last-child {
  padding-right: 3px;
}
flot .legend > table tr + tr td {
  padding-top: 0;
}
flot .legend > div:first-child {
  border-color: rgba(0, 0, 0, 0.1) !important;
}
flot .legend .legendColorBox > div {
  border-radius: 50%;
  padding: 0 !important;
}
flot .legend .legendColorBox > div > div {
  width: 5px !important;
  border-width: 6px !important;
  opacity: .35;
  border-radius: 50%;
}
.flot-chart-content {
  width: 100%;
  height: 100%;
}
.flot-pie-label {
  padding: 3px 5px;
  font-size: 10px;
  text-align: center;
  color: #fff;
}
#flotTip {
  position: relative;
  padding: 5px;
  font-size: 12px !important;
  border-radius: 2px !important;
  border-color: transparent !important;
  background-color: rgba(0, 0, 0, 0.75) !important;
  color: #f1f1f1;
  z-index: 5;
}
/* ========================================================================
   Component: form-extras.less
 ========================================================================== */
/**
 * Custom form element
 *    - Rounded inputs
 */
.form-control-rounded {
  border-radius: 100px;
}
.form-control-feedback {
  top: 10px;
}
.input-sm + .form-control-feedback {
  top: 0;
}
.input-md {
  width: 260px;
}
/* ========================================================================
   Component: form-validation.less
 ========================================================================== */
.form-validate .form-control.ng-dirty.ng-invalid {
  border-color: #eb615f;
}
.form-validate .form-control.ng-dirty.ng-valid,
.form-validate .form-control.ng-dirty.ng-valid:focus {
  border-color: #88bf57;
}
/* ========================================================================
   Component: form-wizard.less
 ========================================================================== */
.steps-bar {
  margin-bottom: 30px;
  overflow: hidden;
  counter-reset: step;
  display: table;
  table-layout: fixed;
  width: 100%;
}
.steps-bar > li {
  display: table-cell;
  list-style-type: none;
  text-transform: uppercase;
  font-size: 10px;
  position: relative;
  text-align: center;
  /* paint the steps progress */
}
.steps-bar > li > span {
  cursor: pointer;
}
.steps-bar > li:before {
  content: counter(step);
  position: relative;
  counter-increment: step;
  width: 30px;
  line-height: 30px;
  display: block;
  font-size: 14px;
  color: #333;
  background: white;
  border-radius: 3px;
  margin: 0 auto 5px auto;
  z-index: 2;
}
.steps-bar > li:after {
  content: '';
  width: 0;
  height: 2px;
  background: white;
  position: absolute;
  left: -50%;
  top: 14px;
  z-index: 1;
  /*put it behind the numbers*/
  -webkit-transition: width 0.3s ease-out;
  -o-transition: width 0.3s ease-out;
  transition: width 0.3s ease-out;
}
.steps-bar > li:first-child:after {
  content: none;
}
.steps-bar > li.active:before,
.steps-bar > li.active:after {
  background: #43a8eb;
  color: white;
}
.steps-bar > li.active:after {
  width: 100%;
}
/* ========================================================================
   Component: form-switch.less
 ========================================================================== */
/**
 * Custom form elements
 *    - Switch
 */
.switch .form-control {
  padding-top: 7px;
  margin-bottom: 0;
}
.switch * {
  cursor: pointer;
}
.switch input {
  opacity: 0;
  position: absolute;
  z-index: -1;
}
.switch span {
  position: relative;
  display: inline-block;
  width: 40px;
  height: 20px;
  background-color: transparent;
  border-radius: 100px;
  transition: all .5s;
  box-shadow: 1px 1px 5px rgba(0, 0, 0, 0.25) inset;
}
.switch span:after {
  content: "";
  position: absolute;
  background-color: #fff;
  top: 1px;
  left: 0;
  height: 18px;
  width: 18px;
  border: 1px solid #ddd;
  border-radius: 400px;
  box-shadow: 1px 1px 3px rgba(0, 0, 0, 0.4);
  -webkit-transition: all .2s;
}
.switch.switch-lg span {
  width: 50px;
  height: 25px;
}
.switch.switch-lg span:after {
  height: 23px;
  width: 23px;
}
.switch.switch-sm span {
  width: 30px;
  height: 15px;
}
.switch.switch-sm span:after {
  height: 13px;
  width: 13px;
}
.switch input:checked + span {
  background-color: #43a8eb;
  border-color: #43a8eb;
  transition: all .5s;
}
.switch input:checked + span:after {
  left: 50%;
  transition: all .2s;
}
.switch-primary.switch input:checked + span {
  background-color: #43a8eb;
  border-color: #43a8eb;
}
.switch-success.switch input:checked + span {
  background-color: #88bf57;
  border-color: #88bf57;
}
.switch-info.switch input:checked + span {
  background-color: #8293b9;
  border-color: #8293b9;
}
.switch-warning.switch input:checked + span {
  background-color: #fdaf40;
  border-color: #fdaf40;
}
.switch-danger.switch input:checked + span {
  background-color: #eb615f;
  border-color: #eb615f;
}
.switch-inverse.switch input:checked + span {
  background-color: #363c47;
  border-color: #363c47;
}
.switch-turquoise.switch input:checked + span {
  background-color: #2fc8a6;
  border-color: #2fc8a6;
}
.switch-pink.switch input:checked + span {
  background-color: #f963bc;
  border-color: #f963bc;
}
.switch-purple.switch input:checked + span {
  background-color: #c29eff;
  border-color: #c29eff;
}
.switch-orange.switch input:checked + span {
  background-color: #f57035;
  border-color: #f57035;
}
/* ========================================================================
   Component: form-input.less
 ========================================================================== */
/**
 * Custom form elements
 *    - Checkbox 
 *    - Radios
 */
.c-checkbox,
.c-radio {
  margin-right: 4px;
}
.c-checkbox *,
.c-radio * {
  cursor: pointer;
}
.c-checkbox input,
.c-radio input {
  opacity: 0;
  position: absolute;
  margin-left: 0 !important;
}
.c-checkbox span,
.c-radio span {
  position: relative;
  display: inline-block;
  vertical-align: top;
  margin-left: -20px;
  width: 20px;
  height: 20px;
  border-radius: 2px;
  border: 1px solid #ccc;
  margin-right: 5px;
  text-align: center;
}
.c-checkbox span:before,
.c-radio span:before {
  margin-left: 1px;
  color: #fff;
}
.c-checkbox:hover span,
.c-radio:hover span {
  border-color: #43a8eb;
}
.form-inline .c-checkbox span,
.form-inline .c-radio span {
  margin-left: 0;
}
.c-checkbox.c-checkbox-rounded span,
.c-radio.c-checkbox-rounded span,
.c-checkbox.c-radio-rounded span,
.c-radio.c-radio-rounded span {
  border-radius: 500px;
}
/* override for radio */
.c-radio span {
  border-radius: 500px;
}
/* the icon */
.c-checkbox span:before,
.c-radio span:before {
  position: absolute;
  top: 0;
  left: -1px;
  right: 0;
  bottom: 0;
  opacity: 0;
  -webkit-transform: scale(0.2);
  -ms-transform: scale(0.2);
  -o-transform: scale(0.2);
  transform: scale(0.2);
  text-align: center !important;
  font-size: 12px;
  line-height: 19px;
  vertical-align: middle;
}
/* Checked state */
.c-checkbox,
.c-radio {
  /* override for radio */
  /* Disable state */
  /* override for radio */
}
.c-checkbox input[type=checkbox]:checked + span:before,
.c-radio input[type=checkbox]:checked + span:before,
.c-checkbox input[type=radio]:checked + span:before,
.c-radio input[type=radio]:checked + span:before {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  -o-transform: scale(1);
  transform: scale(1);
  -webkit-transition: -webkit-transform 0.2s ease-out;
  -moz-transition: -moz-transform 0.2s ease-out;
  -o-transition: -o-transform 0.2s ease-out;
  transition: transform 0.2s ease-out;
}
.c-checkbox input[type=checkbox]:checked + span,
.c-radio input[type=checkbox]:checked + span,
.c-checkbox input[type=radio]:checked + span,
.c-radio input[type=radio]:checked + span {
  border-color: #43a8eb;
  background-color: #43a8eb;
}
.c-checkbox input[type=radio]:checked + span,
.c-radio input[type=radio]:checked + span {
  background-color: #fff;
}
.c-checkbox input[type=radio]:checked + span:before,
.c-radio input[type=radio]:checked + span:before {
  color: #43a8eb;
}
.c-checkbox input[type=checkbox]:disabled + span,
.c-radio input[type=checkbox]:disabled + span,
.c-checkbox input[type=radio]:disabled + span,
.c-radio input[type=radio]:disabled + span {
  border-color: #dddddd !important;
  background-color: #dddddd !important;
}
.c-checkbox input[type=radio]:disabled + span,
.c-radio input[type=radio]:disabled + span {
  background-color: #fff !important;
}
.c-checkbox input[type=radio]:disabled + span:before,
.c-radio input[type=radio]:disabled + span:before {
  color: #dddddd;
}
/* ========================================================================
   Component: table-extras.less
 ========================================================================== */
.table > thead > tr > th {
  padding: 14px 8px;
  color: #888;
}
.table > tbody > tr > td {
  vertical-align: middle;
}
.table > tbody > tr > td > .media img {
  width: 36px;
  height: 36px;
  margin: 0 auto;
}
.table .checkbox {
  margin: 0 auto;
  width: 20px;
}
.table .progress {
  margin-bottom: 0;
}
.table .radial-bar {
  margin-bottom: 0;
  margin: 0 auto;
}
.jqstooltip {
  box-sizing: content-box;
}
#table-res-1 th:nth-child(1) {
  width: 3%;
}
#table-res-1 th:nth-child(2) {
  width: 5%;
}
#table-res-1 th:nth-child(7) {
  width: 5%;
}
#table-res-1 th:nth-child(9) {
  width: 5%;
}
#table-res-2 th:nth-child(1) {
  width: 5%;
}
#table-res-2 th:nth-child(3) {
  width: 10%;
}
/* ========================================================================
   Component: table-ngtable.less
 ========================================================================== */
body .ng-table th.sortable.sort-desc,
body .ng-table th.sortable.sort-asc {
  background-color: #fff;
  text-shadow: 0 0 0 rgba(255, 255, 255, 0);
}
body .ng-table th.sortable div:after,
body .ng-table th.sortable div:before {
  border-color: #515d6e transparent;
}
body .ng-table th.sortable div:before {
  border-top-color: #515d6e;
}
body .ng-table th.sortable.sort-desc div:after {
  border-top-color: #515d6e;
}
body [ng-table-pagination] {
  padding: 15px 5px;
}
body [ng-table-pagination] .ng-table-pagination {
  margin: 0;
}
body .ng-table .plus,
body .ng-table .minus {
  font-weight: bold;
  padding-left: 18px;
  position: relative;
}
body .ng-table .plus:before,
body .ng-table .minus:before {
  content: "";
  border-width: 4px;
  border-style: solid;
  left: 8px;
  top: 50%;
  position: absolute;
  margin-top: -2px;
}
body .ng-table .plus {
  color: green;
}
body .ng-table .plus:before {
  border-color: green;
  border-top: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}
body .ng-table .minus {
  color: red;
}
body .ng-table .minus:before {
  border-color: red;
  border-bottom: none;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
}
body .ng-table-rowselected tr {
  cursor: pointer;
}
body .ng-table-pager:before,
body .ng-table-pager:after {
  content: " ";
  display: table;
}
body .ng-table-pager:after {
  clear: both;
}
body .ng-table-pager:before,
body .ng-table-pager:after {
  content: " ";
  display: table;
}
body .ng-table-pager:after {
  clear: both;
}
/* ========================================================================
   Component: plugins.less
   - User this stylesheet to include single css styles and fixes 
     for plugins
 ========================================================================== */
/**
 * Bootstrap Slider
 */
body .slider-handle,
body .slider-track,
body .slider-selection {
  background-image: none;
  box-shadow: 0 0 0 #000;
}
body .slider-handle {
  background-color: #fff;
  border: 1px solid #43a8eb;
  box-shadow: 0 0 3px #43a8eb inset;
  opacity: 1;
}
body .slider-track {
  background-color: #fff;
  border: 1px solid #43a8eb;
}
body .slider-selection {
  background-color: #43a8eb;
}
body .slider .tooltip.top .tooltip-arrow {
  border-top-color: #2c3037;
}
body .slider .tooltip.right .tooltip-arrow {
  border-right-color: #2c3037;
}
body .slider .tooltip-inner {
  background-color: #2c3037;
}
body .slider.slider-vertical .slider-track {
  width: 6px;
}
body .slider.slider-vertical .slider-handle {
  margin-left: -8px;
}
body .slider.slider-horizontal .slider-handle {
  margin-top: -8px;
}
body .slider.slider-horizontal .slider-track {
  height: 6px;
}
body .slider-lg {
  width: 380px;
}
body .chosen-container-multi .chosen-choices {
  display: block;
  width: 100%;
  height: 37px;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dbd9d9;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  padding-left: 18px;
  padding-right: 18px;
  box-shadow: 0 0 0 #000 !important;
  border-color: #dbd9d9;
}
body .chosen-container-multi .chosen-choices:focus {
  border-color: #43a8eb;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
}
body .chosen-container-multi .chosen-choices::-moz-placeholder {
  color: #b7bac9;
  opacity: 1;
}
body .chosen-container-multi .chosen-choices:-ms-input-placeholder {
  color: #b7bac9;
}
body .chosen-container-multi .chosen-choices::-webkit-input-placeholder {
  color: #b7bac9;
}
body .chosen-container-multi .chosen-choices[disabled],
body .chosen-container-multi .chosen-choices[readonly],
fieldset[disabled] body .chosen-container-multi .chosen-choices {
  background-color: #f4f5f5;
  opacity: 1;
}
body .chosen-container-multi .chosen-choices[disabled],
fieldset[disabled] body .chosen-container-multi .chosen-choices {
  cursor: not-allowed;
}
textareabody .chosen-container-multi .chosen-choices {
  height: auto;
}
body .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  height: auto;
  padding: 0;
}
body .chosen-container-multi .chosen-choices li.search-choice {
  margin: 0 5px 3px 0;
  background-color: #f5f6f7;
  border: 1px solid #e7e9ec;
  background-image: none;
}
body .chosen-container .chosen-results li.highlighted {
  background-color: #a1a2a3;
  background-image: none;
}
body .chosen-container .chosen-drop {
  border-color: #ddd;
}
body .chosen-container .chosen-results li.group-result {
  color: #747576;
  letter-spacing: 0.02em;
}
body .chosen-container-single .chosen-single,
body .chosen-container-active.chosen-with-drop .chosen-single {
  display: block;
  width: 100%;
  height: 37px;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  color: #515d6e;
  background-color: #ffffff;
  background-image: none;
  border: 1px solid #dbd9d9;
  border-radius: 2px;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  padding-left: 18px;
  padding-right: 18px;
  box-shadow: 0 0 0 #000 !important;
  border-color: #dbd9d9;
}
body .chosen-container-single .chosen-single:focus,
body .chosen-container-active.chosen-with-drop .chosen-single:focus {
  border-color: #43a8eb;
  outline: 0;
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(67, 168, 235, 0.6);
}
body .chosen-container-single .chosen-single::-moz-placeholder,
body .chosen-container-active.chosen-with-drop .chosen-single::-moz-placeholder {
  color: #b7bac9;
  opacity: 1;
}
body .chosen-container-single .chosen-single:-ms-input-placeholder,
body .chosen-container-active.chosen-with-drop .chosen-single:-ms-input-placeholder {
  color: #b7bac9;
}
body .chosen-container-single .chosen-single::-webkit-input-placeholder,
body .chosen-container-active.chosen-with-drop .chosen-single::-webkit-input-placeholder {
  color: #b7bac9;
}
body .chosen-container-single .chosen-single[disabled],
body .chosen-container-active.chosen-with-drop .chosen-single[disabled],
body .chosen-container-single .chosen-single[readonly],
body .chosen-container-active.chosen-with-drop .chosen-single[readonly],
fieldset[disabled] body .chosen-container-single .chosen-single,
fieldset[disabled] body .chosen-container-active.chosen-with-drop .chosen-single {
  background-color: #f4f5f5;
  opacity: 1;
}
body .chosen-container-single .chosen-single[disabled],
body .chosen-container-active.chosen-with-drop .chosen-single[disabled],
fieldset[disabled] body .chosen-container-single .chosen-single,
fieldset[disabled] body .chosen-container-active.chosen-with-drop .chosen-single {
  cursor: not-allowed;
}
textareabody .chosen-container-single .chosen-single,
textareabody .chosen-container-active.chosen-with-drop .chosen-single {
  height: auto;
}
body .chosen-container-single .chosen-drop {
  margin-top: -3px;
}
body .chosen-container-single .chosen-single div {
  top: 6px;
  right: 5px;
}
body .chosen-container-multi .chosen-choices li.search-field input[type=text] {
  color: #b7bac9;
}
/* ========================================================================
   Component: slim-scroll.less
 ========================================================================== */
scrollable {
  display: block;
}
.slimScrollBar {
  opacity: 0 !important;
  background-color: rgba(0, 0, 0, 0.35) !important;
  border: 0 !important;
  border-radius: 1px !important;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}
.slimScrollDiv:hover .slimScrollBar {
  opacity: 0.4 !important;
}
.slimScrollRail {
  opacity: 1 !important;
  background-color: rgba(0, 0, 0, 0.15) !important;
  border: 0 !important;
  border-radius: 0 !important;
  bottom: 0;
}
/* ========================================================================
   Component: datepicker.less
 ========================================================================== */
[datepicker-popup] + ul .btn-info > span {
  color: #fff;
}
.datepicker {
  max-width: 100%;
  overflow-y: auto;
}
.datepicker table {
  width: 100%;
}
.time-picker .form-control {
  padding: 4px;
}
/* ========================================================================
   Component: alerts.less
 ========================================================================== */
.alerts {
  position: fixed;
  top: 60px;
  left: 60px;
  z-index: 9090;
  width: 350px;
  left: auto;
  right: 60px;
}
.alerts:hover .alert .close {
  opacity: 1;
  visibility: visible;
}
.alerts-top-right,
.alerts-bottom-right {
  left: auto;
  right: 60px;
}
.alerts-top-center,
.alerts-bottom-center {
  left: 50%;
  margin-left: -175px;
}
.alerts-bottom-left,
.alerts-bottom-right,
.alerts-bottom-center {
  top: auto;
  bottom: 60px;
}
@media (max-width: 480px) {
  .alerts {
    left: 10px;
    right: 10px;
    width: auto;
    margin: 0;
  }
}
/* ========================================================================
   Component: toaster.less
 ========================================================================== */
body #toast-container {
  top: 65px !important;
}
body .toast {
  background-color: #43a8eb;
}
body .toast-success {
  background-color: #88bf57;
}
body .toast-error {
  background-color: #eb615f;
}
body .toast-info {
  background-color: #8293b9;
}
body .toast-wait {
  background-color: #c29eff;
}
body .toast-warning {
  background-color: #fdaf40;
}
/* ========================================================================
   Component: gmap.less
 ========================================================================== */
.gmap {
  height: 300px;
  /* 
  Fixes Bootstrap issues with Google Maps
  see http://stackoverflow.com/a/9170756 
  */
}
.gmap img {
  max-width: none;
}
/* ========================================================================
   Component: vector-map.less
 ========================================================================== */
vector-map {
  display: block;
}
body .jvectormap-label {
  position: absolute;
  display: none;
  border: solid 1px #2b3d51;
  border-radius: 2px;
  background: #2b3d51;
  color: white;
  padding: 3px 6px;
  opacity: 0.9;
  z-index: 11;
}
body .jvectormap-zoomin,
body .jvectormap-zoomout {
  position: absolute;
  left: 10px;
  width: 22px;
  height: 22px;
  border-radius: 2px;
  background: #e6e9ee;
  padding: 5px;
  color: #a0aab2;
  cursor: pointer;
  line-height: 10px;
  text-align: center;
}
body .jvectormap-zoomin {
  top: 10px;
}
body .jvectormap-zoomout {
  top: 30px;
}
/* ========================================================================
   Component: utils-background.less
 ========================================================================== */
.bg-gray {
  background-color: #a0aab2 !important;
  color: #ffffff;
}
.bg-gray a {
  color: #e3e6e8;
}
.bg-gray a:focus,
.bg-gray a:hover {
  color: #ffffff;
}
.bg-gray .nav > li > a {
  color: #f2f2f2;
}
.bg-gray .nav > li:hover > a,
.bg-gray .nav > li.active > a {
  color: #ffffff;
}
.bg-gray .nav > li.active > a {
  background-color: #8996a0;
}
.bg-gray .sidebar-subnav {
  background-color: #95a0a9;
}
.bg-gray .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-gray .navbar-form .form-control {
  background-color: #a0aab2;
  color: #ffffff;
}
.bg-gray .navbar-form .form-control::-moz-placeholder {
  color: #e9eced;
  opacity: 1;
}
.bg-gray .navbar-form .form-control:-ms-input-placeholder {
  color: #e9eced;
}
.bg-gray .navbar-form .form-control::-webkit-input-placeholder {
  color: #e9eced;
}
.ie9 .bg-gray .navbar-form .form-control {
  border-bottom: 1px solid rgba(233, 236, 237, 0.15);
}
.bg-gray .navbar-form .form-control-feedback,
.bg-gray .navbar-form .input-group-addon {
  color: #e9eced;
}
.bg-gray .text-muted {
  color: #e9eced;
}
.bg-gray .text-loud {
  color: #ffffff;
}
.bg-gray small {
  color: inherit;
}
@media print {
  .bg-gray {
    color: #000 !important;
  }
}
.bg-gray-darker {
  background-color: #2b3d51 !important;
  color: #92aac5;
}
.bg-gray-darker a {
  color: #889aad;
}
.bg-gray-darker a:focus,
.bg-gray-darker a:hover {
  color: #b0c2d5;
}
.bg-gray-darker .nav > li > a {
  color: #9fb5cc;
}
.bg-gray-darker .nav > li:hover > a,
.bg-gray-darker .nav > li.active > a {
  color: #c1cfde;
}
.bg-gray-darker .nav > li.active > a {
  background-color: #1d2936;
}
.bg-gray-darker .sidebar-subnav {
  background-color: #243344;
}
.bg-gray-darker .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-gray-darker .navbar-form .form-control {
  background-color: #2b3d51;
  color: #92aac5;
}
.bg-gray-darker .navbar-form .form-control::-moz-placeholder {
  color: #597ea7;
  opacity: 1;
}
.bg-gray-darker .navbar-form .form-control:-ms-input-placeholder {
  color: #597ea7;
}
.bg-gray-darker .navbar-form .form-control::-webkit-input-placeholder {
  color: #597ea7;
}
.ie9 .bg-gray-darker .navbar-form .form-control {
  border-bottom: 1px solid rgba(89, 126, 167, 0.15);
}
.bg-gray-darker .navbar-form .form-control-feedback,
.bg-gray-darker .navbar-form .input-group-addon {
  color: #597ea7;
}
.bg-gray-darker .text-muted {
  color: #597ea7;
}
.bg-gray-darker .text-loud {
  color: #b0c2d5;
}
.bg-gray-darker small {
  color: inherit;
}
@media print {
  .bg-gray-darker {
    color: #000 !important;
  }
}
.bg-gray-dark {
  background-color: #515d6e !important;
  color: #c6ccd5;
}
.bg-gray-dark a {
  color: #b5bbc4;
}
.bg-gray-dark a:focus,
.bg-gray-dark a:hover {
  color: #e0e3e8;
}
.bg-gray-dark .nav > li > a {
  color: #d1d6dd;
}
.bg-gray-dark .nav > li:hover > a,
.bg-gray-dark .nav > li.active > a {
  color: #eff0f3;
}
.bg-gray-dark .nav > li.active > a {
  background-color: #404957;
}
.bg-gray-dark .sidebar-subnav {
  background-color: #485362;
}
.bg-gray-dark .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-gray-dark .navbar-form .form-control {
  background-color: #515d6e;
  color: #c6ccd5;
}
.bg-gray-dark .navbar-form .form-control::-moz-placeholder {
  color: #949fb0;
  opacity: 1;
}
.bg-gray-dark .navbar-form .form-control:-ms-input-placeholder {
  color: #949fb0;
}
.bg-gray-dark .navbar-form .form-control::-webkit-input-placeholder {
  color: #949fb0;
}
.ie9 .bg-gray-dark .navbar-form .form-control {
  border-bottom: 1px solid rgba(148, 159, 176, 0.15);
}
.bg-gray-dark .navbar-form .form-control-feedback,
.bg-gray-dark .navbar-form .input-group-addon {
  color: #949fb0;
}
.bg-gray-dark .text-muted {
  color: #949fb0;
}
.bg-gray-dark .text-loud {
  color: #e0e3e8;
}
.bg-gray-dark small {
  color: inherit;
}
@media print {
  .bg-gray-dark {
    color: #000 !important;
  }
}
.bg-gray-light {
  background-color: #e6e9ee !important;
  color: #585f69;
}
.bg-gray-light a {
  color: #abacae;
}
.bg-gray-light a:focus,
.bg-gray-light a:hover {
  color: #919293;
}
.bg-gray-light .nav > li > a {
  color: #848586;
}
.bg-gray-light .nav > li:hover > a,
.bg-gray-light .nav > li.active > a {
  color: #9e9fa0;
}
.bg-gray-light .nav > li.active > a {
  background-color: #ffffff;
}
.bg-gray-light .sidebar-subnav {
  background-color: #f3f4f7;
}
.bg-gray-light .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-gray-light .navbar-form .form-control {
  background-color: #e6e9ee;
  color: #585f69;
}
.bg-gray-light .navbar-form .form-control::-moz-placeholder {
  color: #a0aab2;
  opacity: 1;
}
.bg-gray-light .navbar-form .form-control:-ms-input-placeholder {
  color: #a0aab2;
}
.bg-gray-light .navbar-form .form-control::-webkit-input-placeholder {
  color: #a0aab2;
}
.ie9 .bg-gray-light .navbar-form .form-control {
  border-bottom: 1px solid rgba(160, 170, 178, 0.15);
}
.bg-gray-light .navbar-form .form-control-feedback,
.bg-gray-light .navbar-form .input-group-addon {
  color: #a0aab2;
}
.bg-gray-light .text-muted {
  color: #a0aab2;
}
.bg-gray-light .text-loud {
  color: #e9eced;
}
.bg-gray-light small {
  color: inherit;
}
@media print {
  .bg-gray-light {
    color: #000 !important;
  }
}
.bg-gray-lighter {
  background-color: #f4f5f5 !important;
  color: #585f69;
}
.bg-gray-lighter a {
  color: #afb0b0;
}
.bg-gray-lighter a:focus,
.bg-gray-lighter a:hover {
  color: #919293;
}
.bg-gray-lighter .nav > li > a {
  color: #848586;
}
.bg-gray-lighter .nav > li:hover > a,
.bg-gray-lighter .nav > li.active > a {
  color: #9e9fa0;
}
.bg-gray-lighter .nav > li.active > a {
  background-color: #ffffff;
}
.bg-gray-lighter .sidebar-subnav {
  background-color: #fafafa;
}
.bg-gray-lighter .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-gray-lighter .navbar-form .form-control {
  background-color: #f4f5f5;
  color: #585f69;
}
.bg-gray-lighter .navbar-form .form-control::-moz-placeholder {
  color: #a0aab2;
  opacity: 1;
}
.bg-gray-lighter .navbar-form .form-control:-ms-input-placeholder {
  color: #a0aab2;
}
.bg-gray-lighter .navbar-form .form-control::-webkit-input-placeholder {
  color: #a0aab2;
}
.ie9 .bg-gray-lighter .navbar-form .form-control {
  border-bottom: 1px solid rgba(160, 170, 178, 0.15);
}
.bg-gray-lighter .navbar-form .form-control-feedback,
.bg-gray-lighter .navbar-form .input-group-addon {
  color: #a0aab2;
}
.bg-gray-lighter .text-muted {
  color: #a0aab2;
}
.bg-gray-lighter .text-loud {
  color: #e9eced;
}
.bg-gray-lighter small {
  color: inherit;
}
@media print {
  .bg-gray-lighter {
    color: #000 !important;
  }
}
.bg-white {
  background-color: #ffffff !important;
  color: #585f69;
}
.bg-white a {
  color: #858e9a;
}
.bg-white a:focus,
.bg-white a:hover {
  color: #515d6e;
}
.bg-white .nav > li > a {
  color: #46515f;
}
.bg-white .nav > li:hover > a,
.bg-white .nav > li.active > a {
  color: #5c697d;
}
.bg-white .nav > li.active > a {
  background-color: #f1f2f3;
}
.bg-white .sidebar-subnav {
  background-color: #f8f9f9;
}
.bg-white .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-white .navbar-form .form-control {
  background-color: #ffffff;
  color: #585f69;
}
.bg-white .navbar-form .form-control::-moz-placeholder {
  color: #8394a9;
  opacity: 1;
}
.bg-white .navbar-form .form-control:-ms-input-placeholder {
  color: #8394a9;
}
.bg-white .navbar-form .form-control::-webkit-input-placeholder {
  color: #8394a9;
}
.ie9 .bg-white .navbar-form .form-control {
  border-bottom: 1px solid rgba(131, 148, 169, 0.15);
}
.bg-white .navbar-form .form-control-feedback,
.bg-white .navbar-form .input-group-addon {
  color: #8394a9;
}
.bg-white .text-muted {
  color: #8394a9;
}
.bg-white .text-loud {
  color: #d1d8df;
}
.bg-white small {
  color: inherit;
}
@media print {
  .bg-white {
    color: #000 !important;
  }
}
.bg-primary {
  background-color: #43a8eb !important;
  color: #ffffff;
}
.bg-primary a {
  color: #c7e5f9;
}
.bg-primary a:focus,
.bg-primary a:hover {
  color: #ffffff;
}
.bg-primary .nav > li > a {
  color: #f2f2f2;
}
.bg-primary .nav > li:hover > a,
.bg-primary .nav > li.active > a {
  color: #ffffff;
}
.bg-primary .nav > li.active > a {
  background-color: #1e97e7;
}
.bg-primary .sidebar-subnav {
  background-color: #319fe9;
}
.bg-primary .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-primary .navbar-form .form-control {
  background-color: #43a8eb;
  color: #ffffff;
}
.bg-primary .navbar-form .form-control::-moz-placeholder {
  color: #bbdff8;
  opacity: 1;
}
.bg-primary .navbar-form .form-control:-ms-input-placeholder {
  color: #bbdff8;
}
.bg-primary .navbar-form .form-control::-webkit-input-placeholder {
  color: #bbdff8;
}
.ie9 .bg-primary .navbar-form .form-control {
  border-bottom: 1px solid rgba(187, 223, 248, 0.15);
}
.bg-primary .navbar-form .form-control-feedback,
.bg-primary .navbar-form .input-group-addon {
  color: #bbdff8;
}
.bg-primary .text-muted {
  color: #bbdff8;
}
.bg-primary .text-loud {
  color: #ffffff;
}
.bg-primary small {
  color: inherit;
}
@media print {
  .bg-primary {
    color: #000 !important;
  }
}
.bg-primary.bg-light {
  background-color: #5fb5ee !important;
}
.bg-primary.bg-dark {
  background-color: #279be8 !important;
}
.bg-success {
  background-color: #88bf57 !important;
  color: #f8fbf6;
}
.bg-success a {
  color: #dbeccd;
}
.bg-success a:focus,
.bg-success a:hover {
  color: #ffffff;
}
.bg-success .nav > li > a {
  color: #f2f2f2;
}
.bg-success .nav > li:hover > a,
.bg-success .nav > li.active > a {
  color: #ffffff;
}
.bg-success .nav > li.active > a {
  background-color: #74ac41;
}
.bg-success .sidebar-subnav {
  background-color: #7eb54c;
}
.bg-success .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-success .navbar-form .form-control {
  background-color: #88bf57;
  color: #f8fbf6;
}
.bg-success .navbar-form .form-control::-moz-placeholder {
  color: #cce4b7;
  opacity: 1;
}
.bg-success .navbar-form .form-control:-ms-input-placeholder {
  color: #cce4b7;
}
.bg-success .navbar-form .form-control::-webkit-input-placeholder {
  color: #cce4b7;
}
.ie9 .bg-success .navbar-form .form-control {
  border-bottom: 1px solid rgba(204, 228, 183, 0.15);
}
.bg-success .navbar-form .form-control-feedback,
.bg-success .navbar-form .input-group-addon {
  color: #cce4b7;
}
.bg-success .text-muted {
  color: #cce4b7;
}
.bg-success .text-loud {
  color: #ffffff;
}
.bg-success small {
  color: inherit;
}
@media print {
  .bg-success {
    color: #000 !important;
  }
}
.bg-success.bg-light {
  background-color: #98c76d !important;
}
.bg-success.bg-dark {
  background-color: #79b344 !important;
}
.bg-info {
  background-color: #8293b9 !important;
  color: #ffffff;
}
.bg-info a {
  color: #dadfea;
}
.bg-info a:focus,
.bg-info a:hover {
  color: #ffffff;
}
.bg-info .nav > li > a {
  color: #f2f2f2;
}
.bg-info .nav > li:hover > a,
.bg-info .nav > li.active > a {
  color: #ffffff;
}
.bg-info .nav > li.active > a {
  background-color: #687caa;
}
.bg-info .sidebar-subnav {
  background-color: #7588b2;
}
.bg-info .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-info .navbar-form .form-control {
  background-color: #8293b9;
  color: #ffffff;
}
.bg-info .navbar-form .form-control::-moz-placeholder {
  color: #d7dce9;
  opacity: 1;
}
.bg-info .navbar-form .form-control:-ms-input-placeholder {
  color: #d7dce9;
}
.bg-info .navbar-form .form-control::-webkit-input-placeholder {
  color: #d7dce9;
}
.ie9 .bg-info .navbar-form .form-control {
  border-bottom: 1px solid rgba(215, 220, 233, 0.15);
}
.bg-info .navbar-form .form-control-feedback,
.bg-info .navbar-form .input-group-addon {
  color: #d7dce9;
}
.bg-info .text-muted {
  color: #d7dce9;
}
.bg-info .text-loud {
  color: #ffffff;
}
.bg-info small {
  color: inherit;
}
@media print {
  .bg-info {
    color: #000 !important;
  }
}
.bg-info.bg-light {
  background-color: #96a4c4 !important;
}
.bg-info.bg-dark {
  background-color: #6e82ae !important;
}
.bg-warning {
  background-color: #fdaf40 !important;
  color: #ffffff;
}
.bg-warning a {
  color: #fee7c6;
}
.bg-warning a:focus,
.bg-warning a:hover {
  color: #ffffff;
}
.bg-warning .nav > li > a {
  color: #e5e5ff;
}
.bg-warning .nav > li:hover > a,
.bg-warning .nav > li.active > a {
  color: #ffffff;
}
.bg-warning .nav > li.active > a {
  background-color: #fd9e18;
}
.bg-warning .sidebar-subnav {
  background-color: #fda72c;
}
.bg-warning .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-warning .navbar-form .form-control {
  background-color: #fdaf40;
  color: #ffffff;
}
.bg-warning .navbar-form .form-control::-moz-placeholder {
  color: #fee6c3;
  opacity: 1;
}
.bg-warning .navbar-form .form-control:-ms-input-placeholder {
  color: #fee6c3;
}
.bg-warning .navbar-form .form-control::-webkit-input-placeholder {
  color: #fee6c3;
}
.ie9 .bg-warning .navbar-form .form-control {
  border-bottom: 1px solid rgba(254, 230, 195, 0.15);
}
.bg-warning .navbar-form .form-control-feedback,
.bg-warning .navbar-form .input-group-addon {
  color: #fee6c3;
}
.bg-warning .text-muted {
  color: #fee6c3;
}
.bg-warning .text-loud {
  color: #ffffff;
}
.bg-warning small {
  color: inherit;
}
@media print {
  .bg-warning {
    color: #000 !important;
  }
}
.bg-warning.bg-light {
  background-color: #fdbc5e !important;
}
.bg-warning.bg-dark {
  background-color: #fda222 !important;
}
.bg-danger {
  background-color: #eb615f !important;
  color: #ffffff;
}
.bg-danger a {
  color: #f9d0cf;
}
.bg-danger a:focus,
.bg-danger a:hover {
  color: #ffffff;
}
.bg-danger .nav > li > a {
  color: #f2f2f2;
}
.bg-danger .nav > li:hover > a,
.bg-danger .nav > li.active > a {
  color: #ffffff;
}
.bg-danger .nav > li.active > a {
  background-color: #e63d3b;
}
.bg-danger .sidebar-subnav {
  background-color: #e94f4d;
}
.bg-danger .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-danger .navbar-form .form-control {
  background-color: #eb615f;
  color: #ffffff;
}
.bg-danger .navbar-form .form-control::-moz-placeholder {
  color: #fad5d5;
  opacity: 1;
}
.bg-danger .navbar-form .form-control:-ms-input-placeholder {
  color: #fad5d5;
}
.bg-danger .navbar-form .form-control::-webkit-input-placeholder {
  color: #fad5d5;
}
.ie9 .bg-danger .navbar-form .form-control {
  border-bottom: 1px solid rgba(250, 213, 213, 0.15);
}
.bg-danger .navbar-form .form-control-feedback,
.bg-danger .navbar-form .input-group-addon {
  color: #fad5d5;
}
.bg-danger .text-muted {
  color: #fad5d5;
}
.bg-danger .text-loud {
  color: #ffffff;
}
.bg-danger small {
  color: inherit;
}
@media print {
  .bg-danger {
    color: #000 !important;
  }
}
.bg-danger.bg-light {
  background-color: #ee7c7a !important;
}
.bg-danger.bg-dark {
  background-color: #e84644 !important;
}
.bg-turquoise {
  background-color: #2fc8a6 !important;
  color: #dcf7f1;
}
.bg-turquoise a {
  color: #c1efe4;
}
.bg-turquoise a:focus,
.bg-turquoise a:hover {
  color: #ffffff;
}
.bg-turquoise .nav > li > a {
  color: #f2f2f2;
}
.bg-turquoise .nav > li:hover > a,
.bg-turquoise .nav > li.active > a {
  color: #ffffff;
}
.bg-turquoise .nav > li.active > a {
  background-color: #27a78b;
}
.bg-turquoise .sidebar-subnav {
  background-color: #2bb798;
}
.bg-turquoise .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-turquoise .navbar-form .form-control {
  background-color: #2fc8a6;
  color: #dcf7f1;
}
.bg-turquoise .navbar-form .form-control::-moz-placeholder {
  color: #95e6d4;
  opacity: 1;
}
.bg-turquoise .navbar-form .form-control:-ms-input-placeholder {
  color: #95e6d4;
}
.bg-turquoise .navbar-form .form-control::-webkit-input-placeholder {
  color: #95e6d4;
}
.ie9 .bg-turquoise .navbar-form .form-control {
  border-bottom: 1px solid rgba(149, 230, 212, 0.15);
}
.bg-turquoise .navbar-form .form-control-feedback,
.bg-turquoise .navbar-form .input-group-addon {
  color: #95e6d4;
}
.bg-turquoise .text-muted {
  color: #95e6d4;
}
.bg-turquoise .text-loud {
  color: #ffffff;
}
.bg-turquoise small {
  color: inherit;
}
@media print {
  .bg-turquoise {
    color: #000 !important;
  }
}
.bg-turquoise.bg-light {
  background-color: #43d3b3 !important;
}
.bg-turquoise.bg-dark {
  background-color: #29af91 !important;
}
.bg-pink {
  background-color: #f963bc !important;
  color: #ffffff;
}
.bg-pink a {
  color: #fdd0eb;
}
.bg-pink a:focus,
.bg-pink a:hover {
  color: #ffffff;
}
.bg-pink .nav > li > a {
  color: #f2f2f2;
}
.bg-pink .nav > li:hover > a,
.bg-pink .nav > li.active > a {
  color: #ffffff;
}
.bg-pink .nav > li.active > a {
  background-color: #f73cab;
}
.bg-pink .sidebar-subnav {
  background-color: #f84fb4;
}
.bg-pink .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-pink .navbar-form .form-control {
  background-color: #f963bc;
  color: #ffffff;
}
.bg-pink .navbar-form .form-control::-moz-placeholder {
  color: #fee3f3;
  opacity: 1;
}
.bg-pink .navbar-form .form-control:-ms-input-placeholder {
  color: #fee3f3;
}
.bg-pink .navbar-form .form-control::-webkit-input-placeholder {
  color: #fee3f3;
}
.ie9 .bg-pink .navbar-form .form-control {
  border-bottom: 1px solid rgba(254, 227, 243, 0.15);
}
.bg-pink .navbar-form .form-control-feedback,
.bg-pink .navbar-form .input-group-addon {
  color: #fee3f3;
}
.bg-pink .text-muted {
  color: #fee3f3;
}
.bg-pink .text-loud {
  color: #ffffff;
}
.bg-pink small {
  color: inherit;
}
@media print {
  .bg-pink {
    color: #000 !important;
  }
}
.bg-pink.bg-light {
  background-color: #fa80c9 !important;
}
.bg-pink.bg-dark {
  background-color: #f846af !important;
}
.bg-purple {
  background-color: #c29eff !important;
  color: #ffffff;
}
.bg-purple a {
  color: #ede2ff;
}
.bg-purple a:focus,
.bg-purple a:hover {
  color: #ffffff;
}
.bg-purple .nav > li > a {
  color: #f2f2f2;
}
.bg-purple .nav > li:hover > a,
.bg-purple .nav > li.active > a {
  color: #ffffff;
}
.bg-purple .nav > li.active > a {
  background-color: #a875ff;
}
.bg-purple .sidebar-subnav {
  background-color: #b58aff;
}
.bg-purple .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-purple .navbar-form .form-control {
  background-color: #c29eff;
  color: #ffffff;
}
.bg-purple .navbar-form .form-control::-moz-placeholder {
  color: #ffffff;
  opacity: 1;
}
.bg-purple .navbar-form .form-control:-ms-input-placeholder {
  color: #ffffff;
}
.bg-purple .navbar-form .form-control::-webkit-input-placeholder {
  color: #ffffff;
}
.ie9 .bg-purple .navbar-form .form-control {
  border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}
.bg-purple .navbar-form .form-control-feedback,
.bg-purple .navbar-form .input-group-addon {
  color: #ffffff;
}
.bg-purple .text-muted {
  color: #ffffff;
}
.bg-purple .text-loud {
  color: #ffffff;
}
.bg-purple small {
  color: inherit;
}
@media print {
  .bg-purple {
    color: #000 !important;
  }
}
.bg-purple.bg-light {
  background-color: #d5bdff !important;
}
.bg-purple.bg-dark {
  background-color: #af7fff !important;
}
.bg-inverse {
  background-color: #363c47 !important;
  color: #a1a9b7;
}
.bg-inverse a {
  color: #9399a4;
}
.bg-inverse a:focus,
.bg-inverse a:hover {
  color: #bbc1cb;
}
.bg-inverse .nav > li > a {
  color: #acb3c0;
}
.bg-inverse .nav > li:hover > a,
.bg-inverse .nav > li.active > a {
  color: #c9ced6;
}
.bg-inverse .nav > li.active > a {
  background-color: #242830;
}
.bg-inverse .sidebar-subnav {
  background-color: #2d323b;
}
.bg-inverse .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-inverse .navbar-form .form-control {
  background-color: #363c47;
  color: #a1a9b7;
}
.bg-inverse .navbar-form .form-control::-moz-placeholder {
  color: #707c92;
  opacity: 1;
}
.bg-inverse .navbar-form .form-control:-ms-input-placeholder {
  color: #707c92;
}
.bg-inverse .navbar-form .form-control::-webkit-input-placeholder {
  color: #707c92;
}
.ie9 .bg-inverse .navbar-form .form-control {
  border-bottom: 1px solid rgba(112, 124, 146, 0.15);
}
.bg-inverse .navbar-form .form-control-feedback,
.bg-inverse .navbar-form .input-group-addon {
  color: #707c92;
}
.bg-inverse .text-muted {
  color: #707c92;
}
.bg-inverse .text-loud {
  color: #bbc1cb;
}
.bg-inverse small {
  color: inherit;
}
@media print {
  .bg-inverse {
    color: #000 !important;
  }
}
.bg-inverse.bg-light {
  background-color: #434b58 !important;
}
.bg-inverse.bg-dark {
  background-color: #292d36 !important;
}
.bg-orange {
  background-color: #f57035 !important;
  color: #ffffff;
}
.bg-orange a {
  color: #fcd4c2;
}
.bg-orange a:focus,
.bg-orange a:hover {
  color: #ffffff;
}
.bg-orange .nav > li > a {
  color: #f2f2f2;
}
.bg-orange .nav > li:hover > a,
.bg-orange .nav > li.active > a {
  color: #ffffff;
}
.bg-orange .nav > li.active > a {
  background-color: #f3540e;
}
.bg-orange .sidebar-subnav {
  background-color: #f46222;
}
.bg-orange .sidebar-subnav > li.active > a {
  background-color: transparent;
}
.bg-orange .navbar-form .form-control {
  background-color: #f57035;
  color: #ffffff;
}
.bg-orange .navbar-form .form-control::-moz-placeholder {
  color: #fbc9b3;
  opacity: 1;
}
.bg-orange .navbar-form .form-control:-ms-input-placeholder {
  color: #fbc9b3;
}
.bg-orange .navbar-form .form-control::-webkit-input-placeholder {
  color: #fbc9b3;
}
.ie9 .bg-orange .navbar-form .form-control {
  border-bottom: 1px solid rgba(251, 201, 179, 0.15);
}
.bg-orange .navbar-form .form-control-feedback,
.bg-orange .navbar-form .input-group-addon {
  color: #fbc9b3;
}
.bg-orange .text-muted {
  color: #fbc9b3;
}
.bg-orange .text-loud {
  color: #ffffff;
}
.bg-orange small {
  color: inherit;
}
@media print {
  .bg-orange {
    color: #000 !important;
  }
}
.bg-orange.bg-light {
  background-color: #f68552 !important;
}
.bg-orange.bg-dark {
  background-color: #f45b18 !important;
}
/* ========================================================================
   Component: utils.less
 ========================================================================== */
.m0 {
  margin: 0 !important;
}
.ml0 {
  margin-left: 0 !important;
}
.mr0 {
  margin-right: 0 !important;
}
.mt0 {
  margin-top: 0 !important;
}
.mb0 {
  margin-bottom: 0 !important;
}
.m {
  margin: 10px !important;
}
.ml,
.mh {
  margin-left: 10px !important;
}
.mr,
.mh {
  margin-right: 10px !important;
}
.mt,
.mv {
  margin-top: 10px !important;
}
.mb,
.mv {
  margin-bottom: 10px !important;
}
.m-sm {
  margin: 5px !important;
}
.ml-sm,
.mh-sm {
  margin-left: 5px !important;
}
.mr-sm,
.mh-sm {
  margin-right: 5px !important;
}
.mt-sm,
.mv-sm {
  margin-top: 5px !important;
}
.mb-sm,
.mv-sm {
  margin-bottom: 5px !important;
}
.m-lg {
  margin: 15px !important;
}
.ml-lg,
.mh-lg {
  margin-left: 15px !important;
}
.mr-lg,
.mh-lg {
  margin-right: 15px !important;
}
.mt-lg,
.mv-lg {
  margin-top: 15px !important;
}
.mb-lg,
.mv-lg {
  margin-bottom: 15px !important;
}
.m-xl {
  margin: 30px !important;
}
.ml-xl {
  margin-left: 30px !important;
}
.mr-xl {
  margin-right: 30px !important;
}
.mt-xl {
  margin-top: 30px !important;
}
.mb-xl {
  margin-bottom: 30px !important;
}
.p0 {
  padding: 0 !important;
}
.pl0,
.ph0 {
  padding-left: 0 !important;
}
.pr0,
.ph0 {
  padding-right: 0 !important;
}
.pt0,
.pv0 {
  padding-top: 0 !important;
}
.pb0,
.pv0 {
  padding-bottom: 0 !important;
}
.p {
  padding: 10px !important;
}
.pl,
.ph {
  padding-left: 10px !important;
}
.pr,
.ph {
  padding-right: 10px !important;
}
.pt,
.pv {
  padding-top: 10px !important;
}
.pb,
.pv {
  padding-bottom: 10px !important;
}
.p-sm {
  padding: 5px !important;
}
.pl-sm,
.ph-sm {
  padding-left: 5px !important;
}
.pr-sm,
.ph-sm {
  padding-right: 5px !important;
}
.pt-sm,
.pv-sm {
  padding-top: 5px !important;
}
.pb-sm,
.pv-sm {
  padding-bottom: 5px !important;
}
.p-lg {
  padding: 15px !important;
}
.pl-lg,
.ph-lg {
  padding-left: 15px !important;
}
.pr-lg,
.ph-lg {
  padding-right: 15px !important;
}
.pt-lg,
.pv-lg {
  padding-top: 15px !important;
}
.pb-lg,
.pv-lg {
  padding-bottom: 15px !important;
}
.p-xl {
  padding: 20px !important;
}
.pl-xl,
.ph-xl {
  padding-left: 20px !important;
}
.pr-xl,
.ph-xl {
  padding-right: 20px !important;
}
.pt-xl,
.pv-xl {
  padding-top: 20px !important;
}
.pb-xl,
.pv-xl {
  padding-bottom: 20px !important;
}
.b0 {
  border-width: 0 !important;
}
.bl0 {
  border-left-width: 0 !important;
}
.br0 {
  border-right-width: 0 !important;
}
.bt0 {
  border-top-width: 0 !important;
}
.bb0 {
  border-bottom-width: 0 !important;
}
.br,
.b {
  border-right: 1px solid #e6e9ee;
}
.bl,
.b {
  border-left: 1px solid #e6e9ee;
}
.bt,
.b {
  border-top: 1px solid #e6e9ee;
}
.bb,
.b {
  border-bottom: 1px solid #e6e9ee;
}
.br-primary {
  border-right: 1px solid #43a8eb;
}
.bl-primary {
  border-left: 1px solid #43a8eb;
}
.bt-primary {
  border-top: 1px solid #43a8eb;
}
.bb-primary {
  border-bottom: 1px solid #43a8eb;
}
.br-success {
  border-right: 1px solid #88bf57;
}
.bl-success {
  border-left: 1px solid #88bf57;
}
.bt-success {
  border-top: 1px solid #88bf57;
}
.bb-success {
  border-bottom: 1px solid #88bf57;
}
.br-info {
  border-right: 1px solid #8293b9;
}
.bl-info {
  border-left: 1px solid #8293b9;
}
.bt-info {
  border-top: 1px solid #8293b9;
}
.bb-info {
  border-bottom: 1px solid #8293b9;
}
.br-warning {
  border-right: 1px solid #fdaf40;
}
.bl-warning {
  border-left: 1px solid #fdaf40;
}
.bt-warning {
  border-top: 1px solid #fdaf40;
}
.bb-warning {
  border-bottom: 1px solid #fdaf40;
}
.br-danger {
  border-right: 1px solid #eb615f;
}
.bl-danger {
  border-left: 1px solid #eb615f;
}
.bt-danger {
  border-top: 1px solid #eb615f;
}
.bb-danger {
  border-bottom: 1px solid #eb615f;
}
.br-turquoise {
  border-right: 1px solid #2fc8a6;
}
.bl-turquoise {
  border-left: 1px solid #2fc8a6;
}
.bt-turquoise {
  border-top: 1px solid #2fc8a6;
}
.bb-turquoise {
  border-bottom: 1px solid #2fc8a6;
}
.br-pink {
  border-right: 1px solid #f963bc;
}
.bl-pink {
  border-left: 1px solid #f963bc;
}
.bt-pink {
  border-top: 1px solid #f963bc;
}
.bb-pink {
  border-bottom: 1px solid #f963bc;
}
.br-purple {
  border-right: 1px solid #c29eff;
}
.bl-purple {
  border-left: 1px solid #c29eff;
}
.bt-purple {
  border-top: 1px solid #c29eff;
}
.bb-purple {
  border-bottom: 1px solid #c29eff;
}
.br-inverse {
  border-right: 1px solid #363c47;
}
.bl-inverse {
  border-left: 1px solid #363c47;
}
.bt-inverse {
  border-top: 1px solid #363c47;
}
.bb-inverse {
  border-bottom: 1px solid #363c47;
}
.br-orange {
  border-right: 1px solid #f57035;
}
.bl-orange {
  border-left: 1px solid #f57035;
}
.bt-orange {
  border-top: 1px solid #f57035;
}
.bb-orange {
  border-bottom: 1px solid #f57035;
}
.br-gray-darker {
  border-right: 1px solid #2b3d51;
}
.bl-gray-darker {
  border-left: 1px solid #2b3d51;
}
.bt-gray-darker {
  border-top: 1px solid #2b3d51;
}
.bb-gray-darker {
  border-bottom: 1px solid #2b3d51;
}
.br-gray-dark {
  border-right: 1px solid #515d6e;
}
.bl-gray-dark {
  border-left: 1px solid #515d6e;
}
.bt-gray-dark {
  border-top: 1px solid #515d6e;
}
.bb-gray-dark {
  border-bottom: 1px solid #515d6e;
}
.br-gray {
  border-right: 1px solid #a0aab2;
}
.bl-gray {
  border-left: 1px solid #a0aab2;
}
.bt-gray {
  border-top: 1px solid #a0aab2;
}
.bb-gray {
  border-bottom: 1px solid #a0aab2;
}
.br-gray-light {
  border-right: 1px solid #e6e9ee;
}
.bl-gray-light {
  border-left: 1px solid #e6e9ee;
}
.bt-gray-light {
  border-top: 1px solid #e6e9ee;
}
.bb-gray-light {
  border-bottom: 1px solid #e6e9ee;
}
.br-gray-lighter {
  border-right: 1px solid #f4f5f5;
}
.bl-gray-lighter {
  border-left: 1px solid #f4f5f5;
}
.bt-gray-lighter {
  border-top: 1px solid #f4f5f5;
}
.bb-gray-lighter {
  border-bottom: 1px solid #f4f5f5;
}
.br-muted {
  border-right: 1px solid #8394a9;
}
.bl-muted {
  border-left: 1px solid #8394a9;
}
.bt-muted {
  border-top: 1px solid #8394a9;
}
.bb-muted {
  border-bottom: 1px solid #8394a9;
}
.radius-clear {
  border-radius: 0 !important;
}
.circle {
  border-radius: 50% !important;
}
.rounded {
  border-radius: 3px !important;
}
.shadow-clear,
.no-shadow {
  box-shadow: 0 0 0 #000 !important;
}
.smoothy {
  position: relative;
}
.smoothy:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 30px;
  width: 100%;
  background: 100px;
  box-shadow: 0 -15px 15px #ffffff inset;
  z-index: 9999;
  overflow: visible;
}
.text-primary {
  color: #43a8eb;
}
.text-success {
  color: #88bf57;
}
.text-warning {
  color: #fdaf40;
}
.text-danger {
  color: #eb615f;
}
.text-info {
  color: #8293b9;
}
.text-white {
  color: #fff;
}
.text-inverse {
  color: #363c47;
}
.text-alpha {
  color: rgba(255, 255, 255, 0.5);
}
.text-pink {
  color: #f963bc;
}
.text-purple {
  color: #c29eff;
}
.text-alpha-inverse {
  color: rgba(0, 0, 0, 0.5);
}
.text-turquoise {
  color: #2fc8a6;
}
.text-orange {
  color: #f57035;
}
.text-gray-darker {
  color: #2b3d51;
}
.text-gray-dark {
  color: #515d6e;
}
.text-gray {
  color: #a0aab2;
}
.text-gray-light {
  color: #e6e9ee;
}
.text-gray-lighter {
  color: #f4f5f5;
}
.text-xs {
  font-size: 7.8px !important;
}
.text-sm {
  font-size: 11.05px !important;
}
.text-md {
  font-size: 24.7px !important;
}
.text-lg {
  font-size: 39px !important;
}
.text-hg {
  font-size: 52px !important;
}
.text-left {
  text-align: left !important;
}
.text-right {
  text-align: right !important;
}
.text-center {
  text-align: center !important;
}
.text-justify {
  text-align: justify !important;
}
.text-nowrap {
  white-space: nowrap !important;
}
.text-nowrap {
  white-space: nowrap;
}
.text-thin {
  font-weight: 100 !important;
}
.text-normal {
  font-weight: normal !important;
}
.text-bold {
  font-weight: bold !important;
}
.text-ellipsis {
  text-overflow: ellipsis;
  white-space: nowrap;
  padding: 0 .2em;
  overflow: hidden;
  vertical-align: bottom;
}
.inline {
  display: inline !important;
}
.inline-block {
  display: inline-block !important;
}
.block {
  display: block !important;
}
.thumb8 {
  width: 8px !important;
  height: 8px !important;
}
.thumb16 {
  width: 16px !important;
  height: 16px !important;
}
.thumb32 {
  width: 32px !important;
  height: 32px !important;
}
.thumb40 {
  width: 40px !important;
  height: 40px !important;
}
.thumb48 {
  width: 48px !important;
  height: 48px !important;
}
.thumb64 {
  width: 64px !important;
  height: 64px !important;
}
.thumb80 {
  width: 80px !important;
  height: 80px !important;
}
.thumb96 {
  width: 96px !important;
  height: 96px !important;
}
.thumb128 {
  width: 128px !important;
  height: 128px !important;
}
.align-middle {
  vertical-align: middle;
}
.align-top {
  vertical-align: top;
}
.align-bottom {
  vertical-align: bottom;
}
.bg-center {
  background-position: center center;
  background-size: cover;
}
.list-icon em {
  font-size: 14px;
  width: 40px;
  margin: 0;
  display: inline-block;
  text-align: center;
  -webkit-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  line-height: 30px;
}
.list-icon div:hover {
  background-color: #8293b9;
  color: #fff;
}
.list-table {
  padding-left: 0;
  list-style: none;
  display: table;
  table-layout: fixed;
  width: 100%;
}
.list-table > li {
  display: table-cell;
  table-layout: fixed;
  vertical-align: middle;
}
.list-block {
  padding-left: 0;
  list-style: none;
}
.list-block > li {
  display: block;
}
.wd-tiny {
  width: 50px;
}
.wd-xxs {
  width: 60px;
}
.wd-xs {
  width: 90px;
}
.wd-sm {
  width: 150px;
}
.wd-sd {
  width: 200px;
}
.wd-md {
  width: 240px;
}
.wd-lg {
  width: 280px;
}
.wd-xl {
  width: 320px;
}
.wd-xxl {
  width: 360px;
}
.wd-wide {
  width: 100%;
}
.wd-auto {
  width: auto;
}
.label-inverse {
  background-color: #363c47;
}
.label-inverse[href]:hover,
.label-inverse[href]:focus {
  background-color: #20242a;
}
.label-turquoise {
  background-color: #2fc8a6;
}
.label-turquoise[href]:hover,
.label-turquoise[href]:focus {
  background-color: #259f84;
}
.label-pink {
  background-color: #f963bc;
}
.label-pink[href]:hover,
.label-pink[href]:focus {
  background-color: #f732a7;
}
.label-purple {
  background-color: #c29eff;
}
.label-purple[href]:hover,
.label-purple[href]:focus {
  background-color: #a26bff;
}
.label-orange {
  background-color: #f57035;
}
.label-orange[href]:hover,
.label-orange[href]:focus {
  background-color: #eb500c;
}
.alert-purple {
  background-color: #c29eff;
  border-color: #c29eff;
  color: #ffffff;
}
.alert-purple hr {
  border-top-color: #b284ff;
}
.alert-purple .alert-link {
  color: #e6e6e6;
}
.alert-turquoise {
  background-color: #2fc8a6;
  border-color: #2fc8a6;
  color: #ffffff;
}
.alert-turquoise hr {
  border-top-color: #2ab395;
}
.alert-turquoise .alert-link {
  color: #e6e6e6;
}
.alert-pink {
  background-color: #f963bc;
  border-color: #f963bc;
  color: #ffffff;
}
.alert-pink hr {
  border-top-color: #f84ab1;
}
.alert-pink .alert-link {
  color: #e6e6e6;
}
.alert-inverse {
  background-color: #363c47;
  border-color: #363c47;
  color: #ffffff;
}
.alert-inverse hr {
  border-top-color: #2b3039;
}
.alert-inverse .alert-link {
  color: #e6e6e6;
}
.alert-orange {
  background-color: #f57035;
  border-color: #f57035;
  color: #ffffff;
}
.alert-orange hr {
  border-top-color: #f45f1d;
}
.alert-orange .alert-link {
  color: #e6e6e6;
}
.abs-center-container {
  position: relative;
}
.abs-center {
  height: 50%;
  overflow: auto;
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
}
.abs-center.abs-fixed {
  position: fixed;
  z-index: 999;
}
.abs-center.abs-right {
  left: auto;
  right: 20px;
  text-align: right;
}
.abs-center.abs-left {
  right: auto;
  left: 20px;
  text-align: left;
}
.clickable {
  cursor: pointer;
}
/* ========================================================================
   Component: print.less
 ========================================================================== */
@media print {
  .sidebar,
  .topnavbar,
  .settings,
  .btn {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
  }
  .app-container,
  .app-container > section,
  .app {
    margin: 0 !important;
    /* remove margin used for sidebar and expand the content */
    width: 100% !important;
  }
  .app-container > aside,
  .app-container > footer {
    display: none;
  }
  .app {
    overflow: hidden !important;
  }
  .text-muted {
    color: #e6e9ee !important;
  }
}
.setting-color {
  padding: 0 5px;
}
.setting-color > label {
  display: block;
  position: relative;
  height: 40px;
  margin: 0 10px;
  border-radius: 3px;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.1);
  cursor: pointer;
  border: 1px solid #a0aab2;
}
.setting-color > label:first-child {
  margin-left: 0;
}
.setting-color > label:last-child {
  margin-right: 0;
}
.setting-color > label .list-table {
  height: 100%;
  margin: 0;
}
.setting-color > label > .color {
  display: block;
  height: 18px;
}
.setting-color > label > .split {
  display: block;
}
.setting-color > label > .split:before,
.setting-color > label > .split:after {
  content: " ";
  display: table;
}
.setting-color > label > .split:after {
  clear: both;
}
.setting-color > label > .split:before,
.setting-color > label > .split:after {
  content: " ";
  display: table;
}
.setting-color > label > .split:after {
  clear: both;
}
.setting-color > label > .split > .color {
  display: block;
  height: 37.5px;
}
.setting-color > label > .split > .color:first-child {
  float: left;
  width: 70%;
}
.setting-color > label > .split > .color:last-child {
  float: right;
  width: 30%;
}
.setting-color > label > .icon-check {
  position: absolute;
  display: block;
  left: 50%;
  top: 50%;
  width: 20px;
  height: 20px;
  margin-top: -10px;
  margin-left: -10px;
  text-align: center;
  font-size: 1.33333333em;
  vertical-align: -15%;
  color: #fff;
  opacity: 0;
}
.setting-color > label > input[type="radio"] {
  position: absolute;
  opacity: 0;
  visibility: hidden;
}
.setting-color > label > input[type="radio"]:checked + .icon-check {
  opacity: 1 !important;
}
/* ========================================================================
   Component: documentation.less
 ========================================================================== */
flatdoc {
  display: block;
}
[role~="flatdoc"] {
  position: relative;
  width: 100%;
  height: 100%;
}
@media only screen and (min-width: 768px) {
  [role~="flatdoc"]:before,
  [role~="flatdoc"]:after {
    content: " ";
    display: table;
  }
  [role~="flatdoc"]:after {
    clear: both;
  }
  [role~="flatdoc"]:before,
  [role~="flatdoc"]:after {
    content: " ";
    display: table;
  }
  [role~="flatdoc"]:after {
    clear: both;
  }
}
[role~="flatdoc-menu"] {
  position: relative;
  font-size: 14px;
}
[role~="flatdoc-menu"] ul {
  list-style-type: none;
  margin: 0;
  padding: 0;
}
[role~="flatdoc-menu"] ul.level-1 > li > a,
[role~="flatdoc-menu"] ul.level-2 > li > a {
  text-transform: uppercase;
  font-weight: bold;
}
[role~="flatdoc-menu"] ul.level-1 > li + li > a,
[role~="flatdoc-menu"] ul.level-2 > li + li > a {
  border-bottom: 1px solid #e6e9ee;
}
[role~="flatdoc-menu"] ul a {
  position: relative;
  display: block;
  padding: 6px;
  border-right: 2px solid transparent;
}
[role~="flatdoc-menu"] ul a,
[role~="flatdoc-menu"] ul a:visited {
  color: #515d6e;
}
[role~="flatdoc-menu"] ul a:hover {
  color: #414a58;
  background-color: rgba(255, 255, 255, 0.75);
  text-decoration: none;
}
[role~="flatdoc-menu"] ul a.level-1,
[role~="flatdoc-menu"] ul a.level-2 {
  font-weight: 600;
}
[role~="flatdoc-menu"] ul a.level-3 {
  font-weight: normal;
  font-size: 12px;
  padding-left: 15px;
}
[role~="flatdoc-menu"] ul a.active {
  border-right-color: #515d6e;
  font-weight: bold !important;
}
[role~="flatdoc-menu"] ul a.active,
[role~="flatdoc-menu"] ul a.active:visited,
[role~="flatdoc-menu"] ul a.active:hover {
  color: #505050 !important;
}
@media only screen and (min-width: 768px) {
  [role~="flatdoc-menu"] {
    float: left;
    width: 180px;
    height: auto;
    padding-left: 10px;
  }
  [role~="flatdoc-menu"] > ul {
    padding-top: 10px;
    max-height: 100%;
    overflow: auto;
    padding-bottom: 60px;
    width: inherit;
  }
}
[role~="flatdoc-content"] {
  width: 100%;
  padding-left: 20px;
  padding-right: 20px;
  padding-top: 1px;
  padding-bottom: 50px;
  background-color: #fff;
}
@media only screen and (min-width: 768px) {
  [role~="flatdoc-content"] {
    padding-left: 200px;
    height: 100%;
  }
}
[role~="flatdoc-content"] pre {
  background-color: #f4f5f5;
  border: 1px solid #e6e9ee;
}
[role~="flatdoc-content"] pre code {
  display: inline-block;
  white-space: pre;
}
[role~="flatdoc-content"] pre code .string,
[role~="flatdoc-content"] pre code .number {
  color: #79b344;
}
[role~="flatdoc-content"] pre code .init {
  color: #79b344;
}
[role~="flatdoc-content"] pre code .keyword {
  color: #515d6e;
  font-weight: bold;
}
[role~="flatdoc-content"] pre code .comment {
  color: #8394a9;
}
[role~="flatdoc-content"] > h1 {
  padding: 12px 0;
  margin: 0;
  line-height: 1;
}
[role~="flatdoc-content"] > h2 {
  padding: 20px;
  border-top: 1px solid #e6e9ee;
  margin: 0 -20px;
  font-weight: bold;
}
[role~="flatdoc-content"] > h2:first-child {
  border-top: 0;
}
[role~="flatdoc-content"] .button {
  display: inline-block;
  margin-bottom: 0;
  font-weight: normal;
  text-align: center;
  vertical-align: middle;
  touch-action: manipulation;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  white-space: nowrap;
  padding: 8px 24px;
  font-size: 13px;
  line-height: 1.52857143;
  border-radius: 3px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-appearance: none;
  outline: none !important;
  -webkit-transition: all 0.1s;
  -o-transition: all 0.1s;
  transition: all 0.1s;
  color: #ffffff !important;
  background-color: #43a8eb;
  border-color: #3ea6eb;
}
[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button:active:focus,
[role~="flatdoc-content"] .button.active:focus,
[role~="flatdoc-content"] .button.focus,
[role~="flatdoc-content"] .button:active.focus,
[role~="flatdoc-content"] .button.active.focus {
  outline: thin dotted;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
[role~="flatdoc-content"] .button:hover,
[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button.focus {
  color: #a0aab2;
  text-decoration: none;
}
[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active {
  outline: 0;
  background-image: none;
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}
[role~="flatdoc-content"] .button.disabled,
[role~="flatdoc-content"] .button[disabled],
fieldset[disabled] [role~="flatdoc-content"] .button {
  cursor: not-allowed;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  box-shadow: none;
}
a[role~="flatdoc-content"] .button.disabled,
fieldset[disabled] a[role~="flatdoc-content"] .button {
  pointer-events: none;
}
[role~="flatdoc-content"] .button.btn-link {
  -webkit-box-shadow: 0 0 0 #000000 !important;
  box-shadow: 0 0 0 #000000 !important;
  border: 0;
}
[role~="flatdoc-content"] .button.btn-default {
  border-color: #e6e9ee;
}
.input-group .input-sm + .input-group-btn [role~="flatdoc-content"] .button {
  font-size: 13px;
}
[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active {
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.15);
}
[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button.focus {
  color: #ffffff !important;
  background-color: #319fe9;
  border-color: #1a95e7;
}
[role~="flatdoc-content"] .button:hover {
  color: #ffffff;
  background-color: #319fe9;
  border-color: #1a95e7;
}
[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active,
.open > .dropdown-toggle[role~="flatdoc-content"] .button {
  color: #ffffff;
  background-color: #319fe9;
  border-color: #1a95e7;
}
[role~="flatdoc-content"] .button:active:hover,
[role~="flatdoc-content"] .button.active:hover,
.open > .dropdown-toggle[role~="flatdoc-content"] .button:hover,
[role~="flatdoc-content"] .button:active:focus,
[role~="flatdoc-content"] .button.active:focus,
.open > .dropdown-toggle[role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button:active.focus,
[role~="flatdoc-content"] .button.active.focus,
.open > .dropdown-toggle[role~="flatdoc-content"] .button.focus {
  color: #ffffff;
  background-color: #319fe9;
  border-color: #1a95e7;
}
[role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.active,
.open > .dropdown-toggle[role~="flatdoc-content"] .button {
  background-image: none;
}
[role~="flatdoc-content"] .button.disabled,
[role~="flatdoc-content"] .button[disabled],
fieldset[disabled] [role~="flatdoc-content"] .button,
[role~="flatdoc-content"] .button.disabled:hover,
[role~="flatdoc-content"] .button[disabled]:hover,
fieldset[disabled] [role~="flatdoc-content"] .button:hover,
[role~="flatdoc-content"] .button.disabled:focus,
[role~="flatdoc-content"] .button[disabled]:focus,
fieldset[disabled] [role~="flatdoc-content"] .button:focus,
[role~="flatdoc-content"] .button.disabled.focus,
[role~="flatdoc-content"] .button[disabled].focus,
fieldset[disabled] [role~="flatdoc-content"] .button.focus,
[role~="flatdoc-content"] .button.disabled:active,
[role~="flatdoc-content"] .button[disabled]:active,
fieldset[disabled] [role~="flatdoc-content"] .button:active,
[role~="flatdoc-content"] .button.disabled.active,
[role~="flatdoc-content"] .button[disabled].active,
fieldset[disabled] [role~="flatdoc-content"] .button.active {
  background-color: #43a8eb;
  border-color: #3ea6eb;
}
[role~="flatdoc-content"] .button .badge {
  color: #43a8eb;
  background-color: #ffffff;
}
span.editable-field {
  border-bottom: 1px dashed #969696;
}
div.click-to-edit p.form-control-static span:first-child {
  cursor: pointer;
}
div.click-to-edit p.form-control-static span.empty {
  color: #b60d0d;
  font-style: italic;
}
header div.spinner {
  float: left;
  left: 220px;
  position: absolute;
  width: 100%;
}
div.editable-textarea div.ta-text.ta-editor {
  margin-bottom: 10px;
}
img.cat-icon {
  height: 25px;
}
div.modal-content img.icon {
  padding: 10px;
}
.form-group.required .control-label:after {
  content: "*";
  color: red;
}
div.popover.tablePopover {
  max-height: 635px !important;
}
div.popover.tablePopover .popover-content {
  max-height: 600px !important;
}
table.ngTable th.header,
table.ngTable th.filter {
  padding: 5px !important;
  color: #7D7D7D;
}
table.ngTable th.filter input.input-filter {
  height: 30px;
}
.angular-ui-tree-handle {
  background: #f8faff;
  border: 1px solid #dae2ea;
  color: #7c9eb2;
  padding: 10px 10px;
}
.angular-ui-tree-handle:hover {
  color: #438eb9;
  background: #f4f6f7;
  border-color: #dce2e8;
}
.angular-ui-tree-placeholder {
  background: #f0f9ff;
  border: 2px dashed #bed2db;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.group-title {
  background-color: #687074 !important;
  color: #FFF !important;
}
div.popover-content.locations ul.categories {
  margin-top: 0;
  margin-bottom: 0;
  margin-left: 0;
  padding-left: 18px;
}
form.location div.categories {
  margin: 10px 0 10px 30px;
}
form.location div.categories span {
  margin-left: 15px;
}
form.location div.categories span img {
  height: 32px;
  margin-right: 5px;
}
form.location div.categories button.actions {
  margin: 0 5px;
  float: right;
}
div.modal-content form .form-control-feedback {
  right: 15px;
  top: 11px;
}
.modal-content .map {
  margin-top: 25px;
}
.modal-content .map .angular-google-map-container {
  height: 220px;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC9hbmltYXRlLmxlc3MiLCJib290c3RyYXAvbm9ybWFsaXplLmxlc3MiLCJib290c3RyYXAvcHJpbnQubGVzcyIsImJvb3RzdHJhcC9zY2FmZm9sZGluZy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy92ZW5kb3ItcHJlZml4ZXMubGVzcyIsImFwcC9ib290c3RyYXAtdmFyaWFibGVzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL3RhYi1mb2N1cy5sZXNzIiwiYm9vdHN0cmFwL3RodW1ibmFpbHMubGVzcyIsImJvb3RzdHJhcC9jYXJvdXNlbC5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9pbWFnZS5sZXNzIiwiYm9vdHN0cmFwL3R5cGUubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvdGV4dC1lbXBoYXNpcy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9iYWNrZ3JvdW5kLXZhcmlhbnQubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvdGV4dC1vdmVyZmxvdy5sZXNzIiwiYm9vdHN0cmFwL2NvZGUubGVzcyIsImJvb3RzdHJhcC9ncmlkLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2dyaWQubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvZ3JpZC1mcmFtZXdvcmsubGVzcyIsImJvb3RzdHJhcC90YWJsZXMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvdGFibGUtcm93Lmxlc3MiLCJib290c3RyYXAvZm9ybXMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvZm9ybXMubGVzcyIsImJvb3RzdHJhcC9idXR0b25zLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2J1dHRvbnMubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvb3BhY2l0eS5sZXNzIiwiYm9vdHN0cmFwL2J1dHRvbi1ncm91cHMubGVzcyIsImJvb3RzdHJhcC9jb21wb25lbnQtYW5pbWF0aW9ucy5sZXNzIiwiYm9vdHN0cmFwL2Ryb3Bkb3ducy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9uYXYtZGl2aWRlci5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9yZXNldC1maWx0ZXIubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvYm9yZGVyLXJhZGl1cy5sZXNzIiwiYm9vdHN0cmFwL2lucHV0LWdyb3Vwcy5sZXNzIiwiYXBwL2Jvb3RzdHJhcC1yZXNldC5sZXNzIiwiYm9vdHN0cmFwL25hdnMubGVzcyIsImJvb3RzdHJhcC9uYXZiYXIubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvbmF2LXZlcnRpY2FsLWFsaWduLmxlc3MiLCJib290c3RyYXAvdXRpbGl0aWVzLmxlc3MiLCIuLi8uLi9hcHAvdmVuZG9yL2ZvbnRhd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzcyIsImJvb3RzdHJhcC9icmVhZGNydW1icy5sZXNzIiwiYm9vdHN0cmFwL3BhZ2luYXRpb24ubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvcGFnaW5hdGlvbi5sZXNzIiwiYm9vdHN0cmFwL3BhZ2VyLmxlc3MiLCJib290c3RyYXAvbGFiZWxzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2xhYmVscy5sZXNzIiwiYm9vdHN0cmFwL2JhZGdlcy5sZXNzIiwiYm9vdHN0cmFwL2p1bWJvdHJvbi5sZXNzIiwiYm9vdHN0cmFwL2FsZXJ0cy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9hbGVydHMubGVzcyIsImJvb3RzdHJhcC9wcm9ncmVzcy1iYXJzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2dyYWRpZW50cy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9wcm9ncmVzcy1iYXIubGVzcyIsImJvb3RzdHJhcC9tZWRpYS5sZXNzIiwiYm9vdHN0cmFwL2xpc3QtZ3JvdXAubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvbGlzdC1ncm91cC5sZXNzIiwiYm9vdHN0cmFwL3BhbmVscy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9wYW5lbHMubGVzcyIsImJvb3RzdHJhcC9yZXNwb25zaXZlLWVtYmVkLmxlc3MiLCJib290c3RyYXAvd2VsbHMubGVzcyIsImJvb3RzdHJhcC9jbG9zZS5sZXNzIiwiYm9vdHN0cmFwL21vZGFscy5sZXNzIiwiYm9vdHN0cmFwL3Rvb2x0aXAubGVzcyIsImJvb3RzdHJhcC9taXhpbnMvcmVzZXQtdGV4dC5sZXNzIiwiYm9vdHN0cmFwL3BvcG92ZXJzLmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2NsZWFyZml4Lmxlc3MiLCJib290c3RyYXAvbWl4aW5zL2NlbnRlci1ibG9jay5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9oaWRlLXRleHQubGVzcyIsImJvb3RzdHJhcC9yZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzIiwiYm9vdHN0cmFwL21peGlucy9yZXNwb25zaXZlLXZpc2liaWxpdHkubGVzcyIsImFwcC9mb250Lmxlc3MiLCJhcHAvbGF5b3V0Lmxlc3MiLCJhcHAvdG9wbmF2YmFyLmxlc3MiLCJhcHAvc2lkZWJhci5sZXNzIiwiYXBwL2J1dHRvbi1leHRyYS5sZXNzIiwiYXBwL3BsYWNlaG9sZGVyLmxlc3MiLCJhcHAvcGFuZWxzLWV4dHJhLmxlc3MiLCJhcHAvcHJvZ3Jlc3MtZXh0cmEubGVzcyIsImFwcC9wb2ludHMubGVzcyIsImFwcC90aW1lbGluZS5sZXNzIiwiYXBwL2Ryb3Bkb3duLWV4dHJhLmxlc3MiLCJhcHAvcm93LWV4dHJhLmxlc3MiLCJhcHAvbWFzb25yeS1ncmlkLmxlc3MiLCJhcHAvdHlwZWFoZWFkLmxlc3MiLCJhcHAvbG9hZGluZy1iYXIubGVzcyIsImFwcC9ncmlkLXRhYmxlLmxlc3MiLCJhcHAvcGFsZXR0ZS5sZXNzIiwiYXBwL2NoYXQubGVzcyIsImFwcC9idXR0b24tc3dpdGNoLmxlc3MiLCJhcHAvZmVhdGhlci1pY29ucy5sZXNzIiwiYXBwL2NhbGVuZGFyLmxlc3MiLCJhcHAvcG9ydGxldHMubGVzcyIsImFwcC90YXNrcy5sZXNzIiwiYXBwL21haWxib3gubGVzcyIsImFwcC91dGlscy5sZXNzIiwiYXBwL2NoYXJ0cy5sZXNzIiwiYXBwL2Zvcm0tZXh0cmFzLmxlc3MiLCJhcHAvZm9ybS12YWxpZGF0aW9uLmxlc3MiLCJhcHAvZm9ybS13aXphcmQubGVzcyIsImFwcC9mb3JtLXN3aXRjaC5sZXNzIiwiYXBwL2Zvcm0taW5wdXQubGVzcyIsImFwcC90YWJsZS1yZXNwb25zaXZlLmxlc3MiLCJhcHAvdGFibGUtbmd0YWJsZS5sZXNzIiwiYXBwL3BsdWdpbnMubGVzcyIsImFwcC9zbGltLXNjcm9sbC5sZXNzIiwiYXBwL2RhdGVwaWNrZXIubGVzcyIsImFwcC9hbGVydHMubGVzcyIsImFwcC90b2FzdGVyLmxlc3MiLCJhcHAvZ21hcC5sZXNzIiwiYXBwL3ZlY3Rvci1tYXAubGVzcyIsImFwcC91dGlscy1iYWNrZ3JvdW5kLmxlc3MiLCJhcHAvcHJpbnQubGVzcyIsImFwcC9zZXR0aW5ncy5sZXNzIiwiYXBwL2RvY3MubGVzcyIsImN1c3RvbS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLFNBQVM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQ0lUO0VBQ0UsdUJBQUE7RUFDQSwwQkFBQTtFQUNBLDhCQUFBOztBQU9GO0VBQ0UsU0FBQTs7QUFhRjtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLGNBQUE7O0FBUUY7QUFDQTtBQUNBO0FBQ0E7RUFDRSxxQkFBQTtFQUNBLHdCQUFBOztBQVFGLEtBQUssSUFBSTtFQUNQLGFBQUE7RUFDQSxTQUFBOztBQVFGO0FBQ0E7RUFDRSxhQUFBOztBQVVGO0VBQ0UsNkJBQUE7O0FBUUYsQ0FBQztBQUNELENBQUM7RUFDQyxVQUFBOztBQVVGLElBQUk7RUFDRix5QkFBQTs7QUFPRjtBQUNBO0VBQ0UsaUJBQUE7O0FBT0Y7RUFDRSxrQkFBQTs7QUFRRjtFQUNFLGNBQUE7RUFDQSxnQkFBQTs7QUFPRjtFQUNFLGdCQUFBO0VBQ0EsV0FBQTs7QUFPRjtFQUNFLGNBQUE7O0FBT0Y7QUFDQTtFQUNFLGNBQUE7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QixtQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixtQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixVQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLG1CQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLG1CQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLFVBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsbUJBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsbUJBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsVUFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixtQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixrQkFBQTs7QUFJRixLQUFLLEVBQVE7RUFDWCxXQUFBOztBQWhCRixLQUFLLEVBQVEsTUFBTTtFQUNqQixVQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLGtCQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLGtCQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLFNBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsa0JBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsa0JBQUE7O0FBREYsS0FBSyxFQUFRLE1BQU07RUFDakIsU0FBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixrQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixrQkFBQTs7QUFERixLQUFLLEVBQVEsTUFBTTtFQUNqQixTQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLGtCQUFBOztBQURGLEtBQUssRUFBUSxNQUFNO0VBQ2pCLGlCQUFBOztBQUlGLEtBQUssRUFBUTtFQUNYLFVBQUE7O0FBY0YsS0FBSyxFQUFRLFFBQVE7RUFDbkIsaUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIsZ0JBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIsZ0JBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIsZ0JBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIseUJBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIsd0JBQUE7O0FBREYsS0FBSyxFQUFRLFFBQVE7RUFDbkIsZUFBQTs7QUZKSixRQUxtQztFRXpCL0I7SUFDRSxXQUFBOztFQU9KLEtBQUssRUFBUSxDQUFDO0lBQ1osV0FBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixVQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLFVBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osVUFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osa0JBQUE7O0VBY0YsS0FBSyxFQUFRLE1BQU07SUFDakIsV0FBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixVQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFVBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsVUFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFJRixLQUFLLEVBQVE7SUFDWCxXQUFBOztFQWhCRixLQUFLLEVBQVEsTUFBTTtJQUNqQixVQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFNBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsU0FBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixTQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGlCQUFBOztFQUlGLEtBQUssRUFBUTtJQUNYLFVBQUE7O0VBY0YsS0FBSyxFQUFRLFFBQVE7SUFDbkIsaUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIsZ0JBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIsZ0JBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIsZ0JBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIseUJBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIsd0JBQUE7O0VBREYsS0FBSyxFQUFRLFFBQVE7SUFDbkIsZUFBQTs7O0FGS0osUUFMbUM7RUVsQy9CO0lBQ0UsV0FBQTs7RUFPSixLQUFLLEVBQVEsQ0FBQztJQUNaLFdBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osVUFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixVQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLFVBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLGtCQUFBOztFQWNGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFdBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsVUFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixVQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFVBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBSUYsS0FBSyxFQUFRO0lBQ1gsV0FBQTs7RUFoQkYsS0FBSyxFQUFRLE1BQU07SUFDakIsVUFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixTQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFNBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsU0FBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixpQkFBQTs7RUFJRixLQUFLLEVBQVE7SUFDWCxVQUFBOztFQWNGLEtBQUssRUFBUSxRQUFRO0lBQ25CLGlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLGdCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLGdCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLGdCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHlCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLHdCQUFBOztFQURGLEtBQUssRUFBUSxRQUFRO0lBQ25CLGVBQUE7OztBRllKLFFBSG1DO0VFM0MvQjtJQUNFLFdBQUE7O0VBT0osS0FBSyxFQUFRLENBQUM7SUFDWixXQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLFVBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixtQkFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osVUFBQTs7RUFERixLQUFLLEVBQVEsQ0FBQztJQUNaLG1CQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixVQUFBOztFQURGLEtBQUssRUFBUSxDQUFDO0lBQ1osbUJBQUE7O0VBREYsS0FBSyxFQUFRLENBQUM7SUFDWixrQkFBQTs7RUFjRixLQUFLLEVBQVEsTUFBTTtJQUNqQixXQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFVBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsbUJBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsVUFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixtQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixVQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLG1CQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQUlGLEtBQUssRUFBUTtJQUNYLFdBQUE7O0VBaEJGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFVBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsU0FBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixrQkFBQTs7RUFERixLQUFLLEVBQVEsTUFBTTtJQUNqQixTQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLGtCQUFBOztFQURGLEtBQUssRUFBUSxNQUFNO0lBQ2pCLFNBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsa0JBQUE7O0VBREYsS0FBSyxFQUFRLE1BQU07SUFDakIsaUJBQUE7O0VBSUYsS0FBSyxFQUFRO0lBQ1gsVUFBQTs7RUFjRixLQUFLLEVBQVEsUUFBUTtJQUNuQixpQkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQixnQkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQixnQkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQixnQkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix5QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQix3QkFBQTs7RUFERixLQUFLLEVBQVEsUUFBUTtJQUNuQixlQUFBOzs7QUNuRUo7RUFDRSw2QkFBQTs7QUFFRjtFQUNFLHFCQUFBO0VBQ0Esd0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7O0FBRUY7RUFDRSxnQkFBQTs7QUFNRjtFQUNFLFdBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7O0FBSEYsTUFLRSxRQUdFLEtBQ0U7QUFUTixNQU1FLFFBRUUsS0FDRTtBQVROLE1BT0UsUUFDRSxLQUNFO0FBVE4sTUFLRSxRQUdFLEtBRUU7QUFWTixNQU1FLFFBRUUsS0FFRTtBQVZOLE1BT0UsUUFDRSxLQUVFO0VBQ0UsaUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsNkJBQUE7O0FBZFIsTUFtQkUsUUFBUSxLQUFLO0VBQ1gsc0JBQUE7RUFDQSxnQ0FBQTs7QUFyQkosTUF3QkUsVUFBVSxRQUdSLEtBQUksWUFDRjtBQTVCTixNQXlCRSxXQUFXLFFBRVQsS0FBSSxZQUNGO0FBNUJOLE1BMEJFLFFBQU8sWUFDTCxLQUFJLFlBQ0Y7QUE1Qk4sTUF3QkUsVUFBVSxRQUdSLEtBQUksWUFFRjtBQTdCTixNQXlCRSxXQUFXLFFBRVQsS0FBSSxZQUVGO0FBN0JOLE1BMEJFLFFBQU8sWUFDTCxLQUFJLFlBRUY7RUFDRSxhQUFBOztBQTlCUixNQW1DRSxRQUFRO0VBQ04sNkJBQUE7O0FBcENKLE1Bd0NFO0VBQ0UseUJBQUE7O0FBT0osZ0JBQ0UsUUFHRSxLQUNFO0FBTE4sZ0JBRUUsUUFFRSxLQUNFO0FBTE4sZ0JBR0UsUUFDRSxLQUNFO0FBTE4sZ0JBQ0UsUUFHRSxLQUVFO0FBTk4sZ0JBRUUsUUFFRSxLQUVFO0FBTk4sZ0JBR0UsUUFDRSxLQUVFO0VBQ0UsWUFBQTs7QUFXUjtFQUNFLHlCQUFBOztBQURGLGVBRUUsUUFHRSxLQUNFO0FBTk4sZUFHRSxRQUVFLEtBQ0U7QUFOTixlQUlFLFFBQ0UsS0FDRTtBQU5OLGVBRUUsUUFHRSxLQUVFO0FBUE4sZUFHRSxRQUVFLEtBRUU7QUFQTixlQUlFLFFBQ0UsS0FFRTtFQUNFLHlCQUFBOztBQVJSLGVBWUUsUUFBUSxLQUNOO0FBYkosZUFZRSxRQUFRLEtBRU47RUFDRSx3QkFBQTs7QUFVTixjQUNFLFFBQVEsS0FBSSxZQUFZO0VBQ3RCLHlCQUFBOztBQVNKLFlBQ0UsUUFBUSxLQUFJO0VBQ1YseUJBQUE7O0FBU0osS0FBTSxJQUFHO0VBQ1AsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EscUJBQUE7O0FBS0UsS0FGRixHQUVHO0FBQUQsS0FERixHQUNHO0VBQ0MsZ0JBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7O0FDNUlKLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQURQLE1BQU8sUUFBUSxLQUNiLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUliLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQUNMLE1BTEssUUFBUSxLQUtaLENBQUMsTUFBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsTUFBUztBQUFYLE1BSEssUUFBUSxLQUdaLENBQUMsTUFBUztBQUNYLE1BTkssUUFBUSxLQU1aLENBQUMsTUFBUztBQUFYLE1BTEssUUFBUSxLQUtaLENBQUMsTUFBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsTUFBUztFQUNULHlCQUFBOztBQU1KLFlBQWEsUUFBUSxLQUNuQixLQUFJLENBQUMsTUFBUTtBQURmLFlBQWEsUUFBUSxLQUVuQixLQUFJLENBQUMsTUFBUTtBQUNiLFlBSFcsUUFBUSxLQUdsQixDQUFDLE1BQVEsTUFBTztBQUNqQixZQUpXLFFBQVEsS0FJbEIsTUFBTyxJQUFHO0FBQ1gsWUFMVyxRQUFRLEtBS2xCLENBQUMsTUFBUSxNQUFPO0VBQ2YseUJBQUE7O0FBbkJKLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQURQLE1BQU8sUUFBUSxLQUNiLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUliLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQUNMLE1BTEssUUFBUSxLQUtaLENBQUMsT0FBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsT0FBUztBQUFYLE1BSEssUUFBUSxLQUdaLENBQUMsT0FBUztBQUNYLE1BTkssUUFBUSxLQU1aLENBQUMsT0FBUztBQUFYLE1BTEssUUFBUSxLQUtaLENBQUMsT0FBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsT0FBUztFQUNULHlCQUFBOztBQU1KLFlBQWEsUUFBUSxLQUNuQixLQUFJLENBQUMsT0FBUTtBQURmLFlBQWEsUUFBUSxLQUVuQixLQUFJLENBQUMsT0FBUTtBQUNiLFlBSFcsUUFBUSxLQUdsQixDQUFDLE9BQVEsTUFBTztBQUNqQixZQUpXLFFBQVEsS0FJbEIsTUFBTyxJQUFHO0FBQ1gsWUFMVyxRQUFRLEtBS2xCLENBQUMsT0FBUSxNQUFPO0VBQ2YseUJBQUE7O0FBbkJKLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQURQLE1BQU8sUUFBUSxLQUNiLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUliLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQUNMLE1BTEssUUFBUSxLQUtaLENBQUMsSUFBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsSUFBUztBQUFYLE1BSEssUUFBUSxLQUdaLENBQUMsSUFBUztBQUNYLE1BTkssUUFBUSxLQU1aLENBQUMsSUFBUztBQUFYLE1BTEssUUFBUSxLQUtaLENBQUMsSUFBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsSUFBUztFQUNULHlCQUFBOztBQU1KLFlBQWEsUUFBUSxLQUNuQixLQUFJLENBQUMsSUFBUTtBQURmLFlBQWEsUUFBUSxLQUVuQixLQUFJLENBQUMsSUFBUTtBQUNiLFlBSFcsUUFBUSxLQUdsQixDQUFDLElBQVEsTUFBTztBQUNqQixZQUpXLFFBQVEsS0FJbEIsTUFBTyxJQUFHO0FBQ1gsWUFMVyxRQUFRLEtBS2xCLENBQUMsSUFBUSxNQUFPO0VBQ2YseUJBQUE7O0FBbkJKLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQURQLE1BQU8sUUFBUSxLQUNiLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUliLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQUNMLE1BTEssUUFBUSxLQUtaLENBQUMsT0FBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsT0FBUztBQUFYLE1BSEssUUFBUSxLQUdaLENBQUMsT0FBUztBQUNYLE1BTkssUUFBUSxLQU1aLENBQUMsT0FBUztBQUFYLE1BTEssUUFBUSxLQUtaLENBQUMsT0FBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsT0FBUztFQUNULHlCQUFBOztBQU1KLFlBQWEsUUFBUSxLQUNuQixLQUFJLENBQUMsT0FBUTtBQURmLFlBQWEsUUFBUSxLQUVuQixLQUFJLENBQUMsT0FBUTtBQUNiLFlBSFcsUUFBUSxLQUdsQixDQUFDLE9BQVEsTUFBTztBQUNqQixZQUpXLFFBQVEsS0FJbEIsTUFBTyxJQUFHO0FBQ1gsWUFMVyxRQUFRLEtBS2xCLENBQUMsT0FBUSxNQUFPO0VBQ2YseUJBQUE7O0FBbkJKLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQURQLE1BQU8sUUFBUSxLQUNiLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUliLEtBQUksQ0FBQztBQUhQLE1BQU8sUUFBUSxLQUdiLEtBQUksQ0FBQztBQUZQLE1BQU8sUUFBUSxLQUViLEtBQUksQ0FBQztBQUNMLE1BTEssUUFBUSxLQUtaLENBQUMsTUFBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsTUFBUztBQUFYLE1BSEssUUFBUSxLQUdaLENBQUMsTUFBUztBQUNYLE1BTkssUUFBUSxLQU1aLENBQUMsTUFBUztBQUFYLE1BTEssUUFBUSxLQUtaLENBQUMsTUFBUztBQUFYLE1BSkssUUFBUSxLQUlaLENBQUMsTUFBUztFQUNULHlCQUFBOztBQU1KLFlBQWEsUUFBUSxLQUNuQixLQUFJLENBQUMsTUFBUTtBQURmLFlBQWEsUUFBUSxLQUVuQixLQUFJLENBQUMsTUFBUTtBQUNiLFlBSFcsUUFBUSxLQUdsQixDQUFDLE1BQVEsTUFBTztBQUNqQixZQUpXLFFBQVEsS0FJbEIsTUFBTyxJQUFHO0FBQ1gsWUFMVyxRQUFRLEtBS2xCLENBQUMsTUFBUSxNQUFPO0VBQ2YseUJBQUE7O0FEa0pOO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTs7QUE2REYsbUJBM0RnRDtFQTJEaEQ7SUExREksV0FBQTtJQUNBLHNCQUFBO0lBQ0Esa0JBQUE7SUFDQSw0Q0FBQTtJQUNBLHlCQUFBOztFQXNESixpQkFuREk7SUFDRSxnQkFBQTs7RUFrRE4saUJBbkRJLFNBSUUsUUFHRSxLQUNFO0VBMkNWLGlCQW5ESSxTQUtFLFFBRUUsS0FDRTtFQTJDVixpQkFuREksU0FNRSxRQUNFLEtBQ0U7RUEyQ1YsaUJBbkRJLFNBSUUsUUFHRSxLQUVFO0VBMENWLGlCQW5ESSxTQUtFLFFBRUUsS0FFRTtFQTBDVixpQkFuREksU0FNRSxRQUNFLEtBRUU7SUFDRSxtQkFBQTs7RUF5Q1osaUJBbENJO0lBQ0UsU0FBQTs7RUFpQ04saUJBbENJLGtCQUlFLFFBR0UsS0FDRSxLQUFJO0VBMEJkLGlCQWxDSSxrQkFLRSxRQUVFLEtBQ0UsS0FBSTtFQTBCZCxpQkFsQ0ksa0JBTUUsUUFDRSxLQUNFLEtBQUk7RUEwQmQsaUJBbENJLGtCQUlFLFFBR0UsS0FFRSxLQUFJO0VBeUJkLGlCQWxDSSxrQkFLRSxRQUVFLEtBRUUsS0FBSTtFQXlCZCxpQkFsQ0ksa0JBTUUsUUFDRSxLQUVFLEtBQUk7SUFDRixjQUFBOztFQXdCWixpQkFsQ0ksa0JBSUUsUUFHRSxLQUtFLEtBQUk7RUFzQmQsaUJBbENJLGtCQUtFLFFBRUUsS0FLRSxLQUFJO0VBc0JkLGlCQWxDSSxrQkFNRSxRQUNFLEtBS0UsS0FBSTtFQXNCZCxpQkFsQ0ksa0JBSUUsUUFHRSxLQU1FLEtBQUk7RUFxQmQsaUJBbENJLGtCQUtFLFFBRUUsS0FNRSxLQUFJO0VBcUJkLGlCQWxDSSxrQkFNRSxRQUNFLEtBTUUsS0FBSTtJQUNGLGVBQUE7O0VBb0JaLGlCQWxDSSxrQkFzQkUsUUFFRSxLQUFJLFdBQ0Y7RUFTVixpQkFsQ0ksa0JBdUJFLFFBQ0UsS0FBSSxXQUNGO0VBU1YsaUJBbENJLGtCQXNCRSxRQUVFLEtBQUksV0FFRjtFQVFWLGlCQWxDSSxrQkF1QkUsUUFDRSxLQUFJLFdBRUY7SUFDRSxnQkFBQTs7O0FFek5aO0VBQ0UsVUFBQTtFQUNBLFNBQUE7RUFDQSxTQUFBO0VBSUEsWUFBQTs7QUFHRjtFQUNFLGNBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTtFQUNBLG1CQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSxTQUFBO0VBQ0EsZ0NBQUE7O0FBR0Y7RUFDRSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBOztBQVdGLEtBQUs7RWhCNEJILDhCQUFBO0VBQ0csMkJBQUE7RUFDSyxzQkFBQTs7QWdCekJWLEtBQUs7QUFDTCxLQUFLO0VBQ0gsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7O0FBR0YsS0FBSztFQUNILGNBQUE7O0FBSUYsS0FBSztFQUNILGNBQUE7RUFDQSxXQUFBOztBQUlGLE1BQU07QUFDTixNQUFNO0VBQ0osWUFBQTs7QUFJRixLQUFLLGFBQWE7QUFDbEIsS0FBSyxjQUFjO0FBQ25CLEtBQUssaUJBQWlCO0VkekVwQixvQkFBQTtFQUVBLDBDQUFBO0VBQ0Esb0JBQUE7O0FjMkVGO0VBQ0UsY0FBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTs7QUEwQkY7RUFDRSxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFaEJ4REEsd0RBQUE7RUFDUSxnREFBQTtFQXlIUiw4RUFBQTtFQUNLLHlFQUFBO0VBQ0csc0VBQUE7O0FpQnhJUixhQUFDO0VBQ0MscUJBQUE7RUFDQSxVQUFBO0VqQlVGLHFGQUFBO0VBQ1EsNkVBQUE7O0FBaUNSLGFBQUM7RUFDQyxjQUFBO0VBQ0EsVUFBQTs7QUFFRixhQUFDO0VBQXlCLGNBQUE7O0FBQzFCLGFBQUM7RUFBK0IsY0FBQTs7QWdCZ0NoQyxhQUFDO0FBQ0QsYUFBQztBQUNELFFBQVEsVUFBVztFQUNqQix5QkFBQTtFQUNBLFVBQUE7O0FBR0YsYUFBQztBQUNELFFBQVEsVUFBVztFQUNqQixtQkFBQTs7QUFJRixRQUFRO0VBQ04sWUFBQTs7QUFZSixLQUFLO0VBQ0gsd0JBQUE7O0FBbUNGLG1CQXRCc0Q7RUFLbEQsS0FKRyxhQUlGO0VBQUQsS0FIRyxhQUdGO0VBQUQsS0FGRyx1QkFFRjtFQUFELEtBREcsY0FDRjtJQUNDLGlCQUFBOztFQUdGLEtBUkcsYUFRRjtFQUFELEtBUEcsYUFPRjtFQUFELEtBTkcsdUJBTUY7RUFBRCxLQUxHLGNBS0Y7RUFDRCxlQUFnQixNQVRiO0VBU0gsZUFBZ0IsTUFSYjtFQVFILGVBQWdCLE1BUGI7RUFPSCxlQUFnQixNQU5iO0lBT0QsaUJBQUE7O0VBR0YsS0FiRyxhQWFGO0VBQUQsS0FaRyxhQVlGO0VBQUQsS0FYRyx1QkFXRjtFQUFELEtBVkcsY0FVRjtFQUNELGVBQWdCLE1BZGI7RUFjSCxlQUFnQixNQWJiO0VBYUgsZUFBZ0IsTUFaYjtFQVlILGVBQWdCLE1BWGI7SUFZRCxpQkFBQTs7O0FBV047RUFDRSxtQkFBQTs7QUFRRjtBQUNBO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTs7QUFMRixNQU9FO0FBTkYsU0FNRTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTs7QUFHSixNQUFPLE1BQUs7QUFDWixhQUFjLE1BQUs7QUFDbkIsU0FBVSxNQUFLO0FBQ2YsZ0JBQWlCLE1BQUs7RUFDcEIsa0JBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBOztBQUdGLE1BQU87QUFDUCxTQUFVO0VBQ1IsZ0JBQUE7O0FBSUY7QUFDQTtFQUNFLGtCQUFBO0VBQ0EscUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RUFDQSxtQkFBQTtFQUNBLGVBQUE7O0FBRUYsYUFBYztBQUNkLGdCQUFpQjtFQUNmLGFBQUE7RUFDQSxpQkFBQTs7QUFTQSxLQUZHLGNBRUY7QUFBRCxLQURHLGlCQUNGO0FBQ0QsS0FIRyxjQUdGO0FBQUQsS0FGRyxpQkFFRjtBQUNELFFBQVEsVUFBVyxNQUpoQjtBQUlILFFBQVEsVUFBVyxNQUhoQjtFQUlELG1CQUFBOztBQU1GLGFBQUM7QUFBRCxnQkFBQztBQUNELFFBQVEsVUFBVztBQUFuQixRQUFRLFVBQVc7RUFDakIsbUJBQUE7O0FBTUYsTUFBQyxTQUVDO0FBRkYsU0FBQyxTQUVDO0FBREYsUUFBUSxVQUFXLE9BQ2pCO0FBREYsUUFBUSxVQUFXLFVBQ2pCO0VBQ0UsbUJBQUE7O0FBV047RUFFRSxnQkFBQTtFQUNBLG1CQUFBO0VBRUEsZ0JBQUE7RUFDQSxnQkFBQTs7QUFFQSxvQkFBQztBQUNELG9CQUFDO0VBQ0MsZUFBQTtFQUNBLGdCQUFBOztBQWFKO0VDN1BFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGtCQUFBOztBQUVBLE1BQU07RUFDSixZQUFBO0VBQ0EsaUJBQUE7O0FBR0YsUUFBUTtBQUNSLE1BQU0sVUFBVTtFQUNkLFlBQUE7O0FEbVBKLGNBQ0U7RUFDRSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTs7QUFOSixjQVFFLE9BQU07RUFDSixZQUFBO0VBQ0EsaUJBQUE7O0FBVkosY0FZRSxTQUFRO0FBWlYsY0FhRSxPQUFNLFVBQVU7RUFDZCxZQUFBOztBQWRKLGNBZ0JFO0VBQ0UsWUFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7O0FBSUo7RUN6UkUsWUFBQTtFQUNBLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7O0FBRUEsTUFBTTtFQUNKLFlBQUE7RUFDQSxpQkFBQTs7QUFHRixRQUFRO0FBQ1IsTUFBTSxVQUFVO0VBQ2QsWUFBQTs7QUQrUUosY0FDRTtFQUNFLFlBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBQU5KLGNBUUUsT0FBTTtFQUNKLFlBQUE7RUFDQSxpQkFBQTs7QUFWSixjQVlFLFNBQVE7QUFaVixjQWFFLE9BQU0sVUFBVTtFQUNkLFlBQUE7O0FBZEosY0FnQkU7RUFDRSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFTSjtFQUVFLGtCQUFBOztBQUZGLGFBS0U7RUFDRSxzQkFBQTs7QUFJSjtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLG9CQUFBOztBQUVGLFNBQVU7QUFDVixlQUFnQjtBQUNoQixjQUFlLGNBQWM7RUFDM0IsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTs7QUFFRixTQUFVO0FBQ1YsZUFBZ0I7QUFDaEIsY0FBZSxjQUFjO0VBQzNCLFdBQUE7RUFDQSxZQUFBO0VBQ0EsaUJBQUE7O0FBSUYsWUM5WkU7QUQ4WkYsWUM3WkU7QUQ2WkYsWUM1WkU7QUQ0WkYsWUMzWkU7QUQyWkYsWUMxWkU7QUQwWkYsWUN6WkU7QUFDQSxZQUFDLE1BQU87QUFDUixZQUFDLFNBQVU7QUFDWCxZQUFDLGFBQWM7QUFDZixZQUFDLGdCQUFpQjtFQUNoQixjQUFBOztBRG9aSixZQ2paRTtFQUNFLHFCQUFBO0VqQitDRix3REFBQTtFQUNRLGdEQUFBOztBaUI5Q04sWUFIRixjQUdHO0VBQ0MscUJBQUE7RWpCNENKLHlFQUFBO0VBQ1EsaUVBQUE7O0FnQmdXVixZQ3ZZRTtFQUNFLGNBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBOztBRG9ZSixZQ2pZRTtFQUNFLGNBQUE7O0FEbVlKLFlDamFFO0FEaWFGLFlDaGFFO0FEZ2FGLFlDL1pFO0FEK1pGLFlDOVpFO0FEOFpGLFlDN1pFO0FENlpGLFlDNVpFO0FBQ0EsWUFBQyxNQUFPO0FBQ1IsWUFBQyxTQUFVO0FBQ1gsWUFBQyxhQUFjO0FBQ2YsWUFBQyxnQkFBaUI7RUFDaEIsY0FBQTs7QUR1WkosWUNwWkU7RUFDRSxxQkFBQTtFakIrQ0Ysd0RBQUE7RUFDUSxnREFBQTs7QWlCOUNOLFlBSEYsY0FHRztFQUNDLHFCQUFBO0VqQjRDSix5RUFBQTtFQUNRLGlFQUFBOztBZ0JtV1YsWUMxWUU7RUFDRSxjQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTs7QUR1WUosWUNwWUU7RUFDRSxjQUFBOztBRHNZSixVQ3BhRTtBRG9hRixVQ25hRTtBRG1hRixVQ2xhRTtBRGthRixVQ2phRTtBRGlhRixVQ2hhRTtBRGdhRixVQy9aRTtBQUNBLFVBQUMsTUFBTztBQUNSLFVBQUMsU0FBVTtBQUNYLFVBQUMsYUFBYztBQUNmLFVBQUMsZ0JBQWlCO0VBQ2hCLGNBQUE7O0FEMFpKLFVDdlpFO0VBQ0UscUJBQUE7RWpCK0NGLHdEQUFBO0VBQ1EsZ0RBQUE7O0FpQjlDTixVQUhGLGNBR0c7RUFDQyxxQkFBQTtFakI0Q0oseUVBQUE7RUFDUSxpRUFBQTs7QWdCc1dWLFVDN1lFO0VBQ0UsY0FBQTtFQUNBLHFCQUFBO0VBQ0EseUJBQUE7O0FEMFlKLFVDdllFO0VBQ0UsY0FBQTs7QUQ2WUYsYUFGWSxNQUVWO0VBQ0MsU0FBQTs7QUFFSCxhQUxZLE1BS1gsUUFBUztFQUNQLE1BQUE7O0FBVUw7RUFDRSxjQUFBO0VBQ0EsZUFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTs7QUFtRkYsUUFqRXFDO0VBaUVyQyxZQS9ESTtJQUNFLHFCQUFBO0lBQ0EsZ0JBQUE7SUFDQSxzQkFBQTs7RUE0RE4sWUF4REk7SUFDRSxxQkFBQTtJQUNBLFdBQUE7SUFDQSxzQkFBQTs7RUFxRE4sWUFqREk7SUFDRSxxQkFBQTs7RUFnRE4sWUE3Q0k7SUFDRSxxQkFBQTtJQUNBLHNCQUFBOztFQTJDTixZQTdDSSxhQUlFO0VBeUNOLFlBN0NJLGFBS0U7RUF3Q04sWUE3Q0ksYUFNRTtJQUNFLFdBQUE7O0VBc0NSLFlBakNJLGFBQWE7SUFDWCxXQUFBOztFQWdDTixZQTdCSTtJQUNFLGdCQUFBO0lBQ0Esc0JBQUE7O0VBMkJOLFlBdEJJO0VBc0JKLFlBckJJO0lBQ0UscUJBQUE7SUFDQSxhQUFBO0lBQ0EsZ0JBQUE7SUFDQSxzQkFBQTs7RUFpQk4sWUF0QkksT0FPRTtFQWVOLFlBckJJLFVBTUU7SUFDRSxlQUFBOztFQWNSLFlBWEksT0FBTyxNQUFLO0VBV2hCLFlBVkksVUFBVSxNQUFLO0lBQ2Isa0JBQUE7SUFDQSxjQUFBOztFQVFOLFlBSkksY0FBYztJQUNaLE1BQUE7OztBQVdOLGdCQUtFO0FBTEYsZ0JBTUU7QUFORixnQkFPRTtBQVBGLGdCQVFFO0VBQ0UsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsZ0JBQUE7O0FBWEosZ0JBZUU7QUFmRixnQkFnQkU7RUFDRSxnQkFBQTs7QUFqQkosZ0JBcUJFO0VKcmlCQSxrQkFBQTtFQUNBLG1CQUFBOztBSWtqQkEsUUFSbUM7RUFRbkMsZ0JBUEU7SUFDRSxpQkFBQTtJQUNBLGdCQUFBO0lBQ0EsZ0JBQUE7OztBQS9CTixnQkF1Q0UsY0FBYztFQUNaLFdBQUE7O0FBY0YsUUFOcUM7RUFNckMsZ0JBUEEsZUFFSTtJQUNFLG9CQUFBO0lBQ0EsZUFBQTs7O0FBV04sUUFOcUM7RUFNckMsZ0JBUEEsZUFFSTtJQUNFLGdCQUFBO0lBQ0EsZUFBQTs7O0FFbGxCUjtFQUNFLHFCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSwwQkFBQTtFQUNBLGVBQUE7RUFDQSxzQkFBQTtFQUNBLDZCQUFBO0VBQ0EsbUJBQUE7RUM2Q0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsdUJBQUE7RUFDQSxrQkFBQTtFbkI0SkEseUJBQUE7RUFDRyxzQkFBQTtFQUNDLHFCQUFBO0VBQ0ksaUJBQUE7O0FrQnhNTixJQUFDO0FBQUQsSUFGRCxPQUVFO0FBQUQsSUFERCxPQUNFO0FBQ0QsSUFBQztBQUFELElBSEQsT0FHRTtBQUFELElBRkQsT0FFRTtFaEJ0Qkgsb0JBQUE7RUFFQSwwQ0FBQTtFQUNBLG9CQUFBOztBZ0J3QkEsSUFBQztBQUNELElBQUM7QUFDRCxJQUFDO0VBQ0MsY0FBQTtFQUNBLHFCQUFBOztBQUdGLElBQUM7QUFDRCxJQUFDO0VBQ0MsVUFBQTtFQUNBLHNCQUFBO0VsQjJCRix3REFBQTtFQUNRLGdEQUFBOztBa0J4QlIsSUFBQztBQUNELElBQUM7QUFDRCxRQUFRLFVBQVc7RUFDakIsbUJBQUE7RUU3Q0YsYUFBQTtFQUdBLHlCQUFBO0VwQjhEQSx3QkFBQTtFQUNRLGdCQUFBOztBa0JmTixDQURELElBQ0U7QUFDRCxRQUFRLFVBQVcsRUFGcEI7RUFHRyxvQkFBQTs7QUFTTjtFQzNERSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFFQSxZQUFDO0FBQ0QsWUFBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLFlBQUM7RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDSSxxQkFBQTs7QUFFTixZQUFDO0FBQ0QsWUFBQztBQUNELEtBQU0sbUJBQWtCO0VBQ3RCLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVKLFlBUEQsT0FPRTtBQUFELFlBTkQsT0FNRTtBQUFELEtBTEksbUJBQWtCLFlBS3JCO0FBQ0QsWUFSRCxPQVFFO0FBQUQsWUFQRCxPQU9FO0FBQUQsS0FOSSxtQkFBa0IsWUFNckI7QUFDRCxZQVRELE9BU0U7QUFBRCxZQVJELE9BUUU7QUFBRCxLQVBJLG1CQUFrQixZQU9yQjtFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUdSLFlBQUM7QUFDRCxZQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsc0JBQUE7O0FBS0EsWUFIRDtBQUdDLFlBRkQ7QUFFQyxRQURNLFVBQVc7QUFFakIsWUFKRCxTQUlFO0FBQUQsWUFIRCxVQUdFO0FBQUQsUUFGTSxVQUFXLGFBRWhCO0FBQ0QsWUFMRCxTQUtFO0FBQUQsWUFKRCxVQUlFO0FBQUQsUUFITSxVQUFXLGFBR2hCO0FBQ0QsWUFORCxTQU1FO0FBQUQsWUFMRCxVQUtFO0FBQUQsUUFKTSxVQUFXLGFBSWhCO0FBQ0QsWUFQRCxTQU9FO0FBQUQsWUFORCxVQU1FO0FBQUQsUUFMTSxVQUFXLGFBS2hCO0FBQ0QsWUFSRCxTQVFFO0FBQUQsWUFQRCxVQU9FO0FBQUQsUUFOTSxVQUFXLGFBTWhCO0VBQ0MseUJBQUE7RUFDSSxxQkFBQTs7QURjVixZQ1ZFO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBRFdKO0VDOURFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUVBLFlBQUM7QUFDRCxZQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRU4sWUFBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLFlBQUM7QUFDRCxZQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRUosWUFQRCxPQU9FO0FBQUQsWUFORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsWUFLckI7QUFDRCxZQVJELE9BUUU7QUFBRCxZQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixZQU1yQjtBQUNELFlBVEQsT0FTRTtBQUFELFlBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFlBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBR1IsWUFBQztBQUNELFlBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxZQUhEO0FBR0MsWUFGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixZQUpELFNBSUU7QUFBRCxZQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsYUFFaEI7QUFDRCxZQUxELFNBS0U7QUFBRCxZQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsYUFHaEI7QUFDRCxZQU5ELFNBTUU7QUFBRCxZQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsYUFJaEI7QUFDRCxZQVBELFNBT0U7QUFBRCxZQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsYUFLaEI7QUFDRCxZQVJELFNBUUU7QUFBRCxZQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsYUFNaEI7RUFDQyx5QkFBQTtFQUNJLHFCQUFBOztBRGlCVixZQ2JFO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBRGVKO0VDbEVFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUVBLFlBQUM7QUFDRCxZQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRU4sWUFBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLFlBQUM7QUFDRCxZQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRUosWUFQRCxPQU9FO0FBQUQsWUFORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsWUFLckI7QUFDRCxZQVJELE9BUUU7QUFBRCxZQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixZQU1yQjtBQUNELFlBVEQsT0FTRTtBQUFELFlBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFlBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBR1IsWUFBQztBQUNELFlBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxZQUhEO0FBR0MsWUFGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixZQUpELFNBSUU7QUFBRCxZQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsYUFFaEI7QUFDRCxZQUxELFNBS0U7QUFBRCxZQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsYUFHaEI7QUFDRCxZQU5ELFNBTUU7QUFBRCxZQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsYUFJaEI7QUFDRCxZQVBELFNBT0U7QUFBRCxZQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsYUFLaEI7QUFDRCxZQVJELFNBUUU7QUFBRCxZQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsYUFNaEI7RUFDQyx5QkFBQTtFQUNJLHFCQUFBOztBRHFCVixZQ2pCRTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QURtQko7RUN0RUUsY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBRUEsU0FBQztBQUNELFNBQUM7RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDSSxxQkFBQTs7QUFFTixTQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRU4sU0FBQztBQUNELFNBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixjQUFBO0VBQ0EseUJBQUE7RUFDSSxxQkFBQTs7QUFFSixTQVBELE9BT0U7QUFBRCxTQU5ELE9BTUU7QUFBRCxLQUxJLG1CQUFrQixTQUtyQjtBQUNELFNBUkQsT0FRRTtBQUFELFNBUEQsT0FPRTtBQUFELEtBTkksbUJBQWtCLFNBTXJCO0FBQ0QsU0FURCxPQVNFO0FBQUQsU0FSRCxPQVFFO0FBQUQsS0FQSSxtQkFBa0IsU0FPckI7RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDSSxxQkFBQTs7QUFHUixTQUFDO0FBQ0QsU0FBQztBQUNELEtBQU0sbUJBQWtCO0VBQ3RCLHNCQUFBOztBQUtBLFNBSEQ7QUFHQyxTQUZEO0FBRUMsUUFETSxVQUFXO0FBRWpCLFNBSkQsU0FJRTtBQUFELFNBSEQsVUFHRTtBQUFELFFBRk0sVUFBVyxVQUVoQjtBQUNELFNBTEQsU0FLRTtBQUFELFNBSkQsVUFJRTtBQUFELFFBSE0sVUFBVyxVQUdoQjtBQUNELFNBTkQsU0FNRTtBQUFELFNBTEQsVUFLRTtBQUFELFFBSk0sVUFBVyxVQUloQjtBQUNELFNBUEQsU0FPRTtBQUFELFNBTkQsVUFNRTtBQUFELFFBTE0sVUFBVyxVQUtoQjtBQUNELFNBUkQsU0FRRTtBQUFELFNBUEQsVUFPRTtBQUFELFFBTk0sVUFBVyxVQU1oQjtFQUNDLHlCQUFBO0VBQ0kscUJBQUE7O0FEeUJWLFNDckJFO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBRHVCSjtFQzFFRSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFFQSxZQUFDO0FBQ0QsWUFBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLFlBQUM7RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDSSxxQkFBQTs7QUFFTixZQUFDO0FBQ0QsWUFBQztBQUNELEtBQU0sbUJBQWtCO0VBQ3RCLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVKLFlBUEQsT0FPRTtBQUFELFlBTkQsT0FNRTtBQUFELEtBTEksbUJBQWtCLFlBS3JCO0FBQ0QsWUFSRCxPQVFFO0FBQUQsWUFQRCxPQU9FO0FBQUQsS0FOSSxtQkFBa0IsWUFNckI7QUFDRCxZQVRELE9BU0U7QUFBRCxZQVJELE9BUUU7QUFBRCxLQVBJLG1CQUFrQixZQU9yQjtFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUdSLFlBQUM7QUFDRCxZQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsc0JBQUE7O0FBS0EsWUFIRDtBQUdDLFlBRkQ7QUFFQyxRQURNLFVBQVc7QUFFakIsWUFKRCxTQUlFO0FBQUQsWUFIRCxVQUdFO0FBQUQsUUFGTSxVQUFXLGFBRWhCO0FBQ0QsWUFMRCxTQUtFO0FBQUQsWUFKRCxVQUlFO0FBQUQsUUFITSxVQUFXLGFBR2hCO0FBQ0QsWUFORCxTQU1FO0FBQUQsWUFMRCxVQUtFO0FBQUQsUUFKTSxVQUFXLGFBSWhCO0FBQ0QsWUFQRCxTQU9FO0FBQUQsWUFORCxVQU1FO0FBQUQsUUFMTSxVQUFXLGFBS2hCO0FBQ0QsWUFSRCxTQVFFO0FBQUQsWUFQRCxVQU9FO0FBQUQsUUFOTSxVQUFXLGFBTWhCO0VBQ0MseUJBQUE7RUFDSSxxQkFBQTs7QUQ2QlYsWUN6QkU7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FEMkJKO0VDOUVFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUVBLFdBQUM7QUFDRCxXQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRU4sV0FBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLFdBQUM7QUFDRCxXQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRUosV0FQRCxPQU9FO0FBQUQsV0FORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsV0FLckI7QUFDRCxXQVJELE9BUUU7QUFBRCxXQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixXQU1yQjtBQUNELFdBVEQsT0FTRTtBQUFELFdBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFdBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBR1IsV0FBQztBQUNELFdBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxXQUhEO0FBR0MsV0FGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixXQUpELFNBSUU7QUFBRCxXQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsWUFFaEI7QUFDRCxXQUxELFNBS0U7QUFBRCxXQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsWUFHaEI7QUFDRCxXQU5ELFNBTUU7QUFBRCxXQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsWUFJaEI7QUFDRCxXQVBELFNBT0U7QUFBRCxXQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsWUFLaEI7QUFDRCxXQVJELFNBUUU7QUFBRCxXQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsWUFNaEI7RUFDQyx5QkFBQTtFQUNJLHFCQUFBOztBRGlDVixXQzdCRTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QURvQ0o7RUFDRSxjQUFBO0VBQ0EsbUJBQUE7RUFDQSxnQkFBQTs7QUFFQTtBQUNBLFNBQUM7QUFDRCxTQUFDO0FBQ0QsU0FBQztBQUNELFFBQVEsVUFBVztFQUNqQiw2QkFBQTtFbEJuQ0Ysd0JBQUE7RUFDUSxnQkFBQTs7QWtCcUNSO0FBQ0EsU0FBQztBQUNELFNBQUM7QUFDRCxTQUFDO0VBQ0MseUJBQUE7O0FBRUYsU0FBQztBQUNELFNBQUM7RUFDQyxjQUFBO0VBQ0EsMEJBQUE7RUFDQSw2QkFBQTs7QUFJQSxTQUZELFVBRUU7QUFBRCxRQURNLFVBQVcsVUFDaEI7QUFDRCxTQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsVUFFaEI7RUFDQyxjQUFBO0VBQ0EscUJBQUE7O0FBU047QUduQ0EsYUFBYztFRmxDWixrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBOztBRHNFRjtBR3hDQSxhQUFjO0VGakNaLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7O0FEMEVGO0FHN0NBLGFBQWM7RUZoQ1osZ0JBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTs7QURrRkY7RUFDRSxjQUFBO0VBQ0EsV0FBQTs7QUFJRixVQUFXO0VBQ1QsZUFBQTs7QUFPQSxLQUhHLGVBR0Y7QUFBRCxLQUZHLGNBRUY7QUFBRCxLQURHLGVBQ0Y7RUFDQyxXQUFBOztBSTFKSjtFQUNFLFVBQUE7RXRCb0xBLHdDQUFBO0VBQ0ssbUNBQUE7RUFDRyxnQ0FBQTs7QXNCcExSLEtBQUM7RUFDQyxVQUFBOztBQUlKO0VBQ0UsYUFBQTs7QUFFQSxTQUFDO0VBQVcsY0FBQTs7QUFDWixFQUFFLFNBQUM7RUFBUyxrQkFBQTs7QUFDWixLQUFLLFNBQUM7RUFBTSx3QkFBQTs7QUFHZDtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGdCQUFBO0V0QnVLQSwrQ0FBQTtFQUNRLHVDQUFBO0VBT1Isa0NBQUE7RUFDUSwwQkFBQTtFQUdSLG9Dc0JoTDZCLDhCdEJnTDdCO0VBQ1EsNEJzQmpMcUIsOEJ0QmlMckI7O0F1QjFNVjtFQUNFLHFCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBO0VBQ0Esc0JBQUE7RUFDQSx3QkFBQTtFQUNBLG1DQUFBO0VBQ0Esa0NBQUE7O0FBSUY7QUFDQTtFQUNFLGtCQUFBOztBQUlGLGdCQUFnQjtFQUNkLFVBQUE7O0FBSUY7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsYUFBQTtFQUNBLGFBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RUFDQSxjQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RXZCc0JBLG1EQUFBO0VBQ1EsMkNBQUE7RXVCckJSLDRCQUFBOztBQUtBLGNBQUM7RUFDQyxRQUFBO0VBQ0EsVUFBQTs7QUF6QkosY0E2QkU7RUN0REEsV0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLHlCQUFBOztBRHNCRixjQWtDRSxLQUFLO0VBQ0gsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsV0FBQTtFQUNBLG1CQUFBO0VBQ0EsdUJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7O0FBTUYsY0FEYSxLQUFLLElBQ2pCO0FBQ0QsY0FGYSxLQUFLLElBRWpCO0VBQ0MscUJBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7O0FBTUYsY0FEYSxVQUFVO0FBRXZCLGNBRmEsVUFBVSxJQUV0QjtBQUNELGNBSGEsVUFBVSxJQUd0QjtFQUNDLGNBQUE7RUFDQSxxQkFBQTtFQUNBLFVBQUE7RUFDQSx5QkFBQTs7QUFTRixjQURhLFlBQVk7QUFFekIsY0FGYSxZQUFZLElBRXhCO0FBQ0QsY0FIYSxZQUFZLElBR3hCO0VBQ0MsY0FBQTs7QUFJRixjQVJhLFlBQVksSUFReEI7QUFDRCxjQVRhLFlBQVksSUFTeEI7RUFDQyxxQkFBQTtFQUNBLDZCQUFBO0VBQ0Esc0JBQUE7RUUzR0YsbUVBQUE7RUY2R0UsbUJBQUE7O0FBS0osS0FFRTtFQUNFLGNBQUE7O0FBSEosS0FPRTtFQUNFLFVBQUE7O0FBUUo7RUFDRSxVQUFBO0VBQ0EsUUFBQTs7QUFRRjtFQUNFLE9BQUE7RUFDQSxXQUFBOztBQUlGO0VBQ0UsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBOztBQUlGO0VBQ0UsZUFBQTtFQUNBLE9BQUE7RUFDQSxRQUFBO0VBQ0EsU0FBQTtFQUNBLE1BQUE7RUFDQSxZQUFBOztBQUlGLFdBQVk7RUFDVixRQUFBO0VBQ0EsVUFBQTs7QUFRRixPQUdFO0FBRkYsb0JBQXFCLFVBRW5CO0VBQ0UsYUFBQTtFQUNBLHlCQUFBO0VBQ0EsMkJBQUE7RUFDQSxTQUFTLEVBQVQ7O0FBUEosT0FVRTtBQVRGLG9CQUFxQixVQVNuQjtFQUNFLFNBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7O0FBcUJKLFFBWjJDO0VBQ3pDLGFBQ0U7SUFyRUYsVUFBQTtJQUNBLFFBQUE7O0VBbUVBLGFBTUU7SUFoRUYsT0FBQTtJQUNBLFdBQUE7OztBRi9JRjtBQUNBO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtFQUNBLHNCQUFBOztBQUpGLFVBS0U7QUFKRixtQkFJRTtFQUNFLGtCQUFBO0VBQ0EsV0FBQTs7QUFFQSxVQUpGLE9BSUc7QUFBRCxtQkFKRixPQUlHO0FBQ0QsVUFMRixPQUtHO0FBQUQsbUJBTEYsT0FLRztBQUNELFVBTkYsT0FNRztBQUFELG1CQU5GLE9BTUc7QUFDRCxVQVBGLE9BT0c7QUFBRCxtQkFQRixPQU9HO0VBQ0MsVUFBQTs7QUFNTixVQUNFLEtBQUs7QUFEUCxVQUVFLEtBQUs7QUFGUCxVQUdFLFdBQVc7QUFIYixVQUlFLFdBQVc7RUFDVCxpQkFBQTs7QUFLSjtFQUNFLGlCQUFBOztBQURGLFlBSUU7QUFKRixZQUtFO0FBTEYsWUFNRTtFQUNFLFdBQUE7O0FBUEosWUFTRTtBQVRGLFlBVUU7QUFWRixZQVdFO0VBQ0UsZ0JBQUE7O0FBSUosVUFBVyxPQUFNLElBQUksY0FBYyxJQUFJLGFBQWEsSUFBSTtFQUN0RCxnQkFBQTs7QUFJRixVQUFXLE9BQU07RUFDZixjQUFBOztBQUNBLFVBRlMsT0FBTSxZQUVkLElBQUksYUFBYSxJQUFJO0VLbER0Qiw2QkFBQTtFQUNHLDBCQUFBOztBTHNETCxVQUFXLE9BQU0sV0FBVyxJQUFJO0FBQ2hDLFVBQVcsbUJBQWtCLElBQUk7RUtoRC9CLDRCQUFBO0VBQ0cseUJBQUE7O0FMb0RMLFVBQVc7RUFDVCxXQUFBOztBQUVGLFVBQVcsYUFBWSxJQUFJLGNBQWMsSUFBSSxhQUFjO0VBQ3pELGdCQUFBOztBQUVGLFVBQVcsYUFBWSxZQUFZLElBQUksYUFDckMsT0FBTTtBQURSLFVBQVcsYUFBWSxZQUFZLElBQUksYUFFckM7RUtyRUEsNkJBQUE7RUFDRywwQkFBQTs7QUx3RUwsVUFBVyxhQUFZLFdBQVcsSUFBSSxjQUFlLE9BQU07RUtqRXpELDRCQUFBO0VBQ0cseUJBQUE7O0FMcUVMLFVBQVcsaUJBQWdCO0FBQzNCLFVBQVUsS0FBTTtFQUNkLFVBQUE7O0FBaUJGLFVBQVcsT0FBTztFQUNoQixpQkFBQTtFQUNBLGtCQUFBOztBQUVGLFVBQVcsVUFBVTtFQUNuQixrQkFBQTtFQUNBLG1CQUFBOztBQUtGLFVBQVUsS0FBTTtFckIvQ2Qsd0RBQUE7RUFDUSxnREFBQTs7QXFCa0RSLFVBSlEsS0FBTSxpQkFJYjtFckJuREQsd0JBQUE7RUFDUSxnQkFBQTs7QXFCeURWLElBQUs7RUFDSCxjQUFBOztBQUdGLE9BQVE7RUFDTix1QkFBQTtFQUNBLHNCQUFBOztBQUdGLE9BQVEsUUFBUTtFQUNkLHVCQUFBOztBQU9GLG1CQUNFO0FBREYsbUJBRUU7QUFGRixtQkFHRSxhQUFhO0VBQ1gsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTs7QUFQSixtQkFXRSxhQUVFO0VBQ0UsV0FBQTs7QUFkTixtQkFrQkUsT0FBTztBQWxCVCxtQkFtQkUsT0FBTztBQW5CVCxtQkFvQkUsYUFBYTtBQXBCZixtQkFxQkUsYUFBYTtFQUNYLGdCQUFBO0VBQ0EsY0FBQTs7QUFLRixtQkFEa0IsT0FDakIsSUFBSSxjQUFjLElBQUk7RUFDckIsZ0JBQUE7O0FBRUYsbUJBSmtCLE9BSWpCLFlBQVksSUFBSTtFQUNmLDRCQUFBO0VLcEtGLDZCQUFBO0VBQ0MsNEJBQUE7O0FMc0tELG1CQVJrQixPQVFqQixXQUFXLElBQUk7RUFDZCw4QkFBQTtFS2hMRiwwQkFBQTtFQUNDLHlCQUFBOztBTG1MSCxtQkFBb0IsYUFBWSxJQUFJLGNBQWMsSUFBSSxhQUFjO0VBQ2xFLGdCQUFBOztBQUVGLG1CQUFvQixhQUFZLFlBQVksSUFBSSxhQUM5QyxPQUFNO0FBRFIsbUJBQW9CLGFBQVksWUFBWSxJQUFJLGFBRTlDO0VLakxBLDZCQUFBO0VBQ0MsNEJBQUE7O0FMb0xILG1CQUFvQixhQUFZLFdBQVcsSUFBSSxjQUFlLE9BQU07RUs3TGxFLDBCQUFBO0VBQ0MseUJBQUE7O0FMb01IO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBOztBQUpGLG9CQUtFO0FBTEYsb0JBTUU7RUFDRSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBOztBQVRKLG9CQVdFLGFBQWE7RUFDWCxXQUFBOztBQVpKLG9CQWVFLGFBQWE7RUFDWCxVQUFBOztBQWlCSix1QkFDRSxPQUVFLE1BQUs7QUFIVCx1QkFFRSxhQUFhLE9BQ1gsTUFBSztBQUhULHVCQUNFLE9BR0UsTUFBSztBQUpULHVCQUVFLGFBQWEsT0FFWCxNQUFLO0VBQ0gsa0JBQUE7RUFDQSxNQUFNLGdCQUFOO0VBQ0Esb0JBQUE7O0FNMU9OO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7O0FBR0EsWUFBQztFQUNDLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7O0FBVEosWUFZRTtFQUdFLGtCQUFBO0VBQ0EsVUFBQTtFQUtBLFdBQUE7RUFFQSxXQUFBO0VBQ0EsZ0JBQUE7O0FBU0osZUFBZ0I7QUFDaEIsZUFBZ0I7QUFDaEIsZUFBZ0IsbUJBQW1CO0VWNEJqQyxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QUFFQSxNQUFNLGVVcENRO0FWb0NkLE1BQU0sZVVuQ1E7QVZtQ2QsTUFBTSxlVWxDUSxtQkFBbUI7RVZtQy9CLFlBQUE7RUFDQSxpQkFBQTs7QUFHRixRQUFRLGVVekNNO0FWeUNkLFFBQVEsZVV4Q007QVZ3Q2QsUUFBUSxlVXZDTSxtQkFBbUI7QVZ3Q2pDLE1BQU0sVUFBVSxlVTFDRjtBVjBDZCxNQUFNLFVBQVUsZVV6Q0Y7QVZ5Q2QsTUFBTSxVQUFVLGVVeENGLG1CQUFtQjtFVnlDL0IsWUFBQTs7QVV0Q0osZUFBZ0I7QUFDaEIsZUFBZ0I7QUFDaEIsZUFBZ0IsbUJBQW1CO0VWdUJqQyxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFV21FQSxZQUFBOztBWGpFQSxNQUFNLGVVL0JRO0FWK0JkLE1BQU0sZVU5QlE7QVY4QmQsTUFBTSxlVTdCUSxtQkFBbUI7RVY4Qi9CLFlBQUE7RUFDQSxpQkFBQTs7QUFHRixRQUFRLGVVcENNO0FWb0NkLFFBQVEsZVVuQ007QVZtQ2QsUUFBUSxlVWxDTSxtQkFBbUI7QVZtQ2pDLE1BQU0sVUFBVSxlVXJDRjtBVnFDZCxNQUFNLFVBQVUsZVVwQ0Y7QVZvQ2QsTUFBTSxVQUFVLGVVbkNGLG1CQUFtQjtFVm9DL0IsWUFBQTs7QVU3Qko7QUFDQTtBQUNBLFlBQWE7RUFDWCxtQkFBQTs7QUFFQSxrQkFBQyxJQUFJLGNBQWMsSUFBSTtBQUF2QixnQkFBQyxJQUFJLGNBQWMsSUFBSTtBQUF2QixZQUhXLGNBR1YsSUFBSSxjQUFjLElBQUk7RUFDckIsZ0JBQUE7O0FBSUo7QUFDQTtFQUNFLFNBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBOztBQUtGO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBOztBQUdBLGtCQUFDO0VBQ0MsaUJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7O0FBRUYsa0JBQUM7RUFDQyxrQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTs7QUFwQkosa0JBd0JFLE1BQUs7QUF4QlAsa0JBeUJFLE1BQUs7RUFDSCxhQUFBOztBQUtKLFlBQWEsY0FBYTtBQUMxQixrQkFBa0I7QUFDbEIsZ0JBQWdCLFlBQWE7QUFDN0IsZ0JBQWdCLFlBQWEsYUFBYTtBQUMxQyxnQkFBZ0IsWUFBYTtBQUM3QixnQkFBZ0IsV0FBWSxPQUFNLElBQUksYUFBYSxJQUFJO0FBQ3ZELGdCQUFnQixXQUFZLGFBQVksSUFBSSxhQUFjO0VEdEd4RCw2QkFBQTtFQUNHLDBCQUFBOztBQ3dHTCxrQkFBa0I7RUFDaEIsZUFBQTs7QUFFRixZQUFhLGNBQWE7QUFDMUIsa0JBQWtCO0FBQ2xCLGdCQUFnQixXQUFZO0FBQzVCLGdCQUFnQixXQUFZLGFBQWE7QUFDekMsZ0JBQWdCLFdBQVk7QUFDNUIsZ0JBQWdCLFlBQWEsT0FBTSxJQUFJO0FBQ3ZDLGdCQUFnQixZQUFhLGFBQVksSUFBSSxjQUFlO0VEMUcxRCw0QkFBQTtFQUNHLHlCQUFBOztBQzRHTCxrQkFBa0I7RUFDaEIsY0FBQTs7QUFLRjtFQUNFLGtCQUFBO0VBR0EsWUFBQTtFQUNBLG1CQUFBOztBQUxGLGdCQVNFO0VBQ0Usa0JBQUE7O0FBVkosZ0JBU0UsT0FFRTtFQUNFLGlCQUFBOztBQUdGLGdCQU5GLE9BTUc7QUFDRCxnQkFQRixPQU9HO0FBQ0QsZ0JBUkYsT0FRRztFQUNDLFVBQUE7O0FBS0osZ0JBQUMsWUFDQztBQURGLGdCQUFDLFlBRUM7RUFDRSxrQkFBQTs7QUFHSixnQkFBQyxXQUNDO0FBREYsZ0JBQUMsV0FFQztFQUNFLFVBQUE7RUFDQSxpQkFBQTs7QUUzSk47RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTs7QUFIRixJQU1FO0VBQ0Usa0JBQUE7RUFDQSxjQUFBOztBQVJKLElBTUUsS0FJRTtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBOztBQUNBLElBUkosS0FJRSxJQUlHO0FBQ0QsSUFUSixLQUlFLElBS0c7RUFDQyxxQkFBQTtFQUNBLDZCQUFBOztBQUtKLElBaEJGLEtBZ0JHLFNBQVU7RUFDVCxjQUFBOztBQUVBLElBbkJKLEtBZ0JHLFNBQVUsSUFHUjtBQUNELElBcEJKLEtBZ0JHLFNBQVUsSUFJUjtFQUNDLGNBQUE7RUFDQSxxQkFBQTtFQUNBLDZCQUFBO0VBQ0EsbUJBQUE7O0FBT0osSUFERixNQUFNO0FBRUosSUFGRixNQUFNLElBRUg7QUFDRCxJQUhGLE1BQU0sSUFHSDtFQUNDLDZCQUFBO0VBQ0EscUJBQUE7O0FBekNOLElBa0RFO0VMckRBLFdBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTs7QUtBRixJQXlERSxLQUFLLElBQUk7RUFDUCxlQUFBOztBQVNKO0VBQ0UsZ0NBQUE7O0FBREYsU0FFRTtFQUNFLFdBQUE7RUFFQSxtQkFBQTs7QUFMSixTQUVFLEtBTUU7RUFDRSxpQkFBQTtFQUNBLHVCQUFBO0VBQ0EsNkJBQUE7RUFDQSwwQkFBQTs7QUFDQSxTQVhKLEtBTUUsSUFLRztFQUNDLHFDQUFBOztBQU1GLFNBbEJKLEtBaUJHLE9BQVE7QUFFUCxTQW5CSixLQWlCRyxPQUFRLElBRU47QUFDRCxTQXBCSixLQWlCRyxPQUFRLElBR047RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLGdDQUFBO0VBQ0EsZUFBQTs7QUFLTixTQUFDO0VBcURELFdBQUE7RUE4QkEsZ0JBQUE7O0FBbkZBLFNBQUMsY0F1REQ7RUFDRSxXQUFBOztBQXhERixTQUFDLGNBdURELEtBRUU7RUFDRSxrQkFBQTtFQUNBLGtCQUFBOztBQTNESixTQUFDLGNBK0RELFlBQVk7RUFDVixTQUFBO0VBQ0EsVUFBQTs7QUFZSixRQVRxQztFQVNyQyxTQTdFRyxjQXFFQztJQUNFLG1CQUFBO0lBQ0EsU0FBQTs7RUFNTixTQTdFRyxjQXFFQyxLQUdFO0lBQ0UsZ0JBQUE7OztBQXpFTixTQUFDLGNBcUZELEtBQUs7RUFFSCxlQUFBO0VBQ0Esa0JBQUE7O0FBeEZGLFNBQUMsY0EyRkQsVUFBVTtBQTNGVixTQUFDLGNBNEZELFVBQVUsSUFBRztBQTVGYixTQUFDLGNBNkZELFVBQVUsSUFBRztFQUNYLHlCQUFBOztBQWNKLFFBWHFDO0VBV3JDLFNBNUdHLGNBa0dDLEtBQUs7SUFDSCxnQ0FBQTtJQUNBLDBCQUFBOztFQVFOLFNBNUdHLGNBc0dDLFVBQVU7RUFNZCxTQTVHRyxjQXVHQyxVQUFVLElBQUc7RUFLakIsU0E1R0csY0F3R0MsVUFBVSxJQUFHO0lBQ1gsNEJBQUE7OztBQWhHTixVQUNFO0VBQ0UsV0FBQTs7QUFGSixVQUNFLEtBSUU7RUFDRSxrQkFBQTs7QUFOTixVQUNFLEtBT0U7RUFDRSxnQkFBQTs7QUFLQSxVQWJKLEtBWUcsT0FBUTtBQUVQLFVBZEosS0FZRyxPQUFRLElBRU47QUFDRCxVQWZKLEtBWUcsT0FBUSxJQUdOO0VBQ0MsY0FBQTtFQUNBLHlCQUFBOztBQVFSLFlBQ0U7RUFDRSxXQUFBOztBQUZKLFlBQ0UsS0FFRTtFQUNFLGVBQUE7RUFDQSxjQUFBOztBQVlOO0VBQ0UsV0FBQTs7QUFERixjQUdFO0VBQ0UsV0FBQTs7QUFKSixjQUdFLEtBRUU7RUFDRSxrQkFBQTtFQUNBLGtCQUFBOztBQVBOLGNBV0UsWUFBWTtFQUNWLFNBQUE7RUFDQSxVQUFBOztBQVlKLFFBVHFDO0VBU3JDLGNBUkk7SUFDRSxtQkFBQTtJQUNBLFNBQUE7O0VBTU4sY0FSSSxLQUdFO0lBQ0UsZ0JBQUE7OztBQVNSO0VBQ0UsZ0JBQUE7O0FBREYsbUJBR0UsS0FBSztFQUVILGVBQUE7RUFDQSxrQkFBQTs7QUFOSixtQkFTRSxVQUFVO0FBVFosbUJBVUUsVUFBVSxJQUFHO0FBVmYsbUJBV0UsVUFBVSxJQUFHO0VBQ1gseUJBQUE7O0FBY0osUUFYcUM7RUFXckMsbUJBVkksS0FBSztJQUNILGdDQUFBO0lBQ0EsMEJBQUE7O0VBUU4sbUJBTkksVUFBVTtFQU1kLG1CQUxJLFVBQVUsSUFBRztFQUtqQixtQkFKSSxVQUFVLElBQUc7SUFDWCw0QkFBQTs7O0FBVU4sWUFDRTtFQUNFLGFBQUE7O0FBRkosWUFJRTtFQUNFLGNBQUE7O0FBU0osU0FBVTtFQUVSLGdCQUFBO0VIM09BLDBCQUFBO0VBQ0MseUJBQUE7O0FJTUg7RUFDRSxrQkFBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSw2QkFBQTs7QUFRRixRQUg2QztFQUc3QztJQUZJLGtCQUFBOzs7QUFnQkosUUFINkM7RUFHN0M7SUFGSSxXQUFBOzs7QUFlSjtFQUNFLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlDQUFBO0VBQ0Esa0RBQUE7RUFFQSxpQ0FBQTs7QUFFQSxnQkFBQztFQUNDLGdCQUFBOztBQTRCSixRQXpCNkM7RUF5QjdDO0lBeEJJLFdBQUE7SUFDQSxhQUFBO0lBQ0EsZ0JBQUE7O0VBRUEsZ0JBQUM7SUFDQyx5QkFBQTtJQUNBLHVCQUFBO0lBQ0EsaUJBQUE7SUFDQSw0QkFBQTs7RUFHRixnQkFBQztJQUNDLG1CQUFBOztFQUtGLGlCQUFrQjtFQUNsQixrQkFBbUI7RUFDbkIsb0JBQXFCO0lBQ25CLGVBQUE7SUFDQSxnQkFBQTs7O0FBS04saUJBRUU7QUFERixvQkFDRTtFQUNFLGlCQUFBOztBQUtGLFFBSDRDLDhCQUE2QjtFQUd6RSxpQkFOQTtFQU1BLG9CQU5BO0lBSUksaUJBQUE7OztBQVVOLFVBRUU7QUFERixnQkFDRTtBQUZGLFVBR0U7QUFGRixnQkFFRTtFQUNFLG1CQUFBO0VBQ0Esa0JBQUE7O0FBTUYsUUFKNkM7RUFJN0MsVUFUQTtFQVNBLGdCQVRBO0VBU0EsVUFSQTtFQVFBLGdCQVJBO0lBS0ksZUFBQTtJQUNBLGNBQUE7OztBQWFOO0VBQ0UsYUFBQTtFQUNBLHFCQUFBOztBQUtGLFFBSDZDO0VBRzdDO0lBRkksZ0JBQUE7OztBQUtKO0FBQ0E7RUFDRSxlQUFBO0VBQ0EsUUFBQTtFQUNBLE9BQUE7RUFDQSxhQUFBOztBQU1GLFFBSDZDO0VBRzdDO0VBQUE7SUFGSSxnQkFBQTs7O0FBR0o7RUFDRSxNQUFBO0VBQ0EscUJBQUE7O0FBRUY7RUFDRSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQkFBQTs7QUFNRjtFQUNFLFdBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FBRUEsYUFBQztBQUNELGFBQUM7RUFDQyxxQkFBQTs7QUFUSixhQVlFO0VBQ0UsY0FBQTs7QUFTSixRQU42QztFQUN6QyxPQUFRLGFBQWE7RUFDckIsT0FBUSxtQkFBbUI7SUFDekIsa0JBQUE7OztBQVdOO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQzlMQSxnQkFBQTtFQUNBLG1CQUFBO0VEK0xBLDZCQUFBO0VBQ0Esc0JBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBOztBQUlBLGNBQUM7RUFDQyxVQUFBOztBQWRKLGNBa0JFO0VBQ0UsY0FBQTtFQUNBLFdBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBdEJKLGNBd0JFLFVBQVU7RUFDUixlQUFBOztBQU1KLFFBSDZDO0VBRzdDO0lBRkksYUFBQTs7O0FBVUo7RUFDRSxxQkFBQTs7QUFERixXQUdFLEtBQUs7RUFDSCxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsaUJBQUE7O0FBMkJGLFFBeEIrQztFQXdCL0MsV0F0QkUsTUFBTTtJQUNKLGdCQUFBO0lBQ0EsV0FBQTtJQUNBLFdBQUE7SUFDQSxhQUFBO0lBQ0EsNkJBQUE7SUFDQSxTQUFBO0lBQ0EsZ0JBQUE7O0VBZUosV0F0QkUsTUFBTSxlQVFKLEtBQUs7RUFjVCxXQXRCRSxNQUFNLGVBU0o7SUFDRSwwQkFBQTs7RUFZTixXQXRCRSxNQUFNLGVBWUosS0FBSztJQUNILGlCQUFBOztFQUNBLFdBZEosTUFBTSxlQVlKLEtBQUssSUFFRjtFQUNELFdBZkosTUFBTSxlQVlKLEtBQUssSUFHRjtJQUNDLHNCQUFBOzs7QUFtQlYsUUFaNkM7RUFZN0M7SUFYSSxXQUFBO0lBQ0EsU0FBQTs7RUFVSixXQVJJO0lBQ0UsV0FBQTs7RUFPTixXQVJJLEtBRUU7SUFDRSxtQkFBQTtJQUNBLHNCQUFBOzs7QUFZUjtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGlDQUFBO0VBQ0Esb0NBQUE7RTlCOU5BLDRGQUFBO0VBQ1Esb0ZBQUE7RStCL0RSLGtCQUFBO0VBQ0EscUJBQUE7O0FmZ2hCRixRQWpFcUM7RUFpRXJDLFlBL0RJO0lBQ0UscUJBQUE7SUFDQSxnQkFBQTtJQUNBLHNCQUFBOztFQTRETixZQXhESTtJQUNFLHFCQUFBO0lBQ0EsV0FBQTtJQUNBLHNCQUFBOztFQXFETixZQWpESTtJQUNFLHFCQUFBOztFQWdETixZQTdDSTtJQUNFLHFCQUFBO0lBQ0Esc0JBQUE7O0VBMkNOLFlBN0NJLGFBSUU7RUF5Q04sWUE3Q0ksYUFLRTtFQXdDTixZQTdDSSxhQU1FO0lBQ0UsV0FBQTs7RUFzQ1IsWUFqQ0ksYUFBYTtJQUNYLFdBQUE7O0VBZ0NOLFlBN0JJO0lBQ0UsZ0JBQUE7SUFDQSxzQkFBQTs7RUEyQk4sWUF0Qkk7RUFzQkosWUFyQkk7SUFDRSxxQkFBQTtJQUNBLGFBQUE7SUFDQSxnQkFBQTtJQUNBLHNCQUFBOztFQWlCTixZQXRCSSxPQU9FO0VBZU4sWUFyQkksVUFNRTtJQUNFLGVBQUE7O0VBY1IsWUFYSSxPQUFPLE1BQUs7RUFXaEIsWUFWSSxVQUFVLE1BQUs7SUFDYixrQkFBQTtJQUNBLGNBQUE7O0VBUU4sWUFKSSxjQUFjO0lBQ1osTUFBQTs7O0Fjbk9KLFFBUGlEO0VBT2pELFlBUkE7SUFFSSxrQkFBQTs7RUFFQSxZQUpKLFlBSUs7SUFDQyxnQkFBQTs7O0FBa0JSLFFBVDZDO0VBUzdDO0lBUkksV0FBQTtJQUNBLFNBQUE7SUFDQSxjQUFBO0lBQ0EsZUFBQTtJQUNBLGNBQUE7SUFDQSxpQkFBQTtJOUJ6UEYsd0JBQUE7SUFDUSxnQkFBQTs7O0E4QmlRVixXQUFZLEtBQUs7RUFDZixhQUFBO0VKcFVBLDBCQUFBO0VBQ0MseUJBQUE7O0FJdVVILG9CQUFxQixZQUFZLEtBQUs7RUFDcEMsZ0JBQUE7RUp6VUEsNEJBQUE7RUFDQywyQkFBQTtFQU9ELDZCQUFBO0VBQ0MsNEJBQUE7O0FJMFVIO0VDaFZFLGtCQUFBO0VBQ0EscUJBQUE7O0FEa1ZBLFdBQUM7RUNuVkQsZ0JBQUE7RUFDQSxtQkFBQTs7QURxVkEsV0FBQztFQ3RWRCxnQkFBQTtFQUNBLG1CQUFBOztBRCtWRjtFQ2hXRSxrQkFBQTtFQUNBLHFCQUFBOztBRHVXRixRQUw2QztFQUs3QztJQUpJLFdBQUE7SUFDQSxpQkFBQTtJQUNBLGtCQUFBOzs7QUEwQkosUUFiMkM7RUFDekM7SUV4V0Esc0JBQUE7SUNmOHlDLFdBQUE7O0VId1g5eUM7SUU1V0EsdUJBQUE7SUNadXhDLFlBQUE7SUgwWHJ4QyxtQkFBQTs7RUFGRixhQUlFO0lBQ0UsZUFBQTs7O0FBVU47RUFDRSx5QkFBQTtFQUNBLHFCQUFBOztBQUZGLGVBSUU7RUFDRSxjQUFBOztBQUNBLGVBRkYsY0FFRztBQUNELGVBSEYsY0FHRztFQUNDLGNBQUE7RUFDQSw2QkFBQTs7QUFUTixlQWFFO0VBQ0UsY0FBQTs7QUFkSixlQWlCRSxZQUNFLEtBQUs7RUFDSCxjQUFBOztBQUVBLGVBSkosWUFDRSxLQUFLLElBR0Y7QUFDRCxlQUxKLFlBQ0UsS0FBSyxJQUlGO0VBQ0MsY0FBQTtFQUNBLDZCQUFBOztBQUlGLGVBWEosWUFVRSxVQUFVO0FBRVIsZUFaSixZQVVFLFVBQVUsSUFFUDtBQUNELGVBYkosWUFVRSxVQUFVLElBR1A7RUFDQyxjQUFBO0VBQ0EseUJBQUE7O0FBSUYsZUFuQkosWUFrQkUsWUFBWTtBQUVWLGVBcEJKLFlBa0JFLFlBQVksSUFFVDtBQUNELGVBckJKLFlBa0JFLFlBQVksSUFHVDtFQUNDLGNBQUE7RUFDQSw2QkFBQTs7QUF4Q1IsZUE2Q0U7RUFDRSxxQkFBQTs7QUFDQSxlQUZGLGVBRUc7QUFDRCxlQUhGLGVBR0c7RUFDQyx5QkFBQTs7QUFqRE4sZUE2Q0UsZUFNRTtFQUNFLHlCQUFBOztBQXBETixlQXdERTtBQXhERixlQXlERTtFQUNFLHFCQUFBOztBQU9FLGVBSEosWUFFRSxRQUFRO0FBRU4sZUFKSixZQUVFLFFBQVEsSUFFTDtBQUNELGVBTEosWUFFRSxRQUFRLElBR0w7RUFDQyx5QkFBQTtFQUNBLGNBQUE7O0FBaUNOLFFBN0JpRDtFQTZCakQsZUF4Q0EsWUFhSSxNQUFNLGVBQ0osS0FBSztJQUNILGNBQUE7O0VBQ0EsZUFoQlIsWUFhSSxNQUFNLGVBQ0osS0FBSyxJQUVGO0VBQ0QsZUFqQlIsWUFhSSxNQUFNLGVBQ0osS0FBSyxJQUdGO0lBQ0MsY0FBQTtJQUNBLDZCQUFBOztFQUlGLGVBdkJSLFlBYUksTUFBTSxlQVNKLFVBQVU7RUFFUixlQXhCUixZQWFJLE1BQU0sZUFTSixVQUFVLElBRVA7RUFDRCxlQXpCUixZQWFJLE1BQU0sZUFTSixVQUFVLElBR1A7SUFDQyxjQUFBO0lBQ0EseUJBQUE7O0VBSUYsZUEvQlIsWUFhSSxNQUFNLGVBaUJKLFlBQVk7RUFFVixlQWhDUixZQWFJLE1BQU0sZUFpQkosWUFBWSxJQUVUO0VBQ0QsZUFqQ1IsWUFhSSxNQUFNLGVBaUJKLFlBQVksSUFHVDtJQUNDLGNBQUE7SUFDQSw2QkFBQTs7O0FBakdaLGVBNkdFO0VBQ0UsY0FBQTs7QUFDQSxlQUZGLGFBRUc7RUFDQyxjQUFBOztBQWhITixlQW9IRTtFQUNFLGNBQUE7O0FBQ0EsZUFGRixVQUVHO0FBQ0QsZUFIRixVQUdHO0VBQ0MsY0FBQTs7QUFJQSxlQVJKLFVBTUcsVUFFRTtBQUFELFFBRE0sVUFBVyxnQkFQckIsVUFRSztBQUNELGVBVEosVUFNRyxVQUdFO0FBQUQsUUFGTSxVQUFXLGdCQVByQixVQVNLO0VBQ0MsY0FBQTs7QUFRUjtFQUNFLHlCQUFBO0VBQ0EscUJBQUE7O0FBRkYsZUFJRTtFQUNFLGNBQUE7O0FBQ0EsZUFGRixjQUVHO0FBQ0QsZUFIRixjQUdHO0VBQ0MsY0FBQTtFQUNBLDZCQUFBOztBQVROLGVBYUU7RUFDRSxjQUFBOztBQWRKLGVBaUJFLFlBQ0UsS0FBSztFQUNILGNBQUE7O0FBRUEsZUFKSixZQUNFLEtBQUssSUFHRjtBQUNELGVBTEosWUFDRSxLQUFLLElBSUY7RUFDQyxjQUFBO0VBQ0EsNkJBQUE7O0FBSUYsZUFYSixZQVVFLFVBQVU7QUFFUixlQVpKLFlBVUUsVUFBVSxJQUVQO0FBQ0QsZUFiSixZQVVFLFVBQVUsSUFHUDtFQUNDLGNBQUE7RUFDQSx5QkFBQTs7QUFJRixlQW5CSixZQWtCRSxZQUFZO0FBRVYsZUFwQkosWUFrQkUsWUFBWSxJQUVUO0FBQ0QsZUFyQkosWUFrQkUsWUFBWSxJQUdUO0VBQ0MsY0FBQTtFQUNBLDZCQUFBOztBQXhDUixlQThDRTtFQUNFLHFCQUFBOztBQUNBLGVBRkYsZUFFRztBQUNELGVBSEYsZUFHRztFQUNDLHlCQUFBOztBQWxETixlQThDRSxlQU1FO0VBQ0UseUJBQUE7O0FBckROLGVBeURFO0FBekRGLGVBMERFO0VBQ0UscUJBQUE7O0FBTUUsZUFGSixZQUNFLFFBQVE7QUFFTixlQUhKLFlBQ0UsUUFBUSxJQUVMO0FBQ0QsZUFKSixZQUNFLFFBQVEsSUFHTDtFQUNDLHlCQUFBO0VBQ0EsY0FBQTs7QUF1Q04sUUFuQ2lEO0VBbUNqRCxlQTdDQSxZQVlJLE1BQU0sZUFDSjtJQUNFLHFCQUFBOztFQStCUixlQTdDQSxZQVlJLE1BQU0sZUFJSjtJQUNFLHlCQUFBOztFQTRCUixlQTdDQSxZQVlJLE1BQU0sZUFPSixLQUFLO0lBQ0gsY0FBQTs7RUFDQSxlQXJCUixZQVlJLE1BQU0sZUFPSixLQUFLLElBRUY7RUFDRCxlQXRCUixZQVlJLE1BQU0sZUFPSixLQUFLLElBR0Y7SUFDQyxjQUFBO0lBQ0EsNkJBQUE7O0VBSUYsZUE1QlIsWUFZSSxNQUFNLGVBZUosVUFBVTtFQUVSLGVBN0JSLFlBWUksTUFBTSxlQWVKLFVBQVUsSUFFUDtFQUNELGVBOUJSLFlBWUksTUFBTSxlQWVKLFVBQVUsSUFHUDtJQUNDLGNBQUE7SUFDQSx5QkFBQTs7RUFJRixlQXBDUixZQVlJLE1BQU0sZUF1QkosWUFBWTtFQUVWLGVBckNSLFlBWUksTUFBTSxlQXVCSixZQUFZLElBRVQ7RUFDRCxlQXRDUixZQVlJLE1BQU0sZUF1QkosWUFBWSxJQUdUO0lBQ0MsY0FBQTtJQUNBLDZCQUFBOzs7QUF2R1osZUE4R0U7RUFDRSxjQUFBOztBQUNBLGVBRkYsYUFFRztFQUNDLGNBQUE7O0FBakhOLGVBcUhFO0VBQ0UsY0FBQTs7QUFDQSxlQUZGLFVBRUc7QUFDRCxlQUhGLFVBR0c7RUFDQyxjQUFBOztBQUlBLGVBUkosVUFNRyxVQUVFO0FBQUQsUUFETSxVQUFXLGdCQVByQixVQVFLO0FBQ0QsZUFUSixVQU1HLFVBR0U7QUFBRCxRQUZNLFVBQVcsZ0JBUHJCLFVBU0s7RUFDQyxjQUFBOztBSTFvQlI7RUFDRSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBOztBQUxGLFdBT0U7RUFDRSxxQkFBQTs7QUFSSixXQU9FLEtBR0UsS0FBSTtFQUNGLFNBQVMsUUFBVDtFQUNBLGNBQUE7RUFDQSxjQUFBOztBQWJOLFdBaUJFO0VBQ0UsY0FBQTs7QUNwQko7RUFDRSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7O0FBSkYsV0FNRTtFQUNFLGVBQUE7O0FBUEosV0FNRSxLQUVFO0FBUkosV0FNRSxLQUdFO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxpQkFBQTs7QUFFRixXQWRGLEtBY0csWUFDQztBQURGLFdBZEYsS0FjRyxZQUVDO0VBQ0UsY0FBQTtFVFhOLDhCQUFBO0VBQ0csMkJBQUE7O0FTY0QsV0FyQkYsS0FxQkcsV0FDQztBQURGLFdBckJGLEtBcUJHLFdBRUM7RVR6QkosK0JBQUE7RUFDRyw0QkFBQTs7QVNnQ0QsV0FGRixLQUFLLElBRUY7QUFBRCxXQURGLEtBQUssT0FDRjtBQUNELFdBSEYsS0FBSyxJQUdGO0FBQUQsV0FGRixLQUFLLE9BRUY7RUFDQyxVQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBTUYsV0FGRixVQUFVO0FBRVIsV0FERixVQUFVO0FBRVIsV0FIRixVQUFVLElBR1A7QUFBRCxXQUZGLFVBQVUsT0FFUDtBQUNELFdBSkYsVUFBVSxJQUlQO0FBQUQsV0FIRixVQUFVLE9BR1A7RUFDQyxVQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBOztBQXZETixXQTJERSxZQUNFO0FBNURKLFdBMkRFLFlBRUUsT0FBTTtBQTdEVixXQTJERSxZQUdFLE9BQU07QUE5RFYsV0EyREUsWUFJRTtBQS9ESixXQTJERSxZQUtFLElBQUc7QUFoRVAsV0EyREUsWUFNRSxJQUFHO0VBQ0QsY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7RUFDQSxtQkFBQTs7QUFTTixjQzlFRSxLQUNFO0FENkVKLGNDOUVFLEtBRUU7RUFDRSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTs7QUFFRixjQVBGLEtBT0csWUFDQztBQURGLGNBUEYsS0FPRyxZQUVDO0VWR0osOEJBQUE7RUFDRywyQkFBQTs7QVVBRCxjQWJGLEtBYUcsV0FDQztBQURGLGNBYkYsS0FhRyxXQUVDO0VWWEosK0JBQUE7RUFDRyw0QkFBQTs7QVM4RUwsY0NuRkUsS0FDRTtBRGtGSixjQ25GRSxLQUVFO0VBQ0UsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7O0FBRUYsY0FQRixLQU9HLFlBQ0M7QUFERixjQVBGLEtBT0csWUFFQztFVkdKLDhCQUFBO0VBQ0csMkJBQUE7O0FVQUQsY0FiRixLQWFHLFdBQ0M7QUFERixjQWJGLEtBYUcsV0FFQztFVlhKLCtCQUFBO0VBQ0csNEJBQUE7O0FXSEw7RUFDRSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7O0FBSkYsTUFNRTtFQUNFLGVBQUE7O0FBUEosTUFNRSxHQUVFO0FBUkosTUFNRSxHQUdFO0VBQ0UscUJBQUE7RUFDQSxpQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTs7QUFkTixNQU1FLEdBV0UsSUFBRztBQWpCUCxNQU1FLEdBWUUsSUFBRztFQUNELHFCQUFBO0VBQ0EseUJBQUE7O0FBcEJOLE1Bd0JFLE1BQ0U7QUF6QkosTUF3QkUsTUFFRTtFQUNFLFlBQUE7O0FBM0JOLE1BK0JFLFVBQ0U7QUFoQ0osTUErQkUsVUFFRTtFQUNFLFdBQUE7O0FBbENOLE1Bc0NFLFVBQ0U7QUF2Q0osTUFzQ0UsVUFFRSxJQUFHO0FBeENQLE1Bc0NFLFVBR0UsSUFBRztBQXpDUCxNQXNDRSxVQUlFO0VBQ0UsY0FBQTtFQUNBLHlCQUFBO0VBQ0EsbUJBQUE7O0FDOUNOO0VBQ0UsZUFBQTtFQUNBLHVCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esd0JBQUE7RUFDQSxvQkFBQTs7QUFJRSxDQURELE1BQ0U7QUFDRCxDQUZELE1BRUU7RUFDQyxjQUFBO0VBQ0EscUJBQUE7RUFDQSxlQUFBOztBQUtKLE1BQUM7RUFDQyxhQUFBOztBQUlGLElBQUs7RUFDSCxrQkFBQTtFQUNBLFNBQUE7O0FBT0o7RUN0Q0UseUJBQUE7O0FBR0UsY0FERCxNQUNFO0FBQ0QsY0FGRCxNQUVFO0VBQ0MseUJBQUE7O0FEcUNOO0VDMUNFLHlCQUFBOztBQUdFLGNBREQsTUFDRTtBQUNELGNBRkQsTUFFRTtFQUNDLHlCQUFBOztBRHlDTjtFQzlDRSx5QkFBQTs7QUFHRSxjQURELE1BQ0U7QUFDRCxjQUZELE1BRUU7RUFDQyx5QkFBQTs7QUQ2Q047RUNsREUseUJBQUE7O0FBR0UsV0FERCxNQUNFO0FBQ0QsV0FGRCxNQUVFO0VBQ0MseUJBQUE7O0FEaUROO0VDdERFLHlCQUFBOztBQUdFLGNBREQsTUFDRTtBQUNELGNBRkQsTUFFRTtFQUNDLHlCQUFBOztBRHFETjtFQzFERSx5QkFBQTs7QUFHRSxhQURELE1BQ0U7QUFDRCxhQUZELE1BRUU7RUFDQyx5QkFBQTs7QUNGTjtFQUNFLHFCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBOztBQUdBLE1BQUM7RUFDQyxhQUFBOztBQUlGLElBQUs7RUFDSCxrQkFBQTtFQUNBLFNBQUE7O0FBR0YsT0FBUTtBQUNSLGFBQWMsT0FBTztFQUNuQixNQUFBO0VBQ0EsZ0JBQUE7O0FBS0EsQ0FERCxNQUNFO0FBQ0QsQ0FGRCxNQUVFO0VBQ0MsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsZUFBQTs7QUFLSixnQkFBZ0IsT0FBUTtBQUN4QixVQUFXLFVBQVUsSUFBSTtFQUN2QixjQUFBO0VBQ0EseUJBQUE7O0FBR0YsZ0JBQWlCO0VBQ2YsWUFBQTs7QUFHRixnQkFBaUIsU0FBSTtFQUNuQixpQkFBQTs7QUFHRixVQUFXLEtBQUssSUFBSTtFQUNsQixnQkFBQTs7QUMxREo7RUFDRSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7O0FBTEYsVUFPRTtBQVBGLFVBUUU7RUFDRSxjQUFBOztBQVRKLFVBWUU7RUFDRSxtQkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTs7QUFmSixVQWtCRTtFQUNFLHlCQUFBOztBQUdGLFVBQVc7QUFDWCxnQkFBaUI7RUFDZixrQkFBQTs7QUF4QkosVUEyQkU7RUFDRSxlQUFBOztBQWtCSixtQkFmZ0Q7RUFlaEQ7SUFkSSxpQkFBQTtJQUNBLG9CQUFBOztFQUVBLFVBQVc7RUFDWCxnQkFBaUI7SUFDZixrQkFBQTtJQUNBLG1CQUFBOztFQVFOLFVBTEk7RUFLSixVQUpJO0lBQ0UsZUFBQTs7O0F0QzFDTjtFQUNFLGNBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFSGlMQSwyQ0FBQTtFQUNLLHNDQUFBO0VBQ0csbUNBQUE7O0FHMUxWLFVBVUU7QUFWRixVQVdFLEVBQUU7RUFFQSxpQkFBQTtFQUNBLGtCQUFBOztBQUlGLENBQUMsVUFBQztBQUNGLENBQUMsVUFBQztBQUNGLENBQUMsVUFBQztFQUNBLHFCQUFBOztBQXJCSixVQXlCRTtFQUNFLFlBQUE7RUFDQSxjQUFBOztBdUN6Qko7RUFDRSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSw2QkFBQTtFQUNBLGtCQUFBOztBQUpGLE1BT0U7RUFDRSxhQUFBO0VBRUEsY0FBQTs7QUFWSixNQWNFO0VBQ0UsaUJBQUE7O0FBZkosTUFtQkU7QUFuQkYsTUFvQkU7RUFDRSxnQkFBQTs7QUFyQkosTUF3QkUsSUFBSTtFQUNGLGVBQUE7O0FBUUo7QUFDQTtFQUNFLG1CQUFBOztBQUZGLGtCQUtFO0FBSkYsa0JBSUU7RUFDRSxrQkFBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBQ0EsY0FBQTs7QUFRSjtFQ3ZERSx5QkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FBQTs7QURxREYsY0NuREU7RUFDRSxvQ0FBQTs7QURrREosY0NoREU7RUFDRSxjQUFBOztBRG1ESjtFQzNERSx5QkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FBQTs7QUR5REYsV0N2REU7RUFDRSxvQ0FBQTs7QURzREosV0NwREU7RUFDRSxjQUFBOztBRHVESjtFQy9ERSx5QkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FBQTs7QUQ2REYsY0MzREU7RUFDRSxvQ0FBQTs7QUQwREosY0N4REU7RUFDRSxjQUFBOztBRDJESjtFQ25FRSx5QkFBQTtFQUNBLGdDQUFBO0VBQ0EsY0FBQTs7QURpRUYsYUMvREU7RUFDRSxvQ0FBQTs7QUQ4REosYUM1REU7RUFDRSxjQUFBOztBQ0ZKO0VBQ0U7SUFBUSwyQkFBQTs7RUFDUjtJQUFRLHdCQUFBOzs7QUFJVjtFQUNFO0lBQVEsMkJBQUE7O0VBQ1I7SUFBUSx3QkFBQTs7O0FBUVY7RUFDRSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RTVDc0NBLHNEQUFBO0VBQ1EsOENBQUE7O0E0Q2xDVjtFQUNFLFdBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLGVBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBO0U1Q3lCQSxzREFBQTtFQUNRLDhDQUFBO0VBeUhSLG1DQUFBO0VBQ0ssOEJBQUE7RUFDRywyQkFBQTs7QTRDM0lWLGlCQUFrQjtBQUNsQjtFQ0FJLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjtFREFGLDBCQUFBOztBQU9GLFNBQVMsT0FBUTtBQUNqQixhQUFhO0U1QzdDWCwwREFBQTtFQUNLLHFEQUFBO0VBQ0csa0RBQUE7O0E0Q21EVjtFRXJFRSx5QkFBQTs7QUFHQSxpQkFBa0I7RURnRGhCLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjs7QURvQko7RUV6RUUseUJBQUE7O0FBR0EsaUJBQWtCO0VEZ0RoQixrQkFBa0IsMkxBQWxCO0VBQ0Esa0JBQWtCLHNMQUFsQjtFQUNBLGtCQUFrQixtTEFBbEI7O0FEd0JKO0VFN0VFLHlCQUFBOztBQUdBLGlCQUFrQjtFRGdEaEIsa0JBQWtCLDJMQUFsQjtFQUNBLGtCQUFrQixzTEFBbEI7RUFDQSxrQkFBa0IsbUxBQWxCOztBRDRCSjtFRWpGRSx5QkFBQTs7QUFHQSxpQkFBa0I7RURnRGhCLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjs7QUV4REo7RUFFRSxnQkFBQTs7QUFFQSxNQUFDO0VBQ0MsYUFBQTs7QUFJSjtBQUNBO0VBQ0UsT0FBQTtFQUNBLGdCQUFBOztBQUdGO0VBQ0UsY0FBQTs7QUFHRjtFQUNFLGNBQUE7O0FBR0EsYUFBQztFQUNDLGVBQUE7O0FBSUo7QUFDQSxNQUFPO0VBQ0wsa0JBQUE7O0FBR0Y7QUFDQSxNQUFPO0VBQ0wsbUJBQUE7O0FBR0Y7QUFDQTtBQUNBO0VBQ0UsbUJBQUE7RUFDQSxtQkFBQTs7QUFHRjtFQUNFLHNCQUFBOztBQUdGO0VBQ0Usc0JBQUE7O0FBSUY7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7O0FBTUY7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7O0FDdkRGO0VBRUUsbUJBQUE7RUFDQSxlQUFBOztBQVFGO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7RUFFQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7O0FBR0EsZ0JBQUM7RXRCM0JELDRCQUFBO0VBQ0MsMkJBQUE7O0FzQjZCRCxnQkFBQztFQUNDLGdCQUFBO0V0QnZCRiwrQkFBQTtFQUNDLDhCQUFBOztBc0JpQ0gsQ0FBQztBQUNELE1BQU07RUFDSixjQUFBOztBQUZGLENBQUMsZ0JBSUM7QUFIRixNQUFNLGdCQUdKO0VBQ0UsY0FBQTs7QUFJRixDQVRELGdCQVNFO0FBQUQsTUFSSSxnQkFRSDtBQUNELENBVkQsZ0JBVUU7QUFBRCxNQVRJLGdCQVNIO0VBQ0MscUJBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7O0FBSUosTUFBTTtFQUNKLFdBQUE7RUFDQSxnQkFBQTs7QUFLQSxnQkFBQztBQUNELGdCQUFDLFNBQVM7QUFDVixnQkFBQyxTQUFTO0VBQ1IseUJBQUE7RUFDQSxjQUFBO0VBQ0EsbUJBQUE7O0FBTEYsZ0JBQUMsU0FRQztBQVBGLGdCQUFDLFNBQVMsTUFPUjtBQU5GLGdCQUFDLFNBQVMsTUFNUjtFQUNFLGNBQUE7O0FBVEosZ0JBQUMsU0FXQztBQVZGLGdCQUFDLFNBQVMsTUFVUjtBQVRGLGdCQUFDLFNBQVMsTUFTUjtFQUNFLGNBQUE7O0FBS0osZ0JBQUM7QUFDRCxnQkFBQyxPQUFPO0FBQ1IsZ0JBQUMsT0FBTztFQUNOLFVBQUE7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFORixnQkFBQyxPQVNDO0FBUkYsZ0JBQUMsT0FBTyxNQVFOO0FBUEYsZ0JBQUMsT0FBTyxNQU9OO0FBVEYsZ0JBQUMsT0FVQyx5QkFBeUI7QUFUM0IsZ0JBQUMsT0FBTyxNQVNOLHlCQUF5QjtBQVIzQixnQkFBQyxPQUFPLE1BUU4seUJBQXlCO0FBVjNCLGdCQUFDLE9BV0MseUJBQXlCO0FBVjNCLGdCQUFDLE9BQU8sTUFVTix5QkFBeUI7QUFUM0IsZ0JBQUMsT0FBTyxNQVNOLHlCQUF5QjtFQUN2QixjQUFBOztBQVpKLGdCQUFDLE9BY0M7QUFiRixnQkFBQyxPQUFPLE1BYU47QUFaRixnQkFBQyxPQUFPLE1BWU47RUFDRSxjQUFBOztBQ2xHSixpQkFBaUI7RUFDZixjQUFBO0VBQ0EseUJBQUE7O0FBRUEsQ0FBQyxpQkFKYztBQUtmLE1BQU0saUJBTFM7RUFNYixjQUFBOztBQUZGLENBQUMsaUJBSmMsT0FRYjtBQUhGLE1BQU0saUJBTFMsT0FRYjtFQUNFLGNBQUE7O0FBR0YsQ0FSRCxpQkFKYyxPQVlaO0FBQUQsTUFQSSxpQkFMUyxPQVlaO0FBQ0QsQ0FURCxpQkFKYyxPQWFaO0FBQUQsTUFSSSxpQkFMUyxPQWFaO0VBQ0MsY0FBQTtFQUNBLHlCQUFBOztBQUVGLENBYkQsaUJBSmMsT0FpQlo7QUFBRCxNQVpJLGlCQUxTLE9BaUJaO0FBQ0QsQ0FkRCxpQkFKYyxPQWtCWixPQUFPO0FBQVIsTUFiSSxpQkFMUyxPQWtCWixPQUFPO0FBQ1IsQ0FmRCxpQkFKYyxPQW1CWixPQUFPO0FBQVIsTUFkSSxpQkFMUyxPQW1CWixPQUFPO0VBQ04sV0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBdEJOLGlCQUFpQjtFQUNmLGNBQUE7RUFDQSx5QkFBQTs7QUFFQSxDQUFDLGlCQUpjO0FBS2YsTUFBTSxpQkFMUztFQU1iLGNBQUE7O0FBRkYsQ0FBQyxpQkFKYyxJQVFiO0FBSEYsTUFBTSxpQkFMUyxJQVFiO0VBQ0UsY0FBQTs7QUFHRixDQVJELGlCQUpjLElBWVo7QUFBRCxNQVBJLGlCQUxTLElBWVo7QUFDRCxDQVRELGlCQUpjLElBYVo7QUFBRCxNQVJJLGlCQUxTLElBYVo7RUFDQyxjQUFBO0VBQ0EseUJBQUE7O0FBRUYsQ0FiRCxpQkFKYyxJQWlCWjtBQUFELE1BWkksaUJBTFMsSUFpQlo7QUFDRCxDQWRELGlCQUpjLElBa0JaLE9BQU87QUFBUixNQWJJLGlCQUxTLElBa0JaLE9BQU87QUFDUixDQWZELGlCQUpjLElBbUJaLE9BQU87QUFBUixNQWRJLGlCQUxTLElBbUJaLE9BQU87RUFDTixXQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUF0Qk4saUJBQWlCO0VBQ2YsY0FBQTtFQUNBLHlCQUFBOztBQUVBLENBQUMsaUJBSmM7QUFLZixNQUFNLGlCQUxTO0VBTWIsY0FBQTs7QUFGRixDQUFDLGlCQUpjLE9BUWI7QUFIRixNQUFNLGlCQUxTLE9BUWI7RUFDRSxjQUFBOztBQUdGLENBUkQsaUJBSmMsT0FZWjtBQUFELE1BUEksaUJBTFMsT0FZWjtBQUNELENBVEQsaUJBSmMsT0FhWjtBQUFELE1BUkksaUJBTFMsT0FhWjtFQUNDLGNBQUE7RUFDQSx5QkFBQTs7QUFFRixDQWJELGlCQUpjLE9BaUJaO0FBQUQsTUFaSSxpQkFMUyxPQWlCWjtBQUNELENBZEQsaUJBSmMsT0FrQlosT0FBTztBQUFSLE1BYkksaUJBTFMsT0FrQlosT0FBTztBQUNSLENBZkQsaUJBSmMsT0FtQlosT0FBTztBQUFSLE1BZEksaUJBTFMsT0FtQlosT0FBTztFQUNOLFdBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQXRCTixpQkFBaUI7RUFDZixjQUFBO0VBQ0EseUJBQUE7O0FBRUEsQ0FBQyxpQkFKYztBQUtmLE1BQU0saUJBTFM7RUFNYixjQUFBOztBQUZGLENBQUMsaUJBSmMsTUFRYjtBQUhGLE1BQU0saUJBTFMsTUFRYjtFQUNFLGNBQUE7O0FBR0YsQ0FSRCxpQkFKYyxNQVlaO0FBQUQsTUFQSSxpQkFMUyxNQVlaO0FBQ0QsQ0FURCxpQkFKYyxNQWFaO0FBQUQsTUFSSSxpQkFMUyxNQWFaO0VBQ0MsY0FBQTtFQUNBLHlCQUFBOztBQUVGLENBYkQsaUJBSmMsTUFpQlo7QUFBRCxNQVpJLGlCQUxTLE1BaUJaO0FBQ0QsQ0FkRCxpQkFKYyxNQWtCWixPQUFPO0FBQVIsTUFiSSxpQkFMUyxNQWtCWixPQUFPO0FBQ1IsQ0FmRCxpQkFKYyxNQW1CWixPQUFPO0FBQVIsTUFkSSxpQkFMUyxNQW1CWixPQUFPO0VBQ04sV0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FEaUdSO0VBQ0UsYUFBQTtFQUNBLGtCQUFBOztBQUVGO0VBQ0UsZ0JBQUE7RUFDQSxnQkFBQTs7QUUxSEY7RUFDRSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSxrQkFBQTtFbEQwREEsaURBQUE7RUFDUSx5Q0FBQTs7QWtEdERWO0VBQ0UsYUFBQTs7QUFLRjtFQUNFLGtCQUFBO0VBQ0Esb0NBQUE7RXhCcEJBLDRCQUFBO0VBQ0MsMkJBQUE7O0F3QmlCSCxjQUtFLFlBQVk7RUFDVixjQUFBOztBQUtKO0VBQ0UsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7O0FBSkYsWUFNRTtBQU5GLFlBT0U7QUFQRixZQVFFO0FBUkYsWUFTRSxRQUFRO0FBVFYsWUFVRSxTQUFTO0VBQ1AsY0FBQTs7QUFLSjtFQUNFLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTtFeEJ4Q0EsK0JBQUE7RUFDQyw4QkFBQTs7QXdCaURILE1BQ0U7QUFERixNQUVFLGtCQUFrQjtFQUNoQixnQkFBQTs7QUFISixNQUNFLGNBSUU7QUFMSixNQUVFLGtCQUFrQixjQUdoQjtFQUNFLG1CQUFBO0VBQ0EsZ0JBQUE7O0FBSUYsTUFWRixjQVVHLFlBQ0MsaUJBQWdCO0FBRGxCLE1BVEYsa0JBQWtCLGNBU2YsWUFDQyxpQkFBZ0I7RUFDZCxhQUFBO0V4QnZFTiw0QkFBQTtFQUNDLDJCQUFBOztBd0I0RUMsTUFsQkYsY0FrQkcsV0FDQyxpQkFBZ0I7QUFEbEIsTUFqQkYsa0JBQWtCLGNBaUJmLFdBQ0MsaUJBQWdCO0VBQ2QsZ0JBQUE7RXhCdkVOLCtCQUFBO0VBQ0MsOEJBQUE7O0F3QmlESCxNQTBCRSxpQkFBaUIsa0JBQWtCLGNBQ2pDLGlCQUFnQjtFeEJyRmxCLDBCQUFBO0VBQ0MseUJBQUE7O0F3QjBGSCxjQUFlLGNBQ2IsaUJBQWdCO0VBQ2QsbUJBQUE7O0FBR0osV0FBWTtFQUNWLG1CQUFBOztBQVFGLE1BQ0U7QUFERixNQUVFLG9CQUFvQjtBQUZ0QixNQUdFLGtCQUFrQjtFQUNoQixnQkFBQTs7QUFKSixNQUNFLFNBS0U7QUFOSixNQUVFLG9CQUFvQixTQUlsQjtBQU5KLE1BR0Usa0JBQWtCLFNBR2hCO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTs7QUFSTixNQVlFLFNBQVE7QUFaVixNQWFFLG9CQUFtQixZQUFhLFNBQVE7RXhCdEh4Qyw0QkFBQTtFQUNDLDJCQUFBOztBd0J3R0gsTUFZRSxTQUFRLFlBSU4sUUFBTyxZQUVMLEtBQUk7QUFsQlYsTUFhRSxvQkFBbUIsWUFBYSxTQUFRLFlBR3RDLFFBQU8sWUFFTCxLQUFJO0FBbEJWLE1BWUUsU0FBUSxZQUtOLFFBQU8sWUFDTCxLQUFJO0FBbEJWLE1BYUUsb0JBQW1CLFlBQWEsU0FBUSxZQUl0QyxRQUFPLFlBQ0wsS0FBSTtFQUNGLDJCQUFBO0VBQ0EsNEJBQUE7O0FBcEJSLE1BWUUsU0FBUSxZQUlOLFFBQU8sWUFFTCxLQUFJLFlBSUYsR0FBRTtBQXRCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFHdEMsUUFBTyxZQUVMLEtBQUksWUFJRixHQUFFO0FBdEJWLE1BWUUsU0FBUSxZQUtOLFFBQU8sWUFDTCxLQUFJLFlBSUYsR0FBRTtBQXRCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFJdEMsUUFBTyxZQUNMLEtBQUksWUFJRixHQUFFO0FBdEJWLE1BWUUsU0FBUSxZQUlOLFFBQU8sWUFFTCxLQUFJLFlBS0YsR0FBRTtBQXZCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFHdEMsUUFBTyxZQUVMLEtBQUksWUFLRixHQUFFO0FBdkJWLE1BWUUsU0FBUSxZQUtOLFFBQU8sWUFDTCxLQUFJLFlBS0YsR0FBRTtBQXZCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFJdEMsUUFBTyxZQUNMLEtBQUksWUFLRixHQUFFO0VBQ0EsMkJBQUE7O0FBeEJWLE1BWUUsU0FBUSxZQUlOLFFBQU8sWUFFTCxLQUFJLFlBUUYsR0FBRTtBQTFCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFHdEMsUUFBTyxZQUVMLEtBQUksWUFRRixHQUFFO0FBMUJWLE1BWUUsU0FBUSxZQUtOLFFBQU8sWUFDTCxLQUFJLFlBUUYsR0FBRTtBQTFCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFJdEMsUUFBTyxZQUNMLEtBQUksWUFRRixHQUFFO0FBMUJWLE1BWUUsU0FBUSxZQUlOLFFBQU8sWUFFTCxLQUFJLFlBU0YsR0FBRTtBQTNCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFHdEMsUUFBTyxZQUVMLEtBQUksWUFTRixHQUFFO0FBM0JWLE1BWUUsU0FBUSxZQUtOLFFBQU8sWUFDTCxLQUFJLFlBU0YsR0FBRTtBQTNCVixNQWFFLG9CQUFtQixZQUFhLFNBQVEsWUFJdEMsUUFBTyxZQUNMLEtBQUksWUFTRixHQUFFO0VBQ0EsNEJBQUE7O0FBNUJWLE1Ba0NFLFNBQVE7QUFsQ1YsTUFtQ0Usb0JBQW1CLFdBQVksU0FBUTtFeEJwSXZDLCtCQUFBO0VBQ0MsOEJBQUE7O0F3QmdHSCxNQWtDRSxTQUFRLFdBSU4sUUFBTyxXQUVMLEtBQUk7QUF4Q1YsTUFtQ0Usb0JBQW1CLFdBQVksU0FBUSxXQUdyQyxRQUFPLFdBRUwsS0FBSTtBQXhDVixNQWtDRSxTQUFRLFdBS04sUUFBTyxXQUNMLEtBQUk7QUF4Q1YsTUFtQ0Usb0JBQW1CLFdBQVksU0FBUSxXQUlyQyxRQUFPLFdBQ0wsS0FBSTtFQUNGLDhCQUFBO0VBQ0EsK0JBQUE7O0FBMUNSLE1Ba0NFLFNBQVEsV0FJTixRQUFPLFdBRUwsS0FBSSxXQUlGLEdBQUU7QUE1Q1YsTUFtQ0Usb0JBQW1CLFdBQVksU0FBUSxXQUdyQyxRQUFPLFdBRUwsS0FBSSxXQUlGLEdBQUU7QUE1Q1YsTUFrQ0UsU0FBUSxXQUtOLFFBQU8sV0FDTCxLQUFJLFdBSUYsR0FBRTtBQTVDVixNQW1DRSxvQkFBbUIsV0FBWSxTQUFRLFdBSXJDLFFBQU8sV0FDTCxLQUFJLFdBSUYsR0FBRTtBQTVDVixNQWtDRSxTQUFRLFdBSU4sUUFBTyxXQUVMLEtBQUksV0FLRixHQUFFO0FBN0NWLE1BbUNFLG9CQUFtQixXQUFZLFNBQVEsV0FHckMsUUFBTyxXQUVMLEtBQUksV0FLRixHQUFFO0FBN0NWLE1Ba0NFLFNBQVEsV0FLTixRQUFPLFdBQ0wsS0FBSSxXQUtGLEdBQUU7QUE3Q1YsTUFtQ0Usb0JBQW1CLFdBQVksU0FBUSxXQUlyQyxRQUFPLFdBQ0wsS0FBSSxXQUtGLEdBQUU7RUFDQSw4QkFBQTs7QUE5Q1YsTUFrQ0UsU0FBUSxXQUlOLFFBQU8sV0FFTCxLQUFJLFdBUUYsR0FBRTtBQWhEVixNQW1DRSxvQkFBbUIsV0FBWSxTQUFRLFdBR3JDLFFBQU8sV0FFTCxLQUFJLFdBUUYsR0FBRTtBQWhEVixNQWtDRSxTQUFRLFdBS04sUUFBTyxXQUNMLEtBQUksV0FRRixHQUFFO0FBaERWLE1BbUNFLG9CQUFtQixXQUFZLFNBQVEsV0FJckMsUUFBTyxXQUNMLEtBQUksV0FRRixHQUFFO0FBaERWLE1Ba0NFLFNBQVEsV0FJTixRQUFPLFdBRUwsS0FBSSxXQVNGLEdBQUU7QUFqRFYsTUFtQ0Usb0JBQW1CLFdBQVksU0FBUSxXQUdyQyxRQUFPLFdBRUwsS0FBSSxXQVNGLEdBQUU7QUFqRFYsTUFrQ0UsU0FBUSxXQUtOLFFBQU8sV0FDTCxLQUFJLFdBU0YsR0FBRTtBQWpEVixNQW1DRSxvQkFBbUIsV0FBWSxTQUFRLFdBSXJDLFFBQU8sV0FDTCxLQUFJLFdBU0YsR0FBRTtFQUNBLCtCQUFBOztBQWxEVixNQXVERSxjQUFjO0FBdkRoQixNQXdERSxjQUFjO0FBeERoQixNQXlERSxTQUFTO0FBekRYLE1BMERFLG9CQUFvQjtFQUNsQiw2QkFBQTs7QUEzREosTUE2REUsU0FBUyxRQUFPLFlBQWEsS0FBSSxZQUFhO0FBN0RoRCxNQThERSxTQUFTLFFBQU8sWUFBYSxLQUFJLFlBQWE7RUFDNUMsYUFBQTs7QUEvREosTUFpRUU7QUFqRUYsTUFrRUUsb0JBQW9CO0VBQ2xCLFNBQUE7O0FBbkVKLE1BaUVFLGtCQUdFLFFBR0UsS0FDRSxLQUFJO0FBeEVaLE1Ba0VFLG9CQUFvQixrQkFFbEIsUUFHRSxLQUNFLEtBQUk7QUF4RVosTUFpRUUsa0JBSUUsUUFFRSxLQUNFLEtBQUk7QUF4RVosTUFrRUUsb0JBQW9CLGtCQUdsQixRQUVFLEtBQ0UsS0FBSTtBQXhFWixNQWlFRSxrQkFLRSxRQUNFLEtBQ0UsS0FBSTtBQXhFWixNQWtFRSxvQkFBb0Isa0JBSWxCLFFBQ0UsS0FDRSxLQUFJO0FBeEVaLE1BaUVFLGtCQUdFLFFBR0UsS0FFRSxLQUFJO0FBekVaLE1Ba0VFLG9CQUFvQixrQkFFbEIsUUFHRSxLQUVFLEtBQUk7QUF6RVosTUFpRUUsa0JBSUUsUUFFRSxLQUVFLEtBQUk7QUF6RVosTUFrRUUsb0JBQW9CLGtCQUdsQixRQUVFLEtBRUUsS0FBSTtBQXpFWixNQWlFRSxrQkFLRSxRQUNFLEtBRUUsS0FBSTtBQXpFWixNQWtFRSxvQkFBb0Isa0JBSWxCLFFBQ0UsS0FFRSxLQUFJO0VBQ0YsY0FBQTs7QUExRVYsTUFpRUUsa0JBR0UsUUFHRSxLQUtFLEtBQUk7QUE1RVosTUFrRUUsb0JBQW9CLGtCQUVsQixRQUdFLEtBS0UsS0FBSTtBQTVFWixNQWlFRSxrQkFJRSxRQUVFLEtBS0UsS0FBSTtBQTVFWixNQWtFRSxvQkFBb0Isa0JBR2xCLFFBRUUsS0FLRSxLQUFJO0FBNUVaLE1BaUVFLGtCQUtFLFFBQ0UsS0FLRSxLQUFJO0FBNUVaLE1Ba0VFLG9CQUFvQixrQkFJbEIsUUFDRSxLQUtFLEtBQUk7QUE1RVosTUFpRUUsa0JBR0UsUUFHRSxLQU1FLEtBQUk7QUE3RVosTUFrRUUsb0JBQW9CLGtCQUVsQixRQUdFLEtBTUUsS0FBSTtBQTdFWixNQWlFRSxrQkFJRSxRQUVFLEtBTUUsS0FBSTtBQTdFWixNQWtFRSxvQkFBb0Isa0JBR2xCLFFBRUUsS0FNRSxLQUFJO0FBN0VaLE1BaUVFLGtCQUtFLFFBQ0UsS0FNRSxLQUFJO0FBN0VaLE1Ba0VFLG9CQUFvQixrQkFJbEIsUUFDRSxLQU1FLEtBQUk7RUFDRixlQUFBOztBQTlFVixNQWlFRSxrQkFpQkUsUUFFRSxLQUFJLFlBQ0Y7QUFyRlIsTUFrRUUsb0JBQW9CLGtCQWdCbEIsUUFFRSxLQUFJLFlBQ0Y7QUFyRlIsTUFpRUUsa0JBa0JFLFFBQ0UsS0FBSSxZQUNGO0FBckZSLE1Ba0VFLG9CQUFvQixrQkFpQmxCLFFBQ0UsS0FBSSxZQUNGO0FBckZSLE1BaUVFLGtCQWlCRSxRQUVFLEtBQUksWUFFRjtBQXRGUixNQWtFRSxvQkFBb0Isa0JBZ0JsQixRQUVFLEtBQUksWUFFRjtBQXRGUixNQWlFRSxrQkFrQkUsUUFDRSxLQUFJLFlBRUY7QUF0RlIsTUFrRUUsb0JBQW9CLGtCQWlCbEIsUUFDRSxLQUFJLFlBRUY7RUFDRSxnQkFBQTs7QUF2RlYsTUFpRUUsa0JBMEJFLFFBRUUsS0FBSSxXQUNGO0FBOUZSLE1Ba0VFLG9CQUFvQixrQkF5QmxCLFFBRUUsS0FBSSxXQUNGO0FBOUZSLE1BaUVFLGtCQTJCRSxRQUNFLEtBQUksV0FDRjtBQTlGUixNQWtFRSxvQkFBb0Isa0JBMEJsQixRQUNFLEtBQUksV0FDRjtBQTlGUixNQWlFRSxrQkEwQkUsUUFFRSxLQUFJLFdBRUY7QUEvRlIsTUFrRUUsb0JBQW9CLGtCQXlCbEIsUUFFRSxLQUFJLFdBRUY7QUEvRlIsTUFpRUUsa0JBMkJFLFFBQ0UsS0FBSSxXQUVGO0FBL0ZSLE1Ba0VFLG9CQUFvQixrQkEwQmxCLFFBQ0UsS0FBSSxXQUVGO0VBQ0UsZ0JBQUE7O0FBaEdWLE1BcUdFO0VBQ0UsU0FBQTtFQUNBLGdCQUFBOztBQVVKO0VBQ0UsbUJBQUE7O0FBREYsWUFJRTtFQUNFLGdCQUFBO0VBQ0Esa0JBQUE7O0FBTkosWUFJRSxPQUlFO0VBQ0UsZUFBQTs7QUFUTixZQWFFO0VBQ0UsZ0JBQUE7O0FBZEosWUFhRSxlQUdFLGtCQUFrQjtBQWhCdEIsWUFhRSxlQUlFLGtCQUFrQjtFQUNoQiw2QkFBQTs7QUFsQk4sWUFzQkU7RUFDRSxhQUFBOztBQXZCSixZQXNCRSxjQUVFLGtCQUFrQjtFQUNoQixnQ0FBQTs7QUFPTjtFQzFQRSxxQkFBQTs7QUFFQSxjQUFFO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBSEYsY0FBRSxpQkFLQSxrQkFBa0I7RUFDaEIseUJBQUE7O0FBTkosY0FBRSxpQkFRQTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QUFHSixjQUFFLGdCQUNBLGtCQUFrQjtFQUNoQiw0QkFBQTs7QUQ0T047RUM3UEUscUJBQUE7O0FBRUEsY0FBRTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUhGLGNBQUUsaUJBS0Esa0JBQWtCO0VBQ2hCLHlCQUFBOztBQU5KLGNBQUUsaUJBUUE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FBR0osY0FBRSxnQkFDQSxrQkFBa0I7RUFDaEIsNEJBQUE7O0FEK09OO0VDaFFFLHFCQUFBOztBQUVBLGNBQUU7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFIRixjQUFFLGlCQUtBLGtCQUFrQjtFQUNoQix5QkFBQTs7QUFOSixjQUFFLGlCQVFBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBQUdKLGNBQUUsZ0JBQ0Esa0JBQWtCO0VBQ2hCLDRCQUFBOztBRGtQTjtFQ25RRSxxQkFBQTs7QUFFQSxXQUFFO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EscUJBQUE7O0FBSEYsV0FBRSxpQkFLQSxrQkFBa0I7RUFDaEIseUJBQUE7O0FBTkosV0FBRSxpQkFRQTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QUFHSixXQUFFLGdCQUNBLGtCQUFrQjtFQUNoQiw0QkFBQTs7QURxUE47RUN0UUUscUJBQUE7O0FBRUEsY0FBRTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUhGLGNBQUUsaUJBS0Esa0JBQWtCO0VBQ2hCLHlCQUFBOztBQU5KLGNBQUUsaUJBUUE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FBR0osY0FBRSxnQkFDQSxrQkFBa0I7RUFDaEIsNEJBQUE7O0FEd1BOO0VDelFFLHFCQUFBOztBQUVBLGFBQUU7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFIRixhQUFFLGlCQUtBLGtCQUFrQjtFQUNoQix5QkFBQTs7QUFOSixhQUFFLGlCQVFBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBQUdKLGFBQUUsZ0JBQ0Esa0JBQWtCO0VBQ2hCLDRCQUFBOztBQ2hCTjtFQUNFLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7O0FBTEYsaUJBT0U7QUFQRixpQkFRRTtBQVJGLGlCQVNFO0FBVEYsaUJBVUU7QUFWRixpQkFXRTtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBOztBQUtKO0VBQ0Usc0JBQUE7O0FBSUY7RUFDRSxtQkFBQTs7QUMzQkY7RUFDRSxnQkFBQTtFQUNBLGFBQUE7RUFDQSxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFckR3REEsdURBQUE7RUFDUSwrQ0FBQTs7QXFEL0RWLEtBUUU7RUFDRSxrQkFBQTtFQUNBLGlDQUFBOztBQUtKO0VBQ0UsYUFBQTtFQUNBLGtCQUFBOztBQUVGO0VBQ0UsWUFBQTtFQUNBLGtCQUFBOztBQ3RCRjtFQUNFLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGlCQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7RUFDQSw0QkFBQTtFbENSQSxZQUFBO0VBR0EseUJBQUE7O0FrQ1FBLE1BQUM7QUFDRCxNQUFDO0VBQ0MsY0FBQTtFQUNBLHFCQUFBO0VBQ0EsZUFBQTtFbENmRixZQUFBO0VBR0EseUJBQUE7O0FrQ29CQSxNQUFNO0VBQ0osVUFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLFNBQUE7RUFDQSx3QkFBQTs7QUNyQko7RUFDRSxnQkFBQTs7QUFJRjtFQUNFLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxNQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxPQUFBO0VBQ0EsYUFBQTtFQUNBLGlDQUFBO0VBSUEsVUFBQTs7QUFHQSxNQUFDLEtBQU07RXZEK0dQLG1CQUFtQixrQkFBbkI7RUFDSSxlQUFlLGtCQUFmO0VBQ0MsY0FBYyxrQkFBZDtFQUNHLFdBQVcsa0JBQVg7RUFrRVIsbURBQUE7RUFDRyw2Q0FBQTtFQUNFLHlDQUFBO0VBQ0csbUNBQUE7O0F1RG5MUixNQUFDLEdBQUk7RXZEMkdMLG1CQUFtQixlQUFuQjtFQUNJLGVBQWUsZUFBZjtFQUNDLGNBQWMsZUFBZDtFQUNHLFdBQVcsZUFBWDs7QXVENUdWLFdBQVk7RUFDVixrQkFBQTtFQUNBLGdCQUFBOztBQUlGO0VBQ0Usa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTs7QUFJRjtFQUNFLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSx5QkFBQTtFQUNBLG9DQUFBO0VBQ0Esa0JBQUE7RXZEYUEsZ0RBQUE7RUFDUSx3Q0FBQTtFdURaUiw0QkFBQTtFQUVBLFVBQUE7O0FBSUY7RUFDRSxlQUFBO0VBQ0EsTUFBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLGFBQUE7RUFDQSx5QkFBQTs7QUFFQSxlQUFDO0VuQ3JFRCxVQUFBO0VBR0Esd0JBQUE7O0FtQ21FQSxlQUFDO0VuQ3RFRCxZQUFBO0VBR0EseUJBQUE7O0FtQ3dFRjtFQUNFLGFBQUE7RUFDQSxnQ0FBQTtFQUNBLHlCQUFBOztBQUdGLGFBQWM7RUFDWixnQkFBQTs7QUFJRjtFQUNFLFNBQUE7RUFDQSx1QkFBQTs7QUFLRjtFQUNFLGtCQUFBO0VBQ0EsYUFBQTs7QUFJRjtFQUNFLGFBQUE7RUFDQSxpQkFBQTtFQUNBLDZCQUFBOztBQUhGLGFBT0UsS0FBSztFQUNILGdCQUFBO0VBQ0EsZ0JBQUE7O0FBVEosYUFZRSxXQUFXLEtBQUs7RUFDZCxpQkFBQTs7QUFiSixhQWdCRSxXQUFXO0VBQ1QsY0FBQTs7QUFLSjtFQUNFLGtCQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7O0FBa0JGLFFBZG1DO0VBRWpDO0lBQ0UsWUFBQTtJQUNBLGlCQUFBOztFQUVGO0l2RHZFQSxpREFBQTtJQUNRLHlDQUFBOztFdUQyRVI7SUFBWSxZQUFBOzs7QUFNZCxRQUhtQztFQUNqQztJQUFZLFlBQUE7OztBQzlJZDtFQUNFLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLGNBQUE7RUNSQSxheEQrRXdCLHlDd0QvRXhCO0VBRUEsa0JBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLGdCQUFBO0VBQ0EsaUJBQUE7RUFDQSxxQkFBQTtFQUNBLGlCQUFBO0VBQ0Esb0JBQUE7RUFDQSxtQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxpQkFBQTtFREhBLGVBQUE7RXBDVkEsVUFBQTtFQUdBLHdCQUFBOztBb0NXQSxRQUFDO0VwQ2RELFlBQUE7RUFHQSx5QkFBQTs7QW9DWUEsUUFBQztFQUFVLGdCQUFBO0VBQW1CLGNBQUE7O0FBQzlCLFFBQUM7RUFBVSxnQkFBQTtFQUFtQixjQUFBOztBQUM5QixRQUFDO0VBQVUsZUFBQTtFQUFtQixjQUFBOztBQUM5QixRQUFDO0VBQVUsaUJBQUE7RUFBbUIsY0FBQTs7QUFJaEM7RUFDRSxnQkFBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTs7QUFJRjtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBOztBQUlBLFFBQUMsSUFBSztFQUNKLFNBQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtFQUNBLHlCQUFBOztBQUVGLFFBQUMsU0FBVTtFQUNULFNBQUE7RUFDQSxVQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHlCQUFBOztBQUVGLFFBQUMsVUFBVztFQUNWLFNBQUE7RUFDQSxTQUFBO0VBQ0EsbUJBQUE7RUFDQSx1QkFBQTtFQUNBLHlCQUFBOztBQUVGLFFBQUMsTUFBTztFQUNOLFFBQUE7RUFDQSxPQUFBO0VBQ0EsZ0JBQUE7RUFDQSwyQkFBQTtFQUNBLDJCQUFBOztBQUVGLFFBQUMsS0FBTTtFQUNMLFFBQUE7RUFDQSxRQUFBO0VBQ0EsZ0JBQUE7RUFDQSwyQkFBQTtFQUNBLDBCQUFBOztBQUVGLFFBQUMsT0FBUTtFQUNQLE1BQUE7RUFDQSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBOztBQUVGLFFBQUMsWUFBYTtFQUNaLE1BQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBOztBQUVGLFFBQUMsYUFBYztFQUNiLE1BQUE7RUFDQSxTQUFBO0VBQ0EsZ0JBQUE7RUFDQSx1QkFBQTtFQUNBLDRCQUFBOztBRTdGSjtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxhQUFBO0VBQ0EsYUFBQTtFQUNBLGdCQUFBO0VBQ0EsWUFBQTtFRFhBLGF4RCtFd0IseUN3RC9FeEI7RUFFQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0Esc0JBQUE7RUFDQSxnQkFBQTtFQUNBLHVCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLHFCQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxvQkFBQTtFQUNBLGlCQUFBO0VDQUEsZUFBQTtFQUVBLHlCQUFBO0VBQ0EsNEJBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RTFEOENBLGlEQUFBO0VBQ1EseUNBQUE7O0EwRDNDUixRQUFDO0VBQVcsaUJBQUE7O0FBQ1osUUFBQztFQUFXLGlCQUFBOztBQUNaLFFBQUM7RUFBVyxnQkFBQTs7QUFDWixRQUFDO0VBQVcsa0JBQUE7O0FBR2Q7RUFDRSxTQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFDQSxnQ0FBQTtFQUNBLDBCQUFBOztBQUdGO0VBQ0UsaUJBQUE7O0FBUUEsUUFETztBQUVQLFFBRk8sU0FFTjtFQUNDLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EseUJBQUE7RUFDQSxtQkFBQTs7QUFHSixRQUFTO0VBQ1Asa0JBQUE7O0FBRUYsUUFBUyxTQUFRO0VBQ2Ysa0JBQUE7RUFDQSxTQUFTLEVBQVQ7O0FBSUEsUUFBQyxJQUFLO0VBQ0osU0FBQTtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBO0VBQ0EsYUFBQTs7QUFDQSxRQVBELElBQUssU0FPSDtFQUNDLFNBQVMsR0FBVDtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLHNCQUFBO0VBQ0EseUJBQUE7O0FBR0osUUFBQyxNQUFPO0VBQ04sUUFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMkJBQUE7RUFDQSwyQkFBQTs7QUFDQSxRQVBELE1BQU8sU0FPTDtFQUNDLFNBQVMsR0FBVDtFQUNBLFNBQUE7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7RUFDQSwyQkFBQTs7QUFHSixRQUFDLE9BQVE7RUFDUCxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLDRCQUFBO0VBQ0EsNEJBQUE7RUFDQSxVQUFBOztBQUNBLFFBUEQsT0FBUSxTQU9OO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsUUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSw0QkFBQTs7QUFJSixRQUFDLEtBQU07RUFDTCxRQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSwwQkFBQTtFQUNBLDBCQUFBOztBQUNBLFFBUEQsS0FBTSxTQU9KO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsMEJBQUE7RUFDQSxhQUFBOztBdER6SE47RUFDRSxrQkFBQTs7QUFHRjtFQUNFLGtCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxXQUFBOztBQUhGLGVBS0U7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7RUo2S0YseUNBQUE7RUFDSyxvQ0FBQTtFQUNHLGlDQUFBOztBSXRMVixlQUtFLFFBTUU7QUFYSixlQUtFLFFBT0UsSUFBSTtFQUVGLGNBQUE7O0FBMEJKO0VBQUEsZUFuQ0E7SUpvTUEsc0RBQUE7SUFDRyxnREFBQTtJQUNFLDRDQUFBO0lBQ0csc0NBQUE7SUE3SlIsbUNBQUE7SUFDRyxnQ0FBQTtJQUNLLDJCQUFBO0lBK0dSLDJCQUFBO0lBQ0csd0JBQUE7SUFDSyxtQkFBQTs7RUkzSUosZUFsQkosUUFrQks7RUFDRCxlQW5CSixRQW1CSyxPQUFPO0lKa0haLG1CQUFtQix1QkFBbkI7SUFDUSxXQUFXLHVCQUFYO0lJakhGLE9BQUE7O0VBRUYsZUF2QkosUUF1Qks7RUFDRCxlQXhCSixRQXdCSyxPQUFPO0lKNkdaLG1CQUFtQix3QkFBbkI7SUFDUSxXQUFXLHdCQUFYO0lJNUdGLE9BQUE7O0VBRUYsZUE1QkosUUE0QkssS0FBSztFQUNOLGVBN0JKLFFBNkJLLEtBQUs7RUFDTixlQTlCSixRQThCSztJSnVHTCxtQkFBbUIsb0JBQW5CO0lBQ1EsV0FBVyxvQkFBWDtJSXRHRixPQUFBOzs7QUFyQ1IsZUEwQ0U7QUExQ0YsZUEyQ0U7QUEzQ0YsZUE0Q0U7RUFDRSxjQUFBOztBQTdDSixlQWdERTtFQUNFLE9BQUE7O0FBakRKLGVBb0RFO0FBcERGLGVBcURFO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsV0FBQTs7QUF4REosZUEyREU7RUFDRSxVQUFBOztBQTVESixlQThERTtFQUNFLFdBQUE7O0FBL0RKLGVBaUVFLFFBQU87QUFqRVQsZUFrRUUsUUFBTztFQUNMLE9BQUE7O0FBbkVKLGVBc0VFLFVBQVM7RUFDUCxXQUFBOztBQXZFSixlQXlFRSxVQUFTO0VBQ1AsVUFBQTs7QUFRSjtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUNBLE9BQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFZ0I5RkEsWUFBQTtFQUdBLHlCQUFBO0VoQjZGQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGtCQUFBO0VBQ0EseUNBQUE7O0FBS0EsaUJBQUM7RXlDbEdDLGtCQUFrQixnRkFBbEI7RUFDQSxrQkFBa0IsMkVBQWxCO0VBQ0Esa0JBQWtCLDRFQUFsQjtFQUNBLDJCQUFBO0VBQ0Esc0hBQUE7O0F6Q2lHRixpQkFBQztFQUNDLFVBQUE7RUFDQSxRQUFBO0V5Q3ZHQSxrQkFBa0IsZ0ZBQWxCO0VBQ0Esa0JBQWtCLDJFQUFsQjtFQUNBLGtCQUFrQiw0RUFBbEI7RUFDQSwyQkFBQTtFQUNBLHNIQUFBOztBekN3R0YsaUJBQUM7QUFDRCxpQkFBQztFQUNDLFVBQUE7RUFDQSxjQUFBO0VBQ0EscUJBQUE7RWdCdEhGLFlBQUE7RUFHQSx5QkFBQTs7QWhCc0ZGLGlCQWtDRTtBQWxDRixpQkFtQ0U7QUFuQ0YsaUJBb0NFO0FBcENGLGlCQXFDRTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLGlCQUFBO0VBQ0EsVUFBQTtFQUNBLHFCQUFBOztBQTFDSixpQkE0Q0U7QUE1Q0YsaUJBNkNFO0VBQ0UsU0FBQTtFQUNBLGtCQUFBOztBQS9DSixpQkFpREU7QUFqREYsaUJBa0RFO0VBQ0UsVUFBQTtFQUNBLG1CQUFBOztBQXBESixpQkFzREU7QUF0REYsaUJBdURFO0VBQ0UsV0FBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0Esa0JBQUE7O0FBS0EsaUJBREYsV0FDRztFQUNDLFNBQVMsT0FBVDs7QUFJRixpQkFERixXQUNHO0VBQ0MsU0FBUyxPQUFUOztBQVVOO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxVQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTs7QUFURixvQkFXRTtFQUNFLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsbUJBQUE7RUFDQSx5QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQVdBLHlCQUFBO0VBQ0Esa0NBQUE7O0FBL0JKLG9CQWlDRTtFQUNFLFNBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLHlCQUFBOztBQU9KO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0EsaUJBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTtFQUNBLHlDQUFBOztBQUNBLGlCQUFFO0VBQ0EsaUJBQUE7O0FBeUNKLG1CQW5DOEM7RUFHNUMsaUJBQ0U7RUFERixpQkFFRTtFQUZGLGlCQUdFO0VBSEYsaUJBSUU7SUFDRSxXQUFBO0lBQ0EsWUFBQTtJQUNBLGlCQUFBO0lBQ0EsZUFBQTs7RUFSSixpQkFVRTtFQVZGLGlCQVdFO0lBQ0Usa0JBQUE7O0VBWkosaUJBY0U7RUFkRixpQkFlRTtJQUNFLG1CQUFBOztFQUtKO0lBQ0UsU0FBQTtJQUNBLFVBQUE7SUFDQSxvQkFBQTs7RUFJRjtJQUNFLFlBQUE7OztBdUQ3UEYsU0FBQztBQUNELFNBQUM7QXJEa01ILGNBQ0UsR3FEcE1DO0FyRG1NSCxjQUNFLEdxRG5NQztBaERMSCxVZ0RJRztBaERKSCxVZ0RLRztBaERlSCxnQmdEaEJHO0FoRGdCSCxnQmdEZkc7QWhEd0JILElnRHpCRztBaER5QkgsSWdEeEJHO0EzQ2loQkgsZ0JBcUJFLFkyQ3ZpQkM7QTNDa2hCSCxnQkFxQkUsWTJDdGlCQztBdENvQkgsWXNDckJHO0F0Q3FCSCxZc0NwQkc7QXRDaUlILG1CQVdFLGFzQzdJQztBdENrSUgsbUJBV0UsYXNDNUlDO0E5Qk5ILEk4QktHO0E5QkxILEk4Qk1HO0E3QkpILE82QkdHO0E3QkhILE82QklHO0E3QmdCSCxjNkJqQkc7QTdCaUJILGM2QmhCRztBN0JtQ0gsZ0I2QnBDRztBN0JvQ0gsZ0I2Qm5DRztBdEJUSCxNc0JRRztBdEJSSCxNc0JTRztBVENILFdTRkc7QVRFSCxXU0RHO0FKd0ZILGFJekZHO0FKeUZILGFJeEZHO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixTQUFDO0FyRDhMSCxjQUNFLEdxRC9MQztBaERUSCxVZ0RTRztBaERXSCxnQmdEWEc7QWhEb0JILElnRHBCRztBM0M2Z0JILGdCQXFCRSxZMkNsaUJDO0F0Q2dCSCxZc0NoQkc7QXRDNkhILG1CQVdFLGFzQ3hJQztBOUJWSCxJOEJVRztBN0JSSCxPNkJRRztBN0JZSCxjNkJaRztBN0IrQkgsZ0I2Qi9CRztBdEJiSCxNc0JhRztBVEhILFdTR0c7QUpvRkgsYUlwRkc7RUFDQyxXQUFBOztBM0JSSjtFNEJSRSxjQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QTVCU0Y7RUFDRSx1QkFBQTs7QUFFRjtFQUNFLHNCQUFBOztBQVFGO0VBQ0Usd0JBQUE7O0FBRUY7RUFDRSx5QkFBQTs7QUFFRjtFQUNFLGtCQUFBOztBQUVGO0U2QnpCRSxXQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLDZCQUFBO0VBQ0EsU0FBQTs7QTdCOEJGO0VBQ0Usd0JBQUE7O0FBT0Y7RUFDRSxlQUFBOztBOEJqQ0Y7RUFDRSxtQkFBQTs7QUFNRjtBQUNBO0FBQ0E7QUFDQTtFQ2pCRSx3QkFBQTs7QURxQkY7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0Usd0JBQUE7O0FBT0YsUUFIcUM7RUFHckM7SUNoREUseUJBQUE7O0VBQ0EsS0FBSztJQUFLLHlCQUFBOztFQUNWLEVBQUU7SUFBUSxrQkFBQTs7RUFDVixFQUFFO0VBQ0YsRUFBRTtJQUFRLG1CQUFBOzs7QURpRFosUUFIcUM7RUFHckM7SUFGSSx5QkFBQTs7O0FBT0osUUFIcUM7RUFHckM7SUFGSSwwQkFBQTs7O0FBT0osUUFIcUM7RUFHckM7SUFGSSxxQkFBQTs7O0FBUUosUUFIcUMsdUJBQWdDO0VBR3JFO0lDckVFLHlCQUFBOztFQUNBLEtBQUs7SUFBSyx5QkFBQTs7RUFDVixFQUFFO0lBQVEsa0JBQUE7O0VBQ1YsRUFBRTtFQUNGLEVBQUU7SUFBUSxtQkFBQTs7O0FEc0VaLFFBSHFDLHVCQUFnQztFQUdyRTtJQUZJLHlCQUFBOzs7QUFPSixRQUhxQyx1QkFBZ0M7RUFHckU7SUFGSSwwQkFBQTs7O0FBT0osUUFIcUMsdUJBQWdDO0VBR3JFO0lBRkkscUJBQUE7OztBQVFKLFFBSHFDLHVCQUFnQztFQUdyRTtJQzFGRSx5QkFBQTs7RUFDQSxLQUFLO0lBQUsseUJBQUE7O0VBQ1YsRUFBRTtJQUFRLGtCQUFBOztFQUNWLEVBQUU7RUFDRixFQUFFO0lBQVEsbUJBQUE7OztBRDJGWixRQUhxQyx1QkFBZ0M7RUFHckU7SUFGSSx5QkFBQTs7O0FBT0osUUFIcUMsdUJBQWdDO0VBR3JFO0lBRkksMEJBQUE7OztBQU9KLFFBSHFDLHVCQUFnQztFQUdyRTtJQUZJLHFCQUFBOzs7QUFRSixRQUhxQztFQUdyQztJQy9HRSx5QkFBQTs7RUFDQSxLQUFLO0lBQUsseUJBQUE7O0VBQ1YsRUFBRTtJQUFRLGtCQUFBOztFQUNWLEVBQUU7RUFDRixFQUFFO0lBQVEsbUJBQUE7OztBRGdIWixRQUhxQztFQUdyQztJQUZJLHlCQUFBOzs7QUFPSixRQUhxQztFQUdyQztJQUZJLDBCQUFBOzs7QUFPSixRQUhxQztFQUdyQztJQUZJLHFCQUFBOzs7QUFRSixRQUhxQztFQUdyQztJQzVIRSx3QkFBQTs7O0FEaUlGLFFBSHFDLHVCQUFnQztFQUdyRTtJQ2pJRSx3QkFBQTs7O0FEc0lGLFFBSHFDLHVCQUFnQztFQUdyRTtJQ3RJRSx3QkFBQTs7O0FEMklGLFFBSHFDO0VBR3JDO0lDM0lFLHdCQUFBOzs7QURtSkY7RUNuSkUsd0JBQUE7O0FEeUpGO0VBQUE7SUNqS0UseUJBQUE7O0VBQ0EsS0FBSztJQUFLLHlCQUFBOztFQUNWLEVBQUU7SUFBUSxrQkFBQTs7RUFDVixFQUFFO0VBQ0YsRUFBRTtJQUFRLG1CQUFBOzs7QUQ4Slo7RUFDRSx3QkFBQTs7QUFLRjtFQUFBO0lBRkkseUJBQUE7OztBQUdKO0VBQ0Usd0JBQUE7O0FBS0Y7RUFBQTtJQUZJLDBCQUFBOzs7QUFHSjtFQUNFLHdCQUFBOztBQUtGO0VBQUE7SUFGSSxxQkFBQTs7O0FBUUo7RUFBQTtJQ3BMRSx3QkFBQTs7Ozs7O0FuQ21QRjtFSzdQa2YscUJBQUE7RUFBcUIsNkNBQUE7RUFBNkMsa0JBQUE7RUFBa0Isb0JBQUE7RUFBb0IsbUNBQUE7RUFBbUMsa0NBQUE7O0FMNlA3bkIsVUs3UDBzQztFQUFjLG1CQUFBOztBTDZQeHRDLFVLN1A2dUM7RUFBZSxrQkFBQTs7QUw2UDV2QyxVSzdQOHpDO0VBQVcsbUJBQUE7O0FMNlB6MEMsVUs3UDgxQztFQUFZLGtCQUFBOztBTCtQeDJDLFVBQUMsdUJLL1BtNkw7RUFBUSxTQUFRLE9BQVI7O0FMOFA1NkwsVUFBQyx3Qks5UDQ4TDtFQUFRLFNBQVEsT0FBUjs7QUxnUXI5TCxVQUFDLHFCS2hRd3JPO0VBQVEsU0FBUSxPQUFSOztBTGlRanNPLFVBQUMsdUJLalFndU87RUFBUSxTQUFRLE9BQVI7O0FMWTN1TztFQUNFLGVBQUE7O0FBSUY7QUFDQTtBQUNBO0FBQ0EsWUFBYTtFQUNYLGVBQUE7O0FBR0Y7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBQ0Usd0JBQUE7O0FBR0YsQ0FBQztFQUNDLHFCQUFBOztBQUdGO0VBQ0Usd0JBQUE7O0FBQ0EsQ0FBQztBQUFRLENBQUM7RUFDUixxQkFBQTs7QUFJSjtFQUNFLGdCQUFBOztBQURGLFdBRUU7RUFDRSxhQUFBOztBQUVFLE1BREssWUFGVCxpQkFHSztFQUNDLGFBQUE7O0FBTVI7RUFDRSw0QkFBQTs7QUFHRjtFQUNFLHlCQUFBOztBQU1GLFNBQVUsS0FBSztFQUNiLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLHlCQUFBO0VBQ0EsU0FBQTtFQUNBLHlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBSUYsU0FBVSxLQUFJLE9BQVE7RUFDcEIsa0JBQUE7O0FBQ0EsU0FGUSxLQUFJLE9BQVE7QUFFakIsU0FGSyxLQUFJLE9BQVEsSUFFaEI7QUFBUSxTQUZKLEtBQUksT0FBUSxJQUVQO0VBQ1gsY0FBQTtFQUNBLHlCQUFBOztBQUlKLFNBQVU7RUFDUixZQUFBOztBQUNBLFNBRlEsS0FFUDtFQUNDLFVBQUE7O0FBREYsU0FGUSxLQUVQLE9BRUM7RUFDRSxpQkFBQTs7QUFHSixTQVJRLEtBUVA7RUFDQyxlQUFBOztBQUlKO0VBQ0Usa0JBQUE7RUFDQSxtQkFBQTtFQUNBLDJCQUFBO0VBQ0EscUJBQUE7O0FBQ0EsVUFBVztFQUNULFNBQUE7RUFDQSxVQUFBOztBQUlKLFNBQVMsY0FBZSxVQUFVO0FBQ2xDLFNBQVMsY0FBZSxVQUFVLElBQUc7QUFDckMsU0FBUyxjQUFlLFVBQVUsSUFBRztFQUNuQyxnQkFBQTs7QUFNRjtFQUNFLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQ0FBQTs7QUFHRjtBQUNBO0VBQ0UscUJBQUE7O0FBR0Y7RUFDRSx5QkFBQTs7QUFHRjtBQUNBLE1BQU07RUFDSixZQUFBOztBQUdGO0VBQ0Usb0JBQUE7RUFDQSw4QkFBQTtFQUNBLG1CQUFBOztBQUNBLFFBQUM7QUFDRCxRQUFDO0VBQ0MsZ0JBQUE7O0FBTkosUUFRRTtFQUNFLGdCQUFBOztBQUtKLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUNMLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztFQUNILHdCQUFBOztBQU1GLE1BR0UsUUFBUSxLQUFLO0VBQ1gsd0JBQUE7RUFDQSw0QkFBQTtFQUNBLCtCQUFBOztBQU5KLE1BVUUsUUFBUTtFQUNOLHdCQUFBOztBQUtKLGVBQ0UsUUFBUSxLQUNOO0FBRkosZUFDRSxRQUFRLEtBRU47RUFDRSx3QkFBQTs7QUFRTjtFNUJqSUUsaUNBQUE7RUFDUSx5QkFBQTtFNEJrSVIsa0JBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBOztBQUpGLFNBS0U7RTVCdElBLGlDQUFBO0VBQ1EseUJBQUE7O0E0QjZJVjtFQUNFLHNCQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQ0FBQTtFQUNBLGtCQUFBOztBQUpGLFFBS0U7RUFDRSxTQUFBOztBQUtKO0VBQ0Usa0JBQUE7O0FBR0Y7RUFDRSxjQUFBOztBQUtGLFNBQ0U7RUFDRSxTQUFBOztBQUdBLFNBREYsa0JBQ0c7QUFDRCxTQUZGLGtCQUVHO0VBQ0Msc0JBQUE7O0FBUE4sU0FJRSxrQkFNRTtFQUNFLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0EscUJBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7O0FBYU4sTUFBTztFQUNMLGVBQUE7RUFDQSxjQUFBOztBQU1GLGNBQ0U7RUFBSSxxQkFBQTs7OztBb0MzUU47RUFDRSxhQUFhLFdBQWI7RUFDQSxTQUFTLDhEQUFUO0VBQ0EsU0FBUyxzRUFBZ0QsT0FBTywwQkFDdkQsZ0VBQTBDLE9BQU8sYUFDakQsK0RBQXlDLE9BQU8saUJBQ2hELDZFQUF1RCxPQUFPLE1BSHZFO0VBSUEsZ0JBQUE7RUFDQSxrQkFBQTs7OztBQUtGO0VBQ0UsYUFBYSxXQUFiO0VBQ0EsU0FBUyxrRUFBVDtFQUNBLFNBQVMsMEVBQW9ELE9BQU8sMEJBQzNELG9FQUE4QyxPQUFPLGFBQ3JELG1FQUE2QyxPQUFPLGlCQUNwRCxtRkFBNkQsT0FBTyxNQUg3RTtFQUlBLGdCQUFBO0VBQ0Esa0JBQUE7Ozs7QUFLRjtFQUNFLGFBQWEsV0FBYjtFQUNBLFNBQVMsZ0VBQVQ7RUFDQSxTQUFTLHdFQUFrRCxPQUFPLDBCQUN6RCxrRUFBNEMsT0FBTyxhQUNuRCxpRUFBMkMsT0FBTyxpQkFDbEQsZ0ZBQTBELE9BQU8sTUFIMUU7RUFJQSxnQkFBQTtFQUNBLGtCQUFBOzs7O0FBS0Y7RUFDRSxhQUFhLFdBQWI7RUFDQSxTQUFTLG9FQUFUO0VBQ0EsU0FBUyw0RUFBc0QsT0FBTywwQkFDN0Qsc0VBQWdELE9BQU8sYUFDdkQscUVBQStDLE9BQU8saUJBQ3RELHNGQUFnRSxPQUFPLE1BSGhGO0VBSUEsZ0JBQUE7RUFDQSxrQkFBQTs7Ozs7O0FDcEJGOztFQUNxQixjQUFBO0VBQ25CLDhCQUFBO0VBQ0EsMEJBQUE7O0FBR0Y7QUFBTTtFQUNKLFdBQUE7RUFDQSxZQUFBOztBQUVGO0VBQ0Usa0JBQUE7O0FBS0Y7RUFDRSxrQkFBQTtFQUNBLFdBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RWpFMElBLDZCaUV6SW9CLDhCakV5SXBCO0VBQ0ssd0JpRTFJZSw4QmpFMElmO0VBQ0cscUJpRTNJWSw4QmpFMklaO0VpRTFJUixrQkFBQTs7QUFFQSxjQUFDO0VBQ0MsYUFBQTs7QUFUSixjQVlFO0VBQ0Usa0JBQUE7RUFDQSxZQUFBOztBQWRKLGNBa0JFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxZQUFBO0VBRUEsWUFBQTs7QUF6QkosY0E2QkU7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7RUFDQSxZQUFBOztBQWxDSixjQXNDRTtFQUNFLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxTQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7RUFDQSw2QkFBQTtFQUNBLHlCQUFBO0VBQ0EsWUFBQTs7QUEvQ0osY0FzQ0UsU0FVRTtFQUNFLFNBQUE7O0FBWU47RUFBQSxjQU5JO0VBTUosY0FMSTtJQUNFLGtCQUFBOzs7QUFTTjtFQUNFLGFBQUE7RUFDQSxvQkFBQTtFQUNBLFdBQUE7O0FBSEYsSUFLRTtFQUdFLFNBQUE7RUFDQSxtQkFBQTtFQUNBLFVBQUE7O0FOL0dGLElNMEdBLEtOMUdDO0FBQ0QsSU15R0EsS056R0M7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLElNcUdBLEtOckdDO0VBQ0MsV0FBQTs7QUFORixJTTBHQSxLTjFHQztBQUNELElNeUdBLEtOekdDO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixJTXFHQSxLTnJHQztFQUNDLFdBQUE7O0FNK0ZKLElBS0UsS0FPRTtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLGNBQUE7O0FBaEJOLElBbUJFO0FBbkJGLElBbUJZO0VBQ1IscUJBQUE7O0FBcEJKLElBdUJFO0FBdkJGLElBd0JFO0VBQ0UsZUFBQTtFQUNBLGdCQUFBOztBQVNGO0VBQUEsSUFMRTtFQUtGLElBTFk7SUFDUixTQUFBOzs7QUEvQk4sSUFvQ0U7RUFDRSxhQUFBOztBQThESjtFQXBERSxtQkFDRSxlQUNFO0lBQ0UsbUJBQUE7O0VBSE4sbUJBT0UsZUFDRSxlQUNFO0VBVE4sbUJBT0UsZUFDRSxlQUVFO0lBQ0Usa0JBQUE7O0VBWFIsbUJBT0UsZUFDRSxlQUtFO0lBQ0UsY0FBQTs7RUFNUixnQkFFRTtJakU5SEYsbUNBQUE7SUFDRyxnQ0FBQTtJQUNLLDJCQUFBOztFaUUwSFIsZ0JBRUUsZUFHRTtFQUxKLGdCQUVFLGVBSUU7SWpFdkNKLG1CQUFtQixvQkFBbkI7SUFDUSxXQUFXLG9CQUFYO0lBOERSLCtDQUFBO0lBQ0cseUNBQUE7SUFDRSxxQ0FBQTtJQUNHLCtCQUFBOztFaUVqQ1IsZ0JBRUUsZUFRRTtJQUNFLDRCQUFBO0lqRTVDTixtQkFBbUIseUJBQW5CO0lBQ1EsV0FBVyx5QkFBWDtJQThEUiwrQ0FBQTtJQUNHLHlDQUFBO0lBQ0UscUNBQUE7SUFDRywrQkFBQTs7RWlFakNSLGdCQWlCRSxlQUNFLGVBRUU7RUFwQk4sZ0JBaUJFLGVBQ0UsZUFHRTtJakV0RE4sbUJBQW1CLHdCQUFuQjtJQUNRLFdBQVcsd0JBQVg7O0VpRWdDUixnQkFpQkUsZUFDRSxlQU1FO0lqRXpETixtQkFBbUIsb0JBQW5CO0lBQ1EsV0FBVyxvQkFBWDs7O0FpRXFFVixnQkFDRTtFQUNFLGFBQUE7O0FBY0o7RUFBQSxnQkFWSSxlQUNFO0lBQ0UsV0FBQTs7RUFRUixnQkFWSSxlQUlFO0VBTU4sZ0JBVkksZUFLRTtJQUNFLGlCQUFBOzs7QUFnQk4sUUFOcUM7RUFDbkMsYUFBQztJQUNDLGtCQUFBOzs7QUFKTixhQVFFLGVBQ0U7QUFUSixhQVFFLGVBRUU7RUFDRSxlQUFBOztBQVlGO0VBQUEsYUFmRixlQU9JOztJQUVFLFdBQUE7SUFDQSxnQkFBQTtJakV2TU4sbUNBQUE7SUFDRyxnQ0FBQTtJQUNLLDJCQUFBOzs7QWlFbUxWLGFBUUUsZUFlRTtFQUNFLFdBQUE7O0FBeEJOLGFBUUUsZUFrQkU7RUFDRSxpQkFBQTs7QUFPTixhQUNFO0VBQ0UsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsZ0JBQUE7O0FBSkosYUFDRSxlQU1FO0VBQ0UsYUFBQTs7QUFSTixhQUNFLGVBU0U7RUFDRSxXQUFBO0VBQ0EsaUJBQUE7O0FBS0osYUFBQyxPQUFRO0VBQ1Asd0NBQUE7O0FBbEJKLGFBcUJFO0VBQ0UsYUFBQTs7QUF0QkosYUF3QkU7RUFDRSxXQUFBOzs7OztBQzlSSjtFQUNFLGtCQUFBO0VBQ0EsbUNBQUE7O0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxvQ0FBQTtFbEU2S0Esd0NBQUE7RUFDSyxtQ0FBQTtFQUNHLGdDQUFBOztBa0VyTFYsVUFXRTtFQUNFLGtCQUFBOztBQVFBO0VBQUEsVUFURjtJQUlJLFlBQUE7SUFDQSxzQkFBQTtJQUNBLFVBQUE7OztBQWpCTixVQVdFLGlCQVNFO0VBQ0UsY0FBQTtFQUNBLFlBQUE7RUFDQSxXQUFBO0VBQ0Esa0JBQUE7O0FBeEJOLFVBV0UsaUJBU0UsZ0JBS0U7RUFDRSxnQkFBQTtFQUNBLFdBQUE7O0FBM0JSLFVBV0UsaUJBcUJFO0VBQ0UscUJBQUE7O0FBQ0EsVUF2QkosaUJBcUJFLFlBRUc7RUFDQyxhQUFBOztBQWVOO0VBVkksZ0JBQWlCLFdBN0JyQjtJQThCTSxXQUFBOztFQURGLGdCQUFpQixXQTdCckIsaUJBK0JNO0lBQ0UsYUFBQTs7RUFDQSxnQkFKYSxXQTdCckIsaUJBK0JNLFlBRUc7SUFDQyxxQkFBQTs7O0FBN0NaLFVBc0RFLEtBQUssS0FBSyxJQUFJO0VBQ1oscUJBQUE7O0FBdkRKLFVBc0RFLEtBQUssS0FBSyxJQUFJLFdBRVo7RUFDRSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxTQUFBOztBQTVETixVQWtFRTtFQUVFLDZCQUFBO0VBQ0EsUUFBQTtFQUNBLE9BQUE7RUFDQSxNQUFBO0VBQ0EsWUFBQTtFQUNBLGFBQUE7O0FQdkVGLFVPZ0VBLGdCUGhFQztBQUNELFVPK0RBLGdCUC9EQztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsVU8yREEsZ0JQM0RDO0VBQ0MsV0FBQTs7QUFORixVT2dFQSxnQlBoRUM7QUFDRCxVTytEQSxnQlAvREM7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLFVPMkRBLGdCUDNEQztFQUNDLFdBQUE7O0FPc0VGO0VBQUEsVUFaQTtJQVVJLGFBQUE7OztBQTVFTixVQWtGRTtBQWxGRixVQW1GRTtFQUNFLGVBQUE7RUFDQSxZQUFBO0VBQ0EsYUFBQTs7QUF0RkosVUF3RkU7RUFDRSxXQUFBOztBQXpGSixVQTJGRTtFQUNFLFlBQUE7O0FBYUo7RUFQTSxVQURGLEtBQUssS0FBSyxJQUNQO0VBQVEsVUFEWCxLQUFLLEtBQUssSUFDRTtJQUNSLHdDQUFBOzs7QUFRUixZQUNFO0VBQ0UseUJBQUE7O0FBRkosWUFJRTtFQUNFLHlCQUFBO0VBQ0EsNkJBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7O0FBVUo7RUFDRSxlQUFBO0VBQ0Esd0NBQUE7O0FBR0EsWUFBQztFQUNDLGlCQUFBOztBQU5KLFlBVUUsWUFBWSxNQUFNO0VBQ2hCLGtCQUFBO0VBRUEsU0FBQTtFQUNBLFVBQUE7RUFDQSw2QkFBQTtFQUNBLGdDQUFBOztBQWtCSjtFQUFBO0lBYkksa0JBQUE7O0VQaEpGLFlBQUM7RUFDRCxZQUFDO0lBQ0MsU0FBUyxHQUFUO0lBQ0EsY0FBQTs7RUFFRixZQUFDO0lBQ0MsV0FBQTs7RUFORixZQUFDO0VBQ0QsWUFBQztJQUNDLFNBQVMsR0FBVDtJQUNBLGNBQUE7O0VBRUYsWUFBQztJQUNDLFdBQUE7O0VPdUpKLFlBVkksWUFBWSxNQUFNO0lBQ2hCLFVBQUE7SUFDQSxXQUFBOztFQVFOLFlBTkksWUFBVyxhQUFjLE1BQU07SUFDN0IsVUFBQTtJQUNBLFFBQUE7Ozs7OztBQzVKTjtFQUNFLFlBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBOztBQUhGLGdCQUlFO0VBQ0UsZ0JBQUE7RUFDQSxxQ0FBQTs7QUFOSixnQkFTRTtFQUNFLFVBQUE7RUFDQSxZQUFBOztBQUlKO0VBQ0Usa0JBQUE7RUFDQSxZQUFBO0VBQ0EsbUJBQUE7RUFDQSxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQ0FBQTtFQUNBLHlCQUFBOztBQUNBLFFBQUM7RUFBUyxTQUFTLEVBQVQ7O0FBVFosUUFVRTtFQUNFLGtCQUFBO0VBQ0EsZUFBQTtFQUNBLHlCQUFBO0VBQ0Esc0JBQUE7RUFDQSxvQkFBQTtFQUNBLGVBQUE7O0FBaEJKLFFBbUJFO0VBQ0UsV0FBQTtFQUNBLGFBQUE7RUFDQSxpQkFBQTtFQUNBLFlBQUE7O0FBdkJKLFFBbUJFLGlCQVFFO0VBUUUsZUFBQTs7QUFuQ04sUUF1Q0U7RUFDRSxvQkFBQTs7QUF4Q0osUUF1Q0UsZUFHRTtFQUNFLGtCQUFBOztBQTNDTixRQXVDRSxlQUdFLE9BR0UsS0FDRTtFQUNFLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxpQkFBQTs7QUFFQSxRQVpSLGVBR0UsT0FHRSxLQUNFLElBS0c7QUFBUSxRQVpqQixlQUdFLE9BR0UsS0FDRSxJQUtZO0VBQ1IscUJBQUE7RUFDQSxhQUFBOztBQXJEWixRQXVDRSxlQUdFLE9BR0UsS0FDRSxJQVdFO0VBQ0UsWUFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7RUFDQSxtQ0FBQTs7QUFVWjtFQUNFLGFBQUE7O0FBQ0EsdUJBQUM7RUFDQyxjQUFBOztBQUtKLGVBRUU7RUFDRSxhQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBOztBQUxKLGVBRUUseUJBSUU7RUFDRSxxQkFBQTtFQUNBLHdDQUFBOztBQVJOLGVBWUUsS0FDRTtFQUNFLGNBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTs7QUFNSixlQUFDO0VBRUMseUJBQUE7RUFDQSx1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLGlCQUFBO0VBQ0EsZ0JBQUE7RUFDQSxxQ0FBQTtFQUNBLGNBQUE7RUFDQSxZQUFBOztBQVZGLGVBQUMsYUFZQztFQUNFLGNBQUE7RUFDQSx3Q0FBQTs7QUFkSixlQUFDLGFBZ0JDLEtBQUs7RUFDSCxjQUFBO0VBQ0Esa0JBQUE7O0FBbEJKLGVBQUMsYUFnQkMsS0FBSyxJQUdIO0VBRUUsYUFBQTs7QUFNTixlQUFDO0VBQ0MsdUJBQUE7RUFDQSx5QkFBQTtFQUNBLDhCQUFBOztBQUhGLGVBQUMsVUFJQyxLQUFLO0VBQ0gsa0JBQUE7O0FBTEosZUFBQyxVQU9DO0VBQ0Usa0JBQUE7RUFDQSxjQUFBOztBQVFOO0VBRUUsY0FBQTtFbkVjQSx5Q0FBQTtFQUNLLG9DQUFBO0VBQ0csaUNBQUE7O0FtRWJSLFFBQUM7RUFDQyxtQkFBQTs7QUFOSixRQVNFO0VBRUUsWUFBQTtFQUNBLGVBQUE7O0FSN0tGLFFRMEtBLGVSMUtDO0FBQ0QsUVF5S0EsZVJ6S0M7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLFFRcUtBLGVScktDO0VBQ0MsV0FBQTs7QUFORixRUTBLQSxlUjFLQztBQUNELFFReUtBLGVSektDO0VBQ0MsU0FBUyxHQUFUO0VBQ0EsY0FBQTs7QUFFRixRUXFLQSxlUnJLQztFQUNDLFdBQUE7O0FRMkpKLFFBU0UsZUFJRTtBQWJKLFFBU0UsZUFLRTtFQUNFLFdBQUE7RUFDQSxZQUFBOztBQWhCTixRQVNFLGVBU0U7RUFDRSxXQUFBOztBQW5CTixRQVNFLGVBWUU7RUFDRSxZQUFBO0VBQ0Esa0JBQUE7O0FBeUVKO0VBOURBLFFBQVMsZUFBZTtJQUN0QixnQkFBQTs7RUFERixRQUFTLGVBQWUsT0FFdEI7RUFGRixRQUFTLGVBQWUsT0FHdEI7SUFDRSxpQkFBQTs7RUFKSixRQUFTLGVBQWUsT0FNdEIsb0JBQW9CO0lBQ2xCLGlCQUFBOztFQU1KLGdCQUVFO0VBRkYsZ0JBR0U7RUFIRixnQkFJRTtJQUNFLGFBQUE7O0VBTEosZ0JBUUUsU0FFRSxlQUFlLE9BRWI7RUFaTixnQkFRRSxTQUVFLGVBQWUsT0FHYjtFQWJOLGdCQVFFLFNBRUUsZUFBZSxPQUliLEtBQUssSUFBSTtJQUNQLHdCQUFBOztFQWZSLGdCQVFFLFNBRUUsZUFBZSxPQVFiO0lBQ0UsV0FBQTs7RUFuQlIsZ0JBUUUsU0FFRSxlQUFlLE9BUWIsS0FFRTtJQUNFLGVBQUE7SUFDQSxrQkFBQTs7RUF0QlYsZ0JBUUUsU0FFRSxlQUFlLE9BUWIsS0FFRSxJQUlFO0lBQ0UsZ0JBQUE7SUFDQSxXQUFBOztFQUVGLGdCQXBCUixTQUVFLGVBQWUsT0FRYixLQUVFLElBUUcsTUFDQztJQUNFLGNBQUE7O0VBOUJkLGdCQVFFLFNBOEJFLEtBQ0U7SUFDRSxrQkFBQTtJQUNBLFNBQUE7SUFDQSxVQUFBO0lBQ0EsY0FBQTs7Ozs7O0FDbFFWO0VBQ0Usd0JBQUE7RUFDQSx3QkFBQTtFcEVzTEEsNEJBQUE7RUFDSyx1QkFBQTtFQUNHLG9CQUFBOztBb0VyTFIsSUFBQztFcEV5REQsaUNBQUE7RUFDUSx5QkFBQTtFb0V4RE4sU0FBQTs7QUFFRixJQUFDO0VBQ0MscUJBQUE7O0FBR0YsWUFBYSxVQUFVLG1CQUFtQjtFQUN4QyxlQUFBOztBQUVGLElBQUM7QUFDRCxJQUFDO0VwRTZDRCx1REFBQTtFQUNRLCtDQUFBOztBb0V6Q1YsVUFBVSxLQUFNO0VwRXdDZCx1REFBQTtFQUNRLCtDQUFBOztBb0U5QlY7RWpEakNFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUVBLFlBQUM7QUFDRCxZQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRU4sWUFBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLFlBQUM7QUFDRCxZQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRUosWUFQRCxPQU9FO0FBQUQsWUFORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsWUFLckI7QUFDRCxZQVJELE9BUUU7QUFBRCxZQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixZQU1yQjtBQUNELFlBVEQsT0FTRTtBQUFELFlBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFlBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBR1IsWUFBQztBQUNELFlBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxZQUhEO0FBR0MsWUFGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixZQUpELFNBSUU7QUFBRCxZQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsYUFFaEI7QUFDRCxZQUxELFNBS0U7QUFBRCxZQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsYUFHaEI7QUFDRCxZQU5ELFNBTUU7QUFBRCxZQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsYUFJaEI7QUFDRCxZQVBELFNBT0U7QUFBRCxZQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsYUFLaEI7QUFDRCxZQVJELFNBUUU7QUFBRCxZQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsYUFNaEI7RUFDQyx5QkFBQTtFQUNJLHFCQUFBOztBaURaVixZakRnQkU7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FpRGpCSjtFakRsQ0UsY0FBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7O0FBRUEsY0FBQztBQUNELGNBQUM7RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDSSw4QkFBQTs7QUFFTixjQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRU4sY0FBQztBQUNELGNBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixjQUFBO0VBQ0EseUJBQUE7RUFDSSw4QkFBQTs7QUFFSixjQVBELE9BT0U7QUFBRCxjQU5ELE9BTUU7QUFBRCxLQUxJLG1CQUFrQixjQUtyQjtBQUNELGNBUkQsT0FRRTtBQUFELGNBUEQsT0FPRTtBQUFELEtBTkksbUJBQWtCLGNBTXJCO0FBQ0QsY0FURCxPQVNFO0FBQUQsY0FSRCxPQVFFO0FBQUQsS0FQSSxtQkFBa0IsY0FPckI7RUFDQyxjQUFBO0VBQ0EseUJBQUE7RUFDSSw4QkFBQTs7QUFHUixjQUFDO0FBQ0QsY0FBQztBQUNELEtBQU0sbUJBQWtCO0VBQ3RCLHNCQUFBOztBQUtBLGNBSEQ7QUFHQyxjQUZEO0FBRUMsUUFETSxVQUFXO0FBRWpCLGNBSkQsU0FJRTtBQUFELGNBSEQsVUFHRTtBQUFELFFBRk0sVUFBVyxlQUVoQjtBQUNELGNBTEQsU0FLRTtBQUFELGNBSkQsVUFJRTtBQUFELFFBSE0sVUFBVyxlQUdoQjtBQUNELGNBTkQsU0FNRTtBQUFELGNBTEQsVUFLRTtBQUFELFFBSk0sVUFBVyxlQUloQjtBQUNELGNBUEQsU0FPRTtBQUFELGNBTkQsVUFNRTtBQUFELFFBTE0sVUFBVyxlQUtoQjtBQUNELGNBUkQsU0FRRTtBQUFELGNBUEQsVUFPRTtBQUFELFFBTk0sVUFBVyxlQU1oQjtFQUNDLHlCQUFBO0VBQ0kseUJBQUE7O0FpRFhWLGNqRGVFO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBaURoQko7RWpEbkNFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBOztBQUVBLFdBQUM7QUFDRCxXQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRU4sV0FBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLDhCQUFBOztBQUVOLFdBQUM7QUFDRCxXQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRUosV0FQRCxPQU9FO0FBQUQsV0FORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsV0FLckI7QUFDRCxXQVJELE9BUUU7QUFBRCxXQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixXQU1yQjtBQUNELFdBVEQsT0FTRTtBQUFELFdBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFdBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBR1IsV0FBQztBQUNELFdBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxXQUhEO0FBR0MsV0FGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixXQUpELFNBSUU7QUFBRCxXQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsWUFFaEI7QUFDRCxXQUxELFNBS0U7QUFBRCxXQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsWUFHaEI7QUFDRCxXQU5ELFNBTUU7QUFBRCxXQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsWUFJaEI7QUFDRCxXQVBELFNBT0U7QUFBRCxXQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsWUFLaEI7QUFDRCxXQVJELFNBUUU7QUFBRCxXQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsWUFNaEI7RUFDQyx5QkFBQTtFQUNJLHlCQUFBOztBaURWVixXakRjRTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QWlEZko7RWpEcENFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBOztBQUVBLFNBQUM7QUFDRCxTQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRU4sU0FBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLDhCQUFBOztBQUVOLFNBQUM7QUFDRCxTQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRUosU0FQRCxPQU9FO0FBQUQsU0FORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsU0FLckI7QUFDRCxTQVJELE9BUUU7QUFBRCxTQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixTQU1yQjtBQUNELFNBVEQsT0FTRTtBQUFELFNBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFNBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBR1IsU0FBQztBQUNELFNBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxTQUhEO0FBR0MsU0FGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixTQUpELFNBSUU7QUFBRCxTQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsVUFFaEI7QUFDRCxTQUxELFNBS0U7QUFBRCxTQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsVUFHaEI7QUFDRCxTQU5ELFNBTUU7QUFBRCxTQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsVUFJaEI7QUFDRCxTQVBELFNBT0U7QUFBRCxTQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsVUFLaEI7QUFDRCxTQVJELFNBUUU7QUFBRCxTQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsVUFNaEI7RUFDQyx5QkFBQTtFQUNJLHlCQUFBOztBaURUVixTakRhRTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QWlEZEo7RWpEckNFLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHlCQUFBOztBQUVBLFdBQUM7QUFDRCxXQUFDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRU4sV0FBQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLDhCQUFBOztBQUVOLFdBQUM7QUFDRCxXQUFDO0FBQ0QsS0FBTSxtQkFBa0I7RUFDdEIsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBRUosV0FQRCxPQU9FO0FBQUQsV0FORCxPQU1FO0FBQUQsS0FMSSxtQkFBa0IsV0FLckI7QUFDRCxXQVJELE9BUUU7QUFBRCxXQVBELE9BT0U7QUFBRCxLQU5JLG1CQUFrQixXQU1yQjtBQUNELFdBVEQsT0FTRTtBQUFELFdBUkQsT0FRRTtBQUFELEtBUEksbUJBQWtCLFdBT3JCO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0ksOEJBQUE7O0FBR1IsV0FBQztBQUNELFdBQUM7QUFDRCxLQUFNLG1CQUFrQjtFQUN0QixzQkFBQTs7QUFLQSxXQUhEO0FBR0MsV0FGRDtBQUVDLFFBRE0sVUFBVztBQUVqQixXQUpELFNBSUU7QUFBRCxXQUhELFVBR0U7QUFBRCxRQUZNLFVBQVcsWUFFaEI7QUFDRCxXQUxELFNBS0U7QUFBRCxXQUpELFVBSUU7QUFBRCxRQUhNLFVBQVcsWUFHaEI7QUFDRCxXQU5ELFNBTUU7QUFBRCxXQUxELFVBS0U7QUFBRCxRQUpNLFVBQVcsWUFJaEI7QUFDRCxXQVBELFNBT0U7QUFBRCxXQU5ELFVBTUU7QUFBRCxRQUxNLFVBQVcsWUFLaEI7QUFDRCxXQVJELFNBUUU7QUFBRCxXQVBELFVBT0U7QUFBRCxRQU5NLFVBQVcsWUFNaEI7RUFDQyx5QkFBQTtFQUNJLHlCQUFBOztBaURSVixXakRZRTtFQUNFLGNBQUE7RUFDQSx5QkFBQTs7QWlEWko7RUFDRSw2QkFBQTtFQUNBLGtCQUFBOztBQUNBLFlBQUM7QUFBUSxZQUFDO0VBQ1Isc0JBQUE7RUFDQSxjQUFBOztBQU1KO0VBQ0Usd0JBQUE7RUFDQSxnQkFBQTtFQUNBLHNCQUFBOztBQUtGO0VBQ0Usa0JBQUE7RUFDQSxlQUFBOztBQUtGO0VBQ0UsZ0JBQUE7O0FBTUY7QUFjQTtFQWJFLDRCQUFBO0VBQ0EsK0JBQUE7RUFDQSxrQkFBQTs7QUFHRjtBQVFBO0VBUEUsNkJBQUE7RUFDQSxnQ0FBQTtFQUNBLG1CQUFBOztBQWFGO0VBQ0UsY0FBQTtFQUNBLGlCQUFBOztBQUdGO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQTJCQSxpQkFBQTtFQUNBLFdBQUE7RUFDQSwwQkFBQTs7QUFFQSxVQUFDO0VBQ0MsVUFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTs7QUFoQ0YsVUFBQztFQUNDLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0EsUUFBQTtFQUNBLFdBQUE7RUFDQSxRQUFBO0VBQ0EsVUFBQTtFQUNBLDhCQUFBOztBQUlKLE9BQVE7RUFjTixrQkFBQTtFQUNBLFdBQUE7RUFDQSwwQkFBQTs7QUFFQSxPQWxCTSxXQWtCTDtFQUNDLFVBQUE7RUFDQSxZQUFBO0VBQ0EsMEJBQUE7O0FBbEJKLE9BQVE7RUFXTixpQkFBQTtFQUNBLFdBQUE7RUFDQSwwQkFBQTs7QUFFQSxPQWZNLFdBZUw7RUFDQyxVQUFBO0VBQ0EsWUFBQTtFQUNBLDBCQUFBOztBQWZKLE9BQVE7RUFRTixpQkFBQTtFQUNBLFVBQUE7RUFDQSwwQkFBQTs7QUFFQSxPQVpNLFdBWUw7RUFDQyxVQUFBO0VBQ0EsV0FBQTtFQUNBLDBCQUFBOztBQVdKO0VBQ0UsZ0JBQUE7O0FBQ0EsT0FBQztFQUNDLGVBQUE7O0FBRUYsT0FBQztFQUNDLGdCQUFBOzs7OztBQ3pJSjtFQUNJLG1CQUFBO0VBQ0EsYUFBQTtFQUNBLDBCQUFBO0VBQ0EsbUJBQUE7RUFDQSxjQUFBOztBQU1KLGdCQUFpQjtFQUFnQixnQkFBQTs7QUFJakM7RUFDSSxpQkFBQTtFQUNBLG9CQUFBOzs7OztBQ2xDSjtFQUNFLHNDQUFBOztBQURGLE1BRUU7RUFDRSxzQkFBQTs7QUFISixNQUVFLGVBS0U7RUFDRSxnQ0FBQTs7QUFHSixNQUFDLGNBRUM7RUFDRSx3QkFBQTs7QUFJSixNQUFDO0VBQ0MsU0FBQTtFQUNBLDZCQUFBO0VBQ0Esc0JBQUE7O0FBSEYsTUFBQyxrQkFJQztBQUpGLE1BQUMsa0JBS0M7RUFDRSw2QkFBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTs7QUFXTixNQUNFO0VBQ0UsZ0JBQUE7RUFDQSxTQUFBOztBQUlKO0VBQ0Usb0JBQUE7RUFDQSxTQUFBOztBQUdGLFlBQ0U7RUFDRSxzQkFBQTs7QUFDQSxZQUZGLFlBRUc7RUFDQywwQkFBQTs7QUFFRixZQUxGLFlBS0c7RUFDQywwQkFBQTs7QUFLTixjQUVFO0FBRkYsY0FFVTtFQUNOLGdCQUFBOztBQUhKLGNBS0U7QUFMRixjQUthO0VBQ1QsZ0JBQUE7O0FBTkosY0FRRTtBQVJGLGNBUWE7RUFDVCxnQkFBQTs7QUFUSixjQVlFLFNBQVE7RUFDTixlQUFBOztBQWJKLGNBWUUsU0FBUSxXQUVOLFNBQVE7RUFDTixrQkFBQTs7QUFLTixhQUNFO0VBQ0UsU0FBQTs7QUFGSixhQUlFO0VBQ0UsZ0JBQUE7O0FBTEosYUFPRTtFQUNFLGdCQUFBOztBQUtKO0VBQ0UseUJBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBSEYscUJBSUU7RUFDRSxlQUFBO0VBQ0Esc0JBQUE7RXRFb0ZGLHFDQUFBO0VBQ0ssZ0NBQUE7RUFDRyw2QkFBQTs7QXNFNUZWLHFCQVNFLGtCQUFpQjtFQUNmLFNBQVMsRUFBVDtFQUNBLGNBQUE7RUFDQSxVQUFBO0VBQ0EsY0FBQTtFQUNBLFNBQUE7RUFDQSxnQ0FBQTs7QUFJSjtFbkJwSEUscUJBQUE7O0FBRUEsY0FBRTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBOztBQUhGLGNBQUUsaUJBS0Esa0JBQWtCO0VBQ2hCLHlCQUFBOztBQU5KLGNBQUUsaUJBUUE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FBR0osY0FBRSxnQkFDQSxrQkFBa0I7RUFDaEIsNEJBQUE7O0FtQnVHTjtFbkJ4SEUscUJBQUE7O0FBRUEsZ0JBQUU7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFIRixnQkFBRSxpQkFLQSxrQkFBa0I7RUFDaEIseUJBQUE7O0FBTkosZ0JBQUUsaUJBUUE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FBR0osZ0JBQUUsZ0JBQ0Esa0JBQWtCO0VBQ2hCLDRCQUFBOztBbUIyR047RW5CNUhFLHFCQUFBOztBQUVBLFdBQUU7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFIRixXQUFFLGlCQUtBLGtCQUFrQjtFQUNoQix5QkFBQTs7QUFOSixXQUFFLGlCQVFBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBQUdKLFdBQUUsZ0JBQ0Esa0JBQWtCO0VBQ2hCLDRCQUFBOztBbUIrR047RW5CaElFLHFCQUFBOztBQUVBLGFBQUU7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFIRixhQUFFLGlCQUtBLGtCQUFrQjtFQUNoQix5QkFBQTs7QUFOSixhQUFFLGlCQVFBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBQUdKLGFBQUUsZ0JBQ0Esa0JBQWtCO0VBQ2hCLDRCQUFBOztBbUJtSE47RW5CcElFLHFCQUFBOztBQUVBLGFBQUU7RUFDQSxjQUFBO0VBQ0EseUJBQUE7RUFDQSxxQkFBQTs7QUFIRixhQUFFLGlCQUtBLGtCQUFrQjtFQUNoQix5QkFBQTs7QUFOSixhQUFFLGlCQVFBO0VBQ0UsY0FBQTtFQUNBLHlCQUFBOztBQUdKLGFBQUUsZ0JBQ0Esa0JBQWtCO0VBQ2hCLDRCQUFBOzs7OztBb0JYTjtFQUNFLFlBQUE7O0FBR0Y7RUFDRSxXQUFBOztBQUtGO0V6QmhCRSx5QkFBQTs7QUFHQSxpQkFBa0I7RURnRGhCLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjs7QTBCbENKO0V6Qm5CRSx5QkFBQTs7QUFHQSxpQkFBa0I7RURnRGhCLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjs7QTBCL0JKO0V6QnRCRSx5QkFBQTs7QUFHQSxpQkFBa0I7RURnRGhCLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjs7QTBCNUJKO0V6QnpCRSx5QkFBQTs7QUFHQSxpQkFBa0I7RURnRGhCLGtCQUFrQiwyTEFBbEI7RUFDQSxrQkFBa0Isc0xBQWxCO0VBQ0Esa0JBQWtCLG1MQUFsQjs7QTBCWkYsVUFBVTtFQUNSLFNBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBREYsVUFBVTtFQUNSLFVBQUE7O0FBUEY7RUFDRSxXQUFBOzs7OztBQzFCSjtFQUNFLHFCQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxvQkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHdCQUFBO0VBQ0EsMENBQUE7O0FBQ0EsTUFBQztFQUNDLGNBQUE7O0FBRUYsTUFBQztFQUNDLGVBQUE7O0FBSUo7RUFDRSx5QkFBQTs7QUFFRjtFQUNFLHlCQUFBOztBQUVGO0VBQ0UseUJBQUE7O0FBRUY7RUFDRSx5QkFBQTs7QUFFRjtFQUNFLHlCQUFBOztBQUVGO0VBQ0UseUJBQUE7O0FBRUY7RUFDRSx5QkFBQTs7QUFFRjtFQUNFLHlCQUFBOztBQUVGO0VBQ0UseUJBQUE7O0FBSUY7RUFDRSxVQUFBO0VBQ0EsV0FBQTs7QUFHRjtFQUNFLFdBQUE7RUFDQSxZQUFBOztBQUdGO0VBQ0UsV0FBQTtFQUNBLFlBQUE7O0FBR0Y7RUFDRSw2QkFBQTs7QUFDQSxjQUFDO0VBQ0MseUJBQUE7O0FBRUYsY0FBQztFQUNDLHlCQUFBOztBQUVGLGNBQUM7RUFDQyx5QkFBQTs7QUFFRixjQUFDO0VBQ0MseUJBQUE7O0FBRUYsY0FBQztFQUNDLHlCQUFBOztBQUlKO0VBQ0Usa0JBQUE7O0FBREYsVUFFRTtFQUNFLGtCQUFBO0VBQ0EsT0FBQTtFQUNBLFNBQUE7RUFDQSxTQUFBOzs7OztBQ3hGSjtBQUNBO0VBQ0UsZ0JBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsU0FBQTs7QUFHQSxTQUFDO0FBQUQsYUFBQztFQUNDLE1BQUE7RUFDQSxTQUFBO0VBQ0Esa0JBQUE7RUFDQSxTQUFTLEdBQVQ7RUFDQSxVQUFBO0VBQ0EseUJBQUE7RUFDQSxVQUFBOztBQWZKLFNBbUJFO0FBbEJGLGFBa0JFO0VBRUUsbUJBQUE7RUFDQSxrQkFBQTtFQUNBLGdCQUFBOztBZHJCRixTY2lCQSxLZGpCQztBQUFELGFjaUJBLEtkakJDO0FBQ0QsU2NnQkEsS2RoQkM7QUFBRCxhY2dCQSxLZGhCQztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsU2NZQSxLZFpDO0FBQUQsYWNZQSxLZFpDO0VBQ0MsV0FBQTs7QUFORixTY2lCQSxLZGpCQztBQUFELGFjaUJBLEtkakJDO0FBQ0QsU2NnQkEsS2RoQkM7QUFBRCxhY2dCQSxLZGhCQztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsU2NZQSxLZFpDO0FBQUQsYWNZQSxLZFpDO0VBQ0MsV0FBQTs7QWNnQkEsU0FMRixLQUtHO0FBQUQsYUFMRixLQUtHO0VBQ0MsYUFBQTs7QUFHRixTQVRGLEtBU0c7QUFBRCxhQVRGLEtBU0c7RUFDQyxrQkFBQTs7QUFDQSxTQVhKLEtBU0csbUJBRUU7QUFBRCxhQVhKLEtBU0csbUJBRUU7RUFDQyxTQUFTLG1CQUFUO0VBQ0EscUJBQUE7RUFDQSxlQUFBO0VBQ0Esa0JBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxlQUFBO0VBQ0EseUJBQUE7RUFFQSxtQkFBQTtFQUNBLGlCQUFBOztBQUVGLFNBeEJKLEtBU0csbUJBZUU7QUFBRCxhQXhCSixLQVNHLG1CQWVFO0VBRUMsU0FBUyxFQUFUO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLFFBQUE7RUFDQSxVQUFBO0VBQ0EsZ0JBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBOztBQXJEUixTQW1CRSxLQXVDRTtBQXpESixhQWtCRSxLQXVDRTtFQUNJLGtCQUFBO0VBRUEsaUJBQUE7O0FBN0RSLFNBbUJFLEtBdUNFLGtCQU1JO0FBL0RSLGFBa0JFLEtBdUNFLGtCQU1JO0VBQ0Usa0JBQUE7RUFDQSxjQUFBO0VBQ0EsU0FBQTtFQUNBLFdBQUE7RUFDQSxlQUFBOztBQXJFVixTQW1CRSxLQXVDRSxrQkFNSSxTQU1FO0FBckVWLGFBa0JFLEtBdUNFLGtCQU1JLFNBTUU7RUFDRSxhQUFBOztBQXZFWixTQW1CRSxLQXVDRSxrQkFNSSxTQVNFLGlCQUNFO0FBekVaLGFBa0JFLEtBdUNFLGtCQU1JLFNBU0UsaUJBQ0U7RUFDRSw2QkFBQTtFQUNBLFNBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTs7QUE5RWQsU0FtQkUsS0FtRUc7QUFyRkwsYUFrQkUsS0FtRUc7RUFDQyxZQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGNBQUE7O0FBR0UsU0E3RU4sS0FtRUcsaUJBU0MsT0FDRztBQUFELGFBN0VOLEtBbUVHLGlCQVNDLE9BQ0c7RUFDQyxTQUFTLGNBQVQ7O0FBakdWLFNBbUJFLEtBb0ZFO0FBdEdKLGFBa0JFLEtBb0ZFO0VBQ0Usa0JBQUE7RUFDQSxNQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7RUFDQSxZQUFBO0VBQ0Esb0JBQUE7RUFDQSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7O0FBRUEsU0FsR0osS0FvRkUsa0JBY0c7QUFBRCxhQWxHSixLQW9GRSxrQkFjRztFQUNDLFdBQUE7RUFDQSxZQUFBO0VBQ0Esa0JBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7O0FBZ0JSO0VBQ0ksYUFBQTtFQUNBLGNBQUE7O0FBS0osY0FBZTtBQUNmLGNBQWU7RUFDWCxnQkFBQTs7QUFFSixjQUFlLElBQUk7RUFDZixlQUFBOztBQTJGSjtFQW5GTSxTQUFDO0lBQ0MsU0FBQTtJQUNBLGlCQUFBOztFQUlBLFNBRkYsS0FFRztJQUNDLGlCQUFBO0lBQ0Esa0JBQUE7O0VBQ0EsU0FMSixLQUVHLG1CQUdFO0lBQ0MsaUJBQUE7O0VBRUYsU0FSSixLQUVHLG1CQU1FO0lBQ0MsYUFBQTs7RUFkUixTQUtFLEtBYUU7SUFDRSxTQUFBO0lBQ0EsY0FBQTs7RUFwQk4sU0FLRSxLQWtCRTtJQUNFLFdBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7SUFDQSxTQUFBO0lBQ0EsU0FBQTtJQUNBLGlCQUFBO0lBQ0EsaUJBQUE7O0VBOUJOLFNBS0UsS0E0QkU7SUFDRSxXQUFBO0lBQ0EsU0FBQTtJQUNBLFVBQUE7O0VBRUEsU0FqQ0osS0E0QkUsa0JBS0c7SUFDQyx1QkFBQTtJQUNBLHFCQUFBO0lBQ0EsU0FBQTtJQUNBLFlBQUE7SUFDQSxVQUFBOztFQUdGLFNBekNKLEtBNEJFLGtCQWFHO0lBQ0MsdUJBQUE7SUFDQSxxQkFBQTtJQUNBLFNBQUE7SUFDQSxZQUFBO0lBQ0EsVUFBQTs7RUFuRFIsU0FLRSxLQTRCRSxrQkFxQkUsU0FBUztJQUNQLFNBQUE7SUFDQSxjQUFBOztFQU1KLFNBekRGLEtBeURHLGtCQUVHO0lBQ0UsWUFBQTtJQUNBLGtCQUFBOztFQUpOLFNBekRGLEtBeURHLGtCQU9HO0lBQ0UsVUFBQTtJQUNBLFVBQUE7SUFDQSxXQUFBO0lBQ0EsY0FBQTtJQUNBLGtCQUFBOzs7Ozs7QUN4T2QsWUFBYTtFQUNYLGdCQUFBOztBQUdGLFdBQVksTUFBTTtFQUNoQixzQkFBQTs7QUFJRixjQUVFO0VBQ0UsVUFBQTtFQUNBLGdCQUFBOztBQUpKLGNBT0U7RUFDRSxTQUFBOztBQVJKLGNBV0U7RUFDRSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBOztBQUNBLGNBSkYsaUJBSUc7RUFDQyxhQUFBOztBQUVGLGNBUEYsaUJBT0c7RUFDQyxnQkFBQTs7QUFNTixTQUNFO0VBQ0Usa0JBQUE7O0FBRkosU0FDRSxJQUVFO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBOztBQUlGO0VBQUEsU0FWRixJQUVFO0lBTUksUUFBQTs7O0FBT1I7RUFDRSxrQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZ0NBQUE7O0FBUUYsY0FBYztFQUNaLGtCQUFBO0VBQ0EsZ0JBQUE7O0FBRkYsY0FBYyxvQkFJWjtFQUNFLGtCQUFBO0VBQ0EsTUFBQTtFQUFPLFNBQUE7RUFDUCxPQUFBO0VBQVMsUUFBQTtFMUVzRVgsbUJBQW1CLG9CQUFuQjtFQUNRLFdBQVcsb0JBQVg7RTBFckVOLHNCQUFBO0VBQ0EsZ0JBQUE7RUFDQSx3QkFBQTtFQUNBLGdDQUFBO0VBQ0EsVUFBQTtFQUNBLGNBQUE7O0FBRUEsY0FoQlUsb0JBSVosbUJBWUc7RTFFNkRILG1CQUFtQix1QkFBbkI7RUFDUSxXQUFXLHVCQUFYOztBMEU1Q1Y7RUFDRSxpQkFBQTtFQUNBLGVBQUE7Ozs7O0FDOUZGO0VBQ0UsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLFdBQUE7RUFDQSxTQUFBOztBQUxGLFVBT0U7RUFDRSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxtQkFBQTtFQUNBLHNCQUFBOztBQUtKLFVBQ0U7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7Ozs7O0FDekJKO0VBQ0Usa0JBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLFdBQUE7O0FBSkYsWUFPRTtFQUNFLHFCQUFBO0VBQ0EsV0FBQTtFQUNBLGVBQUE7RUFDQSxtQkFBQTs7O0FBT0o7RUFRSSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOzs7QUEvQ0o7RUFPSSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOzs7QUE5Q0o7RUFNSSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOzs7QUE1Q0o7RUFJSSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIsb0JBQUE7SUFDQSx1QkFBQTtJQUNBLGVBQUE7SUFSQSxxQkFBQTtJQUNBLHdCQUFBO0lBQ0EsZ0JBQUE7SUFzQkEsZUFBQTtJQUNBLGtCQUFBO0lBQ0EsVUFBQTs7RUFyRUksY0FBZSxjQUxKLEVBQU8sQ0FBQztJQThCdkIsbUJBQUE7O0VBRUEsY0EzQm1CLGNBTEosRUFBTyxDQUFDLENBZ0N0QjtJQUNDLFNBQVMsRUFBVDtJQUNBLHFCQUFBO0lBQ0EsV0FBQTs7RUE5QkUsY0FBZSxjQUxKLEVBQU8sQ0FBQyxDQXFDdkI7SUFDRSxtQkFBQTtJQUNBLHFCQUFBO0lBQ0EsVUFBQTs7RUF4Q0EsYUFBYSxFQUFPLENBQUM7SUFzRHZCLG9CQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGVBQUE7SUFDQSxrQkFBQTtJQUNBLFVBQUE7O0VBckVJLGNBQWUsY0FMSixFQUFPLENBQUM7SUE4QnZCLG1CQUFBOztFQUVBLGNBM0JtQixjQUxKLEVBQU8sQ0FBQyxDQWdDdEI7SUFDQyxTQUFTLEVBQVQ7SUFDQSxxQkFBQTtJQUNBLFdBQUE7O0VBOUJFLGNBQWUsY0FMSixFQUFPLENBQUMsQ0FxQ3ZCO0lBQ0UsbUJBQUE7SUFDQSxxQkFBQTtJQUNBLFVBQUE7O0VBeENBLGFBQWEsRUFBTyxDQUFDO0lBc0R2QixvQkFBQTtJQUNBLHVCQUFBO0lBQ0EsZUFBQTtJQVJBLHFCQUFBO0lBQ0Esd0JBQUE7SUFDQSxnQkFBQTtJQXNCQSxlQUFBO0lBQ0Esa0JBQUE7SUFDQSxVQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsQ0FnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLENBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxVQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOztFQXhDQSxhQUFhLEVBQU8sQ0FBQztJQXNEdkIscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBUkEscUJBQUE7SUFDQSx3QkFBQTtJQUNBLGdCQUFBO0lBc0JBLGdCQUFBO0lBQ0EsbUJBQUE7SUFDQSxXQUFBOztFQXJFSSxjQUFlLGNBTEosRUFBTyxDQUFDO0lBOEJ2QixtQkFBQTs7RUFFQSxjQTNCbUIsY0FMSixFQUFPLENBQUMsRUFnQ3RCO0lBQ0MsU0FBUyxFQUFUO0lBQ0EscUJBQUE7SUFDQSxXQUFBOztFQTlCRSxjQUFlLGNBTEosRUFBTyxDQUFDLEVBcUN2QjtJQUNFLG1CQUFBO0lBQ0EscUJBQUE7SUFDQSxTQUFBOzs7Ozs7QUNwRUosZUFDRTtFQUNFLGlCQUFBO0VBQ0EsY0FBQTs7Ozs7QWpGS0osU0FBUztFQUNMLGFBQUE7O0FBQ0EsU0FGSyxTQUVKO0VBQ0MsY0FBQTs7QUFJTixTQUFTO0VBQ0wsa0JBQUE7RUFDQSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGdCQUFBOztBQU9GLGVBQUM7RUlaRCxvQ0FBQTtFQUNLLCtCQUFBO0VBQ0csNEJBQUE7O0FKV1IsZUFBQztFSWJELHFDQUFBO0VBQ0ssZ0NBQUE7RUFDRyw2QkFBQTs7QUplUixVQUFDO0VJakJELCtCQUFBO0VBQ0ssMEJBQUE7RUFDRyx1QkFBQTs7QUpnQlIsVUFBQztFSWxCRCxnQ0FBQTtFQUNLLDJCQUFBO0VBQ0csd0JBQUE7O0FKb0JSLFlBQUM7RUl0QkQsaUNBQUE7RUFDSyw0QkFBQTtFQUNHLHlCQUFBOztBSnFCUixZQUFDO0VJdkJELG9DQUFBO0VBQ0ssK0JBQUE7RUFDRyw0QkFBQTs7QUp5QlIsY0FBQztFSTNCRCxtQ0FBQTtFQUNLLDhCQUFBO0VBQ0csMkJBQUE7O0FKMEJSLGNBQUM7RUk1QkQsa0NBQUE7RUFDSyw2QkFBQTtFQUNHLDBCQUFBOztBSjhCUixlQUFDO0VJaENELG9DQUFBO0VBQ0ssK0JBQUE7RUFDRyw0QkFBQTs7QUorQlIsZUFBQztFSWpDRCxvQ0FBQTtFQUNLLCtCQUFBO0VBQ0csNEJBQUE7O0FKbUNSLGNBQUM7RUlyQ0QsbUNBQUE7RUFDSyw4QkFBQTtFQUNHLDJCQUFBOztBSm9DUixjQUFDO0VJdENELHFDQUFBO0VBQ0ssZ0NBQUE7RUFDRyw2QkFBQTs7QUp3Q1IsZUFBQztFSTFDRCxzQ0FBQTtFQUNLLGlDQUFBO0VBQ0csOEJBQUE7O0FKeUNSLGVBQUM7RUkzQ0QsdUNBQUE7RUFDSyxrQ0FBQTtFQUNHLCtCQUFBOztBSjZDUixpQkFBQztFSS9DRCxvQ0FBQTtFQUNLLCtCQUFBO0VBQ0csNEJBQUE7O0FKOENSLGlCQUFDO0VJaERELHFDQUFBO0VBQ0ssZ0NBQUE7RUFDRyw2QkFBQTs7QUprRFIsa0JBQUM7RUlwREQsdUNBQUE7RUFDSyxrQ0FBQTtFQUNHLCtCQUFBOztBSm1EUixrQkFBQztFSXJERCx1Q0FBQTtFQUNLLGtDQUFBO0VBQ0csK0JBQUE7O0FKdURSLGlCQUFDO0VJekRELHNDQUFBO0VBQ0ssaUNBQUE7RUFDRyw4QkFBQTs7QUp3RFIsaUJBQUM7RUkxREQsd0NBQUE7RUFDSyxtQ0FBQTtFQUNHLGdDQUFBOztBSjREUixlQUFDO0VJOURELDZCSitJYyw4QkkvSWQ7RUFDSyx3Qko4SVMsOEJJOUlUO0VBQ0cscUJKNklNLDhCSTdJTjs7QUo2RFIsZUFBQztFSS9ERCw4QkorSWMsOEJJL0lkO0VBQ0sseUJKOElTLDhCSTlJVDtFQUNHLHNCSjZJTSw4Qkk3SU47O0FKcUVWO0VBQ0UsZ0NBQUE7RUFDQSx3QkFBQTtFQUNBLGlDQUFBO0VBQ0EseUJBQUE7O0FBR0Y7RUFDRSxtQ0FBQTtFQUNBLDJCQUFBOztBQUdGO0VBQ0U7SUFDRSxVQUFBO0lBQ0EsbUJBQW1CLHdCQUFuQjtJQUNBLFdBQVcsd0JBQVg7O0VBR0Y7SUFDRSxVQUFBO0lBQ0EsdUJBQUE7SUFDQSxlQUFBOzs7QUFJSjtFQUNFO0lBQ0UsVUFBQTtJQUNBLG1CQUFtQix3QkFBbkI7SUFDQSxlQUFlLHdCQUFmO0lBQ0EsV0FBVyx3QkFBWDs7RUFHRjtJQUNFLFVBQUE7SUFDQSx1QkFBQTtJQUNBLG1CQUFBO0lBQ0EsZUFBQTs7Ozs7Ozs7OztBa0ZwSEo7RUFDRSxrQkFBQTtFQUNBLGNBQUE7RUFDQSxNQUFBO0VBQ0EsT0FBQTtFQUNBLFFBQUE7RUFDQSxXQUFBOztBQUVBLGFBQWM7RUFDWixTQUFBOzs7QUFLSjtBQUNBO0VBQ0Usb0JBQUE7RUFDQSw0QkFBQTtFQUNBLG9DQUFBO0VBQ0EsaUNBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBOztBQUdGLFlBQVk7QUFDWixZQUFZLFNBQVM7QUFDckIsb0JBQW9CO0FBQ3BCLG9CQUFvQixTQUFTO0VBQzNCLFVBQUE7O0FBR0YsWUFBWSxTQUFTO0FBQ3JCLFlBQVk7QUFDWixvQkFBb0IsU0FBUztBQUM3QixvQkFBb0I7RUFDbEIsVUFBQTs7QUFHRixZQUFhO0VBQ1gsWUFBQTtFQUNBLFdBQUE7RUFDQSwrQkFBQTtFQUNBLDRCQUFBO0VBQ0EsMEJBQUE7RUFDQSx1QkFBQTtFQUVBLG1CQUFBO0VBQ0EsK0JBQUE7RUFDQSw0QkFBQTs7O0FBSUYsWUFBYTtFQUNYLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLFFBQUE7RUFDQSxNQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxzQ0FBQTtFQUNBLHFDQUFBO0VBQ0EseUNBQUE7RUFDQSxpQ0FBQTtFQUNBLHdCQUFBO0VBQ0EsMkJBQUE7RUFDQSxtQkFBQTs7QUFHRjtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQ0EsY0FBQTtFQUNBLFNBQUE7RUFDQSxVQUFBOztBQUdGLG9CQUFxQjtFQUNuQixXQUFBO0VBQ0EsWUFBQTtFQUVBLDZCQUFBO0VBQ0EseUJBQUE7RUFDQSwwQkFBQTtFQUNBLG1CQUFBO0VBRUEsNERBQUE7RUFDQSx5REFBQTtFQUNBLHdEQUFBO0VBQ0EsdURBQUE7RUFDQSxvREFBQTs7QUFHRjtFQUNFO0lBQU8sbUJBQW1CLFlBQW5CO0lBQW1DLFdBQVcsWUFBWDs7RUFDMUM7SUFBTyxtQkFBbUIsY0FBbkI7SUFBbUMsV0FBVyxjQUFYOzs7QUFFNUM7RUFDRTtJQUFPLGdCQUFnQixZQUFoQjtJQUFnQyxXQUFXLFlBQVg7O0VBQ3ZDO0lBQU8sZ0JBQWdCLGNBQWhCO0lBQWdDLFdBQVcsY0FBWDs7O0FBRXpDO0VBQ0U7SUFBTyxjQUFjLFlBQWQ7SUFBOEIsV0FBVyxZQUFYOztFQUNyQztJQUFPLGNBQWMsY0FBZDtJQUE4QixXQUFXLGNBQVg7OztBQUV2QztFQUNFO0lBQU8sZUFBZSxZQUFmO0lBQStCLFdBQVcsWUFBWDs7RUFDdEM7SUFBTyxlQUFlLGNBQWY7SUFBK0IsV0FBVyxjQUFYOzs7QUFFeEM7RUFDRTtJQUFrQyxXQUFXLFlBQVg7O0VBQ2xDO0lBQWtDLFdBQVcsY0FBWDs7Ozs7OztBQ2xEcEM7RUFoRUU7SUFDRSxjQUFBO0lBQ0EsV0FBQTtJQUNBLFlBQUE7SUFDQSxtQkFBQTs7RUFJRjtJQUNFLG1CQUFBO0lBQ0EsbUJBQUE7SUFDQSxZQUFBOztFQUdBLElBQUM7SUFDQyxzQkFBQTs7RUFNSjtJQUFTLGdCQUFBOztFQUNUO0lBQVMsaUJBQUE7O0VBQ1Q7SUFBUyxVQUFBOztFQUNUO0lBQVMsaUJBQUE7O0VBQ1Q7SUFBUyxpQkFBQTs7RUFDVDtJQUFTLFVBQUE7O0VBQ1Q7SUFBUyxpQkFBQTs7RUFDVDtJQUFTLGlCQUFBOztFQUNUO0lBQVMsVUFBQTs7RUFDVDtJQUFVLGlCQUFBOztFQUNWO0lBQVUsaUJBQUE7O0VBQ1Y7SUFBVSxXQUFBOztFQWdCVjtJQUNFLGtCQUFBO0lBQ0EsbUJBQUE7O0VBRUYsa0JBQW1CO0lBQ2pCLHNCQUFBOztFQU1GLHdCQUF5QjtJQUN2QixzQkFBQTs7O0FDcEVKO0VBQ0ksc0JBQUE7RUFDQSw0QkFBQTtFQUNBLDBCQUFBO0VBQ0EsdUJBQUE7RUFDQSxzQkFBQTtFQUNBLHFCQUFBO0VBQ0Esa0JBQUE7RUFDQSx1Q0FBQTtFQUNBLG9DQUFBO0VBQ0EsbUNBQUE7RUFDQSxrQ0FBQTtFQUNBLCtCQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7O0FBR0o7RUFDSSxhQUFBOztBQUdKO0VBQ0ksY0FBQTtFQUNBLGdCQUFBO0VBQ0EsbUJBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxhQUFhLHVCQUF1QixrQ0FBcEM7RUFDQSxrQkFBQTs7QUFHSixLQUFNO0VBQ0YsZ0JBQUE7RUFDQSxjQUFBOztBQUdKLEtBQU07RUFDRixlQUFBO0VBQ0Esa0JBQUE7RUFDQSxRQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBOztBQUdKLEtBQU07RUFDRixRQUFBO0VBQ0EsZUFBQTs7QUFHSixLQUFNO0VBQ0YsV0FBQTs7QUFHSixLQUFNLEdBQUUsVUFBVTtFQUNkLHlCQUFBO0VBQ0EsY0FBQTs7QUFHSixLQUFNLEdBQUUsVUFBVTtFQUNkLHlCQUFBO0VBQ0EsY0FBQTs7Ozs7QUN4REo7RUFDRSxnQkFBQTtFQUNBLFNBQUE7RUFDQSxVQUFBO0VBQ0Esa0JBQUE7O0FBSkYsS0FNRTtFQUNFLG1CQUFBO0VBQ0EsbUJBQUE7O0FBUkosS0FNRSxHQUdFO0VBQ0UseUNBQUE7RUFDQSxzQkFBQTtFQUNBLHlCQUFBOztBQVpOLEtBTUUsR0FHRSxXQUlFO0VBQ0UsU0FBQTtFQUNBLGNBQUE7O0FBZlIsS0FNRSxHQVlFO0VBQ0UsYUFBQTs7QUFuQk4sS0FNRSxHQWVFO0VBQ0UsYUFBQTtFQUNBLGtCQUFBOztBQUdGLEtBcEJGLEdBb0JHLEtBQU07RUFDSCxpQkFBQTs7QUFLSixLQTFCRixHQTBCRyxNQUFPO0VBQ0osa0JBQUE7O0FBUVIsTUFBTyxXQUFXO0FBQVksS0FBTTtFQUNoQyxpQkFBQTs7QUM3Q0o7RUFDRSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsZUFBQTs7QUFIRixXQUtFLFFBQU87RUFDTCxrQkFBQTtFQUNBLFVBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsVUFBQTs7QUFYSixXQUtFLFFBQU8saUJBUUw7RUFDRSw2QkFBQTtFQUNBLHFCQUFBO0VBQ0EsY0FBQTtFQUNBLGdCQUFBOztBQWpCTixXQUtFLFFBQU8saUJBUUwsT0FLRTtFQUNFLGtCQUFBO0VBQ0EsU0FBQTtFQUNBLGlCQUFBO0VBQ0EscUJBQUE7RUFDQSx5QkFBQTtFQUNBLGtCQUFBO0VBQ0EsY0FBQTtFQUNBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBOztBQUNBLFdBeEJOLFFBQU8saUJBUUwsT0FLRSxLQVdHO0VBQ0Msa0JBQUE7RUFFQSxVQUFBOztBQUlOLFdBL0JGLFFBQU8saUJBK0JKLFFBQVM7RUFDUix5QkFBQTtFQUNBLFdBQUE7O0FBRkYsV0EvQkYsUUFBTyxpQkErQkosUUFBUyxPQUdSO0VBQ0Usc0JBQUE7RUFDQSxjQUFBOztBQUNBLFdBckNOLFFBQU8saUJBK0JKLFFBQVMsT0FHUixLQUdHO0VBQ0MsVUFBQTs7QUFxQlIsbUJBQUUsUUFBTyxpQkFFUDtFQUNFLHFCQUFBO0VBQ0EsY0FBQTs7QUFKSixtQkFBRSxRQUFPLGlCQUVQLE9BR0U7RUFDRSxxQkFBQTs7QUFHSixtQkFUQSxRQUFPLGlCQVNOLFFBQVM7RUFDUix5QkFBQTtFQUNBLHNCQUFBOztBQUZGLG1CQVRBLFFBQU8saUJBU04sUUFBUyxPQUdSO0VBQ0UsY0FBQTs7QUFiTixtQkFBRSxRQUFPLGlCQUVQO0VBQ0UscUJBQUE7RUFDQSxjQUFBOztBQUpKLG1CQUFFLFFBQU8saUJBRVAsT0FHRTtFQUNFLHFCQUFBOztBQUdKLG1CQVRBLFFBQU8saUJBU04sUUFBUztFQUNSLHlCQUFBO0VBQ0Esc0JBQUE7O0FBRkYsbUJBVEEsUUFBTyxpQkFTTixRQUFTLE9BR1I7RUFDRSxjQUFBOztBQWJOLGdCQUFFLFFBQU8saUJBRVA7RUFDRSxxQkFBQTtFQUNBLGNBQUE7O0FBSkosZ0JBQUUsUUFBTyxpQkFFUCxPQUdFO0VBQ0UscUJBQUE7O0FBR0osZ0JBVEEsUUFBTyxpQkFTTixRQUFTO0VBQ1IseUJBQUE7RUFDQSxzQkFBQTs7QUFGRixnQkFUQSxRQUFPLGlCQVNOLFFBQVMsT0FHUjtFQUNFLGNBQUE7O0FBYk4sbUJBQUUsUUFBTyxpQkFFUDtFQUNFLHFCQUFBO0VBQ0EsY0FBQTs7QUFKSixtQkFBRSxRQUFPLGlCQUVQLE9BR0U7RUFDRSxxQkFBQTs7QUFHSixtQkFUQSxRQUFPLGlCQVNOLFFBQVM7RUFDUix5QkFBQTtFQUNBLHNCQUFBOztBQUZGLG1CQVRBLFFBQU8saUJBU04sUUFBUyxPQUdSO0VBQ0UsY0FBQTs7QUFiTixrQkFBRSxRQUFPLGlCQUVQO0VBQ0UscUJBQUE7RUFDQSxjQUFBOztBQUpKLGtCQUFFLFFBQU8saUJBRVAsT0FHRTtFQUNFLHFCQUFBOztBQUdKLGtCQVRBLFFBQU8saUJBU04sUUFBUztFQUNSLHlCQUFBO0VBQ0Esc0JBQUE7O0FBRkYsa0JBVEEsUUFBTyxpQkFTTixRQUFTLE9BR1I7RUFDRSxjQUFBOztBQWJOLG1CQUFFLFFBQU8saUJBRVA7RUFDRSxxQkFBQTtFQUNBLGNBQUE7O0FBSkosbUJBQUUsUUFBTyxpQkFFUCxPQUdFO0VBQ0UscUJBQUE7O0FBR0osbUJBVEEsUUFBTyxpQkFTTixRQUFTO0VBQ1IseUJBQUE7RUFDQSxzQkFBQTs7QUFGRixtQkFUQSxRQUFPLGlCQVNOLFFBQVMsT0FHUjtFQUNFLGNBQUE7O0FBYk4scUJBQUUsUUFBTyxpQkFFUDtFQUNFLHFCQUFBO0VBQ0EsY0FBQTs7QUFKSixxQkFBRSxRQUFPLGlCQUVQLE9BR0U7RUFDRSxxQkFBQTs7QUFHSixxQkFUQSxRQUFPLGlCQVNOLFFBQVM7RUFDUix5QkFBQTtFQUNBLHNCQUFBOztBQUZGLHFCQVRBLFFBQU8saUJBU04sUUFBUyxPQUdSO0VBQ0UsY0FBQTs7QUFiTixnQkFBRSxRQUFPLGlCQUVQO0VBQ0UscUJBQUE7RUFDQSxjQUFBOztBQUpKLGdCQUFFLFFBQU8saUJBRVAsT0FHRTtFQUNFLHFCQUFBOztBQUdKLGdCQVRBLFFBQU8saUJBU04sUUFBUztFQUNSLHlCQUFBO0VBQ0Esc0JBQUE7O0FBRkYsZ0JBVEEsUUFBTyxpQkFTTixRQUFTLE9BR1I7RUFDRSxjQUFBOztBQWJOLGtCQUFFLFFBQU8saUJBRVA7RUFDRSxxQkFBQTtFQUNBLGNBQUE7O0FBSkosa0JBQUUsUUFBTyxpQkFFUCxPQUdFO0VBQ0UscUJBQUE7O0FBR0osa0JBVEEsUUFBTyxpQkFTTixRQUFTO0VBQ1IseUJBQUE7RUFDQSxzQkFBQTs7QUFGRixrQkFUQSxRQUFPLGlCQVNOLFFBQVMsT0FHUjtFQUNFLGNBQUE7O0FBYk4sa0JBQUUsUUFBTyxpQkFFUDtFQUNFLHFCQUFBO0VBQ0EsY0FBQTs7QUFKSixrQkFBRSxRQUFPLGlCQUVQLE9BR0U7RUFDRSxxQkFBQTs7QUFHSixrQkFUQSxRQUFPLGlCQVNOLFFBQVM7RUFDUix5QkFBQTtFQUNBLHNCQUFBOztBQUZGLGtCQVRBLFFBQU8saUJBU04sUUFBUyxPQUdSO0VBQ0UsY0FBQTs7Ozs7QUMxRVI7QUFBVTtBQUFpQjtBQUFXO0FBQWE7QUFBYTtBQUFXO0FBQVc7QUFBVztBQUFhO0FBQWE7QUFBWTtBQUFhO0FBQWE7QUFBZ0I7QUFBWTtBQUFZO0FBQVk7QUFBZTtBQUFhO0FBQVk7QUFBVztBQUFjO0FBQWM7QUFBYTtBQUFVO0FBQVk7QUFBZ0I7QUFBb0I7QUFBaUI7QUFBbUI7QUFBa0I7QUFBVztBQUFhO0FBQVk7QUFBYztBQUFZO0FBQWtCO0FBQWE7QUFBYztBQUFlO0FBQVk7QUFBa0I7QUFBbUI7QUFBbUI7QUFBbUI7QUFBa0I7QUFBbUI7QUFBbUI7QUFBbUI7QUFBaUI7QUFBYTtBQUFnQjtBQUFhO0FBQVc7QUFBWTtBQUFXO0FBQW1CO0FBQW1CO0FBQWM7QUFBYTtBQUFhO0FBQWU7QUFBVztBQUFrQjtBQUFXO0FBQVU7QUFBWTtBQUFtQjtBQUFxQjtBQUFhO0FBQWU7QUFBZTtBQUFpQjtBQUFVO0FBQWM7QUFBVztBQUFnQjtBQUFvQjtBQUFhO0FBQVk7QUFBVTtBQUFhO0FBQVk7QUFBYztBQUFtQjtBQUFvQjtBQUFVO0FBQVk7QUFBYztBQUFVO0FBQVU7QUFBZ0I7QUFBa0I7QUFBZ0I7QUFBVztBQUFpQjtBQUFrQjtBQUFlO0FBQWlCO0FBQWE7QUFBVztBQUFvQjtBQUFtQjtBQUFXO0FBQWE7QUFBYztBQUFhO0FBQVU7QUFBVTtBQUFXO0FBQVk7QUFBYTtBQUFlO0FBQWU7QUFBZTtBQUFXO0FBQVk7QUFBWTtBQUFZO0FBQVc7QUFBYTtBQUFXO0FBQWM7QUFBWTtBQUFhO0FBQVc7QUFBZTtBQUFvQjtBQUFXO0FBQVc7RUFDM3hELGVBQUE7RUFDQSxvQkFBQTs7Ozs7QUNGRixhQUVFO0VqRUFBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHFCQUFBO0VBdURBLGlCQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esa0JBQUE7RWlFekRFLFlBQUE7RUFDQSxzQkFBQTs7QWpFQUYsYWlFSkEsV2pFSUM7QUFDRCxhaUVMQSxXakVLQztFQUNDLGNBQUE7RUFDQSx5QkFBQTtFQUNJLHFCQUFBOztBQUVOLGFpRVZBLFdqRVVDO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRU4sYWlFZkEsV2pFZUM7QUFDRCxhaUVoQkEsV2pFZ0JDO0FBQ0QsS0FBTSxtQkFBa0IsYWlFakJ4QjtFakVrQkUsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBRUosYWlFdEJGLFdqRWVDLE9BT0U7QUFBRCxhaUV0QkYsV2pFZ0JDLE9BTUU7QUFBRCxLQUxJLG1CQUFrQixhaUVqQnhCLFdqRXNCRztBQUNELGFpRXZCRixXakVlQyxPQVFFO0FBQUQsYWlFdkJGLFdqRWdCQyxPQU9FO0FBQUQsS0FOSSxtQkFBa0IsYWlFakJ4QixXakV1Qkc7QUFDRCxhaUV4QkYsV2pFZUMsT0FTRTtBQUFELGFpRXhCRixXakVnQkMsT0FRRTtBQUFELEtBUEksbUJBQWtCLGFpRWpCeEIsV2pFd0JHO0VBQ0MsY0FBQTtFQUNBLHlCQUFBO0VBQ0kscUJBQUE7O0FBR1IsYWlFOUJBLFdqRThCQztBQUNELGFpRS9CQSxXakUrQkM7QUFDRCxLQUFNLG1CQUFrQixhaUVoQ3hCO0VqRWlDRSxzQkFBQTs7QUFLQSxhaUV0Q0YsV2pFbUNDO0FBR0MsYWlFdENGLFdqRW9DQztBQUVDLFFBRE0sVUFBVyxjaUVyQ25CO0FqRXVDRSxhaUV2Q0YsV2pFbUNDLFNBSUU7QUFBRCxhaUV2Q0YsV2pFb0NDLFVBR0U7QUFBRCxRQUZNLFVBQVcsY2lFckNuQixXakV1Q0c7QUFDRCxhaUV4Q0YsV2pFbUNDLFNBS0U7QUFBRCxhaUV4Q0YsV2pFb0NDLFVBSUU7QUFBRCxRQUhNLFVBQVcsY2lFckNuQixXakV3Q0c7QUFDRCxhaUV6Q0YsV2pFbUNDLFNBTUU7QUFBRCxhaUV6Q0YsV2pFb0NDLFVBS0U7QUFBRCxRQUpNLFVBQVcsY2lFckNuQixXakV5Q0c7QUFDRCxhaUUxQ0YsV2pFbUNDLFNBT0U7QUFBRCxhaUUxQ0YsV2pFb0NDLFVBTUU7QUFBRCxRQUxNLFVBQVcsY2lFckNuQixXakUwQ0c7QUFDRCxhaUUzQ0YsV2pFbUNDLFNBUUU7QUFBRCxhaUUzQ0YsV2pFb0NDLFVBT0U7QUFBRCxRQU5NLFVBQVcsY2lFckNuQixXakUyQ0c7RUFDQyx5QkFBQTtFQUNJLHFCQUFBOztBaUUvQ1YsYUFFRSxXakVpREE7RUFDRSxjQUFBO0VBQ0EseUJBQUE7O0FpRTlDQSxhQUxGLFdBS0c7QUFDRCxhQU5GLFdBTUc7QUFDRCxhQVBGLFdBT0c7RUFDQyxVQUFBO0VBQ0Esc0JBQUE7RXBGcURKLHdEQUFBO0VBQ1EsZ0RBQUE7O0FvRmpFVixhQWlCRTtFQUNFLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxXQUFBOztBQXBCSixhQXVCRSxXQUFXO0VBQ1QsY0FBQTtFQUNBLGtCQUFBO0VBQ0EsbUNBQUE7RUFDQSx3QkFBQTtFQUNBLFdBQUE7O0FBRUEsYUFQRixXQUFXLFNBT1I7RUFDQyxhQUFBOztBQUtBLGFBYkosV0FBVyxTQVlSLDJCQUNFO0VBQ0MsU0FIaUIsT0FHakI7O0FBSUYsYUFsQkosV0FBVyxTQWlCUiwwQkFDRTtFQUNDLFNBVGdCLE9BU2hCOztBQTFDUixhQWdERTtBQWhERixhQWlERSxRQUFPO0FBakRULGFBa0RFLGFBQWE7RUFDWCx5QkFBQTs7QUFuREosYUF1REU7RUFDRSx5Q0FBQTs7QUF4REosYUEyREU7RUFDRSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxjQUFBOztBQTlESixhQW1FRTtFQUNFLGlCQUFBOztBQXBFSixhQTJFRTtFQUNFLFNBQUE7O0FBNUVKLGFBMkVFLGlCQUVFO0VBQ0UscUJBQUE7RUFDQSxpQkFBQTtFQUNBLGtCQUFBO0VBQ0EsaUJBQUE7RUFDQSxXQUFBO0VBQ0EsZUFBQTtFQUNBLGVBQUE7O0FBRUYsYUFYRixpQkFXRztFQUNDLFNBQVMsU0FBVDs7QUF2Rk4sYUE0RkU7RUFDRSxrQkFBQTtFQUNBLGlCQUFBOztBQUNBLGFBSEYsdUJBR0c7RUFDQyxTQUFTLE9BQVQ7RUFDQSxrQkFBQTtFQUNBLE1BQUE7RUFBUSxPQUFBO0VBQ1IsUUFBQTtFQUFVLFNBQUE7RUFDVix5QkFBQTtFQUNBLFVBQUE7RUFDQSx3QkFBQTtFQUNBLFdBQUE7RUFDQSxrQkFBQTtFQUNBLGVBQUE7RUFDQSxXQUFBO0VBQ0EsZ0JBQUE7RXBGK0VKLGlDQUFBO0VBQ0ssNEJBQUE7RUFDRyx5QkFBQTtFb0YvRUosV0FBQTs7QUFFRixhQW5CRix1QkFtQkcsT0FBTztFQUNOLFVBQUE7RUFDQSxVQUFBOztBQUVGLGFBdkJGLHVCQXVCRyxRQUFRO0VBQ1AseUJBQUE7O0FBcEhOLGFBd0hFLCtCQUNFLFFBQU87RUFDTCwwQ0FBQTs7Ozs7QUN0SE47RUFFRSxnQkFBQTs7QUFJQSxTQUFDO0FBTkgsU0FPRTtFQUNFLFlBQUE7O0FBSUo7RUFDRSxrQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLGNBQUE7O0FBT0YsUUFBUTtFQUVOLFVBQUE7Ozs7O0FDL0JGLEtBRUU7RUFDRSxrQkFBQTs7QUFISixLQU1FO0V0RnFMQSxxREFBQTtFQUNLLGdEQUFBO0VBQ0csNkNBQUE7O0FzRjdMVixLQU1FLFdBR0U7RUFDRSxrQkFBQTs7QUFHRixLQVBGLFdBT0c7RXRGR0gsZ0NBQUE7RUFDSywyQkFBQTtFQUNHLHdCQUFBOztBc0ZETixLQVhGLFdBV0c7RUFDQyxrQkFBQTtFQUNBLE9BQUE7RUFBUyxRQUFBO0V0RkhiLHVDQUFBO0VBQ0ssa0NBQUE7RUFDRywrQkFBQTtFQTJCUixpQ0FBQTtFQUNRLHlCQUFBOztBc0Y5Q1YsS0FNRSxXQWtCRTtFQUNFLGFBQUE7RUFDQSxlQUFBOztBQUVGLEtBdEJGLFdBc0JHLE1BQU87RUFDTixlQUFBOztBQUVGLEtBekJGLFdBeUJHLGNBQWU7RUFDZCxhQUFBOztBQWhDTixLQXFDRTtFQUNFLFlBQUE7RUFDQSxlQUFBO0VBQ0EsZUFBQTs7QUF4Q0osS0EyQ0U7RUFDRSxtQkFBQTtFQUNBLFdBQUE7RUFDQSxjQUFBOztBQTlDSixLQTJDRSxlQUtFO0VBQ0UsNkJBQUE7O0FBakROLEtBcURFLGFBQ0U7RUFDRSxXQUFBO0VBQ0EsU0FBQTs7QUF4RE4sS0FxREUsYUFDRSxTQUdFO0VBQ0UsZ0NBQUE7Ozs7O0FDbkRSO0VBRUUsU0FBQTtFQUNBLGdCQUFBO0VBQ0EsU0FBQTtFQUNBLG9CQUFBOztBQVFBO0VBQUE7SUFMRSx1QkFBQTtJQUNBLGNBQUE7SUFDQSxtQkFBQTs7O0FBVkosU0FhRTtFQUNFLGdCQUFBO0VBQ0EsY0FBQTtFQUNBLDZCQUFBO0VBQ0Esa0NBQUE7O0FBQ0EsU0FMRixFQUtHO0FBQ0QsU0FORixFQU1HO0VBQ0MseUJBQUE7RUFDQSxjQUFBO0VBQ0EsOEJBQUE7O0FBR0EsU0FaSixFQVdHO0FBQ0ksU0FaUCxFQVdHLE9BQ0s7QUFBUSxTQVpoQixFQVdHLE9BQ2M7RUFDWCxjQUFBO0VBQ0EseUJBQUE7RUFDQSw2QkFBQTs7QUFPUjtFQUNFLGVBQUE7RUFDQSxjQUFBOztBQUdGLFNBRUUsUUFBUSxLQUFLO0VBQ1gsNkJBQUE7O0FBSEosU0FNRTtFQUNFLHlCQUFBOztBQVBKLFNBVUU7RUFDRSxjQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7O0FBZkosU0FrQkU7RUFDRSxjQUFBO0VBQ0EsY0FBQTtFQUNBLGVBQUE7RUFDQSxnQkFBQTtFQUNBLGdCQUFBOztBQXZCSixTQTBCRTtFQUNFLGNBQUE7RUFDQSxlQUFBO0VBQ0EsZ0JBQUE7RUFDQSxnQkFBQTtFQzhMRix1QkFBQTtFQUNBLG1CQUFBO0VBQ0EsZUFBQTtFQUNBLGdCQUFBO0VBQ0Esc0JBQUE7RURoTUUsVUFBQTtFQUNBLGVBQUE7O0FBakNKLFNBb0NFO0VBQ0UsV0FBQTtFQUNBLGdCQUFBO0VBQ0EsY0FBQTs7QUF2Q0osU0F5Q0U7RUFDRSx5QkFBQTs7QUFJSjtFQUNFLGtCQUFBO0VBQ0EsV0FBQTtFQUNBLGdCQUFBOztBQUhGLFNBSUU7RUFDRSxrQkFBQTtFdkY1Q0YsbUNBQUE7RUFDRyxnQ0FBQTtFQUNLLDJCQUFBO0VBeUZSLG1CQUFtQixvQkFBbkI7RUFDUSxXQUFXLG9CQUFYO0VBOERSLCtDQUFBO0VBQ0cseUNBQUE7RUFDRSxxQ0FBQTtFQUNHLCtCQUFBOztBMkR6TVIsUzRCdUZBLGtCNUJ2RkM7QUFDRCxTNEJzRkEsa0I1QnRGQztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsUzRCa0ZBLGtCNUJsRkM7RUFDQyxXQUFBOztBQU5GLFM0QnVGQSxrQjVCdkZDO0FBQ0QsUzRCc0ZBLGtCNUJ0RkM7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLFM0QmtGQSxrQjVCbEZDO0VBQ0MsV0FBQTs7QTRCNkVKLFNBSUUsa0JBT0U7RUFDRSxrQkFBQTtFQUNBLE1BQUE7RUFDQSxVQUFBO0VBQ0EsUUFBQTs7QUFLRjtFQUFBLFNBaEJGLGtCQU9FO0lBTUksZ0JBQUE7SUFDQSxrQkFBQTs7O0FBV0o7RUFBQSxTQXpCRixrQkFrQkU7SUFFSSwrQkFBQTtJQUNBLG1CQUFBO0lBQ0EsOEJBQUE7SUFDQSxrQkFBQTs7O0FBM0JSLFNBSUUsa0JBMkJFO0FBL0JKLFNBSUUsa0JBNEJFO0VBQ0UsV0FBQTtFQUNBLFdBQUE7O0FBWUY7RUFBQSxTQTFDRixrQkFpQ0k7SUFDRSxVQUFBOztFQVFKLFNBMUNGLGtCQW9DSTtJQUNFLFVBQUE7OztBQUtKLFNBMUNGLGtCQTBDRztFdkZNSCxtQkFBbUIsd0JBQW5CO0VBQ1EsV0FBVyx3QkFBWDs7QXVGckRWLFNBb0RFO0VBQ0UscUJBQUE7RUFDQSxxQkFBQTtFQUNBLFdBQUE7RUFDQSxxQkFBQTtFQUNBLGVBQUE7RUFDQSxjQUFBOztBQUlGO0VBQUEsU0FWQTtJQVFJLGFBQUE7OztBQUtOLGlCQUNFO0VBQ0UsZ0JBQUE7RUFDQSxhQUFBO0VBQ0EsZUFBQTs7QUFKSixpQkFPRSxlQUNFO0VBQ0UsaUJBQUE7RUFDQSx5QkFBQTtFdkZtQkosMENBQUE7RUFDSyxxQ0FBQTtFQUNHLGtDQUFBOztBdUZuQkosaUJBTEosZUFDRSxxQkFJRztFQUNDLHFCQUFBOztBQVlGLG1CQUhKLFVBQ0Usa0JBRUc7RXZGdENMLG1CQUFtQixvQkFBbkI7RUFDUSxXQUFXLG9CQUFYOztBdUZxQ0osbUJBSEosVUFDRSxrQkFFRyxnQkFFQztFQUNFLE9BQUE7O0FBSEosbUJBSEosVUFDRSxrQkFFRyxnQkFNQztFQUNFLGtCQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBOzs7OztBRTVMVjtFQUNFLGNBQUE7RUFDQSxXQUFBOztBQUZGLElBSUUsUUFDRTtFQUNFLGlCQUFBOztBQU5OLElBSUUsUUFJRSxRQUFRLEdBQUc7RUFDVCxZQUFBOztBQVROLElBSUUsUUFPRSxRQUFRLEdBQUcsR0FBRTtFQUNYLGlCQUFBOztBQVpOLElBSUUsUUFVRSxRQUFRLEdBQUcsR0FBRTtFQUNYLGtCQUFBOztBQWZOLElBSUUsUUFhRSxRQUFPLEdBQUUsS0FBSTtFQUNYLGNBQUE7O0FBbEJOLElBSUUsUUFpQkUsTUFBSztFQUNILGdDQUFBOztBQXRCTixJQUlFLFFBcUJFLGdCQUFnQjtFQUNaLGtCQUFBO0VBQ0EscUJBQUE7O0FBQ0EsSUF4Qk4sUUFxQkUsZ0JBQWdCLE1BR1Y7RUFDQSxxQkFBQTtFQUNBLDRCQUFBO0VBQ0EsWUFBQTtFQUNBLGtCQUFBOztBQU1WO0VBQ0UsV0FBQTtFQUNBLFlBQUE7O0FBSUY7RUFDRSxnQkFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLFdBQUE7O0FBS0Y7RUFDRSxrQkFBQTtFQUNBLFlBQUE7RUFDQSwwQkFBQTtFQUNBLDZCQUFBO0VBQ0Esb0NBQUE7RUFDQSxxQ0FBQTtFQUNBLGNBQUE7RUFDQSxVQUFBOzs7Ozs7Ozs7QUN2REY7RUFDRSxvQkFBQTs7QUFLRjtFQUNFLFNBQUE7O0FBQ0EsU0FBVTtFQUNSLE1BQUE7O0FBV0o7RUFDRSxZQUFBOzs7OztBQ3JCRSxjQUhGLGNBR0csU0FBUztFQUNOLHFCQUFBOztBQUdKLGNBUEYsY0FPRyxTQUFTO0FBQ1YsY0FSRixjQVFHLFNBQVMsU0FBUztFQUNmLHFCQUFBOzs7OztBQ1BSO0VBQ0UsbUJBQUE7RUFDQSxnQkFBQTtFQUNBLG1CQUFBO0VBQ0EsY0FBQTtFQUNBLG1CQUFBO0VBQ0EsV0FBQTs7QUFORixVQVFFO0VBQ0UsbUJBQUE7RUFDQSxxQkFBQTtFQUNBLHlCQUFBO0VBQ0EsZUFBQTtFQUNBLGtCQUFBO0VBQ0Esa0JBQUE7OztBQWRKLFVBUUUsS0FRRTtFQUNFLGVBQUE7O0FBR0YsVUFaRixLQVlHO0VBQ0MsU0FBUyxhQUFUO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtFQUNBLFdBQUE7RUFDQSxpQkFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSx1QkFBQTtFQUNBLFVBQUE7O0FBSUYsVUE1QkYsS0E0Qkc7RUFDQyxTQUFTLEVBQVQ7RUFDQSxRQUFBO0VBQ0EsV0FBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxVQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7O0U1RnNJSix1Q0FBQTtFQUNLLGtDQUFBO0VBQ0csK0JBQUE7O0E0Rm5JTixVQXpDRixLQXlDRyxZQUFZO0VBQ1gsYUFBQTs7QUFJRixVQTlDRixLQThDRyxPQUFPO0FBQ1IsVUEvQ0YsS0ErQ0csT0FBTztFQUNOLG1CQUFBO0VBQ0EsWUFBQTs7QUFFRixVQW5ERixLQW1ERyxPQUFPO0VBQ04sV0FBQTs7Ozs7Ozs7O0FDbEROLE9BQ0U7RUFDRSxnQkFBQTtFQUNBLGdCQUFBOztBQUlKLE9BQVE7RUFDTixlQUFBOztBQUdGLE9BQVE7RUFDTixVQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBOztBQUlBLE9BQUU7RUFDQSxrQkFBQTtFQUNBLHFCQUFBO0VBQ0EsV0FBQTtFQUFtQixZQUFBO0VBQ25CLDZCQUFBO0VBRUEsb0JBQUE7RUFDQSxtQkFBQTtFQUNBLGlEQUFBOztBQUdGLE9BQUUsS0FBSTtFQUNMLFNBQVMsRUFBVDtFQUNBLGtCQUFBO0VBQ0Esc0JBQUE7RUFDQSxRQUFBO0VBQVUsT0FBQTtFQUNWLFlBQUE7RUFBd0IsV0FBQTtFQUN4QixzQkFBQTtFQUNBLG9CQUFBO0VBQ0EsMENBQUE7RUFDQSwyQkFBQTs7QUFvQkQsT0FqQkMsVUFpQkM7RUFDQSxXQUFBO0VBQVksWUFBQTs7QUFHZCxPQXJCQyxVQXFCQyxLQUFJO0VBQ0wsWUFBQTtFQUFpQixXQUFBOztBQUxsQixPQWhCQyxVQWdCQztFQUNBLFdBQUE7RUFBWSxZQUFBOztBQUdkLE9BcEJDLFVBb0JDLEtBQUk7RUFDTCxZQUFBO0VBQWlCLFdBQUE7O0FBakJwQixPQUFRLE1BQUssUUFBUztFQUNwQix5QkFBQTtFQUNBLHFCQUFBO0VBQ0EsbUJBQUE7O0FBR0YsT0FBUSxNQUFLLFFBQVMsT0FBTTtFQUMxQixTQUFBO0VBQ0EsbUJBQUE7O0FBeUJBLGVBQUMsT0FBUSxNQUFLLFFBQVM7RUFDckIseUJBQUE7RUFDQSxxQkFBQTs7QUFGRixlQUFDLE9BQVEsTUFBSyxRQUFTO0VBQ3JCLHlCQUFBO0VBQ0EscUJBQUE7O0FBRkYsWUFBQyxPQUFRLE1BQUssUUFBUztFQUNyQix5QkFBQTtFQUNBLHFCQUFBOztBQUZGLGVBQUMsT0FBUSxNQUFLLFFBQVM7RUFDckIseUJBQUE7RUFDQSxxQkFBQTs7QUFGRixjQUFDLE9BQVEsTUFBSyxRQUFTO0VBQ3JCLHlCQUFBO0VBQ0EscUJBQUE7O0FBRkYsZUFBQyxPQUFRLE1BQUssUUFBUztFQUNyQix5QkFBQTtFQUNBLHFCQUFBOztBQUZGLGlCQUFDLE9BQVEsTUFBSyxRQUFTO0VBQ3JCLHlCQUFBO0VBQ0EscUJBQUE7O0FBRkYsWUFBQyxPQUFRLE1BQUssUUFBUztFQUNyQix5QkFBQTtFQUNBLHFCQUFBOztBQUZGLGNBQUMsT0FBUSxNQUFLLFFBQVM7RUFDckIseUJBQUE7RUFDQSxxQkFBQTs7QUFGRixjQUFDLE9BQVEsTUFBSyxRQUFTO0VBQ3JCLHlCQUFBO0VBQ0EscUJBQUE7Ozs7Ozs7Ozs7QUN6Rko7QUFDQTtFQUNFLGlCQUFBOztBQUZGLFdBR0U7QUFGRixRQUVFO0VBQ0UsZUFBQTs7QUFKSixXQU1FO0FBTEYsUUFLRTtFQUNFLFVBQUE7RUFDQSxrQkFBQTtFQUNBLHlCQUFBOztBQVRKLFdBYUU7QUFaRixRQVlFO0VBQ0Usa0JBQUE7RUFDQSxxQkFBQTtFQUNBLG1CQUFBO0VBQ0Esa0JBQUE7RUFDQSxXQUFBO0VBQXFCLFlBQUE7RUFDckIsa0JBQUE7RUFDQSxzQkFBQTtFQUNBLGlCQUFBO0VBQ0Esa0JBQUE7O0FBQ0EsV0FWRixLQVVHO0FBQUQsUUFWRixLQVVHO0VBQ0MsZ0JBQUE7RUFDQSxXQUFBOztBQUlKLFdBQUMsTUFBTztBQUFSLFFBQUMsTUFBTztFQUNOLHFCQUFBOztBQUdGLFlBQWEsWUFBRTtBQUFmLFlBQWEsU0FBRTtFQUNiLGNBQUE7O0FBR0YsV0FBQyxtQkFFQztBQUZGLFFBQUMsbUJBRUM7QUFERixXQUFDLGdCQUNDO0FBREYsUUFBQyxnQkFDQztFQUNFLG9CQUFBOzs7QUFNTixRQUFTO0VBQ1Asb0JBQUE7OztBQUlGLFdBRUUsS0FBSTtBQUROLFFBQ0UsS0FBSTtFQUVGLGtCQUFBO0VBQ0EsTUFBQTtFQUFRLFVBQUE7RUFBYSxRQUFBO0VBQVUsU0FBQTtFQUMvQixVQUFBO0U5RnlDRixtQkFBbUIsVUFBbkI7RUFDSSxlQUFlLFVBQWY7RUFDQyxjQUFjLFVBQWQ7RUFDRyxXQUFXLFVBQVg7RThGMUNOLDZCQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0Esc0JBQUE7OztBQU1KO0FBQ0E7Ozs7O0FBREEsV0FFRSxNQUFLLGVBQWUsUUFBUyxPQUFNO0FBRHJDLFFBQ0UsTUFBSyxlQUFlLFFBQVMsT0FBTTtBQUZyQyxXQUdFLE1BQUssWUFBWSxRQUFTLE9BQU07QUFGbEMsUUFFRSxNQUFLLFlBQVksUUFBUyxPQUFNO0VBQzlCLFVBQUE7RTlGMEJGLG1CQUFtQixRQUFuQjtFQUNJLGVBQWUsUUFBZjtFQUNDLGNBQWMsUUFBZDtFQUNHLFdBQVcsUUFBWDtFQWdHUixtREFBQTtFQUNHLDZDQUFBO0VBQ0UseUNBQUE7RUFDRyxtQ0FBQTs7QThGcElWLFdBU0UsTUFBSyxlQUFlLFFBQVM7QUFSL0IsUUFRRSxNQUFLLGVBQWUsUUFBUztBQVQvQixXQVVFLE1BQUssWUFBWSxRQUFTO0FBVDVCLFFBU0UsTUFBSyxZQUFZLFFBQVM7RUFDeEIscUJBQUE7RUFDQSx5QkFBQTs7QUFaSixXQWdCRSxNQUFLLFlBQVksUUFBUztBQWY1QixRQWVFLE1BQUssWUFBWSxRQUFTO0VBQ3hCLHNCQUFBOztBQUNBLFdBRkYsTUFBSyxZQUFZLFFBQVMsT0FFdkI7QUFBRCxRQUZGLE1BQUssWUFBWSxRQUFTLE9BRXZCO0VBQ0MsY0FBQTs7QUFuQk4sV0F5QkUsTUFBSyxlQUFlLFNBQVU7QUF4QmhDLFFBd0JFLE1BQUssZUFBZSxTQUFVO0FBekJoQyxXQTBCRSxNQUFLLFlBQVksU0FBVTtBQXpCN0IsUUF5QkUsTUFBSyxZQUFZLFNBQVU7RUFDekIscUJBQUE7RUFDQSx5QkFBQTs7QUE1QkosV0ErQkUsTUFBSyxZQUFZLFNBQVU7QUE5QjdCLFFBOEJFLE1BQUssWUFBWSxTQUFVO0VBQ3pCLGlDQUFBOztBQUNBLFdBRkYsTUFBSyxZQUFZLFNBQVUsT0FFeEI7QUFBRCxRQUZGLE1BQUssWUFBWSxTQUFVLE9BRXhCO0VBQ0MsY0FBQTs7Ozs7QUM1R04sTUFDRSxRQUFRLEtBQUs7RUFDWCxpQkFBQTtFQUNBLFdBQUE7O0FBSEosTUFLRSxRQUFRLEtBQUs7RUFDWCxzQkFBQTs7QUFOSixNQUtFLFFBQVEsS0FBSyxLQUVYLFNBQ0U7RUFDRSxXQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7O0FBWFIsTUFnQkU7RUFDRSxjQUFBO0VBQ0EsV0FBQTs7QUFsQkosTUFxQkU7RUFDRSxnQkFBQTs7QUF0QkosTUF5QkU7RUFDRSxnQkFBQTtFQUNBLGNBQUE7O0FBSUo7RUFBYyx1QkFBQTs7QUFNVixZQURGLEdBQ0csVUFBVTtFQUNULFNBQUE7O0FBRUYsWUFKRixHQUlHLFVBQVU7RUFDVCxTQUFBOztBQUVGLFlBUEYsR0FPRyxVQUFVO0VBQ1QsU0FBQTs7QUFFRixZQVZGLEdBVUcsVUFBVTtFQUNULFNBQUE7O0FBT0YsWUFERixHQUNHLFVBQVU7RUFDVCxTQUFBOztBQUVGLFlBSkYsR0FJRyxVQUFVO0VBQ1QsVUFBQTs7Ozs7QUM5RE4sSUFHRSxVQUFVLEdBQUUsU0FBUztBQUh2QixJQUlFLFVBQVUsR0FBRSxTQUFTO0VBQ25CLHNCQUFBO0VBQ0EseUNBQUE7O0FBTkosSUFTRSxVQUFVLEdBQUUsU0FBVSxJQUFHO0FBVDNCLElBVUUsVUFBVSxHQUFFLFNBQVUsSUFBRztFQUN2QixpQ0FBQTs7QUFYSixJQWFFLFVBQVUsR0FBRSxTQUFVLElBQUc7RUFDdkIseUJBQUE7O0FBZEosSUFnQkUsVUFBVSxHQUFFLFNBQVMsVUFBVyxJQUFHO0VBQ2pDLHlCQUFBOztBQWpCSixJQW9CRTtFQUNFLGlCQUFBOztBQXJCSixJQW9CRSxzQkFHRTtFQUNFLFNBQUE7O0FBeEJOLElBOEJFLFVBQVU7QUE5QlosSUE4Qm1CLFVBQVU7RUFDdkIsaUJBQUE7RUFDQSxrQkFBQTtFQUNBLGtCQUFBOztBQWpDTixJQW1DRSxVQUFVLE1BQUs7QUFuQ2pCLElBbUMwQixVQUFVLE9BQU07RUFDcEMsU0FBUSxFQUFSO0VBQ0EsaUJBQUE7RUFDQSxtQkFBQTtFQUNBLFNBQUE7RUFDQSxRQUFBO0VBQ0Esa0JBQUE7RUFDQSxnQkFBQTs7QUExQ04sSUE0Q0UsVUFBVTtFQUNOLFlBQUE7O0FBN0NOLElBK0NFLFVBQVUsTUFBSztFQUNYLG1CQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQ0FBQTtFQUNBLG1DQUFBOztBQW5ETixJQXFERSxVQUFVO0VBQ04sVUFBQTs7QUF0RE4sSUF3REUsVUFBVSxPQUFNO0VBQ1osaUJBQUE7RUFDQSxtQkFBQTtFQUNBLGtDQUFBO0VBQ0EsbUNBQUE7O0FBNUROLElBZ0VFLHNCQUFzQjtFQUNwQixlQUFBOztBckN4REYsSXFDMkRBLGdCckMzREM7QUFDRCxJcUMwREEsZ0JyQzFEQztFQUNDLFNBQVMsR0FBVDtFQUNBLGNBQUE7O0FBRUYsSXFDc0RBLGdCckN0REM7RUFDQyxXQUFBOztBQU5GLElxQzJEQSxnQnJDM0RDO0FBQ0QsSXFDMERBLGdCckMxREM7RUFDQyxTQUFTLEdBQVQ7RUFDQSxjQUFBOztBQUVGLElxQ3NEQSxnQnJDdERDO0VBQ0MsV0FBQTs7Ozs7Ozs7OztBc0NGSixJQUVFO0FBRkYsSUFHRTtBQUhGLElBSUU7RUFDRSxzQkFBQTtFQUNBLHNCQUFBOztBQU5KLElBU0U7RUFDRSxzQkFBQTtFQUNBLHlCQUFBO0VBQ0EsaUNBQUE7RUFDQSxVQUFBOztBQWJKLElBZUU7RUFDRSxzQkFBQTtFQUNBLHlCQUFBOztBQWpCSixJQW1CRTtFQUNFLHlCQUFBOztBQXBCSixJQXVCRSxRQUNFLFNBQVEsSUFBSztFQUNYLHlCQUFBOztBQXpCTixJQXVCRSxRQUlFLFNBQVEsTUFBTztFQUNiLDJCQUFBOztBQTVCTixJQXVCRSxRQU9FO0VBQ0UseUJBQUE7O0FBRUYsSUFWRixRQVVHLGdCQUNDO0VBQ0UsVUFBQTs7QUFGSixJQVZGLFFBVUcsZ0JBSUM7RUFDRSxpQkFBQTs7QUFHSixJQWxCRixRQWtCRyxrQkFDQztFQUNFLGdCQUFBOztBQUZKLElBbEJGLFFBa0JHLGtCQUlDO0VBQ0UsV0FBQTs7QUE5Q1IsSUFtREU7RUFDRSxZQUFBOztBQXBESixJQThERSx3QkFBd0I7RWpGbUN4QixjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFaEJ4REEsd0RBQUE7RUFDUSxnREFBQTtFQXlIUiw4RUFBQTtFQUNLLHlFQUFBO0VBQ0csc0VBQUE7RTRCcEVSLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQ0FBQTtFQUtBLHFCQUFBOztBWDNFQSxJZ0Z1QkEsd0JBQXdCLGdCaEZ2QnZCO0VBQ0MscUJBQUE7RUFDQSxVQUFBO0VqQlVGLHFGQUFBO0VBQ1EsNkVBQUE7O0FBaUNSLElpR3ZCQSx3QkFBd0IsZ0JqR3VCdkI7RUFDQyxjQUFBO0VBQ0EsVUFBQTs7QUFFRixJaUczQkEsd0JBQXdCLGdCakcyQnZCO0VBQXlCLGNBQUE7O0FBQzFCLElpRzVCQSx3QkFBd0IsZ0JqRzRCdkI7RUFBK0IsY0FBQTs7QWdCZ0NoQyxJaUY1REEsd0JBQXdCLGdCakY0RHZCO0FBQ0QsSWlGN0RBLHdCQUF3QixnQmpGNkR2QjtBQUNELFFBQVEsVUFBVyxLaUY5RG5CLHdCQUF3QjtFakYrRHRCLHlCQUFBO0VBQ0EsVUFBQTs7QUFHRixJaUZuRUEsd0JBQXdCLGdCakZtRXZCO0FBQ0QsUUFBUSxVQUFXLEtpRnBFbkIsd0JBQXdCO0VqRnFFdEIsbUJBQUE7O0FBSUYsUUFBUSxJaUZ6RVIsd0JBQXdCO0VqRjBFdEIsWUFBQTs7QWlGeElKLElBa0VFLHdCQUF3QixnQkFBZ0IsR0FBRSxhQUFjLE1BQUs7RUFDM0QsWUFBQTtFQUNBLFVBQUE7O0FBcEVKLElBdUVFLHdCQUF3QixnQkFBZ0IsR0FBRTtFQUN4QyxtQkFBQTtFQUNBLHlCQUFBO0VBQ0EseUJBQUE7RUFDQSxzQkFBQTs7QUEzRUosSUE4RUUsa0JBQWtCLGdCQUFnQixHQUFFO0VBQ2xDLHlCQUFBO0VBQ0Esc0JBQUE7O0FBaEZKLElBa0ZFLGtCQUFrQjtFQUNoQixrQkFBQTs7QUFuRkosSUFxRkUsa0JBQWtCLGdCQUFnQixHQUFFO0VBQ2xDLGNBQUE7RUFDQSxzQkFBQTs7QUF2RkosSUEwRkUseUJBQXlCO0FBMUYzQixJQTJGRSx5QkFBd0IsaUJBQWtCO0VqRk0xQyxjQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxpQkFBQTtFQUNBLGVBQUE7RUFDQSx1QkFBQTtFQUNBLGNBQUE7RUFDQSx5QkFBQTtFQUNBLHNCQUFBO0VBQ0EseUJBQUE7RUFDQSxrQkFBQTtFaEJ4REEsd0RBQUE7RUFDUSxnREFBQTtFQXlIUiw4RUFBQTtFQUNLLHlFQUFBO0VBQ0csc0VBQUE7RTRCcEVSLGtCQUFBO0VBQ0EsbUJBQUE7RUFDQSxpQ0FBQTtFQUtBLHFCQUFBOztBWDNFQSxJZ0ZtREEseUJBQXlCLGVoRm5EeEI7QUFBRCxJZ0ZvREEseUJBQXdCLGlCQUFrQixlaEZwRHpDO0VBQ0MscUJBQUE7RUFDQSxVQUFBO0VqQlVGLHFGQUFBO0VBQ1EsNkVBQUE7O0FBaUNSLElpR0tBLHlCQUF5QixlakdMeEI7QUFBRCxJaUdNQSx5QkFBd0IsaUJBQWtCLGVqR056QztFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLElpR0NBLHlCQUF5QixlakdEeEI7QUFBRCxJaUdFQSx5QkFBd0IsaUJBQWtCLGVqR0Z6QztFQUF5QixjQUFBOztBQUMxQixJaUdBQSx5QkFBeUIsZWpHQXhCO0FBQUQsSWlHQ0EseUJBQXdCLGlCQUFrQixlakdEekM7RUFBK0IsY0FBQTs7QWdCZ0NoQyxJaUZoQ0EseUJBQXlCLGVqRmdDeEI7QUFBRCxJaUYvQkEseUJBQXdCLGlCQUFrQixlakYrQnpDO0FBQ0QsSWlGakNBLHlCQUF5QixlakZpQ3hCO0FBQUQsSWlGaENBLHlCQUF3QixpQkFBa0IsZWpGZ0N6QztBQUNELFFBQVEsVUFBVyxLaUZsQ25CLHlCQUF5QjtBakZrQ3pCLFFBQVEsVUFBVyxLaUZqQ25CLHlCQUF3QixpQkFBa0I7RWpGa0N4Qyx5QkFBQTtFQUNBLFVBQUE7O0FBR0YsSWlGdkNBLHlCQUF5QixlakZ1Q3hCO0FBQUQsSWlGdENBLHlCQUF3QixpQkFBa0IsZWpGc0N6QztBQUNELFFBQVEsVUFBVyxLaUZ4Q25CLHlCQUF5QjtBakZ3Q3pCLFFBQVEsVUFBVyxLaUZ2Q25CLHlCQUF3QixpQkFBa0I7RWpGd0N4QyxtQkFBQTs7QUFJRixRQUFRLElpRjdDUix5QkFBeUI7QWpGNkN6QixRQUFRLElpRjVDUix5QkFBd0IsaUJBQWtCO0VqRjZDeEMsWUFBQTs7QWlGeElKLElBK0ZFLHlCQUF5QjtFQUN2QixnQkFBQTs7QUFoR0osSUFtR0UseUJBQXlCLGVBQWU7RUFDdEMsUUFBQTtFQUNBLFVBQUE7O0FBckdKLElBd0dFLHdCQUF3QixnQkFBZ0IsR0FBRSxhQUFjLE1BQUs7RUFDM0QsY0FBQTs7Ozs7QUNsSEo7RUFDRSxjQUFBOztBQUlGO0VBQ0UscUJBQUE7RUFDQSxxQ0FBQTtFQUNBLG9CQUFBO0VBQ0EsNkJBQUE7RWxHNktBLHFDQUFBO0VBQ0ssZ0NBQUE7RUFDRyw2QkFBQTs7QWtHM0tWLGNBQWMsTUFDWjtFQUNFLHVCQUFBOztBQUlKO0VBQ0UscUJBQUE7RUFDQSxxQ0FBQTtFQUNBLG9CQUFBO0VBQ0EsMkJBQUE7RUFDQSxTQUFBOzs7OztBQzVCRixrQkFBbUIsS0FFakIsVUFBVTtFQUNSLFdBQUE7O0FBTUo7RUFDRSxlQUFBO0VBQ0EsZ0JBQUE7O0FBRkYsV0FHRTtFQUNFLFdBQUE7O0FBSUosWUFDSTtFQUNJLFlBQUE7Ozs7O0FDVlI7RUFDSSxlQUFBO0VBQ0EsU0FBQTtFQUNBLFVBQUE7RUFDQSxhQUFBO0VBQ0EsWUFBQTtFQWVBLFVBQUE7RUFDQSxXQUFBOztBQWJBLE9BQUMsTUFBTyxPQUFPO0VBQ1gsVUFBQTtFQUNBLG1CQUFBOztBQVFSO0FBQ0E7RUFDSSxVQUFBO0VBQ0EsV0FBQTs7QUFHSjtBQUNBO0VBQ0ksU0FBQTtFQUNBLG1CQUFBOztBQUdKO0FBQ0E7QUFDQTtFQUNJLFNBQUE7RUFDQSxZQUFBOztBQW9CSixRQVorQjtFQUkzQjtJQUNJLFVBQUE7SUFDQSxXQUFBO0lBQ0EsV0FBQTtJQUNBLFNBQUE7Ozs7OztBQzFEUixJQUNJO0VBQ0UsU0FBQTs7QUFGTixJQUlJO0VBQ0UseUJBQUE7O0FBTE4sSUFPSTtFQUNFLHlCQUFBOztBQVJOLElBVUk7RUFDRSx5QkFBQTs7QUFYTixJQWFJO0VBQ0UseUJBQUE7O0FBZE4sSUFnQkk7RUFDRSx5QkFBQTs7QUFqQk4sSUFtQkk7RUFDRSx5QkFBQTs7Ozs7QUNyQk47RUFFRSxhQUFBOzs7Ozs7QUFGRixLQVFFO0VBQ0UsZUFBQTs7Ozs7QUNMSjtFQUNFLGNBQUE7O0FBR0YsSUFFRTtFQUNJLGtCQUFBO0VBQ0EsYUFBQTtFQUNBLHlCQUFBO0VBQ0Esa0JBQUE7RUFDQSxtQkFBQTtFQUNBLFlBQUE7RUFDQSxnQkFBQTtFQUNBLFlBQUE7RUFDQSxXQUFBOztBQVhOLElBY0U7QUFkRixJQWVFO0VBQ0ksa0JBQUE7RUFDQSxVQUFBO0VBQ0EsV0FBQTtFQUNBLFlBQUE7RUFDQSxrQkFBQTtFQUNBLG1CQUFBO0VBQ0EsWUFBQTtFQUNBLGNBQUE7RUFDQSxlQUFBO0VBQ0EsaUJBQUE7RUFDQSxrQkFBQTs7QUExQk4sSUE0QkU7RUFBb0IsU0FBQTs7QUE1QnRCLElBNkJFO0VBQXFCLFNBQUE7Ozs7O0FDL0J2QjtFQTZGRSx5QkFBQTtFQUlFLGNBQUE7O0FBakdKLFFBa0dJO0VBQ0UsY0FBQTs7QUFDQSxRQUZGLEVBRUc7QUFBUSxRQUZYLEVBRVk7RUFDUixjQUFBOztBQXJHUixRQStHSSxLQUFLLEtBQ0g7RUFDRSxjQUFBOztBQUVGLFFBSkYsS0FBSyxLQUlGLE1BRUM7QUFERixRQUxGLEtBQUssS0FLRixPQUNDO0VBQU0sY0FBQTs7QUFFUixRQVJGLEtBQUssS0FRRixPQUNDO0VBQU0seUJBQUE7O0FBeEhkLFFBNEhJO0VBQ0UseUJBQUE7O0FBN0hOLFFBNEhJLGdCQUVFLEtBQUksT0FBUTtFQUNWLDZCQUFBOztBQS9IUixRQW1JSSxhQUNFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBeEcxQ04sUXdHdUNFLGFBQ0UsY3hHeENIO0VBQ0MsY0FBQTtFQUNBLFVBQUE7O0FBRUYsUXdHbUNFLGFBQ0UsY3hHcENIO0VBQXlCLGNBQUE7O0FBQzFCLFF3R2tDRSxhQUNFLGN4R25DSDtFQUErQixjQUFBOztBd0d1QzFCLElBQUssU0FMVCxhQUNFO0VBS0ksa0RBQUE7O0FBeklWLFFBbUlJLGFBU0U7QUE1SU4sUUFtSUksYUFVRTtFQUNFLGNBQUE7O0FBOUlSLFFBa0pJO0VBQ0UsY0FBQTs7QUFuSk4sUUFxSkk7RUFDRSxjQUFBOztBQXRKTixRQXlKSTtFQUNFLGNBQUE7O0FBS0o7RUFBQTtJQUZJLHNCQUFBOzs7QUE1Sk47RUE0RkUseUJBQUE7RUFJRSxjQUFBOztBQWhHSixlQWlHSTtFQUNFLGNBQUE7O0FBQ0EsZUFGRixFQUVHO0FBQVEsZUFGWCxFQUVZO0VBQ1IsY0FBQTs7QUFwR1IsZUE4R0ksS0FBSyxLQUNIO0VBQ0UsY0FBQTs7QUFFRixlQUpGLEtBQUssS0FJRixNQUVDO0FBREYsZUFMRixLQUFLLEtBS0YsT0FDQztFQUFNLGNBQUE7O0FBRVIsZUFSRixLQUFLLEtBUUYsT0FDQztFQUFNLHlCQUFBOztBQXZIZCxlQTJISTtFQUNFLHlCQUFBOztBQTVITixlQTJISSxnQkFFRSxLQUFJLE9BQVE7RUFDViw2QkFBQTs7QUE5SFIsZUFrSUksYUFDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QXhHMUNOLGV3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLGV3R21DRSxhQUNFLGN4R3BDSDtFQUF5QixjQUFBOztBQUMxQixld0drQ0UsYUFDRSxjeEduQ0g7RUFBK0IsY0FBQTs7QXdHdUMxQixJQUFLLGdCQUxULGFBQ0U7RUFLSSxpREFBQTs7QUF4SVYsZUFrSUksYUFTRTtBQTNJTixlQWtJSSxhQVVFO0VBQ0UsY0FBQTs7QUE3SVIsZUFpSkk7RUFDRSxjQUFBOztBQWxKTixlQW9KSTtFQUNFLGNBQUE7O0FBckpOLGVBd0pJO0VBQ0UsY0FBQTs7QUFLSjtFQUFBO0lBRkksc0JBQUE7OztBQTNKTjtFQTJGRSx5QkFBQTtFQUlFLGNBQUE7O0FBL0ZKLGFBZ0dJO0VBQ0UsY0FBQTs7QUFDQSxhQUZGLEVBRUc7QUFBUSxhQUZYLEVBRVk7RUFDUixjQUFBOztBQW5HUixhQTZHSSxLQUFLLEtBQ0g7RUFDRSxjQUFBOztBQUVGLGFBSkYsS0FBSyxLQUlGLE1BRUM7QUFERixhQUxGLEtBQUssS0FLRixPQUNDO0VBQU0sY0FBQTs7QUFFUixhQVJGLEtBQUssS0FRRixPQUNDO0VBQU0seUJBQUE7O0FBdEhkLGFBMEhJO0VBQ0UseUJBQUE7O0FBM0hOLGFBMEhJLGdCQUVFLEtBQUksT0FBUTtFQUNWLDZCQUFBOztBQTdIUixhQWlJSSxhQUNFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBeEcxQ04sYXdHdUNFLGFBQ0UsY3hHeENIO0VBQ0MsY0FBQTtFQUNBLFVBQUE7O0FBRUYsYXdHbUNFLGFBQ0UsY3hHcENIO0VBQXlCLGNBQUE7O0FBQzFCLGF3R2tDRSxhQUNFLGN4R25DSDtFQUErQixjQUFBOztBd0d1QzFCLElBQUssY0FMVCxhQUNFO0VBS0ksa0RBQUE7O0FBdklWLGFBaUlJLGFBU0U7QUExSU4sYUFpSUksYUFVRTtFQUNFLGNBQUE7O0FBNUlSLGFBZ0pJO0VBQ0UsY0FBQTs7QUFqSk4sYUFtSkk7RUFDRSxjQUFBOztBQXBKTixhQXVKSTtFQUNFLGNBQUE7O0FBS0o7RUFBQTtJQUZJLHNCQUFBOzs7QUExSk47RUEwRkUseUJBQUE7RUFJRSxjQUFBOztBQTlGSixjQStGSTtFQUNFLGNBQUE7O0FBQ0EsY0FGRixFQUVHO0FBQVEsY0FGWCxFQUVZO0VBQ1IsY0FBQTs7QUFsR1IsY0E0R0ksS0FBSyxLQUNIO0VBQ0UsY0FBQTs7QUFFRixjQUpGLEtBQUssS0FJRixNQUVDO0FBREYsY0FMRixLQUFLLEtBS0YsT0FDQztFQUFNLGNBQUE7O0FBRVIsY0FSRixLQUFLLEtBUUYsT0FDQztFQUFNLHlCQUFBOztBQXJIZCxjQXlISTtFQUNFLHlCQUFBOztBQTFITixjQXlISSxnQkFFRSxLQUFJLE9BQVE7RUFDViw2QkFBQTs7QUE1SFIsY0FnSUksYUFDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QXhHMUNOLGN3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLGN3R21DRSxhQUNFLGN4R3BDSDtFQUF5QixjQUFBOztBQUMxQixjd0drQ0UsYUFDRSxjeEduQ0g7RUFBK0IsY0FBQTs7QXdHdUMxQixJQUFLLGVBTFQsYUFDRTtFQUtJLGtEQUFBOztBQXRJVixjQWdJSSxhQVNFO0FBeklOLGNBZ0lJLGFBVUU7RUFDRSxjQUFBOztBQTNJUixjQStJSTtFQUNFLGNBQUE7O0FBaEpOLGNBa0pJO0VBQ0UsY0FBQTs7QUFuSk4sY0FzSkk7RUFDRSxjQUFBOztBQUtKO0VBQUE7SUFGSSxzQkFBQTs7O0FBdkpOO0VBdUZFLHlCQUFBO0VBSUUsY0FBQTs7QUEzRkosZ0JBNEZJO0VBQ0UsY0FBQTs7QUFDQSxnQkFGRixFQUVHO0FBQVEsZ0JBRlgsRUFFWTtFQUNSLGNBQUE7O0FBL0ZSLGdCQXlHSSxLQUFLLEtBQ0g7RUFDRSxjQUFBOztBQUVGLGdCQUpGLEtBQUssS0FJRixNQUVDO0FBREYsZ0JBTEYsS0FBSyxLQUtGLE9BQ0M7RUFBTSxjQUFBOztBQUVSLGdCQVJGLEtBQUssS0FRRixPQUNDO0VBQU0seUJBQUE7O0FBbEhkLGdCQXNISTtFQUNFLHlCQUFBOztBQXZITixnQkFzSEksZ0JBRUUsS0FBSSxPQUFRO0VBQ1YsNkJBQUE7O0FBekhSLGdCQTZISSxhQUNFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBeEcxQ04sZ0J3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLGdCd0dtQ0UsYUFDRSxjeEdwQ0g7RUFBeUIsY0FBQTs7QUFDMUIsZ0J3R2tDRSxhQUNFLGN4R25DSDtFQUErQixjQUFBOztBd0d1QzFCLElBQUssaUJBTFQsYUFDRTtFQUtJLGtEQUFBOztBQW5JVixnQkE2SEksYUFTRTtBQXRJTixnQkE2SEksYUFVRTtFQUNFLGNBQUE7O0FBeElSLGdCQTRJSTtFQUNFLGNBQUE7O0FBN0lOLGdCQStJSTtFQUNFLGNBQUE7O0FBaEpOLGdCQW1KSTtFQUNFLGNBQUE7O0FBS0o7RUFBQTtJQUZJLHNCQUFBOzs7QUFwSk47RUFvRkUseUJBQUE7RUFJRSxjQUFBOztBQXhGSixTQXlGSTtFQUNFLGNBQUE7O0FBQ0EsU0FGRixFQUVHO0FBQVEsU0FGWCxFQUVZO0VBQ1IsY0FBQTs7QUE1RlIsU0FzR0ksS0FBSyxLQUNIO0VBQ0UsY0FBQTs7QUFFRixTQUpGLEtBQUssS0FJRixNQUVDO0FBREYsU0FMRixLQUFLLEtBS0YsT0FDQztFQUFNLGNBQUE7O0FBRVIsU0FSRixLQUFLLEtBUUYsT0FDQztFQUFNLHlCQUFBOztBQS9HZCxTQW1ISTtFQUNFLHlCQUFBOztBQXBITixTQW1ISSxnQkFFRSxLQUFJLE9BQVE7RUFDViw2QkFBQTs7QUF0SFIsU0EwSEksYUFDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QXhHMUNOLFN3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLFN3R21DRSxhQUNFLGN4R3BDSDtFQUF5QixjQUFBOztBQUMxQixTd0drQ0UsYUFDRSxjeEduQ0g7RUFBK0IsY0FBQTs7QXdHdUMxQixJQUFLLFVBTFQsYUFDRTtFQUtJLGtEQUFBOztBQWhJVixTQTBISSxhQVNFO0FBbklOLFNBMEhJLGFBVUU7RUFDRSxjQUFBOztBQXJJUixTQXlJSTtFQUNFLGNBQUE7O0FBMUlOLFNBNElJO0VBQ0UsY0FBQTs7QUE3SU4sU0FnSkk7RUFDRSxjQUFBOztBQUtKO0VBQUE7SUFGSSxzQkFBQTs7O0FBaEpOO0VBZ0ZFLHlCQUFBO0VBSUUsY0FBQTs7QUFwRkosV0FxRkk7RUFDRSxjQUFBOztBQUNBLFdBRkYsRUFFRztBQUFRLFdBRlgsRUFFWTtFQUNSLGNBQUE7O0FBeEZSLFdBa0dJLEtBQUssS0FDSDtFQUNFLGNBQUE7O0FBRUYsV0FKRixLQUFLLEtBSUYsTUFFQztBQURGLFdBTEYsS0FBSyxLQUtGLE9BQ0M7RUFBTSxjQUFBOztBQUVSLFdBUkYsS0FBSyxLQVFGLE9BQ0M7RUFBTSx5QkFBQTs7QUEzR2QsV0ErR0k7RUFDRSx5QkFBQTs7QUFoSE4sV0ErR0ksZ0JBRUUsS0FBSSxPQUFRO0VBQ1YsNkJBQUE7O0FBbEhSLFdBc0hJLGFBQ0U7RUFDRSx5QkFBQTtFQUNBLGNBQUE7O0F4RzFDTixXd0d1Q0UsYUFDRSxjeEd4Q0g7RUFDQyxjQUFBO0VBQ0EsVUFBQTs7QUFFRixXd0dtQ0UsYUFDRSxjeEdwQ0g7RUFBeUIsY0FBQTs7QUFDMUIsV3dHa0NFLGFBQ0UsY3hHbkNIO0VBQStCLGNBQUE7O0F3R3VDMUIsSUFBSyxZQUxULGFBQ0U7RUFLSSxrREFBQTs7QUE1SFYsV0FzSEksYUFTRTtBQS9ITixXQXNISSxhQVVFO0VBQ0UsY0FBQTs7QUFqSVIsV0FxSUk7RUFDRSxjQUFBOztBQXRJTixXQXdJSTtFQUNFLGNBQUE7O0FBeklOLFdBNElJO0VBQ0UsY0FBQTs7QUFLSjtFQUFBO0lBRkksc0JBQUE7OztBQTlFSixXQUFDO0VBRUMseUJBQUE7O0FBR0YsV0FBQztFQUVDLHlCQUFBOztBQXJFSjtFQTRFRSx5QkFBQTtFQUlFLGNBQUE7O0FBaEZKLFdBaUZJO0VBQ0UsY0FBQTs7QUFDQSxXQUZGLEVBRUc7QUFBUSxXQUZYLEVBRVk7RUFDUixjQUFBOztBQXBGUixXQThGSSxLQUFLLEtBQ0g7RUFDRSxjQUFBOztBQUVGLFdBSkYsS0FBSyxLQUlGLE1BRUM7QUFERixXQUxGLEtBQUssS0FLRixPQUNDO0VBQU0sY0FBQTs7QUFFUixXQVJGLEtBQUssS0FRRixPQUNDO0VBQU0seUJBQUE7O0FBdkdkLFdBMkdJO0VBQ0UseUJBQUE7O0FBNUdOLFdBMkdJLGdCQUVFLEtBQUksT0FBUTtFQUNWLDZCQUFBOztBQTlHUixXQWtISSxhQUNFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBeEcxQ04sV3dHdUNFLGFBQ0UsY3hHeENIO0VBQ0MsY0FBQTtFQUNBLFVBQUE7O0FBRUYsV3dHbUNFLGFBQ0UsY3hHcENIO0VBQXlCLGNBQUE7O0FBQzFCLFd3R2tDRSxhQUNFLGN4R25DSDtFQUErQixjQUFBOztBd0d1QzFCLElBQUssWUFMVCxhQUNFO0VBS0ksa0RBQUE7O0FBeEhWLFdBa0hJLGFBU0U7QUEzSE4sV0FrSEksYUFVRTtFQUNFLGNBQUE7O0FBN0hSLFdBaUlJO0VBQ0UsY0FBQTs7QUFsSU4sV0FvSUk7RUFDRSxjQUFBOztBQXJJTixXQXdJSTtFQUNFLGNBQUE7O0FBS0o7RUFBQTtJQUZJLHNCQUFBOzs7QUE5RUosV0FBQztFQUVDLHlCQUFBOztBQUdGLFdBQUM7RUFFQyx5QkFBQTs7QUFqRUo7RUF3RUUseUJBQUE7RUFJRSxjQUFBOztBQTVFSixRQTZFSTtFQUNFLGNBQUE7O0FBQ0EsUUFGRixFQUVHO0FBQVEsUUFGWCxFQUVZO0VBQ1IsY0FBQTs7QUFoRlIsUUEwRkksS0FBSyxLQUNIO0VBQ0UsY0FBQTs7QUFFRixRQUpGLEtBQUssS0FJRixNQUVDO0FBREYsUUFMRixLQUFLLEtBS0YsT0FDQztFQUFNLGNBQUE7O0FBRVIsUUFSRixLQUFLLEtBUUYsT0FDQztFQUFNLHlCQUFBOztBQW5HZCxRQXVHSTtFQUNFLHlCQUFBOztBQXhHTixRQXVHSSxnQkFFRSxLQUFJLE9BQVE7RUFDViw2QkFBQTs7QUExR1IsUUE4R0ksYUFDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QXhHMUNOLFF3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLFF3R21DRSxhQUNFLGN4R3BDSDtFQUF5QixjQUFBOztBQUMxQixRd0drQ0UsYUFDRSxjeEduQ0g7RUFBK0IsY0FBQTs7QXdHdUMxQixJQUFLLFNBTFQsYUFDRTtFQUtJLGtEQUFBOztBQXBIVixRQThHSSxhQVNFO0FBdkhOLFFBOEdJLGFBVUU7RUFDRSxjQUFBOztBQXpIUixRQTZISTtFQUNFLGNBQUE7O0FBOUhOLFFBZ0lJO0VBQ0UsY0FBQTs7QUFqSU4sUUFvSUk7RUFDRSxjQUFBOztBQUtKO0VBQUE7SUFGSSxzQkFBQTs7O0FBOUVKLFFBQUM7RUFFQyx5QkFBQTs7QUFHRixRQUFDO0VBRUMseUJBQUE7O0FBN0RKO0VBb0VFLHlCQUFBO0VBSUUsY0FBQTs7QUF4RUosV0F5RUk7RUFDRSxjQUFBOztBQUNBLFdBRkYsRUFFRztBQUFRLFdBRlgsRUFFWTtFQUNSLGNBQUE7O0FBNUVSLFdBc0ZJLEtBQUssS0FDSDtFQUNFLGNBQUE7O0FBRUYsV0FKRixLQUFLLEtBSUYsTUFFQztBQURGLFdBTEYsS0FBSyxLQUtGLE9BQ0M7RUFBTSxjQUFBOztBQUVSLFdBUkYsS0FBSyxLQVFGLE9BQ0M7RUFBTSx5QkFBQTs7QUEvRmQsV0FtR0k7RUFDRSx5QkFBQTs7QUFwR04sV0FtR0ksZ0JBRUUsS0FBSSxPQUFRO0VBQ1YsNkJBQUE7O0FBdEdSLFdBMEdJLGFBQ0U7RUFDRSx5QkFBQTtFQUNBLGNBQUE7O0F4RzFDTixXd0d1Q0UsYUFDRSxjeEd4Q0g7RUFDQyxjQUFBO0VBQ0EsVUFBQTs7QUFFRixXd0dtQ0UsYUFDRSxjeEdwQ0g7RUFBeUIsY0FBQTs7QUFDMUIsV3dHa0NFLGFBQ0UsY3hHbkNIO0VBQStCLGNBQUE7O0F3R3VDMUIsSUFBSyxZQUxULGFBQ0U7RUFLSSxrREFBQTs7QUFoSFYsV0EwR0ksYUFTRTtBQW5ITixXQTBHSSxhQVVFO0VBQ0UsY0FBQTs7QUFySFIsV0F5SEk7RUFDRSxjQUFBOztBQTFITixXQTRISTtFQUNFLGNBQUE7O0FBN0hOLFdBZ0lJO0VBQ0UsY0FBQTs7QUFLSjtFQUFBO0lBRkksc0JBQUE7OztBQTlFSixXQUFDO0VBRUMseUJBQUE7O0FBR0YsV0FBQztFQUVDLHlCQUFBOztBQXpESjtFQWdFRSx5QkFBQTtFQUlFLGNBQUE7O0FBcEVKLFVBcUVJO0VBQ0UsY0FBQTs7QUFDQSxVQUZGLEVBRUc7QUFBUSxVQUZYLEVBRVk7RUFDUixjQUFBOztBQXhFUixVQWtGSSxLQUFLLEtBQ0g7RUFDRSxjQUFBOztBQUVGLFVBSkYsS0FBSyxLQUlGLE1BRUM7QUFERixVQUxGLEtBQUssS0FLRixPQUNDO0VBQU0sY0FBQTs7QUFFUixVQVJGLEtBQUssS0FRRixPQUNDO0VBQU0seUJBQUE7O0FBM0ZkLFVBK0ZJO0VBQ0UseUJBQUE7O0FBaEdOLFVBK0ZJLGdCQUVFLEtBQUksT0FBUTtFQUNWLDZCQUFBOztBQWxHUixVQXNHSSxhQUNFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBeEcxQ04sVXdHdUNFLGFBQ0UsY3hHeENIO0VBQ0MsY0FBQTtFQUNBLFVBQUE7O0FBRUYsVXdHbUNFLGFBQ0UsY3hHcENIO0VBQXlCLGNBQUE7O0FBQzFCLFV3R2tDRSxhQUNFLGN4R25DSDtFQUErQixjQUFBOztBd0d1QzFCLElBQUssV0FMVCxhQUNFO0VBS0ksa0RBQUE7O0FBNUdWLFVBc0dJLGFBU0U7QUEvR04sVUFzR0ksYUFVRTtFQUNFLGNBQUE7O0FBakhSLFVBcUhJO0VBQ0UsY0FBQTs7QUF0SE4sVUF3SEk7RUFDRSxjQUFBOztBQXpITixVQTRISTtFQUNFLGNBQUE7O0FBS0o7RUFBQTtJQUZJLHNCQUFBOzs7QUE5RUosVUFBQztFQUVDLHlCQUFBOztBQUdGLFVBQUM7RUFFQyx5QkFBQTs7QUFyREo7RUE0REUseUJBQUE7RUFJRSxjQUFBOztBQWhFSixhQWlFSTtFQUNFLGNBQUE7O0FBQ0EsYUFGRixFQUVHO0FBQVEsYUFGWCxFQUVZO0VBQ1IsY0FBQTs7QUFwRVIsYUE4RUksS0FBSyxLQUNIO0VBQ0UsY0FBQTs7QUFFRixhQUpGLEtBQUssS0FJRixNQUVDO0FBREYsYUFMRixLQUFLLEtBS0YsT0FDQztFQUFNLGNBQUE7O0FBRVIsYUFSRixLQUFLLEtBUUYsT0FDQztFQUFNLHlCQUFBOztBQXZGZCxhQTJGSTtFQUNFLHlCQUFBOztBQTVGTixhQTJGSSxnQkFFRSxLQUFJLE9BQVE7RUFDViw2QkFBQTs7QUE5RlIsYUFrR0ksYUFDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QXhHMUNOLGF3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLGF3R21DRSxhQUNFLGN4R3BDSDtFQUF5QixjQUFBOztBQUMxQixhd0drQ0UsYUFDRSxjeEduQ0g7RUFBK0IsY0FBQTs7QXdHdUMxQixJQUFLLGNBTFQsYUFDRTtFQUtJLGtEQUFBOztBQXhHVixhQWtHSSxhQVNFO0FBM0dOLGFBa0dJLGFBVUU7RUFDRSxjQUFBOztBQTdHUixhQWlISTtFQUNFLGNBQUE7O0FBbEhOLGFBb0hJO0VBQ0UsY0FBQTs7QUFySE4sYUF3SEk7RUFDRSxjQUFBOztBQUtKO0VBQUE7SUFGSSxzQkFBQTs7O0FBOUVKLGFBQUM7RUFFQyx5QkFBQTs7QUFHRixhQUFDO0VBRUMseUJBQUE7O0FBakRKO0VBd0RFLHlCQUFBO0VBSUUsY0FBQTs7QUE1REosUUE2REk7RUFDRSxjQUFBOztBQUNBLFFBRkYsRUFFRztBQUFRLFFBRlgsRUFFWTtFQUNSLGNBQUE7O0FBaEVSLFFBMEVJLEtBQUssS0FDSDtFQUNFLGNBQUE7O0FBRUYsUUFKRixLQUFLLEtBSUYsTUFFQztBQURGLFFBTEYsS0FBSyxLQUtGLE9BQ0M7RUFBTSxjQUFBOztBQUVSLFFBUkYsS0FBSyxLQVFGLE9BQ0M7RUFBTSx5QkFBQTs7QUFuRmQsUUF1Rkk7RUFDRSx5QkFBQTs7QUF4Rk4sUUF1RkksZ0JBRUUsS0FBSSxPQUFRO0VBQ1YsNkJBQUE7O0FBMUZSLFFBOEZJLGFBQ0U7RUFDRSx5QkFBQTtFQUNBLGNBQUE7O0F4RzFDTixRd0d1Q0UsYUFDRSxjeEd4Q0g7RUFDQyxjQUFBO0VBQ0EsVUFBQTs7QUFFRixRd0dtQ0UsYUFDRSxjeEdwQ0g7RUFBeUIsY0FBQTs7QUFDMUIsUXdHa0NFLGFBQ0UsY3hHbkNIO0VBQStCLGNBQUE7O0F3R3VDMUIsSUFBSyxTQUxULGFBQ0U7RUFLSSxrREFBQTs7QUFwR1YsUUE4RkksYUFTRTtBQXZHTixRQThGSSxhQVVFO0VBQ0UsY0FBQTs7QUF6R1IsUUE2R0k7RUFDRSxjQUFBOztBQTlHTixRQWdISTtFQUNFLGNBQUE7O0FBakhOLFFBb0hJO0VBQ0UsY0FBQTs7QUFLSjtFQUFBO0lBRkksc0JBQUE7OztBQTlFSixRQUFDO0VBRUMseUJBQUE7O0FBR0YsUUFBQztFQUVDLHlCQUFBOztBQTdDSjtFQW9ERSx5QkFBQTtFQUlFLGNBQUE7O0FBeERKLFVBeURJO0VBQ0UsY0FBQTs7QUFDQSxVQUZGLEVBRUc7QUFBUSxVQUZYLEVBRVk7RUFDUixjQUFBOztBQTVEUixVQXNFSSxLQUFLLEtBQ0g7RUFDRSxjQUFBOztBQUVGLFVBSkYsS0FBSyxLQUlGLE1BRUM7QUFERixVQUxGLEtBQUssS0FLRixPQUNDO0VBQU0sY0FBQTs7QUFFUixVQVJGLEtBQUssS0FRRixPQUNDO0VBQU0seUJBQUE7O0FBL0VkLFVBbUZJO0VBQ0UseUJBQUE7O0FBcEZOLFVBbUZJLGdCQUVFLEtBQUksT0FBUTtFQUNWLDZCQUFBOztBQXRGUixVQTBGSSxhQUNFO0VBQ0UseUJBQUE7RUFDQSxjQUFBOztBeEcxQ04sVXdHdUNFLGFBQ0UsY3hHeENIO0VBQ0MsY0FBQTtFQUNBLFVBQUE7O0FBRUYsVXdHbUNFLGFBQ0UsY3hHcENIO0VBQXlCLGNBQUE7O0FBQzFCLFV3R2tDRSxhQUNFLGN4R25DSDtFQUErQixjQUFBOztBd0d1QzFCLElBQUssV0FMVCxhQUNFO0VBS0ksa0RBQUE7O0FBaEdWLFVBMEZJLGFBU0U7QUFuR04sVUEwRkksYUFVRTtFQUNFLGNBQUE7O0FBckdSLFVBeUdJO0VBQ0UsY0FBQTs7QUExR04sVUE0R0k7RUFDRSxjQUFBOztBQTdHTixVQWdISTtFQUNFLGNBQUE7O0FBS0o7RUFBQTtJQUZJLHNCQUFBOzs7QUE5RUosVUFBQztFQUVDLHlCQUFBOztBQUdGLFVBQUM7RUFFQyx5QkFBQTs7QUF6Q0o7RUFnREUseUJBQUE7RUFJRSxjQUFBOztBQXBESixXQXFESTtFQUNFLGNBQUE7O0FBQ0EsV0FGRixFQUVHO0FBQVEsV0FGWCxFQUVZO0VBQ1IsY0FBQTs7QUF4RFIsV0FrRUksS0FBSyxLQUNIO0VBQ0UsY0FBQTs7QUFFRixXQUpGLEtBQUssS0FJRixNQUVDO0FBREYsV0FMRixLQUFLLEtBS0YsT0FDQztFQUFNLGNBQUE7O0FBRVIsV0FSRixLQUFLLEtBUUYsT0FDQztFQUFNLHlCQUFBOztBQTNFZCxXQStFSTtFQUNFLHlCQUFBOztBQWhGTixXQStFSSxnQkFFRSxLQUFJLE9BQVE7RUFDViw2QkFBQTs7QUFsRlIsV0FzRkksYUFDRTtFQUNFLHlCQUFBO0VBQ0EsY0FBQTs7QXhHMUNOLFd3R3VDRSxhQUNFLGN4R3hDSDtFQUNDLGNBQUE7RUFDQSxVQUFBOztBQUVGLFd3R21DRSxhQUNFLGN4R3BDSDtFQUF5QixjQUFBOztBQUMxQixXd0drQ0UsYUFDRSxjeEduQ0g7RUFBK0IsY0FBQTs7QXdHdUMxQixJQUFLLFlBTFQsYUFDRTtFQUtJLGtEQUFBOztBQTVGVixXQXNGSSxhQVNFO0FBL0ZOLFdBc0ZJLGFBVUU7RUFDRSxjQUFBOztBQWpHUixXQXFHSTtFQUNFLGNBQUE7O0FBdEdOLFdBd0dJO0VBQ0UsY0FBQTs7QUF6R04sV0E0R0k7RUFDRSxjQUFBOztBQUtKO0VBQUE7SUFGSSxzQkFBQTs7O0FBOUVKLFdBQUM7RUFFQyx5QkFBQTs7QUFHRixXQUFDO0VBRUMseUJBQUE7O0FBckNKO0VBNENFLHlCQUFBO0VBSUUsY0FBQTs7QUFoREosVUFpREk7RUFDRSxjQUFBOztBQUNBLFVBRkYsRUFFRztBQUFRLFVBRlgsRUFFWTtFQUNSLGNBQUE7O0FBcERSLFVBOERJLEtBQUssS0FDSDtFQUNFLGNBQUE7O0FBRUYsVUFKRixLQUFLLEtBSUYsTUFFQztBQURGLFVBTEYsS0FBSyxLQUtGLE9BQ0M7RUFBTSxjQUFBOztBQUVSLFVBUkYsS0FBSyxLQVFGLE9BQ0M7RUFBTSx5QkFBQTs7QUF2RWQsVUEyRUk7RUFDRSx5QkFBQTs7QUE1RU4sVUEyRUksZ0JBRUUsS0FBSSxPQUFRO0VBQ1YsNkJBQUE7O0FBOUVSLFVBa0ZJLGFBQ0U7RUFDRSx5QkFBQTtFQUNBLGNBQUE7O0F4RzFDTixVd0d1Q0UsYUFDRSxjeEd4Q0g7RUFDQyxjQUFBO0VBQ0EsVUFBQTs7QUFFRixVd0dtQ0UsYUFDRSxjeEdwQ0g7RUFBeUIsY0FBQTs7QUFDMUIsVXdHa0NFLGFBQ0UsY3hHbkNIO0VBQStCLGNBQUE7O0F3R3VDMUIsSUFBSyxXQUxULGFBQ0U7RUFLSSxrREFBQTs7QUF4RlYsVUFrRkksYUFTRTtBQTNGTixVQWtGSSxhQVVFO0VBQ0UsY0FBQTs7QUE3RlIsVUFpR0k7RUFDRSxjQUFBOztBQWxHTixVQW9HSTtFQUNFLGNBQUE7O0FBckdOLFVBd0dJO0VBQ0UsY0FBQTs7QUFLSjtFQUFBO0lBRkksc0JBQUE7OztBQTlFSixVQUFDO0VBRUMseUJBQUE7O0FBR0YsVUFBQztFQUVDLHlCQUFBOzs7OztBaEJoREo7RUFBTSxvQkFBQTs7QUFDTjtFQUFPLHlCQUFBOztBQUNQO0VBQU8sMEJBQUE7O0FBQ1A7RUFBTyx3QkFBQTs7QUFDUDtFQUFPLDJCQUFBOztBQUVQO0VBQU0sWUFBQTs7QUFDTjtBQXlCQTtFQXpCTSxpQkFBQTs7QUFDTjtBQXdCQTtFQXhCTSxrQkFBQTs7QUFDTjtBQXNCQTtFQXRCTSxnQkFBQTs7QUFDTjtBQXFCQTtFQXJCTSxtQkFBQTs7QUFFTjtFQUFTLFdBQUE7O0FBQ1Q7QUF5QkE7RUF6QlMsZ0JBQUE7O0FBQ1Q7QUF3QkE7RUF4QlMsaUJBQUE7O0FBQ1Q7QUFzQkE7RUF0QlMsZUFBQTs7QUFDVDtBQXFCQTtFQXJCUyxrQkFBQTs7QUFFVDtFQUFTLFlBQUE7O0FBQ1Q7QUFnQkE7RUFoQlMsaUJBQUE7O0FBQ1Q7QUFlQTtFQWZTLGtCQUFBOztBQUNUO0FBYUE7RUFiUyxnQkFBQTs7QUFDVDtBQVlBO0VBWlMsbUJBQUE7O0FBRVQ7RUFBUyxZQUFBOztBQUNUO0VBQVMsaUJBQUE7O0FBQ1Q7RUFBUyxrQkFBQTs7QUFDVDtFQUFTLGdCQUFBOztBQUNUO0VBQVMsbUJBQUE7O0FBZVQ7RUFBTSxxQkFBQTs7QUFDTjtBQUtBO0VBTE8sMEJBQUE7O0FBQ1A7QUFJQTtFQUpPLDJCQUFBOztBQUNQO0FBRUE7RUFGTyx5QkFBQTs7QUFDUDtBQUNBO0VBRE8sNEJBQUE7O0FBSVA7RUFBTSxhQUFBOztBQUNOO0FBMEJBO0VBMUJNLGtCQUFBOztBQUNOO0FBeUJBO0VBekJNLG1CQUFBOztBQUNOO0FBdUJBO0VBdkJNLGlCQUFBOztBQUNOO0FBc0JBO0VBdEJNLG9CQUFBOztBQUVOO0VBQVMsWUFBQTs7QUFDVDtBQTZCQTtFQTdCUyxpQkFBQTs7QUFDVDtBQTRCQTtFQTVCUyxrQkFBQTs7QUFDVDtBQTBCQTtFQTFCUyxnQkFBQTs7QUFDVDtBQXlCQTtFQXpCUyxtQkFBQTs7QUFFVDtFQUFTLGFBQUE7O0FBQ1Q7QUFvQkE7RUFwQlMsa0JBQUE7O0FBQ1Q7QUFtQkE7RUFuQlMsbUJBQUE7O0FBQ1Q7QUFpQkE7RUFqQlMsaUJBQUE7O0FBQ1Q7QUFnQkE7RUFoQlMsb0JBQUE7O0FBRVQ7RUFBUyxhQUFBOztBQUNUO0FBV0E7RUFYUyxrQkFBQTs7QUFDVDtBQVVBO0VBVlMsbUJBQUE7O0FBQ1Q7QUFRQTtFQVJTLGlCQUFBOztBQUNUO0FBT0E7RUFQUyxvQkFBQTs7QUFvQlQ7RUFBTSwwQkFBQTs7QUFDTjtFQUFPLCtCQUFBOztBQUNQO0VBQU8sZ0NBQUE7O0FBQ1A7RUFBTyw4QkFBQTs7QUFDUDtFQUFPLGlDQUFBOztBQUVQO0FBSUE7RUFKTSwrQkFBQTs7QUFDTjtBQUdBO0VBSE0sOEJBQUE7O0FBQ047QUFFQTtFQUZNLDZCQUFBOztBQUNOO0FBQ0E7RUFETSxnQ0FBQTs7QUF1QkYsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4QkFBQTs7QUFFVCxDQUFDO0VBQVEsNkJBQUE7O0FBRVgsQ0FBQztFQUFRLGdDQUFBOztBQU5QLENBQUM7RUFBUSwrQkFBQTs7QUFFVCxDQUFDO0VBQVEsOEJBQUE7O0FBRVQsQ0FBQztFQUFRLDZCQUFBOztBQUVYLENBQUM7RUFBUSxnQ0FBQTs7QUFOUCxDQUFDO0VBQVEsK0JBQUE7O0FBRVQsQ0FBQztFQUFRLDhCQUFBOztBQUVULENBQUM7RUFBUSw2QkFBQTs7QUFFWCxDQUFDO0VBQVEsZ0NBQUE7O0FBTlAsQ0FBQztFQUFRLCtCQUFBOztBQUVULENBQUM7RUFBUSw4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QUFHSjtFQUNJLG9DQUFBO0VBQ0Esc0JBQUE7O0FBR0osR0FBRyxnQkFBZ0IsVUFBVyxHQUFFO0VBQzVCLGFBQUE7RUFDQSxnQkFBQTtFQUNBLGNBQUE7RUFDQSxrQkFBQTs7QUFHSixJQUFJLFNBQVUsSUFBRztFQUNiLHdCQUFBOztBQURKLElBQUksU0FBVSxJQUFHLFdBR2I7RUFDSSxpQkFBQTs7QUFKUixJQUFJLFNBQVUsSUFBRyxXQUdiLEtBR0k7RUFDSSxZQUFBO0VBQ0EsaUJBQUE7O0FBUlosSUFBSSxTQUFVLElBQUcsV0FZYixPQUFNO0VBQ0YsYUFBQTtFQUNBLFlBQUE7O0FBS1IsR0FBRyxjQUFlLEtBRWQ7RUFDSSxXQUFBO0VBQ0EsU0FBQTs7QUFJUixjQUFlO0VBQ1gsZ0JBQUE7O0FBREosY0FBZSxLQUdYO0VBQ0ksYUFBQSIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogYW5pbWF0ZS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuQGFuaW1hdGUtZmFkZS1kaXN0YW5jZTogMThweDtcclxuXHJcbkBhbmltYXRlLWRlZmF1bHQtZHVyYXRpb246IC41cztcclxuQGFuaW1hdGUtdmlldy1kdXJhdGlvbjogLjM1cztcclxuXHJcbi8vIEFuZ3VsYXIgc3RhbmRhcmQgYW5pbWF0aW9uIHN0YXRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5bdWktdmlld10ubmctbGVhdmUge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgICYubmctZmx1aWQge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxufVxyXG5cclxuLm5nLWZsdWlkLm5nLWFuaW1hdGUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuXHJcbn1cclxuXHJcbi8vIEFuaW1hdGlvbnMgYWRhcHRlZCBmb3IgbmdBbmltYXRlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLm5nLWZhZGVJbkxlZnQyIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5MZWZ0MiBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHQgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJbiB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluIEBhbmltYXRlLXZpZXctZHVyYXRpb24pOyAgfVxyXG4gICYubmctbGVhdmUgeyAuYW5pbWF0aW9uKGZhZGVPdXQgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblVwIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5VcCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0RG93biBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgfVxyXG59XHJcblxyXG4ubmctZmFkZUluRG93biB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluRG93biBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0VXAgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblJpZ2h0IHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5SaWdodCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0TGVmdCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgfVxyXG59XHJcblxyXG4ubmctZmFkZUluTGVmdCB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluTGVmdCBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHQgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblVwQmlnIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5Eb3duQmlnIEBhbmltYXRlLXZpZXctZHVyYXRpb24pOyAgfVxyXG4gICYubmctbGVhdmUgeyAuYW5pbWF0aW9uKGZhZGVPdXREb3duQmlnIEBhbmltYXRlLXZpZXctZHVyYXRpb24pOyB9XHJcbn1cclxuXHJcbi5uZy1mYWRlSW5Eb3duQmlnIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5VcEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0VXBCaWcgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVJblJpZ2h0QmlnIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbihmYWRlSW5SaWdodEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0TGVmdEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgfVxyXG59XHJcblxyXG4ubmctZmFkZUluTGVmdEJpZyB7XHJcbiAgJi5uZy1lbnRlciB7IC5hbmltYXRpb24oZmFkZUluTGVmdEJpZyBAYW5pbWF0ZS12aWV3LWR1cmF0aW9uKTsgIH1cclxuICAmLm5nLWxlYXZlIHsgLmFuaW1hdGlvbihmYWRlT3V0UmlnaHRCaWcgQGFuaW1hdGUtdmlldy1kdXJhdGlvbik7IH1cclxufVxyXG5cclxuLm5nLWZhZGVPdXRab29tIHtcclxuICAmLm5nLWVudGVyIHsgLmFuaW1hdGlvbih6b29tSW4gMXMgQGVhc2VPdXRRdWludCk7ICB9XHJcbiAgJi5uZy1sZWF2ZSB7IC5hbmltYXRpb24oZmFkZU91dCAxcyBAZWFzZU91dFF1aW50KTsgfVxyXG59XHJcblxyXG5cclxuLy8gQW5pbWF0ZS5jc3MgLSBodHRwOi8vZGFuZWRlbi5tZS9hbmltYXRlICBcclxuLy8gYW5pbW8gc3VwcG9ydFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbi5hbmltYXRlZCB7XHJcbiAgLXdlYmtpdC1hbmltYXRpb24tZHVyYXRpb246IEBhbmltYXRlLWRlZmF1bHQtZHVyYXRpb247XHJcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAYW5pbWF0ZS1kZWZhdWx0LWR1cmF0aW9uO1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLWZpbGwtbW9kZTogYm90aDtcclxuICBhbmltYXRpb24tZmlsbC1tb2RlOiBib3RoO1xyXG59XHJcblxyXG4uZmFkZUluTGVmdDIge1xyXG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IGZhZGVJbkxlZnQyO1xyXG4gIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5MZWZ0MjtcclxufSAgXHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgZmFkZUluTGVmdDIge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUBhbmltYXRlLWZhZGUtZGlzdGFuY2UsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQGFuaW1hdGUtZmFkZS1kaXN0YW5jZSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgZmFkZUluTGVmdDIge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUBhbmltYXRlLWZhZGUtZGlzdGFuY2UsIDAsIDApO1xyXG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLUBhbmltYXRlLWZhZGUtZGlzdGFuY2UsIDAsIDApO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtQGFuaW1hdGUtZmFkZS1kaXN0YW5jZSwgMCwgMCk7XHJcbiAgfVxyXG5cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XHJcbiAgICB0cmFuc2Zvcm06IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBUaW1pbmcgZnVuY3Rpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLy8gQ3ViaWNcclxuQGVhc2VJbkN1YmljOiAgY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA1NSwgMC42NzUsIDAuMTkwKTtcclxuQGVhc2VPdXRDdWJpYzogIGN1YmljLWJlemllcigwLjIxNSwgMC42MTAsIDAuMzU1LCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRDdWJpYyA6ICBjdWJpYy1iZXppZXIoMC42NDUsIDAuMDQ1LCAwLjM1NSwgMS4wMDApO1xyXG5cclxuLy8gQ2lyY1xyXG5AZWFzZUluQ2lyYzogIGN1YmljLWJlemllcigwLjYwMCwgMC4wNDAsIDAuOTgwLCAwLjMzNSk7XHJcbkBlYXNlT3V0Q2lyYzogIGN1YmljLWJlemllcigwLjA3NSwgMC44MjAsIDAuMTY1LCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRDaXJjOiAgY3ViaWMtYmV6aWVyKDAuNzg1LCAwLjEzNSwgMC4xNTAsIDAuODYwKTtcclxuXHJcbi8vIEV4cG9cclxuQGVhc2VJbkV4cG86ICBjdWJpYy1iZXppZXIoMC45NTAsIDAuMDUwLCAwLjc5NSwgMC4wMzUpO1xyXG5AZWFzZU91dEV4cG86ICBjdWJpYy1iZXppZXIoMC4xOTAsIDEuMDAwLCAwLjIyMCwgMS4wMDApO1xyXG5AZWFzZUluT3V0RXhwbzogIGN1YmljLWJlemllcigxLjAwMCwgMC4wMDAsIDAuMDAwLCAxLjAwMCk7XHJcblxyXG4vLyBRdWFkXHJcbkBlYXNlSW5RdWFkOiAgY3ViaWMtYmV6aWVyKDAuNTUwLCAwLjA4NSwgMC42ODAsIDAuNTMwKTtcclxuQGVhc2VPdXRRdWFkOiAgY3ViaWMtYmV6aWVyKDAuMjUwLCAwLjQ2MCwgMC40NTAsIDAuOTQwKTtcclxuQGVhc2VJbk91dFF1YWQ6ICBjdWJpYy1iZXppZXIoMC40NTUsIDAuMDMwLCAwLjUxNSwgMC45NTUpO1xyXG5cclxuLy8gUXVhcnRcclxuQGVhc2VJblF1YXJ0OiAgY3ViaWMtYmV6aWVyKDAuODk1LCAwLjAzMCwgMC42ODUsIDAuMjIwKTtcclxuQGVhc2VPdXRRdWFydDogIGN1YmljLWJlemllcigwLjE2NSwgMC44NDAsIDAuNDQwLCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRRdWFydCA6ICBjdWJpYy1iZXppZXIoMC43NzAsIDAuMDAwLCAwLjE3NSwgMS4wMDApO1xyXG5cclxuLy8gUXVpbnRcclxuQGVhc2VJblF1aW50OiAgY3ViaWMtYmV6aWVyKDAuNzU1LCAwLjA1MCwgMC44NTUsIDAuMDYwKTtcclxuQGVhc2VPdXRRdWludDogIGN1YmljLWJlemllcigwLjIzMCwgMS4wMDAsIDAuMzIwLCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRRdWludCA6ICBjdWJpYy1iZXppZXIoMC44NjAsIDAuMDAwLCAwLjA3MCwgMS4wMDApO1xyXG5cclxuLy8gU2luZVxyXG5AZWFzZUluU2luZTogIGN1YmljLWJlemllcigwLjQ3MCwgMC4wMDAsIDAuNzQ1LCAwLjcxNSk7XHJcbkBlYXNlT3V0U2luZTogIGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCk7XHJcbkBlYXNlSW5PdXRTaW5lOiAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcclxuXHJcbi8vIEJhY2tcclxuQGVhc2VJbkJhY2s6ICBjdWJpYy1iZXppZXIoMC42MDAsIC0wLjI4MCwgMC43MzUsIDAuMDQ1KTtcclxuQGVhc2VPdXRCYWNrOiAgY3ViaWMtYmV6aWVyKDAuMTc1LCAgMC44ODUsIDAuMzIwLCAxLjI3NSk7XHJcbkBlYXNlSW5PdXRCYWNrOiAgY3ViaWMtYmV6aWVyKDAuNjgwLCAtMC41NTAsIDAuMjY1LCAxLjU1MCk7IiwiLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4vL1xuLy8gMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbi8vIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4vLyAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4vL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8vIDFcbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8vIDJcbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4vL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLyBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4vLyBhbmQgRmlyZWZveC5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4vL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4vL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8vIDFcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLyAyXG59XG5cbi8vXG4vLyBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuLy8gUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbi8vXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbi8vIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbi8vXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBMaW5rc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy9cbi8vIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuLy9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vL1xuLy8gSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuLy8gYWN0aXZlL2hvdmVyIHN0YXRlLlxuLy9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gVGV4dC1sZXZlbCBzZW1hbnRpY3Ncbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8vXG4vLyBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4vLyBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4vL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbi8vXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLy9cbi8vIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuLy9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLy9cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8vIEVtYmVkZGVkIGNvbnRlbnRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbi8vXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLy9cbi8vIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuLy9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4vL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vL1xuLy8gQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuLy9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vL1xuLy8gQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4vL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbi8vXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLy8gRm9ybXNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vXG4vLyBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuLy8gc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuLy9cblxuLy9cbi8vIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuLy8gMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbi8vIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuLy9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8vIDFcbiAgZm9udDogaW5oZXJpdDsgLy8gMlxuICBtYXJnaW46IDA7IC8vIDNcbn1cblxuLy9cbi8vIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuLy9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8vXG4vLyBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4vLyBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuLy8gQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbi8vIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbi8vXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vL1xuLy8gMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2Bcbi8vICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbi8vICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbi8vXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gMVxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gIGN1cnNvcjogcG9pbnRlcjsgLy8gM1xufVxuXG4vL1xuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbi8vXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbi8vXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vL1xuLy8gQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuLy8gdGhlIFVBIHN0eWxlc2hlZXQuXG4vL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8vXG4vLyBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4vLyBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuLy9cbi8vIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4vLyAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuLy9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuLy8gYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbi8vIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbi8vXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vL1xuLy8gMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4vLyAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyAxXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvLzJcbn1cblxuLy9cbi8vIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuLy8gU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuLy8gcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuLy9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8vXG4vLyBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4vL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLy9cbi8vIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbi8vIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbi8vXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLy8gMVxuICBwYWRkaW5nOiAwOyAvLyAyXG59XG5cbi8vXG4vLyBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuLy9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLy9cbi8vIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbi8vIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuLy9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLy8gVGFibGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vL1xuLy8gUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuLy9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvKiEgU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9ibG9iL21hc3Rlci9zcmMvY3NzL21haW4uY3NzICovXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBQcmludCBzdHlsZXMuXG4vLyBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDogaDVicC5jb20vclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgIGFbaHJlZl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgICB9XG5cbiAgICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjtcbiAgICB9XG5cbiAgICAvLyBEb24ndCBzaG93IGxpbmtzIHRoYXQgYXJlIGZyYWdtZW50IGlkZW50aWZpZXJzLFxuICAgIC8vIG9yIHVzZSB0aGUgYGphdmFzY3JpcHQ6YCBwc2V1ZG8gcHJvdG9jb2xcbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG4gICAgfVxuXG4gICAgdHIsXG4gICAgaW1nIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBvcnBoYW5zOiAzO1xuICAgICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBzdGFydFxuXG4gICAgLy8gQm9vdHN0cmFwIGNvbXBvbmVudHNcbiAgICAubmF2YmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgLmJ0bixcbiAgICAuZHJvcHVwID4gLmJ0biB7XG4gICAgICAgID4gLmNhcmV0IHtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGFiZWwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIH1cblxuICAgIC50YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2UgIWltcG9ydGFudDtcblxuICAgICAgICB0ZCxcbiAgICAgICAgdGgge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC50YWJsZS1ib3JkZXJlZCB7XG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCb290c3RyYXAgc3BlY2lmaWMgY2hhbmdlcyBlbmRcbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBSZXNldCB0aGUgYm94LXNpemluZ1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIHJlc2V0IG1heSBjYXVzZSBjb25mbGljdHMgd2l0aCBzb21lIHRoaXJkLXBhcnR5IHdpZGdldHMuXG4vLyBGb3IgcmVjb21tZW5kYXRpb25zIG9uIHJlc29sdmluZyBzdWNoIGNvbmZsaWN0cywgc2VlXG4vLyBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3RoaXJkLWJveC1zaXppbmdcbioge1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cbio6YmVmb3JlLFxuKjphZnRlciB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG5cbi8vIEJvZHkgcmVzZXRcblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiByZ2JhKDAsMCwwLDApO1xufVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1iYXNlO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQHRleHQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBib2R5LWJnO1xufVxuXG4vLyBSZXNldCBmb250cyBmb3IgcmVsZXZhbnQgZWxlbWVudHNcbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuXG4vLyBMaW5rc1xuXG5hIHtcbiAgY29sb3I6IEBsaW5rLWNvbG9yO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6IEBsaW5rLWhvdmVyLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogQGxpbmstaG92ZXItZGVjb3JhdGlvbjtcbiAgfVxuXG4gICY6Zm9jdXMge1xuICAgIC50YWItZm9jdXMoKTtcbiAgfVxufVxuXG5cbi8vIEZpZ3VyZXNcbi8vXG4vLyBXZSByZXNldCB0aGlzIGhlcmUgYmVjYXVzZSBwcmV2aW91c2x5IE5vcm1hbGl6ZSBoYWQgbm8gYGZpZ3VyZWAgbWFyZ2lucy4gVGhpc1xuLy8gZW5zdXJlcyB3ZSBkb24ndCBicmVhayBhbnlvbmUncyB1c2Ugb2YgdGhlIGVsZW1lbnQuXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuXG4vLyBJbWFnZXNcblxuaW1nIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLy8gUmVzcG9uc2l2ZSBpbWFnZXMgKGVuc3VyZSBpbWFnZXMgZG9uJ3Qgc2NhbGUgYmV5b25kIHRoZWlyIHBhcmVudHMpXG4uaW1nLXJlc3BvbnNpdmUge1xuICAuaW1nLXJlc3BvbnNpdmUoKTtcbn1cblxuLy8gUm91bmRlZCBjb3JuZXJzXG4uaW1nLXJvdW5kZWQge1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbn1cblxuLy8gSW1hZ2UgdGh1bWJuYWlsc1xuLy9cbi8vIEhlYWRzIHVwISBUaGlzIGlzIG1peGluLWVkIGludG8gdGh1bWJuYWlscy5sZXNzIGZvciBgLnRodW1ibmFpbGAuXG4uaW1nLXRodW1ibmFpbCB7XG4gIHBhZGRpbmc6IEB0aHVtYm5haWwtcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGh1bWJuYWlsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogQHRodW1ibmFpbC1ib3JkZXItcmFkaXVzO1xuICAudHJhbnNpdGlvbihhbGwgLjJzIGVhc2UtaW4tb3V0KTtcblxuICAvLyBLZWVwIHRoZW0gYXQgbW9zdCAxMDAlIHdpZGVcbiAgLmltZy1yZXNwb25zaXZlKGlubGluZS1ibG9jayk7XG59XG5cbi8vIFBlcmZlY3QgY2lyY2xlXG4uaW1nLWNpcmNsZSB7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTsgLy8gc2V0IHJhZGl1cyBpbiBwZXJjZW50c1xufVxuXG5cbi8vIEhvcml6b250YWwgcnVsZXNcblxuaHIge1xuICBtYXJnaW4tdG9wOiAgICBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgQGhyLWJvcmRlcjtcbn1cblxuXG4vLyBPbmx5IGRpc3BsYXkgY29udGVudCB0byBzY3JlZW4gcmVhZGVyc1xuLy9cbi8vIFNlZTogaHR0cDovL2ExMXlwcm9qZWN0LmNvbS9wb3N0cy9ob3ctdG8taGlkZS1jb250ZW50L1xuXG4uc3Itb25seSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogLTFweDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLDAsMCwwKTtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAuc3Itb25seSB0byBvbmx5IGRpc3BsYXkgY29udGVudCB3aGVuIGl0J3MgZm9jdXNlZC5cbi8vIFVzZWZ1bCBmb3IgXCJTa2lwIHRvIG1haW4gY29udGVudFwiIGxpbmtzOyBzZWUgaHR0cDovL3d3dy53My5vcmcvVFIvMjAxMy9OT1RFLVdDQUcyMC1URUNIUy0yMDEzMDkwNS9HMVxuLy8gQ3JlZGl0OiBIVE1MNSBCb2lsZXJwbGF0ZVxuXG4uc3Itb25seS1mb2N1c2FibGUge1xuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIGNsaXA6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBpT1MgXCJjbGlja2FibGUgZWxlbWVudHNcIiBmaXggZm9yIHJvbGU9XCJidXR0b25cIlxuLy9cbi8vIEZpeGVzIFwiY2xpY2thYmlsaXR5XCIgaXNzdWUgKGFuZCBtb3JlIGdlbmVyYWxseSwgdGhlIGZpcmluZyBvZiBldmVudHMgc3VjaCBhcyBmb2N1cyBhcyB3ZWxsKVxuLy8gZm9yIHRyYWRpdGlvbmFsbHkgbm9uLWZvY3VzYWJsZSBlbGVtZW50cyB3aXRoIHJvbGU9XCJidXR0b25cIlxuLy8gc2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG5cbltyb2xlPVwiYnV0dG9uXCJdIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuIiwiLy8gVmVuZG9yIFByZWZpeGVzXG4vL1xuLy8gQWxsIHZlbmRvciBtaXhpbnMgYXJlIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMi4wIGR1ZSB0byB0aGUgaW50cm9kdWN0aW9uIG9mXG4vLyBBdXRvcHJlZml4ZXIgaW4gb3VyIEdydW50ZmlsZS4gVGhleSB3aWxsIGJlIHJlbW92ZWQgaW4gdjQuXG5cbi8vIC0gQW5pbWF0aW9uc1xuLy8gLSBCYWNrZmFjZSB2aXNpYmlsaXR5XG4vLyAtIEJveCBzaGFkb3dcbi8vIC0gQm94IHNpemluZ1xuLy8gLSBDb250ZW50IGNvbHVtbnNcbi8vIC0gSHlwaGVuc1xuLy8gLSBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtIFRyYW5zZm9ybWF0aW9uc1xuLy8gLSBUcmFuc2l0aW9uc1xuLy8gLSBVc2VyIFNlbGVjdFxuXG5cbi8vIEFuaW1hdGlvbnNcbi5hbmltYXRpb24oQGFuaW1hdGlvbikge1xuICAtd2Via2l0LWFuaW1hdGlvbjogQGFuaW1hdGlvbjtcbiAgICAgICAtby1hbmltYXRpb246IEBhbmltYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uOiBAYW5pbWF0aW9uO1xufVxuLmFuaW1hdGlvbi1uYW1lKEBuYW1lKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLW5hbWU6IEBuYW1lO1xuICAgICAgICAgIGFuaW1hdGlvbi1uYW1lOiBAbmFtZTtcbn1cbi5hbmltYXRpb24tZHVyYXRpb24oQGR1cmF0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG4gICAgICAgICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBAZHVyYXRpb247XG59XG4uYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogQHRpbWluZy1mdW5jdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBAdGltaW5nLWZ1bmN0aW9uO1xufVxuLmFuaW1hdGlvbi1kZWxheShAZGVsYXkpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IEBkZWxheTtcbiAgICAgICAgICBhbmltYXRpb24tZGVsYXk6IEBkZWxheTtcbn1cbi5hbmltYXRpb24taXRlcmF0aW9uLWNvdW50KEBpdGVyYXRpb24tY291bnQpIHtcbiAgLXdlYmtpdC1hbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBAaXRlcmF0aW9uLWNvdW50O1xuICAgICAgICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IEBpdGVyYXRpb24tY291bnQ7XG59XG4uYW5pbWF0aW9uLWRpcmVjdGlvbihAZGlyZWN0aW9uKSB7XG4gIC13ZWJraXQtYW5pbWF0aW9uLWRpcmVjdGlvbjogQGRpcmVjdGlvbjtcbiAgICAgICAgICBhbmltYXRpb24tZGlyZWN0aW9uOiBAZGlyZWN0aW9uO1xufVxuLmFuaW1hdGlvbi1maWxsLW1vZGUoQGZpbGwtbW9kZSkge1xuICAtd2Via2l0LWFuaW1hdGlvbi1maWxsLW1vZGU6IEBmaWxsLW1vZGU7XG4gICAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogQGZpbGwtbW9kZTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlbmBcblxuLmJhY2tmYWNlLXZpc2liaWxpdHkoQHZpc2liaWxpdHkpe1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xuICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IEB2aXNpYmlsaXR5O1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi8vXG4vLyBOb3RlOiBEZXByZWNhdGVkIGAuYm94LXNoYWRvdygpYCBhcyBvZiB2My4xLjAgc2luY2UgYWxsIG9mIEJvb3RzdHJhcCdzXG4vLyBzdXBwb3J0ZWQgYnJvd3NlcnMgdGhhdCBoYXZlIGJveCBzaGFkb3cgY2FwYWJpbGl0aWVzIG5vdyBzdXBwb3J0IGl0LlxuXG4uYm94LXNoYWRvdyhAc2hhZG93KSB7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogQHNoYWRvdzsgLy8gaU9TIDw0LjMgJiBBbmRyb2lkIDw0LjFcbiAgICAgICAgICBib3gtc2hhZG93OiBAc2hhZG93O1xufVxuXG4vLyBCb3ggc2l6aW5nXG4uYm94LXNpemluZyhAYm94bW9kZWwpIHtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBAYm94bW9kZWw7XG4gICAgIC1tb3otYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAgICAgIGJveC1zaXppbmc6IEBib3htb2RlbDtcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbi1jb3VudDsgQGNvbHVtbi1nYXA6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICAtd2Via2l0LWNvbHVtbi1jb3VudDogQGNvbHVtbi1jb3VudDtcbiAgICAgLW1vei1jb2x1bW4tY291bnQ6IEBjb2x1bW4tY291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uLWNvdW50O1xuICAtd2Via2l0LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAtbW96LWNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW4tZ2FwO1xufVxuXG4vLyBPcHRpb25hbCBoeXBoZW5hdGlvblxuLmh5cGhlbnMoQG1vZGU6IGF1dG8pIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAtd2Via2l0LWh5cGhlbnM6IEBtb2RlO1xuICAgICAtbW96LWh5cGhlbnM6IEBtb2RlO1xuICAgICAgLW1zLWh5cGhlbnM6IEBtb2RlOyAvLyBJRTEwK1xuICAgICAgIC1vLWh5cGhlbnM6IEBtb2RlO1xuICAgICAgICAgIGh5cGhlbnM6IEBtb2RlO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAaW5wdXQtY29sb3ItcGxhY2Vob2xkZXIpIHtcbiAgLy8gRmlyZWZveFxuICAmOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIG9wYWNpdHk6IDE7IC8vIE92ZXJyaWRlIEZpcmVmb3gncyB1bnVzdWFsIGRlZmF1bHQgb3BhY2l0eTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzExNTI2XG4gIH1cbiAgJjotbXMtaW5wdXQtcGxhY2Vob2xkZXIgeyBjb2xvcjogQGNvbG9yOyB9IC8vIEludGVybmV0IEV4cGxvcmVyIDEwK1xuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyICB7IGNvbG9yOiBAY29sb3I7IH0gLy8gU2FmYXJpIGFuZCBDaHJvbWVcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4uc2NhbGUoQHJhdGlvKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnNjYWxlKEByYXRpb1g7IEByYXRpb1kpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvWCwgQHJhdGlvWSk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZShAcmF0aW9YLCBAcmF0aW9ZKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKEByYXRpb1gsIEByYXRpb1kpO1xufVxuLnNjYWxlWChAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVYKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVgoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWChAcmF0aW8pO1xufVxuLnNjYWxlWShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGVZKEByYXRpbyk7IC8vIElFOSBvbmx5XG4gICAgICAgLW8tdHJhbnNmb3JtOiBzY2FsZVkoQHJhdGlvKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWShAcmF0aW8pO1xufVxuLnNrZXcoQHg7IEB5KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiBza2V3WChAeCkgc2tld1koQHkpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTsgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvNDg4NTsgSUU5K1xuICAgICAgIC1vLXRyYW5zZm9ybTogc2tld1goQHgpIHNrZXdZKEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7XG59XG4udHJhbnNsYXRlKEB4OyBAeSkge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4udHJhbnNsYXRlM2QoQHg7IEB5OyBAeikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cbi5yb3RhdGUoQGRlZ3JlZXMpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpOyAvLyBJRTkgb25seVxuICAgICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG59XG4ucm90YXRlWChAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVYKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVgoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWChAZGVncmVlcyk7XG59XG4ucm90YXRlWShAZGVncmVlcykge1xuICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGVZKEBkZWdyZWVzKTsgLy8gSUU5IG9ubHlcbiAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZVkoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlWShAZGVncmVlcyk7XG59XG4ucGVyc3BlY3RpdmUoQHBlcnNwZWN0aXZlKSB7XG4gIC13ZWJraXQtcGVyc3BlY3RpdmU6IEBwZXJzcGVjdGl2ZTtcbiAgICAgLW1vei1wZXJzcGVjdGl2ZTogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlOiBAcGVyc3BlY3RpdmU7XG59XG4ucGVyc3BlY3RpdmUtb3JpZ2luKEBwZXJzcGVjdGl2ZSkge1xuICAtd2Via2l0LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAtbW96LXBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xuICAgICAgICAgIHBlcnNwZWN0aXZlLW9yaWdpbjogQHBlcnNwZWN0aXZlO1xufVxuLnRyYW5zZm9ybS1vcmlnaW4oQG9yaWdpbikge1xuICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG4gICAgIC1tb3otdHJhbnNmb3JtLW9yaWdpbjogQG9yaWdpbjtcbiAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBAb3JpZ2luOyAvLyBJRTkgb25seVxuICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IEBvcmlnaW47XG59XG5cblxuLy8gVHJhbnNpdGlvbnNcblxuLnRyYW5zaXRpb24oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBAdHJhbnNpdGlvbjtcbn1cbi50cmFuc2l0aW9uLXByb3BlcnR5KEB0cmFuc2l0aW9uLXByb3BlcnR5KSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG4gICAgICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogQHRyYW5zaXRpb24tcHJvcGVydHk7XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cbi50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbihAdGltaW5nLWZ1bmN0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IEB0aW1pbmctZnVuY3Rpb247XG59XG4udHJhbnNpdGlvbi10cmFuc2Zvcm0oQHRyYW5zaXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSBAdHJhbnNpdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uOiAtby10cmFuc2Zvcm0gQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIEB0cmFuc2l0aW9uO1xufVxuXG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2VcblxuLnVzZXItc2VsZWN0KEBzZWxlY3QpIHtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgLW1vei11c2VyLXNlbGVjdDogQHNlbGVjdDtcbiAgICAgIC1tcy11c2VyLXNlbGVjdDogQHNlbGVjdDsgLy8gSUUxMCtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogQHNlbGVjdDtcbn1cbiIsIi8vXHJcbi8vIFZhcmlhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQGltcG9ydCB1cmwoaHR0cDovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjMwMCw0MDAsNjAwLDQwMGl0YWxpYyk7XHJcblxyXG4vLz09IENvbG9yc1xyXG4vL1xyXG4vLyMjIEdyYXkgYW5kIGJyYW5kIGNvbG9ycyBmb3IgdXNlIGFjcm9zcyBCb290c3RyYXAuXHJcblxyXG4vLyBSZWRlZmluZWQgR3JheSBjb2xvcnMgZm9yIHRoZW1lXHJcbkBncmF5LWRhcmtlcjogICAgICAgICAgICAjMmIzZDUxO1xyXG5AZ3JheS1kYXJrOiAgICAgICAgICAgICAgIzUxNWQ2ZTtcclxuQGdyYXk6ICAgICAgICAgICAgICAgICAgICNBMEFBQjI7XHJcbkBncmF5LWxpZ2h0OiAgICAgICAgICAgICAjZTZlOWVlO1xyXG5AZ3JheS1saWdodGVyOiAgICAgICAgICAgI2Y0ZjVmNTtcclxuXHJcbi8vIENsYXNzaWMgYnJhbmQgY29sb3JzXHJcblxyXG5AYnJhbmQtcHJpbWFyeTogICAgICAgICAgIzQzYThlYjtcclxuQGJyYW5kLXN1Y2Nlc3M6ICAgICAgICAgICM4OGJmNTc7XHJcbkBicmFuZC1pbmZvOiAgICAgICAgICAgICAjODI5M2I5O1xyXG5AYnJhbmQtd2FybmluZzogICAgICAgICAgI2ZkYWY0MDtcclxuQGJyYW5kLWRhbmdlcjogICAgICAgICAgICNlYjYxNWY7XHJcblxyXG4vLyBOZXcgYnJhbmQgY29sb3JzXHJcblxyXG5AYnJhbmQtaW52ZXJzZTogICAgICAgICAgIzM2M0M0NztcclxuQGJyYW5kLXR1cnF1b2lzZTogICAgICAgICMyRkM4QTY7XHJcbkBicmFuZC1waW5rOiAgICAgICAgICAgICAjZjk2M2JjO1xyXG5AYnJhbmQtcHVycGxlOiAgICAgICAgICAgI2MyOWVmZjsgXHJcbkBicmFuZC1vcmFuZ2U6ICAgICAgICAgICAjRjU3MDM1O1xyXG5AYnJhbmQtbm9pcjogICAgICAgICAgICAgI2Q5ZDllNDtcclxuQGJyYW5kLXdoaXRlOiAgICAgICAgICAgICNmZmY7XHJcblxyXG4vLyBCcmFuZCBjb2xvciBWYXJpYW50c1xyXG5cclxuQGFtb3VudE9mTGlnaHQ6IDYlO1xyXG5cclxuQGJyYW5kLXByaW1hcnktbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLXByaW1hcnksIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLXN1Y2Nlc3MtbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLXN1Y2Nlc3MsIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLWluZm8tbGlnaHQ6ICAgICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLWluZm8sIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLXdhcm5pbmctbGlnaHQ6ICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLXdhcm5pbmcsIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLWRhbmdlci1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLWRhbmdlciwgQGFtb3VudE9mTGlnaHQpO1xyXG5AYnJhbmQtaW52ZXJzZS1saWdodDogICAgICAgICAgbGlnaHRlbihAYnJhbmQtaW52ZXJzZSwgQGFtb3VudE9mTGlnaHQpO1xyXG5AYnJhbmQtdHVycXVvaXNlLWxpZ2h0OiAgICAgICAgbGlnaHRlbihAYnJhbmQtdHVycXVvaXNlLCBAYW1vdW50T2ZMaWdodCk7XHJcbkBicmFuZC1waW5rLWxpZ2h0OiAgICAgICAgICAgICBsaWdodGVuKEBicmFuZC1waW5rLCBAYW1vdW50T2ZMaWdodCk7XHJcbkBicmFuZC1wdXJwbGUtbGlnaHQ6ICAgICAgICAgICBsaWdodGVuKEBicmFuZC1wdXJwbGUsIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLW9yYW5nZS1saWdodDogICAgICAgICAgIGxpZ2h0ZW4oQGJyYW5kLW9yYW5nZSwgQGFtb3VudE9mTGlnaHQpO1xyXG5cclxuQGJyYW5kLXByaW1hcnktZGFyazogICAgICAgICAgIGRhcmtlbihAYnJhbmQtcHJpbWFyeSwgQGFtb3VudE9mTGlnaHQpO1xyXG5AYnJhbmQtc3VjY2Vzcy1kYXJrOiAgICAgICAgICAgZGFya2VuKEBicmFuZC1zdWNjZXNzLCBAYW1vdW50T2ZMaWdodCk7XHJcbkBicmFuZC1pbmZvLWRhcms6ICAgICAgICAgICAgICBkYXJrZW4oQGJyYW5kLWluZm8sIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLXdhcm5pbmctZGFyazogICAgICAgICAgIGRhcmtlbihAYnJhbmQtd2FybmluZywgQGFtb3VudE9mTGlnaHQpO1xyXG5AYnJhbmQtZGFuZ2VyLWRhcms6ICAgICAgICAgICAgZGFya2VuKEBicmFuZC1kYW5nZXIsIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLWludmVyc2UtZGFyazogICAgICAgICAgIGRhcmtlbihAYnJhbmQtaW52ZXJzZSwgQGFtb3VudE9mTGlnaHQpO1xyXG5AYnJhbmQtdHVycXVvaXNlLWRhcms6ICAgICAgICAgZGFya2VuKEBicmFuZC10dXJxdW9pc2UsIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLXBpbmstZGFyazogICAgICAgICAgICAgIGRhcmtlbihAYnJhbmQtcGluaywgQGFtb3VudE9mTGlnaHQpO1xyXG5AYnJhbmQtcHVycGxlLWRhcms6ICAgICAgICAgICAgZGFya2VuKEBicmFuZC1wdXJwbGUsIEBhbW91bnRPZkxpZ2h0KTtcclxuQGJyYW5kLW9yYW5nZS1kYXJrOiAgICAgICAgICAgIGRhcmtlbihAYnJhbmQtb3JhbmdlLCBAYW1vdW50T2ZMaWdodCk7XHJcblxyXG4vLz09IFNjYWZmb2xkaW5nXHJcbi8vXHJcbi8vIyMgU2V0dGluZ3MgZm9yIHNvbWUgb2YgdGhlIG1vc3QgZ2xvYmFsIHN0eWxlcy5cclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBmb3IgYDxib2R5PmAuXHJcbkBib2R5LWJnOiAgICAgICAgICAgICAgICNmN2Y5ZmI7XHJcbi8vKiogR2xvYmFsIHRleHQgY29sb3Igb24gYDxib2R5PmAuXHJcbkB0ZXh0LWNvbG9yOiAgICAgICAgICAgICM1ODVmNjk7XHJcblxyXG4vLyoqIEdsb2JhbCB0ZXh0dWFsIGxpbmsgY29sb3IuXHJcbkBsaW5rLWNvbG9yOiAgICAgICAgICAgIEBicmFuZC1wcmltYXJ5O1xyXG4vLyoqIExpbmsgaG92ZXIgY29sb3Igc2V0IHZpYSBgZGFya2VuKClgIGZ1bmN0aW9uLlxyXG5AbGluay1ob3Zlci1jb2xvcjogICAgICBkYXJrZW4oQGxpbmstY29sb3IsIDE1JSk7XHJcblxyXG5cclxuLy89PSBUeXBvZ3JhcGh5XHJcbi8vXHJcbi8vIyMgRm9udCwgbGluZS1oZWlnaHQsIGFuZCBjb2xvciBmb3IgYm9keSB0ZXh0LCBoZWFkaW5ncywgYW5kIG1vcmUuXHJcblxyXG5AZm9udC1mYW1pbHktc2Fucy1zZXJpZjogICdPcGVuIFNhbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG5AZm9udC1mYW1pbHktc2VyaWY6ICAgICAgIEdlb3JnaWEsIFwiVGltZXMgTmV3IFJvbWFuXCIsIFRpbWVzLCBzZXJpZjtcclxuLy8qKiBEZWZhdWx0IG1vbm9zcGFjZSBmb250cyBmb3IgYDxjb2RlPmAsIGA8a2JkPmAsIGFuZCBgPHByZT5gLlxyXG5AZm9udC1mYW1pbHktbW9ub3NwYWNlOiAgIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCBcIkNvdXJpZXIgTmV3XCIsIG1vbm9zcGFjZTtcclxuQGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICBAZm9udC1mYW1pbHktc2Fucy1zZXJpZjtcclxuXHJcbkBmb250LXNpemUtYmFzZTogICAgICAgICAgMTNweDtcclxuQGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAxLjI1KSk7IC8vIH4xOHB4XHJcbkBmb250LXNpemUtc21hbGw6ICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMC44NSkpOyAvLyB+MTJweFxyXG5cclxuQGZvbnQtc2l6ZS1oMTogICAgICAgICAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogMi42KSk7IC8vIH4zNnB4XHJcbkBmb250LXNpemUtaDI6ICAgICAgICAgICAgZmxvb3IoKEBmb250LXNpemUtYmFzZSAqIDIuMTUpKTsgLy8gfjMwcHhcclxuQGZvbnQtc2l6ZS1oMzogICAgICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAxLjcpKTsgLy8gfjI0cHhcclxuQGZvbnQtc2l6ZS1oNDogICAgICAgICAgICBjZWlsKChAZm9udC1zaXplLWJhc2UgKiAxLjI1KSk7IC8vIH4xOHB4XHJcbkBmb250LXNpemUtaDU6ICAgICAgICAgICAgQGZvbnQtc2l6ZS1iYXNlO1xyXG5AZm9udC1zaXplLWg2OiAgICAgICAgICAgIGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDAuODUpKTsgLy8gfjEycHhcclxuXHJcbi8vKiogVW5pdC1sZXNzIGBsaW5lLWhlaWdodGAgZm9yIHVzZSBpbiBjb21wb25lbnRzIGxpa2UgYnV0dG9ucy5cclxuQGxpbmUtaGVpZ2h0LWJhc2U6ICAgICAgICAxLjUyODU3MTQyOTsgLy8gMjAvMTRcclxuLy8qKiBDb21wdXRlZCBcImxpbmUtaGVpZ2h0XCIgKGBmb250LXNpemVgICogYGxpbmUtaGVpZ2h0YCkgZm9yIHVzZSB3aXRoIGBtYXJnaW5gLCBgcGFkZGluZ2AsIGV0Yy5cclxuQGxpbmUtaGVpZ2h0LWNvbXB1dGVkOiAgICBmbG9vcigoQGZvbnQtc2l6ZS1iYXNlICogQGxpbmUtaGVpZ2h0LWJhc2UpKTsgLy8gfjIwcHhcclxuXHJcbi8vKiogQnkgZGVmYXVsdCwgdGhpcyBpbmhlcml0cyBmcm9tIHRoZSBgPGJvZHk+YC5cclxuQGhlYWRpbmdzLWZvbnQtZmFtaWx5OiAgICBpbmhlcml0O1xyXG5AaGVhZGluZ3MtZm9udC13ZWlnaHQ6ICAgIDUwMDtcclxuQGhlYWRpbmdzLWxpbmUtaGVpZ2h0OiAgICAxLjE7XHJcbkBoZWFkaW5ncy1jb2xvcjogICAgICAgICAgaW5oZXJpdDtcclxuXHJcblxyXG4vLz09IEljb25vZ3JhcGh5XHJcbi8vXHJcbi8vIyMgU3BlY2lmeSBjdXN0b20gbG9jYXRpb24gYW5kIGZpbGVuYW1lIG9mIHRoZSBpbmNsdWRlZCBHbHlwaGljb25zIGljb24gZm9udC4gVXNlZnVsIGZvciB0aG9zZSBpbmNsdWRpbmcgQm9vdHN0cmFwIHZpYSBCb3dlci5cclxuXHJcbi8vKiogTG9hZCBmb250cyBmcm9tIHRoaXMgZGlyZWN0b3J5LlxyXG5AaWNvbi1mb250LXBhdGg6ICAgICAgICAgIFwiLi4vZm9udHMvXCI7XHJcbi8vKiogRmlsZSBuYW1lIGZvciBhbGwgZm9udCBmaWxlcy5cclxuQGljb24tZm9udC1uYW1lOiAgICAgICAgICBcImdseXBoaWNvbnMtaGFsZmxpbmdzLXJlZ3VsYXJcIjtcclxuLy8qKiBFbGVtZW50IElEIHdpdGhpbiBTVkcgaWNvbiBmaWxlLlxyXG5AaWNvbi1mb250LXN2Zy1pZDogICAgICAgIFwiZ2x5cGhpY29uc19oYWxmbGluZ3NyZWd1bGFyXCI7XHJcblxyXG5cclxuLy89PSBDb21wb25lbnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGNvbW1vbiBwYWRkaW5nIGFuZCBib3JkZXIgcmFkaXVzIHNpemVzIGFuZCBtb3JlLiBWYWx1ZXMgYmFzZWQgb24gMTRweCB0ZXh0IGFuZCAxLjQyOCBsaW5lLWhlaWdodCAofjIwcHggdG8gc3RhcnQpLlxyXG5cclxuQHBhZGRpbmctYmFzZS12ZXJ0aWNhbDogICAgIDhweDtcclxuQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOiAgIDI0cHg7XHJcblxyXG5AcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDogICAgMTRweDtcclxuQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDogIDI2cHg7XHJcblxyXG5AcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDogICAgNXB4O1xyXG5AcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOiAgMThweDtcclxuXHJcbkBwYWRkaW5nLXhzLXZlcnRpY2FsOiAgICAgICAxcHg7XHJcbkBwYWRkaW5nLXhzLWhvcml6b250YWw6ICAgICA1cHg7XHJcblxyXG5AbGluZS1oZWlnaHQtbGFyZ2U6ICAgICAgICAgMS4zMztcclxuQGxpbmUtaGVpZ2h0LXNtYWxsOiAgICAgICAgIDEuNTtcclxuXHJcbkBib3JkZXItcmFkaXVzLWJhc2U6ICAgICAgICAzcHg7XHJcbkBib3JkZXItcmFkaXVzLWxhcmdlOiAgICAgICA0cHg7XHJcbkBib3JkZXItcmFkaXVzLXNtYWxsOiAgICAgICAycHg7XHJcblxyXG4vLyoqIEdsb2JhbCBjb2xvciBmb3IgYWN0aXZlIGl0ZW1zIChlLmcuLCBuYXZzIG9yIGRyb3Bkb3ducykuXHJcbkBjb21wb25lbnQtYWN0aXZlLWNvbG9yOiAgICAjZmZmO1xyXG4vLyoqIEdsb2JhbCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBhY3RpdmUgaXRlbXMgKGUuZy4sIG5hdnMgb3IgZHJvcGRvd25zKS5cclxuQGNvbXBvbmVudC1hY3RpdmUtYmc6ICAgICAgIEBicmFuZC1wcmltYXJ5O1xyXG5cclxuLy8qKiBXaWR0aCBvZiB0aGUgYGJvcmRlcmAgZm9yIGdlbmVyYXRpbmcgY2FyZXRzIHRoYXQgaW5kaWNhdG9yIGRyb3Bkb3ducy5cclxuQGNhcmV0LXdpZHRoLWJhc2U6ICAgICAgICAgIDRweDtcclxuLy8qKiBDYXJldHMgaW5jcmVhc2Ugc2xpZ2h0bHkgaW4gc2l6ZSBmb3IgbGFyZ2VyIGNvbXBvbmVudHMuXHJcbkBjYXJldC13aWR0aC1sYXJnZTogICAgICAgICA1cHg7XHJcblxyXG5cclxuLy89PSBUYWJsZXNcclxuLy9cclxuLy8jIyBDdXN0b21pemVzIHRoZSBgLnRhYmxlYCBjb21wb25lbnQgd2l0aCBiYXNpYyB2YWx1ZXMsIGVhY2ggdXNlZCBhY3Jvc3MgYWxsIHRhYmxlIHZhcmlhdGlvbnMuXHJcblxyXG4vLyoqIFBhZGRpbmcgZm9yIGA8dGg+YHMgYW5kIGA8dGQ+YHMuXHJcbkB0YWJsZS1jZWxsLXBhZGRpbmc6ICAgICAgICAgICAgMTJweCA4cHg7XHJcbi8vKiogUGFkZGluZyBmb3IgY2VsbHMgaW4gYC50YWJsZS1jb25kZW5zZWRgLlxyXG5AdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZzogIDVweDtcclxuXHJcbi8vKiogRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIHVzZWQgZm9yIGFsbCB0YWJsZXMuXHJcbkB0YWJsZS1iZzogICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLXN0cmlwZWRgLlxyXG5AdGFibGUtYmctYWNjZW50OiAgICAgICAgICAgICAgICNmYWZiZmM7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciB1c2VkIGZvciBgLnRhYmxlLWhvdmVyYC5cclxuQHRhYmxlLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAjZmFmYmZjO1xyXG5AdGFibGUtYmctYWN0aXZlOiAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5cclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIHRhYmxlIGFuZCBjZWxsIGJvcmRlcnMuXHJcbkB0YWJsZS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgI2VlZTtcclxuXHJcblxyXG4vLz09IEJ1dHRvbnNcclxuLy9cclxuLy8jIyBGb3IgZWFjaCBvZiBCb290c3RyYXAncyBidXR0b25zLCBkZWZpbmUgdGV4dCwgYmFja2dyb3VuZCBhbmQgYm9yZGVyIGNvbG9yLlxyXG5cclxuQGJ0bi1mb250LXdlaWdodDogICAgICAgICAgICAgICAgbm9ybWFsO1xyXG5cclxuQGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgQGdyYXk7XHJcbkBidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICNmZmY7XHJcbkBidG4tZGVmYXVsdC1ib3JkZXI6ICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5cclxuQGJ0bi1wcmltYXJ5LWNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcclxuQGJ0bi1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XHJcbkBidG4tcHJpbWFyeS1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihAYnRuLXByaW1hcnktYmcsIDElKTtcclxuXHJcbkBidG4tc3VjY2Vzcy1jb2xvcjogICAgICAgICAgICAgICNmZmY7XHJcbkBidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgIEBicmFuZC1zdWNjZXNzO1xyXG5AYnRuLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgICBkYXJrZW4oQGJ0bi1zdWNjZXNzLWJnLCAxJSk7XHJcblxyXG5AYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG5AYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICBAYnJhbmQtaW5mbztcclxuQGJ0bi1pbmZvLWJvcmRlcjogICAgICAgICAgICAgICAgZGFya2VuKEBidG4taW5mby1iZywgMSUpO1xyXG5cclxuQGJ0bi13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgI2ZmZjtcclxuQGJ0bi13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XHJcbkBidG4td2FybmluZy1ib3JkZXI6ICAgICAgICAgICAgIGRhcmtlbihAYnRuLXdhcm5pbmctYmcsIDElKTtcclxuXHJcbkBidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICNmZmY7XHJcbkBidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgIEBicmFuZC1kYW5nZXI7XHJcbkBidG4tZGFuZ2VyLWJvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihAYnRuLWRhbmdlci1iZywgMSUpO1xyXG5cclxuQGJ0bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgICAgICAgQGdyYXktbGlnaHQ7XHJcblxyXG5cclxuLy89PSBGb3Jtc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIGA8aW5wdXQ+YCBiYWNrZ3JvdW5kIGNvbG9yXHJcbkBpbnB1dC1iZzogICAgICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogYDxpbnB1dCBkaXNhYmxlZD5gIGJhY2tncm91bmQgY29sb3JcclxuQGlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAgICAgQGdyYXktbGlnaHRlcjtcclxuXHJcbi8vKiogVGV4dCBjb2xvciBmb3IgYDxpbnB1dD5gc1xyXG5AaW5wdXQtY29sb3I6ICAgICAgICAgICAgICAgICAgICBAZ3JheS1kYXJrO1xyXG4vLyoqIGA8aW5wdXQ+YCBib3JkZXIgY29sb3JcclxuQGlucHV0LWJvcmRlcjogICAgICAgICAgICAgICAgICAgI2RiZDlkOTtcclxuLy8qKiBgPGlucHV0PmAgYm9yZGVyIHJhZGl1c1xyXG5AaW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICAgICBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxuLy8qKiBCb3JkZXIgY29sb3IgZm9yIGlucHV0cyBvbiBmb2N1c1xyXG5AaW5wdXQtYm9yZGVyLWZvY3VzOiAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuXHJcbi8vKiogUGxhY2Vob2xkZXIgdGV4dCBjb2xvclxyXG5AaW5wdXQtY29sb3ItcGxhY2Vob2xkZXI6ICAgICAgICAjYjdiYWM5O1xyXG5cclxuLy8qKiBEZWZhdWx0IGAuZm9ybS1jb250cm9sYCBoZWlnaHRcclxuQGlucHV0LWhlaWdodC1iYXNlOiAgICAgICAgICAgICAgKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICogMikgKyAyKTtcclxuLy8qKiBMYXJnZSBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbkBpbnB1dC1oZWlnaHQtbGFyZ2U6ICAgICAgICAgICAgIChjZWlsKEBmb250LXNpemUtbGFyZ2UgKiBAbGluZS1oZWlnaHQtbGFyZ2UpICsgKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogMikgKyAyKTtcclxuLy8qKiBTbWFsbCBgLmZvcm0tY29udHJvbGAgaGVpZ2h0XHJcbkBpbnB1dC1oZWlnaHQtc21hbGw6ICAgICAgICAgICAgIChmbG9vcihAZm9udC1zaXplLXNtYWxsICogQGxpbmUtaGVpZ2h0LXNtYWxsKSArIChAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCAqIDIpICsgMik7XHJcblxyXG5AbGVnZW5kLWNvbG9yOiAgICAgICAgICAgICAgICAgICBAZ3JheS1kYXJrO1xyXG5AbGVnZW5kLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZTVlNWU1O1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0ZXh0dWFsIGlucHV0IGFkZG9uc1xyXG5AaW5wdXQtZ3JvdXAtYWRkb24tYmc6ICAgICAgICAgICBAZ3JheS1saWdodGVyO1xyXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgdGV4dHVhbCBpbnB1dCBhZGRvbnNcclxuQGlucHV0LWdyb3VwLWFkZG9uLWJvcmRlci1jb2xvcjogQGlucHV0LWJvcmRlcjtcclxuXHJcblxyXG4vLz09IERyb3Bkb3duc1xyXG4vL1xyXG4vLyMjIERyb3Bkb3duIG1lbnUgY29udGFpbmVyIGFuZCBjb250ZW50cy5cclxuXHJcbi8vKiogQmFja2dyb3VuZCBmb3IgdGhlIGRyb3Bkb3duIG1lbnUuXHJcbkBkcm9wZG93bi1iZzogICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbi8vKiogRHJvcGRvd24gbWVudSBgYm9yZGVyLWNvbG9yYC5cclxuQGRyb3Bkb3duLWJvcmRlcjogICAgICAgICAgICAgICAgI2UxZTFlMTtcclxuLy8qKiBEcm9wZG93biBtZW51IGBib3JkZXItY29sb3JgICoqZm9yIElFOCoqLlxyXG5AZHJvcGRvd24tZmFsbGJhY2stYm9yZGVyOiAgICAgICAjY2NjO1xyXG4vLyoqIERpdmlkZXIgY29sb3IgZm9yIGJldHdlZW4gZHJvcGRvd24gaXRlbXMuXHJcbkBkcm9wZG93bi1kaXZpZGVyLWJnOiAgICAgICAgICAgICNlNWU1ZTU7XHJcblxyXG4vLyoqIERyb3Bkb3duIGxpbmsgdGV4dCBjb2xvci5cclxuQGRyb3Bkb3duLWxpbmstY29sb3I6ICAgICAgICAgICAgIzVmNWY1ZjtcclxuLy8qKiBIb3ZlciBjb2xvciBmb3IgZHJvcGRvd24gbGlua3MuXHJcbkBkcm9wZG93bi1saW5rLWhvdmVyLWNvbG9yOiAgICAgIGRhcmtlbihAZ3JheS1kYXJrLCA1JSk7XHJcbi8vKiogSG92ZXIgYmFja2dyb3VuZCBmb3IgZHJvcGRvd24gbGlua3MuXHJcbkBkcm9wZG93bi1saW5rLWhvdmVyLWJnOiAgICAgICAgICNmYWZiZmM7XHJcblxyXG4vLyoqIEFjdGl2ZSBkcm9wZG93biBtZW51IGl0ZW0gdGV4dCBjb2xvci5cclxuQGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yOiAgICAgQGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XHJcbi8vKiogQWN0aXZlIGRyb3Bkb3duIG1lbnUgaXRlbSBiYWNrZ3JvdW5kIGNvbG9yLlxyXG5AZHJvcGRvd24tbGluay1hY3RpdmUtYmc6ICAgICAgICBAY29tcG9uZW50LWFjdGl2ZS1iZztcclxuXHJcbi8vKiogRGlzYWJsZWQgZHJvcGRvd24gbWVudSBpdGVtIGJhY2tncm91bmQgY29sb3IuXHJcbkBkcm9wZG93bi1saW5rLWRpc2FibGVkLWNvbG9yOiAgIEBncmF5LWxpZ2h0O1xyXG5cclxuLy8qKiBUZXh0IGNvbG9yIGZvciBoZWFkZXJzIHdpdGhpbiBkcm9wZG93biBtZW51cy5cclxuQGRyb3Bkb3duLWhlYWRlci1jb2xvcjogICAgICAgICAgQGdyYXktbGlnaHQ7XHJcblxyXG4vLyoqIERlcHJlY2F0ZWQgYEBkcm9wZG93bi1jYXJldC1jb2xvcmAgYXMgb2YgdjMuMS4wXHJcbkBkcm9wZG93bi1jYXJldC1jb2xvcjogICAgICAgICAgICMwMDA7XHJcblxyXG5cclxuLy8tLSBaLWluZGV4IG1hc3RlciBsaXN0XHJcbi8vXHJcbi8vIFdhcm5pbmc6IEF2b2lkIGN1c3RvbWl6aW5nIHRoZXNlIHZhbHVlcy4gVGhleSdyZSB1c2VkIGZvciBhIGJpcmQncyBleWUgdmlld1xyXG4vLyBvZiBjb21wb25lbnRzIGRlcGVuZGVudCBvbiB0aGUgei1heGlzIGFuZCBhcmUgZGVzaWduZWQgdG8gYWxsIHdvcmsgdG9nZXRoZXIuXHJcbi8vXHJcbi8vIE5vdGU6IFRoZXNlIHZhcmlhYmxlcyBhcmUgbm90IGdlbmVyYXRlZCBpbnRvIHRoZSBDdXN0b21pemVyLlxyXG5cclxuQHppbmRleC1uYXZiYXI6ICAgICAgICAgICAgMTAwMDtcclxuQHppbmRleC1kcm9wZG93bjogICAgICAgICAgMTAwMDtcclxuQHppbmRleC1wb3BvdmVyOiAgICAgICAgICAgMTA2MDtcclxuQHppbmRleC10b29sdGlwOiAgICAgICAgICAgMTA3MDtcclxuQHppbmRleC1uYXZiYXItZml4ZWQ6ICAgICAgMTAzMDtcclxuQHppbmRleC1tb2RhbC1iYWNrZ3JvdW5kOiAgMTA0MDtcclxuQHppbmRleC1tb2RhbDogICAgICAgICAgICAgMTA1MDtcclxuXHJcblxyXG4vLz09IE1lZGlhIHF1ZXJpZXMgYnJlYWtwb2ludHNcclxuLy9cclxuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxyXG5cclxuLy8gRXh0cmEgc21hbGwgc2NyZWVuIC8gcGhvbmVcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcclxuQHNjcmVlbi14czogICAgICAgICAgICAgICAgICA0ODBweDtcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLXhzLW1pbmAgYXMgb2YgdjMuMi4wXHJcbkBzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgQHNjcmVlbi14cztcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcclxuQHNjcmVlbi1waG9uZTogICAgICAgICAgICAgICBAc2NyZWVuLXhzLW1pbjtcclxuXHJcbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldFxyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLXNtOiAgICAgICAgICAgICAgICAgIDc2OHB4O1xyXG5Ac2NyZWVuLXNtLW1pbjogICAgICAgICAgICAgIEBzY3JlZW4tc207XHJcbi8vKiogRGVwcmVjYXRlZCBgQHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLXRhYmxldDogICAgICAgICAgICAgIEBzY3JlZW4tc20tbWluO1xyXG5cclxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcclxuQHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICA5OTJweDtcclxuQHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICBAc2NyZWVuLW1kO1xyXG4vLyoqIERlcHJlY2F0ZWQgYEBzY3JlZW4tZGVza3RvcGAgYXMgb2YgdjMuMC4xXHJcbkBzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgQHNjcmVlbi1tZC1taW47XHJcblxyXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLWxnYCBhcyBvZiB2My4wLjFcclxuQHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAxMjAwcHg7XHJcbkBzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgQHNjcmVlbi1sZztcclxuLy8qKiBEZXByZWNhdGVkIGBAc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxyXG5Ac2NyZWVuLWxnLWRlc2t0b3A6ICAgICAgICAgIEBzY3JlZW4tbGctbWluO1xyXG5cclxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXHJcbkBzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgKEBzY3JlZW4tc20tbWluIC0gMSk7XHJcbkBzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgKEBzY3JlZW4tbWQtbWluIC0gMSk7XHJcbkBzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgKEBzY3JlZW4tbGctbWluIC0gMSk7XHJcblxyXG5cclxuLy89PSBHcmlkIHN5c3RlbVxyXG4vL1xyXG4vLyMjIERlZmluZSB5b3VyIGN1c3RvbSByZXNwb25zaXZlIGdyaWQuXHJcblxyXG4vLyoqIE51bWJlciBvZiBjb2x1bW5zIGluIHRoZSBncmlkLlxyXG5AZ3JpZC1jb2x1bW5zOiAgICAgICAgICAgICAgMTI7XHJcbi8vKiogUGFkZGluZyBiZXR3ZWVuIGNvbHVtbnMuIEdldHMgZGl2aWRlZCBpbiBoYWxmIGZvciB0aGUgbGVmdCBhbmQgcmlnaHQuXHJcbkBncmlkLWd1dHRlci13aWR0aDogICAgICAgICAzMHB4O1xyXG4vLyBOYXZiYXIgY29sbGFwc2VcclxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlY29tZXMgdW5jb2xsYXBzZWQuXHJcbkBncmlkLWZsb2F0LWJyZWFrcG9pbnQ6ICAgICBAc2NyZWVuLXNtLW1pbjtcclxuLy8qKiBQb2ludCBhdCB3aGljaCB0aGUgbmF2YmFyIGJlZ2lucyBjb2xsYXBzaW5nLlxyXG5AZ3JpZC1mbG9hdC1icmVha3BvaW50LW1heDogKEBncmlkLWZsb2F0LWJyZWFrcG9pbnQgLSAxKTtcclxuXHJcblxyXG4vLz09IENvbnRhaW5lciBzaXplc1xyXG4vL1xyXG4vLyMjIERlZmluZSB0aGUgbWF4aW11bSB3aWR0aCBvZiBgLmNvbnRhaW5lcmAgZm9yIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXHJcblxyXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcclxuQGNvbnRhaW5lci10YWJsZXQ6ICAgICAgICAgICAgICgoNzIwcHggKyBAZ3JpZC1ndXR0ZXItd2lkdGgpKTtcclxuLy8qKiBGb3IgYEBzY3JlZW4tc20tbWluYCBhbmQgdXAuXHJcbkBjb250YWluZXItc206ICAgICAgICAgICAgICAgICBAY29udGFpbmVyLXRhYmxldDtcclxuXHJcbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXHJcbkBjb250YWluZXItZGVza3RvcDogICAgICAgICAgICAoKDk0MHB4ICsgQGdyaWQtZ3V0dGVyLXdpZHRoKSk7XHJcbi8vKiogRm9yIGBAc2NyZWVuLW1kLW1pbmAgYW5kIHVwLlxyXG5AY29udGFpbmVyLW1kOiAgICAgICAgICAgICAgICAgQGNvbnRhaW5lci1kZXNrdG9wO1xyXG5cclxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXHJcbkBjb250YWluZXItbGFyZ2UtZGVza3RvcDogICAgICAoKDExNDBweCArIEBncmlkLWd1dHRlci13aWR0aCkpO1xyXG4vLyoqIEZvciBgQHNjcmVlbi1sZy1taW5gIGFuZCB1cC5cclxuQGNvbnRhaW5lci1sZzogICAgICAgICAgICAgICAgIEBjb250YWluZXItbGFyZ2UtZGVza3RvcDtcclxuXHJcblxyXG4vLz09IE5hdmJhclxyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyBCYXNpY3Mgb2YgYSBuYXZiYXJcclxuQG5hdmJhci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICA2MHB4O1xyXG5AbmF2YmFyLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcclxuQG5hdmJhci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5AbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDogICAgICAgIGZsb29yKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XHJcbkBuYXZiYXItcGFkZGluZy12ZXJ0aWNhbDogICAgICAgICAgKChAbmF2YmFyLWhlaWdodCAtIEBsaW5lLWhlaWdodC1jb21wdXRlZCkgLyAyKTtcclxuQG5hdmJhci1jb2xsYXBzZS1tYXgtaGVpZ2h0OiAgICAgICAzNDBweDtcclxuXHJcbkBuYXZiYXItZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgIzc3NztcclxuQG5hdmJhci1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAjZjhmOGY4O1xyXG5AbmF2YmFyLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpO1xyXG5cclxuLy8gTmF2YmFyIGxpbmtzXHJcbkBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAjZmZmO1xyXG5AbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgI2RkZDtcclxuQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5AbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I6ICAgICAgICAgI2RkZDtcclxuQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnOiAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyLWRlZmF1bHQtYmcsIDYuNSUpO1xyXG5AbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjogICAgICAgI2NjYztcclxuQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtYmc6ICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuLy8gTmF2YmFyIGJyYW5kIGxhYmVsXHJcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjogICAgICAgICAgICAgICBAbmF2YmFyLWRlZmF1bHQtbGluay1jb2xvcjtcclxuQG5hdmJhci1kZWZhdWx0LWJyYW5kLWhvdmVyLWNvbG9yOiAgICAgICAgIGRhcmtlbihAbmF2YmFyLWRlZmF1bHQtYnJhbmQtY29sb3IsIDEwJSk7XHJcbkBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZzogICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbi8vIE5hdmJhciB0b2dnbGVcclxuQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICNkZGQ7XHJcbkBuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc6ICAgICAgICAjODg4O1xyXG5AbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjogICAgICAgI2RkZDtcclxuXHJcblxyXG4vLyBJbnZlcnRlZCBuYXZiYXJcclxuLy8gUmVzZXQgaW52ZXJ0ZWQgbmF2YmFyIGJhc2ljc1xyXG5AbmF2YmFyLWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5AbmF2YmFyLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICMyMjI7XHJcbkBuYXZiYXItaW52ZXJzZS1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgMTAlKTtcclxuXHJcbi8vIEludmVydGVkIG5hdmJhciBsaW5rc1xyXG5AbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjogICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5AbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICNmZmY7XHJcbkBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjogICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XHJcbkBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZzogICAgICAgICAgICAgZGFya2VuKEBuYXZiYXItaW52ZXJzZS1iZywgMTAlKTtcclxuQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I6ICAgICAgICAjNDQ0O1xyXG5AbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1iZzogICAgICAgICAgIHRyYW5zcGFyZW50O1xyXG5cclxuLy8gSW52ZXJ0ZWQgbmF2YmFyIGJyYW5kIGxhYmVsXHJcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1jb2xvcjogICAgICAgICAgICAgICAgQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XHJcbkBuYXZiYXItaW52ZXJzZS1icmFuZC1ob3Zlci1jb2xvcjogICAgICAgICAgI2ZmZjtcclxuQG5hdmJhci1pbnZlcnNlLWJyYW5kLWhvdmVyLWJnOiAgICAgICAgICAgICB0cmFuc3BhcmVudDtcclxuXHJcbi8vIEludmVydGVkIG5hdmJhciB0b2dnbGVcclxuQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ob3Zlci1iZzogICAgICAgICAgICAjMzMzO1xyXG5AbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnOiAgICAgICAgICNmZmY7XHJcbkBuYXZiYXItaW52ZXJzZS10b2dnbGUtYm9yZGVyLWNvbG9yOiAgICAgICAgIzMzMztcclxuXHJcblxyXG4vLz09IE5hdnNcclxuLy9cclxuLy8jI1xyXG5cclxuLy89PT0gU2hhcmVkIG5hdiBzdHlsZXNcclxuQG5hdi1saW5rLXBhZGRpbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAxMHB4IDE1cHg7XHJcbkBuYXYtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XHJcblxyXG5AbmF2LWRpc2FibGVkLWxpbmstY29sb3I6ICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5AbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5cclxuQG5hdi1vcGVuLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG5cclxuLy89PSBUYWJzXHJcbkBuYXYtdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI2RkZDtcclxuXHJcbkBuYXYtdGFicy1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAgICAgICAgI2RkZDtcclxuXHJcbkBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZzogICAgICAgICAgICAgI2ZmZjtcclxuQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICAgICBAZ3JheTtcclxuQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjogICAjZGRkO1xyXG5cclxuQG5hdi10YWJzLWp1c3RpZmllZC1saW5rLWJvcmRlci1jb2xvcjogICAgICAgICAgICAjZGRkO1xyXG5AbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjogICAgIEBib2R5LWJnO1xyXG5cclxuLy89PSBQaWxsc1xyXG5AbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM6ICAgICAgICAgICAgICAgICAgIEBib3JkZXItcmFkaXVzLWJhc2U7XHJcbkBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc6ICAgICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtYmc7XHJcbkBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I6ICAgICAgICAgQGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XHJcblxyXG5cclxuLy89PSBQYWdpbmF0aW9uXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBwYWdpbmF0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgIEB0ZXh0LWNvbG9yO1xyXG5AcGFnaW5hdGlvbi1iZzogICAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG5AcGFnaW5hdGlvbi1ib3JkZXI6ICAgICAgICAgICAgICAgICAgICAjZWVlO1xyXG5cclxuQHBhZ2luYXRpb24taG92ZXItY29sb3I6ICAgICAgICAgICAgICAgQGxpbmstaG92ZXItY29sb3I7XHJcbkBwYWdpbmF0aW9uLWhvdmVyLWJnOiAgICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbkBwYWdpbmF0aW9uLWhvdmVyLWJvcmRlcjogICAgICAgICAgICAgICNlZWU7XHJcblxyXG5AcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I6ICAgICAgICAgICAgICAjZmZmO1xyXG5AcGFnaW5hdGlvbi1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuQHBhZ2luYXRpb24tYWN0aXZlLWJvcmRlcjogICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XHJcblxyXG5AcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjogICAgICAgICAgICBAZ3JheS1saWdodDtcclxuQHBhZ2luYXRpb24tZGlzYWJsZWQtYmc6ICAgICAgICAgICAgICAgI2ZmZjtcclxuQHBhZ2luYXRpb24tZGlzYWJsZWQtYm9yZGVyOiAgICAgICAgICAgI2VlZTtcclxuXHJcblxyXG4vLz09IFBhZ2VyXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBwYWdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWJnO1xyXG5AcGFnZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1ib3JkZXI7XHJcbkBwYWdlci1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgICAgIDE1cHg7XHJcblxyXG5AcGFnZXItaG92ZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICBAcGFnaW5hdGlvbi1ob3Zlci1iZztcclxuXHJcbkBwYWdlci1hY3RpdmUtYmc6ICAgICAgICAgICAgICAgICAgICAgIEBwYWdpbmF0aW9uLWFjdGl2ZS1iZztcclxuQHBhZ2VyLWFjdGl2ZS1jb2xvcjogICAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tYWN0aXZlLWNvbG9yO1xyXG5cclxuQHBhZ2VyLWRpc2FibGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgQHBhZ2luYXRpb24tZGlzYWJsZWQtY29sb3I7XHJcblxyXG5cclxuLy89PSBKdW1ib3Ryb25cclxuLy9cclxuLy8jI1xyXG5cclxuQGp1bWJvdHJvbi1wYWRkaW5nOiAgICAgICAgICAgICAgMzBweDtcclxuQGp1bWJvdHJvbi1jb2xvcjogICAgICAgICAgICAgICAgaW5oZXJpdDtcclxuQGp1bWJvdHJvbi1iZzogICAgICAgICAgICAgICAgICAgI2ZjZmNmYztcclxuQGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yOiAgICAgICAgaW5oZXJpdDtcclxuQGp1bWJvdHJvbi1mb250LXNpemU6ICAgICAgICAgICAgY2VpbCgoQGZvbnQtc2l6ZS1iYXNlICogMS41KSk7XHJcblxyXG5cclxuLy89PSBGb3JtIHN0YXRlcyBhbmQgYWxlcnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGNvbG9ycyBmb3IgZm9ybSBmZWVkYmFjayBzdGF0ZXMgYW5kLCBieSBkZWZhdWx0LCBhbGVydHMuXHJcblxyXG5Ac3RhdGUtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAgICBAYnJhbmQtc3VjY2VzcztcclxuQHN0YXRlLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgI2RmZjBkODtcclxuQHN0YXRlLXN1Y2Nlc3MtYm9yZGVyOiAgICAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLXN1Y2Nlc3MtYmcsIC0xMCksIDUlKTtcclxuXHJcbkBzdGF0ZS1pbmZvLXRleHQ6ICAgICAgICAgICAgICAgIEBicmFuZC1pbmZvOyBcclxuQHN0YXRlLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgI2Q5ZWRmNztcclxuQHN0YXRlLWluZm8tYm9yZGVyOiAgICAgICAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLWluZm8tYmcsIC0xMCksIDclKTtcclxuXHJcbkBzdGF0ZS13YXJuaW5nLXRleHQ6ICAgICAgICAgICAgIEBicmFuZC13YXJuaW5nO1xyXG5Ac3RhdGUtd2FybmluZy1iZzogICAgICAgICAgICAgICAjZmNmOGUzO1xyXG5Ac3RhdGUtd2FybmluZy1ib3JkZXI6ICAgICAgICAgICBkYXJrZW4oc3BpbihAc3RhdGUtd2FybmluZy1iZywgLTEwKSwgNSUpO1xyXG5cclxuQHN0YXRlLWRhbmdlci10ZXh0OiAgICAgICAgICAgICAgQGJyYW5kLWRhbmdlcjtcclxuQHN0YXRlLWRhbmdlci1iZzogICAgICAgICAgICAgICAgI2YyZGVkZTtcclxuQHN0YXRlLWRhbmdlci1ib3JkZXI6ICAgICAgICAgICAgZGFya2VuKHNwaW4oQHN0YXRlLWRhbmdlci1iZywgLTEwKSwgNSUpO1xyXG5cclxuXHJcbi8vPT0gVG9vbHRpcHNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBUb29sdGlwIG1heCB3aWR0aFxyXG5AdG9vbHRpcC1tYXgtd2lkdGg6ICAgICAgICAgICAyMDBweDtcclxuLy8qKiBUb29sdGlwIHRleHQgY29sb3JcclxuQHRvb2x0aXAtY29sb3I6ICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBUb29sdGlwIGJhY2tncm91bmQgY29sb3JcclxuQHRvb2x0aXAtYmc6ICAgICAgICAgICAgICAgICAgIzIyMjtcclxuQHRvb2x0aXAtb3BhY2l0eTogICAgICAgICAgICAgLjk7XHJcblxyXG4vLyoqIFRvb2x0aXAgYXJyb3cgd2lkdGhcclxuQHRvb2x0aXAtYXJyb3ctd2lkdGg6ICAgICAgICAgNXB4O1xyXG4vLyoqIFRvb2x0aXAgYXJyb3cgY29sb3JcclxuQHRvb2x0aXAtYXJyb3ctY29sb3I6ICAgICAgICAgQHRvb2x0aXAtYmc7XHJcblxyXG5cclxuLy89PSBQb3BvdmVyc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBvcG92ZXIgYm9keSBiYWNrZ3JvdW5kIGNvbG9yXHJcbkBwb3BvdmVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBQb3BvdmVyIG1heGltdW0gd2lkdGhcclxuQHBvcG92ZXItbWF4LXdpZHRoOiAgICAgICAgICAgICAgICAgICAyNzZweDtcclxuLy8qKiBQb3BvdmVyIGJvcmRlciBjb2xvclxyXG5AcG9wb3Zlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICNlMWUxZTE7XHJcbi8vKiogUG9wb3ZlciBmYWxsYmFjayBib3JkZXIgY29sb3JcclxuQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yOiAgICAgICAjY2NjO1xyXG5cclxuLy8qKiBQb3BvdmVyIHRpdGxlIGJhY2tncm91bmQgY29sb3JcclxuQHBvcG92ZXItdGl0bGUtYmc6ICAgICAgICAgICAgICAgICAgICAjZmFmYWZhO1xyXG5cclxuLy8qKiBQb3BvdmVyIGFycm93IHdpZHRoXHJcbkBwb3BvdmVyLWFycm93LXdpZHRoOiAgICAgICAgICAgICAgICAgMTBweDtcclxuLy8qKiBQb3BvdmVyIGFycm93IGNvbG9yXHJcbkBwb3BvdmVyLWFycm93LWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuXHJcbi8vKiogUG9wb3ZlciBvdXRlciBhcnJvdyB3aWR0aFxyXG5AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDogICAgICAgICAgIChAcG9wb3Zlci1hcnJvdy13aWR0aCArIDEpO1xyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgY29sb3JcclxuQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I6ICAgICAgICAgICBAcG9wb3Zlci1ib3JkZXItY29sb3I7O1xyXG4vLyoqIFBvcG92ZXIgb3V0ZXIgYXJyb3cgZmFsbGJhY2sgY29sb3JcclxuQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I6ICBkYXJrZW4oQHBvcG92ZXItZmFsbGJhY2stYm9yZGVyLWNvbG9yLCAyMCUpO1xyXG5cclxuXHJcbi8vPT0gTGFiZWxzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogRGVmYXVsdCBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbkBsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgIEBncmF5O1xyXG4vLyoqIFByaW1hcnkgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG5AbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuLy8qKiBTdWNjZXNzIGxhYmVsIGJhY2tncm91bmQgY29sb3JcclxuQGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgQGJyYW5kLXN1Y2Nlc3M7XHJcbi8vKiogSW5mbyBsYWJlbCBiYWNrZ3JvdW5kIGNvbG9yXHJcbkBsYWJlbC1pbmZvLWJnOiAgICAgICAgICAgICAgIEBicmFuZC1pbmZvO1xyXG4vLyoqIFdhcm5pbmcgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG5AbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICBAYnJhbmQtd2FybmluZztcclxuLy8qKiBEYW5nZXIgbGFiZWwgYmFja2dyb3VuZCBjb2xvclxyXG5AbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICBAYnJhbmQtZGFuZ2VyO1xyXG5cclxuLy8qKiBEZWZhdWx0IGxhYmVsIHRleHQgY29sb3JcclxuQGxhYmVsLWNvbG9yOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBEZWZhdWx0IHRleHQgY29sb3Igb2YgYSBsaW5rZWQgbGFiZWxcclxuQGxhYmVsLWxpbmstaG92ZXItY29sb3I6ICAgICAgI2ZmZjtcclxuXHJcblxyXG4vLz09IE1vZGFsc1xyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIFBhZGRpbmcgYXBwbGllZCB0byB0aGUgbW9kYWwgYm9keVxyXG5AbW9kYWwtaW5uZXItcGFkZGluZzogICAgICAgICAxNXB4O1xyXG5cclxuLy8qKiBQYWRkaW5nIGFwcGxpZWQgdG8gdGhlIG1vZGFsIHRpdGxlXHJcbkBtb2RhbC10aXRsZS1wYWRkaW5nOiAgICAgICAgIDE1cHg7XHJcbi8vKiogTW9kYWwgdGl0bGUgbGluZS1oZWlnaHRcclxuQG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0OiAgICAgQGxpbmUtaGVpZ2h0LWJhc2U7XHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgY29udGVudCBhcmVhXHJcbkBtb2RhbC1jb250ZW50LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBNb2RhbCBjb250ZW50IGJvcmRlciBjb2xvclxyXG5AbW9kYWwtY29udGVudC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIHJnYmEoMCwwLDAsLjIpO1xyXG4vLyoqIE1vZGFsIGNvbnRlbnQgYm9yZGVyIGNvbG9yICoqZm9yIElFOCoqXHJcbkBtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjogICAgICAgICAgIzk5OTtcclxuXHJcbi8vKiogTW9kYWwgYmFja2Ryb3AgYmFja2dyb3VuZCBjb2xvclxyXG5AbW9kYWwtYmFja2Ryb3AtYmc6ICAgICAgICAgICAjMDAwO1xyXG4vLyoqIE1vZGFsIGJhY2tkcm9wIG9wYWNpdHlcclxuQG1vZGFsLWJhY2tkcm9wLW9wYWNpdHk6ICAgICAgLjU7XHJcbi8vKiogTW9kYWwgaGVhZGVyIGJvcmRlciBjb2xvclxyXG5AbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAjZTVlNWU1O1xyXG4vLyoqIE1vZGFsIGZvb3RlciBib3JkZXIgY29sb3JcclxuQG1vZGFsLWZvb3Rlci1ib3JkZXItY29sb3I6ICAgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XHJcblxyXG5AbW9kYWwtbGc6ICAgICAgICAgICAgICAgICAgICA5MDBweDtcclxuQG1vZGFsLW1kOiAgICAgICAgICAgICAgICAgICAgNjAwcHg7XHJcbkBtb2RhbC1zbTogICAgICAgICAgICAgICAgICAgIDMwMHB4O1xyXG5cclxuXHJcbi8vPT0gQWxlcnRzXHJcbi8vXHJcbi8vIyMgRGVmaW5lIGFsZXJ0IGNvbG9ycywgYm9yZGVyIHJhZGl1cywgYW5kIHBhZGRpbmcuXHJcblxyXG5AYWxlcnQtcGFkZGluZzogICAgICAgICAgICAgICA4cHg7XHJcbkBhbGVydC1ib3JkZXItcmFkaXVzOiAgICAgICAgIEBib3JkZXItcmFkaXVzLXNtYWxsO1xyXG5AYWxlcnQtbGluay1mb250LXdlaWdodDogICAgICBib2xkO1xyXG5cclxuQGFsZXJ0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgQGJyYW5kLXN1Y2Nlc3M7XHJcbkBhbGVydC1zdWNjZXNzLXRleHQ6ICAgICAgICAgICNmZmY7XHJcbkBhbGVydC1zdWNjZXNzLWJvcmRlcjogICAgICAgIHJnYmEoMCwwLDAsLjEpO1xyXG5cclxuQGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgQGJyYW5kLWluZm87XHJcbkBhbGVydC1pbmZvLXRleHQ6ICAgICAgICAgICAgICNmZmY7XHJcbkBhbGVydC1pbmZvLWJvcmRlcjogICAgICAgICAgIHJnYmEoMCwwLDAsLjEpO1xyXG5cclxuQGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgQGJyYW5kLXdhcm5pbmc7XHJcbkBhbGVydC13YXJuaW5nLXRleHQ6ICAgICAgICAgICNmZmY7XHJcbkBhbGVydC13YXJuaW5nLWJvcmRlcjogICAgICAgIHJnYmEoMCwwLDAsLjEpO1xyXG5cclxuQGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgQGJyYW5kLWRhbmdlcjtcclxuQGFsZXJ0LWRhbmdlci10ZXh0OiAgICAgICAgICAgI2ZmZjtcclxuQGFsZXJ0LWRhbmdlci1ib3JkZXI6ICAgICAgICAgcmdiYSgwLDAsMCwuMSk7XHJcblxyXG5cclxuLy89PSBQcm9ncmVzcyBiYXJzXHJcbi8vXHJcbi8vIyNcclxuXHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgd2hvbGUgcHJvZ3Jlc3MgY29tcG9uZW50XHJcbkBwcm9ncmVzcy1iZzogICAgICAgICAgICAgICAgICNmMWYxZjE7XHJcbi8vKiogUHJvZ3Jlc3MgYmFyIHRleHQgY29sb3JcclxuQHByb2dyZXNzLWJhci1jb2xvcjogICAgICAgICAgI2ZmZjtcclxuXHJcbi8vKiogRGVmYXVsdCBwcm9ncmVzcyBiYXIgY29sb3JcclxuQHByb2dyZXNzLWJhci1iZzogICAgICAgICAgICAgQGJyYW5kLXByaW1hcnk7XHJcbi8vKiogU3VjY2VzcyBwcm9ncmVzcyBiYXIgY29sb3JcclxuQHByb2dyZXNzLWJhci1zdWNjZXNzLWJnOiAgICAgQGJyYW5kLXN1Y2Nlc3M7XHJcbi8vKiogV2FybmluZyBwcm9ncmVzcyBiYXIgY29sb3JcclxuQHByb2dyZXNzLWJhci13YXJuaW5nLWJnOiAgICAgQGJyYW5kLXdhcm5pbmc7XHJcbi8vKiogRGFuZ2VyIHByb2dyZXNzIGJhciBjb2xvclxyXG5AcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZzogICAgICBAYnJhbmQtZGFuZ2VyO1xyXG4vLyoqIEluZm8gcHJvZ3Jlc3MgYmFyIGNvbG9yXHJcbkBwcm9ncmVzcy1iYXItaW5mby1iZzogICAgICAgIEBicmFuZC1pbmZvO1xyXG5cclxuXHJcbi8vPT0gTGlzdCBncm91cFxyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIEJhY2tncm91bmQgY29sb3Igb24gYC5saXN0LWdyb3VwLWl0ZW1gXHJcbkBsaXN0LWdyb3VwLWJnOiAgICAgICAgICAgICAgICAgI2ZmZjtcclxuLy8qKiBgLmxpc3QtZ3JvdXAtaXRlbWAgYm9yZGVyIGNvbG9yXHJcbkBsaXN0LWdyb3VwLWJvcmRlcjogICAgICAgICAgICAgI2YxZjJmMztcclxuLy8qKiBMaXN0IGdyb3VwIGJvcmRlciByYWRpdXNcclxuQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1czogICAgICBAYm9yZGVyLXJhZGl1cy1iYXNlO1xyXG5cclxuLy8qKiBCYWNrZ3JvdW5kIGNvbG9yIG9mIHNpbmdsZSBsaXN0IGl0ZW1zIG9uIGhvdmVyXHJcbkBsaXN0LWdyb3VwLWhvdmVyLWJnOiAgICAgICAgICAgI2ZhZmJmYztcclxuLy8qKiBUZXh0IGNvbG9yIG9mIGFjdGl2ZSBsaXN0IGl0ZW1zXHJcbkBsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjogICAgICAgQGNvbXBvbmVudC1hY3RpdmUtY29sb3I7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBhY3RpdmUgbGlzdCBpdGVtc1xyXG5AbGlzdC1ncm91cC1hY3RpdmUtYmc6ICAgICAgICAgIEBjb21wb25lbnQtYWN0aXZlLWJnO1xyXG4vLyoqIEJvcmRlciBjb2xvciBvZiBhY3RpdmUgbGlzdCBlbGVtZW50c1xyXG5AbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyOiAgICAgIEBsaXN0LWdyb3VwLWFjdGl2ZS1iZztcclxuLy8qKiBUZXh0IGNvbG9yIGZvciBjb250ZW50IHdpdGhpbiBhY3RpdmUgbGlzdCBpdGVtc1xyXG5AbGlzdC1ncm91cC1hY3RpdmUtdGV4dC1jb2xvcjogIGxpZ2h0ZW4oQGxpc3QtZ3JvdXAtYWN0aXZlLWJnLCA0MCUpO1xyXG5cclxuLy8qKiBUZXh0IGNvbG9yIG9mIGRpc2FibGVkIGxpc3QgaXRlbXNcclxuQGxpc3QtZ3JvdXAtZGlzYWJsZWQtY29sb3I6ICAgICAgQGdyYXktbGlnaHQ7XHJcbi8vKiogQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCBsaXN0IGl0ZW1zXHJcbkBsaXN0LWdyb3VwLWRpc2FibGVkLWJnOiAgICAgICAgIEBncmF5LWxpZ2h0ZXI7XHJcbi8vKiogVGV4dCBjb2xvciBmb3IgY29udGVudCB3aXRoaW4gZGlzYWJsZWQgbGlzdCBpdGVtc1xyXG5AbGlzdC1ncm91cC1kaXNhYmxlZC10ZXh0LWNvbG9yOiBAbGlzdC1ncm91cC1kaXNhYmxlZC1jb2xvcjtcclxuXHJcbkBsaXN0LWdyb3VwLWxpbmstY29sb3I6ICAgICAgICAgIzU1NTtcclxuQGxpc3QtZ3JvdXAtbGluay1ob3Zlci1jb2xvcjogICBAbGlzdC1ncm91cC1saW5rLWNvbG9yO1xyXG5AbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I6ICMzMzM7XHJcblxyXG5cclxuLy89PSBQYW5lbHNcclxuLy9cclxuLy8jI1xyXG5AcGFuZWwtZ2xvYmFsLWJvcmRlcjogICAgICAgICBAZ3JheS1saWdodDtcclxuXHJcbkBwYW5lbC1iZzogICAgICAgICAgICAgICAgICAgICNmZmY7XHJcbkBwYW5lbC1ib2R5LXBhZGRpbmc6ICAgICAgICAgIDE1cHg7XHJcbkBwYW5lbC1oZWFkaW5nLXBhZGRpbmc6ICAgICAgIDEwcHggMTVweDtcclxuQHBhbmVsLWZvb3Rlci1wYWRkaW5nOiAgICAgICAgQHBhbmVsLWhlYWRpbmctcGFkZGluZztcclxuQHBhbmVsLWJvcmRlci1yYWRpdXM6ICAgICAgICAgQGJvcmRlci1yYWRpdXMtbGFyZ2U7XHJcblxyXG4vLyoqIEJvcmRlciBjb2xvciBmb3IgZWxlbWVudHMgd2l0aGluIHBhbmVsc1xyXG5AcGFuZWwtaW5uZXItYm9yZGVyOiAgICAgICAgICAjZWVlO1xyXG5AcGFuZWwtZm9vdGVyLWJnOiAgICAgICAgICAgICAjZjFmMWY1O1xyXG5cclxuQHBhbmVsLWRlZmF1bHQtdGV4dDogICAgICAgICAgIzQ0NDtcclxuQHBhbmVsLWRlZmF1bHQtYm9yZGVyOiAgICAgICAgQHBhbmVsLWdsb2JhbC1ib3JkZXI7XHJcbkBwYW5lbC1kZWZhdWx0LWhlYWRpbmctYmc6ICAgICNmZmY7XHJcblxyXG5AcGFuZWwtcHJpbWFyeS10ZXh0OiAgICAgICAgICAjZmZmO1xyXG5AcGFuZWwtcHJpbWFyeS1ib3JkZXI6ICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcclxuQHBhbmVsLXByaW1hcnktaGVhZGluZy1iZzogICAgQGJyYW5kLXByaW1hcnk7XHJcblxyXG5AcGFuZWwtc3VjY2Vzcy10ZXh0OiAgICAgICAgICAjZmZmO1xyXG5AcGFuZWwtc3VjY2Vzcy1ib3JkZXI6ICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcclxuQHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzogICAgQGJyYW5kLXN1Y2Nlc3M7XHJcblxyXG5AcGFuZWwtaW5mby10ZXh0OiAgICAgICAgICAgICAjZmZmO1xyXG5AcGFuZWwtaW5mby1ib3JkZXI6ICAgICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcclxuQHBhbmVsLWluZm8taGVhZGluZy1iZzogICAgICAgQGJyYW5kLWluZm87XHJcblxyXG5AcGFuZWwtd2FybmluZy10ZXh0OiAgICAgICAgICAjZmZmO1xyXG5AcGFuZWwtd2FybmluZy1ib3JkZXI6ICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcclxuQHBhbmVsLXdhcm5pbmctaGVhZGluZy1iZzogICAgQGJyYW5kLXdhcm5pbmc7XHJcblxyXG5AcGFuZWwtZGFuZ2VyLXRleHQ6ICAgICAgICAgICAjZmZmO1xyXG5AcGFuZWwtZGFuZ2VyLWJvcmRlcjogICAgICAgICBAcGFuZWwtZ2xvYmFsLWJvcmRlcjtcclxuQHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOiAgICAgQGJyYW5kLWRhbmdlcjtcclxuXHJcblxyXG4vLz09IFRodW1ibmFpbHNcclxuLy9cclxuLy8jI1xyXG5cclxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGltYWdlXHJcbkB0aHVtYm5haWwtcGFkZGluZzogICAgICAgICAgIDJweDtcclxuLy8qKiBUaHVtYm5haWwgYmFja2dyb3VuZCBjb2xvclxyXG5AdGh1bWJuYWlsLWJnOiAgICAgICAgICAgICAgICAjZTFlMmUzO1xyXG4vLyoqIFRodW1ibmFpbCBib3JkZXIgY29sb3JcclxuQHRodW1ibmFpbC1ib3JkZXI6ICAgICAgICAgICAgI2UxZTJlMztcclxuLy8qKiBUaHVtYm5haWwgYm9yZGVyIHJhZGl1c1xyXG5AdGh1bWJuYWlsLWJvcmRlci1yYWRpdXM6ICAgICBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxuXHJcbi8vKiogQ3VzdG9tIHRleHQgY29sb3IgZm9yIHRodW1ibmFpbCBjYXB0aW9uc1xyXG5AdGh1bWJuYWlsLWNhcHRpb24tY29sb3I6ICAgICBAdGV4dC1jb2xvcjtcclxuLy8qKiBQYWRkaW5nIGFyb3VuZCB0aGUgdGh1bWJuYWlsIGNhcHRpb25cclxuQHRodW1ibmFpbC1jYXB0aW9uLXBhZGRpbmc6ICAgOXB4O1xyXG5cclxuXHJcbi8vPT0gV2VsbHNcclxuLy9cclxuLy8jI1xyXG5cclxuQHdlbGwtYmc6ICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuQHdlbGwtYm9yZGVyOiAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHRlcjtcclxuXHJcblxyXG4vLz09IEJhZGdlc1xyXG4vL1xyXG4vLyMjXHJcblxyXG5AYmFkZ2UtY29sb3I6ICAgICAgICAgICAgICAgICAjZmZmO1xyXG4vLyoqIExpbmtlZCBiYWRnZSB0ZXh0IGNvbG9yIG9uIGhvdmVyXHJcbkBiYWRnZS1saW5rLWhvdmVyLWNvbG9yOiAgICAgICNmZmY7XHJcbkBiYWRnZS1iZzogICAgICAgICAgICAgICAgICAgIEBncmF5LWxpZ2h0O1xyXG5cclxuLy8qKiBCYWRnZSB0ZXh0IGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xyXG5AYmFkZ2UtYWN0aXZlLWNvbG9yOiAgICAgICAgICBAbGluay1jb2xvcjtcclxuLy8qKiBCYWRnZSBiYWNrZ3JvdW5kIGNvbG9yIGluIGFjdGl2ZSBuYXYgbGlua1xyXG5AYmFkZ2UtYWN0aXZlLWJnOiAgICAgICAgICAgICAjZmZmO1xyXG5cclxuQGJhZGdlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZDtcclxuQGJhZGdlLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgMTtcclxuQGJhZGdlLWJvcmRlci1yYWRpdXM6ICAgICAgICAgMTBweDtcclxuXHJcblxyXG4vLz09IEJyZWFkY3J1bWJzXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWw6ICAgMTJweDtcclxuQGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsOiAxNXB4O1xyXG4vLyoqIEJyZWFkY3J1bWIgYmFja2dyb3VuZCBjb2xvclxyXG5AYnJlYWRjcnVtYi1iZzogICAgICAgICAgICAgICAgICNmYWZhZmE7XHJcbi8vKiogQnJlYWRjcnVtYiB0ZXh0IGNvbG9yXHJcbkBicmVhZGNydW1iLWNvbG9yOiAgICAgICAgICAgICAgI2MxYzJjMztcclxuLy8qKiBUZXh0IGNvbG9yIG9mIGN1cnJlbnQgcGFnZSBpbiB0aGUgYnJlYWRjcnVtYlxyXG5AYnJlYWRjcnVtYi1hY3RpdmUtY29sb3I6ICAgICAgIEB0ZXh0LWNvbG9yO1xyXG4vLyoqIFRleHR1YWwgc2VwYXJhdG9yIGZvciBiZXR3ZWVuIGJyZWFkY3J1bWIgZWxlbWVudHNcclxuQGJyZWFkY3J1bWItc2VwYXJhdG9yOiAgICAgICAgICBcIj5cIjtcclxuXHJcblxyXG4vLz09IENhcm91c2VsXHJcbi8vXHJcbi8vIyNcclxuXHJcbkBjYXJvdXNlbC10ZXh0LXNoYWRvdzogICAgICAgICAgICAgICAgICAgICAgICAwIDFweCAycHggcmdiYSgwLDAsMCwuNik7XHJcblxyXG5AY2Fyb3VzZWwtY29udHJvbC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgIDE1JTtcclxuQGNhcm91c2VsLWNvbnRyb2wtb3BhY2l0eTogICAgICAgICAgICAgICAgICAgIC41O1xyXG5AY2Fyb3VzZWwtY29udHJvbC1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgMjBweDtcclxuXHJcbkBjYXJvdXNlbC1pbmRpY2F0b3ItYWN0aXZlLWJnOiAgICAgICAgICAgICAgICAjZmZmO1xyXG5AY2Fyb3VzZWwtaW5kaWNhdG9yLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgI2ZmZjtcclxuXHJcbkBjYXJvdXNlbC1jYXB0aW9uLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjZmZmO1xyXG5cclxuXHJcbi8vPT0gQ2xvc2VcclxuLy9cclxuLy8jI1xyXG5cclxuQGNsb3NlLWZvbnQtd2VpZ2h0OiAgICAgICAgICAgYm9sZDtcclxuQGNsb3NlLWNvbG9yOiAgICAgICAgICAgICAgICAgIzAwMDtcclxuQGNsb3NlLXRleHQtc2hhZG93OiAgICAgICAgICAgMCAxcHggMCAjZmZmO1xyXG5cclxuXHJcbi8vPT0gQ29kZVxyXG4vL1xyXG4vLyMjXHJcblxyXG5AY29kZS1jb2xvcjogICAgICAgICAgICAgICAgICAjMjU5Q0M3O1xyXG5AY29kZS1iZzogICAgICAgICAgICAgICAgICAgICAjRjJGN0Y5O1xyXG5cclxuQGtiZC1jb2xvcjogICAgICAgICAgICAgICAgICAgI2ZmZjtcclxuQGtiZC1iZzogICAgICAgICAgICAgICAgICAgICAgIzMzMztcclxuXHJcbkBwcmUtYmc6ICAgICAgICAgICAgICAgICAgICAgICNmNWY1ZjU7XHJcbkBwcmUtY29sb3I6ICAgICAgICAgICAgICAgICAgIEBncmF5LWRhcms7XHJcbkBwcmUtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICNjY2M7XHJcbkBwcmUtc2Nyb2xsYWJsZS1tYXgtaGVpZ2h0OiAgIDM0MHB4O1xyXG5cclxuXHJcbi8vPT0gVHlwZVxyXG4vL1xyXG4vLyMjXHJcblxyXG4vLyoqIEhvcml6b250YWwgb2Zmc2V0IGZvciBmb3JtcyBhbmQgbGlzdHMuXHJcbkBjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw6IDE4MHB4O1xyXG4vLyoqIFRleHQgbXV0ZWQgY29sb3JcclxuQHRleHQtbXV0ZWQ6ICAgICAgICAgICAgICAgICAgIzgzOTRhOTtcclxuLy8qKiBBYmJyZXZpYXRpb25zIGFuZCBhY3JvbnltcyBib3JkZXIgY29sb3JcclxuQGFiYnItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgQGdyYXktZGFyaztcclxuLy8qKiBIZWFkaW5ncyBzbWFsbCBjb2xvclxyXG5AaGVhZGluZ3Mtc21hbGwtY29sb3I6ICAgICAgICBAZ3JheS1kYXJrO1xyXG4vLyoqIEJsb2NrcXVvdGUgc21hbGwgY29sb3JcclxuQGJsb2NrcXVvdGUtc21hbGwtY29sb3I6ICAgICAgQGdyYXktZGFyaztcclxuLy8qKiBCbG9ja3F1b3RlIGZvbnQgc2l6ZVxyXG5AYmxvY2txdW90ZS1mb250LXNpemU6ICAgICAgICAoQGZvbnQtc2l6ZS1iYXNlICogMS4yNSk7XHJcbi8vKiogQmxvY2txdW90ZSBib3JkZXIgY29sb3JcclxuQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yOiAgICAgQGdyYXktbGlnaHRlcjtcclxuLy8qKiBQYWdlIGhlYWRlciBib3JkZXIgY29sb3JcclxuQHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgQGdyYXktbGlnaHRlcjtcclxuLy8qKiBXaWR0aCBvZiBob3Jpem9udGFsIGRlc2NyaXB0aW9uIGxpc3QgdGl0bGVzXHJcbkBkbC1ob3Jpem9udGFsLW9mZnNldDogICAgICAgIEBjb21wb25lbnQtb2Zmc2V0LWhvcml6b250YWw7XHJcbi8vKiogSG9yaXpvbnRhbCBsaW5lIGNvbG9yLlxyXG5AaHItYm9yZGVyOiAgICAgICAgICAgICAgICAgICBAZ3JheS1saWdodGVyO1xyXG5cclxuXHJcbiIsIi8vIFdlYktpdC1zdHlsZSBmb2N1c1xuXG4udGFiLWZvY3VzKCkge1xuICAvLyBEZWZhdWx0XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xuICAvLyBXZWJLaXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cbiIsIi8vXG4vLyBUaHVtYm5haWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1peGluIGFuZCBhZGp1c3QgdGhlIHJlZ3VsYXIgaW1hZ2UgY2xhc3Ncbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogQHRodW1ibmFpbC1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRodW1ibmFpbC1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQHRodW1ibmFpbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEB0aHVtYm5haWwtYm9yZGVyLXJhZGl1cztcbiAgLnRyYW5zaXRpb24oYm9yZGVyIC4ycyBlYXNlLWluLW91dCk7XG5cbiAgPiBpbWcsXG4gIGEgPiBpbWcge1xuICAgICY6ZXh0ZW5kKC5pbWctcmVzcG9uc2l2ZSk7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLy8gQWRkIGEgaG92ZXIgc3RhdGUgZm9yIGxpbmtlZCB2ZXJzaW9ucyBvbmx5XG4gIGEmOmhvdmVyLFxuICBhJjpmb2N1cyxcbiAgYSYuYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6IEBsaW5rLWNvbG9yO1xuICB9XG5cbiAgLy8gSW1hZ2UgY2FwdGlvbnNcbiAgLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IEB0aHVtYm5haWwtY2FwdGlvbi1wYWRkaW5nO1xuICAgIGNvbG9yOiBAdGh1bWJuYWlsLWNhcHRpb24tY29sb3I7XG4gIH1cbn1cbiIsIi8vXG4vLyBDYXJvdXNlbFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGZvciB0aGUgc2xpZGUgY29udGFpbmVyIGFuZCBpbmRpY2F0b3JzXG4uY2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jYXJvdXNlbC1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgPiAuaXRlbSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLnRyYW5zaXRpb24oLjZzIGVhc2UtaW4tb3V0IGxlZnQpO1xuXG4gICAgLy8gQWNjb3VudCBmb3IgamFua2l0dWRlIG9uIGltYWdlc1xuICAgID4gaW1nLFxuICAgID4gYSA+IGltZyB7XG4gICAgICAmOmV4dGVuZCguaW1nLXJlc3BvbnNpdmUpO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLy8gV2ViS2l0IENTUzMgdHJhbnNmb3JtcyBmb3Igc3VwcG9ydGVkIGRldmljZXNcbiAgICBAbWVkaWEgYWxsIGFuZCAodHJhbnNmb3JtLTNkKSwgKC13ZWJraXQtdHJhbnNmb3JtLTNkKSB7XG4gICAgICAudHJhbnNpdGlvbi10cmFuc2Zvcm0oficwLjZzIGVhc2UtaW4tb3V0Jyk7XG4gICAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eSh+J2hpZGRlbicpO1xuICAgICAgLnBlcnNwZWN0aXZlKDEwMDBweCk7XG5cbiAgICAgICYubmV4dCxcbiAgICAgICYuYWN0aXZlLnJpZ2h0IHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgICAgJi5wcmV2LFxuICAgICAgJi5hY3RpdmUubGVmdCB7XG4gICAgICAgIC50cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAmLm5leHQubGVmdCxcbiAgICAgICYucHJldi5yaWdodCxcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgLnRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSxcbiAgPiAubmV4dCxcbiAgPiAucHJldiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogQGNhcm91c2VsLWNvbnRyb2wtd2lkdGg7XG4gIC5vcGFjaXR5KEBjYXJvdXNlbC1jb250cm9sLW9wYWNpdHkpO1xuICBmb250LXNpemU6IEBjYXJvdXNlbC1jb250cm9sLWZvbnQtc2l6ZTtcbiAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiBAY2Fyb3VzZWwtdGV4dC1zaGFkb3c7XG4gIC8vIFdlIGNhbid0IGhhdmUgdGhpcyB0cmFuc2l0aW9uIGhlcmUgYmVjYXVzZSBXZWJLaXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGUgaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvbi5cblxuICAvLyBTZXQgZ3JhZGllbnRzIGZvciBiYWNrZ3JvdW5kc1xuICAmLmxlZnQge1xuICAgICNncmFkaWVudCA+IC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuNSk7IEBlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjAwMDEpKTtcbiAgfVxuICAmLnJpZ2h0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgICNncmFkaWVudCA+IC5ob3Jpem9udGFsKEBzdGFydC1jb2xvcjogcmdiYSgwLDAsMCwuMDAwMSk7IEBlbmQtY29sb3I6IHJnYmEoMCwwLDAsLjUpKTtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDA7XG4gICAgY29sb3I6IEBjYXJvdXNlbC1jb250cm9sLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAub3BhY2l0eSguOSk7XG4gIH1cblxuICAvLyBUb2dnbGVzXG4gIC5pY29uLXByZXYsXG4gIC5pY29uLW5leHQsXG4gIC5nbHlwaGljb24tY2hldnJvbi1sZWZ0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICB6LWluZGV4OiA1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuaWNvbi1wcmV2LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgfVxuICAuaWNvbi1uZXh0LFxuICAuZ2x5cGhpY29uLWNoZXZyb24tcmlnaHQge1xuICAgIHJpZ2h0OiA1MCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMTBweDtcbiAgfVxuICAuaWNvbi1wcmV2LFxuICAuaWNvbi1uZXh0IHtcbiAgICB3aWR0aDogIDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgfVxuXG5cbiAgLmljb24tcHJldiB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAzOSc7Ly8gU0lOR0xFIExFRlQtUE9JTlRJTkcgQU5HTEUgUVVPVEFUSU9OIE1BUksgKFUrMjAzOSlcbiAgICB9XG4gIH1cbiAgLmljb24tbmV4dCB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAzYSc7Ly8gU0lOR0xFIFJJR0hULVBPSU5USU5HIEFOR0xFIFFVT1RBVElPTiBNQVJLIChVKzIwM0EpXG4gICAgfVxuICB9XG59XG5cbi8vIE9wdGlvbmFsIGluZGljYXRvciBwaXBzXG4vL1xuLy8gQWRkIGFuIHVub3JkZXJlZCBsaXN0IHdpdGggdGhlIGZvbGxvd2luZyBjbGFzcyBhbmQgYWRkIGEgbGlzdCBpdGVtIGZvciBlYWNoXG4vLyBzbGlkZSB5b3VyIGNhcm91c2VsIGhvbGRzLlxuXG4uY2Fyb3VzZWwtaW5kaWNhdG9ycyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAxMHB4O1xuICBsZWZ0OiA1MCU7XG4gIHotaW5kZXg6IDE1O1xuICB3aWR0aDogNjAlO1xuICBtYXJnaW4tbGVmdDogLTMwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogIDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMXB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgQGNhcm91c2VsLWluZGljYXRvci1ib3JkZXItY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAvLyBJRTgtOSBoYWNrIGZvciBldmVudCBoYW5kbGluZ1xuICAgIC8vXG4gICAgLy8gSW50ZXJuZXQgRXhwbG9yZXIgOC05IGRvZXMgbm90IHN1cHBvcnQgY2xpY2tzIG9uIGVsZW1lbnRzIHdpdGhvdXQgYSBzZXRcbiAgICAvLyBgYmFja2dyb3VuZC1jb2xvcmAuIFdlIGNhbm5vdCB1c2UgYGZpbHRlcmAgc2luY2UgdGhhdCdzIG5vdCB2aWV3ZWQgYXMgYVxuICAgIC8vIGJhY2tncm91bmQgY29sb3IgYnkgdGhlIGJyb3dzZXIuIFRodXMsIGEgaGFjayBpcyBuZWVkZWQuXG4gICAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNJbnRlcm5ldF9FeHBsb3JlclxuICAgIC8vXG4gICAgLy8gRm9yIElFOCwgd2Ugc2V0IHNvbGlkIGJsYWNrIGFzIGl0IGRvZXNuJ3Qgc3VwcG9ydCBgcmdiYSgpYC4gRm9yIElFOSwgd2VcbiAgICAvLyBzZXQgYWxwaGEgdHJhbnNwYXJlbmN5IGZvciB0aGUgYmVzdCByZXN1bHRzIHBvc3NpYmxlLlxuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAgXFw5OyAvLyBJRThcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDApOyAvLyBJRTlcbiAgfVxuICAuYWN0aXZlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6ICAxMnB4O1xuICAgIGhlaWdodDogMTJweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY2Fyb3VzZWwtaW5kaWNhdG9yLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBPcHRpb25hbCBjYXB0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhpZGRlbiBieSBkZWZhdWx0IGZvciBzbWFsbGVyIHZpZXdwb3J0c1xuLmNhcm91c2VsLWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDE1JTtcbiAgcmlnaHQ6IDE1JTtcbiAgYm90dG9tOiAyMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZy10b3A6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICBjb2xvcjogQGNhcm91c2VsLWNhcHRpb24tY29sb3I7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IEBjYXJvdXNlbC10ZXh0LXNoYWRvdztcbiAgJiAuYnRuIHtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTsgLy8gTm8gc2hhZG93IGZvciBidXR0b24gZWxlbWVudHMgaW4gY2Fyb3VzZWwtY2FwdGlvblxuICB9XG59XG5cblxuLy8gU2NhbGUgdXAgY29udHJvbHMgZm9yIHRhYmxldHMgYW5kIHVwXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuXG4gIC8vIFNjYWxlIHVwIHRoZSBjb250cm9scyBhIHNtaWRnZVxuICAuY2Fyb3VzZWwtY29udHJvbCB7XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLWxlZnQsXG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLXByZXYsXG4gICAgLmljb24tbmV4dCB7XG4gICAgICB3aWR0aDogMzBweDtcbiAgICAgIGhlaWdodDogMzBweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xNXB4O1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgIH1cbiAgICAuZ2x5cGhpY29uLWNoZXZyb24tbGVmdCxcbiAgICAuaWNvbi1wcmV2IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICB9XG4gICAgLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0LFxuICAgIC5pY29uLW5leHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgICB9XG4gIH1cblxuICAvLyBTaG93IGFuZCBsZWZ0IGFsaWduIHRoZSBjYXB0aW9uc1xuICAuY2Fyb3VzZWwtY2FwdGlvbiB7XG4gICAgbGVmdDogMjAlO1xuICAgIHJpZ2h0OiAyMCU7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gIH1cblxuICAvLyBNb3ZlIHVwIHRoZSBpbmRpY2F0b3JzXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgICBib3R0b206IDIwcHg7XG4gIH1cbn1cbiIsIi8vIEltYWdlIE1peGluc1xuLy8gLSBSZXNwb25zaXZlIGltYWdlXG4vLyAtIFJldGluYSBpbWFnZVxuXG5cbi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuLmltZy1yZXNwb25zaXZlKEBkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiBAZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbi5pbWctcmV0aW5hKEBmaWxlLTF4OyBAZmlsZS0yeDsgQHdpZHRoLTF4OyBAaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIkB7ZmlsZS0xeH1cIik7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggICBtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgIG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgICAgICAgICAgICBtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSxcbiAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtmaWxlLTJ4fVwiKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IEB3aWR0aC0xeCBAaGVpZ2h0LTF4O1xuICB9XG59XG4iLCIvL1xuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG4gIGZvbnQtZmFtaWx5OiBAaGVhZGluZ3MtZm9udC1mYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiBAaGVhZGluZ3MtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiBAaGVhZGluZ3MtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiBAaGVhZGluZ3MtY29sb3I7XG5cbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogQGhlYWRpbmdzLXNtYWxsLWNvbG9yO1xuICB9XG59XG5cbmgxLCAuaDEsXG5oMiwgLmgyLFxuaDMsIC5oMyB7XG4gIG1hcmdpbi10b3A6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgbWFyZ2luLWJvdHRvbTogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpO1xuXG4gIHNtYWxsLFxuICAuc21hbGwge1xuICAgIGZvbnQtc2l6ZTogNjUlO1xuICB9XG59XG5oNCwgLmg0LFxuaDUsIC5oNSxcbmg2LCAuaDYge1xuICBtYXJnaW4tdG9wOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIG1hcmdpbi1ib3R0b206IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKTtcblxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgfVxufVxuXG5oMSwgLmgxIHsgZm9udC1zaXplOiBAZm9udC1zaXplLWgxOyB9XG5oMiwgLmgyIHsgZm9udC1zaXplOiBAZm9udC1zaXplLWgyOyB9XG5oMywgLmgzIHsgZm9udC1zaXplOiBAZm9udC1zaXplLWgzOyB9XG5oNCwgLmg0IHsgZm9udC1zaXplOiBAZm9udC1zaXplLWg0OyB9XG5oNSwgLmg1IHsgZm9udC1zaXplOiBAZm9udC1zaXplLWg1OyB9XG5oNiwgLmg2IHsgZm9udC1zaXplOiBAZm9udC1zaXplLWg2OyB9XG5cblxuLy8gQm9keSB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbnAge1xuICBtYXJnaW46IDAgMCAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG59XG5cbi5sZWFkIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IGZsb29yKChAZm9udC1zaXplLWJhc2UgKiAxLjE1KSk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgZm9udC1zaXplOiAoQGZvbnQtc2l6ZS1iYXNlICogMS41KTtcbiAgfVxufVxuXG5cbi8vIEVtcGhhc2lzICYgbWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFeDogKDEycHggc21hbGwgZm9udCAvIDE0cHggYmFzZSBmb250KSAqIDEwMCUgPSBhYm91dCA4NSVcbnNtYWxsLFxuLnNtYWxsIHtcbiAgZm9udC1zaXplOiBmbG9vcigoMTAwJSAqIEBmb250LXNpemUtc21hbGwgLyBAZm9udC1zaXplLWJhc2UpKTtcbn1cblxubWFyayxcbi5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHN0YXRlLXdhcm5pbmctYmc7XG4gIHBhZGRpbmc6IC4yZW07XG59XG5cbi8vIEFsaWdubWVudFxuLnRleHQtbGVmdCAgICAgICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4udGV4dC1yaWdodCAgICAgICAgICB7IHRleHQtYWxpZ246IHJpZ2h0OyB9XG4udGV4dC1jZW50ZXIgICAgICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG4udGV4dC1ub3dyYXAgICAgICAgICB7IHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLy8gVHJhbnNmb3JtYXRpb25cbi50ZXh0LWxvd2VyY2FzZSAgICAgIHsgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTsgfVxuLnRleHQtdXBwZXJjYXNlICAgICAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4udGV4dC1jYXBpdGFsaXplICAgICB7IHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi8vIENvbnRleHR1YWwgY29sb3JzXG4udGV4dC1tdXRlZCB7XG4gIGNvbG9yOiBAdGV4dC1tdXRlZDtcbn1cbi50ZXh0LXByaW1hcnkge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBicmFuZC1wcmltYXJ5KTtcbn1cbi50ZXh0LXN1Y2Nlc3Mge1xuICAudGV4dC1lbXBoYXNpcy12YXJpYW50KEBzdGF0ZS1zdWNjZXNzLXRleHQpO1xufVxuLnRleHQtaW5mbyB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLWluZm8tdGV4dCk7XG59XG4udGV4dC13YXJuaW5nIHtcbiAgLnRleHQtZW1waGFzaXMtdmFyaWFudChAc3RhdGUtd2FybmluZy10ZXh0KTtcbn1cbi50ZXh0LWRhbmdlciB7XG4gIC50ZXh0LWVtcGhhc2lzLXZhcmlhbnQoQHN0YXRlLWRhbmdlci10ZXh0KTtcbn1cblxuLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuLy8gRm9yIG5vdyB3ZSdsbCBsZWF2ZSB0aGVzZSBhbG9uZ3NpZGUgdGhlIHRleHQgY2xhc3NlcyB1bnRpbCB2NCB3aGVuIHdlIGNhblxuLy8gc2FmZWx5IHNoaWZ0IHRoaW5ncyBhcm91bmQgKHBlciBTZW1WZXIgcnVsZXMpLlxuLmJnLXByaW1hcnkge1xuICAvLyBHaXZlbiB0aGUgY29udHJhc3QgaGVyZSwgdGhpcyBpcyB0aGUgb25seSBjbGFzcyB0byBoYXZlIGl0cyBjb2xvciBpbnZlcnRlZFxuICAvLyBhdXRvbWF0aWNhbGx5LlxuICBjb2xvcjogI2ZmZjtcbiAgLmJnLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpO1xufVxuLmJnLXN1Y2Nlc3Mge1xuICAuYmctdmFyaWFudChAc3RhdGUtc3VjY2Vzcy1iZyk7XG59XG4uYmctaW5mbyB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1pbmZvLWJnKTtcbn1cbi5iZy13YXJuaW5nIHtcbiAgLmJnLXZhcmlhbnQoQHN0YXRlLXdhcm5pbmctYmcpO1xufVxuLmJnLWRhbmdlciB7XG4gIC5iZy12YXJpYW50KEBzdGF0ZS1kYW5nZXItYmcpO1xufVxuXG5cbi8vIFBhZ2UgaGVhZGVyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5wYWdlLWhlYWRlciB7XG4gIHBhZGRpbmctYm90dG9tOiAoKEBsaW5lLWhlaWdodC1jb21wdXRlZCAvIDIpIC0gMSk7XG4gIG1hcmdpbjogKEBsaW5lLWhlaWdodC1jb21wdXRlZCAqIDIpIDAgQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHBhZ2UtaGVhZGVyLWJvcmRlci1jb2xvcjtcbn1cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBVbm9yZGVyZWQgYW5kIE9yZGVyZWQgbGlzdHNcbnVsLFxub2wge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIHVsLFxuICBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBMaXN0IG9wdGlvbnNcblxuLy8gVW5zdHlsZWQga2VlcHMgbGlzdCBpdGVtcyBibG9jayBsZXZlbCwganVzdCByZW1vdmVzIGRlZmF1bHQgYnJvd3NlciBwYWRkaW5nIGFuZCBsaXN0LXN0eWxlXG4ubGlzdC11bnN0eWxlZCB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8gSW5saW5lIHR1cm5zIGxpc3QgaXRlbXMgaW50byBpbmxpbmUtYmxvY2tcbi5saXN0LWlubGluZSB7XG4gIC5saXN0LXVuc3R5bGVkKCk7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4O1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuLy8gRGVzY3JpcHRpb24gTGlzdHNcbmRsIHtcbiAgbWFyZ2luLXRvcDogMDsgLy8gUmVtb3ZlIGJyb3dzZXIgZGVmYXVsdFxuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG59XG5kdCxcbmRkIHtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xufVxuZHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cbmRkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIFVuZG8gYnJvd3NlciBkZWZhdWx0XG59XG5cbi8vIEhvcml6b250YWwgZGVzY3JpcHRpb24gbGlzdHNcbi8vXG4vLyBEZWZhdWx0cyB0byBiZWluZyBzdGFja2VkIHdpdGhvdXQgYW55IG9mIHRoZSBiZWxvdyBzdHlsZXMgYXBwbGllZCwgdW50aWwgdGhlXG4vLyBncmlkIGJyZWFrcG9pbnQgaXMgcmVhY2hlZCAoZGVmYXVsdCBvZiB+NzY4cHgpLlxuXG4uZGwtaG9yaXpvbnRhbCB7XG4gIGRkIHtcbiAgICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTsgLy8gQ2xlYXIgdGhlIGZsb2F0ZWQgYGR0YCBpZiBhbiBlbXB0eSBgZGRgIGlzIHByZXNlbnRcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZHQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogKEBkbC1ob3Jpem9udGFsLW9mZnNldCAtIDIwKTtcbiAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAudGV4dC1vdmVyZmxvdygpO1xuICAgIH1cbiAgICBkZCB7XG4gICAgICBtYXJnaW4tbGVmdDogQGRsLWhvcml6b250YWwtb2Zmc2V0O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE1pc2Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQWJicmV2aWF0aW9ucyBhbmQgYWNyb255bXNcbmFiYnJbdGl0bGVdLFxuLy8gQWRkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIEBhYmJyLWJvcmRlci1jb2xvcjtcbn1cbi5pbml0aWFsaXNtIHtcbiAgZm9udC1zaXplOiA5MCU7XG4gIC50ZXh0LXVwcGVyY2FzZSgpO1xufVxuXG4vLyBCbG9ja3F1b3Rlc1xuYmxvY2txdW90ZSB7XG4gIHBhZGRpbmc6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIG1hcmdpbjogMCAwIEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgZm9udC1zaXplOiBAYmxvY2txdW90ZS1mb250LXNpemU7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuXG4gIHAsXG4gIHVsLFxuICBvbCB7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gTm90ZTogRGVwcmVjYXRlZCBzbWFsbCBhbmQgLnNtYWxsIGFzIG9mIHYzLjEuMFxuICAvLyBDb250ZXh0OiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNjYwXG4gIGZvb3RlcixcbiAgc21hbGwsXG4gIC5zbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA4MCU7IC8vIGJhY2sgdG8gZGVmYXVsdCBmb250LXNpemVcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgY29sb3I6IEBibG9ja3F1b3RlLXNtYWxsLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwQTAnOyAvLyBlbSBkYXNoLCBuYnNwXG4gICAgfVxuICB9XG59XG5cbi8vIE9wcG9zaXRlIGFsaWdubWVudCBvZiBibG9ja3F1b3RlXG4vL1xuLy8gSGVhZHMgdXA6IGBibG9ja3F1b3RlLnB1bGwtcmlnaHRgIGhhcyBiZWVuIGRlcHJlY2F0ZWQgYXMgb2YgdjMuMS4wLlxuLmJsb2NrcXVvdGUtcmV2ZXJzZSxcbmJsb2NrcXVvdGUucHVsbC1yaWdodCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgQGJsb2NrcXVvdGUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItbGVmdDogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgLy8gQWNjb3VudCBmb3IgY2l0YXRpb25cbiAgZm9vdGVyLFxuICBzbWFsbCxcbiAgLnNtYWxsIHtcbiAgICAmOmJlZm9yZSB7IGNvbnRlbnQ6ICcnOyB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7IC8vIG5ic3AsIGVtIGRhc2hcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbn1cbiIsIi8vIFR5cG9ncmFwaHlcblxuLnRleHQtZW1waGFzaXMtdmFyaWFudChAY29sb3IpIHtcbiAgY29sb3I6IEBjb2xvcjtcbiAgYSY6aG92ZXIsXG4gIGEmOmZvY3VzIHtcbiAgICBjb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy8gQ29udGV4dHVhbCBiYWNrZ3JvdW5kc1xuXG4uYmctdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICBhJjpob3ZlcixcbiAgYSY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAY29sb3IsIDEwJSk7XG4gIH1cbn1cbiIsIi8vIFRleHQgb3ZlcmZsb3dcbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcblxuLnRleHQtb3ZlcmZsb3coKSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIiwiLy9cbi8vIENvZGUgKGlubGluZSBhbmQgYmxvY2spXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1tb25vc3BhY2U7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgZm9udC1zaXplOiA5MCU7XG4gIGNvbG9yOiBAY29kZS1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvZGUtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG59XG5cbi8vIFVzZXIgaW5wdXQgdHlwaWNhbGx5IGVudGVyZWQgdmlhIGtleWJvYXJkXG5rYmQge1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBmb250LXNpemU6IDkwJTtcbiAgY29sb3I6IEBrYmQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBrYmQtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xuICBib3gtc2hhZG93OiBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG5cbiAga2JkIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLSAxKSAvIDIpO1xuICBtYXJnaW46IDAgMCAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIC8gMik7XG4gIGZvbnQtc2l6ZTogKEBmb250LXNpemUtYmFzZSAtIDEpOyAvLyAxNHB4IHRvIDEzcHhcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgY29sb3I6IEBwcmUtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcmUtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwcmUtYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiBAcHJlLXNjcm9sbGFibGUtbWF4LWhlaWdodDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuIiwiLy9cbi8vIEdyaWQgc3lzdGVtXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIENvbnRhaW5lciB3aWR0aHNcbi8vXG4vLyBTZXQgdGhlIGNvbnRhaW5lciB3aWR0aCwgYW5kIG92ZXJyaWRlIGl0IGZvciBmaXhlZCBuYXZiYXJzIGluIG1lZGlhIHF1ZXJpZXMuXG5cbi5jb250YWluZXIge1xuICAuY29udGFpbmVyLWZpeGVkKCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgd2lkdGg6IEBjb250YWluZXItc207XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgd2lkdGg6IEBjb250YWluZXItbWQ7XG4gIH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgd2lkdGg6IEBjb250YWluZXItbGc7XG4gIH1cbn1cblxuXG4vLyBGbHVpZCBjb250YWluZXJcbi8vXG4vLyBVdGlsaXplcyB0aGUgbWl4aW4gbWVhbnQgZm9yIGZpeGVkIHdpZHRoIGNvbnRhaW5lcnMsIGJ1dCB3aXRob3V0IGFueSBkZWZpbmVkXG4vLyB3aWR0aCBmb3IgZmx1aWQsIGZ1bGwgd2lkdGggbGF5b3V0cy5cblxuLmNvbnRhaW5lci1mbHVpZCB7XG4gIC5jb250YWluZXItZml4ZWQoKTtcbn1cblxuXG4vLyBSb3dcbi8vXG4vLyBSb3dzIGNvbnRhaW4gYW5kIGNsZWFyIHRoZSBmbG9hdHMgb2YgeW91ciBjb2x1bW5zLlxuXG4ucm93IHtcbiAgLm1ha2Utcm93KCk7XG59XG5cblxuLy8gQ29sdW1uc1xuLy9cbi8vIENvbW1vbiBzdHlsZXMgZm9yIHNtYWxsIGFuZCBsYXJnZSBncmlkIGNvbHVtbnNcblxuLm1ha2UtZ3JpZC1jb2x1bW5zKCk7XG5cblxuLy8gRXh0cmEgc21hbGwgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciBleHRyYSBzbWFsbCBkZXZpY2VzIGxpa2Vcbi8vIHNtYXJ0cGhvbmVzLlxuXG4ubWFrZS1ncmlkKHhzKTtcblxuXG4vLyBTbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBzbWFsbCBkZXZpY2UgcmFuZ2UsIGZyb20gcGhvbmVzXG4vLyB0byB0YWJsZXRzLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgLm1ha2UtZ3JpZChzbSk7XG59XG5cblxuLy8gTWVkaXVtIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgLm1ha2UtZ3JpZChtZCk7XG59XG5cblxuLy8gTGFyZ2UgZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgbGFyZ2UgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAubWFrZS1ncmlkKGxnKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuLmNvbnRhaW5lci1maXhlZChAZ3V0dGVyOiBAZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG4ubWFrZS1yb3coQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1sZWZ0OiAgY2VpbCgoQGd1dHRlciAvIC0yKSk7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKEBndXR0ZXIgLyAtMikpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIGV4dHJhIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXhzLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xufVxuLm1ha2UteHMtY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG59XG4ubWFrZS14cy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbn1cbi5tYWtlLXhzLWNvbHVtbi1wdWxsKEBjb2x1bW5zKSB7XG4gIHJpZ2h0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbn1cblxuLy8gR2VuZXJhdGUgdGhlIHNtYWxsIGNvbHVtbnNcbi5tYWtlLXNtLWNvbHVtbihAY29sdW1uczsgQGd1dHRlcjogQGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLWxlZnQ6ICAoQGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLXJpZ2h0OiAoQGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2Utc20tY29sdW1uLW9mZnNldChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLXNtLWNvbHVtbi1wdXNoKEBjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1zbS1jb2x1bW4tcHVsbChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG4ubWFrZS1tZC1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLW1kLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1tZC1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbWQtY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBsYXJnZSBjb2x1bW5zXG4ubWFrZS1sZy1jb2x1bW4oQGNvbHVtbnM7IEBndXR0ZXI6IEBncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1sZWZ0OiAgKEBndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1yaWdodDogKEBndXR0ZXIgLyAyKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGNvbHVtbnMgLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbi5tYWtlLWxnLWNvbHVtbi1vZmZzZXQoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4ubWFrZS1sZy1jb2x1bW4tcHVzaChAY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBsZWZ0OiBwZXJjZW50YWdlKChAY29sdW1ucyAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLm1ha2UtbGctY29sdW1uLXB1bGwoQGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBjb2x1bW5zIC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4iLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYEBncmlkLWNvbHVtbnNgLlxuXG4ubWFrZS1ncmlkLWNvbHVtbnMoKSB7XG4gIC8vIENvbW1vbiBzdHlsZXMgZm9yIGFsbCBzaXplcyBvZiBncmlkIGNvbHVtbnMsIHdpZHRocyAxLTEyXG4gIC5jb2woQGluZGV4KSB7IC8vIGluaXRpYWxcbiAgICBAaXRlbTogflwiLmNvbC14cy1Ae2luZGV4fSwgLmNvbC1zbS1Ae2luZGV4fSwgLmNvbC1tZC1Ae2luZGV4fSwgLmNvbC1sZy1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCBAaXRlbSk7XG4gIH1cbiAgLmNvbChAaW5kZXgsIEBsaXN0KSB3aGVuIChAaW5kZXggPTwgQGdyaWQtY29sdW1ucykgeyAvLyBnZW5lcmFsOyBcIj08XCIgaXNuJ3QgYSB0eXBvXG4gICAgQGl0ZW06IH5cIi5jb2wteHMtQHtpbmRleH0sIC5jb2wtc20tQHtpbmRleH0sIC5jb2wtbWQtQHtpbmRleH0sIC5jb2wtbGctQHtpbmRleH1cIjtcbiAgICAuY29sKChAaW5kZXggKyAxKSwgflwiQHtsaXN0fSwgQHtpdGVtfVwiKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA+IEBncmlkLWNvbHVtbnMpIHsgLy8gdGVybWluYWxcbiAgICBAe2xpc3R9IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIC8vIFByZXZlbnQgY29sdW1ucyBmcm9tIGNvbGxhcHNpbmcgd2hlbiBlbXB0eVxuICAgICAgbWluLWhlaWdodDogMXB4O1xuICAgICAgLy8gSW5uZXIgZ3V0dGVyIHZpYSBwYWRkaW5nXG4gICAgICBwYWRkaW5nLWxlZnQ6ICBjZWlsKChAZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICAgIH1cbiAgfVxuICAuY29sKDEpOyAvLyBraWNrc3RhcnQgaXRcbn1cblxuLmZsb2F0LWdyaWQtY29sdW1ucyhAY2xhc3MpIHtcbiAgLmNvbChAaW5kZXgpIHsgLy8gaW5pdGlhbFxuICAgIEBpdGVtOiB+XCIuY29sLUB7Y2xhc3N9LUB7aW5kZXh9XCI7XG4gICAgLmNvbCgoQGluZGV4ICsgMSksIEBpdGVtKTtcbiAgfVxuICAuY29sKEBpbmRleCwgQGxpc3QpIHdoZW4gKEBpbmRleCA9PCBAZ3JpZC1jb2x1bW5zKSB7IC8vIGdlbmVyYWxcbiAgICBAaXRlbTogflwiLmNvbC1Ae2NsYXNzfS1Ae2luZGV4fVwiO1xuICAgIC5jb2woKEBpbmRleCArIDEpLCB+XCJAe2xpc3R9LCBAe2l0ZW19XCIpO1xuICB9XG4gIC5jb2woQGluZGV4LCBAbGlzdCkgd2hlbiAoQGluZGV4ID4gQGdyaWQtY29sdW1ucykgeyAvLyB0ZXJtaW5hbFxuICAgIEB7bGlzdH0ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuICB9XG4gIC5jb2woMSk7IC8vIGtpY2tzdGFydCBpdFxufVxuXG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gd2lkdGgpIGFuZCAoQGluZGV4ID4gMCkge1xuICAuY29sLUB7Y2xhc3N9LUB7aW5kZXh9IHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC1Ae2luZGV4fSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoQGluZGV4IC8gQGdyaWQtY29sdW1ucykpO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVzaCkgYW5kIChAaW5kZXggPSAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG4uY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpIHdoZW4gKEB0eXBlID0gcHVsbCkgYW5kIChAaW5kZXggPiAwKSB7XG4gIC5jb2wtQHtjbGFzc30tcHVsbC1Ae2luZGV4fSB7XG4gICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKEBpbmRleCAvIEBncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuLmNhbGMtZ3JpZC1jb2x1bW4oQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAdHlwZSA9IHB1bGwpIGFuZCAoQGluZGV4ID0gMCkge1xuICAuY29sLUB7Y2xhc3N9LXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbn1cbi5jYWxjLWdyaWQtY29sdW1uKEBpbmRleCwgQGNsYXNzLCBAdHlwZSkgd2hlbiAoQHR5cGUgPSBvZmZzZXQpIHtcbiAgLmNvbC1Ae2NsYXNzfS1vZmZzZXQtQHtpbmRleH0ge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKChAaW5kZXggLyBAZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gQmFzaWMgbG9vcGluZyBpbiBMRVNTXG4ubG9vcC1ncmlkLWNvbHVtbnMoQGluZGV4LCBAY2xhc3MsIEB0eXBlKSB3aGVuIChAaW5kZXggPj0gMCkge1xuICAuY2FsYy1ncmlkLWNvbHVtbihAaW5kZXgsIEBjbGFzcywgQHR5cGUpO1xuICAvLyBuZXh0IGl0ZXJhdGlvblxuICAubG9vcC1ncmlkLWNvbHVtbnMoKEBpbmRleCAtIDEpLCBAY2xhc3MsIEB0eXBlKTtcbn1cblxuLy8gQ3JlYXRlIGdyaWQgZm9yIHNwZWNpZmljIGNsYXNzXG4ubWFrZS1ncmlkKEBjbGFzcykge1xuICAuZmxvYXQtZ3JpZC1jb2x1bW5zKEBjbGFzcyk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHdpZHRoKTtcbiAgLmxvb3AtZ3JpZC1jb2x1bW5zKEBncmlkLWNvbHVtbnMsIEBjbGFzcywgcHVsbCk7XG4gIC5sb29wLWdyaWQtY29sdW1ucyhAZ3JpZC1jb2x1bW5zLCBAY2xhc3MsIHB1c2gpO1xuICAubG9vcC1ncmlkLWNvbHVtbnMoQGdyaWQtY29sdW1ucywgQGNsYXNzLCBvZmZzZXQpO1xufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG50YWJsZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZS1iZztcbn1cbmNhcHRpb24ge1xuICBwYWRkaW5nLXRvcDogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEB0YWJsZS1jZWxsLXBhZGRpbmc7XG4gIGNvbG9yOiBAdGV4dC1tdXRlZDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cbnRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuXG4vLyBCYXNlbGluZSBzdHlsZXNcblxuLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAvLyBDZWxsc1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgcGFkZGluZzogQHRhYmxlLWNlbGwtcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gQm90dG9tIGFsaWduIGZvciBjb2x1bW4gaGVhZGluZ3NcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG4gIH1cbiAgLy8gUmVtb3ZlIHRvcCBib3JkZXIgZnJvbSB0aGVhZCBieSBkZWZhdWx0XG4gID4gY2FwdGlvbiArIHRoZWFkLFxuICA+IGNvbGdyb3VwICsgdGhlYWQsXG4gID4gdGhlYWQ6Zmlyc3QtY2hpbGQge1xuICAgID4gdHI6Zmlyc3QtY2hpbGQge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgPiB0Ym9keSArIHRib2R5IHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keS1iZztcbiAgfVxufVxuXG5cbi8vIENvbmRlbnNlZCB0YWJsZSB3LyBoYWxmIHBhZGRpbmdcblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gID4gdGhlYWQsXG4gID4gdGJvZHksXG4gID4gdGZvb3Qge1xuICAgID4gdHIge1xuICAgICAgPiB0aCxcbiAgICAgID4gdGQge1xuICAgICAgICBwYWRkaW5nOiBAdGFibGUtY29uZGVuc2VkLWNlbGwtcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBCb3JkZXJlZCB2ZXJzaW9uXG4vL1xuLy8gQWRkIGJvcmRlcnMgYWxsIGFyb3VuZCB0aGUgdGFibGUgYW5kIGJldHdlZW4gYWxsIHRoZSBjb2x1bW5zLlxuXG4udGFibGUtYm9yZGVyZWQge1xuICBib3JkZXI6IDFweCBzb2xpZCBAdGFibGUtYm9yZGVyLWNvbG9yO1xuICA+IHRoZWFkLFxuICA+IHRib2R5LFxuICA+IHRmb290IHtcbiAgICA+IHRyIHtcbiAgICAgID4gdGgsXG4gICAgICA+IHRkIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgPiB0aGVhZCA+IHRyIHtcbiAgICA+IHRoLFxuICAgID4gdGQge1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFplYnJhLXN0cmlwaW5nXG4vL1xuLy8gRGVmYXVsdCB6ZWJyYS1zdHJpcGUgc3R5bGVzIChhbHRlcm5hdGluZyBncmF5IGFuZCB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcylcblxuLnRhYmxlLXN0cmlwZWQge1xuICA+IHRib2R5ID4gdHI6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlLWJnLWFjY2VudDtcbiAgfVxufVxuXG5cbi8vIEhvdmVyIGVmZmVjdFxuLy9cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcblxuLnRhYmxlLWhvdmVyIHtcbiAgPiB0Ym9keSA+IHRyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdGFibGUtYmctaG92ZXI7XG4gIH1cbn1cblxuXG4vLyBUYWJsZSBjZWxsIHNpemluZ1xuLy9cbi8vIFJlc2V0IGRlZmF1bHQgdGFibGUgYmVoYXZpb3JcblxudGFibGUgY29sW2NsYXNzKj1cImNvbC1cIl0ge1xuICBwb3NpdGlvbjogc3RhdGljOyAvLyBQcmV2ZW50IGJvcmRlciBoaWRpbmcgaW4gRmlyZWZveCBhbmQgSUU5LTExIChzZWUgaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xMTYyMylcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IHRhYmxlLWNvbHVtbjtcbn1cbnRhYmxlIHtcbiAgdGQsXG4gIHRoIHtcbiAgICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgICAgcG9zaXRpb246IHN0YXRpYzsgLy8gUHJldmVudCBib3JkZXIgaGlkaW5nIGluIEZpcmVmb3ggYW5kIElFOS0xMSAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2MjMpXG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgfVxuICB9XG59XG5cblxuLy8gVGFibGUgYmFja2dyb3VuZHNcbi8vXG4vLyBFeGFjdCBzZWxlY3RvcnMgYmVsb3cgcmVxdWlyZWQgdG8gb3ZlcnJpZGUgYC50YWJsZS1zdHJpcGVkYCBhbmQgcHJldmVudFxuLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cblxuLy8gR2VuZXJhdGUgdGhlIGNvbnRleHR1YWwgdmFyaWFudHNcbi50YWJsZS1yb3ctdmFyaWFudChhY3RpdmU7IEB0YWJsZS1iZy1hY3RpdmUpO1xuLnRhYmxlLXJvdy12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbi50YWJsZS1yb3ctdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZyk7XG4udGFibGUtcm93LXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmcpO1xuLnRhYmxlLXJvdy12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZyk7XG5cblxuLy8gUmVzcG9uc2l2ZSB0YWJsZXNcbi8vXG4vLyBXcmFwIHlvdXIgdGFibGVzIGluIGAudGFibGUtcmVzcG9uc2l2ZWAgYW5kIHdlJ2xsIG1ha2UgdGhlbSBtb2JpbGUgZnJpZW5kbHlcbi8vIGJ5IGVuYWJsaW5nIGhvcml6b250YWwgc2Nyb2xsaW5nLiBPbmx5IGFwcGxpZXMgPDc2OHB4LiBFdmVyeXRoaW5nIGFib3ZlIHRoYXRcbi8vIHdpbGwgZGlzcGxheSBub3JtYWxseS5cblxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBtaW4taGVpZ2h0OiAwLjAxJTsgLy8gV29ya2Fyb3VuZCBmb3IgSUU5IGJ1ZyAoc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTQ4MzcpXG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAoQGxpbmUtaGVpZ2h0LWNvbXB1dGVkICogMC43NSk7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIEB0YWJsZS1ib3JkZXItY29sb3I7XG5cbiAgICAvLyBUaWdodGVuIHVwIHNwYWNpbmdcbiAgICA+IC50YWJsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGNvbnRlbnQgZG9lc24ndCB3cmFwXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoLFxuICAgICAgICAgID4gdGQge1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTcGVjaWFsIG92ZXJyaWRlcyBmb3IgdGhlIGJvcmRlcmVkIHRhYmxlc1xuICAgID4gLnRhYmxlLWJvcmRlcmVkIHtcbiAgICAgIGJvcmRlcjogMDtcblxuICAgICAgLy8gTnVrZSB0aGUgYXBwcm9wcmlhdGUgYm9yZGVycyBzbyB0aGF0IHRoZSBwYXJlbnQgY2FuIGhhbmRsZSB0aGVtXG4gICAgICA+IHRoZWFkLFxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyIHtcbiAgICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICAgID4gdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgID4gdGg6bGFzdC1jaGlsZCxcbiAgICAgICAgICA+IHRkOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPbmx5IG51a2UgdGhlIGxhc3Qgcm93J3MgYm90dG9tLWJvcmRlciBpbiBgdGJvZHlgIGFuZCBgdGZvb3RgIHNpbmNlXG4gICAgICAvLyBjaGFuY2VzIGFyZSB0aGVyZSB3aWxsIGJlIG9ubHkgb25lIGB0cmAgaW4gYSBgdGhlYWRgIGFuZCB0aGF0IHdvdWxkXG4gICAgICAvLyByZW1vdmUgdGhlIGJvcmRlciBhbHRvZ2V0aGVyLlxuICAgICAgPiB0Ym9keSxcbiAgICAgID4gdGZvb3Qge1xuICAgICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICAgID4gdGgsXG4gICAgICAgICAgPiB0ZCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuICB9XG59XG4iLCIvLyBUYWJsZXNcblxuLnRhYmxlLXJvdy12YXJpYW50KEBzdGF0ZTsgQGJhY2tncm91bmQpIHtcbiAgLy8gRXhhY3Qgc2VsZWN0b3JzIGJlbG93IHJlcXVpcmVkIHRvIG92ZXJyaWRlIGAudGFibGUtc3RyaXBlZGAgYW5kIHByZXZlbnRcbiAgLy8gaW5oZXJpdGFuY2UgdG8gbmVzdGVkIHRhYmxlcy5cbiAgLnRhYmxlID4gdGhlYWQgPiB0cixcbiAgLnRhYmxlID4gdGJvZHkgPiB0cixcbiAgLnRhYmxlID4gdGZvb3QgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfSxcbiAgICA+IHRoLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX0gPiB0ZCxcbiAgICAmLkB7c3RhdGV9ID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVzIGZvciBgLnRhYmxlLWhvdmVyYFxuICAvLyBOb3RlOiB0aGlzIGlzIG5vdCBhdmFpbGFibGUgZm9yIGNlbGxzIG9yIHJvd3Mgd2l0aGluIGB0aGVhZGAgb3IgYHRmb290YC5cbiAgLnRhYmxlLWhvdmVyID4gdGJvZHkgPiB0ciB7XG4gICAgPiB0ZC5Ae3N0YXRlfTpob3ZlcixcbiAgICA+IHRoLkB7c3RhdGV9OmhvdmVyLFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0ZCxcbiAgICAmOmhvdmVyID4gLkB7c3RhdGV9LFxuICAgICYuQHtzdGF0ZX06aG92ZXIgPiB0aCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGJhY2tncm91bmQsIDUlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3JtYWxpemUgbm9uLWNvbnRyb2xzXG4vL1xuLy8gUmVzdHlsZSBhbmQgYmFzZWxpbmUgbm9uLWNvbnRyb2wgZm9ybSBlbGVtZW50cy5cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGJvcmRlcjogMDtcbiAgLy8gQ2hyb21lIGFuZCBGaXJlZm94IHNldCBhIGBtaW4td2lkdGg6IG1pbi1jb250ZW50O2Agb24gZmllbGRzZXRzLFxuICAvLyBzbyB3ZSByZXNldCB0aGF0IHRvIGVuc3VyZSBpdCBiZWhhdmVzIG1vcmUgbGlrZSBhIHN0YW5kYXJkIGJsb2NrIGVsZW1lbnQuXG4gIC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEyMzU5LlxuICBtaW4td2lkdGg6IDA7XG59XG5cbmxlZ2VuZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY29sb3I6IEBsZWdlbmQtY29sb3I7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBsZWdlbmQtYm9yZGVyLWNvbG9yO1xufVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBGb3JjZSBJRTggdG8gd3JhcCBsb25nIGNvbnRlbnQgKHNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEzMTQxKVxuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG5cbi8vIE5vcm1hbGl6ZSBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gV2hpbGUgbW9zdCBvZiBvdXIgZm9ybSBzdHlsZXMgcmVxdWlyZSBleHRyYSBjbGFzc2VzLCBzb21lIGJhc2ljIG5vcm1hbGl6YXRpb25cbi8vIGlzIHJlcXVpcmVkIHRvIGVuc3VyZSBvcHRpbXVtIGRpc3BsYXkgd2l0aCBvciB3aXRob3V0IHRob3NlIGNsYXNzZXMgdG8gYmV0dGVyXG4vLyBhZGRyZXNzIGJyb3dzZXIgaW5jb25zaXN0ZW5jaWVzLlxuXG4vLyBPdmVycmlkZSBjb250ZW50LWJveCBpbiBOb3JtYWxpemUgKCogaXNuJ3Qgc3BlY2lmaWMgZW5vdWdoKVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xufVxuXG4vLyBQb3NpdGlvbiByYWRpb3MgYW5kIGNoZWNrYm94ZXMgYmV0dGVyXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICBtYXJnaW46IDRweCAwIDA7XG4gIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbmlucHV0W3R5cGU9XCJmaWxlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE1ha2UgcmFuZ2UgaW5wdXRzIGJlaGF2ZSBsaWtlIHRleHR1YWwgZm9ybSBjb250cm9sc1xuaW5wdXRbdHlwZT1cInJhbmdlXCJdIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBNYWtlIG11bHRpcGxlIHNlbGVjdCBlbGVtZW50cyBoZWlnaHQgbm90IGZpeGVkXG5zZWxlY3RbbXVsdGlwbGVdLFxuc2VsZWN0W3NpemVdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vLyBGb2N1cyBmb3IgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAudGFiLWZvY3VzKCk7XG59XG5cbi8vIEFkanVzdCBvdXRwdXQgZWxlbWVudFxub3V0cHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICBmb250LXNpemU6IEBmb250LXNpemUtYmFzZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1iYXNlO1xuICBjb2xvcjogQGlucHV0LWNvbG9yO1xufVxuXG5cbi8vIENvbW1vbiBmb3JtIGNvbnRyb2xzXG4vL1xuLy8gU2hhcmVkIHNpemUgYW5kIHR5cGUgcmVzZXRzIGZvciBmb3JtIGNvbnRyb2xzLiBBcHBseSBgLmZvcm0tY29udHJvbGAgdG8gYW55XG4vLyBvZiB0aGUgZm9sbG93aW5nIGZvcm0gY29udHJvbHM6XG4vL1xuLy8gc2VsZWN0XG4vLyB0ZXh0YXJlYVxuLy8gaW5wdXRbdHlwZT1cInRleHRcIl1cbi8vIGlucHV0W3R5cGU9XCJwYXNzd29yZFwiXVxuLy8gaW5wdXRbdHlwZT1cImRhdGV0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl1cbi8vIGlucHV0W3R5cGU9XCJkYXRlXCJdXG4vLyBpbnB1dFt0eXBlPVwibW9udGhcIl1cbi8vIGlucHV0W3R5cGU9XCJ0aW1lXCJdXG4vLyBpbnB1dFt0eXBlPVwid2Vla1wiXVxuLy8gaW5wdXRbdHlwZT1cIm51bWJlclwiXVxuLy8gaW5wdXRbdHlwZT1cImVtYWlsXCJdXG4vLyBpbnB1dFt0eXBlPVwidXJsXCJdXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdXG4vLyBpbnB1dFt0eXBlPVwidGVsXCJdXG4vLyBpbnB1dFt0eXBlPVwiY29sb3JcIl1cblxuLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7IC8vIE1ha2UgaW5wdXRzIGF0IGxlYXN0IHRoZSBoZWlnaHQgb2YgdGhlaXIgYnV0dG9uIGNvdW50ZXJwYXJ0IChiYXNlIGxpbmUtaGVpZ2h0ICsgcGFkZGluZyArIGJvcmRlcilcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dC1iZztcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1czsgLy8gTm90ZTogVGhpcyBoYXMgbm8gZWZmZWN0IG9uIDxzZWxlY3Q+cyBpbiBzb21lIGJyb3dzZXJzLCBkdWUgdG8gdGhlIGxpbWl0ZWQgc3R5bGFiaWxpdHkgb2YgPHNlbGVjdD5zIGluIENTUy5cbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICAudHJhbnNpdGlvbih+XCJib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywgYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzXCIpO1xuXG4gIC8vIEN1c3RvbWl6ZSB0aGUgYDpmb2N1c2Agc3RhdGUgdG8gaW1pdGF0ZSBuYXRpdmUgV2ViS2l0IHN0eWxlcy5cbiAgLmZvcm0tY29udHJvbC1mb2N1cygpO1xuXG4gIC8vIFBsYWNlaG9sZGVyXG4gIC5wbGFjZWhvbGRlcigpO1xuXG4gIC8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG4gIC8vXG4gIC8vIEhUTUw1IHNheXMgdGhhdCBjb250cm9scyB1bmRlciBhIGZpZWxkc2V0ID4gbGVnZW5kOmZpcnN0LWNoaWxkIHdvbid0IGJlXG4gIC8vIGRpc2FibGVkIGlmIHRoZSBmaWVsZHNldCBpcyBkaXNhYmxlZC4gRHVlIHRvIGltcGxlbWVudGF0aW9uIGRpZmZpY3VsdHksIHdlXG4gIC8vIGRvbid0IGhvbm9yIHRoYXQgZWRnZSBjYXNlOyB3ZSBzdHlsZSB0aGVtIGFzIGRpc2FibGVkIGFueXdheS5cbiAgJltkaXNhYmxlZF0sXG4gICZbcmVhZG9ubHldLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGlucHV0LWJnLWRpc2FibGVkO1xuICAgIG9wYWNpdHk6IDE7IC8vIGlPUyBmaXggZm9yIHVucmVhZGFibGUgZGlzYWJsZWQgY29udGVudDsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTE2NTVcbiAgfVxuXG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gUmVzZXQgaGVpZ2h0IGZvciBgdGV4dGFyZWFgc1xuICB0ZXh0YXJlYSYge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuXG5cbi8vIFNlYXJjaCBpbnB1dHMgaW4gaU9TXG4vL1xuLy8gVGhpcyBvdmVycmlkZXMgdGhlIGV4dHJhIHJvdW5kZWQgY29ybmVycyBvbiBzZWFyY2ggaW5wdXRzIGluIGlPUyBzbyB0aGF0IG91clxuLy8gYC5mb3JtLWNvbnRyb2xgIGNsYXNzIGNhbiBwcm9wZXJseSBzdHlsZSB0aGVtLiBOb3RlIHRoYXQgdGhpcyBjYW5ub3Qgc2ltcGx5XG4vLyBiZSBhZGRlZCB0byBgLmZvcm0tY29udHJvbGAgYXMgaXQncyBub3Qgc3BlY2lmaWMgZW5vdWdoLiBGb3IgZGV0YWlscywgc2VlXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTg2LlxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG5cbi8vIFNwZWNpYWwgc3R5bGVzIGZvciBpT1MgdGVtcG9yYWwgaW5wdXRzXG4vL1xuLy8gSW4gTW9iaWxlIFNhZmFyaSwgc2V0dGluZyBgZGlzcGxheTogYmxvY2tgIG9uIHRlbXBvcmFsIGlucHV0cyBjYXVzZXMgdGhlXG4vLyB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgdG8gYmVjb21lIHZlcnRpY2FsbHkgbWlzYWxpZ25lZC4gQXMgYSB3b3JrYXJvdW5kLCB3ZVxuLy8gc2V0IGEgcGl4ZWwgbGluZS1oZWlnaHQgdGhhdCBtYXRjaGVzIHRoZSBnaXZlbiBoZWlnaHQgb2YgdGhlIGlucHV0LCBidXQgb25seVxuLy8gZm9yIFNhZmFyaS4gU2VlIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NDhcbi8vXG4vLyBOb3RlIHRoYXQgYXMgb2YgOC4zLCBpT1MgZG9lc24ndCBzdXBwb3J0IGBkYXRldGltZWAgb3IgYHdlZWtgLlxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIGlucHV0W3R5cGU9XCJkYXRlXCJdLFxuICBpbnB1dFt0eXBlPVwidGltZVwiXSxcbiAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuICBpbnB1dFt0eXBlPVwibW9udGhcIl0ge1xuICAgICYuZm9ybS1jb250cm9sIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gICAgfVxuXG4gICAgJi5pbnB1dC1zbSxcbiAgICAuaW5wdXQtZ3JvdXAtc20gJiB7XG4gICAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgICB9XG5cbiAgICAmLmlucHV0LWxnLFxuICAgIC5pbnB1dC1ncm91cC1sZyAmIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWxhcmdlO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEZvcm0gZ3JvdXBzXG4vL1xuLy8gRGVzaWduZWQgdG8gaGVscCB3aXRoIHRoZSBvcmdhbml6YXRpb24gYW5kIHNwYWNpbmcgb2YgdmVydGljYWwgZm9ybXMuIEZvclxuLy8gaG9yaXpvbnRhbCBmb3JtcywgdXNlIHRoZSBwcmVkZWZpbmVkIGdyaWQgY2xhc3Nlcy5cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBAZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tO1xufVxuXG5cbi8vIENoZWNrYm94ZXMgYW5kIHJhZGlvc1xuLy9cbi8vIEluZGVudCB0aGUgbGFiZWxzIHRvIHBvc2l0aW9uIHJhZGlvcy9jaGVja2JveGVzIGFzIGhhbmdpbmcgY29udHJvbHMuXG5cbi5yYWRpbyxcbi5jaGVja2JveCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgbGFiZWwge1xuICAgIG1pbi1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDsgLy8gRW5zdXJlIHRoZSBpbnB1dCBkb2Vzbid0IGp1bXAgd2hlbiB0aGVyZSBpcyBubyB0ZXh0XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cbi5yYWRpbyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4ucmFkaW8taW5saW5lIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uY2hlY2tib3gtaW5saW5lIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBtYXJnaW4tdG9wOiA0cHggXFw5O1xufVxuXG4ucmFkaW8gKyAucmFkaW8sXG4uY2hlY2tib3ggKyAuY2hlY2tib3gge1xuICBtYXJnaW4tdG9wOiAtNXB4OyAvLyBNb3ZlIHVwIHNpYmxpbmcgcmFkaW9zIG9yIGNoZWNrYm94ZXMgZm9yIHRpZ2h0ZXIgc3BhY2luZ1xufVxuXG4vLyBSYWRpb3MgYW5kIGNoZWNrYm94ZXMgb24gc2FtZSBsaW5lXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cbi5yYWRpby1pbmxpbmUgKyAucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSArIC5jaGVja2JveC1pbmxpbmUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMTBweDsgLy8gc3BhY2Ugb3V0IGNvbnNlY3V0aXZlIGlubGluZSBjb250cm9sc1xufVxuXG4vLyBBcHBseSBzYW1lIGRpc2FibGVkIGN1cnNvciB0d2VhayBhcyBmb3IgaW5wdXRzXG4vLyBTb21lIHNwZWNpYWwgY2FyZSBpcyBuZWVkZWQgYmVjYXVzZSA8bGFiZWw+cyBkb24ndCBpbmhlcml0IHRoZWlyIHBhcmVudCdzIGBjdXJzb3JgLlxuLy9cbi8vIE5vdGU6IE5laXRoZXIgcmFkaW9zIG5vciBjaGVja2JveGVzIGNhbiBiZSByZWFkb25seS5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICZbZGlzYWJsZWRdLFxuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICB9XG59XG4vLyBUaGVzZSBjbGFzc2VzIGFyZSB1c2VkIGRpcmVjdGx5IG9uIDxsYWJlbD5zXG4ucmFkaW8taW5saW5lLFxuLmNoZWNrYm94LWlubGluZSB7XG4gICYuZGlzYWJsZWQsXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cbi8vIFRoZXNlIGNsYXNzZXMgYXJlIHVzZWQgb24gZWxlbWVudHMgd2l0aCA8bGFiZWw+IGRlc2NlbmRhbnRzXG4ucmFkaW8sXG4uY2hlY2tib3gge1xuICAmLmRpc2FibGVkLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgbGFiZWwge1xuICAgICAgY3Vyc29yOiBAY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFN0YXRpYyBmb3JtIGNvbnRyb2wgdGV4dFxuLy9cbi8vIEFwcGx5IGNsYXNzIHRvIGEgYHBgIGVsZW1lbnQgdG8gbWFrZSBhbnkgc3RyaW5nIG9mIHRleHQgYWxpZ24gd2l0aCBsYWJlbHMgaW5cbi8vIGEgaG9yaXpvbnRhbCBmb3JtIGxheW91dC5cblxuLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAvLyBTaXplIGl0IGFwcHJvcHJpYXRlbHkgbmV4dCB0byByZWFsIGZvcm0gY29udHJvbHNcbiAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7XG4gIHBhZGRpbmctYm90dG9tOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpO1xuICAvLyBSZW1vdmUgZGVmYXVsdCBtYXJnaW4gZnJvbSBgcGBcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWluLWhlaWdodDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIEBmb250LXNpemUtYmFzZSk7XG5cbiAgJi5pbnB1dC1sZyxcbiAgJi5pbnB1dC1zbSB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgc2l6aW5nXG4vL1xuLy8gQnVpbGQgb24gYC5mb3JtLWNvbnRyb2xgIHdpdGggbW9kaWZpZXIgY2xhc3NlcyB0byBkZWNyZWFzZSBvciBpbmNyZWFzZSB0aGVcbi8vIGhlaWdodCBhbmQgZm9udC1zaXplIG9mIGZvcm0gY29udHJvbHMuXG4vL1xuLy8gVGhlIGAuZm9ybS1ncm91cC0qIGZvcm0tY29udHJvbGAgdmFyaWF0aW9ucyBhcmUgc2FkbHkgZHVwbGljYXRlZCB0byBhdm9pZCB0aGVcbi8vIGlzc3VlIGRvY3VtZW50ZWQgaW4gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL2lzc3Vlcy8xNTA3NC5cblxuLmlucHV0LXNtIHtcbiAgLmlucHV0LXNpemUoQGlucHV0LWhlaWdodC1zbWFsbDsgQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBsaW5lLWhlaWdodC1zbWFsbDsgQGlucHV0LWJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuLmZvcm0tZ3JvdXAtc20ge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgcGFkZGluZzogQHBhZGRpbmctc21hbGwtdmVydGljYWwgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1zbWFsbDtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1zbWFsbDtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gICAgbWluLWhlaWdodDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIEBmb250LXNpemUtc21hbGwpO1xuICAgIHBhZGRpbmc6IChAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpIEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtc21hbGw7XG4gIH1cbn1cblxuLmlucHV0LWxnIHtcbiAgLmlucHV0LXNpemUoQGlucHV0LWhlaWdodC1sYXJnZTsgQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGlucHV0LWJvcmRlci1yYWRpdXMtbGFyZ2UpO1xufVxuLmZvcm0tZ3JvdXAtbGcge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgcGFkZGluZzogQHBhZGRpbmctbGFyZ2UtdmVydGljYWwgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDtcbiAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1sYXJnZTtcbiAgICBib3JkZXItcmFkaXVzOiBAaW5wdXQtYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgfVxuICBzZWxlY3QuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIH1cbiAgdGV4dGFyZWEuZm9ybS1jb250cm9sLFxuICBzZWxlY3RbbXVsdGlwbGVdLmZvcm0tY29udHJvbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG4gIC5mb3JtLWNvbnRyb2wtc3RhdGljIHtcbiAgICBoZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gICAgbWluLWhlaWdodDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIEBmb250LXNpemUtbGFyZ2UpO1xuICAgIHBhZGRpbmc6IChAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbCArIDEpIEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtbGFyZ2U7XG4gIH1cbn1cblxuXG4vLyBGb3JtIGNvbnRyb2wgZmVlZGJhY2sgc3RhdGVzXG4vL1xuLy8gQXBwbHkgY29udGV4dHVhbCBhbmQgc2VtYW50aWMgc3RhdGVzIHRvIGluZGl2aWR1YWwgZm9ybSBjb250cm9scy5cblxuLmhhcy1mZWVkYmFjayB7XG4gIC8vIEVuYWJsZSBhYnNvbHV0ZSBwb3NpdGlvbmluZ1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLy8gRW5zdXJlIGljb25zIGRvbid0IG92ZXJsYXAgdGV4dFxuICAuZm9ybS1jb250cm9sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoQGlucHV0LWhlaWdodC1iYXNlICogMS4yNSk7XG4gIH1cbn1cbi8vIEZlZWRiYWNrIGljb24gKHJlcXVpcmVzIC5nbHlwaGljb24gY2xhc3Nlcylcbi5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDI7IC8vIEVuc3VyZSBpY29uIGlzIGFib3ZlIGlucHV0IGdyb3Vwc1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtYmFzZTtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIGxpbmUtaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4uaW5wdXQtbGcgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLWxnICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLWxnIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtbGFyZ2U7XG59XG4uaW5wdXQtc20gKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrLFxuLmlucHV0LWdyb3VwLXNtICsgLmZvcm0tY29udHJvbC1mZWVkYmFjayxcbi5mb3JtLWdyb3VwLXNtIC5mb3JtLWNvbnRyb2wgKyAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgd2lkdGg6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG4gIGhlaWdodDogQGlucHV0LWhlaWdodC1zbWFsbDtcbiAgbGluZS1oZWlnaHQ6IEBpbnB1dC1oZWlnaHQtc21hbGw7XG59XG5cbi8vIEZlZWRiYWNrIHN0YXRlc1xuLmhhcy1zdWNjZXNzIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS1zdWNjZXNzLXRleHQ7IEBzdGF0ZS1zdWNjZXNzLXRleHQ7IEBzdGF0ZS1zdWNjZXNzLWJnKTtcbn1cbi5oYXMtd2FybmluZyB7XG4gIC5mb3JtLWNvbnRyb2wtdmFsaWRhdGlvbihAc3RhdGUtd2FybmluZy10ZXh0OyBAc3RhdGUtd2FybmluZy10ZXh0OyBAc3RhdGUtd2FybmluZy1iZyk7XG59XG4uaGFzLWVycm9yIHtcbiAgLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEBzdGF0ZS1kYW5nZXItdGV4dDsgQHN0YXRlLWRhbmdlci10ZXh0OyBAc3RhdGUtZGFuZ2VyLWJnKTtcbn1cblxuLy8gUmVwb3NpdGlvbiBmZWVkYmFjayBpY29uIGlmIGlucHV0IGhhcyB2aXNpYmxlIGxhYmVsIGFib3ZlXG4uaGFzLWZlZWRiYWNrIGxhYmVsIHtcblxuICAmIH4gLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgIHRvcDogKEBsaW5lLWhlaWdodC1jb21wdXRlZCArIDUpOyAvLyBIZWlnaHQgb2YgdGhlIGBsYWJlbGAgYW5kIGl0cyBtYXJnaW5cbiAgfVxuICAmLnNyLW9ubHkgfiAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgdG9wOiAwO1xuICB9XG59XG5cblxuLy8gSGVscCB0ZXh0XG4vL1xuLy8gQXBwbHkgdG8gYW55IGVsZW1lbnQgeW91IHdpc2ggdG8gY3JlYXRlIGxpZ2h0IHRleHQgZm9yIHBsYWNlbWVudCBpbW1lZGlhdGVseVxuLy8gYmVsb3cgYSBmb3JtIGNvbnRyb2wuIFVzZSBmb3IgZ2VuZXJhbCBoZWxwLCBmb3JtYXR0aW5nLCBvciBpbnN0cnVjdGlvbmFsIHRleHQuXG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBjb2xvcjogbGlnaHRlbihAdGV4dC1jb2xvciwgMjUlKTsgLy8gbGlnaHRlbiB0aGUgdGV4dCBzb21lIGZvciBjb250cmFzdFxufVxuXG5cbi8vIElubGluZSBmb3Jtc1xuLy9cbi8vIE1ha2UgZm9ybXMgYXBwZWFyIGlubGluZSgtYmxvY2spIGJ5IGFkZGluZyB0aGUgYC5mb3JtLWlubGluZWAgY2xhc3MuIElubGluZVxuLy8gZm9ybXMgYmVnaW4gc3RhY2tlZCBvbiBleHRyYSBzbWFsbCAobW9iaWxlKSBkZXZpY2VzIGFuZCB0aGVuIGdvIGlubGluZSB3aGVuXG4vLyB2aWV3cG9ydHMgcmVhY2ggPDc2OHB4LlxuLy9cbi8vIFJlcXVpcmVzIHdyYXBwaW5nIGlucHV0cyBhbmQgbGFiZWxzIHdpdGggYC5mb3JtLWdyb3VwYCBmb3IgcHJvcGVyIGRpc3BsYXkgb2Zcbi8vIGRlZmF1bHQgSFRNTCBmb3JtIGNvbnRyb2xzIGFuZCBvdXIgY3VzdG9tIGZvcm0gY29udHJvbHMgKGUuZy4sIGlucHV0IGdyb3VwcykuXG4vL1xuLy8gSGVhZHMgdXAhIFRoaXMgaXMgbWl4aW4tZWQgaW50byBgLm5hdmJhci1mb3JtYCBpbiBuYXZiYXJzLmxlc3MuXG5cbi5mb3JtLWlubGluZSB7XG5cbiAgLy8gS2ljayBpbiB0aGUgaW5saW5lXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAgIC8vIElubGluZS1ibG9jayBhbGwgdGhlIHRoaW5ncyBmb3IgXCJpbmxpbmVcIlxuICAgIC5mb3JtLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIEluIG5hdmJhci1mb3JtLCBhbGxvdyBmb2xrcyB0byAqbm90KiB1c2UgYC5mb3JtLWdyb3VwYFxuICAgIC5mb3JtLWNvbnRyb2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGF1dG87IC8vIFByZXZlbnQgbGFiZWxzIGZyb20gc3RhY2tpbmcgYWJvdmUgaW5wdXRzIGluIGAuZm9ybS1ncm91cGBcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuXG4gICAgLy8gTWFrZSBzdGF0aWMgY29udHJvbHMgYmVoYXZlIGxpa2UgcmVndWxhciBvbmVzXG4gICAgLmZvcm0tY29udHJvbC1zdGF0aWMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC5pbnB1dC1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtdGFibGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAuaW5wdXQtZ3JvdXAtYWRkb24sXG4gICAgICAuaW5wdXQtZ3JvdXAtYnRuLFxuICAgICAgLmZvcm0tY29udHJvbCB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElucHV0IGdyb3VwcyBuZWVkIHRoYXQgMTAwJSB3aWR0aCB0aG91Z2hcbiAgICAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vIFJlbW92ZSBkZWZhdWx0IG1hcmdpbiBvbiByYWRpb3MvY2hlY2tib3hlcyB0aGF0IHdlcmUgdXNlZCBmb3Igc3RhY2tpbmcsIGFuZFxuICAgIC8vIHRoZW4gdW5kbyB0aGUgZmxvYXRpbmcgb2YgcmFkaW9zIGFuZCBjaGVja2JveGVzIHRvIG1hdGNoLlxuICAgIC5yYWRpbyxcbiAgICAuY2hlY2tib3gge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgICAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC8vIFJlLW92ZXJyaWRlIHRoZSBmZWVkYmFjayBpY29uLlxuICAgIC5oYXMtZmVlZGJhY2sgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSG9yaXpvbnRhbCBmb3Jtc1xuLy9cbi8vIEhvcml6b250YWwgZm9ybXMgYXJlIGJ1aWx0IG9uIGdyaWQgY2xhc3NlcyBhbmQgYWxsb3cgeW91IHRvIGNyZWF0ZSBmb3JtcyB3aXRoXG4vLyBsYWJlbHMgb24gdGhlIGxlZnQgYW5kIGlucHV0cyBvbiB0aGUgcmlnaHQuXG5cbi5mb3JtLWhvcml6b250YWwge1xuXG4gIC8vIENvbnNpc3RlbnQgdmVydGljYWwgYWxpZ25tZW50IG9mIHJhZGlvcyBhbmQgY2hlY2tib3hlc1xuICAvL1xuICAvLyBMYWJlbHMgYWxzbyBnZXQgc29tZSByZXNldCBzdHlsZXMsIGJ1dCB0aGF0IGlzIHNjb3BlZCB0byBhIG1lZGlhIHF1ZXJ5IGJlbG93LlxuICAucmFkaW8sXG4gIC5jaGVja2JveCxcbiAgLnJhZGlvLWlubGluZSxcbiAgLmNoZWNrYm94LWlubGluZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpOyAvLyBEZWZhdWx0IHBhZGRpbmcgcGx1cyBhIGJvcmRlclxuICB9XG4gIC8vIEFjY291bnQgZm9yIHBhZGRpbmcgd2UncmUgYWRkaW5nIHRvIGVuc3VyZSB0aGUgYWxpZ25tZW50IGFuZCBvZiBoZWxwIHRleHRcbiAgLy8gYW5kIG90aGVyIGNvbnRlbnQgYmVsb3cgaXRlbXNcbiAgLnJhZGlvLFxuICAuY2hlY2tib3gge1xuICAgIG1pbi1oZWlnaHQ6IChAbGluZS1oZWlnaHQtY29tcHV0ZWQgKyAoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCArIDEpKTtcbiAgfVxuXG4gIC8vIE1ha2UgZm9ybSBncm91cHMgYmVoYXZlIGxpa2Ugcm93c1xuICAuZm9ybS1ncm91cCB7XG4gICAgLm1ha2Utcm93KCk7XG4gIH1cblxuICAvLyBSZXNldCBzcGFjaW5nIGFuZCByaWdodCBhbGlnbiBsYWJlbHMsIGJ1dCBzY29wZSB0byBtZWRpYSBxdWVyaWVzIHNvIHRoYXRcbiAgLy8gbGFiZWxzIG9uIG5hcnJvdyB2aWV3cG9ydHMgc3RhY2sgdGhlIHNhbWUgYXMgYSBkZWZhdWx0IGZvcm0gZXhhbXBsZS5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgLmNvbnRyb2wtbGFiZWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1iYXNlLXZlcnRpY2FsICsgMSk7IC8vIERlZmF1bHQgcGFkZGluZyBwbHVzIGEgYm9yZGVyXG4gICAgfVxuICB9XG5cbiAgLy8gVmFsaWRhdGlvbiBzdGF0ZXNcbiAgLy9cbiAgLy8gUmVwb3NpdGlvbiB0aGUgaWNvbiBiZWNhdXNlIGl0J3Mgbm93IHdpdGhpbiBhIGdyaWQgY29sdW1uIGFuZCBjb2x1bW5zIGhhdmVcbiAgLy8gYHBvc2l0aW9uOiByZWxhdGl2ZTtgIG9uIHRoZW0uIEFsc28gYWNjb3VudHMgZm9yIHRoZSBncmlkIGd1dHRlciBwYWRkaW5nLlxuICAuaGFzLWZlZWRiYWNrIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2sge1xuICAgIHJpZ2h0OiBmbG9vcigoQGdyaWQtZ3V0dGVyLXdpZHRoIC8gMikpO1xuICB9XG5cbiAgLy8gRm9ybSBncm91cCBzaXplc1xuICAvL1xuICAvLyBRdWljayB1dGlsaXR5IGNsYXNzIGZvciBhcHBseWluZyBgLmlucHV0LWxnYCBhbmQgYC5pbnB1dC1zbWAgc3R5bGVzIHRvIHRoZVxuICAvLyBpbnB1dHMgYW5kIGxhYmVscyB3aXRoaW4gYSBgLmZvcm0tZ3JvdXBgLlxuICAuZm9ybS1ncm91cC1sZyB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgICAuY29udHJvbC1sYWJlbCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAoKEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsICogQGxpbmUtaGVpZ2h0LWxhcmdlKSArIDEpO1xuICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtbGFyZ2U7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5mb3JtLWdyb3VwLXNtIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICAgIC5jb250cm9sLWxhYmVsIHtcbiAgICAgICAgcGFkZGluZy10b3A6IChAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbCArIDEpO1xuICAgICAgICBmb250LXNpemU6IEBmb250LXNpemUtc21hbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3JtIHZhbGlkYXRpb24gc3RhdGVzXG4vL1xuLy8gVXNlZCBpbiBmb3Jtcy5sZXNzIHRvIGdlbmVyYXRlIHRoZSBmb3JtIHZhbGlkYXRpb24gQ1NTIGZvciB3YXJuaW5ncywgZXJyb3JzLFxuLy8gYW5kIHN1Y2Nlc3Nlcy5cblxuLmZvcm0tY29udHJvbC12YWxpZGF0aW9uKEB0ZXh0LWNvbG9yOiAjNTU1OyBAYm9yZGVyLWNvbG9yOiAjY2NjOyBAYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBDb2xvciB0aGUgbGFiZWwgYW5kIGhlbHAgdGV4dFxuICAuaGVscC1ibG9jayxcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5yYWRpbyxcbiAgLmNoZWNrYm94LFxuICAucmFkaW8taW5saW5lLFxuICAuY2hlY2tib3gtaW5saW5lLFxuICAmLnJhZGlvIGxhYmVsLFxuICAmLmNoZWNrYm94IGxhYmVsLFxuICAmLnJhZGlvLWlubGluZSBsYWJlbCxcbiAgJi5jaGVja2JveC1pbmxpbmUgbGFiZWwgIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gIH1cbiAgLy8gU2V0IHRoZSBib3JkZXIgYW5kIGJveCBzaGFkb3cgb24gc3BlY2lmaWMgaW5wdXRzIHRvIG1hdGNoXG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGJvcmRlci1jb2xvcjogQGJvcmRlci1jb2xvcjtcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLWNvbG9yLCAxMCUpO1xuICAgICAgQHNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSksIDAgMCA2cHggbGlnaHRlbihAYm9yZGVyLWNvbG9yLCAyMCUpO1xuICAgICAgLmJveC1zaGFkb3coQHNoYWRvdyk7XG4gICAgfVxuICB9XG4gIC8vIFNldCB2YWxpZGF0aW9uIHN0YXRlcyBhbHNvIGZvciBhZGRvbnNcbiAgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgICBjb2xvcjogQHRleHQtY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiBAYm9yZGVyLWNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kLWNvbG9yO1xuICB9XG4gIC8vIE9wdGlvbmFsIGZlZWRiYWNrIGljb25cbiAgLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xuICB9XG59XG5cblxuLy8gRm9ybSBjb250cm9sIGZvY3VzIHN0YXRlXG4vL1xuLy8gR2VuZXJhdGUgYSBjdXN0b21pemVkIGZvY3VzIHN0YXRlIGFuZCBmb3IgYW55IGlucHV0IHdpdGggdGhlIHNwZWNpZmllZCBjb2xvcixcbi8vIHdoaWNoIGRlZmF1bHRzIHRvIHRoZSBgQGlucHV0LWJvcmRlci1mb2N1c2AgdmFyaWFibGUuXG4vL1xuLy8gV2UgaGlnaGx5IGVuY291cmFnZSB5b3UgdG8gbm90IGN1c3RvbWl6ZSB0aGUgZGVmYXVsdCB2YWx1ZSwgYnV0IGluc3RlYWQgdXNlXG4vLyB0aGlzIHRvIHR3ZWFrIGNvbG9ycyBvbiBhbiBhcy1uZWVkZWQgYmFzaXMuIFRoaXMgYWVzdGhldGljIGNoYW5nZSBpcyBiYXNlZCBvblxuLy8gV2ViS2l0J3MgZGVmYXVsdCBzdHlsZXMsIGJ1dCBhcHBsaWNhYmxlIHRvIGEgd2lkZXIgcmFuZ2Ugb2YgYnJvd3NlcnMuIEl0c1xuLy8gdXNhYmlsaXR5IGFuZCBhY2Nlc3NpYmlsaXR5IHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQgd2l0aCBhbnkgY2hhbmdlLlxuLy9cbi8vIEV4YW1wbGUgdXNhZ2U6IGNoYW5nZSB0aGUgZGVmYXVsdCBibHVlIGJvcmRlciBhbmQgc2hhZG93IHRvIHdoaXRlIGZvciBiZXR0ZXJcbi8vIGNvbnRyYXN0IGFnYWluc3QgYSBkYXJrIGdyYXkgYmFja2dyb3VuZC5cbi5mb3JtLWNvbnRyb2wtZm9jdXMoQGNvbG9yOiBAaW5wdXQtYm9yZGVyLWZvY3VzKSB7XG4gIEBjb2xvci1yZ2JhOiByZ2JhKHJlZChAY29sb3IpLCBncmVlbihAY29sb3IpLCBibHVlKEBjb2xvciksIC42KTtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XG4gICAgb3V0bGluZTogMDtcbiAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCBAe2NvbG9yLXJnYmF9XCIpO1xuICB9XG59XG5cbi8vIEZvcm0gY29udHJvbCBzaXppbmdcbi8vXG4vLyBSZWxhdGl2ZSB0ZXh0IHNpemUsIHBhZGRpbmcsIGFuZCBib3JkZXItcmFkaWkgY2hhbmdlcyBmb3IgZm9ybSBjb250cm9scy4gRm9yXG4vLyBob3Jpem9udGFsIHNpemluZywgd3JhcCBjb250cm9scyBpbiB0aGUgcHJlZGVmaW5lZCBncmlkIGNsYXNzZXMuIGA8c2VsZWN0PmBcbi8vIGVsZW1lbnQgZ2V0cyBzcGVjaWFsIGxvdmUgYmVjYXVzZSBpdCdzIHNwZWNpYWwsIGFuZCB0aGF0J3MgYSBmYWN0IVxuLmlucHV0LXNpemUoQGlucHV0LWhlaWdodDsgQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgaGVpZ2h0OiBAaW5wdXQtaGVpZ2h0O1xuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1ob3Jpem9udGFsO1xuICBmb250LXNpemU6IEBmb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzO1xuXG4gIHNlbGVjdCYge1xuICAgIGhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGlucHV0LWhlaWdodDtcbiAgfVxuXG4gIHRleHRhcmVhJixcbiAgc2VsZWN0W211bHRpcGxlXSYge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy9cbi8vIEJ1dHRvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5idG4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cbiAgZm9udC13ZWlnaHQ6IEBidG4tZm9udC13ZWlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLWJhc2UtdmVydGljYWw7IEBwYWRkaW5nLWJhc2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1iYXNlOyBAbGluZS1oZWlnaHQtYmFzZTsgQGJ0bi1ib3JkZXItcmFkaXVzLWJhc2UpO1xuICAudXNlci1zZWxlY3Qobm9uZSk7XG5cbiAgJixcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICAmOmZvY3VzLFxuICAgICYuZm9jdXMge1xuICAgICAgLnRhYi1mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMsXG4gICYuZm9jdXMge1xuICAgIGNvbG9yOiBAYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlIHtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAzcHggNXB4IHJnYmEoMCwwLDAsLjEyNSkpO1xuICB9XG5cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgLm9wYWNpdHkoLjY1KTtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG4gIGEmIHtcbiAgICAmLmRpc2FibGVkLFxuICAgIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyAvLyBGdXR1cmUtcHJvb2YgZGlzYWJsaW5nIG9mIGNsaWNrcyBvbiBgPGE+YCBlbGVtZW50c1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWRlZmF1bHQge1xuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1kZWZhdWx0LWNvbG9yOyBAYnRuLWRlZmF1bHQtYmc7IEBidG4tZGVmYXVsdC1ib3JkZXIpO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tcHJpbWFyeS1jb2xvcjsgQGJ0bi1wcmltYXJ5LWJnOyBAYnRuLXByaW1hcnktYm9yZGVyKTtcbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4tc3VjY2Vzcy1jb2xvcjsgQGJ0bi1zdWNjZXNzLWJnOyBAYnRuLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG4uYnRuLWluZm8ge1xuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1pbmZvLWNvbG9yOyBAYnRuLWluZm8tYmc7IEBidG4taW5mby1ib3JkZXIpO1xufVxuLy8gV2FybmluZyBhcHBlYXJzIGFzIG9yYW5nZVxuLmJ0bi13YXJuaW5nIHtcbiAgLmJ1dHRvbi12YXJpYW50KEBidG4td2FybmluZy1jb2xvcjsgQGJ0bi13YXJuaW5nLWJnOyBAYnRuLXdhcm5pbmctYm9yZGVyKTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICAuYnV0dG9uLXZhcmlhbnQoQGJ0bi1kYW5nZXItY29sb3I7IEBidG4tZGFuZ2VyLWJnOyBAYnRuLWRhbmdlci1ib3JkZXIpO1xufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGEgYnV0dG9uIGxvb2sgYW5kIGJlaGF2ZSBsaWtlIGEgbGlua1xuLmJ0bi1saW5rIHtcbiAgY29sb3I6IEBsaW5rLWNvbG9yO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICYsXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGxpbmstaG92ZXItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBAbGluay1ob3Zlci1kZWNvcmF0aW9uO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gICZbZGlzYWJsZWRdLFxuICBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAYnRuLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQnV0dG9uIFNpemVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWxnIHtcbiAgLy8gbGluZS1oZWlnaHQ6IGVuc3VyZSBldmVuLW51bWJlcmVkIGhlaWdodCBvZiBidXR0b24gbmV4dCB0byBsYXJnZSBpbnB1dFxuICAuYnV0dG9uLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBmb250LXNpemUtbGFyZ2U7IEBsaW5lLWhlaWdodC1sYXJnZTsgQGJ0bi1ib3JkZXItcmFkaXVzLWxhcmdlKTtcbn1cbi5idG4tc20ge1xuICAvLyBsaW5lLWhlaWdodDogZW5zdXJlIHByb3BlciBoZWlnaHQgb2YgYnV0dG9uIG5leHQgdG8gc21hbGwgaW5wdXRcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsOyBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG4uYnRuLXhzIHtcbiAgLmJ1dHRvbi1zaXplKEBwYWRkaW5nLXhzLXZlcnRpY2FsOyBAcGFkZGluZy14cy1ob3Jpem9udGFsOyBAZm9udC1zaXplLXNtYWxsOyBAbGluZS1oZWlnaHQtc21hbGw7IEBidG4tYm9yZGVyLXJhZGl1cy1zbWFsbCk7XG59XG5cblxuLy8gQmxvY2sgYnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYnRuLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vLyBWZXJ0aWNhbGx5IHNwYWNlIG91dCBtdWx0aXBsZSBibG9jayBidXR0b25zXG4uYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gIG1hcmdpbi10b3A6IDVweDtcbn1cblxuLy8gU3BlY2lmaWNpdHkgb3ZlcnJpZGVzXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICYuYnRuLWJsb2NrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gQnV0dG9uIHZhcmlhbnRzXG4vL1xuLy8gRWFzaWx5IHB1bXAgb3V0IGRlZmF1bHQgc3R5bGVzLCBhcyB3ZWxsIGFzIDpob3ZlciwgOmZvY3VzLCA6YWN0aXZlLFxuLy8gYW5kIGRpc2FibGVkIG9wdGlvbnMgZm9yIGFsbCBidXR0b25zXG5cbi5idXR0b24tdmFyaWFudChAY29sb3I7IEBiYWNrZ3JvdW5kOyBAYm9yZGVyKSB7XG4gIGNvbG9yOiBAY29sb3IgIWltcG9ydGFudDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcblxuICAmOmZvY3VzLFxuICAmLmZvY3VzIHtcbiAgICBjb2xvcjogQGNvbG9yICFpbXBvcnRhbnQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA0JSk7XG4gICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKEBib3JkZXIsIDglKTtcbiAgfVxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgNCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCA4JSk7XG4gIH1cbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+IC5kcm9wZG93bi10b2dnbGUmIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAYmFja2dyb3VuZCwgNCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyLCA4JSk7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJi5mb2N1cyB7XG4gICAgICBjb2xvcjogQGNvbG9yO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA0JSk7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQGJvcmRlciwgOCUpO1xuICAgIH1cbiAgfVxuICAmOmFjdGl2ZSxcbiAgJi5hY3RpdmUsXG4gIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSYge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0sXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcbiAgICAmLFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmLmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gIH1cblxuICAuYmFkZ2Uge1xuICAgIGNvbG9yOiBAYmFja2dyb3VuZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAY29sb3I7XG4gIH1cbn1cblxuLy8gQnV0dG9uIHNpemVzXG4uYnV0dG9uLXNpemUoQHBhZGRpbmctdmVydGljYWw7IEBwYWRkaW5nLWhvcml6b250YWw7IEBmb250LXNpemU7IEBsaW5lLWhlaWdodDsgQGJvcmRlci1yYWRpdXMpIHtcbiAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cztcbn1cbiIsIi8vIE9wYWNpdHlcblxuLm9wYWNpdHkoQG9wYWNpdHkpIHtcbiAgb3BhY2l0eTogQG9wYWNpdHk7XG4gIC8vIElFOCBmaWx0ZXJcbiAgQG9wYWNpdHktaWU6IChAb3BhY2l0eSAqIDEwMCk7XG4gIGZpbHRlcjogflwiYWxwaGEob3BhY2l0eT1Ae29wYWNpdHktaWV9KVwiO1xufVxuIiwiLy9cbi8vIEJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCxcbi5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gbWF0Y2ggLmJ0biBhbGlnbm1lbnQgZ2l2ZW4gZm9udC1zaXplIGhhY2sgYWJvdmVcbiAgPiAuYnRuIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gQnJpbmcgdGhlIFwiYWN0aXZlXCIgYnV0dG9uIHRvIHRoZSBmcm9udFxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcmV2ZW50IGRvdWJsZSBib3JkZXJzIHdoZW4gYnV0dG9ucyBhcmUgbmV4dCB0byBlYWNoIG90aGVyXG4uYnRuLWdyb3VwIHtcbiAgLmJ0biArIC5idG4sXG4gIC5idG4gKyAuYnRuLWdyb3VwLFxuICAuYnRuLWdyb3VwICsgLmJ0bixcbiAgLmJ0bi1ncm91cCArIC5idG4tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIG1hcmdpbi1sZWZ0OiAtNXB4OyAvLyBPZmZzZXQgdGhlIGZpcnN0IGNoaWxkJ3MgbWFyZ2luXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIC5idG4sXG4gIC5idG4tZ3JvdXAsXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAsXG4gID4gLmlucHV0LWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG59XG5cbi5idG4tZ3JvdXAgPiAuYnRuOm5vdCg6Zmlyc3QtY2hpbGQpOm5vdCg6bGFzdC1jaGlsZCk6bm90KC5kcm9wZG93bi10b2dnbGUpIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gICY6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICAgIC5ib3JkZXItcmlnaHQtcmFkaXVzKDApO1xuICB9XG59XG4vLyBOZWVkIC5kcm9wZG93bi10b2dnbGUgc2luY2UgOmxhc3QtY2hpbGQgZG9lc24ndCBhcHBseSBnaXZlbiBhIC5kcm9wZG93bi1tZW51IGltbWVkaWF0ZWx5IGFmdGVyIGl0XG4uYnRuLWdyb3VwID4gLmJ0bjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLFxuLmJ0bi1ncm91cCA+IC5kcm9wZG93bi10b2dnbGU6bm90KDpmaXJzdC1jaGlsZCkge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuXG4vLyBDdXN0b20gZWRpdHMgZm9yIGluY2x1ZGluZyBidG4tZ3JvdXBzIHdpdGhpbiBidG4tZ3JvdXBzICh1c2VmdWwgZm9yIGluY2x1ZGluZyBkcm9wZG93biBidXR0b25zIHdpdGhpbiBhIGJ0bi1ncm91cClcbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpID4gLmJ0biB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1ncm91cDpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgPiAuYnRuOmxhc3QtY2hpbGQsXG4gID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG4gIH1cbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWdyb3VwOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgLmJvcmRlci1sZWZ0LXJhZGl1cygwKTtcbn1cblxuLy8gT24gYWN0aXZlIGFuZCBvcGVuLCBkb24ndCBzaG93IG91dGxpbmVcbi5idG4tZ3JvdXAgLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4uYnRuLWdyb3VwLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cblxuLy8gU2l6aW5nXG4vL1xuLy8gUmVtaXggdGhlIGRlZmF1bHQgYnV0dG9uIHNpemluZyBjbGFzc2VzIGludG8gbmV3IG9uZXMgZm9yIGVhc2llciBtYW5pcHVsYXRpb24uXG5cbi5idG4tZ3JvdXAteHMgPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi14cyk7IH1cbi5idG4tZ3JvdXAtc20gPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi1zbSk7IH1cbi5idG4tZ3JvdXAtbGcgPiAuYnRuIHsgJjpleHRlbmQoLmJ0bi1sZyk7IH1cblxuXG4vLyBTcGxpdCBidXR0b24gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdpdmUgdGhlIGxpbmUgYmV0d2VlbiBidXR0b25zIHNvbWUgZGVwdGhcbi5idG4tZ3JvdXAgPiAuYnRuICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiA4cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1sZyArIC5kcm9wZG93bi10b2dnbGUge1xuICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG59XG5cbi8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuLy8gUmVtb3ZlIHRoZSBncmFkaWVudCBhbmQgc2V0IHRoZSBzYW1lIGluc2V0IHNoYWRvdyBhcyB0aGUgOmFjdGl2ZSBzdGF0ZVxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDNweCA1cHggcmdiYSgwLDAsMCwuMTI1KSk7XG5cbiAgLy8gU2hvdyBubyBzaGFkb3cgZm9yIGAuYnRuLWxpbmtgIHNpbmNlIGl0IGhhcyBubyBvdGhlciBidXR0b24gc3R5bGVzLlxuICAmLmJ0bi1saW5rIHtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuLy8gQ2FyZXRzIGluIG90aGVyIGJ1dHRvbiBzaXplc1xuLmJ0bi1sZyAuY2FyZXQge1xuICBib3JkZXItd2lkdGg6IEBjYXJldC13aWR0aC1sYXJnZSBAY2FyZXQtd2lkdGgtbGFyZ2UgMDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxnIC5jYXJldCB7XG4gIGJvcmRlci13aWR0aDogMCBAY2FyZXQtd2lkdGgtbGFyZ2UgQGNhcmV0LXdpZHRoLWxhcmdlO1xufVxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvLyBDbGVhciBmbG9hdHMgc28gZHJvcGRvd24gbWVudXMgY2FuIGJlIHByb3Blcmx5IHBsYWNlZFxuICA+IC5idG4tZ3JvdXAge1xuICAgICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuICAgID4gLmJ0biB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gIH1cblxuICA+IC5idG4gKyAuYnRuLFxuICA+IC5idG4gKyAuYnRuLWdyb3VwLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLFxuICA+IC5idG4tZ3JvdXAgKyAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuIHtcbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG4gICY6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxuICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBidG4tYm9yZGVyLXJhZGl1cy1iYXNlO1xuICAgIC5ib3JkZXItdG9wLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCk6bm90KDpsYXN0LWNoaWxkKSA+IC5idG4ge1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gID4gLmJ0bjpsYXN0LWNoaWxkLFxuICA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIC5ib3JkZXItYm90dG9tLXJhZGl1cygwKTtcbiAgfVxufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tZ3JvdXA6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG46Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG5cblxuLy8gSnVzdGlmaWVkIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC1qdXN0aWZpZWQge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gID4gLmJ0bixcbiAgPiAuYnRuLWdyb3VwIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiAxJTtcbiAgfVxuICA+IC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICA+IC5idG4tZ3JvdXAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cbn1cblxuXG4vLyBDaGVja2JveCBhbmQgcmFkaW8gb3B0aW9uc1xuLy9cbi8vIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIGJyb3dzZXIncyBmb3JtIHZhbGlkYXRpb24gZmVlZGJhY2ssIHBvd2VyZWQgYnkgdGhlXG4vLyBgcmVxdWlyZWRgIGF0dHJpYnV0ZSwgd2UgaGF2ZSB0byBcImhpZGVcIiB0aGUgaW5wdXRzIHZpYSBgY2xpcGAuIFdlIGNhbm5vdCB1c2Vcbi8vIGBkaXNwbGF5OiBub25lO2Agb3IgYHZpc2liaWxpdHk6IGhpZGRlbjtgIGFzIHRoYXQgYWxzbyBoaWRlcyB0aGUgcG9wb3Zlci5cbi8vIFNpbXBseSB2aXN1YWxseSBoaWRpbmcgdGhlIGlucHV0cyB2aWEgYG9wYWNpdHlgIHdvdWxkIGxlYXZlIHRoZW0gY2xpY2thYmxlIGluXG4vLyBjZXJ0YWluIGNhc2VzIHdoaWNoIGlzIHByZXZlbnRlZCBieSB1c2luZyBgY2xpcGAgYW5kIGBwb2ludGVyLWV2ZW50c2AuXG4vLyBUaGlzIHdheSwgd2UgZW5zdXJlIGEgRE9NIGVsZW1lbnQgaXMgdmlzaWJsZSB0byBwb3NpdGlvbiB0aGUgcG9wb3ZlciBmcm9tLlxuLy9cbi8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvcHVsbC8xMjc5NCBhbmRcbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzE0NTU5IGZvciBtb3JlIGluZm9ybWF0aW9uLlxuXG5bZGF0YS10b2dnbGU9XCJidXR0b25zXCJdIHtcbiAgPiAuYnRuLFxuICA+IC5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGNsaXA6IHJlY3QoMCwwLDAsMCk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBDb21wb25lbnQgYW5pbWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSGVhZHMgdXAhXG4vL1xuLy8gV2UgZG9uJ3QgdXNlIHRoZSBgLm9wYWNpdHkoKWAgbWl4aW4gaGVyZSBzaW5jZSBpdCBjYXVzZXMgYSBidWcgd2l0aCB0ZXh0XG4vLyBmaWVsZHMgaW4gSUU3LTguIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMzU1Mi5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICAudHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuaW4gICAgICB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRyJi5pbiAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICB0Ym9keSYuaW4geyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXA7IH1cbn1cblxuLmNvbGxhcHNpbmcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnRyYW5zaXRpb24tcHJvcGVydHkoflwiaGVpZ2h0LCB2aXNpYmlsaXR5XCIpO1xuICAudHJhbnNpdGlvbi1kdXJhdGlvbiguMzVzKTtcbiAgLnRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uKCBjdWJpYy1iZXppZXIoMC4zNSwgMCwgMC4yNSwgMSkgKSAhaW1wb3J0YW50O1xufVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIERyb3Bkb3duIGFycm93L2NhcmV0XG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlci10b3A6ICAgQGNhcmV0LXdpZHRoLWJhc2UgZGFzaGVkO1xuICBib3JkZXItdG9wOiAgIEBjYXJldC13aWR0aC1iYXNlIHNvbGlkIH5cIlxcOVwiOyAvLyBJRThcbiAgYm9yZGVyLXJpZ2h0OiBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQ6ICBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB0cmFuc3BhcmVudDtcbn1cblxuLy8gVGhlIGRyb3Bkb3duIHdyYXBwZXIgKGRpdilcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vIFByZXZlbnQgdGhlIGZvY3VzIG9uIHRoZSBkcm9wZG93biB0b2dnbGUgd2hlbiBjbG9zaW5nIGRyb3Bkb3duc1xuLmRyb3Bkb3duLXRvZ2dsZTpmb2N1cyB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXgtZHJvcGRvd247XG4gIGRpc3BsYXk6IG5vbmU7IC8vIG5vbmUgYnkgZGVmYXVsdCwgYnV0IGJsb2NrIG9uIFwib3BlblwiIG9mIHRoZSBtZW51XG4gIGZsb2F0OiBsZWZ0O1xuICBtaW4td2lkdGg6IDE2MHB4O1xuICBwYWRkaW5nOiA1cHggMDtcbiAgbWFyZ2luOiAycHggMCAwOyAvLyBvdmVycmlkZSBkZWZhdWx0IHVsXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBFbnN1cmVzIHByb3BlciBhbGlnbm1lbnQgaWYgcGFyZW50IGhhcyBpdCBjaGFuZ2VkIChlLmcuLCBtb2RhbCBmb290ZXIpXG4gIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1iZztcbiAgYm9yZGVyOiAxcHggc29saWQgQGRyb3Bkb3duLWZhbGxiYWNrLWJvcmRlcjsgLy8gSUU4IGZhbGxiYWNrXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIC5ib3gtc2hhZG93KDAgNnB4IDEycHggcmdiYSgwLDAsMCwuMTc1KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cbiAgLy8gQWxpZ25zIHRoZSBkcm9wZG93biBtZW51IHRvIHJpZ2h0XG4gIC8vXG4gIC8vIERlcHJlY2F0ZWQgYXMgb2YgMy4xLjAgaW4gZmF2b3Igb2YgYC5kcm9wZG93bi1tZW51LVtkaXJdYFxuICAmLnB1bGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAvLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4gIC5kaXZpZGVyIHtcbiAgICAubmF2LWRpdmlkZXIoQGRyb3Bkb3duLWRpdmlkZXItYmcpO1xuICB9XG5cbiAgLy8gTGlua3Mgd2l0aGluIHRoZSBkcm9wZG93biBtZW51XG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAzcHggMjBweDtcbiAgICBjbGVhcjogYm90aDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQtYmFzZTtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgLy8gcHJldmVudCBsaW5rcyBmcm9tIHJhbmRvbWx5IGJyZWFraW5nIG9udG8gbmV3IGxpbmVzXG4gIH1cbn1cblxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhIHtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1ob3Zlci1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZHJvcGRvd24tbGluay1ob3Zlci1iZztcbiAgfVxufVxuXG4vLyBBY3RpdmUgc3RhdGVcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEge1xuICAmLFxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGRyb3Bkb3duLWxpbmstYWN0aXZlLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBkcm9wZG93bi1saW5rLWFjdGl2ZS1iZztcbiAgfVxufVxuXG4vLyBEaXNhYmxlZCBzdGF0ZVxuLy9cbi8vIEdyYXkgb3V0IHRleHQgYW5kIGVuc3VyZSB0aGUgaG92ZXIvZm9jdXMgc3RhdGUgcmVtYWlucyBncmF5XG5cbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSB7XG4gICYsXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZHJvcGRvd24tbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgfVxuXG4gIC8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVtb3ZlIENTUyBncmFkaWVudFxuICAgIC5yZXNldC1maWx0ZXIoKTtcbiAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gIH1cbn1cblxuLy8gT3BlbiBzdGF0ZSBmb3IgdGhlIGRyb3Bkb3duXG4ub3BlbiB7XG4gIC8vIFNob3cgdGhlIG1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvLyBSZW1vdmUgdGhlIG91dGxpbmUgd2hlbiA6Zm9jdXMgaXMgdHJpZ2dlcmVkXG4gID4gYSB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxufVxuXG4vLyBNZW51IHBvc2l0aW9uaW5nXG4vL1xuLy8gQWRkIGV4dHJhIGNsYXNzIHRvIGAuZHJvcGRvd24tbWVudWAgdG8gZmxpcCB0aGUgYWxpZ25tZW50IG9mIHRoZSBkcm9wZG93blxuLy8gbWVudSB3aXRoIHRoZSBwYXJlbnQuXG4uZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIGxlZnQ6IGF1dG87IC8vIFJlc2V0IHRoZSBkZWZhdWx0IGZyb20gYC5kcm9wZG93bi1tZW51YFxuICByaWdodDogMDtcbn1cbi8vIFdpdGggdjMsIHdlIGVuYWJsZWQgYXV0by1mbGlwcGluZyBpZiB5b3UgaGF2ZSBhIGRyb3Bkb3duIHdpdGhpbiBhIHJpZ2h0XG4vLyBhbGlnbmVkIG5hdiBjb21wb25lbnQuIFRvIGVuYWJsZSB0aGUgdW5kb2luZyBvZiB0aGF0LCB3ZSBwcm92aWRlIGFuIG92ZXJyaWRlXG4vLyB0byByZXN0b3JlIHRoZSBkZWZhdWx0IGRyb3Bkb3duIG1lbnUgYWxpZ25tZW50LlxuLy9cbi8vIFRoaXMgaXMgb25seSBmb3IgbGVmdC1hbGlnbmluZyBhIGRyb3Bkb3duIG1lbnUgd2l0aGluIGEgYC5uYXZiYXItcmlnaHRgIG9yXG4vLyBgLnB1bGwtcmlnaHRgIG5hdiBjb21wb25lbnQuXG4uZHJvcGRvd24tbWVudS1sZWZ0IHtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi8vIERyb3Bkb3duIHNlY3Rpb24gaGVhZGVyc1xuLmRyb3Bkb3duLWhlYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIGNvbG9yOiBAZHJvcGRvd24taGVhZGVyLWNvbG9yO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBhcyB3aXRoID4gbGkgPiBhXG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLmRyb3Bkb3duLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IChAemluZGV4LWRyb3Bkb3duIC0gMTApO1xufVxuXG4vLyBSaWdodCBhbGlnbmVkIGRyb3Bkb3duc1xuLnB1bGwtcmlnaHQgPiAuZHJvcGRvd24tbWVudSB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvO1xufVxuXG4vLyBBbGxvdyBmb3IgZHJvcGRvd25zIHRvIGdvIGJvdHRvbSB1cCAoYWthLCBkcm9wdXAtbWVudSlcbi8vXG4vLyBKdXN0IGFkZCAuZHJvcHVwIGFmdGVyIHRoZSBzdGFuZGFyZCAuZHJvcGRvd24gY2xhc3MgYW5kIHlvdSdyZSBzZXQsIGJyby5cbi8vIFRPRE86IGFic3RyYWN0IHRoaXMgc28gdGhhdCB0aGUgbmF2YmFyIGZpeGVkIHN0eWxlcyBhcmUgbm90IHBsYWNlZCBoZXJlP1xuXG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IEBjYXJldC13aWR0aC1iYXNlIGRhc2hlZDtcbiAgICBib3JkZXItYm90dG9tOiBAY2FyZXQtd2lkdGgtYmFzZSBzb2xpZCB+XCJcXDlcIjsgLy8gSUU4XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZWl0ZXJhdGUgcGVyIG5hdmJhci5sZXNzIGFuZCB0aGUgbW9kaWZpZWQgY29tcG9uZW50IGFsaWdubWVudCB0aGVyZS5cblxuQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgLm5hdmJhci1yaWdodCB7XG4gICAgLmRyb3Bkb3duLW1lbnUge1xuICAgICAgLmRyb3Bkb3duLW1lbnUtcmlnaHQoKTtcbiAgICB9XG4gICAgLy8gTmVjZXNzYXJ5IGZvciBvdmVycmlkZXMgb2YgdGhlIGRlZmF1bHQgcmlnaHQgYWxpZ25lZCBtZW51LlxuICAgIC8vIFdpbGwgcmVtb3ZlIGNvbWUgdjQgaW4gYWxsIGxpa2VsaWhvb2QuXG4gICAgLmRyb3Bkb3duLW1lbnUtbGVmdCB7XG4gICAgICAuZHJvcGRvd24tbWVudS1sZWZ0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBIb3Jpem9udGFsIGRpdmlkZXJzXG4vL1xuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG5cbi5uYXYtZGl2aWRlcihAY29sb3I6ICNlNWU1ZTUpIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIG1hcmdpbjogKChAbGluZS1oZWlnaHQtY29tcHV0ZWQgLyAyKSAtIDEpIDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcbn1cbiIsIi8vIFJlc2V0IGZpbHRlcnMgZm9yIElFXG4vL1xuLy8gV2hlbiB5b3UgbmVlZCB0byByZW1vdmUgYSBncmFkaWVudCBiYWNrZ3JvdW5kLCBkbyBub3QgZm9yZ2V0IHRvIHVzZSB0aGlzIHRvIHJlc2V0XG4vLyB0aGUgSUUgZmlsdGVyIGZvciBJRTkgYW5kIGJlbG93LlxuXG4ucmVzZXQtZmlsdGVyKCkge1xuICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChlbmFibGVkID0gZmFsc2UpXCIpKTtcbn1cbiIsIi8vIFNpbmdsZSBzaWRlIGJvcmRlci1yYWRpdXNcblxuLmJvcmRlci10b3AtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWJvdHRvbS1yYWRpdXMoQHJhZGl1cykge1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogQHJhZGl1cztcbiAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogQHJhZGl1cztcbiAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbiIsIi8vXG4vLyBJbnB1dCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEJhc2Ugc3R5bGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uaW5wdXQtZ3JvdXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIEZvciBkcm9wZG93bnNcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IC8vIHByZXZlbnQgaW5wdXQgZ3JvdXBzIGZyb20gaW5oZXJpdGluZyBib3JkZXIgc3R5bGVzIGZyb20gdGFibGUgY2VsbHMgd2hlbiBwbGFjZWQgd2l0aGluIGEgdGFibGVcblxuICAvLyBVbmRvIHBhZGRpbmcgYW5kIGZsb2F0IG9mIGdyaWQgY2xhc3Nlc1xuICAmW2NsYXNzKj1cImNvbC1cIl0ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgLmZvcm0tY29udHJvbCB7XG4gICAgLy8gRW5zdXJlIHRoYXQgdGhlIGlucHV0IGlzIGFsd2F5cyBhYm92ZSB0aGUgKmFwcGVuZGVkKiBhZGRvbiBidXR0b24gZm9yXG4gICAgLy8gcHJvcGVyIGJvcmRlciBjb2xvcnMuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICAvLyBJRTkgZnViYXJzIHRoZSBwbGFjZWhvbGRlciBhdHRyaWJ1dGUgaW4gdGV4dCBpbnB1dHMgYW5kIHRoZSBhcnJvd3Mgb25cbiAgICAvLyBzZWxlY3QgZWxlbWVudHMgaW4gaW5wdXQgZ3JvdXBzLiBUbyBmaXggaXQsIHdlIGZsb2F0IHRoZSBpbnB1dC4gRGV0YWlsczpcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzExNTYxI2lzc3VlY29tbWVudC0yODkzNjg1NVxuICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLyBTaXppbmcgb3B0aW9uc1xuLy9cbi8vIFJlbWl4IHRoZSBkZWZhdWx0IGZvcm0gY29udHJvbCBzaXppbmcgY2xhc3NlcyBpbnRvIG5ldyBvbmVzIGZvciBlYXNpZXJcbi8vIG1hbmlwdWxhdGlvbi5cblxuLmlucHV0LWdyb3VwLWxnID4gLmZvcm0tY29udHJvbCxcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1sZyA+IC5pbnB1dC1ncm91cC1idG4gPiAuYnRuIHtcbiAgLmlucHV0LWxnKCk7XG59XG4uaW5wdXQtZ3JvdXAtc20gPiAuZm9ybS1jb250cm9sLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLXNtID4gLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICAuaW5wdXQtc20oKTtcbn1cblxuXG4vLyBEaXNwbGF5IGFzIHRhYmxlLWNlbGxcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5pbnB1dC1ncm91cC1hZGRvbixcbi5pbnB1dC1ncm91cC1idG4sXG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cbiAgJjpub3QoOmZpcnN0LWNoaWxkKTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG4vLyBBZGRvbiBhbmQgYWRkb24gd3JhcHBlciBmb3IgYnV0dG9uc1xuLmlucHV0LWdyb3VwLWFkZG9uLFxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLy8gTWF0Y2ggdGhlIGlucHV0c1xufVxuXG4vLyBUZXh0IGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBpbnB1dC1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5wdXQtZ3JvdXAtYWRkb24tYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dC1ncm91cC1hZGRvbi1ib3JkZXItY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgLy8gU2l6aW5nXG4gICYuaW5wdXQtc20ge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLXNtYWxsLXZlcnRpY2FsIEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xuICB9XG4gICYuaW5wdXQtbGcge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nLWxhcmdlLXZlcnRpY2FsIEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7XG4gICAgZm9udC1zaXplOiBAZm9udC1zaXplLWxhcmdlO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlO1xuICB9XG5cbiAgLy8gTnVrZSBkZWZhdWx0IG1hcmdpbnMgZnJvbSBjaGVja2JveGVzIGFuZCByYWRpb3MgdG8gdmVydGljYWxseSBjZW50ZXIgd2l0aGluLlxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBSZXNldCByb3VuZGVkIGNvcm5lcnNcbi5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSksXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuIHtcbiAgLmJvcmRlci1yaWdodC1yYWRpdXMoMCk7XG59XG4uaW5wdXQtZ3JvdXAtYWRkb246Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmlnaHQ6IDA7XG59XG4uaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLFxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQsXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLFxuLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sXG4uaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlLFxuLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksXG4uaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkID4gLmJ0bi1ncm91cDpub3QoOmZpcnN0LWNoaWxkKSA+IC5idG4ge1xuICAuYm9yZGVyLWxlZnQtcmFkaXVzKDApO1xufVxuLmlucHV0LWdyb3VwLWFkZG9uOmxhc3QtY2hpbGQge1xuICBib3JkZXItbGVmdDogMDtcbn1cblxuLy8gQnV0dG9uIGlucHV0IGdyb3Vwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmlucHV0LWdyb3VwLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLy8gSmFua2lseSBwcmV2ZW50IGlucHV0IGJ1dHRvbiBncm91cHMgZnJvbSB3cmFwcGluZyB3aXRoIGB3aGl0ZS1zcGFjZWAgYW5kXG4gIC8vIGBmb250LXNpemVgIGluIGNvbWJpbmF0aW9uIHdpdGggYGlubGluZS1ibG9ja2Agb24gYnV0dG9ucy5cbiAgZm9udC1zaXplOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIC8vIE5lZ2F0aXZlIG1hcmdpbiBmb3Igc3BhY2luZywgcG9zaXRpb24gZm9yIGJyaW5naW5nIGhvdmVyZWQvZm9jdXNlZC9hY3RpdmVkXG4gIC8vIGVsZW1lbnQgYWJvdmUgdGhlIHNpYmxpbmdzLlxuICA+IC5idG4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICArIC5idG4ge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICAgIC8vIEJyaW5nIHRoZSBcImFjdGl2ZVwiIGJ1dHRvbiB0byB0aGUgZnJvbnRcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cblxuICAvLyBOZWdhdGl2ZSBtYXJnaW4gdG8gb25seSBoYXZlIGEgMXB4IGJvcmRlciBiZXR3ZWVuIHRoZSB0d29cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xcHg7XG4gICAgfVxuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgPiAuYnRuLFxuICAgID4gLmJ0bi1ncm91cCB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gICAgfVxuICB9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBib290c3RyYXAtcmVzZXQubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vXHJcbi8vIFVzZSB0aGlzIGZpbGUgdG8gcmVzZXQgc2ltcGxlIGJvb3RzdHJhcCBzdHlsZXNcclxuLy8gaW5zdGVhZCBvZiBtb2RpZnlpbmcgdGhlIGNvcmUgZmlsZXNcclxuLy8gTWFrZXMgZWFzeSB0byB1cGRhdGUgbmV3IGZyYW1ld29yayB2ZXJzaW9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbkBpbXBvcnQgKGxlc3MsIHJlZmVyZW5jZSkgXCIuLi8uLi8uLi9hcHAvdmVuZG9yL2ZvbnRhd2Vzb21lL2Nzcy9mb250LWF3ZXNvbWUubWluLmNzc1wiO1xyXG5cclxuXHJcbi8vIHRyZWF0IHVpIGxpbmsgYXMgbm9ybWFsIGxpbmtzXHJcblt1aS1zcmVmXSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcblxyXG4vLyByZXF1aXJlZCBmb3IgQW5ndWxhciBVSS5Cb290c3RyYXBcclxuLm5hdi1waWxscywgXHJcbi5wYWdpbmF0aW9uLCBcclxuLmNhcm91c2VsLCBcclxuLnBhbmVsLXRpdGxlIGEgeyBcclxuICBjdXJzb3I6IHBvaW50ZXI7IFxyXG59XHJcblxyXG5bbmdcXDpjbG9ha10sIFxyXG5bbmctY2xvYWtdLCBcclxuW2RhdGEtbmctY2xvYWtdLCBcclxuW3gtbmctY2xvYWtdLCBcclxuLm5nLWNsb2FrLCBcclxuLngtbmctY2xvYWsge1xyXG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuKjpmb2N1cyB7XHJcbiAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG5hIHtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgJjpob3ZlciwgJjpmb2N1cyB7XHJcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4ubGlzdC1ncm91cCB7XHJcbiAgbGluZS1oZWlnaHQ6IDEuMztcclxuICAubGlzdC1ncm91cC1pdGVtIHtcclxuICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAucGFuZWwgJiB7XHJcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgIGJvcmRlci10b3A6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYWdlLWhlYWRlciB7XHJcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGdyYXktbGlnaHQ7XHJcbn1cclxuXHJcbi5qdW1ib3Ryb24ge1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5LWxpZ2h0ZXI7XHJcbn1cclxuXHJcbi8vIE5hdiBUYWJzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLm5hdi10YWJzID4gbGkgPiBhIHtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1saWdodGVyO1xyXG4gIG1hcmdpbjogMDtcclxuICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG4gIHBhZGRpbmc6IDhweCAxOHB4O1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbn1cclxuXHJcbi5uYXYtdGFicyA+IGxpLmFjdGl2ZSA+IGEge1xyXG4gIHBhZGRpbmc6IDEycHggMjJweDtcclxuICAmLCAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcclxuICB9XHJcbn1cclxuXHJcbi5uYXYtdGFicyA+IGxpIHtcclxuICBwYWRkaW5nOiA0cHg7XHJcbiAgJi5hY3RpdmUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgICsgbGkge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDRweDtcclxuICAgIH1cclxuICB9XHJcbiAgJjpmaXJzdC1jaGlsZCB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IFxyXG4gIH1cclxufVxyXG5cclxuLnRhYi1jb250ZW50IHtcclxuICBwYWRkaW5nOiAxMHB4IDIwcHg7XHJcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuICBib3JkZXItd2lkdGg6IDAgMXB4IDFweCAxcHg7XHJcbiAgYm9yZGVyLWNvbG9yOiBAZ3JheS1saWdodDtcclxuICAubmF2LXBpbGxzICsgJiB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLm5hdi10YWJzLm5hdi1qdXN0aWZpZWQgPiAuYWN0aXZlID4gYSwgXHJcbi5uYXYtdGFicy5uYXYtanVzdGlmaWVkID4gLmFjdGl2ZSA+IGE6aG92ZXIsIFxyXG4ubmF2LXRhYnMubmF2LWp1c3RpZmllZCA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcclxuICBib3JkZXItYm90dG9tOiAwO1xyXG59XHJcblxyXG4vLyBGb3Jtc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbi5mb3JtLWNvbnRyb2wge1xyXG4gIHBhZGRpbmctbGVmdDogMThweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xyXG4gIGJveC1zaGFkb3c6IDAgMCAwICMwMDAgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZvcm0tY29udHJvbCxcclxuLmlucHV0LWdyb3VwLWFkZG9uIHtcclxuICBib3JkZXItY29sb3I6ICNkYmQ5ZDk7XHJcbn1cclxuXHJcbi5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjlmYjtcclxufVxyXG5cclxuLmlucHV0LXNtLFxyXG5zZWxlY3QuaW5wdXQtc20ge1xyXG4gIGhlaWdodDogMzFweDtcclxufVxyXG5cclxuZmllbGRzZXQge1xyXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgI2VlZTtcclxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICYubGFzdC1jaGlsZCxcclxuICAmOmxhc3QtY2hpbGQge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICB9XHJcbiAgLmZvcm0tZ3JvdXAge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIGtlZXAgc2FtZSBhcHBlYXJhbmNlIG9uIGlvcyBkZXZpY2VzXHJcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxyXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXHJcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0sXHJcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcclxuaW5wdXRbdHlwZT1cInVybFwiXSxcclxuaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG59ICBcclxuXHJcbi8vIFRhYmxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbi50YWJsZSB7XHJcblxyXG4gIC8vIEJvdHRvbSBhbGlnbiBmb3IgY29sdW1uIGhlYWRpbmdzXHJcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgcGFkZGluZy10b3A6IDIwcHggIWltcG9ydGFudDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcclxuICA+IHRib2R5ICsgdGJvZHkge1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbi50YWJsZS1ib3JkZXJlZCB7XHJcbiAgPiB0aGVhZCA+IHRyIHtcclxuICAgID4gdGgsXHJcbiAgICA+IHRkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gUHJvZ3Jlc3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcblxyXG4ucHJvZ3Jlc3Mge1xyXG4gIC5ib3gtc2hhZG93KDAgMCAwICMwMDApO1xyXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwcm9ncmVzcy1iZztcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gIC5wcm9ncmVzcy1iYXIge1xyXG4gICAgLmJveC1zaGFkb3coMCAwIDAgIzAwMCk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBQb3BvdmVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucG9wb3ZlciB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxuICBib3JkZXItY29sb3I6ICNlZWU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLXNtYWxsO1xyXG4gIC5wb3BvdmVyLXRpdGxlIHtcclxuICAgIGJvcmRlcjogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIERST1BET1dOXHJcbi5kcm9wZG93bi1tZW51IHtcclxuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1zbWFsbDtcclxufVxyXG5cclxuLmRyb3Bkb3duLWhlYWRlciB7XHJcbiAgY29sb3I6ICNhMWEyYTM7XHJcbn1cclxuXHJcbi8vIENBUk9VU0VMXHJcblxyXG4uY2Fyb3VzZWwge1xyXG4gIC5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcclxuICAgIGJvdHRvbTogMDtcclxuICB9XHJcbiAgLmNhcm91c2VsLWNvbnRyb2wge1xyXG4gICAgJi5sZWZ0LFxyXG4gICAgJi5yaWdodCB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICB9XHJcbiAgICAvLyBBZGQgc3VwcG9ydCBmb3IgZm9udCBhd2Vzb21lXHJcbiAgICBlbSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiA1MCU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gbWFrZSBnbHlwaGljb24gdXNlcyBmb250IGF3ZXNvbWUgc3R5bGVzXHJcbi5nbHlwaGljb246ZXh0ZW5kKC5mYSBhbGwpIHtcclxuICAmLmdseXBoaWNvbi1jaGV2cm9uLXJpZ2h0OmV4dGVuZCguZmEtY2hldnJvbi1yaWdodCBhbGwpIHt9O1xyXG4gICYuZ2x5cGhpY29uLWNoZXZyb24tbGVmdDpleHRlbmQoLmZhLWNoZXZyb24tbGVmdCBhbGwpIHt9O1xyXG4gICYuZ2x5cGhpY29uLWNoZXZyb24tdXA6ZXh0ZW5kKC5mYS1jaGV2cm9uLXVwIGFsbCkge307XHJcbiAgJi5nbHlwaGljb24tY2hldnJvbi1kb3duOmV4dGVuZCguZmEtY2hldnJvbi1kb3duIGFsbCkge307XHJcbn1cclxuXHJcbi5wYW5lbCA+IC50YWJsZS1yZXNwb25zaXZlIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGF1dG87ICBcclxuICAvLyBwYWRkaW5nOiAwIDRweDtcclxuICAvLyBtYXJnaW46IDAgLTRweDtcclxufVxyXG5cclxuXHJcbi5tZWRpYS1oZWFkaW5nIHtcclxuICBhIHsgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XHJcbn0iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyAvLyBPdmVycmlkZSBkZWZhdWx0IHVsL29sXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gID4gbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IEBuYXYtbGluay1wYWRkaW5nO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdGF0ZSBzZXRzIHRleHQgdG8gZ3JheSBhbmQgbnVrZXMgaG92ZXIvdGFiIGVmZmVjdHNcbiAgICAmLmRpc2FibGVkID4gYSB7XG4gICAgICBjb2xvcjogQG5hdi1kaXNhYmxlZC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LWRpc2FibGVkLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBPcGVuIGRyb3Bkb3duc1xuICAub3BlbiA+IGEge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtbGluay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1jb2xvcjogQGxpbmstY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gTmF2IGRpdmlkZXJzIChkZXByZWNhdGVkIHdpdGggdjMuMC4xKVxuICAvL1xuICAvLyBUaGlzIHNob3VsZCBoYXZlIGJlZW4gcmVtb3ZlZCBpbiB2MyB3aXRoIHRoZSBkcm9wcGluZyBvZiBgLm5hdi1saXN0YCwgYnV0XG4gIC8vIHdlIG1pc3NlZCBpdC4gV2UgZG9uJ3QgY3VycmVudGx5IHN1cHBvcnQgdGhpcyBhbnl3aGVyZSwgYnV0IGluIHRoZSBpbnRlcmVzdFxuICAvLyBvZiBtYWludGFpbmluZyBiYWNrd2FyZCBjb21wYXRpYmlsaXR5IGluIGNhc2UgeW91IHVzZSBpdCwgaXQncyBkZXByZWNhdGVkLlxuICAubmF2LWRpdmlkZXIge1xuICAgIC5uYXYtZGl2aWRlcigpO1xuICB9XG5cbiAgLy8gUHJldmVudCBJRTggZnJvbSBtaXNwbGFjaW5nIGltZ3NcbiAgLy9cbiAgLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbiAgPiBsaSA+IGEgPiBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgfVxufVxuXG5cbi8vIFRhYnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgdGFicyBzb21ldGhpbmcgdG8gc2l0IG9uXG4ubmF2LXRhYnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG5hdi10YWJzLWJvcmRlci1jb2xvcjtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4gICAgbWFyZ2luLWJvdHRvbTogLTFweDtcblxuICAgIC8vIEFjdHVhbCB0YWJzIChhcyBsaW5rcylcbiAgICA+IGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgQGJvcmRlci1yYWRpdXMtYmFzZSAwIDA7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2LXRhYnMtbGluay1ob3Zlci1ib3JkZXItY29sb3IgQG5hdi10YWJzLWxpbmstaG92ZXItYm9yZGVyLWNvbG9yIEBuYXYtdGFicy1ib3JkZXItY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXRzIDpob3ZlciB0byBvdmVycmlkZSBub3JtYWwgOmhvdmVyXG4gICAgJi5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2LXRhYnMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtdGFicy1hY3RpdmUtbGluay1ob3Zlci1iZztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgQG5hdi10YWJzLWFjdGl2ZS1saW5rLWhvdmVyLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLy8gcHVsbGluZyB0aGlzIGluIG1haW5seSBmb3IgbGVzcyBzaG9ydGhhbmRcbiAgJi5uYXYtanVzdGlmaWVkIHtcbiAgICAubmF2LWp1c3RpZmllZCgpO1xuICAgIC5uYXYtdGFicy1qdXN0aWZpZWQoKTtcbiAgfVxufVxuXG5cbi8vIFBpbGxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXBpbGxzIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAvLyBMaW5rcyByZW5kZXJlZCBhcyBwaWxsc1xuICAgID4gYSB7XG4gICAgICBib3JkZXItcmFkaXVzOiBAbmF2LXBpbGxzLWJvcmRlci1yYWRpdXM7XG4gICAgfVxuICAgICsgbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXYtcGlsbHMtYWN0aXZlLWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gU3RhY2tlZCBwaWxsc1xuLm5hdi1zdGFja2VkIHtcbiAgPiBsaSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgKyBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMDsgLy8gbm8gbmVlZCBmb3IgdGhpcyBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBOYXYgdmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSnVzdGlmaWVkIG5hdiBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2LWp1c3RpZmllZCB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gbGkge1xuICAgIGZsb2F0OiBub25lO1xuICAgID4gYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgPiAuZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgPiBhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTW92ZSBib3JkZXJzIHRvIGFuY2hvcnMgaW5zdGVhZCBvZiBib3R0b20gb2YgbGlzdFxuLy9cbi8vIE1peGluIGZvciBhZGRpbmcgb24gdG9wIHRoZSBzaGFyZWQgYC5uYXYtanVzdGlmaWVkYCBzdHlsZXMgZm9yIG91ciB0YWJzXG4ubmF2LXRhYnMtanVzdGlmaWVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA+IGxpID4gYSB7XG4gICAgLy8gT3ZlcnJpZGUgbWFyZ2luIGZyb20gLm5hdi10YWJzXG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIH1cblxuICA+IC5hY3RpdmUgPiBhLFxuICA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuICA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAbmF2LXRhYnMtanVzdGlmaWVkLWxpbmstYm9yZGVyLWNvbG9yO1xuICB9XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBuYXYtdGFicy1qdXN0aWZpZWQtbGluay1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlIEBib3JkZXItcmFkaXVzLWJhc2UgMCAwO1xuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhLFxuICAgID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4gICAgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2LXRhYnMtanVzdGlmaWVkLWFjdGl2ZS1saW5rLWJvcmRlci1jb2xvcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBUYWJiYWJsZSB0YWJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEhpZGUgdGFiYmFibGUgcGFuZXMgdG8gc3RhcnQsIHNob3cgdGhlbSB3aGVuIGAuYWN0aXZlYFxuLnRhYi1jb250ZW50IHtcbiAgPiAudGFiLXBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgPiAuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi8vIERyb3Bkb3duc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBTcGVjaWZpYyBkcm9wZG93bnNcbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC8vIG1ha2UgZHJvcGRvd24gYm9yZGVyIG92ZXJsYXAgdGFiIGJvcmRlclxuICBtYXJnaW4tdG9wOiAtMXB4O1xuICAvLyBSZW1vdmUgdGhlIHRvcCByb3VuZGVkIGNvcm5lcnMgaGVyZSBzaW5jZSB0aGVyZSBpcyBhIGhhcmQgZWRnZSBhYm92ZSB0aGUgbWVudVxuICAuYm9yZGVyLXRvcC1yYWRpdXMoMCk7XG59XG4iLCIvL1xuLy8gTmF2YmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBXcmFwcGVyIGFuZCBiYXNlIGNsYXNzXG4vL1xuLy8gUHJvdmlkZSBhIHN0YXRpYyBuYXZiYXIgZnJvbSB3aGljaCB3ZSBleHBhbmQgdG8gY3JlYXRlIGZ1bGwtd2lkdGgsIGZpeGVkLCBhbmRcbi8vIG90aGVyIG5hdmJhciB2YXJpYXRpb25zLlxuXG4ubmF2YmFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiBAbmF2YmFyLWhlaWdodDsgLy8gRW5zdXJlIGEgbmF2YmFyIGFsd2F5cyBzaG93cyAoZS5nLiwgd2l0aG91dCBhIC5uYXZiYXItYnJhbmQgaW4gY29sbGFwc2VkIG1vZGUpXG4gIG1hcmdpbi1ib3R0b206IEBuYXZiYXItbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cbiAgLy8gUHJldmVudCBmbG9hdHMgZnJvbSBicmVha2luZyB0aGUgbmF2YmFyXG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogQG5hdmJhci1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGhlYWRpbmdcbi8vXG4vLyBHcm91cHMgYC5uYXZiYXItYnJhbmRgIGFuZCBgLm5hdmJhci10b2dnbGVgIGludG8gYSBzaW5nbGUgY29tcG9uZW50IGZvciBlYXN5XG4vLyBzdHlsaW5nIG9mIHJlc3BvbnNpdmUgYXNwZWN0cy5cblxuLm5hdmJhci1oZWFkZXIge1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuLy8gTmF2YmFyIGNvbGxhcHNlIChib2R5KVxuLy9cbi8vIEdyb3VwIHlvdXIgbmF2YmFyIGNvbnRlbnQgaW50byB0aGlzIGZvciBlYXN5IGNvbGxhcHNpbmcgYW5kIGV4cGFuZGluZyBhY3Jvc3Ncbi8vIHZhcmlvdXMgZGV2aWNlIHNpemVzLiBCeSBkZWZhdWx0LCB0aGlzIGNvbnRlbnQgaXMgY29sbGFwc2VkIHdoZW4gPDc2OHB4LCBidXRcbi8vIHdpbGwgZXhwYW5kIHBhc3QgdGhhdCBmb3IgYSBob3Jpem9udGFsIGRpc3BsYXkuXG4vL1xuLy8gVG8gc3RhcnQgKG9uIG1vYmlsZSBkZXZpY2VzKSB0aGUgbmF2YmFyIGxpbmtzLCBmb3JtcywgYW5kIGJ1dHRvbnMgYXJlIHN0YWNrZWRcbi8vIHZlcnRpY2FsbHkgYW5kIGluY2x1ZGUgYSBgbWF4LWhlaWdodGAgdG8gb3ZlcmZsb3cgaW4gY2FzZSB5b3UgaGF2ZSB0b28gbXVjaFxuLy8gY29udGVudCBmb3IgdGhlIHVzZXIncyB2aWV3cG9ydC5cblxuLm5hdmJhci1jb2xsYXBzZSB7XG4gIG92ZXJmbG93LXg6IHZpc2libGU7XG4gIHBhZGRpbmctcmlnaHQ6IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nLWxlZnQ6ICBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjEpO1xuICAmOmV4dGVuZCguY2xlYXJmaXggYWxsKTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuXG4gICYuaW4ge1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICYuY29sbGFwc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IC8vIE92ZXJyaWRlIGRlZmF1bHQgc2V0dGluZ1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLmluIHtcbiAgICAgIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgLy8gVW5kbyB0aGUgY29sbGFwc2Ugc2lkZSBwYWRkaW5nIGZvciBuYXZiYXJzIHdpdGggY29udGFpbmVycyB0byBlbnN1cmVcbiAgICAvLyBhbGlnbm1lbnQgb2YgcmlnaHQtYWxpZ25lZCBjb250ZW50cy5cbiAgICAubmF2YmFyLWZpeGVkLXRvcCAmLFxuICAgIC5uYXZiYXItc3RhdGljLXRvcCAmLFxuICAgIC5uYXZiYXItZml4ZWQtYm90dG9tICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1maXhlZC10b3AsXG4ubmF2YmFyLWZpeGVkLWJvdHRvbSB7XG4gIC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1heC1oZWlnaHQ6IEBuYXZiYXItY29sbGFwc2UtbWF4LWhlaWdodDtcblxuICAgIEBtZWRpYSAobWF4LWRldmljZS13aWR0aDogQHNjcmVlbi14cy1taW4pIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgICAgbWF4LWhlaWdodDogMjAwcHg7XG4gICAgfVxuICB9XG59XG5cblxuLy8gQm90aCBuYXZiYXIgaGVhZGVyIGFuZCBjb2xsYXBzZVxuLy9cbi8vIFdoZW4gYSBjb250YWluZXIgaXMgcHJlc2VudCwgY2hhbmdlIHRoZSBiZWhhdmlvciBvZiB0aGUgaGVhZGVyIGFuZCBjb2xsYXBzZS5cblxuLmNvbnRhaW5lcixcbi5jb250YWluZXItZmx1aWQge1xuICA+IC5uYXZiYXItaGVhZGVyLFxuICA+IC5uYXZiYXItY29sbGFwc2Uge1xuICAgIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIG1hcmdpbi1sZWZ0OiAgLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAgMDtcbiAgICB9XG4gIH1cbn1cblxuXG4vL1xuLy8gTmF2YmFyIGFsaWdubWVudCBvcHRpb25zXG4vL1xuLy8gRGlzcGxheSB0aGUgbmF2YmFyIGFjcm9zcyB0aGUgZW50aXJldHkgb2YgdGhlIHBhZ2Ugb3IgZml4ZWQgaXQgdG8gdGhlIHRvcCBvclxuLy8gYm90dG9tIG9mIHRoZSBwYWdlLlxuXG4vLyBTdGF0aWMgdG9wICh1bmZpeGVkLCBidXQgMTAwJSB3aWRlKSBuYXZiYXJcbi5uYXZiYXItc3RhdGljLXRvcCB7XG4gIHotaW5kZXg6IEB6aW5kZXgtbmF2YmFyO1xuICBib3JkZXItd2lkdGg6IDAgMCAxcHg7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICB9XG59XG5cbi8vIEZpeCB0aGUgdG9wL2JvdHRvbSBuYXZiYXJzIHdoZW4gc2NyZWVuIHJlYWwgZXN0YXRlIHN1cHBvcnRzIGl0XG4ubmF2YmFyLWZpeGVkLXRvcCxcbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogQHppbmRleC1uYXZiYXItZml4ZWQ7XG5cbiAgLy8gVW5kbyB0aGUgcm91bmRlZCBjb3JuZXJzXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuLm5hdmJhci1maXhlZC10b3Age1xuICB0b3A6IDA7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyBvdmVycmlkZSAubmF2YmFyIGRlZmF1bHRzXG4gIGJvcmRlci13aWR0aDogMXB4IDAgMDtcbn1cblxuXG4vLyBCcmFuZC9wcm9qZWN0IG5hbWVcblxuLm5hdmJhci1icmFuZCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiBAbmF2YmFyLXBhZGRpbmctdmVydGljYWwgQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1sYXJnZTtcbiAgbGluZS1oZWlnaHQ6IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgaGVpZ2h0OiBAbmF2YmFyLWhlaWdodDtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICA+IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIC5uYXZiYXIgPiAuY29udGFpbmVyICYsXG4gICAgLm5hdmJhciA+IC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIE5hdmJhciB0b2dnbGVcbi8vXG4vLyBDdXN0b20gYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgYC5uYXZiYXItY29sbGFwc2VgLCBwb3dlcmVkIGJ5IHRoZSBjb2xsYXBzZVxuLy8gSmF2YVNjcmlwdCBwbHVnaW4uXG5cbi5uYXZiYXItdG9nZ2xlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbi1yaWdodDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIHBhZGRpbmc6IDlweCAxMHB4O1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDM0cHgpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgLy8gUmVzZXQgdW51c3VhbCBGaXJlZm94LW9uLUFuZHJvaWQgZGVmYXVsdCBzdHlsZTsgc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MvaXNzdWVzLzIxNFxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtYmFzZTtcblxuICAvLyBXZSByZW1vdmUgdGhlIGBvdXRsaW5lYCBoZXJlLCBidXQgbGF0ZXIgY29tcGVuc2F0ZSBieSBhdHRhY2hpbmcgYDpob3ZlcmBcbiAgLy8gc3R5bGVzIHRvIGA6Zm9jdXNgLlxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG5cbiAgLy8gQmFyc1xuICAuaWNvbi1iYXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAyMnB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgfVxuICAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICAgIG1hcmdpbi10b3A6IDRweDtcbiAgfVxuXG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vIE5hdmJhciBuYXYgbGlua3Ncbi8vXG4vLyBCdWlsZHMgb24gdG9wIG9mIHRoZSBgLm5hdmAgY29tcG9uZW50cyB3aXRoIGl0cyBvd24gbW9kaWZpZXIgY2xhc3MgdG8gbWFrZVxuLy8gdGhlIG5hdiB0aGUgZnVsbCBoZWlnaHQgb2YgdGhlIGhvcml6b250YWwgbmF2IChhYm92ZSA3NjhweCkuXG5cbi5uYXZiYXItbmF2IHtcbiAgbWFyZ2luOiAoQG5hdmJhci1wYWRkaW5nLXZlcnRpY2FsIC8gMikgLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuXG4gID4gbGkgPiBhIHtcbiAgICBwYWRkaW5nLXRvcDogICAgMTBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICB9XG5cbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgLy8gRHJvcGRvd25zIGdldCBjdXN0b20gZGlzcGxheSB3aGVuIGNvbGxhcHNlZFxuICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgID4gbGkgPiBhLFxuICAgICAgLmRyb3Bkb3duLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4IDVweCAyNXB4O1xuICAgICAgfVxuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVW5jb2xsYXBzZSB0aGUgbmF2XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAZ3JpZC1mbG9hdC1icmVha3BvaW50KSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgID4gYSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAgICBAbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBAbmF2YmFyLXBhZGRpbmctdmVydGljYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gTmF2YmFyIGZvcm1cbi8vXG4vLyBFeHRlbnNpb24gb2YgdGhlIGAuZm9ybS1pbmxpbmVgIHdpdGggc29tZSBleHRyYSBmbGF2b3IgZm9yIG9wdGltdW0gZGlzcGxheSBpblxuLy8gb3VyIG5hdmJhcnMuXG5cbi5uYXZiYXItZm9ybSB7XG4gIG1hcmdpbi1sZWZ0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gIG1hcmdpbi1yaWdodDogLUBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBwYWRkaW5nOiAxMHB4IEBuYXZiYXItcGFkZGluZy1ob3Jpem9udGFsO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgQHNoYWRvdzogaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKTtcbiAgLmJveC1zaGFkb3coQHNoYWRvdyk7XG5cbiAgLy8gTWl4aW4gYmVoYXZpb3IgZm9yIG9wdGltdW0gZGlzcGxheVxuICAuZm9ybS1pbmxpbmUoKTtcblxuICAuZm9ybS1ncm91cCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gZXhwYW5kZWQsIGhvcml6b250YWwgbmF2YmFyXG4gIC5uYXZiYXItdmVydGljYWwtYWxpZ24oQGlucHV0LWhlaWdodC1iYXNlKTtcblxuICAvLyBVbmRvIDEwMCUgd2lkdGggZm9yIHB1bGwgY2xhc3Nlc1xuICBAbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgLmJveC1zaGFkb3cobm9uZSk7XG4gIH1cbn1cblxuXG4vLyBEcm9wZG93biBtZW51c1xuXG4vLyBNZW51IHBvc2l0aW9uIGFuZCBtZW51IGNhcmV0c1xuLm5hdmJhci1uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xufVxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3Ncbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItbmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC5ib3JkZXItdG9wLXJhZGl1cyhAbmF2YmFyLWJvcmRlci1yYWRpdXMpO1xuICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoMCk7XG59XG5cblxuLy8gQnV0dG9ucyBpbiBuYXZiYXJzXG4vL1xuLy8gVmVydGljYWxseSBjZW50ZXIgYSBidXR0b24gd2l0aGluIGEgbmF2YmFyICh3aGVuICpub3QqIGluIGEgZm9ybSkuXG5cbi5uYXZiYXItYnRuIHtcbiAgLm5hdmJhci12ZXJ0aWNhbC1hbGlnbihAaW5wdXQtaGVpZ2h0LWJhc2UpO1xuXG4gICYuYnRuLXNtIHtcbiAgICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBpbnB1dC1oZWlnaHQtc21hbGwpO1xuICB9XG4gICYuYnRuLXhzIHtcbiAgICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDIyKTtcbiAgfVxufVxuXG5cbi8vIFRleHQgaW4gbmF2YmFyc1xuLy9cbi8vIEFkZCBhIGNsYXNzIHRvIG1ha2UgYW55IGVsZW1lbnQgcHJvcGVybHkgYWxpZ24gaXRzZWxmIHZlcnRpY2FsbHkgd2l0aGluIHRoZSBuYXZiYXJzLlxuXG4ubmF2YmFyLXRleHQge1xuICAubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBsaW5lLWhlaWdodC1jb21wdXRlZCk7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgbWFyZ2luLXJpZ2h0OiBAbmF2YmFyLXBhZGRpbmctaG9yaXpvbnRhbDtcbiAgfVxufVxuXG5cbi8vIENvbXBvbmVudCBhbGlnbm1lbnRcbi8vXG4vLyBSZXB1cnBvc2UgdGhlIHB1bGwgdXRpbGl0aWVzIGFzIHRoZWlyIG93biBuYXZiYXIgdXRpbGl0aWVzIHRvIGF2b2lkIHNwZWNpZmljaXR5XG4vLyBpc3N1ZXMgd2l0aCBwYXJlbnRzIGFuZCBjaGFpbmluZy4gT25seSBkbyB0aGlzIHdoZW4gdGhlIG5hdmJhciBpcyB1bmNvbGxhcHNlZFxuLy8gdGhvdWdoIHNvIHRoYXQgbmF2YmFyIGNvbnRlbnRzIHByb3Blcmx5IHN0YWNrIGFuZCBhbGlnbiBpbiBtb2JpbGUuXG4vL1xuLy8gRGVjbGFyZWQgYWZ0ZXIgdGhlIG5hdmJhciBjb21wb25lbnRzIHRvIGVuc3VyZSBtb3JlIHNwZWNpZmljaXR5IG9uIHRoZSBtYXJnaW5zLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludCkge1xuICAubmF2YmFyLWxlZnQgIHsgLnB1bGwtbGVmdCgpOyB9XG4gIC5uYXZiYXItcmlnaHQge1xuICAgIC5wdWxsLXJpZ2h0KCk7XG4gICAgbWFyZ2luLXJpZ2h0OiAtQG5hdmJhci1wYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICB+IC5uYXZiYXItcmlnaHQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIEFsdGVybmF0ZSBuYXZiYXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBEZWZhdWx0IG5hdmJhclxuLm5hdmJhci1kZWZhdWx0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWJnO1xuICBib3JkZXItY29sb3I6IEBuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG5cbiAgLm5hdmJhci1icmFuZCB7XG4gICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1icmFuZC1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1icmFuZC1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRleHQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtY29sb3I7XG4gIH1cblxuICAubmF2YmFyLW5hdiB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWNvbG9yO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItYmc7XG4gICAgICB9XG4gICAgfVxuICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgJixcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1iZztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubmF2YmFyLXRvZ2dsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtdG9nZ2xlLWJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LXRvZ2dsZS1ob3Zlci1iZztcbiAgICB9XG4gICAgLmljb24tYmFyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC10b2dnbGUtaWNvbi1iYXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1jb2xsYXBzZSxcbiAgLm5hdmJhci1mb3JtIHtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXItZGVmYXVsdC1ib3JkZXI7XG4gIH1cblxuICAvLyBEcm9wZG93biBtZW51IGl0ZW1zXG4gIC5uYXZiYXItbmF2IHtcbiAgICAvLyBSZW1vdmUgYmFja2dyb3VuZCBjb2xvciBmcm9tIG9wZW4gZHJvcGRvd25cbiAgICA+IC5vcGVuID4gYSB7XG4gICAgICAmLFxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtYmc7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IEBncmlkLWZsb2F0LWJyZWFrcG9pbnQtbWF4KSB7XG4gICAgICAvLyBEcm9wZG93bnMgZ2V0IGN1c3RvbSBkaXNwbGF5IHdoZW4gY29sbGFwc2VkXG4gICAgICAub3BlbiAuZHJvcGRvd24tbWVudSB7XG4gICAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWhvdmVyLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICAgICAmLFxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstYWN0aXZlLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICA+IC5kaXNhYmxlZCA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItZGVmYXVsdC1saW5rLWRpc2FibGVkLWJnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG5cbiAgLy8gTGlua3MgaW4gbmF2YmFyc1xuICAvL1xuICAvLyBBZGQgYSBjbGFzcyB0byBlbnN1cmUgbGlua3Mgb3V0c2lkZSB0aGUgbmF2YmFyIG5hdiBhcmUgY29sb3JlZCBjb3JyZWN0bHkuXG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWRlZmF1bHQtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1kZWZhdWx0LWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEludmVyc2UgbmF2YmFyXG5cbi5uYXZiYXItaW52ZXJzZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1iZztcbiAgYm9yZGVyLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYm9yZGVyO1xuXG4gIC5uYXZiYXItYnJhbmQge1xuICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtYnJhbmQtY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtYnJhbmQtaG92ZXItYmc7XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWNvbG9yO1xuICB9XG5cbiAgLm5hdmJhci1uYXYge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWJnO1xuICAgICAgfVxuICAgIH1cbiAgICA+IC5hY3RpdmUgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgIH1cbiAgICB9XG4gICAgPiAuZGlzYWJsZWQgPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1kaXNhYmxlZC1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRGFya2VuIHRoZSByZXNwb25zaXZlIG5hdiB0b2dnbGVcbiAgLm5hdmJhci10b2dnbGUge1xuICAgIGJvcmRlci1jb2xvcjogQG5hdmJhci1pbnZlcnNlLXRvZ2dsZS1ib3JkZXItY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS10b2dnbGUtaG92ZXItYmc7XG4gICAgfVxuICAgIC5pY29uLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtdG9nZ2xlLWljb24tYmFyLWJnO1xuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItY29sbGFwc2UsXG4gIC5uYXZiYXItZm9ybSB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oQG5hdmJhci1pbnZlcnNlLWJnLCA3JSk7XG4gIH1cblxuICAvLyBEcm9wZG93bnNcbiAgLm5hdmJhci1uYXYge1xuICAgID4gLm9wZW4gPiBhIHtcbiAgICAgICYsXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1iZztcbiAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWFjdGl2ZS1jb2xvcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgKG1heC13aWR0aDogQGdyaWQtZmxvYXQtYnJlYWtwb2ludC1tYXgpIHtcbiAgICAgIC8vIERyb3Bkb3ducyBnZXQgY3VzdG9tIGRpc3BsYXlcbiAgICAgIC5vcGVuIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICAgPiAuZHJvcGRvd24taGVhZGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgLmRpdmlkZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXItaW52ZXJzZS1ib3JkZXI7XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1jb2xvcjtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWhvdmVyLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmFjdGl2ZSA+IGEge1xuICAgICAgICAgICYsXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtY29sb3I7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1hY3RpdmUtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgID4gLmRpc2FibGVkID4gYSB7XG4gICAgICAgICAgJixcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgY29sb3I6IEBuYXZiYXItaW52ZXJzZS1saW5rLWRpc2FibGVkLWNvbG9yO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtYmc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhci1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstaG92ZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLmJ0bi1saW5rIHtcbiAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstY29sb3I7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbmF2YmFyLWludmVyc2UtbGluay1ob3Zlci1jb2xvcjtcbiAgICB9XG4gICAgJltkaXNhYmxlZF0sXG4gICAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBjb2xvcjogQG5hdmJhci1pbnZlcnNlLWxpbmstZGlzYWJsZWQtY29sb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBOYXZiYXIgdmVydGljYWwgYWxpZ25cbi8vXG4vLyBWZXJ0aWNhbGx5IGNlbnRlciBlbGVtZW50cyBpbiB0aGUgbmF2YmFyLlxuLy8gRXhhbXBsZTogYW4gZWxlbWVudCBoYXMgYSBoZWlnaHQgb2YgMzBweCwgc28gd3JpdGUgb3V0IGAubmF2YmFyLXZlcnRpY2FsLWFsaWduKDMwcHgpO2AgdG8gY2FsY3VsYXRlIHRoZSBhcHByb3ByaWF0ZSB0b3AgbWFyZ2luLlxuXG4ubmF2YmFyLXZlcnRpY2FsLWFsaWduKEBlbGVtZW50LWhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xuICBtYXJnaW4tYm90dG9tOiAoKEBuYXZiYXItaGVpZ2h0IC0gQGVsZW1lbnQtaGVpZ2h0KSAvIDIpO1xufVxuIiwiLy9cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGbG9hdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNsZWFyZml4IHtcbiAgLmNsZWFyZml4KCk7XG59XG4uY2VudGVyLWJsb2NrIHtcbiAgLmNlbnRlci1ibG9jaygpO1xufVxuLnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xufVxuXG5cbi8vIFRvZ2dsaW5nIGNvbnRlbnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90ZTogRGVwcmVjYXRlZCAuaGlkZSBpbiBmYXZvciBvZiAuaGlkZGVuIG9yIC5zci1vbmx5IChhcyBhcHByb3ByaWF0ZSkgaW4gdjMuMC4xXG4uaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbi5zaG93IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbn1cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4udGV4dC1oaWRlIHtcbiAgLnRleHQtaGlkZSgpO1xufVxuXG5cbi8vIEhpZGUgZnJvbSBzY3JlZW5yZWFkZXJzIGFuZCBicm93c2Vyc1xuLy9cbi8vIENyZWRpdDogSFRNTDUgQm9pbGVycGxhdGVcblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuXG4vLyBGb3IgQWZmaXggcGx1Z2luXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hZmZpeCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbn1cbiIsIi8qIVxuICogIEZvbnQgQXdlc29tZSA0LjQuMCBieSBAZGF2ZWdhbmR5IC0gaHR0cDovL2ZvbnRhd2Vzb21lLmlvIC0gQGZvbnRhd2Vzb21lXG4gKiAgTGljZW5zZSAtIGh0dHA6Ly9mb250YXdlc29tZS5pby9saWNlbnNlIChGb250OiBTSUwgT0ZMIDEuMSwgQ1NTOiBNSVQgTGljZW5zZSlcbiAqL0Bmb250LWZhY2V7Zm9udC1mYW1pbHk6J0ZvbnRBd2Vzb21lJztzcmM6dXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LmVvdD92PTQuNC4wJyk7c3JjOnVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC5lb3Q/I2llZml4JnY9NC40LjAnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmYyP3Y9NC40LjAnKSBmb3JtYXQoJ3dvZmYyJyksdXJsKCcuLi9mb250cy9mb250YXdlc29tZS13ZWJmb250LndvZmY/dj00LjQuMCcpIGZvcm1hdCgnd29mZicpLHVybCgnLi4vZm9udHMvZm9udGF3ZXNvbWUtd2ViZm9udC50dGY/dj00LjQuMCcpIGZvcm1hdCgndHJ1ZXR5cGUnKSx1cmwoJy4uL2ZvbnRzL2ZvbnRhd2Vzb21lLXdlYmZvbnQuc3ZnP3Y9NC40LjAjZm9udGF3ZXNvbWVyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtmb250LXdlaWdodDpub3JtYWw7Zm9udC1zdHlsZTpub3JtYWx9LmZhe2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQ6bm9ybWFsIG5vcm1hbCBub3JtYWwgMTRweC8xIEZvbnRBd2Vzb21lO2ZvbnQtc2l6ZTppbmhlcml0O3RleHQtcmVuZGVyaW5nOmF1dG87LXdlYmtpdC1mb250LXNtb290aGluZzphbnRpYWxpYXNlZDstbW96LW9zeC1mb250LXNtb290aGluZzpncmF5c2NhbGV9LmZhLWxne2ZvbnQtc2l6ZToxLjMzMzMzMzMzZW07bGluZS1oZWlnaHQ6Ljc1ZW07dmVydGljYWwtYWxpZ246LTE1JX0uZmEtMnh7Zm9udC1zaXplOjJlbX0uZmEtM3h7Zm9udC1zaXplOjNlbX0uZmEtNHh7Zm9udC1zaXplOjRlbX0uZmEtNXh7Zm9udC1zaXplOjVlbX0uZmEtZnd7d2lkdGg6MS4yODU3MTQyOWVtO3RleHQtYWxpZ246Y2VudGVyfS5mYS11bHtwYWRkaW5nLWxlZnQ6MDttYXJnaW4tbGVmdDoyLjE0Mjg1NzE0ZW07bGlzdC1zdHlsZS10eXBlOm5vbmV9LmZhLXVsPmxpe3Bvc2l0aW9uOnJlbGF0aXZlfS5mYS1saXtwb3NpdGlvbjphYnNvbHV0ZTtsZWZ0Oi0yLjE0Mjg1NzE0ZW07d2lkdGg6Mi4xNDI4NTcxNGVtO3RvcDouMTQyODU3MTRlbTt0ZXh0LWFsaWduOmNlbnRlcn0uZmEtbGkuZmEtbGd7bGVmdDotMS44NTcxNDI4NmVtfS5mYS1ib3JkZXJ7cGFkZGluZzouMmVtIC4yNWVtIC4xNWVtO2JvcmRlcjpzb2xpZCAuMDhlbSAjZWVlO2JvcmRlci1yYWRpdXM6LjFlbX0uZmEtcHVsbC1sZWZ0e2Zsb2F0OmxlZnR9LmZhLXB1bGwtcmlnaHR7ZmxvYXQ6cmlnaHR9LmZhLmZhLXB1bGwtbGVmdHttYXJnaW4tcmlnaHQ6LjNlbX0uZmEuZmEtcHVsbC1yaWdodHttYXJnaW4tbGVmdDouM2VtfS5wdWxsLXJpZ2h0e2Zsb2F0OnJpZ2h0fS5wdWxsLWxlZnR7ZmxvYXQ6bGVmdH0uZmEucHVsbC1sZWZ0e21hcmdpbi1yaWdodDouM2VtfS5mYS5wdWxsLXJpZ2h0e21hcmdpbi1sZWZ0Oi4zZW19LmZhLXNwaW57LXdlYmtpdC1hbmltYXRpb246ZmEtc3BpbiAycyBpbmZpbml0ZSBsaW5lYXI7YW5pbWF0aW9uOmZhLXNwaW4gMnMgaW5maW5pdGUgbGluZWFyfS5mYS1wdWxzZXstd2Via2l0LWFuaW1hdGlvbjpmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpO2FuaW1hdGlvbjpmYS1zcGluIDFzIGluZmluaXRlIHN0ZXBzKDgpfUAtd2Via2l0LWtleWZyYW1lcyBmYS1zcGluezAley13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSgwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDBkZWcpfTEwMCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDM1OWRlZyk7dHJhbnNmb3JtOnJvdGF0ZSgzNTlkZWcpfX1Aa2V5ZnJhbWVzIGZhLXNwaW57MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMGRlZyl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fS5mYS1yb3RhdGUtOTB7ZmlsdGVyOnByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5CYXNpY0ltYWdlKHJvdGF0aW9uPTEpOy13ZWJraXQtdHJhbnNmb3JtOnJvdGF0ZSg5MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoOTBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoOTBkZWcpfS5mYS1yb3RhdGUtMTgwe2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yKTstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTstbXMtdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO3RyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKX0uZmEtcm90YXRlLTI3MHtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249Myk7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDI3MGRlZyk7LW1zLXRyYW5zZm9ybTpyb3RhdGUoMjcwZGVnKTt0cmFuc2Zvcm06cm90YXRlKDI3MGRlZyl9LmZhLWZsaXAtaG9yaXpvbnRhbHtmaWx0ZXI6cHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LkJhc2ljSW1hZ2Uocm90YXRpb249MCwgbWlycm9yPTEpOy13ZWJraXQtdHJhbnNmb3JtOnNjYWxlKC0xLCAxKTstbXMtdHJhbnNmb3JtOnNjYWxlKC0xLCAxKTt0cmFuc2Zvcm06c2NhbGUoLTEsIDEpfS5mYS1mbGlwLXZlcnRpY2Fse2ZpbHRlcjpwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQmFzaWNJbWFnZShyb3RhdGlvbj0yLCBtaXJyb3I9MSk7LXdlYmtpdC10cmFuc2Zvcm06c2NhbGUoMSwgLTEpOy1tcy10cmFuc2Zvcm06c2NhbGUoMSwgLTEpO3RyYW5zZm9ybTpzY2FsZSgxLCAtMSl9OnJvb3QgLmZhLXJvdGF0ZS05MCw6cm9vdCAuZmEtcm90YXRlLTE4MCw6cm9vdCAuZmEtcm90YXRlLTI3MCw6cm9vdCAuZmEtZmxpcC1ob3Jpem9udGFsLDpyb290IC5mYS1mbGlwLXZlcnRpY2Fse2ZpbHRlcjpub25lfS5mYS1zdGFja3twb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt3aWR0aDoyZW07aGVpZ2h0OjJlbTtsaW5lLWhlaWdodDoyZW07dmVydGljYWwtYWxpZ246bWlkZGxlfS5mYS1zdGFjay0xeCwuZmEtc3RhY2stMnh7cG9zaXRpb246YWJzb2x1dGU7bGVmdDowO3dpZHRoOjEwMCU7dGV4dC1hbGlnbjpjZW50ZXJ9LmZhLXN0YWNrLTF4e2xpbmUtaGVpZ2h0OmluaGVyaXR9LmZhLXN0YWNrLTJ4e2ZvbnQtc2l6ZToyZW19LmZhLWludmVyc2V7Y29sb3I6I2ZmZn0uZmEtZ2xhc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDBcIn0uZmEtbXVzaWM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDFcIn0uZmEtc2VhcmNoOmJlZm9yZXtjb250ZW50OlwiXFxmMDAyXCJ9LmZhLWVudmVsb3BlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDNcIn0uZmEtaGVhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDRcIn0uZmEtc3RhcjpiZWZvcmV7Y29udGVudDpcIlxcZjAwNVwifS5mYS1zdGFyLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMDZcIn0uZmEtdXNlcjpiZWZvcmV7Y29udGVudDpcIlxcZjAwN1wifS5mYS1maWxtOmJlZm9yZXtjb250ZW50OlwiXFxmMDA4XCJ9LmZhLXRoLWxhcmdlOmJlZm9yZXtjb250ZW50OlwiXFxmMDA5XCJ9LmZhLXRoOmJlZm9yZXtjb250ZW50OlwiXFxmMDBhXCJ9LmZhLXRoLWxpc3Q6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMGJcIn0uZmEtY2hlY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMGNcIn0uZmEtcmVtb3ZlOmJlZm9yZSwuZmEtY2xvc2U6YmVmb3JlLC5mYS10aW1lczpiZWZvcmV7Y29udGVudDpcIlxcZjAwZFwifS5mYS1zZWFyY2gtcGx1czpiZWZvcmV7Y29udGVudDpcIlxcZjAwZVwifS5mYS1zZWFyY2gtbWludXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTBcIn0uZmEtcG93ZXItb2ZmOmJlZm9yZXtjb250ZW50OlwiXFxmMDExXCJ9LmZhLXNpZ25hbDpiZWZvcmV7Y29udGVudDpcIlxcZjAxMlwifS5mYS1nZWFyOmJlZm9yZSwuZmEtY29nOmJlZm9yZXtjb250ZW50OlwiXFxmMDEzXCJ9LmZhLXRyYXNoLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTRcIn0uZmEtaG9tZTpiZWZvcmV7Y29udGVudDpcIlxcZjAxNVwifS5mYS1maWxlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTZcIn0uZmEtY2xvY2stbzpiZWZvcmV7Y29udGVudDpcIlxcZjAxN1wifS5mYS1yb2FkOmJlZm9yZXtjb250ZW50OlwiXFxmMDE4XCJ9LmZhLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OlwiXFxmMDE5XCJ9LmZhLWFycm93LWNpcmNsZS1vLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMWFcIn0uZmEtYXJyb3ctY2lyY2xlLW8tdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMWJcIn0uZmEtaW5ib3g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMWNcIn0uZmEtcGxheS1jaXJjbGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjAxZFwifS5mYS1yb3RhdGUtcmlnaHQ6YmVmb3JlLC5mYS1yZXBlYXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMWVcIn0uZmEtcmVmcmVzaDpiZWZvcmV7Y29udGVudDpcIlxcZjAyMVwifS5mYS1saXN0LWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZjAyMlwifS5mYS1sb2NrOmJlZm9yZXtjb250ZW50OlwiXFxmMDIzXCJ9LmZhLWZsYWc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjRcIn0uZmEtaGVhZHBob25lczpiZWZvcmV7Y29udGVudDpcIlxcZjAyNVwifS5mYS12b2x1bWUtb2ZmOmJlZm9yZXtjb250ZW50OlwiXFxmMDI2XCJ9LmZhLXZvbHVtZS1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMDI3XCJ9LmZhLXZvbHVtZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZjAyOFwifS5mYS1xcmNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMjlcIn0uZmEtYmFyY29kZTpiZWZvcmV7Y29udGVudDpcIlxcZjAyYVwifS5mYS10YWc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMmJcIn0uZmEtdGFnczpiZWZvcmV7Y29udGVudDpcIlxcZjAyY1wifS5mYS1ib29rOmJlZm9yZXtjb250ZW50OlwiXFxmMDJkXCJ9LmZhLWJvb2ttYXJrOmJlZm9yZXtjb250ZW50OlwiXFxmMDJlXCJ9LmZhLXByaW50OmJlZm9yZXtjb250ZW50OlwiXFxmMDJmXCJ9LmZhLWNhbWVyYTpiZWZvcmV7Y29udGVudDpcIlxcZjAzMFwifS5mYS1mb250OmJlZm9yZXtjb250ZW50OlwiXFxmMDMxXCJ9LmZhLWJvbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzJcIn0uZmEtaXRhbGljOmJlZm9yZXtjb250ZW50OlwiXFxmMDMzXCJ9LmZhLXRleHQtaGVpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMDM0XCJ9LmZhLXRleHQtd2lkdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzVcIn0uZmEtYWxpZ24tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjAzNlwifS5mYS1hbGlnbi1jZW50ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzdcIn0uZmEtYWxpZ24tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMzhcIn0uZmEtYWxpZ24tanVzdGlmeTpiZWZvcmV7Y29udGVudDpcIlxcZjAzOVwifS5mYS1saXN0OmJlZm9yZXtjb250ZW50OlwiXFxmMDNhXCJ9LmZhLWRlZGVudDpiZWZvcmUsLmZhLW91dGRlbnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwM2JcIn0uZmEtaW5kZW50OmJlZm9yZXtjb250ZW50OlwiXFxmMDNjXCJ9LmZhLXZpZGVvLWNhbWVyYTpiZWZvcmV7Y29udGVudDpcIlxcZjAzZFwifS5mYS1waG90bzpiZWZvcmUsLmZhLWltYWdlOmJlZm9yZSwuZmEtcGljdHVyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDNlXCJ9LmZhLXBlbmNpbDpiZWZvcmV7Y29udGVudDpcIlxcZjA0MFwifS5mYS1tYXAtbWFya2VyOmJlZm9yZXtjb250ZW50OlwiXFxmMDQxXCJ9LmZhLWFkanVzdDpiZWZvcmV7Y29udGVudDpcIlxcZjA0MlwifS5mYS10aW50OmJlZm9yZXtjb250ZW50OlwiXFxmMDQzXCJ9LmZhLWVkaXQ6YmVmb3JlLC5mYS1wZW5jaWwtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDRcIn0uZmEtc2hhcmUtc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDVcIn0uZmEtY2hlY2stc3F1YXJlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDZcIn0uZmEtYXJyb3dzOmJlZm9yZXtjb250ZW50OlwiXFxmMDQ3XCJ9LmZhLXN0ZXAtYmFja3dhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNDhcIn0uZmEtZmFzdC1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjA0OVwifS5mYS1iYWNrd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjA0YVwifS5mYS1wbGF5OmJlZm9yZXtjb250ZW50OlwiXFxmMDRiXCJ9LmZhLXBhdXNlOmJlZm9yZXtjb250ZW50OlwiXFxmMDRjXCJ9LmZhLXN0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNGRcIn0uZmEtZm9yd2FyZDpiZWZvcmV7Y29udGVudDpcIlxcZjA0ZVwifS5mYS1mYXN0LWZvcndhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTBcIn0uZmEtc3RlcC1mb3J3YXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDUxXCJ9LmZhLWVqZWN0OmJlZm9yZXtjb250ZW50OlwiXFxmMDUyXCJ9LmZhLWNoZXZyb24tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjA1M1wifS5mYS1jaGV2cm9uLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMDU0XCJ9LmZhLXBsdXMtY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMDU1XCJ9LmZhLW1pbnVzLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1NlwifS5mYS10aW1lcy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNTdcIn0uZmEtY2hlY2stY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMDU4XCJ9LmZhLXF1ZXN0aW9uLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1OVwifS5mYS1pbmZvLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjA1YVwifS5mYS1jcm9zc2hhaXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMDViXCJ9LmZhLXRpbWVzLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDVjXCJ9LmZhLWNoZWNrLWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDVkXCJ9LmZhLWJhbjpiZWZvcmV7Y29udGVudDpcIlxcZjA1ZVwifS5mYS1hcnJvdy1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDYwXCJ9LmZhLWFycm93LXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMDYxXCJ9LmZhLWFycm93LXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMDYyXCJ9LmZhLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNjNcIn0uZmEtbWFpbC1mb3J3YXJkOmJlZm9yZSwuZmEtc2hhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNjRcIn0uZmEtZXhwYW5kOmJlZm9yZXtjb250ZW50OlwiXFxmMDY1XCJ9LmZhLWNvbXByZXNzOmJlZm9yZXtjb250ZW50OlwiXFxmMDY2XCJ9LmZhLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNjdcIn0uZmEtbWludXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNjhcIn0uZmEtYXN0ZXJpc2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNjlcIn0uZmEtZXhjbGFtYXRpb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMDZhXCJ9LmZhLWdpZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNmJcIn0uZmEtbGVhZjpiZWZvcmV7Y29udGVudDpcIlxcZjA2Y1wifS5mYS1maXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMDZkXCJ9LmZhLWV5ZTpiZWZvcmV7Y29udGVudDpcIlxcZjA2ZVwifS5mYS1leWUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNzBcIn0uZmEtd2FybmluZzpiZWZvcmUsLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMDcxXCJ9LmZhLXBsYW5lOmJlZm9yZXtjb250ZW50OlwiXFxmMDcyXCJ9LmZhLWNhbGVuZGFyOmJlZm9yZXtjb250ZW50OlwiXFxmMDczXCJ9LmZhLXJhbmRvbTpiZWZvcmV7Y29udGVudDpcIlxcZjA3NFwifS5mYS1jb21tZW50OmJlZm9yZXtjb250ZW50OlwiXFxmMDc1XCJ9LmZhLW1hZ25ldDpiZWZvcmV7Y29udGVudDpcIlxcZjA3NlwifS5mYS1jaGV2cm9uLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMDc3XCJ9LmZhLWNoZXZyb24tZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjA3OFwifS5mYS1yZXR3ZWV0OmJlZm9yZXtjb250ZW50OlwiXFxmMDc5XCJ9LmZhLXNob3BwaW5nLWNhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwN2FcIn0uZmEtZm9sZGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMDdiXCJ9LmZhLWZvbGRlci1vcGVuOmJlZm9yZXtjb250ZW50OlwiXFxmMDdjXCJ9LmZhLWFycm93cy12OmJlZm9yZXtjb250ZW50OlwiXFxmMDdkXCJ9LmZhLWFycm93cy1oOmJlZm9yZXtjb250ZW50OlwiXFxmMDdlXCJ9LmZhLWJhci1jaGFydC1vOmJlZm9yZSwuZmEtYmFyLWNoYXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMDgwXCJ9LmZhLXR3aXR0ZXItc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMDgxXCJ9LmZhLWZhY2Vib29rLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA4MlwifS5mYS1jYW1lcmEtcmV0cm86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwODNcIn0uZmEta2V5OmJlZm9yZXtjb250ZW50OlwiXFxmMDg0XCJ9LmZhLWdlYXJzOmJlZm9yZSwuZmEtY29nczpiZWZvcmV7Y29udGVudDpcIlxcZjA4NVwifS5mYS1jb21tZW50czpiZWZvcmV7Y29udGVudDpcIlxcZjA4NlwifS5mYS10aHVtYnMtby11cDpiZWZvcmV7Y29udGVudDpcIlxcZjA4N1wifS5mYS10aHVtYnMtby1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMDg4XCJ9LmZhLXN0YXItaGFsZjpiZWZvcmV7Y29udGVudDpcIlxcZjA4OVwifS5mYS1oZWFydC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDhhXCJ9LmZhLXNpZ24tb3V0OmJlZm9yZXtjb250ZW50OlwiXFxmMDhiXCJ9LmZhLWxpbmtlZGluLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA4Y1wifS5mYS10aHVtYi10YWNrOmJlZm9yZXtjb250ZW50OlwiXFxmMDhkXCJ9LmZhLWV4dGVybmFsLWxpbms6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOGVcIn0uZmEtc2lnbi1pbjpiZWZvcmV7Y29udGVudDpcIlxcZjA5MFwifS5mYS10cm9waHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTFcIn0uZmEtZ2l0aHViLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA5MlwifS5mYS11cGxvYWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOTNcIn0uZmEtbGVtb24tbzpiZWZvcmV7Y29udGVudDpcIlxcZjA5NFwifS5mYS1waG9uZTpiZWZvcmV7Y29udGVudDpcIlxcZjA5NVwifS5mYS1zcXVhcmUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjA5NlwifS5mYS1ib29rbWFyay1vOmJlZm9yZXtjb250ZW50OlwiXFxmMDk3XCJ9LmZhLXBob25lLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjA5OFwifS5mYS10d2l0dGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMDk5XCJ9LmZhLWZhY2Vib29rLWY6YmVmb3JlLC5mYS1mYWNlYm9vazpiZWZvcmV7Y29udGVudDpcIlxcZjA5YVwifS5mYS1naXRodWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOWJcIn0uZmEtdW5sb2NrOmJlZm9yZXtjb250ZW50OlwiXFxmMDljXCJ9LmZhLWNyZWRpdC1jYXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMDlkXCJ9LmZhLWZlZWQ6YmVmb3JlLC5mYS1yc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwOWVcIn0uZmEtaGRkLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTBcIn0uZmEtYnVsbGhvcm46YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTFcIn0uZmEtYmVsbDpiZWZvcmV7Y29udGVudDpcIlxcZjBmM1wifS5mYS1jZXJ0aWZpY2F0ZTpiZWZvcmV7Y29udGVudDpcIlxcZjBhM1wifS5mYS1oYW5kLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTRcIn0uZmEtaGFuZC1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYTVcIn0uZmEtaGFuZC1vLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMGE2XCJ9LmZhLWhhbmQtby1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMGE3XCJ9LmZhLWFycm93LWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMGE4XCJ9LmZhLWFycm93LWNpcmNsZS1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjBhOVwifS5mYS1hcnJvdy1jaXJjbGUtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYWFcIn0uZmEtYXJyb3ctY2lyY2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYWJcIn0uZmEtZ2xvYmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYWNcIn0uZmEtd3JlbmNoOmJlZm9yZXtjb250ZW50OlwiXFxmMGFkXCJ9LmZhLXRhc2tzOmJlZm9yZXtjb250ZW50OlwiXFxmMGFlXCJ9LmZhLWZpbHRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjBiMFwifS5mYS1icmllZmNhc2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYjFcIn0uZmEtYXJyb3dzLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZjBiMlwifS5mYS1ncm91cDpiZWZvcmUsLmZhLXVzZXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMGMwXCJ9LmZhLWNoYWluOmJlZm9yZSwuZmEtbGluazpiZWZvcmV7Y29udGVudDpcIlxcZjBjMVwifS5mYS1jbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZjBjMlwifS5mYS1mbGFzazpiZWZvcmV7Y29udGVudDpcIlxcZjBjM1wifS5mYS1jdXQ6YmVmb3JlLC5mYS1zY2lzc29yczpiZWZvcmV7Y29udGVudDpcIlxcZjBjNFwifS5mYS1jb3B5OmJlZm9yZSwuZmEtZmlsZXMtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBjNVwifS5mYS1wYXBlcmNsaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzZcIn0uZmEtc2F2ZTpiZWZvcmUsLmZhLWZsb3BweS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGM3XCJ9LmZhLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjBjOFwifS5mYS1uYXZpY29uOmJlZm9yZSwuZmEtcmVvcmRlcjpiZWZvcmUsLmZhLWJhcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwYzlcIn0uZmEtbGlzdC11bDpiZWZvcmV7Y29udGVudDpcIlxcZjBjYVwifS5mYS1saXN0LW9sOmJlZm9yZXtjb250ZW50OlwiXFxmMGNiXCJ9LmZhLXN0cmlrZXRocm91Z2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwY2NcIn0uZmEtdW5kZXJsaW5lOmJlZm9yZXtjb250ZW50OlwiXFxmMGNkXCJ9LmZhLXRhYmxlOmJlZm9yZXtjb250ZW50OlwiXFxmMGNlXCJ9LmZhLW1hZ2ljOmJlZm9yZXtjb250ZW50OlwiXFxmMGQwXCJ9LmZhLXRydWNrOmJlZm9yZXtjb250ZW50OlwiXFxmMGQxXCJ9LmZhLXBpbnRlcmVzdDpiZWZvcmV7Y29udGVudDpcIlxcZjBkMlwifS5mYS1waW50ZXJlc3Qtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMGQzXCJ9LmZhLWdvb2dsZS1wbHVzLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjBkNFwifS5mYS1nb29nbGUtcGx1czpiZWZvcmV7Y29udGVudDpcIlxcZjBkNVwifS5mYS1tb25leTpiZWZvcmV7Y29udGVudDpcIlxcZjBkNlwifS5mYS1jYXJldC1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMGQ3XCJ9LmZhLWNhcmV0LXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMGQ4XCJ9LmZhLWNhcmV0LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZDlcIn0uZmEtY2FyZXQtcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZGFcIn0uZmEtY29sdW1uczpiZWZvcmV7Y29udGVudDpcIlxcZjBkYlwifS5mYS11bnNvcnRlZDpiZWZvcmUsLmZhLXNvcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZGNcIn0uZmEtc29ydC1kb3duOmJlZm9yZSwuZmEtc29ydC1kZXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMGRkXCJ9LmZhLXNvcnQtdXA6YmVmb3JlLC5mYS1zb3J0LWFzYzpiZWZvcmV7Y29udGVudDpcIlxcZjBkZVwifS5mYS1lbnZlbG9wZTpiZWZvcmV7Y29udGVudDpcIlxcZjBlMFwifS5mYS1saW5rZWRpbjpiZWZvcmV7Y29udGVudDpcIlxcZjBlMVwifS5mYS1yb3RhdGUtbGVmdDpiZWZvcmUsLmZhLXVuZG86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTJcIn0uZmEtbGVnYWw6YmVmb3JlLC5mYS1nYXZlbDpiZWZvcmV7Y29udGVudDpcIlxcZjBlM1wifS5mYS1kYXNoYm9hcmQ6YmVmb3JlLC5mYS10YWNob21ldGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMGU0XCJ9LmZhLWNvbW1lbnQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBlNVwifS5mYS1jb21tZW50cy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGU2XCJ9LmZhLWZsYXNoOmJlZm9yZSwuZmEtYm9sdDpiZWZvcmV7Y29udGVudDpcIlxcZjBlN1wifS5mYS1zaXRlbWFwOmJlZm9yZXtjb250ZW50OlwiXFxmMGU4XCJ9LmZhLXVtYnJlbGxhOmJlZm9yZXtjb250ZW50OlwiXFxmMGU5XCJ9LmZhLXBhc3RlOmJlZm9yZSwuZmEtY2xpcGJvYXJkOmJlZm9yZXtjb250ZW50OlwiXFxmMGVhXCJ9LmZhLWxpZ2h0YnVsYi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGViXCJ9LmZhLWV4Y2hhbmdlOmJlZm9yZXtjb250ZW50OlwiXFxmMGVjXCJ9LmZhLWNsb3VkLWRvd25sb2FkOmJlZm9yZXtjb250ZW50OlwiXFxmMGVkXCJ9LmZhLWNsb3VkLXVwbG9hZDpiZWZvcmV7Y29udGVudDpcIlxcZjBlZVwifS5mYS11c2VyLW1kOmJlZm9yZXtjb250ZW50OlwiXFxmMGYwXCJ9LmZhLXN0ZXRob3Njb3BlOmJlZm9yZXtjb250ZW50OlwiXFxmMGYxXCJ9LmZhLXN1aXRjYXNlOmJlZm9yZXtjb250ZW50OlwiXFxmMGYyXCJ9LmZhLWJlbGwtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBhMlwifS5mYS1jb2ZmZWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjRcIn0uZmEtY3V0bGVyeTpiZWZvcmV7Y29udGVudDpcIlxcZjBmNVwifS5mYS1maWxlLXRleHQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjBmNlwifS5mYS1idWlsZGluZy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMGY3XCJ9LmZhLWhvc3BpdGFsLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZjhcIn0uZmEtYW1idWxhbmNlOmJlZm9yZXtjb250ZW50OlwiXFxmMGY5XCJ9LmZhLW1lZGtpdDpiZWZvcmV7Y29udGVudDpcIlxcZjBmYVwifS5mYS1maWdodGVyLWpldDpiZWZvcmV7Y29udGVudDpcIlxcZjBmYlwifS5mYS1iZWVyOmJlZm9yZXtjb250ZW50OlwiXFxmMGZjXCJ9LmZhLWgtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMGZkXCJ9LmZhLXBsdXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMGZlXCJ9LmZhLWFuZ2xlLWRvdWJsZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMTAwXCJ9LmZhLWFuZ2xlLWRvdWJsZS1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjEwMVwifS5mYS1hbmdsZS1kb3VibGUtdXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDJcIn0uZmEtYW5nbGUtZG91YmxlLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDNcIn0uZmEtYW5nbGUtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjEwNFwifS5mYS1hbmdsZS1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjEwNVwifS5mYS1hbmdsZS11cDpiZWZvcmV7Y29udGVudDpcIlxcZjEwNlwifS5mYS1hbmdsZS1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTA3XCJ9LmZhLWRlc2t0b3A6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMDhcIn0uZmEtbGFwdG9wOmJlZm9yZXtjb250ZW50OlwiXFxmMTA5XCJ9LmZhLXRhYmxldDpiZWZvcmV7Y29udGVudDpcIlxcZjEwYVwifS5mYS1tb2JpbGUtcGhvbmU6YmVmb3JlLC5mYS1tb2JpbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMGJcIn0uZmEtY2lyY2xlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMGNcIn0uZmEtcXVvdGUtbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjEwZFwifS5mYS1xdW90ZS1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjEwZVwifS5mYS1zcGlubmVyOmJlZm9yZXtjb250ZW50OlwiXFxmMTEwXCJ9LmZhLWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjExMVwifS5mYS1tYWlsLXJlcGx5OmJlZm9yZSwuZmEtcmVwbHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMTJcIn0uZmEtZ2l0aHViLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZjExM1wifS5mYS1mb2xkZXItbzpiZWZvcmV7Y29udGVudDpcIlxcZjExNFwifS5mYS1mb2xkZXItb3Blbi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTE1XCJ9LmZhLXNtaWxlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMThcIn0uZmEtZnJvd24tbzpiZWZvcmV7Y29udGVudDpcIlxcZjExOVwifS5mYS1tZWgtbzpiZWZvcmV7Y29udGVudDpcIlxcZjExYVwifS5mYS1nYW1lcGFkOmJlZm9yZXtjb250ZW50OlwiXFxmMTFiXCJ9LmZhLWtleWJvYXJkLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMWNcIn0uZmEtZmxhZy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTFkXCJ9LmZhLWZsYWctY2hlY2tlcmVkOmJlZm9yZXtjb250ZW50OlwiXFxmMTFlXCJ9LmZhLXRlcm1pbmFsOmJlZm9yZXtjb250ZW50OlwiXFxmMTIwXCJ9LmZhLWNvZGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjFcIn0uZmEtbWFpbC1yZXBseS1hbGw6YmVmb3JlLC5mYS1yZXBseS1hbGw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjJcIn0uZmEtc3Rhci1oYWxmLWVtcHR5OmJlZm9yZSwuZmEtc3Rhci1oYWxmLWZ1bGw6YmVmb3JlLC5mYS1zdGFyLWhhbGYtbzpiZWZvcmV7Y29udGVudDpcIlxcZjEyM1wifS5mYS1sb2NhdGlvbi1hcnJvdzpiZWZvcmV7Y29udGVudDpcIlxcZjEyNFwifS5mYS1jcm9wOmJlZm9yZXtjb250ZW50OlwiXFxmMTI1XCJ9LmZhLWNvZGUtZm9yazpiZWZvcmV7Y29udGVudDpcIlxcZjEyNlwifS5mYS11bmxpbms6YmVmb3JlLC5mYS1jaGFpbi1icm9rZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjdcIn0uZmEtcXVlc3Rpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMjhcIn0uZmEtaW5mbzpiZWZvcmV7Y29udGVudDpcIlxcZjEyOVwifS5mYS1leGNsYW1hdGlvbjpiZWZvcmV7Y29udGVudDpcIlxcZjEyYVwifS5mYS1zdXBlcnNjcmlwdDpiZWZvcmV7Y29udGVudDpcIlxcZjEyYlwifS5mYS1zdWJzY3JpcHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMmNcIn0uZmEtZXJhc2VyOmJlZm9yZXtjb250ZW50OlwiXFxmMTJkXCJ9LmZhLXB1enpsZS1waWVjZTpiZWZvcmV7Y29udGVudDpcIlxcZjEyZVwifS5mYS1taWNyb3Bob25lOmJlZm9yZXtjb250ZW50OlwiXFxmMTMwXCJ9LmZhLW1pY3JvcGhvbmUtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzFcIn0uZmEtc2hpZWxkOmJlZm9yZXtjb250ZW50OlwiXFxmMTMyXCJ9LmZhLWNhbGVuZGFyLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzNcIn0uZmEtZmlyZS1leHRpbmd1aXNoZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxMzRcIn0uZmEtcm9ja2V0OmJlZm9yZXtjb250ZW50OlwiXFxmMTM1XCJ9LmZhLW1heGNkbjpiZWZvcmV7Y29udGVudDpcIlxcZjEzNlwifS5mYS1jaGV2cm9uLWNpcmNsZS1sZWZ0OmJlZm9yZXtjb250ZW50OlwiXFxmMTM3XCJ9LmZhLWNoZXZyb24tY2lyY2xlLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMTM4XCJ9LmZhLWNoZXZyb24tY2lyY2xlLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTM5XCJ9LmZhLWNoZXZyb24tY2lyY2xlLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxM2FcIn0uZmEtaHRtbDU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxM2JcIn0uZmEtY3NzMzpiZWZvcmV7Y29udGVudDpcIlxcZjEzY1wifS5mYS1hbmNob3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxM2RcIn0uZmEtdW5sb2NrLWFsdDpiZWZvcmV7Y29udGVudDpcIlxcZjEzZVwifS5mYS1idWxsc2V5ZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0MFwifS5mYS1lbGxpcHNpcy1oOmJlZm9yZXtjb250ZW50OlwiXFxmMTQxXCJ9LmZhLWVsbGlwc2lzLXY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDJcIn0uZmEtcnNzLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0M1wifS5mYS1wbGF5LWNpcmNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjE0NFwifS5mYS10aWNrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDVcIn0uZmEtbWludXMtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTQ2XCJ9LmZhLW1pbnVzLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTQ3XCJ9LmZhLWxldmVsLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTQ4XCJ9LmZhLWxldmVsLWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNDlcIn0uZmEtY2hlY2stc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTRhXCJ9LmZhLXBlbmNpbC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNGJcIn0uZmEtZXh0ZXJuYWwtbGluay1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNGNcIn0uZmEtc2hhcmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTRkXCJ9LmZhLWNvbXBhc3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNGVcIn0uZmEtdG9nZ2xlLWRvd246YmVmb3JlLC5mYS1jYXJldC1zcXVhcmUtby1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTUwXCJ9LmZhLXRvZ2dsZS11cDpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTUxXCJ9LmZhLXRvZ2dsZS1yaWdodDpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLXJpZ2h0OmJlZm9yZXtjb250ZW50OlwiXFxmMTUyXCJ9LmZhLWV1cm86YmVmb3JlLC5mYS1ldXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTNcIn0uZmEtZ2JwOmJlZm9yZXtjb250ZW50OlwiXFxmMTU0XCJ9LmZhLWRvbGxhcjpiZWZvcmUsLmZhLXVzZDpiZWZvcmV7Y29udGVudDpcIlxcZjE1NVwifS5mYS1ydXBlZTpiZWZvcmUsLmZhLWlucjpiZWZvcmV7Y29udGVudDpcIlxcZjE1NlwifS5mYS1jbnk6YmVmb3JlLC5mYS1ybWI6YmVmb3JlLC5mYS15ZW46YmVmb3JlLC5mYS1qcHk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNTdcIn0uZmEtcnVibGU6YmVmb3JlLC5mYS1yb3VibGU6YmVmb3JlLC5mYS1ydWI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNThcIn0uZmEtd29uOmJlZm9yZSwuZmEta3J3OmJlZm9yZXtjb250ZW50OlwiXFxmMTU5XCJ9LmZhLWJpdGNvaW46YmVmb3JlLC5mYS1idGM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNWFcIn0uZmEtZmlsZTpiZWZvcmV7Y29udGVudDpcIlxcZjE1YlwifS5mYS1maWxlLXRleHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNWNcIn0uZmEtc29ydC1hbHBoYS1hc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNWRcIn0uZmEtc29ydC1hbHBoYS1kZXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMTVlXCJ9LmZhLXNvcnQtYW1vdW50LWFzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE2MFwifS5mYS1zb3J0LWFtb3VudC1kZXNjOmJlZm9yZXtjb250ZW50OlwiXFxmMTYxXCJ9LmZhLXNvcnQtbnVtZXJpYy1hc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjJcIn0uZmEtc29ydC1udW1lcmljLWRlc2M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjNcIn0uZmEtdGh1bWJzLXVwOmJlZm9yZXtjb250ZW50OlwiXFxmMTY0XCJ9LmZhLXRodW1icy1kb3duOmJlZm9yZXtjb250ZW50OlwiXFxmMTY1XCJ9LmZhLXlvdXR1YmUtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTY2XCJ9LmZhLXlvdXR1YmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNjdcIn0uZmEteGluZzpiZWZvcmV7Y29udGVudDpcIlxcZjE2OFwifS5mYS14aW5nLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE2OVwifS5mYS15b3V0dWJlLXBsYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNmFcIn0uZmEtZHJvcGJveDpiZWZvcmV7Y29udGVudDpcIlxcZjE2YlwifS5mYS1zdGFjay1vdmVyZmxvdzpiZWZvcmV7Y29udGVudDpcIlxcZjE2Y1wifS5mYS1pbnN0YWdyYW06YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNmRcIn0uZmEtZmxpY2tyOmJlZm9yZXtjb250ZW50OlwiXFxmMTZlXCJ9LmZhLWFkbjpiZWZvcmV7Y29udGVudDpcIlxcZjE3MFwifS5mYS1iaXRidWNrZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzFcIn0uZmEtYml0YnVja2V0LXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE3MlwifS5mYS10dW1ibHI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzNcIn0uZmEtdHVtYmxyLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE3NFwifS5mYS1sb25nLWFycm93LWRvd246YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzVcIn0uZmEtbG9uZy1hcnJvdy11cDpiZWZvcmV7Y29udGVudDpcIlxcZjE3NlwifS5mYS1sb25nLWFycm93LWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxNzdcIn0uZmEtbG9uZy1hcnJvdy1yaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjE3OFwifS5mYS1hcHBsZTpiZWZvcmV7Y29udGVudDpcIlxcZjE3OVwifS5mYS13aW5kb3dzOmJlZm9yZXtjb250ZW50OlwiXFxmMTdhXCJ9LmZhLWFuZHJvaWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxN2JcIn0uZmEtbGludXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxN2NcIn0uZmEtZHJpYmJibGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxN2RcIn0uZmEtc2t5cGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxN2VcIn0uZmEtZm91cnNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjE4MFwifS5mYS10cmVsbG86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODFcIn0uZmEtZmVtYWxlOmJlZm9yZXtjb250ZW50OlwiXFxmMTgyXCJ9LmZhLW1hbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODNcIn0uZmEtZ2l0dGlwOmJlZm9yZSwuZmEtZ3JhdGlwYXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODRcIn0uZmEtc3VuLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODVcIn0uZmEtbW9vbi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTg2XCJ9LmZhLWFyY2hpdmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxODdcIn0uZmEtYnVnOmJlZm9yZXtjb250ZW50OlwiXFxmMTg4XCJ9LmZhLXZrOmJlZm9yZXtjb250ZW50OlwiXFxmMTg5XCJ9LmZhLXdlaWJvOmJlZm9yZXtjb250ZW50OlwiXFxmMThhXCJ9LmZhLXJlbnJlbjpiZWZvcmV7Y29udGVudDpcIlxcZjE4YlwifS5mYS1wYWdlbGluZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGNcIn0uZmEtc3RhY2stZXhjaGFuZ2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGRcIn0uZmEtYXJyb3ctY2lyY2xlLW8tcmlnaHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOGVcIn0uZmEtYXJyb3ctY2lyY2xlLW8tbGVmdDpiZWZvcmV7Y29udGVudDpcIlxcZjE5MFwifS5mYS10b2dnbGUtbGVmdDpiZWZvcmUsLmZhLWNhcmV0LXNxdWFyZS1vLWxlZnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTFcIn0uZmEtZG90LWNpcmNsZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTkyXCJ9LmZhLXdoZWVsY2hhaXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTNcIn0uZmEtdmltZW8tc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTk0XCJ9LmZhLXR1cmtpc2gtbGlyYTpiZWZvcmUsLmZhLXRyeTpiZWZvcmV7Y29udGVudDpcIlxcZjE5NVwifS5mYS1wbHVzLXNxdWFyZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMTk2XCJ9LmZhLXNwYWNlLXNodXR0bGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOTdcIn0uZmEtc2xhY2s6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOThcIn0uZmEtZW52ZWxvcGUtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMTk5XCJ9LmZhLXdvcmRwcmVzczpiZWZvcmV7Y29udGVudDpcIlxcZjE5YVwifS5mYS1vcGVuaWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxOWJcIn0uZmEtaW5zdGl0dXRpb246YmVmb3JlLC5mYS1iYW5rOmJlZm9yZSwuZmEtdW5pdmVyc2l0eTpiZWZvcmV7Y29udGVudDpcIlxcZjE5Y1wifS5mYS1tb3J0YXItYm9hcmQ6YmVmb3JlLC5mYS1ncmFkdWF0aW9uLWNhcDpiZWZvcmV7Y29udGVudDpcIlxcZjE5ZFwifS5mYS15YWhvbzpiZWZvcmV7Y29udGVudDpcIlxcZjE5ZVwifS5mYS1nb29nbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTBcIn0uZmEtcmVkZGl0OmJlZm9yZXtjb250ZW50OlwiXFxmMWExXCJ9LmZhLXJlZGRpdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTJcIn0uZmEtc3R1bWJsZXVwb24tY2lyY2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMWEzXCJ9LmZhLXN0dW1ibGV1cG9uOmJlZm9yZXtjb250ZW50OlwiXFxmMWE0XCJ9LmZhLWRlbGljaW91czpiZWZvcmV7Y29udGVudDpcIlxcZjFhNVwifS5mYS1kaWdnOmJlZm9yZXtjb250ZW50OlwiXFxmMWE2XCJ9LmZhLXBpZWQtcGlwZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYTdcIn0uZmEtcGllZC1waXBlci1hbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYThcIn0uZmEtZHJ1cGFsOmJlZm9yZXtjb250ZW50OlwiXFxmMWE5XCJ9LmZhLWpvb21sYTpiZWZvcmV7Y29udGVudDpcIlxcZjFhYVwifS5mYS1sYW5ndWFnZTpiZWZvcmV7Y29udGVudDpcIlxcZjFhYlwifS5mYS1mYXg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWNcIn0uZmEtYnVpbGRpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWRcIn0uZmEtY2hpbGQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYWVcIn0uZmEtcGF3OmJlZm9yZXtjb250ZW50OlwiXFxmMWIwXCJ9LmZhLXNwb29uOmJlZm9yZXtjb250ZW50OlwiXFxmMWIxXCJ9LmZhLWN1YmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjJcIn0uZmEtY3ViZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjNcIn0uZmEtYmVoYW5jZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiNFwifS5mYS1iZWhhbmNlLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiNVwifS5mYS1zdGVhbTpiZWZvcmV7Y29udGVudDpcIlxcZjFiNlwifS5mYS1zdGVhbS1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYjdcIn0uZmEtcmVjeWNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiOFwifS5mYS1hdXRvbW9iaWxlOmJlZm9yZSwuZmEtY2FyOmJlZm9yZXtjb250ZW50OlwiXFxmMWI5XCJ9LmZhLWNhYjpiZWZvcmUsLmZhLXRheGk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYmFcIn0uZmEtdHJlZTpiZWZvcmV7Y29udGVudDpcIlxcZjFiYlwifS5mYS1zcG90aWZ5OmJlZm9yZXtjb250ZW50OlwiXFxmMWJjXCJ9LmZhLWRldmlhbnRhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYmRcIn0uZmEtc291bmRjbG91ZDpiZWZvcmV7Y29udGVudDpcIlxcZjFiZVwifS5mYS1kYXRhYmFzZTpiZWZvcmV7Y29udGVudDpcIlxcZjFjMFwifS5mYS1maWxlLXBkZi1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWMxXCJ9LmZhLWZpbGUtd29yZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWMyXCJ9LmZhLWZpbGUtZXhjZWwtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjM1wifS5mYS1maWxlLXBvd2VycG9pbnQtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjNFwifS5mYS1maWxlLXBob3RvLW86YmVmb3JlLC5mYS1maWxlLXBpY3R1cmUtbzpiZWZvcmUsLmZhLWZpbGUtaW1hZ2UtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjNVwifS5mYS1maWxlLXppcC1vOmJlZm9yZSwuZmEtZmlsZS1hcmNoaXZlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxYzZcIn0uZmEtZmlsZS1zb3VuZC1vOmJlZm9yZSwuZmEtZmlsZS1hdWRpby1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWM3XCJ9LmZhLWZpbGUtbW92aWUtbzpiZWZvcmUsLmZhLWZpbGUtdmlkZW8tbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjOFwifS5mYS1maWxlLWNvZGUtbzpiZWZvcmV7Y29udGVudDpcIlxcZjFjOVwifS5mYS12aW5lOmJlZm9yZXtjb250ZW50OlwiXFxmMWNhXCJ9LmZhLWNvZGVwZW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2JcIn0uZmEtanNmaWRkbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2NcIn0uZmEtbGlmZS1ib3V5OmJlZm9yZSwuZmEtbGlmZS1idW95OmJlZm9yZSwuZmEtbGlmZS1zYXZlcjpiZWZvcmUsLmZhLXN1cHBvcnQ6YmVmb3JlLC5mYS1saWZlLXJpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2RcIn0uZmEtY2lyY2xlLW8tbm90Y2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxY2VcIn0uZmEtcmE6YmVmb3JlLC5mYS1yZWJlbDpiZWZvcmV7Y29udGVudDpcIlxcZjFkMFwifS5mYS1nZTpiZWZvcmUsLmZhLWVtcGlyZTpiZWZvcmV7Y29udGVudDpcIlxcZjFkMVwifS5mYS1naXQtc3F1YXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWQyXCJ9LmZhLWdpdDpiZWZvcmV7Y29udGVudDpcIlxcZjFkM1wifS5mYS15LWNvbWJpbmF0b3Itc3F1YXJlOmJlZm9yZSwuZmEteWMtc3F1YXJlOmJlZm9yZSwuZmEtaGFja2VyLW5ld3M6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZDRcIn0uZmEtdGVuY2VudC13ZWlibzpiZWZvcmV7Y29udGVudDpcIlxcZjFkNVwifS5mYS1xcTpiZWZvcmV7Y29udGVudDpcIlxcZjFkNlwifS5mYS13ZWNoYXQ6YmVmb3JlLC5mYS13ZWl4aW46YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZDdcIn0uZmEtc2VuZDpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lOmJlZm9yZXtjb250ZW50OlwiXFxmMWQ4XCJ9LmZhLXNlbmQtbzpiZWZvcmUsLmZhLXBhcGVyLXBsYW5lLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZDlcIn0uZmEtaGlzdG9yeTpiZWZvcmV7Y29udGVudDpcIlxcZjFkYVwifS5mYS1jaXJjbGUtdGhpbjpiZWZvcmV7Y29udGVudDpcIlxcZjFkYlwifS5mYS1oZWFkZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZGNcIn0uZmEtcGFyYWdyYXBoOmJlZm9yZXtjb250ZW50OlwiXFxmMWRkXCJ9LmZhLXNsaWRlcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZGVcIn0uZmEtc2hhcmUtYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMWUwXCJ9LmZhLXNoYXJlLWFsdC1zcXVhcmU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTFcIn0uZmEtYm9tYjpiZWZvcmV7Y29udGVudDpcIlxcZjFlMlwifS5mYS1zb2NjZXItYmFsbC1vOmJlZm9yZSwuZmEtZnV0Ym9sLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTNcIn0uZmEtdHR5OmJlZm9yZXtjb250ZW50OlwiXFxmMWU0XCJ9LmZhLWJpbm9jdWxhcnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZTVcIn0uZmEtcGx1ZzpiZWZvcmV7Y29udGVudDpcIlxcZjFlNlwifS5mYS1zbGlkZXNoYXJlOmJlZm9yZXtjb250ZW50OlwiXFxmMWU3XCJ9LmZhLXR3aXRjaDpiZWZvcmV7Y29udGVudDpcIlxcZjFlOFwifS5mYS15ZWxwOmJlZm9yZXtjb250ZW50OlwiXFxmMWU5XCJ9LmZhLW5ld3NwYXBlci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWVhXCJ9LmZhLXdpZmk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZWJcIn0uZmEtY2FsY3VsYXRvcjpiZWZvcmV7Y29udGVudDpcIlxcZjFlY1wifS5mYS1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZWRcIn0uZmEtZ29vZ2xlLXdhbGxldDpiZWZvcmV7Y29udGVudDpcIlxcZjFlZVwifS5mYS1jYy12aXNhOmJlZm9yZXtjb250ZW50OlwiXFxmMWYwXCJ9LmZhLWNjLW1hc3RlcmNhcmQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjFcIn0uZmEtY2MtZGlzY292ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjJcIn0uZmEtY2MtYW1leDpiZWZvcmV7Y29udGVudDpcIlxcZjFmM1wifS5mYS1jYy1wYXlwYWw6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjRcIn0uZmEtY2Mtc3RyaXBlOmJlZm9yZXtjb250ZW50OlwiXFxmMWY1XCJ9LmZhLWJlbGwtc2xhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZjZcIn0uZmEtYmVsbC1zbGFzaC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMWY3XCJ9LmZhLXRyYXNoOmJlZm9yZXtjb250ZW50OlwiXFxmMWY4XCJ9LmZhLWNvcHlyaWdodDpiZWZvcmV7Y29udGVudDpcIlxcZjFmOVwifS5mYS1hdDpiZWZvcmV7Y29udGVudDpcIlxcZjFmYVwifS5mYS1leWVkcm9wcGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMWZiXCJ9LmZhLXBhaW50LWJydXNoOmJlZm9yZXtjb250ZW50OlwiXFxmMWZjXCJ9LmZhLWJpcnRoZGF5LWNha2U6YmVmb3Jle2NvbnRlbnQ6XCJcXGYxZmRcIn0uZmEtYXJlYS1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZjFmZVwifS5mYS1waWUtY2hhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDBcIn0uZmEtbGluZS1jaGFydDpiZWZvcmV7Y29udGVudDpcIlxcZjIwMVwifS5mYS1sYXN0Zm06YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMDJcIn0uZmEtbGFzdGZtLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjIwM1wifS5mYS10b2dnbGUtb2ZmOmJlZm9yZXtjb250ZW50OlwiXFxmMjA0XCJ9LmZhLXRvZ2dsZS1vbjpiZWZvcmV7Y29udGVudDpcIlxcZjIwNVwifS5mYS1iaWN5Y2xlOmJlZm9yZXtjb250ZW50OlwiXFxmMjA2XCJ9LmZhLWJ1czpiZWZvcmV7Y29udGVudDpcIlxcZjIwN1wifS5mYS1pb3hob3N0OmJlZm9yZXtjb250ZW50OlwiXFxmMjA4XCJ9LmZhLWFuZ2VsbGlzdDpiZWZvcmV7Y29udGVudDpcIlxcZjIwOVwifS5mYS1jYzpiZWZvcmV7Y29udGVudDpcIlxcZjIwYVwifS5mYS1zaGVrZWw6YmVmb3JlLC5mYS1zaGVxZWw6YmVmb3JlLC5mYS1pbHM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMGJcIn0uZmEtbWVhbnBhdGg6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMGNcIn0uZmEtYnV5c2VsbGFkczpiZWZvcmV7Y29udGVudDpcIlxcZjIwZFwifS5mYS1jb25uZWN0ZGV2ZWxvcDpiZWZvcmV7Y29udGVudDpcIlxcZjIwZVwifS5mYS1kYXNoY3ViZTpiZWZvcmV7Y29udGVudDpcIlxcZjIxMFwifS5mYS1mb3J1bWJlZTpiZWZvcmV7Y29udGVudDpcIlxcZjIxMVwifS5mYS1sZWFucHViOmJlZm9yZXtjb250ZW50OlwiXFxmMjEyXCJ9LmZhLXNlbGxzeTpiZWZvcmV7Y29udGVudDpcIlxcZjIxM1wifS5mYS1zaGlydHNpbmJ1bGs6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMTRcIn0uZmEtc2ltcGx5YnVpbHQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMTVcIn0uZmEtc2t5YXRsYXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMTZcIn0uZmEtY2FydC1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxmMjE3XCJ9LmZhLWNhcnQtYXJyb3ctZG93bjpiZWZvcmV7Y29udGVudDpcIlxcZjIxOFwifS5mYS1kaWFtb25kOmJlZm9yZXtjb250ZW50OlwiXFxmMjE5XCJ9LmZhLXNoaXA6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMWFcIn0uZmEtdXNlci1zZWNyZXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMWJcIn0uZmEtbW90b3JjeWNsZTpiZWZvcmV7Y29udGVudDpcIlxcZjIxY1wifS5mYS1zdHJlZXQtdmlldzpiZWZvcmV7Y29udGVudDpcIlxcZjIxZFwifS5mYS1oZWFydGJlYXQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMWVcIn0uZmEtdmVudXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMjFcIn0uZmEtbWFyczpiZWZvcmV7Y29udGVudDpcIlxcZjIyMlwifS5mYS1tZXJjdXJ5OmJlZm9yZXtjb250ZW50OlwiXFxmMjIzXCJ9LmZhLWludGVyc2V4OmJlZm9yZSwuZmEtdHJhbnNnZW5kZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMjRcIn0uZmEtdHJhbnNnZW5kZXItYWx0OmJlZm9yZXtjb250ZW50OlwiXFxmMjI1XCJ9LmZhLXZlbnVzLWRvdWJsZTpiZWZvcmV7Y29udGVudDpcIlxcZjIyNlwifS5mYS1tYXJzLWRvdWJsZTpiZWZvcmV7Y29udGVudDpcIlxcZjIyN1wifS5mYS12ZW51cy1tYXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMjI4XCJ9LmZhLW1hcnMtc3Ryb2tlOmJlZm9yZXtjb250ZW50OlwiXFxmMjI5XCJ9LmZhLW1hcnMtc3Ryb2tlLXY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMmFcIn0uZmEtbWFycy1zdHJva2UtaDpiZWZvcmV7Y29udGVudDpcIlxcZjIyYlwifS5mYS1uZXV0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMmNcIn0uZmEtZ2VuZGVybGVzczpiZWZvcmV7Y29udGVudDpcIlxcZjIyZFwifS5mYS1mYWNlYm9vay1vZmZpY2lhbDpiZWZvcmV7Y29udGVudDpcIlxcZjIzMFwifS5mYS1waW50ZXJlc3QtcDpiZWZvcmV7Y29udGVudDpcIlxcZjIzMVwifS5mYS13aGF0c2FwcDpiZWZvcmV7Y29udGVudDpcIlxcZjIzMlwifS5mYS1zZXJ2ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMzNcIn0uZmEtdXNlci1wbHVzOmJlZm9yZXtjb250ZW50OlwiXFxmMjM0XCJ9LmZhLXVzZXItdGltZXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMzVcIn0uZmEtaG90ZWw6YmVmb3JlLC5mYS1iZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMzZcIn0uZmEtdmlhY29pbjpiZWZvcmV7Y29udGVudDpcIlxcZjIzN1wifS5mYS10cmFpbjpiZWZvcmV7Y29udGVudDpcIlxcZjIzOFwifS5mYS1zdWJ3YXk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyMzlcIn0uZmEtbWVkaXVtOmJlZm9yZXtjb250ZW50OlwiXFxmMjNhXCJ9LmZhLXljOmJlZm9yZSwuZmEteS1jb21iaW5hdG9yOmJlZm9yZXtjb250ZW50OlwiXFxmMjNiXCJ9LmZhLW9wdGluLW1vbnN0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyM2NcIn0uZmEtb3BlbmNhcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyM2RcIn0uZmEtZXhwZWRpdGVkc3NsOmJlZm9yZXtjb250ZW50OlwiXFxmMjNlXCJ9LmZhLWJhdHRlcnktNDpiZWZvcmUsLmZhLWJhdHRlcnktZnVsbDpiZWZvcmV7Y29udGVudDpcIlxcZjI0MFwifS5mYS1iYXR0ZXJ5LTM6YmVmb3JlLC5mYS1iYXR0ZXJ5LXRocmVlLXF1YXJ0ZXJzOmJlZm9yZXtjb250ZW50OlwiXFxmMjQxXCJ9LmZhLWJhdHRlcnktMjpiZWZvcmUsLmZhLWJhdHRlcnktaGFsZjpiZWZvcmV7Y29udGVudDpcIlxcZjI0MlwifS5mYS1iYXR0ZXJ5LTE6YmVmb3JlLC5mYS1iYXR0ZXJ5LXF1YXJ0ZXI6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNDNcIn0uZmEtYmF0dGVyeS0wOmJlZm9yZSwuZmEtYmF0dGVyeS1lbXB0eTpiZWZvcmV7Y29udGVudDpcIlxcZjI0NFwifS5mYS1tb3VzZS1wb2ludGVyOmJlZm9yZXtjb250ZW50OlwiXFxmMjQ1XCJ9LmZhLWktY3Vyc29yOmJlZm9yZXtjb250ZW50OlwiXFxmMjQ2XCJ9LmZhLW9iamVjdC1ncm91cDpiZWZvcmV7Y29udGVudDpcIlxcZjI0N1wifS5mYS1vYmplY3QtdW5ncm91cDpiZWZvcmV7Y29udGVudDpcIlxcZjI0OFwifS5mYS1zdGlja3ktbm90ZTpiZWZvcmV7Y29udGVudDpcIlxcZjI0OVwifS5mYS1zdGlja3ktbm90ZS1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjRhXCJ9LmZhLWNjLWpjYjpiZWZvcmV7Y29udGVudDpcIlxcZjI0YlwifS5mYS1jYy1kaW5lcnMtY2x1YjpiZWZvcmV7Y29udGVudDpcIlxcZjI0Y1wifS5mYS1jbG9uZTpiZWZvcmV7Y29udGVudDpcIlxcZjI0ZFwifS5mYS1iYWxhbmNlLXNjYWxlOmJlZm9yZXtjb250ZW50OlwiXFxmMjRlXCJ9LmZhLWhvdXJnbGFzcy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjUwXCJ9LmZhLWhvdXJnbGFzcy0xOmJlZm9yZSwuZmEtaG91cmdsYXNzLXN0YXJ0OmJlZm9yZXtjb250ZW50OlwiXFxmMjUxXCJ9LmZhLWhvdXJnbGFzcy0yOmJlZm9yZSwuZmEtaG91cmdsYXNzLWhhbGY6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNTJcIn0uZmEtaG91cmdsYXNzLTM6YmVmb3JlLC5mYS1ob3VyZ2xhc3MtZW5kOmJlZm9yZXtjb250ZW50OlwiXFxmMjUzXCJ9LmZhLWhvdXJnbGFzczpiZWZvcmV7Y29udGVudDpcIlxcZjI1NFwifS5mYS1oYW5kLWdyYWItbzpiZWZvcmUsLmZhLWhhbmQtcm9jay1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjU1XCJ9LmZhLWhhbmQtc3RvcC1vOmJlZm9yZSwuZmEtaGFuZC1wYXBlci1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjU2XCJ9LmZhLWhhbmQtc2Npc3NvcnMtbzpiZWZvcmV7Y29udGVudDpcIlxcZjI1N1wifS5mYS1oYW5kLWxpemFyZC1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjU4XCJ9LmZhLWhhbmQtc3BvY2stbzpiZWZvcmV7Y29udGVudDpcIlxcZjI1OVwifS5mYS1oYW5kLXBvaW50ZXItbzpiZWZvcmV7Y29udGVudDpcIlxcZjI1YVwifS5mYS1oYW5kLXBlYWNlLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNWJcIn0uZmEtdHJhZGVtYXJrOmJlZm9yZXtjb250ZW50OlwiXFxmMjVjXCJ9LmZhLXJlZ2lzdGVyZWQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNWRcIn0uZmEtY3JlYXRpdmUtY29tbW9uczpiZWZvcmV7Y29udGVudDpcIlxcZjI1ZVwifS5mYS1nZzpiZWZvcmV7Y29udGVudDpcIlxcZjI2MFwifS5mYS1nZy1jaXJjbGU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNjFcIn0uZmEtdHJpcGFkdmlzb3I6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNjJcIn0uZmEtb2Rub2tsYXNzbmlraTpiZWZvcmV7Y29udGVudDpcIlxcZjI2M1wifS5mYS1vZG5va2xhc3NuaWtpLXNxdWFyZTpiZWZvcmV7Y29udGVudDpcIlxcZjI2NFwifS5mYS1nZXQtcG9ja2V0OmJlZm9yZXtjb250ZW50OlwiXFxmMjY1XCJ9LmZhLXdpa2lwZWRpYS13OmJlZm9yZXtjb250ZW50OlwiXFxmMjY2XCJ9LmZhLXNhZmFyaTpiZWZvcmV7Y29udGVudDpcIlxcZjI2N1wifS5mYS1jaHJvbWU6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNjhcIn0uZmEtZmlyZWZveDpiZWZvcmV7Y29udGVudDpcIlxcZjI2OVwifS5mYS1vcGVyYTpiZWZvcmV7Y29udGVudDpcIlxcZjI2YVwifS5mYS1pbnRlcm5ldC1leHBsb3JlcjpiZWZvcmV7Y29udGVudDpcIlxcZjI2YlwifS5mYS10djpiZWZvcmUsLmZhLXRlbGV2aXNpb246YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNmNcIn0uZmEtY29udGFvOmJlZm9yZXtjb250ZW50OlwiXFxmMjZkXCJ9LmZhLTUwMHB4OmJlZm9yZXtjb250ZW50OlwiXFxmMjZlXCJ9LmZhLWFtYXpvbjpiZWZvcmV7Y29udGVudDpcIlxcZjI3MFwifS5mYS1jYWxlbmRhci1wbHVzLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzFcIn0uZmEtY2FsZW5kYXItbWludXMtbzpiZWZvcmV7Y29udGVudDpcIlxcZjI3MlwifS5mYS1jYWxlbmRhci10aW1lcy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjczXCJ9LmZhLWNhbGVuZGFyLWNoZWNrLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzRcIn0uZmEtaW5kdXN0cnk6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzVcIn0uZmEtbWFwLXBpbjpiZWZvcmV7Y29udGVudDpcIlxcZjI3NlwifS5mYS1tYXAtc2lnbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzdcIn0uZmEtbWFwLW86YmVmb3Jle2NvbnRlbnQ6XCJcXGYyNzhcIn0uZmEtbWFwOmJlZm9yZXtjb250ZW50OlwiXFxmMjc5XCJ9LmZhLWNvbW1lbnRpbmc6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyN2FcIn0uZmEtY29tbWVudGluZy1vOmJlZm9yZXtjb250ZW50OlwiXFxmMjdiXCJ9LmZhLWhvdXp6OmJlZm9yZXtjb250ZW50OlwiXFxmMjdjXCJ9LmZhLXZpbWVvOmJlZm9yZXtjb250ZW50OlwiXFxmMjdkXCJ9LmZhLWJsYWNrLXRpZTpiZWZvcmV7Y29udGVudDpcIlxcZjI3ZVwifS5mYS1mb250aWNvbnM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYyODBcIn1cbiIsIi8vXG4vLyBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uYnJlYWRjcnVtYiB7XG4gIHBhZGRpbmc6IEBicmVhZGNydW1iLXBhZGRpbmctdmVydGljYWwgQGJyZWFkY3J1bWItcGFkZGluZy1ob3Jpem9udGFsO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBicmVhZGNydW1iLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xuXG4gID4gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICsgbGk6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiQHticmVhZGNydW1iLXNlcGFyYXRvcn1cXDAwYTBcIjsgLy8gVW5pY29kZSBzcGFjZSBhZGRlZCBzaW5jZSBpbmxpbmUtYmxvY2sgbWVhbnMgbm9uLWNvbGxhcHNpbmcgd2hpdGUtc3BhY2VcbiAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgY29sb3I6IEBicmVhZGNydW1iLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gID4gLmFjdGl2ZSB7XG4gICAgY29sb3I6IEBicmVhZGNydW1iLWFjdGl2ZS1jb2xvcjtcbiAgfVxufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG5cbiAgPiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lOyAvLyBSZW1vdmUgbGlzdC1zdHlsZSBhbmQgYmxvY2stbGV2ZWwgZGVmYXVsdHNcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICAgICAgcGFkZGluZzogQHBhZGRpbmctYmFzZS12ZXJ0aWNhbCBAcGFkZGluZy1iYXNlLWhvcml6b250YWw7XG4gICAgICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogQHBhZ2luYXRpb24tY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdpbmF0aW9uLWJvcmRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIH1cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgID4gYSxcbiAgICAgID4gc3BhbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAuYm9yZGVyLWxlZnQtcmFkaXVzKEBib3JkZXItcmFkaXVzLWJhc2UpO1xuICAgICAgfVxuICAgIH1cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1yaWdodC1yYWRpdXMoQGJvcmRlci1yYWRpdXMtYmFzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgPiBsaSA+IGEsXG4gID4gbGkgPiBzcGFuIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIGNvbG9yOiBAcGFnaW5hdGlvbi1ob3Zlci1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uLWhvdmVyLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAcGFnaW5hdGlvbi1ob3Zlci1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlID4gYSxcbiAgPiAuYWN0aXZlID4gc3BhbiB7XG4gICAgJixcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIGNvbG9yOiBAcGFnaW5hdGlvbi1hY3RpdmUtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbi1hY3RpdmUtYmc7XG4gICAgICBib3JkZXItY29sb3I6IEBwYWdpbmF0aW9uLWFjdGl2ZS1ib3JkZXI7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgfVxuICB9XG5cbiAgPiAuZGlzYWJsZWQge1xuICAgID4gc3BhbixcbiAgICA+IHNwYW46aG92ZXIsXG4gICAgPiBzcGFuOmZvY3VzLFxuICAgID4gYSxcbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAcGFnaW5hdGlvbi1kaXNhYmxlZC1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uLWRpc2FibGVkLWJnO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAcGFnaW5hdGlvbi1kaXNhYmxlZC1ib3JkZXI7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFNpemluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTGFyZ2Vcbi5wYWdpbmF0aW9uLWxnIHtcbiAgLnBhZ2luYXRpb24tc2l6ZShAcGFkZGluZy1sYXJnZS12ZXJ0aWNhbDsgQHBhZGRpbmctbGFyZ2UtaG9yaXpvbnRhbDsgQGZvbnQtc2l6ZS1sYXJnZTsgQGxpbmUtaGVpZ2h0LWxhcmdlOyBAYm9yZGVyLXJhZGl1cy1sYXJnZSk7XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbSB7XG4gIC5wYWdpbmF0aW9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBsaW5lLWhlaWdodC1zbWFsbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xufVxuIiwiLy8gUGFnaW5hdGlvblxuXG4ucGFnaW5hdGlvbi1zaXplKEBwYWRkaW5nLXZlcnRpY2FsOyBAcGFkZGluZy1ob3Jpem9udGFsOyBAZm9udC1zaXplOyBAbGluZS1oZWlnaHQ7IEBib3JkZXItcmFkaXVzKSB7XG4gID4gbGkge1xuICAgID4gYSxcbiAgICA+IHNwYW4ge1xuICAgICAgcGFkZGluZzogQHBhZGRpbmctdmVydGljYWwgQHBhZGRpbmctaG9yaXpvbnRhbDtcbiAgICAgIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBAbGluZS1oZWlnaHQ7XG4gICAgfVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgPiBhLFxuICAgICAgPiBzcGFuIHtcbiAgICAgICAgLmJvcmRlci1sZWZ0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICA+IGEsXG4gICAgICA+IHNwYW4ge1xuICAgICAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkIDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTRweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdlci1iZztcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdlci1ib3JkZXI7XG4gICAgICBib3JkZXItcmFkaXVzOiBAcGFnZXItYm9yZGVyLXJhZGl1cztcbiAgICB9XG5cbiAgICA+IGE6aG92ZXIsXG4gICAgPiBhOmZvY3VzIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBwYWdlci1ob3Zlci1iZztcbiAgICB9XG4gIH1cblxuICAubmV4dCB7XG4gICAgPiBhLFxuICAgID4gc3BhbiB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnByZXZpb3VzIHtcbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgfVxuXG4gIC5kaXNhYmxlZCB7XG4gICAgPiBhLFxuICAgID4gYTpob3ZlcixcbiAgICA+IGE6Zm9jdXMsXG4gICAgPiBzcGFuIHtcbiAgICAgIGNvbG9yOiBAcGFnZXItZGlzYWJsZWQtY29sb3I7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnZXItYmc7XG4gICAgICBjdXJzb3I6IEBjdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gTGFiZWxzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIHBhZGRpbmc6IC4yZW0gLjZlbSAuM2VtO1xuICBmb250LXNpemU6IDc1JTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogQGxhYmVsLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgYm9yZGVyLXJhZGl1czogLjI1ZW07XG5cbiAgLy8gQWRkIGhvdmVyIGVmZmVjdHMsIGJ1dCBvbmx5IGZvciBsaW5rc1xuICBhJiB7XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiBAbGFiZWwtbGluay1ob3Zlci1jb2xvcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBFbXB0eSBsYWJlbHMgY29sbGFwc2UgYXV0b21hdGljYWxseSAobm90IGF2YWlsYWJsZSBpbiBJRTgpXG4gICY6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAvLyBRdWljayBmaXggZm9yIGxhYmVscyBpbiBidXR0b25zXG4gIC5idG4gJiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTFweDtcbiAgfVxufVxuXG4vLyBDb2xvcnNcbi8vIENvbnRleHR1YWwgdmFyaWF0aW9ucyAobGlua2VkIGxhYmVscyBnZXQgZGFya2VyIG9uIDpob3ZlcilcblxuLmxhYmVsLWRlZmF1bHQge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtZGVmYXVsdC1iZyk7XG59XG5cbi5sYWJlbC1wcmltYXJ5IHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLXByaW1hcnktYmcpO1xufVxuXG4ubGFiZWwtc3VjY2VzcyB7XG4gIC5sYWJlbC12YXJpYW50KEBsYWJlbC1zdWNjZXNzLWJnKTtcbn1cblxuLmxhYmVsLWluZm8ge1xuICAubGFiZWwtdmFyaWFudChAbGFiZWwtaW5mby1iZyk7XG59XG5cbi5sYWJlbC13YXJuaW5nIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLXdhcm5pbmctYmcpO1xufVxuXG4ubGFiZWwtZGFuZ2VyIHtcbiAgLmxhYmVsLXZhcmlhbnQoQGxhYmVsLWRhbmdlci1iZyk7XG59XG4iLCIvLyBMYWJlbHNcblxuLmxhYmVsLXZhcmlhbnQoQGNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcblxuICAmW2hyZWZdIHtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBjb2xvciwgMTAlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBCYWRnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtaW4td2lkdGg6IDEwcHg7XG4gIHBhZGRpbmc6IDNweCA3cHg7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcbiAgZm9udC13ZWlnaHQ6IEBiYWRnZS1mb250LXdlaWdodDtcbiAgY29sb3I6IEBiYWRnZS1jb2xvcjtcbiAgbGluZS1oZWlnaHQ6IEBiYWRnZS1saW5lLWhlaWdodDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYmc7XG4gIGJvcmRlci1yYWRpdXM6IEBiYWRnZS1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEVtcHR5IGJhZGdlcyBjb2xsYXBzZSBhdXRvbWF0aWNhbGx5IChub3QgYXZhaWxhYmxlIGluIElFOClcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFF1aWNrIGZpeCBmb3IgYmFkZ2VzIGluIGJ1dHRvbnNcbiAgLmJ0biAmIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG5cbiAgLmJ0bi14cyAmLFxuICAuYnRuLWdyb3VwLXhzID4gLmJ0biAmIHtcbiAgICB0b3A6IDA7XG4gICAgcGFkZGluZzogMXB4IDVweDtcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlLCBidXQgb25seSBmb3IgbGlua3NcbiAgYSYge1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogQGJhZGdlLWxpbmstaG92ZXItY29sb3I7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gQWNjb3VudCBmb3IgYmFkZ2VzIGluIG5hdnNcbiAgLmxpc3QtZ3JvdXAtaXRlbS5hY3RpdmUgPiAmLFxuICAubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEgPiAmIHtcbiAgICBjb2xvcjogQGJhZGdlLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFkZ2UtYWN0aXZlLWJnO1xuICB9XG5cbiAgLmxpc3QtZ3JvdXAtaXRlbSA+ICYge1xuICAgIGZsb2F0OiByaWdodDtcbiAgfVxuXG4gIC5saXN0LWdyb3VwLWl0ZW0gPiAmICsgJiB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIH1cblxuICAubmF2LXBpbGxzID4gbGkgPiBhID4gJiB7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgfVxufVxuIiwiLy9cbi8vIEp1bWJvdHJvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4uanVtYm90cm9uIHtcbiAgcGFkZGluZy10b3A6ICAgIEBqdW1ib3Ryb24tcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206IEBqdW1ib3Ryb24tcGFkZGluZztcbiAgbWFyZ2luLWJvdHRvbTogQGp1bWJvdHJvbi1wYWRkaW5nO1xuICBjb2xvcjogQGp1bWJvdHJvbi1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGp1bWJvdHJvbi1iZztcblxuICBoMSxcbiAgLmgxIHtcbiAgICBjb2xvcjogQGp1bWJvdHJvbi1oZWFkaW5nLWNvbG9yO1xuICB9XG5cbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogKEBqdW1ib3Ryb24tcGFkZGluZyAvIDIpO1xuICAgIGZvbnQtc2l6ZTogQGp1bWJvdHJvbi1mb250LXNpemU7XG4gICAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgfVxuXG4gID4gaHIge1xuICAgIGJvcmRlci10b3AtY29sb3I6IGRhcmtlbihAanVtYm90cm9uLWJnLCAxMCUpO1xuICB9XG5cbiAgLmNvbnRhaW5lciAmLFxuICAuY29udGFpbmVyLWZsdWlkICYge1xuICAgIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWxhcmdlOyAvLyBPbmx5IHJvdW5kIGNvcm5lcnMgYXQgaGlnaGVyIHJlc29sdXRpb25zIGlmIGNvbnRhaW5lZCBpbiBhIGNvbnRhaW5lclxuICB9XG5cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogQHNjcmVlbi1zbS1taW4pIHtcbiAgICBwYWRkaW5nLXRvcDogICAgKEBqdW1ib3Ryb24tcGFkZGluZyAqIDEuNik7XG4gICAgcGFkZGluZy1ib3R0b206IChAanVtYm90cm9uLXBhZGRpbmcgKiAxLjYpO1xuXG4gICAgLmNvbnRhaW5lciAmLFxuICAgIC5jb250YWluZXItZmx1aWQgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6ICAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAoQGp1bWJvdHJvbi1wYWRkaW5nICogMik7XG4gICAgfVxuXG4gICAgaDEsXG4gICAgLmgxIHtcbiAgICAgIGZvbnQtc2l6ZTogQGp1bWJvdHJvbi1oZWFkaW5nLWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBBbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0IHtcbiAgcGFkZGluZzogQGFsZXJ0LXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IEBsaW5lLWhlaWdodC1jb21wdXRlZDtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IEBhbGVydC1ib3JkZXItcmFkaXVzO1xuXG4gIC8vIEhlYWRpbmdzIGZvciBsYXJnZXIgYWxlcnRzXG4gIGg0IHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC8vIFNwZWNpZmllZCBmb3IgdGhlIGg0IHRvIHByZXZlbnQgY29uZmxpY3RzIG9mIGNoYW5naW5nIEBoZWFkaW5ncy1jb2xvclxuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gUHJvdmlkZSBjbGFzcyBmb3IgbGlua3MgdGhhdCBtYXRjaCBhbGVydHNcbiAgLmFsZXJ0LWxpbmsge1xuICAgIGZvbnQtd2VpZ2h0OiBAYWxlcnQtbGluay1mb250LXdlaWdodDtcbiAgfVxuXG4gIC8vIEltcHJvdmUgYWxpZ25tZW50IGFuZCBzcGFjaW5nIG9mIGlubmVyIGNvbnRlbnRcbiAgPiBwLFxuICA+IHVsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgPiBwICsgcCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICB9XG59XG5cbi8vIERpc21pc3NpYmxlIGFsZXJ0c1xuLy9cbi8vIEV4cGFuZCB0aGUgcmlnaHQgcGFkZGluZyBhbmQgYWNjb3VudCBmb3IgdGhlIGNsb3NlIGJ1dHRvbidzIHBvc2l0aW9uaW5nLlxuXG4uYWxlcnQtZGlzbWlzc2FibGUsIC8vIFRoZSBtaXNzcGVsbGVkIC5hbGVydC1kaXNtaXNzYWJsZSB3YXMgZGVwcmVjYXRlZCBpbiAzLjIuMC5cbi5hbGVydC1kaXNtaXNzaWJsZSB7XG4gIHBhZGRpbmctcmlnaHQ6IChAYWxlcnQtcGFkZGluZyArIDIwKTtcblxuICAvLyBBZGp1c3QgY2xvc2UgbGluayBwb3NpdGlvblxuICAuY2xvc2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgcmlnaHQ6IC0yMXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vXG4vLyBHZW5lcmF0ZSBjb250ZXh0dWFsIG1vZGlmaWVyIGNsYXNzZXMgZm9yIGNvbG9yaXppbmcgdGhlIGFsZXJ0LlxuXG4uYWxlcnQtc3VjY2VzcyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1zdWNjZXNzLWJnOyBAYWxlcnQtc3VjY2Vzcy1ib3JkZXI7IEBhbGVydC1zdWNjZXNzLXRleHQpO1xufVxuXG4uYWxlcnQtaW5mbyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC1pbmZvLWJnOyBAYWxlcnQtaW5mby1ib3JkZXI7IEBhbGVydC1pbmZvLXRleHQpO1xufVxuXG4uYWxlcnQtd2FybmluZyB7XG4gIC5hbGVydC12YXJpYW50KEBhbGVydC13YXJuaW5nLWJnOyBAYWxlcnQtd2FybmluZy1ib3JkZXI7IEBhbGVydC13YXJuaW5nLXRleHQpO1xufVxuXG4uYWxlcnQtZGFuZ2VyIHtcbiAgLmFsZXJ0LXZhcmlhbnQoQGFsZXJ0LWRhbmdlci1iZzsgQGFsZXJ0LWRhbmdlci1ib3JkZXI7IEBhbGVydC1kYW5nZXItdGV4dCk7XG59XG4iLCIvLyBBbGVydHNcblxuLmFsZXJ0LXZhcmlhbnQoQGJhY2tncm91bmQ7IEBib3JkZXI7IEB0ZXh0LWNvbG9yKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBiYWNrZ3JvdW5kO1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG4gIGNvbG9yOiBAdGV4dC1jb2xvcjtcblxuICBociB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogZGFya2VuKEBib3JkZXIsIDUlKTtcbiAgfVxuICAuYWxlcnQtbGluayB7XG4gICAgY29sb3I6IGRhcmtlbihAdGV4dC1jb2xvciwgMTAlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFByb2dyZXNzIGJhcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFyIGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gV2ViS2l0XG5ALXdlYmtpdC1rZXlmcmFtZXMgcHJvZ3Jlc3MtYmFyLXN0cmlwZXMge1xuICBmcm9tICB7IGJhY2tncm91bmQtcG9zaXRpb246IDQwcHggMDsgfVxuICB0byAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgMDsgfVxufVxuXG4vLyBTcGVjIGFuZCBJRTEwK1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuLy8gQmFyIGl0c2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBPdXRlciBjb250YWluZXJcbi5wcm9ncmVzcyB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBtYXJnaW4tYm90dG9tOiBAbGluZS1oZWlnaHQtY29tcHV0ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwcm9ncmVzcy1iZztcbiAgYm9yZGVyLXJhZGl1czogQHByb2dyZXNzLWJvcmRlci1yYWRpdXM7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSk7XG59XG5cbi8vIEJhciBvZiBwcm9ncmVzc1xuLnByb2dyZXNzLWJhciB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLXNtYWxsO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBjb2xvcjogQHByb2dyZXNzLWJhci1jb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcHJvZ3Jlc3MtYmFyLWJnO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSkpO1xuICAudHJhbnNpdGlvbih3aWR0aCAuNnMgZWFzZSk7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLy9cbi8vIGAucHJvZ3Jlc3Mtc3RyaXBlZCAucHJvZ3Jlc3MtYmFyYCBpcyBkZXByZWNhdGVkIGFzIG9mIHYzLjIuMCBpbiBmYXZvciBvZiB0aGVcbi8vIGAucHJvZ3Jlc3MtYmFyLXN0cmlwZWRgIGNsYXNzLCB3aGljaCB5b3UganVzdCBhZGQgdG8gYW4gZXhpc3Rpbmdcbi8vIGAucHJvZ3Jlc3MtYmFyYC5cbi5wcm9ncmVzcy1zdHJpcGVkIC5wcm9ncmVzcy1iYXIsXG4ucHJvZ3Jlc3MtYmFyLXN0cmlwZWQge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDQwcHggNDBweDtcbn1cblxuLy8gQ2FsbCBhbmltYXRpb24gZm9yIHRoZSBhY3RpdmUgb25lXG4vL1xuLy8gYC5wcm9ncmVzcy5hY3RpdmUgLnByb2dyZXNzLWJhcmAgaXMgZGVwcmVjYXRlZCBhcyBvZiB2My4yLjAgaW4gZmF2b3Igb2YgdGhlXG4vLyBgLnByb2dyZXNzLWJhci5hY3RpdmVgIGFwcHJvYWNoLlxuLnByb2dyZXNzLmFjdGl2ZSAucHJvZ3Jlc3MtYmFyLFxuLnByb2dyZXNzLWJhci5hY3RpdmUge1xuICAuYW5pbWF0aW9uKHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZSk7XG59XG5cblxuLy8gVmFyaWF0aW9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucHJvZ3Jlc3MtYmFyLXN1Y2Nlc3Mge1xuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQHByb2dyZXNzLWJhci1zdWNjZXNzLWJnKTtcbn1cblxuLnByb2dyZXNzLWJhci1pbmZvIHtcbiAgLnByb2dyZXNzLWJhci12YXJpYW50KEBwcm9ncmVzcy1iYXItaW5mby1iZyk7XG59XG5cbi5wcm9ncmVzcy1iYXItd2FybmluZyB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLXdhcm5pbmctYmcpO1xufVxuXG4ucHJvZ3Jlc3MtYmFyLWRhbmdlciB7XG4gIC5wcm9ncmVzcy1iYXItdmFyaWFudChAcHJvZ3Jlc3MtYmFyLWRhbmdlci1iZyk7XG59XG4iLCIvLyBHcmFkaWVudHNcblxuI2dyYWRpZW50IHtcblxuICAvLyBIb3Jpem9udGFsIGdyYWRpZW50LCBmcm9tIGxlZnQgdG8gcmlnaHRcbiAgLy9cbiAgLy8gQ3JlYXRlcyB0d28gY29sb3Igc3RvcHMsIHN0YXJ0IGFuZCBlbmQsIGJ5IHNwZWNpZnlpbmcgYSBjb2xvciBhbmQgcG9zaXRpb24gZm9yIGVhY2ggY29sb3Igc3RvcC5cbiAgLy8gQ29sb3Igc3RvcHMgYXJlIG5vdCBhdmFpbGFibGUgaW4gSUU5IGFuZCBiZWxvdy5cbiAgLmhvcml6b250YWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciBAc3RhcnQtcGVyY2VudCwgQGVuZC1jb2xvciBAZW5kLXBlcmNlbnQpOyAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgLy8gU3RhbmRhcmQsIElFMTAsIEZpcmVmb3ggMTYrLCBPcGVyYSAxMi4xMCssIFNhZmFyaSA3KywgQ2hyb21lIDI2K1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0LWNvbG9yKSxhcmdiKEBlbmQtY29sb3IpKSk7IC8vIElFOSBhbmQgZG93blxuICB9XG5cbiAgLy8gVmVydGljYWwgZ3JhZGllbnQsIGZyb20gdG9wIHRvIGJvdHRvbVxuICAvL1xuICAvLyBDcmVhdGVzIHR3byBjb2xvciBzdG9wcywgc3RhcnQgYW5kIGVuZCwgYnkgc3BlY2lmeWluZyBhIGNvbG9yIGFuZCBwb3NpdGlvbiBmb3IgZWFjaCBjb2xvciBzdG9wLlxuICAvLyBDb2xvciBzdG9wcyBhcmUgbm90IGF2YWlsYWJsZSBpbiBJRTkgYW5kIGJlbG93LlxuICAudmVydGljYWwoQHN0YXJ0LWNvbG9yOiAjNTU1OyBAZW5kLWNvbG9yOiAjMzMzOyBAc3RhcnQtcGVyY2VudDogMCU7IEBlbmQtcGVyY2VudDogMTAwJSkge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7ICAvLyBTYWZhcmkgNS4xLTYsIENocm9tZSAxMCtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQodG9wLCBAc3RhcnQtY29sb3IgQHN0YXJ0LXBlcmNlbnQsIEBlbmQtY29sb3IgQGVuZC1wZXJjZW50KTsgIC8vIE9wZXJhIDEyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgQHN0YXJ0LWNvbG9yIEBzdGFydC1wZXJjZW50LCBAZW5kLWNvbG9yIEBlbmQtcGVyY2VudCk7IC8vIFN0YW5kYXJkLCBJRTEwLCBGaXJlZm94IDE2KywgT3BlcmEgMTIuMTArLCBTYWZhcmkgNyssIENocm9tZSAyNitcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogcmVwZWF0LXg7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MClcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuXG4gIC5kaXJlY3Rpb25hbChAc3RhcnQtY29sb3I6ICM1NTU7IEBlbmQtY29sb3I6ICMzMzM7IEBkZWc6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydC1jb2xvciwgQGVuZC1jb2xvcik7IC8vIFNhZmFyaSA1LjEtNiwgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBPcGVyYSAxMlxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnQtY29sb3IsIEBlbmQtY29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMCwgRmlyZWZveCAxNissIE9wZXJhIDEyLjEwKywgU2FmYXJpIDcrLCBDaHJvbWUgMjYrXG4gIH1cbiAgLmhvcml6b250YWwtdGhyZWUtY29sb3JzKEBzdGFydC1jb2xvcjogIzAwYjNlZTsgQG1pZC1jb2xvcjogIzdhNDNiNjsgQGNvbG9yLXN0b3A6IDUwJTsgQGVuZC1jb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydC1jb2xvciwgQG1pZC1jb2xvciBAY29sb3Itc3RvcCwgQGVuZC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnQtY29sb3IsIEBtaWQtY29sb3IgQGNvbG9yLXN0b3AsIEBlbmQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgZmlsdGVyOiBlKCUoXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nJWQnLCBlbmRDb2xvcnN0cj0nJWQnLCBHcmFkaWVudFR5cGU9MSlcIixhcmdiKEBzdGFydC1jb2xvciksYXJnYihAZW5kLWNvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC52ZXJ0aWNhbC10aHJlZS1jb2xvcnMoQHN0YXJ0LWNvbG9yOiAjMDBiM2VlOyBAbWlkLWNvbG9yOiAjN2E0M2I2OyBAY29sb3Itc3RvcDogNTAlOyBAZW5kLWNvbG9yOiAjYzMzMjVmKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQoQHN0YXJ0LWNvbG9yLCBAbWlkLWNvbG9yIEBjb2xvci1zdG9wLCBAZW5kLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JzdHI9JyVkJywgZW5kQ29sb3JzdHI9JyVkJywgR3JhZGllbnRUeXBlPTApXCIsYXJnYihAc3RhcnQtY29sb3IpLGFyZ2IoQGVuZC1jb2xvcikpKTsgLy8gSUU5IGFuZCBkb3duLCBnZXRzIG5vIGNvbG9yLXN0b3AgYXQgYWxsIGZvciBwcm9wZXIgZmFsbGJhY2tcbiAgfVxuICAucmFkaWFsKEBpbm5lci1jb2xvcjogIzU1NTsgQG91dGVyLWNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXItY29sb3IsIEBvdXRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyLWNvbG9yLCBAb3V0ZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4xNSk7IEBhbmdsZTogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChAYW5nbGUsIEBjb2xvciAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCBAY29sb3IgNTAlLCBAY29sb3IgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCBAY29sb3IgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgQGNvbG9yIDUwJSwgQGNvbG9yIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgQGNvbG9yIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIEBjb2xvciA1MCUsIEBjb2xvciA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICB9XG59XG4iLCIvLyBQcm9ncmVzcyBiYXJzXG5cbi5wcm9ncmVzcy1iYXItdmFyaWFudChAY29sb3IpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuXG4gIC8vIERlcHJlY2F0ZWQgcGFyZW50IGNsYXNzIHJlcXVpcmVtZW50IGFzIG9mIHYzLjIuMFxuICAucHJvZ3Jlc3Mtc3RyaXBlZCAmIHtcbiAgICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgpO1xuICB9XG59XG4iLCIubWVkaWEge1xuICAvLyBQcm9wZXIgc3BhY2luZyBiZXR3ZWVuIGluc3RhbmNlcyBvZiAubWVkaWFcbiAgbWFyZ2luLXRvcDogMTVweDtcblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG59XG5cbi5tZWRpYSxcbi5tZWRpYS1ib2R5IHtcbiAgem9vbTogMTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLm1lZGlhLWJvZHkge1xuICB3aWR0aDogMTAwMDBweDtcbn1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIC8vIEZpeCBjb2xsYXBzZSBpbiB3ZWJraXQgZnJvbSBtYXgtd2lkdGg6IDEwMCUgYW5kIGRpc3BsYXk6IHRhYmxlLWNlbGwuXG4gICYuaW1nLXRodW1ibmFpbCB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICB9XG59XG5cbi5tZWRpYS1yaWdodCxcbi5tZWRpYSA+IC5wdWxsLXJpZ2h0IHtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYSA+IC5wdWxsLWxlZnQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xufVxuXG4ubWVkaWEtbGVmdCxcbi5tZWRpYS1yaWdodCxcbi5tZWRpYS1ib2R5IHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLm1lZGlhLW1pZGRsZSB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5tZWRpYS1ib3R0b20ge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4vLyBSZXNldCBtYXJnaW5zIG9uIGhlYWRpbmdzIGZvciB0aWdodGVyIGRlZmF1bHQgc3BhY2luZ1xuLm1lZGlhLWhlYWRpbmcge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG5cbi8vIE1lZGlhIGxpc3QgdmFyaWF0aW9uXG4vL1xuLy8gVW5kbyBkZWZhdWx0IHVsL29sIHN0eWxlc1xuLm1lZGlhLWxpc3Qge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG4iLCIvL1xuLy8gTGlzdCBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLy9cbi8vIEVhc2lseSB1c2FibGUgb24gPHVsPiwgPG9sPiwgb3IgPGRpdj4uXG5cbi5saXN0LWdyb3VwIHtcbiAgLy8gTm8gbmVlZCB0byBzZXQgbGlzdC1zdHlsZTogbm9uZTsgc2luY2UgLmxpc3QtZ3JvdXAtaXRlbSBpcyBibG9jayBsZXZlbFxuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDA7IC8vIHJlc2V0IHBhZGRpbmcgYmVjYXVzZSB1bCBhbmQgb2xcbn1cblxuXG4vLyBJbmRpdmlkdWFsIGxpc3QgaXRlbXNcbi8vXG4vLyBVc2Ugb24gYGxpYHMgb3IgYGRpdmBzIHdpdGhpbiB0aGUgYC5saXN0LWdyb3VwYCBwYXJlbnQuXG5cbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIC8vIFBsYWNlIHRoZSBib3JkZXIgb24gdGhlIGxpc3QgaXRlbXMgYW5kIG5lZ2F0aXZlIG1hcmdpbiB1cCBmb3IgYmV0dGVyIHN0eWxpbmdcbiAgbWFyZ2luLWJvdHRvbTogLTFweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBsaXN0LWdyb3VwLWJvcmRlcjtcblxuICAvLyBSb3VuZCB0aGUgZmlyc3QgYW5kIGxhc3QgaXRlbXNcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKEBsaXN0LWdyb3VwLWJvcmRlci1yYWRpdXMpO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoQGxpc3QtZ3JvdXAtYm9yZGVyLXJhZGl1cyk7XG4gIH1cbn1cblxuXG4vLyBJbnRlcmFjdGl2ZSBsaXN0IGl0ZW1zXG4vL1xuLy8gVXNlIGFuY2hvciBvciBidXR0b24gZWxlbWVudHMgaW5zdGVhZCBvZiBgbGlgcyBvciBgZGl2YHMgdG8gY3JlYXRlIGludGVyYWN0aXZlIGl0ZW1zLlxuLy8gSW5jbHVkZXMgYW4gZXh0cmEgYC5hY3RpdmVgIG1vZGlmaWVyIGNsYXNzIGZvciBzaG93aW5nIHNlbGVjdGVkIGl0ZW1zLlxuXG5hLmxpc3QtZ3JvdXAtaXRlbSxcbmJ1dHRvbi5saXN0LWdyb3VwLWl0ZW0ge1xuICBjb2xvcjogQGxpc3QtZ3JvdXAtbGluay1jb2xvcjtcblxuICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcge1xuICAgIGNvbG9yOiBAbGlzdC1ncm91cC1saW5rLWhlYWRpbmctY29sb3I7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWxpbmstaG92ZXItY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtaG92ZXItYmc7XG4gIH1cbn1cblxuYnV0dG9uLmxpc3QtZ3JvdXAtaXRlbSB7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4ubGlzdC1ncm91cC1pdGVtIHtcbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJi5kaXNhYmxlZDpob3ZlcixcbiAgJi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGxpc3QtZ3JvdXAtZGlzYWJsZWQtYmc7XG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLWNvbG9yO1xuICAgIGN1cnNvcjogQGN1cnNvci1kaXNhYmxlZDtcblxuICAgIC8vIEZvcmNlIGNvbG9yIHRvIGluaGVyaXQgZm9yIGN1c3RvbSBjb250ZW50XG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6IEBsaXN0LWdyb3VwLWRpc2FibGVkLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gQWN0aXZlIGNsYXNzIG9uIGl0ZW0gaXRzZWxmLCBub3QgcGFyZW50XG4gICYuYWN0aXZlLFxuICAmLmFjdGl2ZTpob3ZlcixcbiAgJi5hY3RpdmU6Zm9jdXMge1xuICAgIHotaW5kZXg6IDI7IC8vIFBsYWNlIGFjdGl2ZSBpdGVtcyBhYm92ZSB0aGVpciBzaWJsaW5ncyBmb3IgcHJvcGVyIGJvcmRlciBzdHlsaW5nXG4gICAgY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtYmc7XG4gICAgYm9yZGVyLWNvbG9yOiBAbGlzdC1ncm91cC1hY3RpdmUtYm9yZGVyO1xuXG4gICAgLy8gRm9yY2UgY29sb3IgdG8gaW5oZXJpdCBmb3IgY3VzdG9tIGNvbnRlbnRcbiAgICAubGlzdC1ncm91cC1pdGVtLWhlYWRpbmcsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gc21hbGwsXG4gICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nID4gLnNtYWxsIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgICAubGlzdC1ncm91cC1pdGVtLXRleHQge1xuICAgICAgY29sb3I6IEBsaXN0LWdyb3VwLWFjdGl2ZS10ZXh0LWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIENvbnRleHR1YWwgdmFyaWFudHNcbi8vXG4vLyBBZGQgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGV4dCBhbmQgYmFja2dyb3VuZCBjb2xvciBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuLy8gT3JnYW5pemF0aW9uYWxseSwgdGhpcyBtdXN0IGNvbWUgYWZ0ZXIgdGhlIGA6aG92ZXJgIHN0YXRlcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KHN1Y2Nlc3M7IEBzdGF0ZS1zdWNjZXNzLWJnOyBAc3RhdGUtc3VjY2Vzcy10ZXh0KTtcbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChpbmZvOyBAc3RhdGUtaW5mby1iZzsgQHN0YXRlLWluZm8tdGV4dCk7XG4ubGlzdC1ncm91cC1pdGVtLXZhcmlhbnQod2FybmluZzsgQHN0YXRlLXdhcm5pbmctYmc7IEBzdGF0ZS13YXJuaW5nLXRleHQpO1xuLmxpc3QtZ3JvdXAtaXRlbS12YXJpYW50KGRhbmdlcjsgQHN0YXRlLWRhbmdlci1iZzsgQHN0YXRlLWRhbmdlci10ZXh0KTtcblxuXG4vLyBDdXN0b20gY29udGVudCBvcHRpb25zXG4vL1xuLy8gRXh0cmEgY2xhc3NlcyBmb3IgY3JlYXRpbmcgd2VsbC1mb3JtYXR0ZWQgY29udGVudCB3aXRoaW4gYC5saXN0LWdyb3VwLWl0ZW1gcy5cblxuLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLmxpc3QtZ3JvdXAtaXRlbS10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbGluZS1oZWlnaHQ6IDEuMztcbn1cbiIsIi8vIExpc3QgR3JvdXBzXG5cbi5saXN0LWdyb3VwLWl0ZW0tdmFyaWFudChAc3RhdGU7IEBiYWNrZ3JvdW5kOyBAY29sb3IpIHtcbiAgLmxpc3QtZ3JvdXAtaXRlbS1Ae3N0YXRlfSB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmFja2dyb3VuZDtcblxuICAgIGEmLFxuICAgIGJ1dHRvbiYge1xuICAgICAgY29sb3I6IEBjb2xvcjtcblxuICAgICAgLmxpc3QtZ3JvdXAtaXRlbS1oZWFkaW5nIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6IEBjb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBiYWNrZ3JvdW5kLCA1JSk7XG4gICAgICB9XG4gICAgICAmLmFjdGl2ZSxcbiAgICAgICYuYWN0aXZlOmhvdmVyLFxuICAgICAgJi5hY3RpdmU6Zm9jdXMge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgICAgICBib3JkZXItY29sb3I6IEBjb2xvcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyBQYW5lbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc1xuLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFuZWwtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiBAcGFuZWwtYm9yZGVyLXJhZGl1cztcbiAgLmJveC1zaGFkb3coMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KSk7XG59XG5cbi8vIFBhbmVsIGNvbnRlbnRzXG4ucGFuZWwtYm9keSB7XG4gIHBhZGRpbmc6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICY6ZXh0ZW5kKC5jbGVhcmZpeCBhbGwpO1xufVxuXG4vLyBPcHRpb25hbCBoZWFkaW5nXG4ucGFuZWwtaGVhZGluZyB7XG4gIHBhZGRpbmc6IEBwYW5lbC1oZWFkaW5nLXBhZGRpbmc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICA+IC5kcm9wZG93biAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vLyBXaXRoaW4gaGVhZGluZywgc3RyaXAgYW55IGBoKmAgdGFnIG9mIGl0cyBkZWZhdWx0IG1hcmdpbnMgZm9yIHNwYWNpbmcuXG4ucGFuZWwtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IGNlaWwoKEBmb250LXNpemUtYmFzZSAqIDEuMTI1KSk7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gID4gYSxcbiAgPiBzbWFsbCxcbiAgPiAuc21hbGwsXG4gID4gc21hbGwgPiBhLFxuICA+IC5zbWFsbCA+IGEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8vIE9wdGlvbmFsIGZvb3RlciAoc3RheXMgZ3JheSBpbiBldmVyeSBtb2RpZmllciBjbGFzcylcbi5wYW5lbC1mb290ZXIge1xuICBwYWRkaW5nOiBAcGFuZWwtZm9vdGVyLXBhZGRpbmc7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYW5lbC1mb290ZXItYmc7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAcGFuZWwtaW5uZXItYm9yZGVyO1xuICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xufVxuXG5cbi8vIExpc3QgZ3JvdXBzIGluIHBhbmVsc1xuLy9cbi8vIEJ5IGRlZmF1bHQsIHNwYWNlIG91dCBsaXN0IGdyb3VwIGNvbnRlbnQgZnJvbSBwYW5lbCBoZWFkaW5ncyB0byBhY2NvdW50IGZvclxuLy8gYW55IGtpbmQgb2YgY3VzdG9tIGNvbnRlbnQgYmV0d2VlbiB0aGUgdHdvLlxuXG4ucGFuZWwge1xuICA+IC5saXN0LWdyb3VwLFxuICA+IC5wYW5lbC1jb2xsYXBzZSA+IC5saXN0LWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgLmxpc3QtZ3JvdXAtaXRlbSB7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB9XG5cbiAgICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgLmxpc3QtZ3JvdXAtaXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIC5ib3JkZXItdG9wLXJhZGl1cygoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWRkIGJvcmRlciBib3R0b20gcmFkaXVzIGZvciBsYXN0IG9uZVxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAubGlzdC1ncm91cC1pdGVtOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC5wYW5lbC1oZWFkaW5nICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgICAgLmJvcmRlci10b3AtcmFkaXVzKDApO1xuICAgIH1cbiAgfVxufVxuLy8gQ29sbGFwc2Ugc3BhY2UgYmV0d2VlbiB3aGVuIHRoZXJlJ3Mgbm8gYWRkaXRpb25hbCBjb250ZW50LlxuLnBhbmVsLWhlYWRpbmcgKyAubGlzdC1ncm91cCB7XG4gIC5saXN0LWdyb3VwLWl0ZW06Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbn1cbi5saXN0LWdyb3VwICsgLnBhbmVsLWZvb3RlciB7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG59XG5cbi8vIFRhYmxlcyBpbiBwYW5lbHNcbi8vXG4vLyBQbGFjZSBhIG5vbi1ib3JkZXJlZCBgLnRhYmxlYCB3aXRoaW4gYSBwYW5lbCAobm90IHdpdGhpbiBhIGAucGFuZWwtYm9keWApIGFuZFxuLy8gd2F0Y2ggaXQgZ28gZnVsbCB3aWR0aC5cblxuLnBhbmVsIHtcbiAgPiAudGFibGUsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmUgPiAudGFibGUsXG4gID4gLnBhbmVsLWNvbGxhcHNlID4gLnRhYmxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgY2FwdGlvbiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IEBwYW5lbC1ib2R5LXBhZGRpbmc7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiBAcGFuZWwtYm9keS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIHRvcCByYWRpdXMgZm9yIGZpcnN0IG9uZVxuICA+IC50YWJsZTpmaXJzdC1jaGlsZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZTpmaXJzdC1jaGlsZCA+IC50YWJsZTpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtcmFkaXVzKChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpKTtcblxuICAgID4gdGhlYWQ6Zmlyc3QtY2hpbGQsXG4gICAgPiB0Ym9keTpmaXJzdC1jaGlsZCB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcblxuICAgICAgICB0ZDpmaXJzdC1jaGlsZCxcbiAgICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICAgIHRkOmxhc3QtY2hpbGQsXG4gICAgICAgIHRoOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAvLyBBZGQgYm9yZGVyIGJvdHRvbSByYWRpdXMgZm9yIGxhc3Qgb25lXG4gID4gLnRhYmxlOmxhc3QtY2hpbGQsXG4gID4gLnRhYmxlLXJlc3BvbnNpdmU6bGFzdC1jaGlsZCA+IC50YWJsZTpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yYWRpdXMoKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSkpO1xuXG4gICAgPiB0Ym9keTpsYXN0LWNoaWxkLFxuICAgID4gdGZvb3Q6bGFzdC1jaGlsZCB7XG4gICAgICA+IHRyOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAoQHBhbmVsLWJvcmRlci1yYWRpdXMgLSAxKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuXG4gICAgICAgIHRkOmZpcnN0LWNoaWxkLFxuICAgICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogKEBwYW5lbC1ib3JkZXItcmFkaXVzIC0gMSk7XG4gICAgICAgIH1cbiAgICAgICAgdGQ6bGFzdC1jaGlsZCxcbiAgICAgICAgdGg6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IChAcGFuZWwtYm9yZGVyLXJhZGl1cyAtIDEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUsXG4gID4gLnBhbmVsLWJvZHkgKyAudGFibGUtcmVzcG9uc2l2ZSxcbiAgPiAudGFibGUgKyAucGFuZWwtYm9keSxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSArIC5wYW5lbC1ib2R5IHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgfVxuICA+IC50YWJsZSA+IHRib2R5OmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgdGgsXG4gID4gLnRhYmxlID4gdGJvZHk6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICA+IC50YWJsZS1ib3JkZXJlZCxcbiAgPiAudGFibGUtcmVzcG9uc2l2ZSA+IC50YWJsZS1ib3JkZXJlZCB7XG4gICAgYm9yZGVyOiAwO1xuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSxcbiAgICA+IHRmb290IHtcbiAgICAgID4gdHIge1xuICAgICAgICA+IHRoOmZpcnN0LWNoaWxkLFxuICAgICAgICA+IHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICA+IHRoOmxhc3QtY2hpbGQsXG4gICAgICAgID4gdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgID4gdGhlYWQsXG4gICAgPiB0Ym9keSB7XG4gICAgICA+IHRyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICA+IHRib2R5LFxuICAgID4gdGZvb3Qge1xuICAgICAgPiB0cjpsYXN0LWNoaWxkIHtcbiAgICAgICAgPiB0ZCxcbiAgICAgICAgPiB0aCB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICA+IC50YWJsZS1yZXNwb25zaXZlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbi8vIENvbGxhcHNhYmxlIHBhbmVscyAoYWthLCBhY2NvcmRpb24pXG4vL1xuLy8gV3JhcCBhIHNlcmllcyBvZiBwYW5lbHMgaW4gYC5wYW5lbC1ncm91cGAgdG8gdHVybiB0aGVtIGludG8gYW4gYWNjb3JkaW9uIHdpdGhcbi8vIHRoZSBoZWxwIG9mIG91ciBjb2xsYXBzZSBKYXZhU2NyaXB0IHBsdWdpbi5cblxuLnBhbmVsLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogQGxpbmUtaGVpZ2h0LWNvbXB1dGVkO1xuXG4gIC8vIFRpZ2h0ZW4gdXAgbWFyZ2luIHNvIGl0J3Mgb25seSBiZXR3ZWVuIHBhbmVsc1xuICAucGFuZWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogQHBhbmVsLWJvcmRlci1yYWRpdXM7XG5cbiAgICArIC5wYW5lbCB7XG4gICAgICBtYXJnaW4tdG9wOiA1cHg7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWhlYWRpbmcge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG5cbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5LFxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLmxpc3QtZ3JvdXAge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBwYW5lbC1pbm5lci1ib3JkZXI7XG4gICAgfVxuICB9XG5cbiAgLnBhbmVsLWZvb3RlciB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSAucGFuZWwtYm9keSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQHBhbmVsLWlubmVyLWJvcmRlcjtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDb250ZXh0dWFsIHZhcmlhdGlvbnNcbi5wYW5lbC1kZWZhdWx0IHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRlZmF1bHQtYm9yZGVyOyBAcGFuZWwtZGVmYXVsdC10ZXh0OyBAcGFuZWwtZGVmYXVsdC1oZWFkaW5nLWJnOyBAcGFuZWwtZGVmYXVsdC1ib3JkZXIpO1xufVxuLnBhbmVsLXByaW1hcnkge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtcHJpbWFyeS1ib3JkZXI7IEBwYW5lbC1wcmltYXJ5LXRleHQ7IEBwYW5lbC1wcmltYXJ5LWhlYWRpbmctYmc7IEBwYW5lbC1wcmltYXJ5LWJvcmRlcik7XG59XG4ucGFuZWwtc3VjY2VzcyB7XG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1zdWNjZXNzLWJvcmRlcjsgQHBhbmVsLXN1Y2Nlc3MtdGV4dDsgQHBhbmVsLXN1Y2Nlc3MtaGVhZGluZy1iZzsgQHBhbmVsLXN1Y2Nlc3MtYm9yZGVyKTtcbn1cbi5wYW5lbC1pbmZvIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWluZm8tYm9yZGVyOyBAcGFuZWwtaW5mby10ZXh0OyBAcGFuZWwtaW5mby1oZWFkaW5nLWJnOyBAcGFuZWwtaW5mby1ib3JkZXIpO1xufVxuLnBhbmVsLXdhcm5pbmcge1xuICAucGFuZWwtdmFyaWFudChAcGFuZWwtd2FybmluZy1ib3JkZXI7IEBwYW5lbC13YXJuaW5nLXRleHQ7IEBwYW5lbC13YXJuaW5nLWhlYWRpbmctYmc7IEBwYW5lbC13YXJuaW5nLWJvcmRlcik7XG59XG4ucGFuZWwtZGFuZ2VyIHtcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWRhbmdlci1ib3JkZXI7IEBwYW5lbC1kYW5nZXItdGV4dDsgQHBhbmVsLWRhbmdlci1oZWFkaW5nLWJnOyBAcGFuZWwtZGFuZ2VyLWJvcmRlcik7XG59XG4iLCIvLyBQYW5lbHNcblxuLnBhbmVsLXZhcmlhbnQoQGJvcmRlcjsgQGhlYWRpbmctdGV4dC1jb2xvcjsgQGhlYWRpbmctYmctY29sb3I7IEBoZWFkaW5nLWJvcmRlcikge1xuICBib3JkZXItY29sb3I6IEBib3JkZXI7XG5cbiAgJiA+IC5wYW5lbC1oZWFkaW5nIHtcbiAgICBjb2xvcjogQGhlYWRpbmctdGV4dC1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEBoZWFkaW5nLWJvcmRlcjtcblxuICAgICsgLnBhbmVsLWNvbGxhcHNlID4gLnBhbmVsLWJvZHkge1xuICAgICAgYm9yZGVyLXRvcC1jb2xvcjogQGJvcmRlcjtcbiAgICB9XG4gICAgLmJhZGdlIHtcbiAgICAgIGNvbG9yOiBAaGVhZGluZy1iZy1jb2xvcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBoZWFkaW5nLXRleHQtY29sb3I7XG4gICAgfVxuICB9XG4gICYgPiAucGFuZWwtZm9vdGVyIHtcbiAgICArIC5wYW5lbC1jb2xsYXBzZSA+IC5wYW5lbC1ib2R5IHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBib3JkZXI7XG4gICAgfVxuICB9XG59XG4iLCIvLyBFbWJlZHMgcmVzcG9uc2l2ZVxuLy9cbi8vIENyZWRpdDogTmljb2xhcyBHYWxsYWdoZXIgYW5kIFNVSVQgQ1NTLlxuXG4uZW1iZWQtcmVzcG9uc2l2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZzogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAuZW1iZWQtcmVzcG9uc2l2ZS1pdGVtLFxuICBpZnJhbWUsXG4gIGVtYmVkLFxuICBvYmplY3QsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDA7XG4gIH1cbn1cblxuLy8gTW9kaWZpZXIgY2xhc3MgZm9yIDE2OjkgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS0xNmJ5OSB7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG5cbi8vIE1vZGlmaWVyIGNsYXNzIGZvciA0OjMgYXNwZWN0IHJhdGlvXG4uZW1iZWQtcmVzcG9uc2l2ZS00YnkzIHtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbn1cbiIsIi8vXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIGNsYXNzXG4ud2VsbCB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDE5cHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3ZWxsLWJnO1xuICBib3JkZXI6IDFweCBzb2xpZCBAd2VsbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2U7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNSkpO1xuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xNSk7XG4gIH1cbn1cblxuLy8gU2l6ZXNcbi53ZWxsLWxnIHtcbiAgcGFkZGluZzogMjRweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG59XG4ud2VsbC1zbSB7XG4gIHBhZGRpbmc6IDlweDtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XG59XG4iLCIvL1xuLy8gQ2xvc2UgaWNvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmNsb3NlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBmb250LXNpemU6IChAZm9udC1zaXplLWJhc2UgKiAxLjUpO1xuICBmb250LXdlaWdodDogQGNsb3NlLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IEBjbG9zZS1jb2xvcjtcbiAgdGV4dC1zaGFkb3c6IEBjbG9zZS10ZXh0LXNoYWRvdztcbiAgLm9wYWNpdHkoLjIpO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAY2xvc2UtY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAub3BhY2l0eSguNSk7XG4gIH1cblxuICAvLyBBZGRpdGlvbmFsIHByb3BlcnRpZXMgZm9yIGJ1dHRvbiB2ZXJzaW9uXG4gIC8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuICAvLyBJZiB5b3Ugd2FudCB0aGUgYW5jaG9yIHZlcnNpb24sIGl0IHJlcXVpcmVzIGBocmVmPVwiI1wiYC5cbiAgLy8gU2VlIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0V2ZW50cy9jbGljayNTYWZhcmlfTW9iaWxlXG4gIGJ1dHRvbiYge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cbn1cbiIsIi8vXG4vLyBNb2RhbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcbi8vIC5tb2RhbCAgICAgICAgICAgLSBjb250YWluZXIgdG8gc2Nyb2xsIHdpdGhpblxuLy8gLm1vZGFsLWRpYWxvZyAgICAtIHBvc2l0aW9uaW5nIHNoZWxsIGZvciB0aGUgYWN0dWFsIG1vZGFsXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XG5cbi8vIEtpbGwgdGhlIHNjcm9sbCBvbiB0aGUgYm9keVxuLm1vZGFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vLyBDb250YWluZXIgdGhhdCB0aGUgbW9kYWwgc2Nyb2xscyB3aXRoaW5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG5cbiAgLy8gUHJldmVudCBDaHJvbWUgb24gV2luZG93cyBmcm9tIGFkZGluZyBhIGZvY3VzIG91dGxpbmUuIEZvciBkZXRhaWxzLCBzZWVcbiAgLy8gaHR0cHM6Ly9naXRodWIuY29tL3R3YnMvYm9vdHN0cmFwL3B1bGwvMTA5NTEuXG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gV2hlbiBmYWRpbmcgaW4gdGhlIG1vZGFsLCBhbmltYXRlIGl0IHRvIHNsaWRlIGRvd25cbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICAgIC50cmFuc2xhdGUoMCwgLTI1JSk7XG4gICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKH5cIjAuM3MgZWFzZS1vdXRcIik7XG4gIH1cbiAgJi5pbiAubW9kYWwtZGlhbG9nIHsgLnRyYW5zbGF0ZSgwLCAwKSB9XG59XG4ubW9kYWwtb3BlbiAubW9kYWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xuLm1vZGFsLWRpYWxvZyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87XG4gIG1hcmdpbjogMTBweDtcbn1cblxuLy8gQWN0dWFsIG1vZGFsXG4ubW9kYWwtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG1vZGFsLWNvbnRlbnQtYmc7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBtb2RhbC1jb250ZW50LWZhbGxiYWNrLWJvcmRlci1jb2xvcjsgLy9vbGQgYnJvd3NlcnMgZmFsbGJhY2sgKGllOCBldGMpXG4gIGJvcmRlcjogMXB4IHNvbGlkIEBtb2RhbC1jb250ZW50LWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtbGFyZ2U7XG4gIC5ib3gtc2hhZG93KDAgM3B4IDlweCByZ2JhKDAsMCwwLC41KSk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIE1vZGFsIGJhY2tncm91bmRcbi5tb2RhbC1iYWNrZHJvcCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LW1vZGFsLWJhY2tncm91bmQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBtb2RhbC1iYWNrZHJvcC1iZztcbiAgLy8gRmFkZSBmb3IgYmFja2Ryb3BcbiAgJi5mYWRlIHsgLm9wYWNpdHkoMCk7IH1cbiAgJi5pbiB7IC5vcGFjaXR5KEBtb2RhbC1iYWNrZHJvcC1vcGFjaXR5KTsgfVxufVxuXG4vLyBNb2RhbCBoZWFkZXJcbi8vIFRvcCBzZWN0aW9uIG9mIHRoZSBtb2RhbCB3LyB0aXRsZSBhbmQgZGlzbWlzc1xuLm1vZGFsLWhlYWRlciB7XG4gIHBhZGRpbmc6IEBtb2RhbC10aXRsZS1wYWRkaW5nO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgQG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG4gIG1pbi1oZWlnaHQ6IChAbW9kYWwtdGl0bGUtcGFkZGluZyArIEBtb2RhbC10aXRsZS1saW5lLWhlaWdodCk7XG59XG4vLyBDbG9zZSBpY29uXG4ubW9kYWwtaGVhZGVyIC5jbG9zZSB7XG4gIG1hcmdpbi10b3A6IC0ycHg7XG59XG5cbi8vIFRpdGxlIHRleHQgd2l0aGluIGhlYWRlclxuLm1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogQG1vZGFsLXRpdGxlLWxpbmUtaGVpZ2h0O1xufVxuXG4vLyBNb2RhbCBib2R5XG4vLyBXaGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzIChzaWJsaW5nIG9mIC5tb2RhbC1oZWFkZXIgYW5kIC5tb2RhbC1mb290ZXIpXG4ubW9kYWwtYm9keSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogQG1vZGFsLWlubmVyLXBhZGRpbmc7XG59XG5cbi8vIEZvb3RlciAoZm9yIGFjdGlvbnMpXG4ubW9kYWwtZm9vdGVyIHtcbiAgcGFkZGluZzogQG1vZGFsLWlubmVyLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyAvLyByaWdodCBhbGlnbiBidXR0b25zXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAbW9kYWwtZm9vdGVyLWJvcmRlci1jb2xvcjtcbiAgJjpleHRlbmQoLmNsZWFyZml4IGFsbCk7IC8vIGNsZWFyIGl0IGluIGNhc2UgZm9sa3MgdXNlIC5wdWxsLSogY2xhc3NlcyBvbiBidXR0b25zXG5cbiAgLy8gUHJvcGVybHkgc3BhY2Ugb3V0IGJ1dHRvbnNcbiAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgLy8gYWNjb3VudCBmb3IgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB3aGljaCBnZXRzIHRoZSBib3R0b20gbWFyZ2luIGxpa2UgYWxsIG90aGVyIGlucHV0c1xuICB9XG4gIC8vIGJ1dCBvdmVycmlkZSB0aGF0IGZvciBidXR0b24gZ3JvdXBzXG4gIC5idG4tZ3JvdXAgLmJ0biArIC5idG4ge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICB9XG4gIC8vIGFuZCBvdmVycmlkZSBpdCBmb3IgYmxvY2sgYnV0dG9ucyBhcyB3ZWxsXG4gIC5idG4tYmxvY2sgKyAuYnRuLWJsb2NrIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG4vLyBNZWFzdXJlIHNjcm9sbGJhciB3aWR0aCBmb3IgcGFkZGluZyBib2R5IGR1cmluZyBtb2RhbCBzaG93L2hpZGVcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vLyBTY2FsZSB1cCB0aGUgbW9kYWxcbkBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikge1xuICAvLyBBdXRvbWF0aWNhbGx5IHNldCBtb2RhbCdzIHdpZHRoIGZvciBsYXJnZXIgdmlld3BvcnRzXG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHdpZHRoOiBAbW9kYWwtbWQ7XG4gICAgbWFyZ2luOiAzMHB4IGF1dG87XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIC5ib3gtc2hhZG93KDAgNXB4IDE1cHggcmdiYSgwLDAsMCwuNSkpO1xuICB9XG5cbiAgLy8gTW9kYWwgc2l6ZXNcbiAgLm1vZGFsLXNtIHsgd2lkdGg6IEBtb2RhbC1zbTsgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1tZC1taW4pIHtcbiAgLm1vZGFsLWxnIHsgd2lkdGg6IEBtb2RhbC1sZzsgfVxufVxuIiwiLy9cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiBAemluZGV4LXRvb2x0aXA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBPdXIgcGFyZW50IGVsZW1lbnQgY2FuIGJlIGFyYml0cmFyeSBzaW5jZSB0b29sdGlwcyBhcmUgYnkgZGVmYXVsdCBpbnNlcnRlZCBhcyBhIHNpYmxpbmcgb2YgdGhlaXIgdGFyZ2V0IGVsZW1lbnQuXG4gIC8vIFNvIHJlc2V0IG91ciBmb250IGFuZCB0ZXh0IHByb3BlcnRpZXMgdG8gYXZvaWQgaW5oZXJpdGluZyB3ZWlyZCB2YWx1ZXMuXG4gIC5yZXNldC10ZXh0KCk7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1zbWFsbDtcblxuICAub3BhY2l0eSgwKTtcblxuICAmLmluICAgICB7IC5vcGFjaXR5KEB0b29sdGlwLW9wYWNpdHkpOyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6IEB0b29sdGlwLWFycm93LXdpZHRoIDA7IH1cbiAgJi5yaWdodCAgeyBtYXJnaW4tbGVmdDogIDNweDsgcGFkZGluZzogMCBAdG9vbHRpcC1hcnJvdy13aWR0aDsgfVxuICAmLmJvdHRvbSB7IG1hcmdpbi10b3A6ICAgM3B4OyBwYWRkaW5nOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGg7IH1cbn1cblxuLy8gV3JhcHBlciBmb3IgdGhlIHRvb2x0aXAgY29udGVudFxuLnRvb2x0aXAtaW5uZXIge1xuICBtYXgtd2lkdGg6IEB0b29sdGlwLW1heC13aWR0aDtcbiAgcGFkZGluZzogM3B4IDhweDtcbiAgY29sb3I6IEB0b29sdGlwLWNvbG9yO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0b29sdGlwLWJnO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1iYXNlO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLy8gTm90ZTogRGVwcmVjYXRlZCAudG9wLWxlZnQsIC50b3AtcmlnaHQsIC5ib3R0b20tbGVmdCwgYW5kIC5ib3R0b20tcmlnaHQgYXMgb2YgdjMuMy4xXG4udG9vbHRpcCB7XG4gICYudG9wIC50b29sdGlwLWFycm93IHtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG4gICYudG9wLWxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgbWFyZ2luLWJvdHRvbTogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLnRvcC1yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi1ib3R0b206IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoIDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aCAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcC1hcnJvdy13aWR0aCAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbSAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci13aWR0aDogMCBAdG9vbHRpcC1hcnJvdy13aWR0aCBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAdG9vbHRpcC1hcnJvdy1jb2xvcjtcbiAgfVxuICAmLmJvdHRvbS1sZWZ0IC50b29sdGlwLWFycm93IHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBib3JkZXItd2lkdGg6IDAgQHRvb2x0aXAtYXJyb3ctd2lkdGggQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXAtYXJyb3ctY29sb3I7XG4gIH1cbiAgJi5ib3R0b20tcmlnaHQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiBAdG9vbHRpcC1hcnJvdy13aWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXAtYXJyb3ctd2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwLWFycm93LXdpZHRoIEB0b29sdGlwLWFycm93LXdpZHRoO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEB0b29sdGlwLWFycm93LWNvbG9yO1xuICB9XG59XG4iLCIucmVzZXQtdGV4dCgpIHtcbiAgZm9udC1mYW1pbHk6IEBmb250LWZhbWlseS1iYXNlO1xuICAvLyBXZSBkZWxpYmVyYXRlbHkgZG8gTk9UIHJlc2V0IGZvbnQtc2l6ZS5cbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBsaW5lLWJyZWFrOiBhdXRvO1xuICBsaW5lLWhlaWdodDogQGxpbmUtaGVpZ2h0LWJhc2U7XG4gIHRleHQtYWxpZ246IGxlZnQ7IC8vIEZhbGxiYWNrIGZvciB3aGVyZSBgc3RhcnRgIGlzIG5vdCBzdXBwb3J0ZWRcbiAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4LXBvcG92ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1heC13aWR0aDogQHBvcG92ZXItbWF4LXdpZHRoO1xuICBwYWRkaW5nOiAxcHg7XG4gIC8vIE91ciBwYXJlbnQgZWxlbWVudCBjYW4gYmUgYXJiaXRyYXJ5IHNpbmNlIHBvcG92ZXJzIGFyZSBieSBkZWZhdWx0IGluc2VydGVkIGFzIGEgc2libGluZyBvZiB0aGVpciB0YXJnZXQgZWxlbWVudC5cbiAgLy8gU28gcmVzZXQgb3VyIGZvbnQgYW5kIHRleHQgcHJvcGVydGllcyB0byBhdm9pZCBpbmhlcml0aW5nIHdlaXJkIHZhbHVlcy5cbiAgLnJlc2V0LXRleHQoKTtcbiAgZm9udC1zaXplOiBAZm9udC1zaXplLWJhc2U7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogQHBvcG92ZXItYmc7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwb3BvdmVyLWZhbGxiYWNrLWJvcmRlci1jb2xvcjtcbiAgYm9yZGVyOiAxcHggc29saWQgQHBvcG92ZXItYm9yZGVyLWNvbG9yO1xuICBib3JkZXItcmFkaXVzOiBAYm9yZGVyLXJhZGl1cy1sYXJnZTtcbiAgLmJveC1zaGFkb3coMCA1cHggMTBweCByZ2JhKDAsMCwwLC4yKSk7XG5cbiAgLy8gT2Zmc2V0IHRoZSBwb3BvdmVyIHRvIGFjY291bnQgZm9yIHRoZSBwb3BvdmVyIGFycm93XG4gICYudG9wICAgICB7IG1hcmdpbi10b3A6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxuICAmLnJpZ2h0ICAgeyBtYXJnaW4tbGVmdDogQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5ib3R0b20gIHsgbWFyZ2luLXRvcDogQHBvcG92ZXItYXJyb3ctd2lkdGg7IH1cbiAgJi5sZWZ0ICAgIHsgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDsgfVxufVxuXG4ucG9wb3Zlci10aXRsZSB7XG4gIG1hcmdpbjogMDsgLy8gcmVzZXQgaGVhZGluZyBtYXJnaW5cbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogQGZvbnQtc2l6ZS1iYXNlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3Zlci10aXRsZS1iZztcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGRhcmtlbihAcG9wb3Zlci10aXRsZS1iZywgNSUpO1xuICBib3JkZXItcmFkaXVzOiAoQGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAoQGJvcmRlci1yYWRpdXMtbGFyZ2UgLSAxKSAwIDA7XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDtcbn1cblxuLy8gQXJyb3dzXG4vL1xuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXIgPiAuYXJyb3cge1xuICAmLFxuICAmOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgfVxufVxuLnBvcG92ZXIgPiAuYXJyb3cge1xuICBib3JkZXItd2lkdGg6IEBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xufVxuLnBvcG92ZXIgPiAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IEBwb3BvdmVyLWFycm93LXdpZHRoO1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4ucG9wb3ZlciB7XG4gICYudG9wID4gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyLWFycm93LW91dGVyLWZhbGxiYWNrLWNvbG9yOyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICBib3R0b206IC1AcG9wb3Zlci1hcnJvdy1vdXRlci13aWR0aDtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYm90dG9tOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLnJpZ2h0ID4gLmFycm93IHtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGxlZnQ6IDFweDtcbiAgICAgIGJvdHRvbTogLUBwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyLWFycm93LWNvbG9yO1xuICAgIH1cbiAgfVxuICAmLmJvdHRvbSA+IC5hcnJvdyB7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1mYWxsYmFjay1jb2xvcjsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItY29sb3I7XG4gICAgdG9wOiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3Zlci1hcnJvdy13aWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAmLmxlZnQgPiAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAtQHBvcG92ZXItYXJyb3ctb3V0ZXItd2lkdGg7XG4gICAgbWFyZ2luLXRvcDogLUBwb3BvdmVyLWFycm93LW91dGVyLXdpZHRoO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXItYXJyb3ctb3V0ZXItZmFsbGJhY2stY29sb3I7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1vdXRlci1jb2xvcjtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgcmlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAcG9wb3Zlci1hcnJvdy1jb2xvcjtcbiAgICAgIGJvdHRvbTogLUBwb3BvdmVyLWFycm93LXdpZHRoO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuLmNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8vIDFcbiAgICBkaXNwbGF5OiB0YWJsZTsgLy8gMlxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBDZW50ZXItYWxpZ24gYSBibG9jayBsZXZlbCBlbGVtZW50XG5cbi5jZW50ZXItYmxvY2soKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuIiwiLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vL1xuLy8gSGVhZHMgdXAhIHYzIGxhdW5jaGVkIHdpdGggb25seSBgLmhpZGUtdGV4dCgpYCwgYnV0IHBlciBvdXIgcGF0dGVybiBmb3Jcbi8vIG1peGlucyBiZWluZyByZXVzZWQgYXMgY2xhc3NlcyB3aXRoIHRoZSBzYW1lIG5hbWUsIHRoaXMgZG9lc24ndCBob2xkIHVwLiBBc1xuLy8gb2YgdjMuMC4xIHdlIGhhdmUgYWRkZWQgYC50ZXh0LWhpZGUoKWAgYW5kIGRlcHJlY2F0ZWQgYC5oaWRlLXRleHQoKWAuXG4vL1xuLy8gU291cmNlOiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9jb21taXQvYWEwMzk2ZWFlNzU3XG5cbi8vIERlcHJlY2F0ZWQgYXMgb2YgdjMuMC4xICh3aWxsIGJlIHJlbW92ZWQgaW4gdjQpXG4uaGlkZS10ZXh0KCkge1xuICBmb250OiB+XCIwLzBcIiBhO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xufVxuXG4vLyBOZXcgbWl4aW4gdG8gdXNlIGFzIG9mIHYzLjAuMVxuLnRleHQtaGlkZSgpIHtcbiAgLmhpZGUtdGV4dCgpO1xufVxuIiwiLy9cbi8vIFJlc3BvbnNpdmU6IFV0aWxpdHkgY2xhc3Nlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBJRTEwIGluIFdpbmRvd3MgKFBob25lKSA4XG4vL1xuLy8gU3VwcG9ydCBmb3IgcmVzcG9uc2l2ZSB2aWV3cyB2aWEgbWVkaWEgcXVlcmllcyBpcyBraW5kIG9mIGJvcmtlZCBpbiBJRTEwLCBmb3Jcbi8vIFN1cmZhY2UvZGVza3RvcCBpbiBzcGxpdCB2aWV3IGFuZCBmb3IgV2luZG93cyBQaG9uZSA4LiBUaGlzIHBhcnRpY3VsYXIgZml4XG4vLyBtdXN0IGJlIGFjY29tcGFuaWVkIGJ5IGEgc25pcHBldCBvZiBKYXZhU2NyaXB0IHRvIHNuaWZmIHRoZSB1c2VyIGFnZW50IGFuZFxuLy8gYXBwbHkgc29tZSBjb25kaXRpb25hbCBDU1MgdG8gKm9ubHkqIHRoZSBTdXJmYWNlL2Rlc2t0b3AgV2luZG93cyA4LiBMb29rIGF0XG4vLyBvdXIgR2V0dGluZyBTdGFydGVkIHBhZ2UgZm9yIG1vcmUgaW5mb3JtYXRpb24gb24gdGhpcyBidWcuXG4vL1xuLy8gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSB0aGUgZm9sbG93aW5nOlxuLy9cbi8vIElzc3VlOiBodHRwczovL2dpdGh1Yi5jb20vdHdicy9ib290c3RyYXAvaXNzdWVzLzEwNDk3XG4vLyBEb2NzOiBodHRwOi8vZ2V0Ym9vdHN0cmFwLmNvbS9nZXR0aW5nLXN0YXJ0ZWQvI3N1cHBvcnQtaWUxMC13aWR0aFxuLy8gU291cmNlOiBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEzLzAxL3dpbmRvd3MtcGhvbmUtOC1hbmQtZGV2aWNlLXdpZHRoL1xuLy8gU291cmNlOiBodHRwOi8vdGlta2FkbGVjLmNvbS8yMDEyLzEwL2llMTAtc25hcC1tb2RlLWFuZC1yZXNwb25zaXZlLWRlc2lnbi9cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG59XG5cblxuLy8gVmlzaWJpbGl0eSB1dGlsaXRpZXNcbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUteHMsIC52aXNpYmxlLXNtLCAudmlzaWJsZS1tZCwgYW5kIC52aXNpYmxlLWxnIGFzIG9mIHYzLjIuMFxuLnZpc2libGUteHMsXG4udmlzaWJsZS1zbSxcbi52aXNpYmxlLW1kLFxuLnZpc2libGUtbGcge1xuICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbn1cblxuLnZpc2libGUteHMtYmxvY2ssXG4udmlzaWJsZS14cy1pbmxpbmUsXG4udmlzaWJsZS14cy1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1zbS1ibG9jayxcbi52aXNpYmxlLXNtLWlubGluZSxcbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayxcbi52aXNpYmxlLW1kLWJsb2NrLFxuLnZpc2libGUtbWQtaW5saW5lLFxuLnZpc2libGUtbWQtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtbGctYmxvY2ssXG4udmlzaWJsZS1sZy1pbmxpbmUsXG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52aXNpYmxlLXhzIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBzY3JlZW4teHMtbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpO1xuICB9XG59XG4udmlzaWJsZS14cy1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZSB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS14cy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1heC13aWR0aDogQHNjcmVlbi14cy1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udmlzaWJsZS1zbSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpO1xuICB9XG59XG4udmlzaWJsZS1zbS1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tc20tbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtc20taW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtc20taW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udmlzaWJsZS1tZCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpO1xuICB9XG59XG4udmlzaWJsZS1tZC1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbWQtaW5saW5lIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbWQtaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udmlzaWJsZS1sZyB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLWxnLW1pbikge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtbGctYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtbGctaW5saW5lLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tbGctbWluKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbi14cyB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiBAc2NyZWVuLXhzLW1heCkge1xuICAgIC5yZXNwb25zaXZlLWludmlzaWJpbGl0eSgpO1xuICB9XG59XG4uaGlkZGVuLXNtIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6IEBzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogQHNjcmVlbi1zbS1tYXgpIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuLmhpZGRlbi1tZCB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiBAc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6IEBzY3JlZW4tbWQtbWF4KSB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbi5oaWRkZW4tbGcge1xuICBAbWVkaWEgKG1pbi13aWR0aDogQHNjcmVlbi1sZy1taW4pIHtcbiAgICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcbiAgfVxufVxuXG5cbi8vIFByaW50IHV0aWxpdGllc1xuLy9cbi8vIE1lZGlhIHF1ZXJpZXMgYXJlIHBsYWNlZCBvbiB0aGUgaW5zaWRlIHRvIGJlIG1peGluLWZyaWVuZGx5LlxuXG4vLyBOb3RlOiBEZXByZWNhdGVkIC52aXNpYmxlLXByaW50IGFzIG9mIHYzLjIuMFxuLnZpc2libGUtcHJpbnQge1xuICAucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKTtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5yZXNwb25zaXZlLXZpc2liaWxpdHkoKTtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUtcHJpbnQtaW5saW5lLWJsb2NrIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLmhpZGRlbi1wcmludCB7XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLnJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCk7XG4gIH1cbn1cbiIsIi8vIFJlc3BvbnNpdmUgdXRpbGl0aWVzXG5cbi8vXG4vLyBNb3JlIGVhc2lseSBpbmNsdWRlIGFsbCB0aGUgc3RhdGVzIGZvciByZXNwb25zaXZlLXV0aWxpdGllcy5sZXNzLlxuLnJlc3BvbnNpdmUtdmlzaWJpbGl0eSgpIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgdGFibGUmICB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdHImICAgICB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRoJixcbiAgdGQmICAgICB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxufVxuXG4ucmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoKSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cbiIsIi8qIE9wZW4gU2FucyBAZm9udC1mYWNlIGtpdCAqL1xyXG5cclxuQGZvbnQtcGF0aDogICAgICcuLi92ZW5kb3Ivb3Blbi1zYW5zLWZvbnRmYWNlL2ZvbnRzJztcclxuXHJcbi8qIEJFR0lOIExpZ2h0ICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcclxuICBzcmM6IHVybCgnQHtmb250LXBhdGh9L0xpZ2h0L09wZW5TYW5zLUxpZ2h0LmVvdCcpO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vTGlnaHQvT3BlblNhbnMtTGlnaHQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L0xpZ2h0L09wZW5TYW5zLUxpZ2h0LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L0xpZ2h0L09wZW5TYW5zLUxpZ2h0LnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L0xpZ2h0L09wZW5TYW5zLUxpZ2h0LnN2ZyNPcGVuU2Fuc0xpZ2h0JykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4vKiBFTkQgTGlnaHQgKi9cclxuXHJcbi8qIEJFR0lOIFJlZ3VsYXIgKi9cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdPcGVuIFNhbnMnO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vUmVndWxhci9PcGVuU2Fucy1SZWd1bGFyLmVvdCcpO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vUmVndWxhci9PcGVuU2Fucy1SZWd1bGFyLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICB1cmwoJ0B7Zm9udC1wYXRofS9SZWd1bGFyL09wZW5TYW5zLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vUmVndWxhci9PcGVuU2Fucy1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L1JlZ3VsYXIvT3BlblNhbnMtUmVndWxhci5zdmcjT3BlblNhbnNSZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogNDAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4vKiBFTkQgUmVndWxhciAqL1xyXG5cclxuLyogQkVHSU4gSXRhbGljICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcclxuICBzcmM6IHVybCgnQHtmb250LXBhdGh9L0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMuZW90Jyk7XHJcbiAgc3JjOiB1cmwoJ0B7Zm9udC1wYXRofS9JdGFsaWMvT3BlblNhbnMtSXRhbGljLmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXHJcbiAgICAgICB1cmwoJ0B7Zm9udC1wYXRofS9JdGFsaWMvT3BlblNhbnMtSXRhbGljLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L0l0YWxpYy9PcGVuU2Fucy1JdGFsaWMudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxyXG4gICAgICAgdXJsKCdAe2ZvbnQtcGF0aH0vSXRhbGljL09wZW5TYW5zLUl0YWxpYy5zdmcjT3BlblNhbnNJdGFsaWMnKSBmb3JtYXQoJ3N2ZycpO1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG59XHJcbi8qIEVORCBJdGFsaWMgKi9cclxuXHJcbi8qIEJFR0lOIFNlbWlib2xkICovXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnT3BlbiBTYW5zJztcclxuICBzcmM6IHVybCgnQHtmb250LXBhdGh9L1NlbWlib2xkL09wZW5TYW5zLVNlbWlib2xkLmVvdCcpO1xyXG4gIHNyYzogdXJsKCdAe2ZvbnQtcGF0aH0vU2VtaWJvbGQvT3BlblNhbnMtU2VtaWJvbGQuZW90PyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L1NlbWlib2xkL09wZW5TYW5zLVNlbWlib2xkLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L1NlbWlib2xkL09wZW5TYW5zLVNlbWlib2xkLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuICAgICAgIHVybCgnQHtmb250LXBhdGh9L1NlbWlib2xkL09wZW5TYW5zLVNlbWlib2xkLnN2ZyNPcGVuU2Fuc1NlbWlib2xkJykgZm9ybWF0KCdzdmcnKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG4vKiBFTkQgU2VtaWJvbGQgKi9cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxheW91dC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vXHJcbi8vIFRoaXMgZmlsZSBjb250cm9scyB0aGUgcHJlc2VudGF0aW9uIG9mIGFsbCBjb21wb25lbnRzXHJcbi8vIFByb3Bvc2VkIG1hcmt1cCBcclxuLy8gIC5hcHAtY29udGFpbmVyXHJcbi8vICAgID4gaGVhZGVyXHJcbi8vICAgICAgIyB0b3BuYXZiYXJcclxuLy8gICAgPiBhc2lkZVxyXG4vLyAgICAgICMgc2lkZWJhclxyXG4vLyAgICA+IHNlY3Rpb25cclxuLy8gICAgICA+IC5hcHBcclxuLy8gICAgPiBmb290ZXJcclxuLy9cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQGFzaWRlLXdkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjIwcHg7XHJcbkBhc2lkZS13ZC1jb2xsYXBzZWQ6ICAgICAgICAgICAgICAgICAgICAgIDY1cHg7XHJcblxyXG5AaGVhZGVyLWhnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBAbmF2YmFyLWhlaWdodDtcclxuQGZvb3Rlci1oZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgNjBweDtcclxuQGNvbnRlbnQtcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgMTVweDtcclxuXHJcbkBib3hlZC1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgICAgICAgICAgIDExNDBweDtcclxuXHJcbkB6LWluZGV4LXNlY3Rpb246ICAgICAgICAgICAgICAgICAgICAgICAgIDExMDtcclxuQHotaW5kZXgtaGVhZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgQHotaW5kZXgtc2VjdGlvbiArIDMwMDtcclxuQHotaW5kZXgtYXNpZGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgQHotaW5kZXgtc2VjdGlvbiArIDIwMDtcclxuQHotaW5kZXgtZm9vdGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgQHotaW5kZXgtc2VjdGlvbiArIDEwMDtcclxuXHJcbmh0bWwge1xyXG4gIC8qIEByZXBsYWNlIHJ0bCAqLyBkaXJlY3Rpb246IGx0cjtcclxuICAtbXMtdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IC8vIGh0dHA6Ly91cGRhdGVzLmh0bWw1cm9ja3MuY29tLzIwMTMvMTIvMzAwbXMtdGFwLWRlbGF5LWdvbmUtYXdheVxyXG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xyXG59XHJcblxyXG5odG1sLCBib2R5IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbn1cclxuYm9keSB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4vLyBNYWluIHdyYXBwZXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLmFwcC1jb250YWluZXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtaW4taGVpZ2h0OiAxMDAlO1xyXG4gIGhlaWdodDogYXV0bztcclxuICAudHJhbnNpdGlvbihhbGwgLjNzIGN1YmljLWJlemllciguMjMsMSwuMzIsMSkpO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBcclxuICAmLm5nLWxlYXZlIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIFxyXG4gID4gaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHotaW5kZXg6IEB6LWluZGV4LWhlYWRlcjtcclxuICB9XHJcblxyXG4gIC8vIENvbnRhaW5zIHRoZSBtYWluIHNpZGViYXJcclxuICA+IGFzaWRlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogQGhlYWRlci1oZztcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICB3aWR0aDogQGFzaWRlLXdkO1xyXG4gICAgLy8gcGFkZGluZy10b3A6IEBoZWFkZXItaGc7XHJcbiAgICB6LWluZGV4OiBAei1pbmRleC1hc2lkZTtcclxuICB9XHJcblxyXG4gIC8vIENvbnRhaW5zIHRoZSBtYWluIGNvbnRlbnRcclxuICA+IHNlY3Rpb24ge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgei1pbmRleDogQHotaW5kZXgtc2VjdGlvbjtcclxuICB9XHJcblxyXG4gIC8vIFBhZ2UgRm9vdGVyXHJcbiAgPiBmb290ZXIge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgaGVpZ2h0OiBAZm9vdGVyLWhnO1xyXG4gICAgcGFkZGluZzogQGNvbnRlbnQtcGFkZGluZztcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBib2R5LWJnO1xyXG4gICAgei1pbmRleDogQHotaW5kZXgtZm9vdGVyO1xyXG4gICAgPiBwIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgLy8gbW92ZSBhbGwgdG8gcGxhY2UgdGhlIHNpZGViYXJcclxuICAgID4gc2VjdGlvbixcclxuICAgID4gZm9vdGVyIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IEBhc2lkZS13ZDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcblxyXG5cclxuLy8gQXBwIG1haW4gY29udGVudCAod2hlcmUgdGhlIHZpZXcgbG9hZHMpXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5hcHAge1xyXG4gIHBhZGRpbmc6IEBjb250ZW50LXBhZGRpbmc7XHJcbiAgcGFkZGluZy1ib3R0b206IEBmb290ZXItaGcgKyAyMDsgLy8gZW5zdXJlIGEgc3BhY2UgZm9yIHRoZSBmb290ZXJcclxuICB3aWR0aDogMTAwJTtcclxuICBcclxuICA+IGgzIHtcclxuICAgIC5jbGVhcmZpeDtcclxuICAgIC8vIGNvbG9yOiBAYnJhbmQtaW5mbztcclxuICAgIG1hcmdpbjogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLy8gZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgID4gc21hbGwge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgICBjb2xvcjogQHRleHQtbXV0ZWQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAyO1xyXG4gICAgfVxyXG4gIH1cclxuICA+IGJ1dHRvbiwgPiAuYnRuIHtcclxuICAgIG1hcmdpbjogMTBweCAxMHB4IDAgMDtcclxuICB9XHJcbiAgXHJcbiAgLmNvbnRhaW5lcixcclxuICAuY29udGFpbmVyLWZsdWlkIHtcclxuICAgIHBhZGRpbmctbGVmdDogMDtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICA+IGJ1dHRvbiwgPiAuYnRuIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICAvLyBleHBhbmQgb3ZlciB3cmFwcGVyIHBhZGRpbmdcclxuICA+IC51bndyYXAge1xyXG4gICAgbWFyZ2luOiAtQGNvbnRlbnQtcGFkZGluZzsgXHJcbiAgfVxyXG5cclxufVxyXG5cclxuLy8gQXNpZGUgdG9nZ2xlZCBsYXlvdXRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBtZWRpYSBAdXB0by10YWJsZXQge1xyXG4gIFxyXG4gIC5uby1jc3N0cmFuc2Zvcm1zM2Qge1xyXG4gICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICA+IGFzaWRlIHtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLUBhc2lkZS13ZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICAgID4gc2VjdGlvbixcclxuICAgICAgICA+IGZvb3RlciB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogQGFzaWRlLXdkO1xyXG4gICAgICAgIH1cclxuICAgICAgICA+IGFzaWRlIHtcclxuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmNzc3RyYW5zZm9ybXMzZCAge1xyXG5cclxuICAgIC5hcHAtY29udGFpbmVyIHtcclxuICAgICAgLmJhY2tmYWNlLXZpc2liaWxpdHkoaGlkZGVuKTtcclxuICAgICAgLy8gPiBoZWFkZXIsXHJcbiAgICAgID4gc2VjdGlvbixcclxuICAgICAgPiBmb290ZXIge1xyXG4gICAgICAgIC50cmFuc2xhdGUzZCgwLDAsMCk7XHJcbiAgICAgICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKC4zcyBlYXNlKTtcclxuICAgICAgfVxyXG4gICAgICA+IGFzaWRlIHtcclxuICAgICAgICB0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xyXG4gICAgICAgIC50cmFuc2xhdGUzZCgtQGFzaWRlLXdkLDAsMCk7XHJcbiAgICAgICAgLnRyYW5zaXRpb24tdHJhbnNmb3JtKC4zcyBlYXNlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC5hc2lkZS10b2dnbGVkIHtcclxuICAgICAgLmFwcC1jb250YWluZXIge1xyXG4gICAgICAgIC8vID4gaGVhZGVyLFxyXG4gICAgICAgID4gc2VjdGlvbixcclxuICAgICAgICA+IGZvb3RlciB7XHJcbiAgICAgICAgICAudHJhbnNsYXRlM2QoQGFzaWRlLXdkLDAsMCk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgID4gYXNpZGUge1xyXG4gICAgICAgICAgLnRyYW5zbGF0ZTNkKDAsMCwwKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEFzaWRlIHRvZ2dsZWQgbGF5b3V0XHJcbi8vIE9uIGRlc2t0b3AgYWN0cyBsaWtlIGNvbmRlbnNlZFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyBBc2lkZSBzdGF0dXMgdG9nZ2xlZCB2aWEgSlNcclxuLmFzaWRlLWNvbGxhcHNlZCB7XHJcbiAgLmhpZGRlbi1jb2xsYXBzZWQge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSBAdGFibGV0IHtcclxuICAgIC5hcHAtY29udGFpbmVyIHtcclxuICAgICAgPiBhc2lkZSB7XHJcbiAgICAgICAgd2lkdGg6IEBhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICAgIH1cclxuICAgICAgPiBzZWN0aW9uLFxyXG4gICAgICA+IGZvb3RlciB7XHJcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIEZpeGVkIGxheW91dFxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4ubGF5b3V0LWZpeGVkIHtcclxuXHJcbiAgQG1lZGlhIChtYXgtd2lkdGg6IEBib3hlZC1tYXgtd2lkdGgpIHtcclxuICAgICYuYXNpZGUtdG9nZ2xlZCB7XHJcbiAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5hcHAtY29udGFpbmVyIHtcclxuICAgID4gYXNpZGUsXHJcbiAgICA+IGhlYWRlciB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgQGRlc2t0b3Age1xyXG4gICAgICA+IGFzaWRlIHtcclxuICAgICAgICAvKiBzYWZhcmkgZml4ICovXHJcbiAgICAgICAgaGVpZ2h0OiAxcHg7XHJcbiAgICAgICAgbWluLWhlaWdodDogMTAwJTtcclxuICAgICAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgPiBoZWFkZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgID4gc2VjdGlvbiB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiBAaGVhZGVyLWhnO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLy8gQm94ZWQgbGF5b3V0XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi5sYXlvdXQtYm94ZWQge1xyXG4gIC5hcHAtY29udGFpbmVyIHtcclxuICAgIG1heC13aWR0aDogQGJveGVkLW1heC13aWR0aDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIFxyXG5cclxuICAgID4gYXNpZGUge1xyXG4gICAgICBsZWZ0OiBpbmhlcml0O1xyXG4gICAgfVxyXG4gICAgPiBoZWFkZXIge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgbWF4LXdpZHRoOiBAYm94ZWQtbWF4LXdpZHRoO1xyXG4gICAgfVxyXG4gIH1cclxuICAvLyBzdHlsZSBjb250YWluZXIgd2hlbiBkaXNwbGF5IG9ubHkgYXBwIHZpZXdzXHJcbiAgLy8gZG9lbnMndCBhZmZlY3QgcGFnZSBzdHlsZSAobG9naW4sIGxvY2ssIGV0YylcclxuICAmLmluLWFwcCAuYXBwLWNvbnRhaW5lciB7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMTNweCByZ2JhKDAsMCwwLC4yNSk7XHJcbiAgfVxyXG5cclxuICAuaGlkZGVuLWJveGVkIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIC5mdy1ib3hlZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdG9wLW5hdmJhci5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbkBuYXYtaGVhZGVyLXdkOiAgICAgICAgICAgICAgICAgQGFzaWRlLXdkO1xyXG5AbmF2LWhlYWRlci13ZC1jb2xsYXBzZWQ6ICAgICAgIEBhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcblxyXG5cclxuLy8gTmF2YmFyIE1vYmlsZSBHZW5lcmFsIHN0eWxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi50b3BuYXZiYXIge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4ZXMgY2hyb21lIGp1bXAgKi9cclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgwLDAsMCwwKTtcclxuICAudHJhbnNpdGlvbihib3gtc2hhZG93IC4ycyBlYXNlKTtcclxuXHJcbiAgLy8gTmF2YmFyIEhlYWRlciAobG9nbylcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuICA+IC5uYXZiYXItaGVhZGVyIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgIHdpZHRoOiBAbmF2LWhlYWRlci13ZDtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICAgei1pbmRleDogMTsgLy8gb3ZlcmxhcHMgd3JhcHBlclxyXG4gICAgfVxyXG5cclxuICAgID4gLm5hdmJhci1icmFuZCB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA1cHg7IFxyXG4gICAgICBmbG9hdDogbm9uZTtcclxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgd2lkdGg6IGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gRGlmZmVyZW50IExvZ28gc2l6ZSBkZXBlbmRzIG9uIHRoZSBuYXZiYXIgc3RhdGVcclxuICAgIC5icmFuZC1sb2dvIHsgXHJcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgXHJcbiAgICAgICYtY29sbGFwc2VkIHsgXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgIC5hc2lkZS1jb2xsYXBzZWQgJiB7XHJcbiAgICAgICAgd2lkdGg6IEBuYXYtaGVhZGVyLXdkLWNvbGxhcHNlZDtcclxuICAgICAgICAuYnJhbmQtbG9nbyB7IFxyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgXHJcbiAgICAgICAgICAmLWNvbGxhcHNlZCB7IFxyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIHJlbG9jYXRlIHBvaW50cyBmb3Igc2luZ2xlIG5vdGlmaWNhdGlvbnNcclxuXHJcbiAgLm5hdiA+IGxpID4gYSAucG9pbnQtcGluIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgID4gLnBvaW50IHtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgcmlnaHQ6IC01cHg7XHJcbiAgICAgIGJvdHRvbTogYXV0bztcclxuICAgICAgdG9wOiAtNXB4O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gTW9iaWxlIGJ1dHRvbiB0b2dnbGVzXHJcbiAgLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXHJcbiAgLm1vYmlsZS10b2dnbGVzIHtcclxuICAgIC5jbGVhcmZpeCgpO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XHJcbiAgICByaWdodDogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBoZWlnaHQ6IEBoZWFkZXItaGc7XHJcbiAgICBwYWRkaW5nOiAxMHB4O1xyXG5cclxuICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gT2ZmY2FudmFzIHNpZGViYXIgJlxyXG4gIC8vIHNsaWRlIGRvd24gbWVudSB0b2dnbGUgYnV0dG9uXHJcbiAgLnNpZGViYXItdG9nZ2xlLFxyXG4gIC5tZW51LXRvZ2dsZSB7XHJcbiAgICBmb250LXNpemU6IDI0cHg7XHJcbiAgICBjb2xvcjogd2hpdGU7XHJcbiAgICB6LWluZGV4OiAzMDAxO1xyXG4gIH1cclxuICAuc2lkZWJhci10b2dnbGUge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgfVxyXG4gIC5tZW51LXRvZ2dsZSB7XHJcbiAgICBmbG9hdDogcmlnaHQ7XHJcbiAgfVxyXG5cclxuICAvLyBOYXZiYXIgaXRlbXMgc2hhZG93IHN0eWxlXHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgLm5hdiA+IGxpID4gYSB7XHJcbiAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGZhZGUoQGJyYW5kLWludmVyc2UsIDUpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuXHJcbn1cclxuLy8gU2VhcmNoIGZvcm1cclxuLnNlYXJjaC1mb3JtIHtcclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gIH1cclxuICAuaWU5ICYge1xyXG4gICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4vLyBjb250YWlucyBlbGVtZW50cyBiZWxvdyBoZWFkZXJcclxuLm5hdi13cmFwcGVyIHtcclxuICBwYWRkaW5nOiAwIDE1cHg7XHJcbiAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwwLDAsLjEpO1xyXG5cclxuICAvLyB3aGVuIGNvbGxhcHNlIGlzIG9wZW5lZFxyXG4gICYuaW4ge1xyXG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XHJcbiAgfVxyXG5cclxuICAvLyBmdWxsd2lkdGggZHJvcGRvd25zXHJcbiAgLm5hdmJhci1uYXYgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogcmdiKDI1NSwgMjU1LCAyNTUpO1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgcmlnaHQ6IDBweDtcclxuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTFlMWUxO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUxZTE7XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAuY2xlYXJmaXgoKTtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcbiAgICAvLyByZXN0b3JlIG9wZW5lZCBkcm9wZG93biBcclxuICAgIC5uYXZiYXItbmF2IC5vcGVuIC5kcm9wZG93bi1tZW51IHtcclxuICAgICAgbGVmdDogYXV0bztcclxuICAgICAgcmlnaHQ6IGF1dG87XHJcbiAgICB9XHJcbiAgICAubmF2YmFyLW5hdi5uYXZiYXItcmlnaHQgLm9wZW4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgICBsZWZ0OiBhdXRvO1xyXG4gICAgICByaWdodDogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2lkZWJhci5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbkBzdWJtZW51LWhlYWRlci1oZzogICAgICAgICAgICAgICA0MHB4OyAgIC8vIFN1Ym1lbnUgaGVhZGVyIHdoZW4gaG92ZXIgY29sbGFwc2Ugc2lkZWJhclxyXG5Ac2Nyb2xsYmFyLXdkOiAgICAgICAgICAgICAgICAgICAgMTdweDtcclxuXHJcbkB6LWluZGV4LWJhY2tkcm9wOiAgICAgICAgICAgICAgICBAei1pbmRleC1hc2lkZSAtIDEwO1xyXG5Aei1pbmRleC1mbG9hdC1uYXY6ICAgICAgICAgICAgICAgQHotaW5kZXgtYmFja2Ryb3AgKyAxO1xyXG5cclxuLnNpZGViYXItd3JhcHBlciB7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0OyAgXHJcbiAgaHIge1xyXG4gICAgbWFyZ2luOiAxMHB4IDVweDtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwwLDAsLjE1KTtcclxuICB9XHJcblxyXG4gIC5kcm9wZG93bi1iYWNrZHJvcCB7XHJcbiAgICBsZWZ0OiBAYXNpZGUtd2QtY29sbGFwc2VkO1xyXG4gICAgei1pbmRleDogQHotaW5kZXgtYmFja2Ryb3A7XHJcbiAgfVxyXG59XHJcblxyXG4uc2lkZWJhciB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBtYXJnaW4tcmlnaHQ6IC1Ac2Nyb2xsYmFyLXdkOyAgLy8gaGlkZXMgdGhlIHNjcm9sbGJhclxyXG4gIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IGluaGVyaXQ7XHJcbiAgJjphZnRlciB7IGNvbnRlbnQ6IFwiXCI7fVxyXG4gIC5uYXYtaGVhZGluZyB7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XHJcbiAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC4wMzVlbTtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gICAgY3Vyc29yOiBkZWZhdWx0O1xyXG4gIH1cclxuXHJcbiAgLnNpZGViYXItYnV0dG9ucyB7XHJcbiAgICBmbG9hdDogbGVmdDtcclxuICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcclxuICAgIHdpZHRoOiBAYXNpZGUtd2Q7XHJcblxyXG5cclxuXHJcbiAgICAuYnRuLXNpZGViYXIge1xyXG4gICAgICAvLyBAc3o6IDQwcHg7XHJcbiAgICAgIC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICAgLy8gaGVpZ2h0OiBAc3o7XHJcbiAgICAgIC8vIHdpZHRoOiBAc3o7XHJcbiAgICAgIC8vIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgICAvLyBsaW5lLWhlaWdodDogQHN6O1xyXG4gICAgICAvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgPiAuc2lkZWJhci1uYXYge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAvLyBsZXZlbCAxXHJcbiAgICA+IC5uYXYge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICA+IGxpIHtcclxuICAgICAgICA+IGEge1xyXG4gICAgICAgICAgcGFkZGluZzogMTJweCAxNXB4O1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4wMjVlbTtcclxuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cclxuICAgICAgICAgICY6Zm9jdXMsICY6aG92ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgLy8gSXRlbSBpY29uXHJcbiAgICAgICAgICA+IC5zaWRlYmFyLWl0ZW0taWNvbiB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxLjdlbTtcclxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSAvLyBzaWRlYmFyLW5hdiBcclxufVxyXG5cclxuXHJcbi5zaWRlYmFyLXNsaWRlLXRlbXBsYXRlIHtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gICYubmF2LXNsaWRlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLy8gU3ViIExldmVsc1xyXG4uc2lkZWJhci1zdWJuYXYge1xyXG4gXHJcbiAgPiAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICBwYWRkaW5nOiAxMnB4IDE1cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICA+IGEge1xyXG4gICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gID4gbGkgIHtcclxuICAgID4gYSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHggMjBweDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xyXG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgfVxyXG4gIH0gLy8gbGlcclxuXHJcbiAgLy8gVGhpcyBvbmx5IGhhcHBlbnMgd2hlbiBzaWRlYmFyIGlzIGNvbGxhcHNlZCBhbmQgdGhlIHN1Ym1lbnVcclxuICAvLyB2aXNpYmlsaXR5IGlzIHRvZ2dsZWQgdmlhIGpzXHJcbiAgJi5uYXYtZmxvYXRpbmcge1xyXG4gICAgLy8gcG9zaXRpb246IGhhbmRsZWQgZnJvbSBkaXJlY3RpdmVcclxuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcbiAgICBsZWZ0OiBpbmhlcml0O1xyXG4gICAgbWFyZ2luLWxlZnQ6IEBhc2lkZS13ZC1jb2xsYXBzZWQ7XHJcbiAgICBtaW4td2lkdGg6IDE5MHB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwwLjE1KTtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgei1pbmRleDogQHotaW5kZXgtZmxvYXQtbmF2O1xyXG5cclxuICAgID4gLnNpZGViYXItc3VibmF2LWhlYWRlciB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gICAgPiBsaSA+IGEge1xyXG4gICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xyXG4gICAgICA+IGVtIHtcclxuICAgICAgICAvLyBoaWRlIGhlYWRlciBpY29uIHdoZW4gY29sbGFwc2VkXHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gVGhpcyBvbmx5IGhhcHBlbnMgd2hlbiBzaWRlYmFyIGhhcyBzbGlkZSBtb2RlIG9uXHJcbiAgJi5uYXYtc2xpZGUge1xyXG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZSAhaW1wb3J0YW50O1xyXG4gICAgPiBsaSA+IGEge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XHJcbiAgICB9XHJcbiAgICAuc2lkZWJhci1zdWJuYXYtaGVhZGVyIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIFNpZGViYXIgc2xpZGUgYW5pbWF0aW9uXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuLnNpZGViYXIge1xyXG5cclxuICBtYXJnaW4tbGVmdDogMDtcclxuICAudHJhbnNpdGlvbihtYXJnaW4tbGVmdCAuM3MgZWFzZSk7XHJcblxyXG4gICYuc2lkZWJhci1zbGlkZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogLUBhc2lkZS13ZDtcclxuICB9XHJcblxyXG4gID4gLnNpZGViYXItbmF2IHtcclxuICAgIC5jbGVhcmZpeCgpO1xyXG4gICAgd2lkdGg6IChAYXNpZGUtd2QgKiAyKSArIChAc2Nyb2xsYmFyLXdkKTtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxuICAgID4gLm5hdixcclxuICAgIC5uYXYtc2xpZGUge1xyXG4gICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgd2lkdGg6IEBhc2lkZS13ZDtcclxuICAgIH1cclxuICAgID4gLm5hdiB7XHJcbiAgICAgIGNsZWFyOiBsZWZ0O1xyXG4gICAgfVxyXG4gICAgLm5hdi1zbGlkZSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiBAc2Nyb2xsYmFyLXdkO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi8vIERlc2t0b3Agc3R5bGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQG1lZGlhIEB0YWJsZXQge1xyXG4gIFxyXG4gIC5zaWRlYmFyID4gLnNpZGViYXItbmF2ID4gLm5hdiB7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xyXG4gICAgLmxhYmVsLFxyXG4gICAgLnNpZGViYXItaXRlbS1jYXJldCB7XHJcbiAgICAgIG1hcmdpbjogMnB4IDAgMCAwO1xyXG4gICAgfVxyXG4gICAgLnNpZGViYXItaXRlbS1jYXJldCArIC5sYWJlbCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xyXG4gICAgfVxyXG5cclxuICB9XHJcbiAgXHJcbiAgLy8gQ29sbGFwc2VkIHN0YXRlIHN0eWxlc1xyXG4gIC5hc2lkZS1jb2xsYXBzZWQge1xyXG5cclxuICAgIC5oaWRkZW4tc2lkZWJhci1jb2xsYXBzZWQsXHJcbiAgICAuc2lkZWJhci1idXR0b25zLFxyXG4gICAgLnNpZGViYXItaXRlbS1jYXJldCB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGViYXIge1xyXG4gICAgICAvLyBBcHBsaWVzIHRvIGZpcnN0IGxldmVsIGl0ZW1zXHJcbiAgICAgID4gLnNpZGViYXItbmF2ID4gLm5hdiB7XHJcbiAgICAgICAgXHJcbiAgICAgICAgLm5hdiwgXHJcbiAgICAgICAgPiAubmF2LWhlYWRpbmcsXHJcbiAgICAgICAgPiBsaSA+IGEgPiBzcGFuIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gbGkge1xyXG4gICAgICAgICAgd2lkdGg6IEBhc2lkZS13ZC1jb2xsYXBzZWQgLSAxO1xyXG4gICAgICAgICAgPiBhIHtcclxuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA+IC5zaWRlYmFyLWl0ZW0taWNvbiB7XHJcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjZlbTsgLy8gaW5jcmVhc2UgaWNvbnMgc2l6ZVxyXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICY6Zm9jdXMgeyAvLyBhY2Nlc3NpYmlsaXR5XHJcbiAgICAgICAgICAgICAgPiAuc2lkZWJhci1pdGVtLWljb24geyBcclxuICAgICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0OyBcclxuICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC8vIGxhYmVscyBpbiBtZW51IGl0ZW1zXHJcbiAgICAgIC5uYXYge1xyXG4gICAgICAgIC5sYWJlbCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB0b3A6IDEwcHg7IFxyXG4gICAgICAgICAgcmlnaHQ6IDVweDtcclxuICAgICAgICAgIHRleHQtaW5kZW50OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgIH0gLy8gLnNpZGViYXJcclxuICB9IC8vIC5hc2lkZS1jb2xsYXBzZWRcclxufSAvLyBAbWVkaWEgQGRlc2t0b3BcclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGJ1dHRvbi1leHRyYS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gU3RhbmRhcmQgYnV0dG9ucyByZWRlc2lnblxyXG5cclxuLmJ0biB7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuICAudHJhbnNpdGlvbihhbGwgLjFzKTtcclxuXHJcbiAgJi5idG4tbGluayB7XHJcbiAgICAuYm94LXNoYWRvdygwIDAgMCAjMDAwKSAhaW1wb3J0YW50O1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gIH1cclxuICAmLmJ0bi1kZWZhdWx0IHtcclxuICAgIGJvcmRlci1jb2xvcjogQGJ0bi1kZWZhdWx0LWJvcmRlcjtcclxuICB9XHJcbiBcclxuICAuaW5wdXQtZ3JvdXAgLmlucHV0LXNtICsgLmlucHV0LWdyb3VwLWJ0biAmIHtcclxuICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICB9XHJcbiAgJjphY3RpdmUsXHJcbiAgJi5hY3RpdmUge1xyXG4gICAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSkpO1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1ncm91cC5vcGVuIC5kcm9wZG93bi10b2dnbGUge1xyXG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTUpKTtcclxufVxyXG5cclxuXHJcbi8vIFxyXG4vLyBFeHRlbnNpb24gZm9yIEJvb3RzdHJhcCBidXR0b25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gTmV3IGNvbG9yc1xyXG5cclxuLmJ0bi1pbnZlcnNlICAgeyAuYnV0dG9uLXZhcmlhbnQoI2ZmZjsgQGJyYW5kLWludmVyc2U7IEBicmFuZC1pbnZlcnNlKTsgfVxyXG4uYnRuLXR1cnF1b2lzZSB7IC5idXR0b24tdmFyaWFudCgjZmZmOyBAYnJhbmQtdHVycXVvaXNlOyB0cmFuc3BhcmVudDspOyB9XHJcbi5idG4tcHVycGxlICAgIHsgLmJ1dHRvbi12YXJpYW50KCNmZmY7IEBicmFuZC1wdXJwbGU7IHRyYW5zcGFyZW50Oyk7ICAgIH1cclxuLmJ0bi1waW5rICAgICAgeyAuYnV0dG9uLXZhcmlhbnQoI2ZmZjsgQGJyYW5kLXBpbms7IHRyYW5zcGFyZW50Oyk7ICAgICAgfVxyXG4uYnRuLW9yYW5nZSAgICB7IC5idXR0b24tdmFyaWFudCgjZmZmOyBAYnJhbmQtb3JhbmdlOyB0cmFuc3BhcmVudDspOyAgICB9XHJcblxyXG4uYnRuLW91dGxpbmUge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcclxuICAmOmhvdmVyLCAmOmZvY3VzIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBjb2xvcjogQGJyYW5kLXByaW1hcnk7XHJcbiAgfVxyXG59XHJcblxyXG4vLyBGbGF0IHNxdWFyZSBidXR0b25cclxuXHJcbi5idG4tZmxhdCB7XHJcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xyXG4gIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgIzAwMDtcclxufVxyXG5cclxuLy8gRXh0cmEgc2l6ZVxyXG5cclxuLmJ0bi14bCB7XHJcbiAgcGFkZGluZzogMjBweCAxNnB4O1xyXG4gIGZvbnQtc2l6ZTogMThweDtcclxufVxyXG5cclxuLy8gQnV0dG9uIHNxdWFyZSBcclxuXHJcbi5idG4tc3F1YXJlIHtcclxuICBib3JkZXItcmFkaXVzOiAwO1xyXG59XHJcblxyXG5cclxuLy8gQnV0dG9uIHBpbGxcclxuXHJcbi5idG4tcGlsbC1sZWZ0IHtcclxuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiA1MHB4O1xyXG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDUwcHg7XHJcbiAgcGFkZGluZy1sZWZ0OiAxOHB4O1xyXG59XHJcblxyXG4uYnRuLXBpbGwtcmlnaHQge1xyXG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiA1MHB4O1xyXG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiA1MHB4O1xyXG4gIHBhZGRpbmctcmlnaHQ6IDE4cHg7XHJcbn1cclxuXHJcbi8vIFJvdW5kZWQgYnV0dG9uc1xyXG5cclxuLmJ0bi1vdmFsIHtcclxuICAmOmV4dGVuZCguYnRuLXBpbGwtcmlnaHQpO1xyXG4gICY6ZXh0ZW5kKC5idG4tcGlsbC1sZWZ0KTtcclxufVxyXG5cclxuLy8gTGFiZWxzIGZvciBidXR0b25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uYnRuLWxhYmVsZWQge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAwO1xyXG59XHJcblxyXG4uYnRuLWxhYmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIG1pbi13aWR0aDogMzBweDtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICAuYnV0dG9uLWxhYmVsLXNpemUoQHBhZGRpbmctYmFzZS12ZXJ0aWNhbDsgQHBhZGRpbmctYmFzZS1ob3Jpem9udGFsOyBAYm9yZGVyLXJhZGl1cy1iYXNlKTtcclxuICAmOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDJweDtcclxuICAgIGJvdHRvbTogMnB4O1xyXG4gICAgcmlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi1sZyAuYnRuLWxhYmVsIHtcclxuICAuYnV0dG9uLWxhYmVsLXNpemUoQHBhZGRpbmctbGFyZ2UtdmVydGljYWw7IEBwYWRkaW5nLWxhcmdlLWhvcml6b250YWw7IEBib3JkZXItcmFkaXVzLWxhcmdlKTtcclxufVxyXG4uYnRuLXNtIC5idG4tbGFiZWwge1xyXG4gIC5idXR0b24tbGFiZWwtc2l6ZShAcGFkZGluZy1zbWFsbC12ZXJ0aWNhbDsgQHBhZGRpbmctc21hbGwtaG9yaXpvbnRhbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xyXG59XHJcbi5idG4teHMgLmJ0bi1sYWJlbCB7XHJcbiAgLmJ1dHRvbi1sYWJlbC1zaXplKDFweDsgNXB4OyBAYm9yZGVyLXJhZGl1cy1zbWFsbCk7XHJcbn1cclxuXHJcbi8vIEJVVFRPTlMgTEFCRUwgbWl4aW5cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5idXR0b24tbGFiZWwtc2l6ZShAcGFkZGluZy12ZXJ0aWNhbDsgQHBhZGRpbmctaG9yaXpvbnRhbDsgQGJvcmRlci1yYWRpdXMpIHtcclxuICBwYWRkaW5nOiBAcGFkZGluZy12ZXJ0aWNhbCBAcGFkZGluZy1zbWFsbC1ob3Jpem9udGFsO1xyXG4gIGxlZnQ6ICgtMSAqIEBwYWRkaW5nLWhvcml6b250YWwpO1xyXG4gIGJvcmRlci1yYWRpdXM6IChAYm9yZGVyLXJhZGl1cyAtIDFweCkgMCAwIChAYm9yZGVyLXJhZGl1cyAtIDFweCk7XHJcblxyXG4gICYuYnRuLWxhYmVsLXJpZ2h0IHtcclxuICAgIGxlZnQ6IGF1dG87XHJcbiAgICByaWdodDogKC0xICogQHBhZGRpbmctaG9yaXpvbnRhbCk7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwIChAYm9yZGVyLXJhZGl1cyAtIDFweCkgKEBib3JkZXItcmFkaXVzIC0gMXB4KSAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gRml4ZWQgd2lkdGggYnV0dG9uc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuQGJ0bi1mdy1zbTogICAgICAgODBweDtcclxuQGJ0bi1mdzogICAgICAgICAgMTIwcHg7XHJcbkBidG4tZnctbGc6ICAgICAgIDE1MHB4O1xyXG5cclxuLmJ0bi1mdyB7XHJcbiAgbWluLXdpZHRoOiBAYnRuLWZ3O1xyXG4gICYuYnRuLXNtIHtcclxuICAgIG1pbi13aWR0aDogQGJ0bi1mdy1zbTtcclxuICB9XHJcbiAgJi5idG4tbGcge1xyXG4gICAgbWluLXdpZHRoOiBAYnRuLWZ3LWxnO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogcGxhY2Vob2xkZXIubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuIFxyXG4vLyBEZWZpbmVzIHN0eWxlcyBmb3IgcGxhY2Vob2xkZXIgYm94ZXNcclxuLy8gQ3JlYXRlIGEgcGxhY2Vob2xkZXIgc3BhY2UgdGhhdCBjYW4gYmUgdXNlZCBmb3IgdXBsb2FkaW5nIGZpbGVzIHZpYSBkcmFnIGFuZCBkcm9wLlxyXG4vLyBCYXNlZCBvbiB1aWtpdCBwbGFjZWhvbGRlciBhZGRvblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuXHJcblxyXG4vLyBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AcGxhY2Vob2xkZXItbWFyZ2luLXZlcnRpY2FsOiAgICAgICAgICAgICAgICAgICAxMnB4O1xyXG5AcGxhY2Vob2xkZXItcGFkZGluZzogICAgICAgICAgICAgICAgICAgICAgICAgICAxNXB4O1xyXG5AcGxhY2Vob2xkZXItYm9yZGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgICBAZ3JheTtcclxuQHBsYWNlaG9sZGVyLWJhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAgICAgICAgQGdyYXktbGlnaHRlcjtcclxuQHBsYWNlaG9sZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzQ0NDtcclxuXHJcbkBwbGFjZWhvbGRlci1sYXJnZS1wYWRkaW5nLXZlcnRpY2FsOiAgICAgICAgICAgIDgwcHg7XHJcblxyXG5cclxuLy8gUGxhY2Vob2xkZXIgY29udGFpbmVyXHJcbi5ib3gtcGxhY2Vob2xkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogQHBsYWNlaG9sZGVyLW1hcmdpbi12ZXJ0aWNhbDtcclxuICAgIHBhZGRpbmc6IEBwbGFjZWhvbGRlci1wYWRkaW5nO1xyXG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIEBwbGFjZWhvbGRlci1ib3JkZXI7XHJcbiAgICBiYWNrZ3JvdW5kOiBAcGxhY2Vob2xkZXItYmFja2dyb3VuZDtcclxuICAgIGNvbG9yOiBAcGxhY2Vob2xkZXItY29sb3I7XHJcbn1cclxuXHJcblxyXG4vLyBSZW1vdmUgbWFyZ2luIGZyb20gdGhlIGxhc3QtY2hpbGQgXHJcblxyXG4uYm94LXBsYWNlaG9sZGVyID4gOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XHJcblxyXG4vLyBWYXJpYW50XHJcblxyXG4uYm94LXBsYWNlaG9sZGVyLWxnIHtcclxuICAgIHBhZGRpbmctdG9wOiBAcGxhY2Vob2xkZXItbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcclxuICAgIHBhZGRpbmctYm90dG9tOiBAcGxhY2Vob2xkZXItbGFyZ2UtcGFkZGluZy12ZXJ0aWNhbDtcclxufVxyXG5cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogcGFuZWxzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuXHJcbi8vIEN1c3RvbWl6ZWQgcGFuZWwgc3R5bGVzXHJcbi5wYW5lbCB7XHJcbiAgYm94LXNoYWRvdzogMCAxcHggMCByZ2JhKDAsMCwwLC4xKTtcclxuICAucGFuZWwtaGVhZGluZyB7XHJcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xyXG4gICAgLnBhbmVsLXRpdGxlIHtcclxuICAgICAgLy8gZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgJi5wYW5lbC1kZWZhdWx0IHtcclxuICAgIC8vIGJveC1zaGFkb3c6IDAgMCAxcHggQGJyYW5kLW5vaXI7XHJcbiAgICAucGFuZWwtaGVhZGluZyB7XHJcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICYucGFuZWwtdHJhbnNwYXJlbnQge1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgMCAjMDAwO1xyXG4gICAgLnBhbmVsLWhlYWRpbmcsXHJcbiAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5cclxuXHJcbi8vXHJcbi8vIEFkZHMgc3VwcG9ydCB0byB1c2UgbW9yZSBjb21wb25lbnRzIGluc2lkZSBwYW5lbHNcclxuLy9cclxuXHJcbi5wYW5lbCB7XHJcbiAgLnRhYmxlIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFuZWwtZmxhdCB7XHJcbiAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XHJcbiAgYm9yZGVyOiAwO1xyXG59XHJcblxyXG4ucGFuZWwtZ3JvdXAge1xyXG4gIC5wYW5lbC1mbGF0IHtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXJhZGl1czogNHB4IDRweCAwIDA7XHJcbiAgICB9XHJcbiAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgNHB4IDRweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbC1oZWFkaW5nIHtcclxuICBcclxuICA+IC5idG4sID4gLmJ0bi1ncm91cCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNXB4O1xyXG4gIH1cclxuICA+IC5idG4tc20sID4gLmJ0bi1ncm91cC1zbSB7XHJcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gIH1cclxuICA+IC5idG4teHMsID4gLmJ0bi1ncm91cC14cyB7XHJcbiAgICBtYXJnaW4tdG9wOiAtMXB4O1xyXG4gIH0gIFxyXG4gIC8vIHJpZ2h0IGZsb2F0ZWQgbGFiZWxzIGFkanVzdCBwb3NpdGlvblxyXG4gID4gLmxhYmVsLnB1bGwtcmlnaHQge1xyXG4gICAgbWFyZ2luLXRvcDogM3B4O1xyXG4gICAgKyAubGFiZWwucHVsbC1yaWdodCB7XHJcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbC1mb290ZXIge1xyXG4gIC5wYWdpbmF0aW9uIHtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbiAgLnJhZGlhbC1iYXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcbiAgcCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQWN0aXZlIGNsYXNzIGZvciBjb2xsYXBzZSBlbGVtZW50cyBcclxuLnBhbmVsLWhlYWRpbmctYWN0aXZlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtc3VjY2VzcyAhaW1wb3J0YW50O1xyXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gIGZvbnQtc2l6ZTogMTZweDtcclxuICA+IGEge1xyXG4gICAgcGFkZGluZzogMTVweCAwOyAgLy8gQWRkaW5nIHBhZGRpbmcgaGVyZSBpbXByb3ZlcyBtb2JpbGUgdG91Y2hcclxuICAgIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAudHJhbnNpdGlvbihwYWRkaW5nIC41cyBlYXNlKTtcclxuICB9XHJcbiAgKyAucGFuZWwtY29sbGFwc2U6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgd2lkdGg6IDYwJTtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMWUyZTM7XHJcbiAgfVxyXG59XHJcblxyXG4ucGFuZWwtaW52ZXJzZSB7XHJcbiAgLnBhbmVsLXZhcmlhbnQoQHBhbmVsLWdsb2JhbC1ib3JkZXI7ICNmZmY7IEBicmFuZC1pbnZlcnNlOyBAYnJhbmQtaW52ZXJzZSk7XHJcbn1cclxuXHJcbi5wYW5lbC10dXJxdW9pc2Uge1xyXG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1nbG9iYWwtYm9yZGVyOyAjZmZmOyBAYnJhbmQtdHVycXVvaXNlOyBAYnJhbmQtdHVycXVvaXNlKTtcclxufVxyXG5cclxuLnBhbmVsLXBpbmsge1xyXG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1nbG9iYWwtYm9yZGVyOyAjZmZmOyBAYnJhbmQtcGluazsgQGJyYW5kLXBpbmspO1xyXG59XHJcblxyXG4ucGFuZWwtcHVycGxlIHtcclxuICAucGFuZWwtdmFyaWFudChAcGFuZWwtZ2xvYmFsLWJvcmRlcjsgI2ZmZjsgQGJyYW5kLXB1cnBsZTsgQGJyYW5kLXB1cnBsZSk7XHJcbn1cclxuXHJcbi5wYW5lbC1vcmFuZ2Uge1xyXG4gIC5wYW5lbC12YXJpYW50KEBwYW5lbC1nbG9iYWwtYm9yZGVyOyAjZmZmOyBAYnJhbmQtb3JhbmdlOyBAYnJhbmQtb3JhbmdlKTtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwcm9ncmVzcy1leHRyYS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vIERpZmZlcmVudCBzaXplIG9mIFByb2dyZXNzIGJhcnNcclxuXHJcbkBwcm9ncmVzcy1oZWlnaHQtc206IDE1cHg7XHJcbkBwcm9ncmVzcy1oZWlnaHQteHM6IDhweDtcclxuXHJcbi5wcm9ncmVzcy1zbSB7XHJcbiAgaGVpZ2h0OiBAcHJvZ3Jlc3MtaGVpZ2h0LXNtO1xyXG59XHJcblxyXG4ucHJvZ3Jlc3MteHMge1xyXG4gIGhlaWdodDogQHByb2dyZXNzLWhlaWdodC14cztcclxufVxyXG5cclxuLy8gUHJvZ3Jlc3MgY29sb3IgdmFyaWFudHNcclxuXHJcbi5wcm9ncmVzcy1iYXItcHVycGxlIHtcclxuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGJyYW5kLXB1cnBsZSk7XHJcbn1cclxuLnByb2dyZXNzLWJhci1pbnZlcnNlIHtcclxuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGJyYW5kLWludmVyc2UpO1xyXG59XHJcbi5wcm9ncmVzcy1iYXItdHVycXVvaXNlIHtcclxuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGJyYW5kLXR1cnF1b2lzZSk7XHJcbn1cclxuLnByb2dyZXNzLWJhci1waW5rIHtcclxuICAucHJvZ3Jlc3MtYmFyLXZhcmlhbnQoQGJyYW5kLXBpbmspO1xyXG59XHJcblxyXG4vLyBwcm9ncmVzcy0lIGNsYXNzZXMgZm9yIHNpbXBsZSB1c2FnZVxyXG5cclxuQG51bS1zdGVwczogMTA7XHJcbkBzdGVwczogcm91bmQoMTAwIC8gQG51bS1zdGVwcyk7XHJcblxyXG4ucHJvZ3Jlc3Mtc3RlcHMgKEBpbmRleCkgd2hlbiAoQGluZGV4ID49IDEwMCkge1xyXG4gIC5wcm9ncmVzcy0xMDAge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG59XHJcblxyXG4ucHJvZ3Jlc3Mtc3RlcHMgKEBpbmRleCkgd2hlbiAoQGluZGV4IDwgMTAwKSB7XHJcbiAgLnByb2dyZXNzLUB7aW5kZXh9IHtcclxuICAgIHdpZHRoOiBwZXJjZW50YWdlKEBpbmRleC8xMDApO1xyXG4gIH1cclxuICAucHJvZ3Jlc3Mtc3RlcHMgKEBpbmRleCArIEBzdGVwcyk7XHJcbn1cclxuXHJcbi5wcm9ncmVzcy1zdGVwcyAoMCk7XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHBvaW50cy5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vXHJcbi8vIENvbG9yZWQgcG9pbnQgZm9yIGluZGljYXRpb24gcHVycG9zZXNcclxuLy8gXHJcblxyXG5AcG9pbnQtc3otc206ICAgICAgIDVweDtcclxuQHBvaW50LXN6OiAgICAgICAgICA3cHg7XHJcbkBwb2ludC1zei1sZzogICAgICAgMTFweDtcclxuQHBvaW50LXN6LXhsOiAgICAgICAxOHB4O1xyXG5cclxuLnBvaW50IHtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgd2lkdGg6IEBwb2ludC1zejtcclxuICBoZWlnaHQ6IEBwb2ludC1zejtcclxuICBib3JkZXItcmFkaXVzOiA1MDBweDtcclxuICBtYXJnaW46IDAgLjVlbTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheTtcclxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XHJcbiAgJi50ZXh0LWxlZnQge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDA7XHJcbiAgfVxyXG4gICYudGV4dC1yaWdodCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4ucG9pbnQtcHJpbWFyeSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXByaW1hcnk7XHJcbn1cclxuLnBvaW50LXN1Y2Nlc3Mge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1zdWNjZXNzO1xyXG59XHJcbi5wb2ludC1pbmZvIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtaW5mbztcclxufVxyXG4ucG9pbnQtd2FybmluZyB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXdhcm5pbmc7XHJcbn1cclxuLnBvaW50LWRhbmdlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWRhbmdlcjtcclxufVxyXG4ucG9pbnQtdHVycXVvaXNlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtdHVycXVvaXNlO1xyXG59XHJcbi5wb2ludC1waW5rIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtcGluaztcclxufVxyXG4ucG9pbnQtaW52ZXJzZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWludmVyc2U7XHJcbn1cclxuLnBvaW50LXB1cnBsZSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXB1cnBsZTtcclxufVxyXG5cclxuXHJcbi5wb2ludC1zbSB7XHJcbiAgd2lkdGg6IEBwb2ludC1zei1zbTtcclxuICBoZWlnaHQ6IEBwb2ludC1zei1zbTtcclxufVxyXG5cclxuLnBvaW50LWxnIHtcclxuICB3aWR0aDogQHBvaW50LXN6LWxnO1xyXG4gIGhlaWdodDogQHBvaW50LXN6LWxnO1xyXG59XHJcblxyXG4ucG9pbnQteGwge1xyXG4gIHdpZHRoOiBAcG9pbnQtc3oteGw7XHJcbiAgaGVpZ2h0OiBAcG9pbnQtc3oteGw7XHJcbn1cclxuXHJcbi5wb2ludC1vdXRsaW5lIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAmLnBvaW50LXByaW1hcnkge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQGJyYW5kLXByaW1hcnk7XHJcbiAgfVxyXG4gICYucG9pbnQtc3VjY2VzcyB7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAYnJhbmQtc3VjY2VzcztcclxuICB9XHJcbiAgJi5wb2ludC1pbmZvIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBicmFuZC1pbmZvO1xyXG4gIH1cclxuICAmLnBvaW50LXdhcm5pbmcge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQGJyYW5kLXdhcm5pbmc7XHJcbiAgfVxyXG4gICYucG9pbnQtZGFuZ2VyIHtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBicmFuZC1kYW5nZXI7XHJcbiAgfVxyXG59XHJcblxyXG4ucG9pbnQtcGluIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgPiAucG9pbnQge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB0aW1lbGluZS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbkB0aW1lbGluZS1iYWRnZS1zaXplOiAgICAgICAgICAgNTBweDtcclxuQHRpbWVsaW5lLWJhZGdlLXNpemUtc206ICAgICAgICAzMHB4O1xyXG5AdGltZWxpbmUtZGF0ZXRpbWUtaGVpZ2h0OiAgICAgIDIwcHg7XHJcbkB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGg6ICAgICAgNDBweDtcclxuXHJcbi8vIFRpbWVsaW5lIGNvbnRhaW5lclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udGltZWxpbmUsXHJcbi50aW1lbGluZS1hbHQge1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgcGFkZGluZzogMCAwIDEwcHg7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIG1hcmdpbjogMDtcclxuICBcclxuICAvLyBUaW1lbGluZSBjZW50cmFsIGxpbmVcclxuICAmOmJlZm9yZSB7XHJcbiAgICB0b3A6IDA7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBjb250ZW50OiBcIiBcIjtcclxuICAgIHdpZHRoOiAxcHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1saWdodDtcclxuICAgIGxlZnQ6IEB0aW1lbGluZS1zZXBhcmF0b3Itd2lkdGggLyAyO1xyXG4gIH1cclxuXHJcbiAgLy8gVGltZWxpbmUgbGlzdCBpdG1lc1xyXG4gID4gbGkge1xyXG4gICAgLmNsZWFyZml4KCk7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG5cclxuICAgICYudGltZWxpbmUtc2VwYXJhdG9yIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLWRhdGV0aW1lKTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgbWluLXdpZHRoOiBAdGltZWxpbmUtc2VwYXJhdG9yLXdpZHRoO1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nOiAwIDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWxpZ2h0O1xyXG4gICAgICAgIC8vIGNvbG9yOiBAYnJhbmQtaW52ZXJzZTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiAzMHB4O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdGltZWxpbmUtc2VwYXJhdG9yLXdpZHRoO1xyXG4gICAgICB9XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIEB3ZDogMTBweDtcclxuICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgIHdpZHRoOiBAd2Q7XHJcbiAgICAgICAgaGVpZ2h0OiBAd2Q7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogNTAlO1xyXG4gICAgICAgIGxlZnQ6IChAdGltZWxpbmUtc2VwYXJhdG9yLXdpZHRoIC8gMikgLSAoQHdkLzIpO1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC0oQHdkLzIpO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWxpZ2h0O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRpbWVsaW5lIHBhbmVsXHJcbiAgICA+IC50aW1lbGluZS1wYW5lbCB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIC8vZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBAdGltZWxpbmUtc2VwYXJhdG9yLXdpZHRoICsgMTA7XHJcblxyXG4gICAgICAgIC8vIFBvcG92ZXIgaW5zaWRlIHRpbWVsaW5lIHBhbmVsc1xyXG4gICAgICAgIC5wb3BvdmVyIHtcclxuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XHJcbiAgICAgICAgICAuYXJyb3cge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgLnBvcG92ZXItY29udGVudCB7XHJcbiAgICAgICAgICAgIC5wb3BvdmVyLXRpdGxlIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC8vIFRpbWVsaW5lIERhdGVcclxuXHJcbiAgICAgPiAudGltZWxpbmUtZGF0ZSB7XHJcbiAgICAgIGZsb2F0OiByaWdodDtcclxuICAgICAgbWFyZ2luOiAtQHRpbWVsaW5lLWRhdGV0aW1lLWhlaWdodCAwIDA7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBoZWlnaHQ6IEB0aW1lbGluZS1kYXRldGltZS1oZWlnaHQ7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBAdGltZWxpbmUtZGF0ZXRpbWUtaGVpZ2h0O1xyXG4gICAgICBmb250LXNpemU6IDExcHg7XHJcbiAgICAgIGNvbG9yOiBAdGV4dC1tdXRlZDtcclxuXHJcbiAgICAgID4gdGltZSB7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiBhdHRyKGRhdGV0aW1lKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLy8gVGltZWxpbmUgYmFkZ2VzXHJcbiAgICA+IC50aW1lbGluZS1iYWRnZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiBAdGltZWxpbmUtc2VwYXJhdG9yLXdpZHRoIC8gMjtcclxuICAgICAgd2lkdGg6IEB0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICBoZWlnaHQ6IEB0aW1lbGluZS1iYWRnZS1zaXplO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiA1MDBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0oQHRpbWVsaW5lLWJhZGdlLXNpemUvMik7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiBAdGltZWxpbmUtYmFkZ2Utc2l6ZTtcclxuICAgICAgZm9udC1zaXplOiBAdGltZWxpbmUtYmFkZ2Utc2l6ZSAqIC40O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICB6LWluZGV4OiAxMDA7XHJcblxyXG4gICAgICAmLnRpbWVsaW5lLWJhZGdlLXNtIHtcclxuICAgICAgICB3aWR0aDogQHRpbWVsaW5lLWJhZGdlLXNpemUtc207XHJcbiAgICAgICAgaGVpZ2h0OiBAdGltZWxpbmUtYmFkZ2Utc2l6ZS1zbTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogLShAdGltZWxpbmUtYmFkZ2Utc2l6ZS1zbS8yKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogQHRpbWVsaW5lLWJhZGdlLXNpemUtc207XHJcbiAgICAgICAgZm9udC1zaXplOiBAdGltZWxpbmUtYmFkZ2Utc2l6ZS1zbSAqIC40O1xyXG4gICAgICB9XHJcbiAgICAgIFxyXG4gICAgICBcclxuICAgIH1cclxuICAgIFxyXG4gIH1cclxufVxyXG5cclxuXHJcblxyXG5cclxuXHJcblxyXG4vLyBUaW1lbGluZSB0aXRsZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4udGltZWxpbmUtdGl0bGUge1xyXG4gICAgbWFyZ2luLXRvcDogMDtcclxuICAgIGNvbG9yOiBpbmhlcml0O1xyXG59XHJcblxyXG4vLyBUaW1lbGluZSBCb2R5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbi50aW1lbGluZS1ib2R5ID4gcCxcclxuLnRpbWVsaW5lLWJvZHkgPiB1bCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcbi50aW1lbGluZS1ib2R5ID4gcCArIHAge1xyXG4gICAgbWFyZ2luLXRvcDogNXB4O1xyXG59XHJcblxyXG4vLyBUaW1lbGluZSBmb3IgRGVza3RvcHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQG1lZGlhIEBkZXNrdG9wIHtcclxuICAgIFxyXG4gICAgLnRpbWVsaW5lIHtcclxuICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgICBtYXJnaW4tbGVmdDogKEB0aW1lbGluZS1iYWRnZS1zaXplLzIpO1xyXG4gICAgICB9XHJcbiAgICAgID4gbGkge1xyXG5cclxuICAgICAgICAmLnRpbWVsaW5lLXNlcGFyYXRvciB7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogKEB0aW1lbGluZS1iYWRnZS1zaXplLzIpO1xyXG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogKEB0aW1lbGluZS1iYWRnZS1zaXplLzIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC50aW1lbGluZS1iYWRnZSB7XHJcbiAgICAgICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgID4gLnRpbWVsaW5lLWRhdGUge1xyXG4gICAgICAgICAgZmxvYXQ6IG5vbmU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICB3aWR0aDogNDAlO1xyXG4gICAgICAgICAgbGVmdDogNTAlO1xyXG4gICAgICAgICAgdG9wOiBAdGltZWxpbmUtYmFkZ2Utc2l6ZSAvIDI7XHJcbiAgICAgICAgICBtYXJnaW4tbGVmdDogQHRpbWVsaW5lLWJhZGdlLXNpemUgKiAxLjU7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtKEB0aW1lbGluZS1kYXRldGltZS1oZWlnaHQvMik7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICA+IC50aW1lbGluZS1wYW5lbCB7XHJcbiAgICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIHdpZHRoOiA0OCU7XHJcblxyXG4gICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMTVweDtcclxuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xyXG4gICAgICAgICAgICB0b3A6IDI2cHg7XHJcbiAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcclxuICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDE0cHg7XHJcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcclxuICAgICAgICAgICAgdG9wOiAyN3B4O1xyXG4gICAgICAgICAgICByaWdodDogLTE0cHg7XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBcclxuICAgICAgICAgIC5wb3BvdmVyIC5hcnJvdyB7XHJcbiAgICAgICAgICAgIHRvcDogQHRpbWVsaW5lLWJhZGdlLXNpemUvMjtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAvLyBUaW1lbGluZSBpbnZlcnRlZFxyXG4gICAgICAgIC8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgICAgICAgJi50aW1lbGluZS1pbnZlcnRlZCB7XHJcblxyXG4gICAgICAgICAgICA+IC50aW1lbGluZS1wYW5lbCB7XHJcbiAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogQHRpbWVsaW5lLWJhZGdlLXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIC50aW1lbGluZS1kYXRlICB7XHJcbiAgICAgICAgICAgICAgbGVmdDogYXV0bztcclxuICAgICAgICAgICAgICByaWdodDogNTAlO1xyXG4gICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogQHRpbWVsaW5lLWJhZGdlLXNpemU7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG5cclxuXHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGRyb3Bkb3duLWV4dHJhcy5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vIFxyXG4vLyBEcm9wZG9wd24gZXh0cmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuXHJcbi8vIHBsYWNlIGNvbXBvbmVudHMgd2l0aCBtb3JlIHNwYWNlXHJcbi5kcm9wZG93bi1sZyA+IC5kcm9wZG93bi1tZW51IHtcclxuICBtaW4td2lkdGg6IDIwMHB4O1xyXG59XHJcblxyXG4ubmF2YmFyLW5hdiAub3BlbiAuZHJvcGRvd24tbWVudSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxufVxyXG5cclxuLy8gQWxsb3dzIHRvIG1peCBsaXN0IGdyb3VwIGluc2lkZSBkcm9wZG93bnNcclxuLmRyb3Bkb3duLWxpc3Qge1xyXG4gIFxyXG4gID4gLmRyb3Bkb3duLW1lbnUge1xyXG4gICAgcGFkZGluZzogMDtcclxuICAgIG1pbi13aWR0aDogMjIwcHg7XHJcbiAgfVxyXG5cclxuICAubGlzdC1ncm91cCB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAubGlzdC1ncm91cC1pdGVtIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICBib3JkZXItbGVmdDogMDtcclxuICAgIGJvcmRlci1yaWdodDogMDtcclxuICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICBib3JkZXItdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgJjpsYXN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIExhYmVscyBpbnNpZGUgZHJvcGRvd25zXHJcbi5kcm9wZG93biB7XHJcbiAgPiBhIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgID4gLmxhYmVsIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDEwcHg7XHJcbiAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICBwYWRkaW5nOiAycHggNXB4O1xyXG4gICAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi8vIERyb3Bkb3duIGhlYWRlclxyXG4uZHJvcGRvd24tbWVudS1oZWFkZXIge1xyXG4gIHBhZGRpbmc6IDEwcHggMTVweDtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZHJvcGRvd24tYm9yZGVyO1xyXG59XHJcblxyXG5cclxuLy9cclxuLy8gT2ZmQ2FudmFzIERyb3Bkb3duXHJcbi8vXHJcblxyXG4uZHJvcGRvd24tbWVudVtvZmZjYW52YXMtZHJvcGRvd25dIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuXHJcbiAgLm9mZmNhbnZhcy1jb250ZW50IHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDowOyBib3R0b206IDA7XHJcbiAgICBsZWZ0OiAwOyByaWdodDogMDtcclxuICAgIC50cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIGVhc2UgLjJzO1xyXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgZWFzZSAuMnM7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgY29sb3I6IEB0ZXh0LWNvbG9yO1xyXG5cclxuICAgICYubmctaGlkZSB7XHJcbiAgICAgIC50cmFuc2xhdGUzZCgxMDAlLCAwLCAwKTtcclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLy8gJi5vcGVuIHtcclxuICAvLyAgIC5vZmZjYW52YXMtY29udGVudCB7XHJcbiAgLy8gICAgIHJpZ2h0OiAwO1xyXG4gIC8vICAgICBsZWZ0OiAxNXB4O1xyXG4gIC8vICAgICBib3gtc2hhZG93OiAwIDAgMTAwcHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcclxuICAvLyAgIH1cclxuICAvLyAgID4gbGkgPiBhIHtcclxuICAvLyAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XHJcbiAgLy8gICB9XHJcbiAgLy8gfSAgXHJcbn1cclxuXHJcblxyXG4ub2ZmY2FudmFzLXRvZ2dsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHJvdy1leHRyYS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vXHJcbi8vIFV0aWxpdGllcyB0byBtYW5hZ2UgYm9vdHN0cmFwIHJvd3MgYW5kIGNvbHMgXHJcbi8vIHdpdGggbW9yZSBmbGV4aWJpbGl0eVxyXG4vLyBVc2UgaW4gY29uanVuY3Rpb24gd2l0aCAucm93XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gRGlzcGxheSBhIHJvdyB1c2luZyB0YWJsZSBsYXlvdXRcclxuLy8gYWxsb3dzIHRvIGhhdmUgdmVydGljYWxseSBhbGlnbmVkIGVsZW1lbnRzXHJcblxyXG4ucm93LXRhYmxlIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB3aWR0aDogMTAwJTtcclxuICBtYXJnaW46IDA7XHJcbiAgXHJcbiAgPiBbY2xhc3MqPVwiY29sLVwiXSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgZmxvYXQ6IG5vbmU7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcbn1cclxuXHJcbi8vIFJlbW92ZSBwYWRkaW5nIGFuZCBjb2xsYXBzZSBjb2x1bW5zXHJcbi5yb3ctZmx1c2gge1xyXG4gID4gW2NsYXNzKj1cImNvbC1cIl0ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBtYXNvbnJ5LWdyaWQubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtYXNvbnJ5LWdyaWQtZ2FwOiAxNXB4O1xyXG5AbWFzb25yeS1ncmlkLWNvbHVtbnM6IDEyO1xyXG5cclxuLnJvdy1tYXNvbnJ5IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLy8uY29sdW1uLWZpbGwoYXV0byk7IC8vIHJlbW92ZWQ6IG5vdCBuZWNlc3NhcnkgYW5kIGJyZWFrcyBmZiBsYXlvdXRcclxuICBcclxuICA+IC5jb2wtbWFzb25yeSB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1pbi1oZWlnaHQ6IDFlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IEBtYXNvbnJ5LWdyaWQtZ2FwO1xyXG4gIH1cclxufVxyXG5cclxuLyogQ29sdW1ucyBkZWZpbml0aW9uIGJ5IGRldmljZXMgKi9cclxuXHJcbkBtZWRpYSBAbW9iaWxlICAgICB7IC5sb29wLW1hc29ucnktcm93KCBzbSApOyAgfVxyXG5AbWVkaWEgQHRhYmxldCAgICAgeyAubG9vcC1tYXNvbnJ5LXJvdyggbWQgKTsgIH1cclxuQG1lZGlhIEBkZXNrdG9wICAgIHsgLmxvb3AtbWFzb25yeS1yb3coIGxnICk7ICB9XHJcbkBtZWRpYSBAZGVza3RvcC1sZyB7IC5sb29wLW1hc29ucnktcm93KCB4bCApOyB9XHJcblxyXG4vLyBMb29wIHRvIGdlbmVyYXRlIGVhY2ggcm93IHdpdGggdGhlIHJpZ2h0IG51bWJlciBvZiBjb2x1bW5zXHJcbi5sb29wLW1hc29ucnktcm93KEB0eXBlLCBAbWF4Y29sczogQG1hc29ucnktZ3JpZC1jb2x1bW5zKSB7XHJcbiAgLy8gcm93IGxvb3BcclxuICAubWFrZS1tYXNvbnJ5LXJvdyhAaW5kZXgpIHdoZW4gKEBpbmRleCA8PSBAbWF4Y29scykge1xyXG4gICAgLnJvdy1tYXNvbnJ5LUB7dHlwZX0tQHtpbmRleH0ge1xyXG4gICAgICAubWFzb25yeS1jb2x1bW4oQGluZGV4KTtcclxuXHJcbiAgICAgIC8vIEJ1aWxkIGEgc2ltcGxlIGdyaWQgc3lzdGVtIGZvciBicm93c2VyIHRoYXQgZG9uJ3Qgc3VwcG9ydCBjb2x1bW5zIGxheW91dFxyXG4gICAgICAvLyBSZXF1aXJlcyBNb2Rlcm5penIgdG8gaWRlbnRpZnkgdGhlIGZlYXR1cmUgc3VwcG9ydFxyXG4gICAgICAubm8tY3NzY29sdW1ucyAmIHtcclxuICAgICAgICAubWFrZS1pbmxpbmUtY29sdW1uKEBpbmRleCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgICAvLyBkbyByZWN1cnNpdmVcclxuICAgIC5tYWtlLW1hc29ucnktcm93KEBpbmRleCArIDEpO1xyXG4gIH1cclxuICAvLyBraWNrc3RhcnRcclxuICAubWFrZS1tYXNvbnJ5LXJvdygxKTtcclxufVxyXG5cclxuLy8gRGVjbGFyZXMgdGhlIGNvbHVtbiBzcGVjaWZpY2F0aW9uIGZvciB0aGUgcm93XHJcbi5tYXNvbnJ5LWNvbHVtbihAbnVtY29scywgQGdhcDogQG1hc29ucnktZ3JpZC1nYXApIHtcclxuICAuY29sdW1uLWNvdW50KEBudW1jb2xzKTtcclxuICAuY29sdW1uLWdhcChAZ2FwKTtcclxuICAuY29sdW1ucyhAbnVtY29scyk7XHJcbiAgLy8gZm9yY2VzIHRoZSByaWdodCBjb2x1bW4gd2lkdGggKG5vdCBuZWNlc3NhcnksIHVzZSBpdCBhcyBwZXIgeW91ciBuZWVkcylcclxuICAvLyBAY29sLXdpZHRoOiBmbG9vcigoMTAwJSAtIChAZ2FwICogKEBudW1jb2xzIC0gMSkgKSkgLyBAbnVtY29scyk7XHJcbiAgLy8gLmNvbHVtbi13aWR0aChAY29sLXdpZHRoKTtcclxufVxyXG5cclxuLy8gR2VuZXJhdGVzIGEgc2luZ2xlIGdyaWQgdG8gZmFsbGJhY2sgbWFzb25yeSBvbiBvbGQgYnJvd3NlcnNcclxuLy8gd2l0aCBubyBjc3MgY29sdW1ucyBzdXBwb3J0XHJcbi5tYWtlLWlubGluZS1jb2x1bW4oQG51bSkge1xyXG4gIHRleHQtYWxpZ246IGp1c3RpZnk7XHJcbiAgLy9mb250LXNpemU6IDA7IC8vIHRoaXMgcmVxdWlyZXMgdGhhdCB5b3VyIGNvbXBvbmVudHMgcmVzdG9yZSB0aGUgZm9udCBzaXplXHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxuICA+IC5jb2wtbWFzb25yeSB7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgd2lkdGg6IGZsb29yKCgxMDAlIC8gQGluZGV4KSAtIDEpO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ1NTMyBDb2x1bW5zIExheW91dCBtaXhpblxyXG4vLyBmb3IgY3Jvc3Nicm93c2VyIHN1cHBvcnRcclxuXHJcbi5jb2x1bW4tZ2FwKEB2YWx1ZSkge1xyXG4gIC1tb3otY29sdW1uLWdhcDogQHZhbHVlO1xyXG4gIC13ZWJraXQtY29sdW1uLWdhcDogQHZhbHVlO1xyXG4gIGNvbHVtbi1nYXA6IEB2YWx1ZTtcclxufVxyXG5cclxuLmNvbHVtbi1jb3VudChAdmFsdWUpIHtcclxuICAtbW96LWNvbHVtbi1jb3VudDogQHZhbHVlO1xyXG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAdmFsdWU7XHJcbiAgY29sdW1uLWNvdW50OiBAdmFsdWU7XHJcbn1cclxuXHJcbi5jb2x1bW4td2lkdGgoQHZhbHVlKSB7XHJcbiAgLW1vei1jb2x1bW4td2lkdGg6IEB2YWx1ZTtcclxuICAtd2Via2l0LWNvbHVtbi13aWR0aDogQHZhbHVlO1xyXG4gIGNvbHVtbi13aWR0aDogQHZhbHVlO1xyXG59XHJcblxyXG4uY29sdW1uLWZpbGwoQHZhbHVlKSB7XHJcbiAgLW1vei1jb2x1bW4tZmlsbDogQHZhbHVlO1xyXG4gIC13ZWJraXQtY29sdW1uLWZpbGw6IEB2YWx1ZTtcclxuICBjb2x1bW4tZmlsbDogQHZhbHVlO1xyXG59XHJcblxyXG4uY29sdW1ucyhAdmFsdWUpIHtcclxuICAtbW96LWNvbHVtbnM6IEB2YWx1ZTtcclxuICAtd2Via2l0LWNvbHVtbnM6IEB2YWx1ZTtcclxuICBjb2x1bW5zOiBAdmFsdWU7XHJcbn1cclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdHlwZWFoZWFkLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBMaW1pdHMgdGhlIHR5cGVhaGVhZCBsaXN0IHdoZW4gaXQgYmVjb21lcyB0b28gbGFyZ2VcclxuLnR5cGVhaGVhZC1jdHJsIHtcclxuICAuZHJvcGRvd24tbWVudSB7XHJcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcclxuICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGxvYWRpbmctYmFyLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi8qXHJcbiAqIGFuZ3VsYXItbG9hZGluZy1iYXIgdjAuNi4wICogaHR0cHM6Ly9jaGllZmZhbmN5cGFudHMuZ2l0aHViLmlvL2FuZ3VsYXItbG9hZGluZy1iYXJcclxuICogQ29weXJpZ2h0IChjKSAyMDE0IFdlcyBDcnV2ZXIgKiBMaWNlbnNlOiBNSVRcclxuICovXHJcblxyXG5cclxuQGxvYWRpbmctYmFyLWJnOiAgICAgICAgQGJyYW5kLWluZm87XHJcbkBsb2FkaW5nLWJhci1oZzogICAgICAgIDNweDtcclxuXHJcbiNsb2FkaW5nLWJhciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IDkwMDAyO1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGhlaWdodDogQGxvYWRpbmctYmFyLWhnO1xyXG4gIFxyXG4gIC5sYXlvdXQtZml4ZWQgJiB7XHJcbiAgICB0b3A6IEBoZWFkZXItaGc7XHJcbiAgfVxyXG59XHJcblxyXG4vKiBNYWtlIGNsaWNrcyBwYXNzLXRocm91Z2ggKi9cclxuI2xvYWRpbmctYmFyLFxyXG4jbG9hZGluZy1iYXItc3Bpbm5lciB7XHJcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgLXdlYmtpdC1wb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAtd2Via2l0LXRyYW5zaXRpb246IDM1MG1zIGxpbmVhciBhbGw7XHJcbiAgLW1vei10cmFuc2l0aW9uOiAzNTBtcyBsaW5lYXIgYWxsO1xyXG4gIC1vLXRyYW5zaXRpb246IDM1MG1zIGxpbmVhciBhbGw7XHJcbiAgdHJhbnNpdGlvbjogMzUwbXMgbGluZWFyIGFsbDtcclxufVxyXG5cclxuI2xvYWRpbmctYmFyLm5nLWVudGVyLFxyXG4jbG9hZGluZy1iYXIubmctbGVhdmUubmctbGVhdmUtYWN0aXZlLFxyXG4jbG9hZGluZy1iYXItc3Bpbm5lci5uZy1lbnRlcixcclxuI2xvYWRpbmctYmFyLXNwaW5uZXIubmctbGVhdmUubmctbGVhdmUtYWN0aXZlIHtcclxuICBvcGFjaXR5OiAwO1xyXG59XHJcblxyXG4jbG9hZGluZy1iYXIubmctZW50ZXIubmctZW50ZXItYWN0aXZlLFxyXG4jbG9hZGluZy1iYXIubmctbGVhdmUsXHJcbiNsb2FkaW5nLWJhci1zcGlubmVyLm5nLWVudGVyLm5nLWVudGVyLWFjdGl2ZSxcclxuI2xvYWRpbmctYmFyLXNwaW5uZXIubmctbGVhdmUge1xyXG4gIG9wYWNpdHk6IDE7XHJcbn1cclxuXHJcbiNsb2FkaW5nLWJhciAuYmFyIHtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiB3aWR0aCAzNTBtcztcclxuICAtbW96LXRyYW5zaXRpb246IHdpZHRoIDM1MG1zO1xyXG4gIC1vLXRyYW5zaXRpb246IHdpZHRoIDM1MG1zO1xyXG4gIHRyYW5zaXRpb246IHdpZHRoIDM1MG1zO1xyXG5cclxuICBiYWNrZ3JvdW5kOiBAbG9hZGluZy1iYXItYmc7XHJcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDFweDtcclxuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMXB4O1xyXG59XHJcblxyXG4vKiBGYW5jeSBibHVyIGVmZmVjdCAqL1xyXG4jbG9hZGluZy1iYXIgLnBlZyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiA3MHB4O1xyXG4gIHJpZ2h0OiAwO1xyXG4gIHRvcDogMDtcclxuICBoZWlnaHQ6IDJweDtcclxuICBvcGFjaXR5OiAuNDU7XHJcbiAgLW1vei1ib3gtc2hhZG93OiBAbG9hZGluZy1iYXItYmcgMXB4IDAgNnB4IDFweDtcclxuICAtbXMtYm94LXNoYWRvdzogQGxvYWRpbmctYmFyLWJnIDFweCAwIDZweCAxcHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAbG9hZGluZy1iYXItYmcgMXB4IDAgNnB4IDFweDtcclxuICBib3gtc2hhZG93OiBAbG9hZGluZy1iYXItYmcgMXB4IDAgNnB4IDFweDtcclxuICAtbW96LWJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcbn1cclxuXHJcbiNsb2FkaW5nLWJhci1zcGlubmVyIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgei1pbmRleDogOTAwMDI7XHJcbiAgdG9wOiAxMHB4O1xyXG4gIGxlZnQ6IDEwcHg7XHJcbn1cclxuXHJcbiNsb2FkaW5nLWJhci1zcGlubmVyIC5zcGlubmVyLWljb24ge1xyXG4gIHdpZHRoOiAxNHB4O1xyXG4gIGhlaWdodDogMTRweDtcclxuXHJcbiAgYm9yZGVyOiAgc29saWQgMnB4IHRyYW5zcGFyZW50O1xyXG4gIGJvcmRlci10b3AtY29sb3I6ICBAbG9hZGluZy1iYXItYmc7XHJcbiAgYm9yZGVyLWxlZnQtY29sb3I6IEBsb2FkaW5nLWJhci1iZztcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG5cclxuICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZGluZy1iYXItc3Bpbm5lciA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgLW1vei1hbmltYXRpb246ICAgIGxvYWRpbmctYmFyLXNwaW5uZXIgNDAwbXMgbGluZWFyIGluZmluaXRlO1xyXG4gIC1tcy1hbmltYXRpb246ICAgICBsb2FkaW5nLWJhci1zcGlubmVyIDQwMG1zIGxpbmVhciBpbmZpbml0ZTtcclxuICAtby1hbmltYXRpb246ICAgICAgbG9hZGluZy1iYXItc3Bpbm5lciA0MDBtcyBsaW5lYXIgaW5maW5pdGU7XHJcbiAgYW5pbWF0aW9uOiAgICAgICAgIGxvYWRpbmctYmFyLXNwaW5uZXIgNDAwbXMgbGluZWFyIGluZmluaXRlO1xyXG59XHJcblxyXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGluZy1iYXItc3Bpbm5lciB7XHJcbiAgMCUgICB7IC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7ICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuQC1tb3ota2V5ZnJhbWVzIGxvYWRpbmctYmFyLXNwaW5uZXIge1xyXG4gIDAlICAgeyAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7IC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcbkAtby1rZXlmcmFtZXMgbG9hZGluZy1iYXItc3Bpbm5lciB7XHJcbiAgMCUgICB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7IC1vLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH1cclxufVxyXG5ALW1zLWtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyIHtcclxuICAwJSAgIHsgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XHJcbiAgMTAwJSB7IC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9XHJcbn1cclxuQGtleWZyYW1lcyBsb2FkaW5nLWJhci1zcGlubmVyIHtcclxuICAwJSAgIHsgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7ICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cclxuICAxMDAlIHsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGZvcm0tdmFsaWRhdGlvbi5sZXNzXHJcbiAgIChodHRwOi8vbWRvLmdpdGh1Yi5pby90YWJsZS1ncmlkKVxyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBtZWRpYSBAdGFibGV0IHtcclxuXHJcbiAgLy8gQWRkIGAudGFibGUtZ3JpZGAgZm9yIHRoZSB0YWJsZSBcclxuICAudGFibGUtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICB9XHJcblxyXG4gIC8vIEFkZCBgLmNvbGAgZm9yIHRoZSB0YWJsZSBjZWxscywgb3IgY29sdW1uc1xyXG4gIC5jb2wge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgLy8gdmVydGljYWwgY2VudGVyIGEgY29sXHJcbiAgICAmLmNvbC1mdWxsLWNlbnRlciB7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgLy8gU2V0IHRoZSB3aWR0aHMgXHJcbiAgLmNvbC0xIHsgd2lkdGg6IDguMzMzMzMzJTsgfVxyXG4gIC5jb2wtMiB7IHdpZHRoOiAxNi42NjY2NjclOyB9XHJcbiAgLmNvbC0zIHsgd2lkdGg6IDI1JTsgfVxyXG4gIC5jb2wtNCB7IHdpZHRoOiAzMy4zMzMzMzMlOyB9XHJcbiAgLmNvbC01IHsgd2lkdGg6IDQxLjY2NjY2NyU7IH1cclxuICAuY29sLTYgeyB3aWR0aDogNTAlOyB9XHJcbiAgLmNvbC03IHsgd2lkdGg6IDU4LjMzMzMzMyU7IH1cclxuICAuY29sLTggeyB3aWR0aDogNjYuNjY2NjY3JTsgfVxyXG4gIC5jb2wtOSB7IHdpZHRoOiA3NSU7IH1cclxuICAuY29sLTEwIHsgd2lkdGg6IDgzLjMzMzMzMyU7IH1cclxuICAuY29sLTExIHsgd2lkdGg6IDkxLjY2NjY2NyU7IH1cclxuICAuY29sLTEyIHsgd2lkdGg6IDEwMCU7IH1cclxuICBcclxuICAvLyBmaXhlZCB0aGUgd2lkdGhzIFxyXG4gIC5jb2wtdGlueSB7ICAmOmV4dGVuZCgud2QtdGlueSk7IH1cclxuICAuY29sLXh4cyAgeyAgJjpleHRlbmQoLndkLXh4cyk7ICB9XHJcbiAgLmNvbC14cyAgIHsgICY6ZXh0ZW5kKC53ZC14cyk7ICAgfVxyXG4gIC5jb2wtc20gICB7ICAmOmV4dGVuZCgud2Qtc20pOyAgIH1cclxuICAuY29sLXNkICAgeyAgJjpleHRlbmQoLndkLXNkKTsgICB9XHJcbiAgLmNvbC1tZCAgIHsgICY6ZXh0ZW5kKC53ZC1tZCk7ICAgfVxyXG4gIC5jb2wtbGcgICB7ICAmOmV4dGVuZCgud2QtbGcpOyAgIH1cclxuICAuY29sLXhsICAgeyAgJjpleHRlbmQoLndkLXhsKTsgICB9XHJcbiAgLmNvbC14eGwgIHsgICY6ZXh0ZW5kKC53ZC14eGwpOyAgfVxyXG4gIC5jb2wtd2lkZSB7ICAmOmV4dGVuZCgud2Qtd2lkZSk7IH1cclxuICAuY29sLWF1dG8geyAgJjpleHRlbmQoLndkLWF1dG8pOyB9XHJcblxyXG4gIC8vIFBhZGRlZCBjb2x1bW5zIFxyXG4gIC50YWJsZS1ncmlkLXBhZGRlZCB7XHJcbiAgICBtYXJnaW4tbGVmdDogIC0xcmVtO1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcclxuICB9XHJcbiAgLnRhYmxlLWdyaWQtcGFkZGVkIC50YWJsZS1ncmlkIHtcclxuICAgIGJvcmRlci1zcGFjaW5nOiAxcmVtIDA7XHJcbiAgfVxyXG5cclxuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciBncmlkIGNvbnRlbnRcclxuICAvLyBSZXF1aXJlcyBjb250ZW50IHdpdGhpbiB0aGUgY29sdW1uIHRvIGJlIGlubGluZSBvciBpbmxpbmUtYmxvY2suXHJcblxyXG4gIC50YWJsZS1ncmlkLWFsaWduLW1pZGRsZSAuY29sIHtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG5cclxufVxyXG4iLCIucGFsZXR0ZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMTBweCAxMHB4IDE1cHggMTBweDtcclxuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAtbXMtYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLW8tYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwcHggMnB4IDBweCAjZTJlOGViO1xyXG4gICAgLW1vei1ib3gtc2hhZG93OiAwcHggMnB4IDBweCAjZTJlOGViO1xyXG4gICAgLW1zLWJveC1zaGFkb3c6IDBweCAycHggMHB4ICNlMmU4ZWI7XHJcbiAgICAtby1ib3gtc2hhZG93OiAwcHggMnB4IDBweCAjZTJlOGViO1xyXG4gICAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggI2UyZThlYjtcclxuICAgIG1hcmdpbjogMzBweCAwO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlXHJcbn1cclxuXHJcbi5jb2xvciB7XHJcbiAgICBoZWlnaHQ6IDE0MHB4XHJcbn1cclxuXHJcbi5pbmZvIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIG1hcmdpbi1ib3R0b206IC01cHg7XHJcbiAgICBmb250LXNpemU6IDE1cHg7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtZmFtaWx5OiBcIkF2ZW5pck5leHRMVFByb0JvbGRcIiwgXCJMdWNpZGEgR3JhbmRlXCIsIEFyaWFsLCBzYW5zLXNlcmlmO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlXHJcbn1cclxuXHJcbi5pbmZvIGxpIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBkaXNwbGF5OiBibG9ja1xyXG59XHJcblxyXG4uaW5mbyBzcGFuIHtcclxuICAgIGZvbnQtc2l6ZTogMjRweDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbWFyZ2luLXRvcDogLTE3cHg7XHJcbiAgICBjb2xvcjogIzgzOTE5OVxyXG59XHJcblxyXG4uaW5mbyAuY2xpcGJvYXJkIHtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyXHJcbn1cclxuXHJcbi5pbmZvIC5pY29uLWdsb2JlIHtcclxuICAgIHJpZ2h0OiAzMHB4XHJcbn1cclxuXHJcbi5pbmZvIGxpOm50aC1jaGlsZCgxKSB7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgY29sb3I6ICM0MTRiNTVcclxufVxyXG5cclxuLmluZm8gbGk6bnRoLWNoaWxkKDIpIHtcclxuICAgIHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7XHJcbiAgICBjb2xvcjogIzgzOTE5OVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGNoYXQubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5jaGF0IHtcclxuICBsaXN0LXN0eWxlOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG4gIHBhZGRpbmctcmlnaHQ6IDZweDtcclxuXHJcbiAgbGkge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XHJcbiAgICAuY2hhdC1ib2R5IHtcclxuICAgICAgYm94LXNoYWRvdzogMCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5LWxpZ2h0OyAgICAgIFxyXG4gICAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgY29sb3I6IEB0ZXh0LW11dGVkO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAuY2hhdC1oZWFkZXIge1xyXG4gICAgICBwYWRkaW5nOiAxMHB4O1xyXG4gICAgfVxyXG4gICAgLmNoYXQtbXNnIHtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogQGJvcmRlci1yYWRpdXMtc21hbGw7XHJcbiAgICB9XHJcblxyXG4gICAgJi5sZWZ0IC5jaGF0LWJvZHkge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiA2MHB4O1xyXG4gICAgICAgIC5jaGF0LW1zZyB7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYucmlnaHQgLmNoYXQtYm9keSB7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA2MHB4O1xyXG4gICAgICAgIC5jaGF0LW1zZyB7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcbn1cclxuXHJcbi5wYW5lbCAuc2xpZGVkb3duIC5nbHlwaGljb24sIC5jaGF0IC5nbHlwaGljb24ge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XHJcbn1cclxuIiwiXHJcbi5idG4tc3dpdGNoIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBcclxuICA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSAge1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgIGN1cnNvcjpwb2ludGVyO1xyXG4gICAgbGVmdDotMTAwJTtcclxuICAgIHRvcDotMTAwJTtcclxuICAgIFxyXG4gICAgKyAuYnRuIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogQGJyYW5kLXByaW1hcnk7XHJcbiAgICAgIGNvbG9yOiBAYnJhbmQtcHJpbWFyeSA7XHJcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICAgID4gZW0ge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB0b3A6IC0xcHg7XHJcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAycHg7XHJcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIEBicmFuZC1wcmltYXJ5O1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICBwYWRkaW5nOiAyLjVweDtcclxuICAgICAgICBtYXJnaW46IDAgNHB4IDAgMDtcclxuICAgICAgICBmb250LXNpemU6IDEwcHg7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyAgICBcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAvLyB0b3A6IDFweDtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmNoZWNrZWQgKyAuYnRuIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXByaW1hcnk7XHJcbiAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICA+IGVtIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAgIGNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxuICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5idG4tc3dpdGNoLXByaW1hcnkgICB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXByaW1hcnkpOyAgIH1cclxuLmJ0bi1zd2l0Y2gtc3VjY2VzcyAgIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtc3VjY2Vzcyk7ICAgfVxyXG4uYnRuLXN3aXRjaC1pbmZvICAgICAgeyAuYnRuLXN3aXRjaC12YXJpYW50KEBicmFuZC1pbmZvKTsgICAgICB9XHJcbi5idG4tc3dpdGNoLXdhcm5pbmcgICB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXdhcm5pbmcpOyAgIH1cclxuLmJ0bi1zd2l0Y2gtZGFuZ2VyICAgIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtZGFuZ2VyKTsgICAgfVxyXG4uYnRuLXN3aXRjaC1pbnZlcnNlICAgeyAuYnRuLXN3aXRjaC12YXJpYW50KEBicmFuZC1pbnZlcnNlKTsgICB9XHJcbi5idG4tc3dpdGNoLXR1cnF1b2lzZSB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXR1cnF1b2lzZSk7IH1cclxuLmJ0bi1zd2l0Y2gtcGluayAgICAgIHsgLmJ0bi1zd2l0Y2gtdmFyaWFudChAYnJhbmQtcGluayk7ICAgICAgfVxyXG4uYnRuLXN3aXRjaC1wdXJwbGUgICAgeyAuYnRuLXN3aXRjaC12YXJpYW50KEBicmFuZC1wdXJwbGUpOyAgICB9XHJcbi5idG4tc3dpdGNoLW9yYW5nZSAgICB7IC5idG4tc3dpdGNoLXZhcmlhbnQoQGJyYW5kLW9yYW5nZSk7ICAgIH1cclxuXHJcbi5idG4tc3dpdGNoLXZhcmlhbnQoQGNvbG9yKSB7XHJcblxyXG4gICYgPiBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gIHtcclxuICAgIFxyXG4gICAgKyAuYnRuIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7XHJcbiAgICAgIGNvbG9yOiBAY29sb3IgIWltcG9ydGFudDtcclxuICAgICAgPiBlbSB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAY29sb3I7ICAgIFxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmOmNoZWNrZWQgKyAuYnRuIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xyXG4gICAgICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xyXG4gICAgICA+IGVtIHtcclxuICAgICAgICBjb2xvcjogQGNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGZlYXRoZXItaWNvbnMubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi5pY29uLWV5ZSwuaWNvbi1wYXBlci1jbGlwLC5pY29uLW1haWwsLmljb24tdG9nZ2xlLC5pY29uLWxheW91dCwuaWNvbi1saW5rLC5pY29uLWJlbGwsLmljb24tbG9jaywuaWNvbi11bmxvY2ssLmljb24tcmliYm9uLC5pY29uLWltYWdlLC5pY29uLXNpZ25hbCwuaWNvbi10YXJnZXQsLmljb24tY2xpcGJvYXJkLC5pY29uLWNsb2NrLC5pY29uLWNsb2NrLC5pY29uLXdhdGNoLC5pY29uLWFpci1wbGF5LC5pY29uLWNhbWVyYSwuaWNvbi12aWRlbywuaWNvbi1kaXNjLC5pY29uLXByaW50ZXIsLmljb24tbW9uaXRvciwuaWNvbi1zZXJ2ZXIsLmljb24tY29nLC5pY29uLWhlYXJ0LC5pY29uLXBhcmFncmFwaCwuaWNvbi1hbGlnbi1qdXN0aWZ5LC5pY29uLWFsaWduLWxlZnQsLmljb24tYWxpZ24tY2VudGVyLC5pY29uLWFsaWduLXJpZ2h0LC5pY29uLWJvb2ssLmljb24tbGF5ZXJzLC5pY29uLXN0YWNrLC5pY29uLXN0YWNrLTIsLmljb24tcGFwZXIsLmljb24tcGFwZXItc3RhY2ssLmljb24tc2VhcmNoLC5pY29uLXpvb20taW4sLmljb24tem9vbS1vdXQsLmljb24tcmVwbHksLmljb24tY2lyY2xlLXBsdXMsLmljb24tY2lyY2xlLW1pbnVzLC5pY29uLWNpcmNsZS1jaGVjaywuaWNvbi1jaXJjbGUtY3Jvc3MsLmljb24tc3F1YXJlLXBsdXMsLmljb24tc3F1YXJlLW1pbnVzLC5pY29uLXNxdWFyZS1jaGVjaywuaWNvbi1zcXVhcmUtY3Jvc3MsLmljb24tbWljcm9waG9uZSwuaWNvbi1yZWNvcmQsLmljb24tc2tpcC1iYWNrLC5pY29uLXJld2luZCwuaWNvbi1wbGF5LC5pY29uLXBhdXNlLC5pY29uLXN0b3AsLmljb24tZmFzdC1mb3J3YXJkLC5pY29uLXNraXAtZm9yd2FyZCwuaWNvbi1zaHVmZmxlLC5pY29uLXJlcGVhdCwuaWNvbi1mb2xkZXIsLmljb24tdW1icmVsbGEsLmljb24tbW9vbiwuaWNvbi10aGVybW9tZXRlciwuaWNvbi1kcm9wLC5pY29uLXN1biwuaWNvbi1jbG91ZCwuaWNvbi1jbG91ZC11cGxvYWQsLmljb24tY2xvdWQtZG93bmxvYWQsLmljb24tdXBsb2FkLC5pY29uLWRvd25sb2FkLC5pY29uLWxvY2F0aW9uLC5pY29uLWxvY2F0aW9uLTIsLmljb24tbWFwLC5pY29uLWJhdHRlcnksLmljb24taGVhZCwuaWNvbi1icmllZmNhc2UsLmljb24tc3BlZWNoLWJ1YmJsZSwuaWNvbi1hbmNob3IsLmljb24tZ2xvYmUsLmljb24tYm94LC5pY29uLXJlbG9hZCwuaWNvbi1zaGFyZSwuaWNvbi1tYXJxdWVlLC5pY29uLW1hcnF1ZWUtcGx1cywuaWNvbi1tYXJxdWVlLW1pbnVzLC5pY29uLXRhZywuaWNvbi1wb3dlciwuaWNvbi1jb21tYW5kLC5pY29uLWFsdCwuaWNvbi1lc2MsLmljb24tYmFyLWdyYXBoLC5pY29uLWJhci1ncmFwaC0yLC5pY29uLXBpZS1ncmFwaCwuaWNvbi1zdGFyLC5pY29uLWFycm93LWxlZnQsLmljb24tYXJyb3ctcmlnaHQsLmljb24tYXJyb3ctdXAsLmljb24tYXJyb3ctZG93biwuaWNvbi12b2x1bWUsLmljb24tbXV0ZSwuaWNvbi1jb250ZW50LXJpZ2h0LC5pY29uLWNvbnRlbnQtbGVmdCwuaWNvbi1ncmlkLC5pY29uLWdyaWQtMiwuaWNvbi1jb2x1bW5zLC5pY29uLWxvYWRlciwuaWNvbi1iYWcsLmljb24tYmFuLC5pY29uLWZsYWcsLmljb24tdHJhc2gsLmljb24tZXhwYW5kLC5pY29uLWNvbnRyYWN0LC5pY29uLW1heGltaXplLC5pY29uLW1pbmltaXplLC5pY29uLXBsdXMsLmljb24tbWludXMsLmljb24tY2hlY2ssLmljb24tY3Jvc3MsLmljb24tbW92ZSwuaWNvbi1kZWxldGUsLmljb24tbWVudSwuaWNvbi1hcmNoaXZlLC5pY29uLWluYm94LC5pY29uLW91dGJveCwuaWNvbi1maWxlLC5pY29uLWZpbGUtYWRkLC5pY29uLWZpbGUtc3VidHJhY3QsLmljb24taGVscCwuaWNvbi1vcGVuLC5pY29uLWVsbGlwc2lzIHtcclxuICBmb250LXNpemU6IDE1cHg7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IGF1dG87XHJcbiAgLy8gdmVydGljYWwtYWxpZ246IHRvcDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBjYWxlbmRhci5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLmNhbGVuZGFyLWFwcCB7XHJcblxyXG4gIC5mYy1idXR0b24ge1xyXG4gICAgLmJ1dHRvbi12YXJpYW50KEBidG4tZGVmYXVsdC1jb2xvcjsgQGJ0bi1kZWZhdWx0LWJnOyBAYnRuLWRlZmF1bHQtYm9yZGVyKTsgXHJcbiAgICAuYnV0dG9uLXNpemUoQHBhZGRpbmctc21hbGwtdmVydGljYWw7IEBwYWRkaW5nLXNtYWxsLWhvcml6b250YWw7IEBmb250LXNpemUtc21hbGw7IEBsaW5lLWhlaWdodC1zbWFsbDsgQGJvcmRlci1yYWRpdXMtc21hbGwpO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgICY6YWN0aXZlLFxyXG4gICAgJi5hY3RpdmUsXHJcbiAgICAmLmZjLXN0YXRlLWFjdGl2ZSB7XHJcbiAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgICAgIC5ib3gtc2hhZG93KGluc2V0IDAgM3B4IDVweCByZ2JhKDAsMCwwLC4xMjUpKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAuZmMtZXZlbnQge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQGJyYW5kLWluZm87XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtaW5mbztcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxuICBcclxuICAuZmMtYnV0dG9uIC5mYy1pY29uIHtcclxuICAgIG1hcmdpbjogMCAuMWVtO1xyXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xyXG4gICAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lICFpbXBvcnRhbnQ7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XHJcbiAgICBjb2xvcjogIzU1NTtcclxuICAgIC8vIFJlbW92ZSBhbnkgaWNvbiBwcmVkZWZpbmVkIGJ5IEZ1bGxDYWxlbmRhclxyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICB9XHJcbiAgICBAZmEtdmFyLWFuZ2xlLWxlZnQ6IFwiXFxmMTA0XCI7XHJcbiAgICBAZmEtdmFyLWFuZ2xlLXJpZ2h0OiBcIlxcZjEwNVwiO1xyXG4gICAgJi5mYy1pY29uLXJpZ2h0LXNpbmdsZS1hcnJvdyB7XHJcbiAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiBAZmEtdmFyLWFuZ2xlLXJpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmZjLWljb24tbGVmdC1zaW5nbGUtYXJyb3cge1xyXG4gICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgY29udGVudDogQGZhLXZhci1hbmdsZS1sZWZ0O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIC8vIEhvdmVyIGFuZCB0b2RheSBoaWxpZ2h0XHJcbiAgLmZjLXN0YXRlLWhpZ2hsaWdodCxcclxuICAuZmMtZGF5OmhvdmVyLFxyXG4gIC5mYy11bnRoZW1lZCAuZmMtdG9kYXkge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXktbGlnaHRlcjtcclxuICB9XHJcbiAgXHJcbiAgLy8gUmFuZ2Ugc2VsZWN0aW9uXHJcbiAgLmZjLWNlbGwtb3ZlcmxheSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlb3V0KEBicmFuZC1wcmltYXJ5LCAzMCUpOyBcclxuICB9XHJcblxyXG4gIC5mYy1kYXktbnVtYmVyIHtcclxuICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgY29sb3I6ICNhMWEyYTM7XHJcbiAgfVxyXG5cclxuXHJcbiAgLy8gQWxsb3cgdG8gZHJhZyBldmVudCBvdXRzaWRlIHRoZSBjYWxlbmRhclxyXG4gIC5mYy12aWV3IHtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxuXHJcblxyXG4gIC8vIENhbGVuZGFyIGFwcCBzdHlsZXNcclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuICAuZXh0ZXJuYWwtZXZlbnRzIHtcclxuICAgIG1hcmdpbjogMDtcclxuICAgID4gZGl2IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xyXG4gICAgICBwYWRkaW5nOiA2cHggMTBweDtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJjplbXB0eSB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiRU1SVFBVWVwiO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy8gUmVtb3ZlIGV2ZW50cyBkcm9wIGFyZWFcclxuICAuZXh0ZXJuYWwtZXZlbnRzLXRyYXNoIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1pbi1oZWlnaHQ6IDEyMHB4O1xyXG4gICAgJjphZnRlciB7XHJcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7IC8vIC5mYS10aW1lc1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIHRvcDogMDsgbGVmdDogMDtcclxuICAgICAgcmlnaHQ6IDA7IGJvdHRvbTogMDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWludmVyc2U7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiBGb250QXdlc29tZTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZm9udC1zaXplOiA1MHB4O1xyXG4gICAgICBwYWRkaW5nOiA4JTtcclxuICAgICAgbWF4LWhlaWdodDogMTAwJTtcclxuICAgICAgLnRyYW5zaXRpb24oYWxsIC4zcyBlYXNlKTtcclxuICAgICAgei1pbmRleDogLTE7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZTphZnRlciB7XHJcbiAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgIHotaW5kZXg6IDE7XHJcbiAgICB9XHJcbiAgICAmLmhvdmVyZWQ6YWZ0ZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmI3OTdlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmV4dGVybmFsLWV2ZW50LWNvbG9yLXNlbGVjdG9yIHtcclxuICAgIC5jaXJjbGUuc2VsZWN0ZWQge1xyXG4gICAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwb3J0bGV0cy5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuXHJcbi8vIEEgbWluaW11bSBoZWlnaHQgaXMgbmVjZXNzYXJ5IFxyXG4vLyB0byBhbGxvdyBlbXB0eSBjb2xzIGFjY2VwdCBwb3J0bGV0c1xyXG5cclxuW3BvcnRsZXRdIHtcclxuXHJcbiAgbWluLWhlaWdodDogMzBweDtcclxuICBcclxuICAvLyBNYW51YWxseSBjaG9vc2Ugd2hpY2ggZWxlbWVudCBcclxuICAvLyBzaG93cyBhIHBvaW50ZXIgdG8gaW5kaWNhdGUgZHJhZ1xyXG4gICYucG9ydGxldC1oYW5kbGVyLFxyXG4gIC5wb3J0bGV0LWhhbmRsZXIge1xyXG4gICAgY3Vyc29yOiBtb3ZlO1xyXG4gIH1cclxufVxyXG5cclxuLnBvcnRsZXRzLXdyYXBwZXIge1xyXG4gIG1hcmdpbi1yaWdodDogYXV0bztcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgcGFkZGluZy1yaWdodDogMTVweDtcclxuICBvdmVyZmxvdzogYXV0bztcclxufVxyXG5cclxuLy8ganF1ZXJ5VUkgY29udHJvbHMgdGhlIGhlaWdodCwgc28gd2UgcmV1c2UgXHJcbi8vIHRoZSBwbGFjZWhvbGRlciBjb21wb25lbnQgd2l0aCB6ZXJvIHBhZGRpbmdcclxuLy8gLnBvcnRsZXQgaXMganVzdCB0byBkZXRlY3QgdGhlIHBvcnRsZXQgaW5zdGFuY2VcclxuXHJcbi5wb3J0bGV0LmJveC1wbGFjZWhvbGRlciB7XHJcbiAgXHJcbiAgcGFkZGluZzogMDtcclxuXHJcbn1cclxuXHJcbi8vIFNvbWV0aW1lcyBzb21lIGVsZW1lbnQgc2hvdWxkbid0IHRyaWdnZXIgYSBkcmFnXHJcbi8vIGFkZCB0aGlzIGNsYXNzIHRvIGFueSBlbGVtZW50IHRvIGNhbmNlbCBkcmFnXHJcbi5wb3J0bGV0LWNhbmNlbCB7fSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHRhc2tzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbi50YXNrIHtcclxuXHJcbiAgLnRhc2staXRlbS1saXN0IHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcblxyXG4gIC50YXNrLWl0ZW0ge1xyXG4gICAgLnRyYW5zaXRpb24oflwiY29sb3IgMC42cywgYmFja2dyb3VuZC1jb2xvciAwLjNzXCIpO1xyXG4gICAgXHJcbiAgICAucGFuZWwtaGVhZGluZyB7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLm5nLWVudGVyIHtcclxuICAgICAgLmFuaW1hdGlvbihmYWRlSW5MZWZ0IDFzKTtcclxuICAgIH1cclxuICAgIFxyXG4gICAgJi5uZy1sZWF2ZSB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMDsgcmlnaHQ6IDA7XHJcbiAgICAgIC5hbmltYXRpb24oZmFkZU91dFJpZ2h0QmlnIC41cyk7XHJcbiAgICAgIC5hbmltYXRpb24tZmlsbC1tb2RlKGJvdGgpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAudGFzay1lZGl0IHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgJjpob3ZlciAudGFzay1lZGl0IHtcclxuICAgICAgZGlzcGxheTogaW5saW5lO1xyXG4gICAgfVxyXG4gICAgJi50YXNrLWNvbXBsZXRlIC50YXNrLWVkaXQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIHRleHRhcmVhIHtcclxuICAgIHJlc2l6ZTogbm9uZTtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICB9XHJcblxyXG4gIC50YXNrLWNvbXBsZXRlIHtcclxuICAgIGJhY2tncm91bmQ6IEBncmF5LWxpZ2h0ZXI7XHJcbiAgICBvcGFjaXR5OiAuNjtcclxuICAgIGNvbG9yOiBAZ3JheS1kYXJrZXI7XHJcbiAgICBcclxuICAgIC50YXNrLXRpdGxlIHtcclxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAucGFuZWwtZ3JvdXAge1xyXG4gICAgPiAucGFuZWwge1xyXG4gICAgICBib3JkZXI6IDFweDtcclxuICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAucGFuZWwtYm9keSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmF5LWxpZ2h0ZXI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBtYWlsYm94Lmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AbWFpbC1ib3gtYWN0aXZlLWl0ZW06ICAgICAgICAgICM1Y2FjZGU7XHJcbkBtYWlsLWJveC1ob3Zlci1pdGVtOiAgICAgICAgICAgI2U5ZWVlZjtcclxuQG1haWwtbWFpbHMtYWN0aXZlOiAgICAgICAgICAgICAjZjdmOGY5O1xyXG5cclxuQG1haWwtbmF2LWl0ZW0taG92ZXI6ICAgICAgICAgICBAZ3JheS1saWdodGVyO1xyXG5cclxuLm1iLWJveGVzIHtcclxuICBcclxuICBoZWlnaHQ6IDA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcblxyXG4gIEBtZWRpYSBAZGVza3RvcC1sZyB7XHJcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICB9XHJcbiAgXHJcbiAgYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgY29sb3I6IEBncmF5O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbWFpbC1uYXYtaXRlbS1ob3ZlcjtcclxuICAgICAgY29sb3I6IEBncmF5LWRhcms7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgQG1haWwtbmF2LWl0ZW0taG92ZXI7XHJcbiAgICB9XHJcbiAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICYsICY6aG92ZXIsICY6Zm9jdXMge1xyXG4gICAgICAgIGNvbG9yOiBAZ3JheS1kYXJrO1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4ubWItbWFpbHMtcmVzcG9uc2l2ZSB7XHJcbiAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gIG92ZXJmbG93OiBhdXRvO1xyXG59XHJcblxyXG4ubWItbWFpbHMge1xyXG5cclxuICA+IHRib2R5ID4gdHIgPiB0ZCB7XHJcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQGdyYXktbGlnaHQ7XHJcbiAgfVxyXG5cclxuICAubWItbWFpbC1hY3RpdmUge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG1haWwtbWFpbHMtYWN0aXZlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAubWItbWFpbC1kYXRlIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgY29sb3I6IEB0ZXh0LW11dGVkO1xyXG4gICAgZm9udC1zaXplOiAxMnB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICAubWItbWFpbC1mcm9tIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgY29sb3I6IEBncmF5LWRhcmtlcjtcclxuICAgIGZvbnQtc2l6ZTogMTdweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG4gIH1cclxuXHJcbiAgLm1iLW1haWwtc3ViamVjdCB7XHJcbiAgICBjb2xvcjogQGdyYXktZGFya2VyO1xyXG4gICAgZm9udC1zaXplOiAxM3B4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XHJcbiAgICAudGV4dC1lbGxpcHNpcztcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBtYXgtd2lkdGg6IDI4Y2g7XHJcbiAgfVxyXG5cclxuICAubWItbWFpbC1wcmV2aWV3IHtcclxuICAgIGNsZWFyOiBib3RoO1xyXG4gICAgbWFyZ2luLXRvcDogMTBweDtcclxuICAgIGNvbG9yOiBAdGV4dC1tdXRlZDtcclxuICB9XHJcbiAgLm1iLXVucmVhZCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheS1saWdodGVyO1xyXG4gIH1cclxufVxyXG5cclxuLm1iLXBhbmVsIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICA+IC5tYi1wYW5lbC1pbm5lciB7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAuYmFja2ZhY2UtdmlzaWJpbGl0eShoaWRkZW4pOyAgICBcclxuICAgIC50cmFuc2xhdGUzZCgwLCAwLCAwKTtcclxuICAgIC50cmFuc2l0aW9uLXRyYW5zZm9ybSguM3MgZWFzZSk7XHJcbiAgICAuY2xlYXJmaXgoKTtcclxuXHJcbiAgICA+IC5tYi1wYW5lbC1jb250ZW50IHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIGxlZnQ6IDEwMCU7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBAbWVkaWEgQHRhYmxldCB7XHJcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IC5tYi1wYW5lbC1saXN0IHtcclxuICAgICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XHJcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICA+IC5tYi1wYW5lbC1saXN0LFxyXG4gICAgPiAubWItcGFuZWwtY29udGVudCB7XHJcbiAgICAgIGZsb2F0OiBsZWZ0O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIEBtZWRpYSBAdGFibGV0IHtcclxuICAgICAgPiAubWItcGFuZWwtbGlzdCB7XHJcbiAgICAgICAgd2lkdGg6IDQwJTtcclxuICAgICAgfVxyXG4gICAgICA+IC5tYi1wYW5lbC1jb250ZW50IHtcclxuICAgICAgICB3aWR0aDogNjAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG5cclxuICAgICYubWItY29udGVudC1vcGVuIHtcclxuICAgICAgLnRyYW5zbGF0ZTNkKC0xMDAlLCAwLCAwKTtcclxuICAgIH1cclxuICBcclxuICB9XHJcblxyXG4gIC5tYi1wYW5lbC1iYWNrIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMTBweCAwIDIwcHggMDtcclxuICAgIGNvbG9yOiAjMDAwO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgY29sb3I6IEB0ZXh0LW11dGVkO1xyXG4gICAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLm1iLXBhbmVsLWNvbnRlbnQge1xyXG4gID4gaDMge1xyXG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICBmb250LXNpemU6IDMwcHg7XHJcbiAgfVxyXG4gIFxyXG4gIC5tYi1wYW5lbC1mb3JtIHtcclxuICAgIC5tYi1wYW5lbC1mb3JtLXJlcGx5IHtcclxuICAgICAgbWluLWhlaWdodDogMTIwcHg7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIC50cmFuc2l0aW9uKGJvcmRlci1jb2xvciAuM3MgZWFzZSk7XHJcbiAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgIGJvcmRlci1jb2xvcjogQGdyYXk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcblxyXG4ubm8tY3NzdHJhbnNmb3JtczNkIHtcclxuXHJcbiAgLm1iLXBhbmVsIHtcclxuICAgID4gLm1iLXBhbmVsLWlubmVyIHtcclxuICAgXHJcbiAgICAgICYubWItY29udGVudC1vcGVuIHtcclxuICAgICAgICAudHJhbnNsYXRlM2QoMCwgMCwgMCk7XHJcbiAgICAgICAgPiAubWItcGFuZWwtY29udGVudCB7XHJcbiAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgPiAubWItcGFuZWwtbGlzdCB7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbiAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdXRpbHMubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFxyXG4vLyBVdGlsaXRpZXMgY2xhc3NlcyB0byBzaW1wbGlmeSBcclxuLy8gY29tcG9uZW50cyBjb25zdHJ1Y3Rpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gVmFyaWFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIFxyXG5cclxuQG1hcmdpbi1iYXNlOiAxMHB4O1xyXG5AbWFyZ2luLXNtOiAgIDVweDtcclxuQG1hcmdpbi1sZzogICAxNXB4O1xyXG5AbWFyZ2luLXhsOiAgIDMwcHg7XHJcblxyXG5AcGFkZGluZy14bDogICAyMHB4O1xyXG5AcGFkZGluZy1sZzogICAxNXB4O1xyXG5AcGFkZGluZy1iYXNlOiAxMHB4O1xyXG5AcGFkZGluZy1zbTogICA1cHg7XHJcblxyXG5AdGV4dC1hbHBoYTogICAgICAgICAgICByZ2JhKDI1NSwyNTUsMjU1LC41KTtcclxuQHRleHQtYWxwaGEtaW52ZXJzZTogICAgcmdiYSgwLDAsMCwuNSk7XHJcblxyXG5AdGV4dC14czogICAgICAgICAgICAgICBAZm9udC1zaXplLWJhc2UgKiAuNjtcclxuQHRleHQtc206ICAgICAgICAgICAgICAgQGZvbnQtc2l6ZS1iYXNlICogLjg1O1xyXG5AdGV4dC1tZDogICAgICAgICAgICAgICBAZm9udC1zaXplLWJhc2UgKiAxLjk7XHJcbkB0ZXh0LWxnOiAgICAgICAgICAgICAgIEBmb250LXNpemUtYmFzZSAqIDM7XHJcbkB0ZXh0LWhnOiAgICAgICAgICAgICAgIEBmb250LXNpemUtYmFzZSAqIDQ7XHJcblxyXG5AYm9yZGVyLWNvbG9yOiAgICAgICAgICBAZ3JheS1saWdodDtcclxuXHJcbkB3ZC10aW55OiAgICAgICAgICAgICAgIDUwcHg7XHJcbkB3ZC14eHM6ICAgICAgICAgICAgICAgIDYwcHg7XHJcbkB3ZC14czogICAgICAgICAgICAgICAgIDkwcHg7XHJcbkB3ZC1zbTogICAgICAgICAgICAgICAgIDE1MHB4O1xyXG5Ad2Qtc2Q6ICAgICAgICAgICAgICAgICAyMDBweDsgLy8gc2QgPT0gc3RhbmRhcmRcclxuQHdkLW1kOiAgICAgICAgICAgICAgICAgMjQwcHg7XHJcbkB3ZC1sZzogICAgICAgICAgICAgICAgIDI4MHB4O1xyXG5Ad2QteGw6ICAgICAgICAgICAgICAgICAzMjBweDtcclxuQHdkLXh4bDogICAgICAgICAgICAgICAgMzYwcHg7XHJcbkB3ZC13aWRlOiAgICAgICAgICAgICAgIDEwMCU7XHJcbkB3ZC1hdXRvOiAgICAgICAgICAgICAgIGF1dG87XHJcblxyXG4vLyBNYXJnaW5zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ubTAgeyBtYXJnaW46IDAgIWltcG9ydGFudDsgfVxyXG4ubWwwIHsgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDsgfVxyXG4ubXIwIHsgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cclxuLm10MCB7IG1hcmdpbi10b3A6IDAgIWltcG9ydGFudDsgfVxyXG4ubWIwIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XHJcblxyXG4ubSAgeyBtYXJnaW46IEBtYXJnaW4tYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5tbCB7IG1hcmdpbi1sZWZ0OiBAbWFyZ2luLWJhc2UgIWltcG9ydGFudDsgfVxyXG4ubXIgeyBtYXJnaW4tcmlnaHQ6IEBtYXJnaW4tYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5tdCB7IG1hcmdpbi10b3A6IEBtYXJnaW4tYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5tYiB7IG1hcmdpbi1ib3R0b206IEBtYXJnaW4tYmFzZSAhaW1wb3J0YW50OyB9XHJcblxyXG4ubS1zbSAgeyBtYXJnaW46IEBtYXJnaW4tc20gIWltcG9ydGFudDsgfVxyXG4ubWwtc20geyBtYXJnaW4tbGVmdDogQG1hcmdpbi1zbSAhaW1wb3J0YW50OyB9XHJcbi5tci1zbSB7IG1hcmdpbi1yaWdodDogQG1hcmdpbi1zbSAhaW1wb3J0YW50OyB9XHJcbi5tdC1zbSB7IG1hcmdpbi10b3A6IEBtYXJnaW4tc20gIWltcG9ydGFudDsgfVxyXG4ubWItc20geyBtYXJnaW4tYm90dG9tOiBAbWFyZ2luLXNtICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tLWxnICB7IG1hcmdpbjogQG1hcmdpbi1sZyAhaW1wb3J0YW50OyB9XHJcbi5tbC1sZyB7IG1hcmdpbi1sZWZ0OiBAbWFyZ2luLWxnICFpbXBvcnRhbnQ7IH1cclxuLm1yLWxnIHsgbWFyZ2luLXJpZ2h0OiBAbWFyZ2luLWxnICFpbXBvcnRhbnQ7IH1cclxuLm10LWxnIHsgbWFyZ2luLXRvcDogQG1hcmdpbi1sZyAhaW1wb3J0YW50OyB9XHJcbi5tYi1sZyB7IG1hcmdpbi1ib3R0b206IEBtYXJnaW4tbGcgIWltcG9ydGFudDsgfVxyXG5cclxuLm0teGwgIHsgbWFyZ2luOiBAbWFyZ2luLXhsICFpbXBvcnRhbnQ7IH1cclxuLm1sLXhsIHsgbWFyZ2luLWxlZnQ6IEBtYXJnaW4teGwgIWltcG9ydGFudDsgfVxyXG4ubXIteGwgeyBtYXJnaW4tcmlnaHQ6IEBtYXJnaW4teGwgIWltcG9ydGFudDsgfVxyXG4ubXQteGwgeyBtYXJnaW4tdG9wOiBAbWFyZ2luLXhsICFpbXBvcnRhbnQ7IH1cclxuLm1iLXhsIHsgbWFyZ2luLWJvdHRvbTogQG1hcmdpbi14bCAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBNYXJnaW4gdmVydGljYWwgLyBob3Jpem9udGFsXHJcbi5tdiB7ICY6ZXh0ZW5kKC5tdCwgLm1iKTsgfVxyXG4ubWggeyAmOmV4dGVuZCgubWwsIC5tcik7IH1cclxuXHJcbi5tdi1sZyB7ICY6ZXh0ZW5kKC5tdC1sZywgLm1iLWxnKTsgfVxyXG4ubWgtbGcgeyAmOmV4dGVuZCgubWwtbGcsIC5tci1sZyk7IH1cclxuXHJcbi5tdi1zbSB7ICY6ZXh0ZW5kKC5tdC1zbSwgLm1iLXNtKTsgfVxyXG4ubWgtc20geyAmOmV4dGVuZCgubWwtc20sIC5tci1zbSk7IH1cclxuXHJcbi8vIFBhZGRpbmdzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucDAgeyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7IH1cclxuLnBsMCB7IHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50OyB9XHJcbi5wcjAgeyBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cclxuLnB0MCB7IHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7IH1cclxuLnBiMCB7IHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cclxuLnB2MCB7ICY6ZXh0ZW5kKC5wdDAsIC5wYjApOyB9XHJcbi5waDAgeyAmOmV4dGVuZCgucGwwLCAucHIwKTsgfVxyXG5cclxuLnAgIHsgcGFkZGluZzogQHBhZGRpbmctYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5wbCB7IHBhZGRpbmctbGVmdDogQHBhZGRpbmctYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5wciB7IHBhZGRpbmctcmlnaHQ6IEBwYWRkaW5nLWJhc2UgIWltcG9ydGFudDsgfVxyXG4ucHQgeyBwYWRkaW5nLXRvcDogQHBhZGRpbmctYmFzZSAhaW1wb3J0YW50OyB9XHJcbi5wYiB7IHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy1iYXNlICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5wLXNtICB7IHBhZGRpbmc6IEBwYWRkaW5nLXNtICFpbXBvcnRhbnQ7IH1cclxuLnBsLXNtIHsgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1zbSAhaW1wb3J0YW50OyB9XHJcbi5wci1zbSB7IHBhZGRpbmctcmlnaHQ6IEBwYWRkaW5nLXNtICFpbXBvcnRhbnQ7IH1cclxuLnB0LXNtIHsgcGFkZGluZy10b3A6IEBwYWRkaW5nLXNtICFpbXBvcnRhbnQ7IH1cclxuLnBiLXNtIHsgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXNtICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5wLWxnICB7IHBhZGRpbmc6IEBwYWRkaW5nLWxnICFpbXBvcnRhbnQ7IH1cclxuLnBsLWxnIHsgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1sZyAhaW1wb3J0YW50OyB9XHJcbi5wci1sZyB7IHBhZGRpbmctcmlnaHQ6IEBwYWRkaW5nLWxnICFpbXBvcnRhbnQ7IH1cclxuLnB0LWxnIHsgcGFkZGluZy10b3A6IEBwYWRkaW5nLWxnICFpbXBvcnRhbnQ7IH1cclxuLnBiLWxnIHsgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLWxnICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5wLXhsICB7IHBhZGRpbmc6IEBwYWRkaW5nLXhsICFpbXBvcnRhbnQ7IH1cclxuLnBsLXhsIHsgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy14bCAhaW1wb3J0YW50OyB9XHJcbi5wci14bCB7IHBhZGRpbmctcmlnaHQ6IEBwYWRkaW5nLXhsICFpbXBvcnRhbnQ7IH1cclxuLnB0LXhsIHsgcGFkZGluZy10b3A6IEBwYWRkaW5nLXhsICFpbXBvcnRhbnQ7IH1cclxuLnBiLXhsIHsgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXhsICFpbXBvcnRhbnQ7IH1cclxuXHJcblxyXG4vLyBQYWRkaW5nIHZlcnRpY2FsIC8gaG9yaXpvbnRhbFxyXG4ucHYgeyAmOmV4dGVuZCgucHQsIC5wYik7IH1cclxuLnBoIHsgJjpleHRlbmQoLnBsLCAucHIpOyB9XHJcblxyXG4ucHYteGwgeyAmOmV4dGVuZCgucHQteGwsIC5wYi14bCk7IH1cclxuLnBoLXhsIHsgJjpleHRlbmQoLnBsLXhsLCAucHIteGwpOyB9XHJcblxyXG4ucHYtbGcgeyAmOmV4dGVuZCgucHQtbGcsIC5wYi1sZyk7IH1cclxuLnBoLWxnIHsgJjpleHRlbmQoLnBsLWxnLCAucHItbGcpOyB9XHJcblxyXG4ucHYtc20geyAmOmV4dGVuZCgucHQtc20sIC5wYi1zbSk7IH1cclxuLnBoLXNtIHsgJjpleHRlbmQoLnBsLXNtLCAucHItc20pOyB9XHJcblxyXG5cclxuLy8gQm9yZGVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uYjAgeyBib3JkZXItd2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG4uYmwwIHsgYm9yZGVyLWxlZnQtd2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG4uYnIwIHsgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwICFpbXBvcnRhbnQ7IH1cclxuLmJ0MCB7IGJvcmRlci10b3Atd2lkdGg6IDAgIWltcG9ydGFudDsgfVxyXG4uYmIwIHsgYm9yZGVyLWJvdHRvbS13aWR0aDogMCAhaW1wb3J0YW50OyB9XHJcblxyXG4uYnIgeyBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBAYm9yZGVyLWNvbG9yO31cclxuLmJsIHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAYm9yZGVyLWNvbG9yO31cclxuLmJ0IHsgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBib3JkZXItY29sb3I7fVxyXG4uYmIgeyBib3JkZXItYm90dG9tOiAxcHggc29saWQgQGJvcmRlci1jb2xvcjt9XHJcbi5iICB7ICY6ZXh0ZW5kKC5iciwuYmwsLmJ0LC5iYik7IH1cclxuXHJcbi5kby1ib3JkZXJzKCdwcmltYXJ5JywgICAnYnJhbmQtcHJpbWFyeScpO1xyXG4uZG8tYm9yZGVycygnc3VjY2VzcycsICAgJ2JyYW5kLXN1Y2Nlc3MnKTtcclxuLmRvLWJvcmRlcnMoJ2luZm8nLCAgICAgICdicmFuZC1pbmZvJyk7XHJcbi5kby1ib3JkZXJzKCd3YXJuaW5nJywgICAnYnJhbmQtd2FybmluZycpO1xyXG4uZG8tYm9yZGVycygnZGFuZ2VyJywgICAgJ2JyYW5kLWRhbmdlcicpO1xyXG4uZG8tYm9yZGVycygndHVycXVvaXNlJywgJ2JyYW5kLXR1cnF1b2lzZScpO1xyXG4uZG8tYm9yZGVycygncGluaycsICAgICAgJ2JyYW5kLXBpbmsnKTtcclxuLmRvLWJvcmRlcnMoJ3B1cnBsZScsICAgICdicmFuZC1wdXJwbGUnKTtcclxuLmRvLWJvcmRlcnMoJ2ludmVyc2UnLCAgICdicmFuZC1pbnZlcnNlJyk7XHJcbi5kby1ib3JkZXJzKCdvcmFuZ2UnLCAgICAnYnJhbmQtb3JhbmdlJyk7XHJcblxyXG4uZG8tYm9yZGVycygnZ3JheS1kYXJrZXInLCAgJ2dyYXktZGFya2VyJyk7XHJcbi5kby1ib3JkZXJzKCdncmF5LWRhcmsnLCAgICAnZ3JheS1kYXJrJyk7XHJcbi5kby1ib3JkZXJzKCdncmF5JywgICAgICAgICAnZ3JheScpO1xyXG4uZG8tYm9yZGVycygnZ3JheS1saWdodCcsICAgJ2dyYXktbGlnaHQnKTtcclxuLmRvLWJvcmRlcnMoJ2dyYXktbGlnaHRlcicsICdncmF5LWxpZ2h0ZXInKTtcclxuLmRvLWJvcmRlcnMoJ211dGVkJywgICAgICAgICd0ZXh0LW11dGVkJyk7XHJcblxyXG4uZG8tYm9yZGVycyhAbmFtZSwgQHZhcikge1xyXG4gIEBicjogflwiYnItQHtuYW1lfVwiO1xyXG4gICAgLkB7YnJ9IHsgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQEB2YXI7fVxyXG4gIEBibDogflwiYmwtQHtuYW1lfVwiO1xyXG4gICAgLkB7Ymx9IHsgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAQHZhcjt9XHJcbiAgQGJ0OiB+XCJidC1Ae25hbWV9XCI7XHJcbiAgICAuQHtidH0geyBib3JkZXItdG9wOiAxcHggc29saWQgQEB2YXI7fVxyXG4gIEBiYjogflwiYmItQHtuYW1lfVwiO1xyXG4gIC5Ae2JifSB7IGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAQHZhcjt9ICBcclxufVxyXG5cclxuXHJcblxyXG5cclxuLy8gQm9yZGVyIFJhZGl1c1xyXG5cclxuLnJhZGl1cy1jbGVhciB7XHJcbiAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4uY2lyY2xlIHtcclxuICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLnJvdW5kZWQge1xyXG4gIGJvcmRlci1yYWRpdXM6IEBib3JkZXItcmFkaXVzLWJhc2UgIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gQm94IFNoYWRvdyBDbGVhclxyXG5cclxuLnNoYWRvdy1jbGVhciwgLm5vLXNoYWRvdyB7XHJcbiAgYm94LXNoYWRvdzogMCAwIDAgIzAwMCAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vLyBTaW11bGF0ZSBzbW9vdGggZ3JhZGllbnQgYXQgdGhlIGJvdHRvbSBvZiBvbiBlbGVtZW50XHJcbi8vIHRvIGhpZGUgY29udGVudC4gSWRlYWwgZm9yIHNjcm9sbGFibGUgZWxlbWVudHNcclxuXHJcbi5zbW9vdGh5IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgJjphZnRlciB7XHJcbiAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBiYWNrZ3JvdW5kOiAxMDBweDtcclxuICAgIGJveC1zaGFkb3c6IDAgLTE1cHggMTVweCAjZmZmZmZmIGluc2V0O1xyXG4gICAgei1pbmRleDogOTk5OTtcclxuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gVGV4dCBoZWxwZXJzXHJcblxyXG4udGV4dC1wcmltYXJ5ICAgICAgIHsgY29sb3I6IEBicmFuZC1wcmltYXJ5OyB9XHJcbi50ZXh0LXN1Y2Nlc3MgICAgICAgeyBjb2xvcjogQGJyYW5kLXN1Y2Nlc3M7IH1cclxuLnRleHQtd2FybmluZyAgICAgICB7IGNvbG9yOiBAYnJhbmQtd2FybmluZzsgfVxyXG4udGV4dC1kYW5nZXIgICAgICAgIHsgY29sb3I6IEBicmFuZC1kYW5nZXI7IH1cclxuLnRleHQtaW5mbyAgICAgICAgICB7IGNvbG9yOiBAYnJhbmQtaW5mbzsgfVxyXG5cclxuLnRleHQtd2hpdGUgICAgICAgICB7IGNvbG9yOiAjZmZmOyB9XHJcbi50ZXh0LWludmVyc2UgICAgICAgeyBjb2xvcjogQGJyYW5kLWludmVyc2U7IH1cclxuLnRleHQtYWxwaGEgICAgICAgICB7IGNvbG9yOiBAdGV4dC1hbHBoYTsgfVxyXG4udGV4dC1waW5rICAgICAgICAgIHsgY29sb3I6IEBicmFuZC1waW5rOyB9XHJcbi50ZXh0LXB1cnBsZSAgICAgICAgeyBjb2xvcjogQGJyYW5kLXB1cnBsZTsgfVxyXG4udGV4dC1hbHBoYS1pbnZlcnNlIHsgY29sb3I6IEB0ZXh0LWFscGhhLWludmVyc2U7IH1cclxuLnRleHQtdHVycXVvaXNlICAgICB7IGNvbG9yOiBAYnJhbmQtdHVycXVvaXNlOyB9XHJcbi50ZXh0LW9yYW5nZSAgICAgICAgeyBjb2xvcjogQGJyYW5kLW9yYW5nZTsgfVxyXG4udGV4dC1ncmF5LWRhcmtlciAgIHsgY29sb3I6IEBncmF5LWRhcmtlcjsgfVxyXG4udGV4dC1ncmF5LWRhcmsgICAgIHsgY29sb3I6IEBncmF5LWRhcms7IH1cclxuLnRleHQtZ3JheSAgICAgICAgICB7IGNvbG9yOiBAZ3JheTsgfVxyXG4udGV4dC1ncmF5LWxpZ2h0ICAgIHsgY29sb3I6IEBncmF5LWxpZ2h0OyB9XHJcbi50ZXh0LWdyYXktbGlnaHRlciAgeyBjb2xvcjogQGdyYXktbGlnaHRlcjsgfVxyXG5cclxuLy8gVGV4dCBzaXppbmdcclxuXHJcbi50ZXh0LXhzIHsgZm9udC1zaXplOiBAdGV4dC14cyAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LXNtIHsgZm9udC1zaXplOiBAdGV4dC1zbSAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LW1kIHsgZm9udC1zaXplOiBAdGV4dC1tZCAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWxnIHsgZm9udC1zaXplOiBAdGV4dC1sZyAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWhnIHsgZm9udC1zaXplOiBAdGV4dC1oZyAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBBbGlnbm1lbnRcclxuLnRleHQtbGVmdCAgICAgICAgICAgeyB0ZXh0LWFsaWduOiBsZWZ0ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodCAhaW1wb3J0YW50OyB9XHJcbi50ZXh0LWNlbnRlciAgICAgICAgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtanVzdGlmeSAgICAgICAgeyB0ZXh0LWFsaWduOiBqdXN0aWZ5ICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtbm93cmFwICAgICAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwICFpbXBvcnRhbnQ7IH1cclxuXHJcbi8vIFRleHQgb3RoZXJzXHJcblxyXG4udGV4dC1ub3dyYXAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcbi50ZXh0LXRoaW4gICB7IGZvbnQtd2VpZ2h0OiAxMDAgIWltcG9ydGFudDsgfVxyXG4udGV4dC1ub3JtYWwgeyBmb250LXdlaWdodDogbm9ybWFsICFpbXBvcnRhbnQ7IH1cclxuLnRleHQtYm9sZCAgIHsgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDsgfVxyXG5cclxuLnRleHQtZWxsaXBzaXMge1xyXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgcGFkZGluZzogMCAuMmVtO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcclxufVxyXG5cclxuLy8gRm9yY2UgRGlzcGxheSBwcm9wc1xyXG5cclxuLmlubGluZSB7IGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50OyB9XHJcbi5pbmxpbmUtYmxvY2sgeyBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxyXG4uYmxvY2sgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XHJcblxyXG4vLyBDb21tb24gdGh1bWJuYWlsIHNpemVzIChpZGVhbCBmb3IgaW1hZ2VzKVxyXG5cclxuLnRodW1iOCAgIHsgLnRodW1uYmFpbC1zaXplOyB9XHJcbi50aHVtYjE2ICB7IC50aHVtbmJhaWwtc2l6ZSgxNnB4KTsgfVxyXG4udGh1bWIzMiAgeyAudGh1bW5iYWlsLXNpemUoMzJweCk7IH1cclxuLnRodW1iNDAgIHsgLnRodW1uYmFpbC1zaXplKDQwcHgpOyB9XHJcbi50aHVtYjQ4ICB7IC50aHVtbmJhaWwtc2l6ZSg0OHB4KTsgfVxyXG4udGh1bWI2NCAgeyAudGh1bW5iYWlsLXNpemUoNjRweCk7IH1cclxuLnRodW1iODAgIHsgLnRodW1uYmFpbC1zaXplKDgwcHgpOyB9XHJcbi50aHVtYjk2ICB7IC50aHVtbmJhaWwtc2l6ZSg5NnB4KTsgfVxyXG4udGh1bWIxMjggeyAudGh1bW5iYWlsLXNpemUoMTI4cHgpOyB9XHJcblxyXG4udGh1bW5iYWlsLXNpemUoQHN6OiA4cHgpIHtcclxuICB3aWR0aDogQHN6ICFpbXBvcnRhbnQ7XHJcbiAgaGVpZ2h0OiBAc3ogIWltcG9ydGFudDtcclxufVxyXG5cclxuLy8gVmVydGljYWwgYWxpZ24gaGVscGVyc1xyXG5cclxuLmFsaWduLW1pZGRsZSB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG4uYWxpZ24tdG9wIHtcclxuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG59XHJcbi5hbGlnbi1ib3R0b20ge1xyXG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XHJcbn1cclxuXHJcblxyXG4vLyBCYWNrZ3JvdW5kIGltYWdlXHJcbi5iZy1jZW50ZXIge1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxufVxyXG5cclxuLy8gTGlzdFxyXG4ubGlzdC1pY29uIHtcclxuICBlbSB7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICB3aWR0aDogNDBweDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIC50cmFuc2l0aW9uKGFsbCAuMnMpO1xyXG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgfVxyXG4gIGRpdjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnJhbmQtaW5mbztcclxuICAgIGNvbG9yOiAjZmZmO1xyXG4gIH1cclxufVxyXG5cclxuLy8gTGlzdCB0YWJsZVxyXG4ubGlzdC10YWJsZSB7XHJcbiAgLmxpc3QtdW5zdHlsZWQ7XHJcbiAgZGlzcGxheTogdGFibGU7XHJcbiAgdGFibGUtbGF5b3V0OiBmaXhlZDtcclxuICB3aWR0aDogMTAwJTtcclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcbn1cclxuXHJcbi5saXN0LWJsb2NrIHtcclxuICAubGlzdC11bnN0eWxlZDtcclxuICA+IGxpIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxufVxyXG5cclxuLy8gQ29tcG9uZW50cyBzaXplXHJcblxyXG4ud2QtdGlueSB7IHdpZHRoOiBAd2QtdGlueTsgICB9XHJcbi53ZC14eHMgIHsgd2lkdGg6IEB3ZC14eHM7ICB9XHJcbi53ZC14cyAgIHsgd2lkdGg6IEB3ZC14czsgICB9XHJcbi53ZC1zbSAgIHsgd2lkdGg6IEB3ZC1zbTsgICB9XHJcbi53ZC1zZCAgIHsgd2lkdGg6IEB3ZC1zZDsgICB9XHJcbi53ZC1tZCAgIHsgd2lkdGg6IEB3ZC1tZDsgICB9XHJcbi53ZC1sZyAgIHsgd2lkdGg6IEB3ZC1sZzsgICB9XHJcbi53ZC14bCAgIHsgd2lkdGg6IEB3ZC14bDsgICB9XHJcbi53ZC14eGwgIHsgd2lkdGg6IEB3ZC14eGw7ICB9XHJcbi53ZC13aWRlIHsgd2lkdGg6IEB3ZC13aWRlOyB9XHJcbi53ZC1hdXRvIHsgd2lkdGg6IEB3ZC1hdXRvOyB9XHJcblxyXG4vLyBFeHRyYSBsYWJlbHNcclxuXHJcbi5sYWJlbC1pbnZlcnNlICAgeyAubGFiZWwtdmFyaWFudChAYnJhbmQtaW52ZXJzZSk7ICAgfVxyXG4ubGFiZWwtdHVycXVvaXNlIHsgLmxhYmVsLXZhcmlhbnQoQGJyYW5kLXR1cnF1b2lzZSk7IH1cclxuLmxhYmVsLXBpbmsgICAgICB7IC5sYWJlbC12YXJpYW50KEBicmFuZC1waW5rKTsgICAgICB9XHJcbi5sYWJlbC1wdXJwbGUgICAgeyAubGFiZWwtdmFyaWFudChAYnJhbmQtcHVycGxlKTsgICAgfVxyXG4ubGFiZWwtb3JhbmdlICAgIHsgLmxhYmVsLXZhcmlhbnQoQGJyYW5kLW9yYW5nZSk7ICAgIH1cclxuLy8gRXh0cmEgYWxlcnRcclxuXHJcbi5hbGVydC1wdXJwbGUgICAgeyAuYWxlcnQtdmFyaWFudChAYnJhbmQtcHVycGxlOyBAYnJhbmQtcHVycGxlOyAjZmZmKTsgICAgICAgfVxyXG4uYWxlcnQtdHVycXVvaXNlIHsgLmFsZXJ0LXZhcmlhbnQoQGJyYW5kLXR1cnF1b2lzZTsgQGJyYW5kLXR1cnF1b2lzZTsgI2ZmZik7IH1cclxuLmFsZXJ0LXBpbmsgICAgICB7IC5hbGVydC12YXJpYW50KEBicmFuZC1waW5rOyBAYnJhbmQtcGluazsgI2ZmZik7ICAgICAgICAgICB9XHJcbi5hbGVydC1pbnZlcnNlICAgeyAuYWxlcnQtdmFyaWFudChAYnJhbmQtaW52ZXJzZTsgQGJyYW5kLWludmVyc2U7ICNmZmYpOyAgICAgfVxyXG4uYWxlcnQtb3JhbmdlICAgIHsgLmFsZXJ0LXZhcmlhbnQoQGJyYW5kLW9yYW5nZTsgQGJyYW5kLW9yYW5nZTsgI2ZmZik7ICAgICB9XHJcblxyXG5cclxuLmFicy1jZW50ZXItY29udGFpbmVyIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbn1cclxuLmFicy1jZW50ZXIge1xyXG4gIC8vIHdpZHRoOiA1MCU7XHJcbiAgaGVpZ2h0OiA1MCU7XHJcbiAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgbWFyZ2luOiBhdXRvO1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7IGxlZnQ6IDA7IGJvdHRvbTogMDsgcmlnaHQ6IDA7XHJcbiAgXHJcbiAgJi5hYnMtZml4ZWQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgei1pbmRleDogOTk5O1xyXG4gIH1cclxuICBcclxuICAmLmFicy1yaWdodCB7XHJcbiAgICBsZWZ0OiBhdXRvOyByaWdodDogMjBweDtcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gIH1cclxuXHJcbiAgJi5hYnMtbGVmdCB7XHJcbiAgICByaWdodDogYXV0bzsgbGVmdDogMjBweDtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgfVxyXG59XHJcblxyXG4uY2xpY2thYmxlIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGNoYXJ0LWZsb3QubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuLy9cclxuLy8gRmxvdCBjaGFydCBwbHVnaW4gY3VzdG9tIHN0eWxlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbmZsb3Qge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIC8vIGhlaWdodDogMjQwcHg7XHJcbiAgLmxlZ2VuZCB7XHJcbiAgICA+IHRhYmxlIHtcclxuICAgICAgdG9wOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgICA+IHRhYmxlIHRyIHRkIHtcclxuICAgICAgcGFkZGluZzogM3B4O1xyXG4gICAgfVxyXG4gICAgPiB0YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogM3B4O1xyXG4gICAgfVxyXG4gICAgPiB0YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcclxuICAgICAgcGFkZGluZy1yaWdodDogM3B4O1xyXG4gICAgfVxyXG4gICAgPnRhYmxlIHRyK3RyIHRkIHtcclxuICAgICAgcGFkZGluZy10b3A6IDA7ICAgICAgXHJcbiAgICB9XHJcbiAgICBcclxuICAgID4gZGl2OmZpcnN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIFxyXG4gICAgLmxlZ2VuZENvbG9yQm94ID4gZGl2IHtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICYgPiBkaXYge1xyXG4gICAgICAgICAgd2lkdGg6IDVweCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHggIWltcG9ydGFudDtcclxuICAgICAgICAgIG9wYWNpdHk6IC4zNTtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLmZsb3QtY2hhcnQtY29udGVudCB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4vLyBMYWJlbHMgZm9yIFBJRSBDSEFSVFNcclxuLmZsb3QtcGllLWxhYmVsIHtcclxuICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gIGZvbnQtc2l6ZTogMTBweDtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgY29sb3I6I2ZmZjtcclxufVxyXG5cclxuLy8gVG9vbHRpcCBzdHlsZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4jZmxvdFRpcCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIHBhZGRpbmc6IDVweDtcclxuICBmb250LXNpemU6IDEycHggIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAycHggIWltcG9ydGFudDtcclxuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNzUpICFpbXBvcnRhbnQ7XHJcbiAgY29sb3I6ICNmMWYxZjE7XHJcbiAgei1pbmRleDo1O1xyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGZvcm0tZXh0cmFzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcbiBcclxuLyoqXHJcbiAqIEN1c3RvbSBmb3JtIGVsZW1lbnRcclxuICogICAgLSBSb3VuZGVkIGlucHV0c1xyXG4gKi9cclxuXHJcbi8vXHJcbi8vIEZvcm0gUm91bmRlZFxyXG4vL1xyXG5cclxuLmZvcm0tY29udHJvbC1yb3VuZGVkIHtcclxuICBib3JkZXItcmFkaXVzOiAxMDBweDtcclxufVxyXG5cclxuLy8gU3VwcG9ydCBmb3JtIGZlZWRiYWNrIHdpdGhvdXQgbGFiZWxzXHJcblxyXG4uZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcclxuICB0b3A6IDEwcHg7XHJcbiAgLmlucHV0LXNtICsgJiB7XHJcbiAgICB0b3A6IDA7XHJcbiAgfVxyXG59XHJcblxyXG5cclxuLmZvcm0tY29udHJvbC1mZWVkYmFjayB7XHJcbiAgbGFiZWwgKyAuZm9ybS1jb250cm9sICsgJiB7XHJcbiAgICAvLyB0b3A6IDM0cHg7XHJcbiAgfVxyXG59XHJcblxyXG4uaW5wdXQtbWQge1xyXG4gIHdpZHRoOiAyNjBweDtcclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBmb3JtLXZhbGlkYXRpb24ubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuIFxyXG4vL1xyXG4vLyBTdHlsZXMgZm9yIHZhbGlkYXRpb24gcmVzdWx0cyBcclxuLy9cclxuXHJcblxyXG4uZm9ybS12YWxpZGF0ZSB7XHJcbiAgLmZvcm0tY29udHJvbCB7XHJcbiAgICBcclxuICAgIC8vIEludmFsaWQgaW5wdXRcclxuICAgICYubmctZGlydHkubmctaW52YWxpZCB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBAYnJhbmQtZGFuZ2VyO1xyXG4gICAgfVxyXG4gICAgLy8gVmFsaWQgaW5wdXRcclxuICAgICYubmctZGlydHkubmctdmFsaWQsXHJcbiAgICAmLm5nLWRpcnR5Lm5nLXZhbGlkOmZvY3VzIHtcclxuICAgICAgICBib3JkZXItY29sb3I6IEBicmFuZC1zdWNjZXNzO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGZvcm0td2l6YXJkLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5Ad2l6YXJkLXByaW1hcnktY29sb3I6ICAgICAgICBAYnJhbmQtcHJpbWFyeTtcclxuQHdpemFyZC1zdGVwcy1iZzogICAgICAgICAgICAgQGp1bWJvdHJvbi1iZztcclxuQHdpemFyZC1zdGVwcy1iZy1hY3RpdmU6ICAgICAgQHdpemFyZC1wcmltYXJ5LWNvbG9yO1xyXG5cclxuQHdpemFyZC1oZWFkaW5nLWNvbG9yOiAgICAgICAgQHRleHQtY29sb3I7XHJcbkB3aXphcmQtc3ViaGVhZGluZy1jb2xvcjogICAgIEB0ZXh0LW11dGVkO1xyXG5cclxuXHJcbi5zdGVwcy1iYXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBjb3VudGVyLXJlc2V0OiBzdGVwOyAvLyBDU1MgY291bnRlcnMgdG8gbnVtYmVyIHRoZSBzdGVwc1xyXG4gIGRpc3BsYXk6IHRhYmxlO1xyXG4gIHRhYmxlLWxheW91dDogZml4ZWQ7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgXHJcbiAgPiBsaSB7XHJcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIFxyXG4gICAgPiBzcGFuIHtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6IGNvdW50ZXIoc3RlcCk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgY291bnRlci1pbmNyZW1lbnQ6IHN0ZXA7XHJcbiAgICAgIHdpZHRoOiAzMHB4O1xyXG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgICAgY29sb3I6ICMzMzM7XHJcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG4gICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvIDVweCBhdXRvO1xyXG4gICAgICB6LWluZGV4OiAyO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBwcm9ncmVzc2JhciBjb25uZWN0b3JzXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAwO1xyXG4gICAgICBoZWlnaHQ6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogLTUwJTtcclxuICAgICAgdG9wOiAxNHB4O1xyXG4gICAgICB6LWluZGV4OiAxOyAvKnB1dCBpdCBiZWhpbmQgdGhlIG51bWJlcnMqL1xyXG4gICAgICAudHJhbnNpdGlvbih3aWR0aCAuM3MgZWFzZS1vdXQpO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAvLyBjb25uZWN0b3Igbm90IG5lZWRlZCBiZWZvcmUgdGhlIGZpcnN0IHN0ZXBcclxuICAgICY6Zmlyc3QtY2hpbGQ6YWZ0ZXIge1xyXG4gICAgICBjb250ZW50OiBub25lOyBcclxuICAgIH1cclxuICAgIFxyXG4gICAgLyogcGFpbnQgdGhlIHN0ZXBzIHByb2dyZXNzICovXHJcbiAgICAmLmFjdGl2ZTpiZWZvcmUsICBcclxuICAgICYuYWN0aXZlOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZDogQGJyYW5kLXByaW1hcnk7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgIH1cclxuICAgICYuYWN0aXZlOmFmdGVyIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZm9ybS1zd2l0Y2gubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8qKlxyXG4gKiBDdXN0b20gZm9ybSBlbGVtZW50c1xyXG4gKiAgICAtIFN3aXRjaFxyXG4gKi9cclxuXHJcbi8vIFN1cHBvcnRzIHJhZGlvIGFuZCBjaGVja2JveFxyXG5cclxuQHN3aXRjaC13ZDogNDBweDtcclxuQHN3aXRjaC1oZzogQHN3aXRjaC13ZC8yO1xyXG5cclxuQHN3aXRjaC1sZy13ZDogNTBweDtcclxuQHN3aXRjaC1sZy1oZzogQHN3aXRjaC1sZy13ZC8yO1xyXG5cclxuQHN3aXRjaC1zbS13ZDogMzBweDtcclxuQHN3aXRjaC1zbS1oZzogQHN3aXRjaC1zbS13ZC8yO1xyXG5cclxuQHN3aXRjaC1mZy1jb2xvcjogQGJyYW5kLXByaW1hcnk7XHJcblxyXG4uc3dpdGNoIHtcclxuICAuZm9ybS1jb250cm9sIHtcclxuICAgIHBhZGRpbmctdG9wOiA3cHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLnN3aXRjaCAqIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbi5zd2l0Y2ggaW5wdXQge1xyXG4gIG9wYWNpdHk6IDA7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHotaW5kZXg6IC0xO1xyXG59XHJcblxyXG4uc3dpdGNoIHsgXHJcbiAgJiBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHdpZHRoOiBAc3dpdGNoLXdkOyBoZWlnaHQ6IEBzd2l0Y2gtaGc7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkIEB1aS1iZy1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xyXG4gICAgdHJhbnNpdGlvbjogYWxsIC41cztcclxuICAgIGJveC1zaGFkb3c6IDFweCAxcHggNXB4IHJnYmEoMCwwLDAsMC4yNSkgaW5zZXQ7XHJcbiAgfVxyXG5cclxuICAmIHNwYW46YWZ0ZXIge1xyXG4gICBjb250ZW50OiBcIlwiO1xyXG4gICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgIHRvcDogMXB4OyBsZWZ0OiAwO1xyXG4gICBoZWlnaHQ6IEBzd2l0Y2gtaGcgLSAyOyB3aWR0aDogQHN3aXRjaC1oZyAtIDI7XHJcbiAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XHJcbiAgIGJvcmRlci1yYWRpdXM6IDQwMHB4O1xyXG4gICBib3gtc2hhZG93OiAxcHggMXB4IDNweCByZ2JhKDAsMCwwLDAuNCk7XHJcbiAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIC4ycztcclxuICB9IFxyXG4gIFxyXG4gICYuc3dpdGNoLWxnIHsgLnN3aXRjaC12YXJpYW50KEBzd2l0Y2gtbGctd2QsIEBzd2l0Y2gtbGctaGcpOyB9XHJcbiAgJi5zd2l0Y2gtc20geyAuc3dpdGNoLXZhcmlhbnQoQHN3aXRjaC1zbS13ZCwgQHN3aXRjaC1zbS1oZyk7IH1cclxufVxyXG5cclxuXHJcbi5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIHNwYW4ge1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBzd2l0Y2gtZmctY29sb3I7XHJcbiAgYm9yZGVyLWNvbG9yOiBAc3dpdGNoLWZnLWNvbG9yO1xyXG4gIHRyYW5zaXRpb246IGFsbCAuNXM7XHJcbn1cclxuXHJcbi5zd2l0Y2ggaW5wdXQ6Y2hlY2tlZCArIHNwYW46YWZ0ZXIge1xyXG4gIGxlZnQ6IDUwJTtcclxuICB0cmFuc2l0aW9uOiBhbGwgLjJzO1xyXG59XHJcblxyXG4uc3dpdGNoLXZhcmlhbnQoQHdkLCBAaGcpIHtcclxuICAmIHNwYW4ge1xyXG4gICAgd2lkdGg6IEB3ZDsgaGVpZ2h0OiBAaGc7XHJcbiAgfVxyXG5cclxuICAmIHNwYW46YWZ0ZXIge1xyXG4gICBoZWlnaHQ6IEBoZyAtIDI7IHdpZHRoOiBAaGcgLSAyO1xyXG4gIH0gIFxyXG59XHJcblxyXG4uc3dpdGNoLXByaW1hcnkgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtcHJpbWFyeSk7IH1cclxuLnN3aXRjaC1zdWNjZXNzICAgeyAuc3dpdGNoLXZhcmlhbnQoQGJyYW5kLXN1Y2Nlc3MpOyB9XHJcbi5zd2l0Y2gtaW5mbyAgICAgIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC1pbmZvKTsgfVxyXG4uc3dpdGNoLXdhcm5pbmcgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtd2FybmluZyk7IH1cclxuLnN3aXRjaC1kYW5nZXIgICAgeyAuc3dpdGNoLXZhcmlhbnQoQGJyYW5kLWRhbmdlcik7IH1cclxuLnN3aXRjaC1pbnZlcnNlICAgeyAuc3dpdGNoLXZhcmlhbnQoQGJyYW5kLWludmVyc2UpOyB9XHJcbi5zd2l0Y2gtdHVycXVvaXNlIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC10dXJxdW9pc2UpOyB9XHJcbi5zd2l0Y2gtcGluayAgICAgIHsgLnN3aXRjaC12YXJpYW50KEBicmFuZC1waW5rKTsgfVxyXG4uc3dpdGNoLXB1cnBsZSAgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtcHVycGxlKTsgfVxyXG4uc3dpdGNoLW9yYW5nZSAgICB7IC5zd2l0Y2gtdmFyaWFudChAYnJhbmQtb3JhbmdlKTsgfVxyXG5cclxuLnN3aXRjaC12YXJpYW50KEBjb2xvcikge1xyXG4gICYuc3dpdGNoIGlucHV0OmNoZWNrZWQgKyBzcGFuIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBjb2xvcjtcclxuICAgIGJvcmRlci1jb2xvcjogQGNvbG9yO1xyXG4gIH0gIFxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZm9ybS1pbnB1dC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLyoqXHJcbiAqIEN1c3RvbSBmb3JtIGVsZW1lbnRzXHJcbiAqICAgIC0gQ2hlY2tib3ggXHJcbiAqICAgIC0gUmFkaW9zXHJcbiAqL1xyXG5cclxuQHVpLWZnLWNvbG9yOiBAYnJhbmQtcHJpbWFyeTtcclxuQHVpLWJnLWNvbG9yOiAjZGRkO1xyXG5AdWktaW5wdXQtd2Q6IDIwcHg7XHJcblxyXG4uYy1jaGVja2JveCxcclxuLmMtcmFkaW8ge1xyXG4gIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gICoge1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcclxuICB9XHJcbiAgXHJcbiAgLy8gdGhlIGVsZW1lbnQgdGhhdCByZXBsYWNlcyB0aGUgaW5wdXRcclxuICBzcGFuIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcbiAgICBtYXJnaW4tbGVmdDogLUB1aS1pbnB1dC13ZDtcclxuICAgIHdpZHRoOiBAdWktaW5wdXQtd2Q7IGhlaWdodDogQHVpLWlucHV0LXdkO1xyXG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcclxuICAgIG1hcmdpbi1yaWdodDogKEB1aS1pbnB1dC13ZC80KTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDFweDsgLy8gZmEgYWxpZ24gdHJpY2tcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHNwYW4ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAdWktZmctY29sb3I7XHJcbiAgfVxyXG5cclxuICAuZm9ybS1pbmxpbmUgJiBzcGFuIHtcclxuICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gIH1cclxuXHJcbiAgJi5jLWNoZWNrYm94LXJvdW5kZWQsXHJcbiAgJi5jLXJhZGlvLXJvdW5kZWQge1xyXG4gICAgc3BhbiB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLyogb3ZlcnJpZGUgZm9yIHJhZGlvICovXHJcbi5jLXJhZGlvIHNwYW4ge1xyXG4gIGJvcmRlci1yYWRpdXM6IDUwMHB4O1xyXG59XHJcblxyXG4vKiB0aGUgaWNvbiAqL1xyXG4uYy1jaGVja2JveCxcclxuLmMtcmFkaW8ge1xyXG4gIHNwYW46YmVmb3JlIHtcclxuICAgIC8vY29udGVudDogXCJcXDI3MTNcIjsgLyogY29tbWVudCBjb250ZW50IHRvIHVzZSBjdXN0b20gaWNvbiBjbGFzc2VzICovXHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7IGxlZnQ6IC0xcHg7ICByaWdodDogMDsgYm90dG9tOiAwO1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIC5zY2FsZSguMik7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAoQHVpLWlucHV0LXdkIC0gMSk7XHJcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbi8qIENoZWNrZWQgc3RhdGUgKi9cclxuLmMtY2hlY2tib3gsXHJcbi5jLXJhZGlvIHtcclxuICBpbnB1dFt0eXBlPWNoZWNrYm94XTpjaGVja2VkICsgc3BhbjpiZWZvcmUsXHJcbiAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIHNwYW46YmVmb3Jle1xyXG4gICAgb3BhY2l0eTogMTtcclxuICAgIC5zY2FsZSgxKTtcclxuICAgIC50cmFuc2l0aW9uLXRyYW5zZm9ybSguMnMgZWFzZS1vdXQpO1xyXG4gIH1cclxuXHJcbiAgaW5wdXRbdHlwZT1jaGVja2JveF06Y2hlY2tlZCArIHNwYW4sXHJcbiAgaW5wdXRbdHlwZT1yYWRpb106Y2hlY2tlZCArIHNwYW4ge1xyXG4gICAgYm9yZGVyLWNvbG9yOiBAdWktZmctY29sb3I7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAdWktZmctY29sb3I7XHJcbiAgfVxyXG5cclxuICAvKiBvdmVycmlkZSBmb3IgcmFkaW8gKi9cclxuICBpbnB1dFt0eXBlPXJhZGlvXTpjaGVja2VkICsgc3BhbntcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICAmOmJlZm9yZXsgXHJcbiAgICAgIGNvbG9yOiBAdWktZmctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAvKiBEaXNhYmxlIHN0YXRlICovXHJcblxyXG4gIGlucHV0W3R5cGU9Y2hlY2tib3hdOmRpc2FibGVkICsgc3BhbixcclxuICBpbnB1dFt0eXBlPXJhZGlvXTpkaXNhYmxlZCArIHNwYW57XHJcbiAgICBib3JkZXItY29sb3I6IEB1aS1iZy1jb2xvciAhaW1wb3J0YW50O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHVpLWJnLWNvbG9yICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIC8qIG92ZXJyaWRlIGZvciByYWRpbyAqL1xyXG4gIGlucHV0W3R5cGU9cmFkaW9dOmRpc2FibGVkICsgc3BhbiB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XHJcbiAgICAmOmJlZm9yZSB7XHJcbiAgICAgIGNvbG9yOiBAdWktYmctY29sb3I7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IHRhYmxlLWV4dHJhcy5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbi8vXHJcbi8vIEFkZCBzdXBwb3J0IHRvIGNvbXBvbmVudHMgaW5zaWRlIHRhYmxlc1xyXG4vLyBcclxuXHJcbi50YWJsZSB7XHJcbiAgPiB0aGVhZCA+IHRyID4gdGgge1xyXG4gICAgcGFkZGluZzogMTRweCA4cHg7XHJcbiAgICBjb2xvcjogIzg4ODtcclxuICB9XHJcbiAgPiB0Ym9keSA+IHRyID4gdGQge1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgID4gLm1lZGlhIHtcclxuICAgICAgaW1nIHtcclxuICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICBoZWlnaHQ6IDM2cHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jaGVja2JveCB7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICAgIHdpZHRoOiAyMHB4O1xyXG4gIH1cclxuICBcclxuICAucHJvZ3Jlc3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMFxyXG4gIH1cclxuXHJcbiAgLnJhZGlhbC1iYXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gIH1cclxufVxyXG5cclxuLmpxc3Rvb2x0aXAgeyBib3gtc2l6aW5nOiBjb250ZW50LWJveDt9XHJcblxyXG4vLyBFeHRlbmRlZCB0YWJsZSBkZW1vc1xyXG5cclxuI3RhYmxlLXJlcy0xIHtcclxuICB0aCB7XHJcbiAgICAmOm50aC1jaGlsZCgxKSB7XHJcbiAgICAgIHdpZHRoOiAzJTtcclxuICAgIH1cclxuICAgICY6bnRoLWNoaWxkKDIpIHtcclxuICAgICAgd2lkdGg6IDUlO1xyXG4gICAgfVxyXG4gICAgJjpudGgtY2hpbGQoNykge1xyXG4gICAgICB3aWR0aDogNSU7XHJcbiAgICB9XHJcbiAgICAmOm50aC1jaGlsZCg5KSB7XHJcbiAgICAgIHdpZHRoOiA1JTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiN0YWJsZS1yZXMtMiB7XHJcbiAgdGgge1xyXG4gICAgJjpudGgtY2hpbGQoMSkge1xyXG4gICAgICB3aWR0aDogNSU7XHJcbiAgICB9XHJcbiAgICAmOm50aC1jaGlsZCgzKSB7XHJcbiAgICAgIHdpZHRoOiAxMCU7XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdGFibGUtbmd0YWJsZS5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuYm9keSB7XHJcbiAgXHJcbiAgLy8gQmFzaWMgc3R5bGVzIG92ZXJyaWRlXHJcbiAgLm5nLXRhYmxlIHRoLnNvcnRhYmxlLnNvcnQtZGVzYyxcclxuICAubmctdGFibGUgdGguc29ydGFibGUuc29ydC1hc2Mge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgIHRleHQtc2hhZG93OiAwIDAgMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApO1xyXG4gIH1cclxuXHJcbiAgLm5nLXRhYmxlIHRoLnNvcnRhYmxlIGRpdjphZnRlcixcclxuICAubmctdGFibGUgdGguc29ydGFibGUgZGl2OmJlZm9yZSB7XHJcbiAgICBib3JkZXItY29sb3I6IEBncmF5LWRhcmsgdHJhbnNwYXJlbnQ7XHJcbiAgfVxyXG4gIC5uZy10YWJsZSB0aC5zb3J0YWJsZSBkaXY6YmVmb3JlIHtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IEBncmF5LWRhcms7XHJcbiAgfVxyXG4gIC5uZy10YWJsZSB0aC5zb3J0YWJsZS5zb3J0LWRlc2MgZGl2OmFmdGVyIHtcclxuICAgIGJvcmRlci10b3AtY29sb3I6IEBncmF5LWRhcms7XHJcbiAgfVxyXG5cclxuICBbbmctdGFibGUtcGFnaW5hdGlvbl0ge1xyXG4gICAgcGFkZGluZzogMTVweCA1cHg7XHJcbiAgXHJcbiAgICAubmctdGFibGUtcGFnaW5hdGlvbiB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyBDb2xvcnMgY2VsbCB2YXJpYXRpb25zIChyZWQvZ3JlZW4pXHJcbiAgLm5nLXRhYmxlIC5wbHVzLCAubmctdGFibGUgLm1pbnVzIHtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIHBhZGRpbmctbGVmdDogMThweDtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxuICAubmctdGFibGUgLnBsdXM6YmVmb3JlLCAubmctdGFibGUgLm1pbnVzOmJlZm9yZSB7XHJcbiAgICAgIGNvbnRlbnQ6XCJcIjtcclxuICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XHJcbiAgICAgIGJvcmRlci1zdHlsZTpzb2xpZDtcclxuICAgICAgbGVmdDogOHB4O1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xyXG4gIH1cclxuICAubmctdGFibGUgLnBsdXMge1xyXG4gICAgICBjb2xvcjogZ3JlZW47XHJcbiAgfVxyXG4gIC5uZy10YWJsZSAucGx1czpiZWZvcmUge1xyXG4gICAgICBib3JkZXItY29sb3I6IGdyZWVuO1xyXG4gICAgICBib3JkZXItdG9wOm5vbmU7XHJcbiAgICAgIGJvcmRlci1sZWZ0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgICAgYm9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgLm5nLXRhYmxlIC5taW51cyB7XHJcbiAgICAgIGNvbG9yOiByZWQ7XHJcbiAgfVxyXG4gIC5uZy10YWJsZSAubWludXM6YmVmb3JlIHtcclxuICAgICAgYm9yZGVyLWNvbG9yOiByZWQ7XHJcbiAgICAgIGJvcmRlci1ib3R0b206bm9uZTtcclxuICAgICAgYm9yZGVyLWxlZnQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gICAgICBib3JkZXItcmlnaHQ6NHB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG4gIH1cclxuICBcclxuICAvLyBTZWxlY3RlZCByb3dzXHJcbiAgLm5nLXRhYmxlLXJvd3NlbGVjdGVkIHRyIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICB9XHJcbiAgXHJcbiAgLm5nLXRhYmxlLXBhZ2VyIHtcclxuICAgIC5jbGVhcmZpeDtcclxuICB9XHJcblxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogcGx1Z2lucy5sZXNzXHJcbiAgIC0gVXNlciB0aGlzIHN0eWxlc2hlZXQgdG8gaW5jbHVkZSBzaW5nbGUgY3NzIHN0eWxlcyBhbmQgZml4ZXMgXHJcbiAgICAgZm9yIHBsdWdpbnNcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5AaW1wb3J0ICcuLi9ib290c3RyYXAvbWl4aW5zL2J1dHRvbnMnO1xyXG4gXHJcbi8qKlxyXG4gKiBCb290c3RyYXAgU2xpZGVyXHJcbiAqL1xyXG5cclxuQHNsaWRlci1oYW5kbGUtYmc6IEBicmFuZC1wcmltYXJ5O1xyXG5Ac2xpZGVyLXRyYWNrLWJvcmRlcjogQGJyYW5kLXByaW1hcnk7XHJcbkBzbGlkZXItc2VsZWN0aW9uLWJnOiBAc2xpZGVyLXRyYWNrLWJvcmRlcjtcclxuQHNsaWRlci10b29sdGlwLWNvbG9yOiAjMmMzMDM3O1xyXG5cclxuYm9keSB7XHJcblxyXG4gIC5zbGlkZXItaGFuZGxlLFxyXG4gIC5zbGlkZXItdHJhY2ssXHJcbiAgLnNsaWRlci1zZWxlY3Rpb24ge1xyXG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCAwICMwMDA7XHJcbiAgfVxyXG5cclxuICAuc2xpZGVyLWhhbmRsZSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQHNsaWRlci1oYW5kbGUtYmc7XHJcbiAgICBib3gtc2hhZG93OiAwIDAgM3B4IEBzbGlkZXItaGFuZGxlLWJnIGluc2V0O1xyXG4gICAgb3BhY2l0eTogMTtcclxuICB9XHJcbiAgLnNsaWRlci10cmFjayB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgQHNsaWRlci10cmFjay1ib3JkZXI7XHJcbiAgfVxyXG4gIC5zbGlkZXItc2VsZWN0aW9uIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBzbGlkZXItc2VsZWN0aW9uLWJnO1xyXG4gIH1cclxuXHJcbiAgLnNsaWRlciB7XHJcbiAgICAudG9vbHRpcC50b3AgLnRvb2x0aXAtYXJyb3cge1xyXG4gICAgICBib3JkZXItdG9wLWNvbG9yOiBAc2xpZGVyLXRvb2x0aXAtY29sb3I7XHJcbiAgICB9XHJcbiAgICAudG9vbHRpcC5yaWdodCAudG9vbHRpcC1hcnJvdyB7XHJcbiAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogQHNsaWRlci10b29sdGlwLWNvbG9yO1xyXG4gICAgfVxyXG4gICAgLnRvb2x0aXAtaW5uZXIge1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAc2xpZGVyLXRvb2x0aXAtY29sb3I7XHJcbiAgICB9XHJcbiAgICAmLnNsaWRlci12ZXJ0aWNhbCB7XHJcbiAgICAgIC5zbGlkZXItdHJhY2sge1xyXG4gICAgICAgIHdpZHRoOiA2cHg7XHJcbiAgICAgIH1cclxuICAgICAgLnNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLnNsaWRlci1ob3Jpem9udGFsIHtcclxuICAgICAgLnNsaWRlci1oYW5kbGUge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XHJcbiAgICAgIH1cclxuICAgICAgLnNsaWRlci10cmFjayB7XHJcbiAgICAgICAgaGVpZ2h0OiA2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgXHJcbiAgLnNsaWRlci1sZyB7XHJcbiAgICB3aWR0aDogMzgwcHg7XHJcbiAgfVxyXG5cclxuICAvLyBDaG9zZW5cclxuICAvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBcclxuXHJcbiAgLy8gTVVMVElQTEVcclxuXHJcbiAgQG11bHRpcGxlLXRhZy1iZzogI2Y1ZjZmNztcclxuXHJcbiAgLmNob3Nlbi1jb250YWluZXItbXVsdGkgLmNob3Nlbi1jaG9pY2VzIHtcclxuICAgIC5mb3JtLWNvbnRyb2w7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9dGV4dF0ge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgcGFkZGluZzogMDtcclxuICB9XHJcblxyXG4gIC5jaG9zZW4tY29udGFpbmVyLW11bHRpIC5jaG9zZW4tY2hvaWNlcyBsaS5zZWFyY2gtY2hvaWNlIHtcclxuICAgIG1hcmdpbjogMCA1cHggM3B4IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAbXVsdGlwbGUtdGFnLWJnO1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgZGFya2VuKEBtdWx0aXBsZS10YWctYmcsIDUlKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWNvbnRhaW5lciAuY2hvc2VuLXJlc3VsdHMgbGkuaGlnaGxpZ2h0ZWQge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTJhMztcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgfVxyXG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tZHJvcCB7XHJcbiAgICBib3JkZXItY29sb3I6ICNkZGQ7XHJcbiAgfVxyXG4gIC5jaG9zZW4tY29udGFpbmVyIC5jaG9zZW4tcmVzdWx0cyBsaS5ncm91cC1yZXN1bHQge1xyXG4gICAgY29sb3I6ICM3NDc1NzY7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xyXG4gIH1cclxuICAvLyBTSU5HTEVcclxuICAuY2hvc2VuLWNvbnRhaW5lci1zaW5nbGUgLmNob3Nlbi1zaW5nbGUsXHJcbiAgLmNob3Nlbi1jb250YWluZXItYWN0aXZlLmNob3Nlbi13aXRoLWRyb3AgLmNob3Nlbi1zaW5nbGUge1xyXG4gICAgLmZvcm0tY29udHJvbCgpO1xyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tZHJvcCB7XHJcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xyXG4gIH1cclxuXHJcbiAgLmNob3Nlbi1jb250YWluZXItc2luZ2xlIC5jaG9zZW4tc2luZ2xlIGRpdiB7XHJcbiAgICB0b3A6IDZweDtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgfVxyXG5cclxuICAuY2hvc2VuLWNvbnRhaW5lci1tdWx0aSAuY2hvc2VuLWNob2ljZXMgbGkuc2VhcmNoLWZpZWxkIGlucHV0W3R5cGU9dGV4dF0ge1xyXG4gICAgY29sb3I6IEBpbnB1dC1jb2xvci1wbGFjZWhvbGRlcjtcclxuICB9XHJcblxyXG59IC8vIGJvZHlcclxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogc2xpbS1zY3JvbGwubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbkBzbGltLXNjcm9sbC1iYXItYmc6ICAgICAgZmFkZSgjMDAwLCAzNSk7XHJcbkBzbGltLXNjcm9sbC1yYWlsLWJnOiAgICAgZmFkZSgjMDAwLCAxNSk7XHJcblxyXG4vLyBOZXcgc2Nyb2xsYWJsZSBlbGVtZW50XHJcbnNjcm9sbGFibGUge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4vLyBJbXBvcnRhbnQgdG8gb3ZlcnJpZGUganMgaW5saW5lIHN0eWxlc1xyXG4uc2xpbVNjcm9sbEJhciB7XHJcbiAgb3BhY2l0eTogMCAhaW1wb3J0YW50O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IEBzbGltLXNjcm9sbC1iYXItYmcgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAxcHggIWltcG9ydGFudDtcclxuICAudHJhbnNpdGlvbihvcGFjaXR5IC4zcyBlYXNlKTtcclxufVxyXG5cclxuLnNsaW1TY3JvbGxEaXY6aG92ZXIge1xyXG4gIC5zbGltU2Nyb2xsQmFyIHtcclxuICAgIG9wYWNpdHk6IDAuNCAhaW1wb3J0YW50O1xyXG4gIH1cclxufVxyXG5cclxuLnNsaW1TY3JvbGxSYWlsIHtcclxuICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogQHNsaW0tc2Nyb2xsLXJhaWwtYmcgIWltcG9ydGFudDtcclxuICBib3JkZXI6IDAgIWltcG9ydGFudDtcclxuICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XHJcbiAgYm90dG9tOiAwO1xyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogZGF0ZXBpY2tlci5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG4gXHJcbltkYXRlcGlja2VyLXBvcHVwXSArIHVsIHtcclxuXHJcbiAgLmJ0bi1pbmZvID4gc3BhbiB7XHJcbiAgICBjb2xvcjogI2ZmZjtcclxuICB9XHJcblxyXG59XHJcblxyXG5cclxuLmRhdGVwaWNrZXIge1xyXG4gIG1heC13aWR0aDogMTAwJTtcclxuICBvdmVyZmxvdy15OiBhdXRvO1xyXG4gIHRhYmxlIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLnRpbWUtcGlja2VyIHtcclxuICAgIC5mb3JtLWNvbnRyb2wge1xyXG4gICAgICAgIHBhZGRpbmc6IDRweFxyXG4gICAgfVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogYWxlcnRzLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4vLyBWYXJpYWJsZXNcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcblxyXG5AYWxlcnRzLXBvc2l0aW9uOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA2MHB4O1xyXG5AYWxlcnRzLXotaW5kZXg6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5MDkwO1xyXG5AYWxlcnRzLXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAzNTBweDtcclxuXHJcbi8vIE1lc3NhZ2UgY29udGFpbmVyIGZvciBwb3NpdGlvbmluZ1xyXG5cclxuLmFsZXJ0cyB7XHJcbiAgICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgICB0b3A6IEBhbGVydHMtcG9zaXRpb247XHJcbiAgICBsZWZ0OiBAYWxlcnRzLXBvc2l0aW9uO1xyXG4gICAgei1pbmRleDogQGFsZXJ0cy16LWluZGV4O1xyXG4gICAgd2lkdGg6IEBhbGVydHMtd2lkdGg7XHJcbiAgICAuYWxlcnRzLXRvcC1yaWdodDtcclxuXHJcbiAgICAmOmhvdmVyIC5hbGVydCAuY2xvc2Uge1xyXG4gICAgICAgIG9wYWNpdHk6IDE7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcclxuICAgIH1cclxufVxyXG5cclxuXHJcbi8vIFBvc2l0aW9uIG1vZGlmaWVyc1xyXG5cclxuXHJcbi5hbGVydHMtdG9wLXJpZ2h0LFxyXG4uYWxlcnRzLWJvdHRvbS1yaWdodCAge1xyXG4gICAgbGVmdDogYXV0bztcclxuICAgIHJpZ2h0OiBAYWxlcnRzLXBvc2l0aW9uO1xyXG59XHJcblxyXG4uYWxlcnRzLXRvcC1jZW50ZXIsXHJcbi5hbGVydHMtYm90dG9tLWNlbnRlciB7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICBtYXJnaW4tbGVmdDogKEBhbGVydHMtd2lkdGggLyAtMik7XHJcbn1cclxuXHJcbi5hbGVydHMtYm90dG9tLWxlZnQsXHJcbi5hbGVydHMtYm90dG9tLXJpZ2h0LFxyXG4uYWxlcnRzLWJvdHRvbS1jZW50ZXIge1xyXG4gICAgdG9wOiBhdXRvO1xyXG4gICAgYm90dG9tOiBAYWxlcnRzLXBvc2l0aW9uO1xyXG59XHJcblxyXG5cclxuLy8gUmVzcG9uc2l2ZW5lc3NcclxuXHJcblxyXG4vLyBQaG9uZXMgcG9ydHJhaXQgYW5kIHNtYWxsZXIgKi9cclxuQG1lZGlhIChtYXgtd2lkdGg6IEBtcS1tb2JpbGUpIHtcclxuXHJcbiAgICAvLyBGaXQgaW4gc21hbGwgc2NyZWVuXHJcblxyXG4gICAgLmFsZXJ0cyB7XHJcbiAgICAgICAgbGVmdDogMTBweDtcclxuICAgICAgICByaWdodDogMTBweDtcclxuICAgICAgICB3aWR0aDogYXV0bztcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcblxyXG59XHJcbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQ29tcG9uZW50OiB0b2FzdGVyLmxlc3NcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vLyBSZWRlZmluZWQgdG9hc3RlciBjb2xvcnNcbmJvZHkge1xuICAgICN0b2FzdC1jb250YWluZXIge1xuICAgICAgdG9wOiBAaGVhZGVyLWhnICsgNSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAudG9hc3Qge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLXByaW1hcnk7XG4gICAgfVxuICAgIC50b2FzdC1zdWNjZXNzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1zdWNjZXNzO1xuICAgIH1cbiAgICAudG9hc3QtZXJyb3Ige1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWRhbmdlcjtcbiAgICB9XG4gICAgLnRvYXN0LWluZm8ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQGJyYW5kLWluZm87XG4gICAgfVxuICAgIC50b2FzdC13YWl0IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC1wdXJwbGU7XG4gICAgfVxuICAgIC50b2FzdC13YXJuaW5nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEBicmFuZC13YXJuaW5nO1xuICAgIH1cbn0iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBnbWFwLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG4uZ21hcCB7XHJcbiAgXHJcbiAgaGVpZ2h0OiAzMDBweDtcclxuICBcclxuICAvKiBcclxuICBGaXhlcyBCb290c3RyYXAgaXNzdWVzIHdpdGggR29vZ2xlIE1hcHNcclxuICBzZWUgaHR0cDovL3N0YWNrb3ZlcmZsb3cuY29tL2EvOTE3MDc1NiBcclxuICAqL1xyXG4gIGltZyB7IFxyXG4gICAgbWF4LXdpZHRoOiBub25lO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiB2ZWN0b3ItbWFwLmxlc3NcclxuID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXHJcblxyXG5Adm1hcC1sYWJlbC1iZzogICAgICAgICAgICAgQGdyYXktZGFya2VyO1xyXG5Adm1hcC16b29tLWN0cmwtYmc6ICAgICAgICAgQGdyYXktbGlnaHQ7XHJcblxyXG4vLyBkaXJlY3RpdmUgZWxlbWVudFxyXG52ZWN0b3ItbWFwIHtcclxuICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuYm9keSB7IC8vIGFkZHMgcHJpb3JpdHlcclxuICBcclxuICAuanZlY3Rvcm1hcC1sYWJlbCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgYm9yZGVyOiBzb2xpZCAxcHggQHZtYXAtbGFiZWwtYmc7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcclxuICAgICAgYmFja2dyb3VuZDogQHZtYXAtbGFiZWwtYmc7XHJcbiAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgcGFkZGluZzogM3B4IDZweDtcclxuICAgICAgb3BhY2l0eTogMC45O1xyXG4gICAgICB6LWluZGV4OiAxMTtcclxuICB9XHJcblxyXG4gIC5qdmVjdG9ybWFwLXpvb21pbiwgXHJcbiAgLmp2ZWN0b3JtYXAtem9vbW91dCB7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogMTBweDtcclxuICAgICAgd2lkdGg6IDIycHg7XHJcbiAgICAgIGhlaWdodDogMjJweDtcclxuICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xyXG4gICAgICBiYWNrZ3JvdW5kOiBAdm1hcC16b29tLWN0cmwtYmc7XHJcbiAgICAgIHBhZGRpbmc6IDVweDtcclxuICAgICAgY29sb3I6IEBncmF5O1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgfVxyXG4gIC5qdmVjdG9ybWFwLXpvb21pbiB7dG9wOiAxMHB4O31cclxuICAuanZlY3Rvcm1hcC16b29tb3V0IHt0b3A6IDMwcHg7fVxyXG59IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIENvbXBvbmVudDogdXRpbHMtYmFja2dyb3VuZC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gQmFja2dyb3VuZCBoZWxwZXJzXHJcbi8vICBHZW5lcmF0ZXMgYmcgY2xhc3NlcyBmb3JcclxuLy8gICAgLmJnLXticmFuZC1uYW1lfVxyXG4vLyAgICAuYmcte2JyYW5kLW5hbWV9LWxpZ2h0XHJcbi8vICAgIC5iZy17YnJhbmQtbmFtZX0tZGFya1xyXG5cclxuLmJnLWdyYXkgICAgICAgICB7IC5tYWtlLWJnKCdncmF5Jyk7IH1cclxuLmJnLWdyYXktZGFya2VyICB7IC5tYWtlLWJnKCdncmF5LWRhcmtlcicpOyB9XHJcbi5iZy1ncmF5LWRhcmsgICAgeyAubWFrZS1iZygnZ3JheS1kYXJrJyk7IH1cclxuLmJnLWdyYXktbGlnaHQgICB7IFxyXG4gIC5tYWtlLWJnKCdncmF5LWxpZ2h0JywgQHRleHQtY29sb3IsICM5MTkyOTMsIEBncmF5LCAjZmZmKTsgXHJcbn1cclxuLmJnLWdyYXktbGlnaHRlciB7IFxyXG4gIC5tYWtlLWJnKCdncmF5LWxpZ2h0ZXInLCBAdGV4dC1jb2xvciwgIzkxOTI5MywgQGdyYXksICNmZmYpOyBcclxufVxyXG4uYmctd2hpdGUgICAgICAgIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLXdoaXRlJywgQHRleHQtY29sb3IsIEBncmF5LWRhcmssIEB0ZXh0LW11dGVkLCAjZjFmMmYzICk7IFxyXG59XHJcblxyXG4uYmctcHJpbWFyeSB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1wcmltYXJ5Jyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtcHJpbWFyeScpOyBcclxufVxyXG4uYmctc3VjY2VzcyB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1zdWNjZXNzJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtc3VjY2VzcycpOyBcclxufVxyXG4uYmctaW5mbyB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1pbmZvJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtaW5mbycpOyBcclxufVxyXG4uYmctd2FybmluZyB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC13YXJuaW5nJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtd2FybmluZycpOyBcclxufVxyXG4uYmctZGFuZ2VyIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLWRhbmdlcicpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLWRhbmdlcicpOyBcclxufVxyXG4uYmctdHVycXVvaXNlIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLXR1cnF1b2lzZScpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLXR1cnF1b2lzZScpOyBcclxufVxyXG4uYmctcGluayB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1waW5rJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtcGluaycpOyBcclxufVxyXG4uYmctcHVycGxlIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLXB1cnBsZScpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLXB1cnBsZScpOyBcclxufVxyXG4uYmctaW52ZXJzZSB7IFxyXG4gIC5tYWtlLWJnKCdicmFuZC1pbnZlcnNlJyk7XHJcbiAgLmJnY29sb3ItdmFyaWFudCgnYnJhbmQtaW52ZXJzZScpOyBcclxufVxyXG4uYmctb3JhbmdlIHsgXHJcbiAgLm1ha2UtYmcoJ2JyYW5kLW9yYW5nZScpO1xyXG4gIC5iZ2NvbG9yLXZhcmlhbnQoJ2JyYW5kLW9yYW5nZScpOyBcclxufVxyXG5cclxuXHJcblxyXG4vLyBCYWNrZ3JvdW5kIGhvdmVyXHJcblxyXG4vLyAuYmctaG92ZXItcHJpbWFyeSAgICAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1wcmltYXJ5KTt9IH1cclxuLy8gLmJnLWhvdmVyLXN1Y2Nlc3MgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctc3VjY2Vzcyk7fSB9XHJcbi8vIC5iZy1ob3Zlci1pbmZvICAgICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWluZm8pO30gfVxyXG4vLyAuYmctaG92ZXItd2FybmluZyAgICAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy13YXJuaW5nKTt9IH1cclxuLy8gLmJnLWhvdmVyLWRhbmdlciAgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctZGFuZ2VyKTt9IH1cclxuLy8gLmJnLWhvdmVyLXR1cnF1b2lzZSAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctdHVycXVvaXNlKTt9IH1cclxuLy8gLmJnLWhvdmVyLXBpbmsgICAgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctcGluayk7fSB9XHJcbi8vIC5iZy1ob3Zlci1wdXJwbGUgICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLXB1cnBsZSk7fSB9XHJcbi8vIC5iZy1ob3Zlci1pbnZlcnNlICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWludmVyc2UpO30gfVxyXG4vLyAuYmctaG92ZXItb3JhbmdlICAgICAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1vcmFuZ2UpO30gfVxyXG5cclxuLy8gLmJnLWhvdmVyLXdoaXRlICAgICAgICB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctd2hpdGUpO30gfVxyXG4vLyAuYmctaG92ZXItZ3JheS1kYXJrZXIgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1ncmF5LWRhcmtlcik7fSB9XHJcbi8vIC5iZy1ob3Zlci1ncmF5LWRhcmsgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWdyYXktZGFyayk7fSB9XHJcbi8vIC5iZy1ob3Zlci1ncmF5ICAgICAgICAgeyAmOmhvdmVyIHsgJjpleHRlbmQoLmJnLWdyYXkpO30gfVxyXG4vLyAuYmctaG92ZXItZ3JheS1saWdodCAgIHsgJjpob3ZlciB7ICY6ZXh0ZW5kKC5iZy1ncmF5LWxpZ2h0KTt9IH1cclxuLy8gLmJnLWhvdmVyLWdyYXktbGlnaHRlciB7ICY6aG92ZXIgeyAmOmV4dGVuZCguYmctZ3JheS1saWdodGVyKTt9IH1cclxuXHJcblxyXG4uYmdjb2xvci12YXJpYW50KEBiZykge1xyXG4gXHJcbiAgJi5iZy1saWdodCB7XHJcbiAgICBAY29sTGlnaHQ6IH5cIkB7Ymd9LWxpZ2h0XCI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGNvbExpZ2h0ICFpbXBvcnRhbnQ7XHJcbiAgICAvLyAuYmctb3BhY2l0eShAQGNvbExpZ2h0KTtcclxuICB9XHJcbiAgJi5iZy1kYXJrIHtcclxuICAgIEBjb2xEYXJrOiB+XCJAe2JnfS1kYXJrXCI7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGNvbERhcmsgIWltcG9ydGFudDtcclxuICAgIC8vIC5iZy1vcGFjaXR5KEBAY29sRGFyayk7XHJcbiAgfVxyXG5cclxufVxyXG5cclxuLm1ha2UtYmcoQGJnOyBAY29sb3I6IGxpZ2h0ZW4oQEBiZywgNDMlKTsgQGxpbms6IGxpZ2h0ZW4oQEBiZywgNTIlKTsgQG11dGVkOiBsaWdodGVuKEBAYmcsIDI2JSk7IEBuYXZsaW5rYmc6IGRhcmtlbihAQGJnLCA4JSkpIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAQGJnICFpbXBvcnRhbnQ7XHJcbiAgLy8gLnRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciAuMnMgZWFzZSk7XHJcblxyXG4gICYge1xyXG4gICAgY29sb3I6IEBjb2xvcjtcclxuICAgIGEge1xyXG4gICAgICBjb2xvcjogbWl4KEBsaW5rLCBAQGJnLCA3MCUpO1xyXG4gICAgICAmOmZvY3VzLCAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogQGxpbms7XHJcbiAgICAgIH1cclxuICAgICAgLy8gJi5idG4tZGVmYXVsdCB7IGNvbG9yOiBAYnRuLWRlZmF1bHQtY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4tcHJpbWFyeSB7IGNvbG9yOiBAYnRuLXByaW1hcnktY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4tc3VjY2VzcyB7IGNvbG9yOiBAYnRuLXN1Y2Nlc3MtY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4taW5mbyAgICB7IGNvbG9yOiBAYnRuLWluZm8tY29sb3I7ICAgIH1cclxuICAgICAgLy8gJi5idG4td2FybmluZyB7IGNvbG9yOiBAYnRuLXdhcm5pbmctY29sb3I7IH1cclxuICAgICAgLy8gJi5idG4tZGFuZ2VyICB7IGNvbG9yOiBAYnRuLWRhbmdlci1jb2xvcjsgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5hdiA+IGxpIHtcclxuICAgICAgPiBhIHtcclxuICAgICAgICBjb2xvcjogZGFya2VuKEBsaW5rLCA1JSk7XHJcbiAgICAgIH1cclxuICAgICAgJjpob3ZlcixcclxuICAgICAgJi5hY3RpdmUge1xyXG4gICAgICAgID4gYSB7IGNvbG9yOiBsaWdodGVuKEBsaW5rLCA1JSk7IH1cclxuICAgICAgfVxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgPiBhIHsgYmFja2dyb3VuZC1jb2xvcjogQG5hdmxpbmtiZzsgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNpZGViYXItc3VibmF2IHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KEBAYmcsIEBuYXZsaW5rYmcsIDUwJSk7XHJcbiAgICAgID4gbGkuYWN0aXZlID4gYSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIFxyXG4gICAgLm5hdmJhci1mb3JtIHtcclxuICAgICAgLmZvcm0tY29udHJvbCB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogQEBiZztcclxuICAgICAgICBjb2xvcjogQGNvbG9yO1xyXG4gICAgICAgIC5wbGFjZWhvbGRlcihAbXV0ZWQpO1xyXG4gICAgICAgIC5pZTkgJiB7XHJcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZmFkZShAbXV0ZWQsIDE1JSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5mb3JtLWNvbnRyb2wtZmVlZGJhY2ssXHJcbiAgICAgIC5pbnB1dC1ncm91cC1hZGRvbiB7XHJcbiAgICAgICAgY29sb3I6IEBtdXRlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50ZXh0LW11dGVkIHsgXHJcbiAgICAgIGNvbG9yOiBAbXV0ZWRcclxuICAgIH1cclxuICAgIC50ZXh0LWxvdWQgeyBcclxuICAgICAgY29sb3I6IGxpZ2h0ZW4oQG11dGVkLCAyNiUpO1xyXG4gICAgfVxyXG5cclxuICAgIHNtYWxsIHtcclxuICAgICAgY29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcbiAgICBAbWVkaWEgcHJpbnQge1xyXG4gICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50O1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi5iZy1vcGFjaXR5KEBjb2xvcikge1xyXG4gICYtb3BhY2l0eSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmYWRlb3V0KEBjb2xvciwgNDUpO1xyXG4gIH1cclxufVxyXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgQ29tcG9uZW50OiBwcmludC5sZXNzXHJcbiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xyXG5cclxuLy8gXHJcbi8vIFB1dCBoZXJlIGFsbCBydWxlcyByZXF1aXJlZCB0byBzdHlsZSB0aGUgcHJpbnQgdmlldyBcclxuLy8gXHJcblxyXG5AbWVkaWEgcHJpbnQge1xyXG4gIFxyXG4gIC5zaWRlYmFyLFxyXG4gIC50b3BuYXZiYXIsXHJcbiAgLnNldHRpbmdzLFxyXG4gIC5idG4ge1xyXG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgd2lkdGg6IDAgIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMCAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmFwcC1jb250YWluZXIsXHJcbiAgLmFwcC1jb250YWluZXIgPiBzZWN0aW9uLFxyXG4gIC5hcHAge1xyXG4gICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IC8qIHJlbW92ZSBtYXJnaW4gdXNlZCBmb3Igc2lkZWJhciBhbmQgZXhwYW5kIHRoZSBjb250ZW50ICovXHJcbiAgICAvLyBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmFwcC1jb250YWluZXIgPiBhc2lkZSxcclxuICAuYXBwLWNvbnRhaW5lciA+IGZvb3RlciB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxuICBcclxuICAuYXBwIHtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICB9XHJcblxyXG4gIC50ZXh0LW11dGVkIHtcclxuICAgIGNvbG9yOiBAZ3JheS1saWdodCAhaW1wb3J0YW50O1xyXG4gIH1cclxufSIsIlxyXG4uc2V0dGluZy1jb2xvciB7XHJcbiAgcGFkZGluZzogMCA1cHg7XHJcblxyXG4gID4gbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICBoZWlnaHQ6IDQwcHg7XHJcbiAgICBtYXJnaW46IDAgMTBweDtcclxuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xKTtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkIEBncmF5O1xyXG4gICAgXHJcbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDB9XHJcbiAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tcmlnaHQ6IDB9XHJcblxyXG4gICAgLmxpc3QtdGFibGUge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICAgIFxyXG4gICAgQGJhc2VIZzogMTVweDtcclxuICAgID4gLmNvbG9yIHtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIGhlaWdodDogQGJhc2VIZyAqIDEuMjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgPiAuc3BsaXQge1xyXG4gICAgICAuY2xlYXJmaXg7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICA+IC5jb2xvciB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgaGVpZ2h0OiBAYmFzZUhnICogMi41O1xyXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xyXG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICAgICAgICB3aWR0aDogNzAlO1xyXG4gICAgICAgIH1cclxuICAgICAgICAmOmxhc3QtY2hpbGQge1xyXG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xyXG4gICAgICAgICAgd2lkdGg6IDMwJTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAvLyBpY29uIGNoZWNrZWRcclxuICAgID4gLmljb24tY2hlY2sge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBsZWZ0OiA1MCU7XHJcbiAgICAgIHRvcDogNTAlO1xyXG4gICAgICB3aWR0aDogMjBweDtcclxuICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAtMTBweDtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIGZvbnQtc2l6ZTogMS4zMzMzMzMzM2VtO1xyXG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogLTE1JTtcclxuICAgICAgY29sb3I6ICNmZmY7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICB9XHJcblxyXG4gICAgPiBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgJjpjaGVja2VkICsgLmljb24tY2hlY2sge1xyXG4gICAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICBDb21wb25lbnQ6IGRvY3VtZW50YXRpb24ubGVzc1xyXG4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cclxuXHJcbi8vIFxyXG4vLyBUaGlzIHN0eWxlcyBhcmUgYmFzZWQgb24gdGhlIG1hcmt1cCBnZW5lcmF0ZWQgYnkgdGhlIHBsdWdpbiBmbGF0ZG9jXHJcbi8vIFxyXG5cclxuLy8gTWFyZ2luc1xyXG5Ac2lkZXBhZDogICAzMHB4OyAgLy8gUGFkZGluZyB0byB0aGUgbGVmdCBvZiB0aGUgc2lkZWJhclxyXG5cclxuLy8gQ29sb3JzXHJcbkB0eHQ6ICAgICAgICM1MDUwNTA7XHJcbkBhY2NlbnQ6ICAgIEBncmF5LWRhcms7XHJcblxyXG4vLyBEaW1lbnNpb25zXHJcbkBzaWRlYmFyLXdpZHRoOiAgIDE4MHB4O1xyXG5AY29udGVudC13aWR0aDogICA1NTBweDtcclxuQHByZS13aWR0aDogICAgICAgMzgwcHg7XHJcblxyXG5AY29udGVudC1wYWRkaW5nOiAyMHB4O1xyXG5cclxuLy8gZWxlbWVudCBnZW5lcmF0ZWQgZnJvbSBkaXJlY3RpdmVcclxuZmxhdGRvYyB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbltyb2xlfj1cImZsYXRkb2NcIl0ge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gIEBtZWRpYSBAdGFibGV0IHtcclxuICAgIC5jbGVhcmZpeDtcclxuICB9XHJcbn1cclxuXHJcbltyb2xlfj1cImZsYXRkb2MtbWVudVwiXSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGZvbnQtc2l6ZTogMTRweDtcclxuICBcclxuICB1bCB7XHJcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgLmZsYXRkb2MtbWVudS1pdGVtcygpXHJcbiAgfVxyXG5cclxuICAvLyBBZmZpeCBtZW51XHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgZmxvYXQ6IGxlZnQ7XHJcbiAgICB3aWR0aDogQHNpZGViYXItd2lkdGg7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XHJcblxyXG4gICAgPiB1bCB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBvdmVyZmxvdzogYXV0bztcclxuICAgICAgcGFkZGluZy1ib3R0b206IEBmb290ZXItaGc7XHJcbiAgICAgIHdpZHRoOiBpbmhlcml0O1xyXG4gICAgfVxyXG4gIFxyXG4gIH1cclxufVxyXG4gIFxyXG5bcm9sZX49XCJmbGF0ZG9jLWNvbnRlbnRcIl0ge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIHBhZGRpbmctbGVmdDogQGNvbnRlbnQtcGFkZGluZztcclxuICBwYWRkaW5nLXJpZ2h0OiBAY29udGVudC1wYWRkaW5nO1xyXG4gIHBhZGRpbmctdG9wOiAxcHg7XHJcbiAgcGFkZGluZy1ib3R0b206IDUwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuXHJcbiAgQG1lZGlhIEB0YWJsZXQge1xyXG4gICAgcGFkZGluZy1sZWZ0OiBAc2lkZWJhci13aWR0aCArIEBjb250ZW50LXBhZGRpbmc7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgfVxyXG4gXHJcbiAgcHJlIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IEBncmF5LWxpZ2h0ZXI7XHJcbiAgICBib3JkZXI6IDFweCBzb2xpZCBAZ3JheS1saWdodDtcclxuICAgIGNvZGUge1xyXG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmU7XHJcbiAgICAgIC5zdHJpbmcsIC5udW1iZXIge1xyXG4gICAgICAgIGNvbG9yOiBAYnJhbmQtc3VjY2Vzcy1kYXJrO1xyXG4gICAgICB9XHJcbiAgICAgIC5pbml0IHtcclxuICAgICAgICBjb2xvcjogQGJyYW5kLXN1Y2Nlc3MtZGFyaztcclxuICAgICAgfVxyXG4gICAgICAua2V5d29yZCB7XHJcbiAgICAgICAgY29sb3I6IEBncmF5LWRhcms7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAgIH1cclxuICAgICAgLmNvbW1lbnQge1xyXG4gICAgICAgIGNvbG9yOiBAdGV4dC1tdXRlZDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBcclxuICA+IGgxIHtcclxuICAgIHBhZGRpbmc6IDEycHggMDtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIH1cclxuXHJcbiAgPiBoMiB7XHJcbiAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgbWFyZ2luOiAwIC0yMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICAmOmZpcnN0LWNoaWxkIHtcclxuICAgICAgYm9yZGVyLXRvcDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5idXR0b24ge1xyXG4gICAgLmJ0bjtcclxuICAgIC5idG4tcHJpbWFyeTtcclxuICB9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbi5mbGF0ZG9jLW1lbnUtaXRlbXMoKSB7XHJcbiAgLy8gTWVudSBpdGVtc1xyXG4gICYge1xyXG4gICAgXHJcbiAgICAmLmxldmVsLTEgPiBsaSAsXHJcbiAgICAmLmxldmVsLTIgPiBsaSB7XHJcbiAgICAgID4gYSB7XHJcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgfVxyXG4gICAgICArIGxpID4gYSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBncmF5LWxpZ2h0O1xyXG4gICAgICB9XHJcbiAgICB9ICAgIFxyXG5cclxuICAgIGEge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICBwYWRkaW5nOiA2cHg7XHJcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xyXG5cclxuICAgICAgJiwgJjp2aXNpdGVkIHtcclxuICAgICAgICBjb2xvcjogQGFjY2VudDtcclxuICAgICAgfVxyXG4gICAgICAmOmhvdmVyIHtcclxuICAgICAgICBjb2xvcjogQGFjY2VudCowLjg7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsMjU1LDI1NSwuNzUpO1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5sZXZlbC0xLFxyXG4gICAgICAmLmxldmVsLTIge1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYubGV2ZWwtMyB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgICAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmLmFjdGl2ZSB7XHJcbiAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiBAZ3JheS1kYXJrO1xyXG4gICAgICAgICYsICY6dmlzaXRlZCwgJjpob3ZlciB7XHJcbiAgICAgICAgICBjb2xvcjogQHR4dCAhaW1wb3J0YW50O1xyXG4gICAgICAgIH1cclxuICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59Iiwic3Bhbi5lZGl0YWJsZS1maWVsZCB7XG5cdGJvcmRlci1ib3R0b206IDFweCBkYXNoZWQgcmdiKDE1MCwgMTUwLCAxNTApO1xufVxuZGl2LmNsaWNrLXRvLWVkaXQgcC5mb3JtLWNvbnRyb2wtc3RhdGljIHNwYW46Zmlyc3QtY2hpbGQge1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5kaXYuY2xpY2stdG8tZWRpdCBwLmZvcm0tY29udHJvbC1zdGF0aWMgc3Bhbi5lbXB0eSB7XG5cdGNvbG9yOiByZ2IoMTgyLCAxMywgMTMpO1xuXHRmb250LXN0eWxlOiBpdGFsaWM7XG59XG5oZWFkZXIgZGl2LnNwaW5uZXIge1xuXHRmbG9hdDogbGVmdDtcblx0bGVmdDogMjIwcHg7XG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0d2lkdGg6IDEwMCU7XG59XG5cbmRpdi5lZGl0YWJsZS10ZXh0YXJlYSBkaXYudGEtdGV4dC50YS1lZGl0b3Ige1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5pbWcuY2F0LWljb24ge1xuICAgIGhlaWdodDogMjVweDtcbn1cbmRpdi5tb2RhbC1jb250ZW50IGltZy5pY29uIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xufVxuLmZvcm0tZ3JvdXAucmVxdWlyZWQgLmNvbnRyb2wtbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OlwiKlwiO1xuICBjb2xvcjpyZWQ7XG59XG5cbmRpdi5wb3BvdmVyLnRhYmxlUG9wb3ZlciB7XG4gICAgbWF4LWhlaWdodDogNjM1cHggIWltcG9ydGFudDtcbn1cbmRpdi5wb3BvdmVyLnRhYmxlUG9wb3ZlciAucG9wb3Zlci1jb250ZW50IHtcbiAgICBtYXgtaGVpZ2h0OiA2MDBweCAhaW1wb3J0YW50O1xufVxuXG50YWJsZS5uZ1RhYmxlIHRoLmhlYWRlcixcbnRhYmxlLm5nVGFibGUgdGguZmlsdGVyIHtcbiAgICBwYWRkaW5nOiA1cHggIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzdEN0Q3RDtcbn1cbnRhYmxlLm5nVGFibGUgdGguZmlsdGVyIGlucHV0LmlucHV0LWZpbHRlciB7XG4gICAgaGVpZ2h0OiAzMHB4O1xufVxuXG4vLyB0cmVlIGNzc1xuLmFuZ3VsYXItdWktdHJlZS1oYW5kbGUge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RhZTJlYTtcbiAgICBjb2xvcjogIzdjOWViMjtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHg7XG59XG5cbi5hbmd1bGFyLXVpLXRyZWUtaGFuZGxlOmhvdmVyIHtcbiAgICBjb2xvcjogIzQzOGViOTtcbiAgICBiYWNrZ3JvdW5kOiAjZjRmNmY3O1xuICAgIGJvcmRlci1jb2xvcjogI2RjZTJlODtcbn1cblxuLmFuZ3VsYXItdWktdHJlZS1wbGFjZWhvbGRlciB7XG4gICAgYmFja2dyb3VuZDogI2YwZjlmZjtcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgI2JlZDJkYjtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbi5ncm91cC10aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzY4NzA3NCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjRkZGICFpbXBvcnRhbnQ7XG59XG5cbmRpdi5wb3BvdmVyLWNvbnRlbnQubG9jYXRpb25zIHVsLmNhdGVnb3JpZXMge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG59XG5cbmZvcm0ubG9jYXRpb24gZGl2LmNhdGVnb3JpZXMge1xuICAgIG1hcmdpbjogMTBweCAwIDEwcHggMzBweDtcblxuICAgIHNwYW4ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBidXR0b24uYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG59XG5cblxuZGl2Lm1vZGFsLWNvbnRlbnQgZm9ybSB7XG5cbiAgICAuZm9ybS1jb250cm9sLWZlZWRiYWNrIHtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTFweDtcbiAgICB9XG59XG5cbi5tb2RhbC1jb250ZW50IC5tYXAge1xuICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAuYW5ndWxhci1nb29nbGUtbWFwLWNvbnRhaW5lciB7XG4gICAgICAgIGhlaWdodDogMjIwcHg7XG4gICAgfVxufSJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */