@import url("https://fonts.googleapis.com/css?family=Poppins");
@media (max-width: 767px) {
  .mx-grid,
  .mx-tabcontainer,
  .mx-listview,
  .mx-templategrid,
  .mx-groupbox {
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .mx-grid,
  .mx-tabcontainer,
  .mx-listview,
  .mx-templategrid,
  .mx-groupbox {
    margin-bottom: 20px;
  }
}

@media (min-width: 992px) {
  .mx-grid,
  .mx-tabcontainer,
  .mx-listview,
  .mx-templategrid,
  .mx-groupbox {
    margin-bottom: 35px;
  }
}

.mx-layoutcontainer .mx-layoutcontainer-wrapper {
  padding: 0px;
}

.profile-tablet .mx-layoutcontainer .mx-layoutcontainer-wrapper {
  padding: 0px;
}

.profile-phone .mx-layoutcontainer .mx-layoutcontainer-wrapper {
  padding: 0px;
}

.mx-layoutcontainer .mx-placeholder {
  padding: 0;
}

.mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
  padding-top: 0;
  padding-bottom: 0;
}

@media (max-width: 767px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
    padding: 10px 15px 10px 15px;
  }
}

@media (min-width: 768px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
    padding: 20px 30px 20px 30px;
  }
}

@media (min-width: 992px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
    padding: 35px 40px 35px 40px;
  }
}

@media (max-width: 767px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child {
    padding-top: 10px;
  }
}

@media (min-width: 768px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child {
    padding-top: 20px;
  }
}

@media (min-width: 992px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:first-child {
    padding-top: 35px;
  }
}

@media (max-width: 767px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child {
    padding-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child {
    padding-bottom: 20px;
  }
}

@media (min-width: 992px) {
  .mx-layoutcontainer .mx-placeholder .mx-layoutgrid:last-child {
    padding-bottom: 35px;
  }
}

.mx-layoutcontainer .mx-placeholder .mx-layoutgrid.container {
  padding-left: 15px;
  padding-right: 15px;
}

.mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid {
  padding: 0;
}

.profile-phone .mx-layoutcontainer .mx-placeholder {
  padding: 0;
}

.profile-phone .mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid {
  padding: 0;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder {
  padding: 0;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid {
  padding: 20px 30px 20px 30px;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid.container {
  padding-left: 15px;
  padding-right: 15px;
}

.profile-tablet .mx-layoutcontainer .mx-placeholder .mx-layoutgrid .mx-layoutgrid {
  padding: 0;
}

.mx-layoutcontainer-wrapper.mx-layoutcontainer-nested {
  padding: 0;
}

.pageheader .mx-grid,
.pageheader .mx-tabcontainer,
.pageheader .mx-listview,
.pageheader .mx-templategrid,
.pageheader .mx-groupbox {
  margin-bottom: 0;
}

.profile-phone .mx-placeholder > .mx-tabcontainer:only-child,
.profile-phone .mx-placeholder > .mx-grid:only-child,
.profile-tablet .mx-placeholder > .mx-tabcontainer:only-child,
.profile-tablet .mx-placeholder > .mx-grid:only-child {
  margin-bottom: 0;
}

/* ==========================================================================
   Base

   Default settings
========================================================================== */
html {
  height: 100%;
}

body {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  color: #333333;
  font-size: 1rem;
  line-height: 1.5;
  background-color: #F9F9F9;
  min-height: 100%;
}

a {
  color: #2178c6;
  -webkit-transition: 0.25s;
  -moz-transition: 0.25s;
  -o-transition: 0.25s;
  transition: 0.25s;
  -webkit-backface-visibility: hidden;
}

a:hover {
  text-decoration: underline;
  color: #165084;
}

a:focus {
  outline: thin dotted;
}

a:active,
a:hover {
  outline: 0;
}

input:focus,
button:focus,
.mx-link:focus {
  outline: 0;
}

div[tabindex] {
  outline: 0;
}

/* ==========================================================================
   Inputs
========================================================================== */
.form-control, .form-disabled p {
  -moz-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;
  -webkit-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;
  box-shadow: none;
  display: block;
  padding: 6px 8px;
  width: 100%;
  height: auto;
  border: 1px solid #CCCCCC;
  border-radius: 4px;
  background-color: #FFFFFF;
  background-image: none;
  color: #333333;
  font-size: 1rem;
  line-height: 1.5;
}

.form-control:focus, .form-disabled p:focus {
  border-color: #CCCCCC;
  background-color: #FFFFFF;
  outline: 0;
}

textarea.form-control {
  height: auto;
}

.form-control-static, .form-group div[class*='textBox'] > label,
.form-group div[class*='textArea'] > label,
.form-group div[class*='datePicker'] > label {
  overflow: hidden;
  min-height: auto;
  padding-top: 6px;
  padding-bottom: 6px;
  font-size: 1rem;
  line-height: 1.5;
}

/* Not editable textarea, textarea will be rendered as a label */
.mx-textarea label {
  height: auto;
}

/* ==========================================================================
   Group with label and input
========================================================================== */
/* Input and textarea get properly aligned */
.form-group {
  margin-bottom: 10px;
}

.form-group [class*='col-'] {
  padding-left: 15px;
  padding-right: 15px;
}

.form-group .control-label {
  color: #A6A6A6;
  font-size: 1rem;
  font-weight: normal;
}

@media (min-width: 768px) {
  .form-horizontal .control-label {
    line-height: 1.5;
    padding-top: 6px;
    padding-bottom: 6px;
  }
}

/* ==========================================================================
   Inputs Readonly
========================================================================== */
/* ==========================================================================
   Inputs File Upload
========================================================================== */
.mx-fileinput {
  /* File input widget hover fix */
}

.mx-fileinput .mx-wrapped-label {
  display: inline-block;
  width: 200px;
}

.mx-fileinput .mx-wrapped-form .mx-wrapped-input {
  cursor: pointer;
}

.mx-fileinput .mx-wrapped-form .mx-fileinput-upload-button:hover {
  background-color: transparent;
}

/* ==========================================================================
   Alerts

   Default Bootstrap Alert boxes. Provide contextual feedback messages for typical user actions with the handful of available and flexible alert messages
========================================================================== */
.alert {
  border-radius: 4px;
  margin-top: 0;
  padding: 15px;
  border: 0;
}

.alert-bordered {
  border: 1px solid;
}

.alert-success {
  border-color: shade(#8CC152, 26);
  background-color: tint(#8CC152, 80);
  color: shade(#8CC152, 40);
}

.alert-info {
  border-color: shade(#8AD4ED, 26);
  background-color: tint(#8AD4ED, 80);
  color: shade(#8AD4ED, 40);
}

.alert-warning {
  border-color: shade(#F6BB42, 26);
  background-color: tint(#F6BB42, 80);
  color: shade(#F6BB42, 40);
}

.alert-danger {
  border-color: shade(#dc3545, 26);
  background-color: tint(#dc3545, 80);
  color: shade(#dc3545, 40);
}

.has-error .alert {
  margin-top: 8px;
  margin-bottom: 0;
}

/* ==========================================================================
   Backgrounds

   Different background components, all managed by variables
========================================================================== */
.background-layout {
  background-color: #F9F9F9 !important;
}

.background-layout-secondary {
  background-color: #CCCCCC !important;
}

.background-default {
  background-color: #FF6200 !important;
}

.background-default-darker {
  background-color: shade(#FF6200, 40) !important;
}

.background-default-dark {
  background-color: shade(#FF6200, 26) !important;
}

.background-default-light {
  background-color: tint(#FF6200, 40) !important;
}

.background-default-lighter {
  background-color: tint(#FF6200, 80) !important;
}

.background-inverse {
  background-color: #009DFF !important;
}

.background-inverse-darker {
  background-color: shade(#009DFF, 40) !important;
}

.background-inverse-dark {
  background-color: shade(#009DFF, 26) !important;
}

.background-inverse-light {
  background-color: tint(#009DFF, 40) !important;
}

.background-inverse-lighter {
  background-color: tint(#009DFF, 80) !important;
}

.background-primary {
  background-color: #DDDDDD !important;
}

.background-primary-darker {
  background-color: shade(#DDDDDD, 40) !important;
}

.background-primary-dark {
  background-color: shade(#DDDDDD, 26) !important;
}

.background-primary-light {
  background-color: tint(#DDDDDD, 40) !important;
}

.background-primary-lighter {
  background-color: tint(#DDDDDD, 80) !important;
}

.background-info {
  background-color: #8AD4ED !important;
}

.background-info-darker {
  background-color: shade(#8AD4ED, 40) !important;
}

.background-info-dark {
  background-color: shade(#8AD4ED, 26) !important;
}

.background-info-light {
  background-color: tint(#8AD4ED, 40) !important;
}

.background-info-lighter {
  background-color: tint(#8AD4ED, 80) !important;
}

.background-success {
  background-color: #8CC152 !important;
}

.background-success-darker {
  background-color: shade(#8CC152, 40) !important;
}

.background-success-dark {
  background-color: shade(#8CC152, 26) !important;
}

.background-success-light {
  background-color: tint(#8CC152, 40) !important;
}

.background-success-lighter {
  background-color: tint(#8CC152, 80) !important;
}

.background-warning {
  background-color: #F6BB42 !important;
}

.background-warning-darker {
  background-color: shade(#F6BB42, 40) !important;
}

.background-warning-dark {
  background-color: shade(#F6BB42, 26) !important;
}

.background-warning-light {
  background-color: tint(#F6BB42, 40) !important;
}

.background-warning-lighter {
  background-color: tint(#F6BB42, 80) !important;
}

.background-danger {
  background-color: #dc3545 !important;
}

.background-danger-darker {
  background-color: shade(#dc3545, 40) !important;
}

.background-danger-dark {
  background-color: shade(#dc3545, 26) !important;
}

.background-danger-light {
  background-color: tint(#dc3545, 40) !important;
}

.background-danger-lighter {
  background-color: tint(#dc3545, 80) !important;
}

/* ==========================================================================
   Buttons

   Default Bootstrap and Mendix Buttons
========================================================================== */
.btn,
.mx-button {
  /* MXID / Bootstrap values for when used in non-mendix apps */
  display: inline-block;
  margin-bottom: 0;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  cursor: pointer;
  background-image: none;
  border: 1px solid transparent;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  -o-user-select: none;
  user-select: none;
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  border-radius: 4px;
  box-shadow: none;
  padding: 1rem 1rem;
  background-color: transparent;
  color: #FF6200;
  text-shadow: none;
  font-size: 0.85rem;
  line-height: 1.5;
}

.btn:hover, .btn:focus, .btn:active,
.mx-button:hover,
.mx-button:focus,
.mx-button:active {
  box-shadow: none;
  outline: none;
}

.mx-link {
  padding: 0;
  color: #2178c6;
}

.mx-link a {
  color: inherit;
}

.btn img,
.mx-button img,
.mx-link img {
  margin-top: -1px;
  height: calc($font-base-size + 4px);
}

.dj_ie8 .mx-link {
  margin-right: 0;
  white-space: normal;
}

.btn-default {
  border-color: #FF6200;
  background-color: transparent;
  color: #FF6200;
}

.btn-default:hover, .btn-default:focus, .btn-default:active, .btn-default.active,
.open > .btn-default.dropdown-toggle {
  border-color: #cc4e00;
  background-color: rgba(0, 0, 0, 0);
  color: #FF6200;
}

.btn-default:active, .btn-default.active,
.open > .btn-default.dropdown-toggle {
  background-image: none;
}

.btn-default.disabled, .btn-default.disabled:hover, .btn-default.disabled:focus, .btn-default.disabled:active, .btn-default.disabled.active, .btn-default[disabled], .btn-default[disabled]:hover, .btn-default[disabled]:focus, .btn-default[disabled]:active, .btn-default[disabled].active,
fieldset[disabled] .btn-default,
fieldset[disabled] .btn-default:hover,
fieldset[disabled] .btn-default:focus,
fieldset[disabled] .btn-default:active,
fieldset[disabled] .btn-default.active {
  border-color: #FF6200;
  background-color: transparent;
}

.btn-default.btn-bordered {
  background-color: transparent;
  color: #FF6200;
}

.btn-default.btn-bordered:hover, .btn-default.btn-bordered:focus, .btn-default.btn-bordered:active, .btn-default.btn-bordered.active,
.open > .btn-default.btn-bordered.dropdown-toggle {
  background-color: transparent;
  border-color: #FF6200;
  color: #FF6200;
}

.btn-primary, .mx-grid.datagrid-fullsearch .mx-grid-search-button, .mx-grid.multilevel-grid .mx-grid-search-button {
  border-color: #FF6200;
  background-color: #FF6200;
  color: #FFFFFF;
}

.btn-primary:hover, .mx-grid.datagrid-fullsearch .mx-grid-search-button:hover, .mx-grid.multilevel-grid .mx-grid-search-button:hover, .btn-primary:focus, .mx-grid.datagrid-fullsearch .mx-grid-search-button:focus, .mx-grid.multilevel-grid .mx-grid-search-button:focus, .btn-primary:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.multilevel-grid .mx-grid-search-button:active, .btn-primary.active, .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.multilevel-grid .active.mx-grid-search-button,
.open > .btn-primary.dropdown-toggle,
.mx-grid.datagrid-fullsearch .open > .dropdown-toggle.mx-grid-search-button,
.mx-grid.multilevel-grid .open > .dropdown-toggle.mx-grid-search-button {
  border-color: #cc4e00;
  background-color: #cc4e00;
  color: #FFFFFF;
}

.btn-primary:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button:active, .mx-grid.multilevel-grid .mx-grid-search-button:active, .btn-primary.active, .mx-grid.datagrid-fullsearch .active.mx-grid-search-button, .mx-grid.multilevel-grid .active.mx-grid-search-button,
.open > .btn-primary.dropdown-toggle,
.mx-grid.datagrid-fullsearch .open > .dropdown-toggle.mx-grid-search-button,
.mx-grid.multilevel-grid .open > .dropdown-toggle.mx-grid-search-button {
  background-image: none;
}

.btn-primary.disabled, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button, .mx-grid.multilevel-grid .disabled.mx-grid-search-button, .btn-primary.disabled:hover, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:hover, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:hover, .btn-primary.disabled:focus, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:focus, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:focus, .btn-primary.disabled:active, .mx-grid.datagrid-fullsearch .disabled.mx-grid-search-button:active, .mx-grid.multilevel-grid .disabled.mx-grid-search-button:active, .btn-primary.disabled.active, .mx-grid.datagrid-fullsearch .disabled.active.mx-grid-search-button, .mx-grid.multilevel-grid .disabled.active.mx-grid-search-button, .btn-primary[disabled], .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled], .mx-grid.multilevel-grid .mx-grid-search-button[disabled], .btn-primary[disabled]:hover, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled]:hover, .mx-grid.multilevel-grid .mx-grid-search-button[disabled]:hover, .btn-primary[disabled]:focus, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled]:focus, .mx-grid.multilevel-grid .mx-grid-search-button[disabled]:focus, .btn-primary[disabled]:active, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled]:active, .mx-grid.multilevel-grid .mx-grid-search-button[disabled]:active, .btn-primary[disabled].active, .mx-grid.datagrid-fullsearch .mx-grid-search-button[disabled].active, .mx-grid.multilevel-grid .mx-grid-search-button[disabled].active,
fieldset[disabled] .btn-primary,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button,
fieldset[disabled] .btn-primary:hover,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:hover,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:hover,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:hover,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:hover,
fieldset[disabled] .btn-primary:focus,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:focus,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:focus,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:focus,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:focus,
fieldset[disabled] .btn-primary:active,
fieldset[disabled] .mx-grid.datagrid-fullsearch .mx-grid-search-button:active,
.mx-grid.datagrid-fullsearch fieldset[disabled] .mx-grid-search-button:active,
fieldset[disabled] .mx-grid.multilevel-grid .mx-grid-search-button:active,
.mx-grid.multilevel-grid fieldset[disabled] .mx-grid-search-button:active,
fieldset[disabled] .btn-primary.active,
fieldset[disabled] .mx-grid.datagrid-fullsearch .active.mx-grid-search-button,
.mx-grid.datagrid-fullsearch fieldset[disabled] .active.mx-grid-search-button,
fieldset[disabled] .mx-grid.multilevel-grid .active.mx-grid-search-button,
.mx-grid.multilevel-grid fieldset[disabled] .active.mx-grid-search-button {
  border-color: #FF6200;
  background-color: #FF6200;
}

.btn-primary.btn-bordered, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button {
  background-color: transparent;
  color: #FF6200;
}

.btn-primary.btn-bordered:hover, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:hover, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:hover, .btn-primary.btn-bordered:focus, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:focus, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:focus, .btn-primary.btn-bordered:active, .mx-grid.datagrid-fullsearch .btn-bordered.mx-grid-search-button:active, .mx-grid.multilevel-grid .btn-bordered.mx-grid-search-button:active, .btn-primary.btn-bordered.active, .mx-grid.datagrid-fullsearch .btn-bordered.active.mx-grid-search-button, .mx-grid.multilevel-grid .btn-bordered.active.mx-grid-search-button,
.open > .btn-primary.btn-bordered.dropdown-toggle,
.mx-grid.datagrid-fullsearch .open > .btn-bordered.dropdown-toggle.mx-grid-search-button,
.mx-grid.multilevel-grid .open > .btn-bordered.dropdown-toggle.mx-grid-search-button {
  background-color: #FF6200;
  border-color: #FF6200;
  color: #FFFFFF;
}

.btn-inverse {
  border-color: #009DFF;
  background-color: #009DFF;
  color: #FFFFFF;
}

.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active,
.open > .btn-inverse.dropdown-toggle {
  border-color: #007ecc;
  background-color: #007ecc;
  color: #FFFFFF;
}

.btn-inverse:active, .btn-inverse.active,
.open > .btn-inverse.dropdown-toggle {
  background-image: none;
}

.btn-inverse.disabled, .btn-inverse.disabled:hover, .btn-inverse.disabled:focus, .btn-inverse.disabled:active, .btn-inverse.disabled.active, .btn-inverse[disabled], .btn-inverse[disabled]:hover, .btn-inverse[disabled]:focus, .btn-inverse[disabled]:active, .btn-inverse[disabled].active,
fieldset[disabled] .btn-inverse,
fieldset[disabled] .btn-inverse:hover,
fieldset[disabled] .btn-inverse:focus,
fieldset[disabled] .btn-inverse:active,
fieldset[disabled] .btn-inverse.active {
  border-color: #009DFF;
  background-color: #009DFF;
}

.btn-inverse.btn-bordered {
  background-color: transparent;
  color: #009DFF;
}

.btn-inverse.btn-bordered:hover, .btn-inverse.btn-bordered:focus, .btn-inverse.btn-bordered:active, .btn-inverse.btn-bordered.active,
.open > .btn-inverse.btn-bordered.dropdown-toggle {
  background-color: #009DFF;
  border-color: #009DFF;
  color: #FFFFFF;
}

.btn-inverse:hover, .btn-inverse:focus, .btn-inverse:active, .btn-inverse.active,
.open > .btn-inverse.dropdown-toggle {
  background-color: #33b1ff;
  border-color: #33b1ff;
}

.btn-success {
  border-color: #8CC152;
  background-color: #8CC152;
  color: #FFFFFF;
}

.btn-success:hover, .btn-success:focus, .btn-success:active, .btn-success.active,
.open > .btn-success.dropdown-toggle {
  border-color: #72a53b;
  background-color: #72a53b;
  color: #FFFFFF;
}

.btn-success:active, .btn-success.active,
.open > .btn-success.dropdown-toggle {
  background-image: none;
}

.btn-success.disabled, .btn-success.disabled:hover, .btn-success.disabled:focus, .btn-success.disabled:active, .btn-success.disabled.active, .btn-success[disabled], .btn-success[disabled]:hover, .btn-success[disabled]:focus, .btn-success[disabled]:active, .btn-success[disabled].active,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-success:hover,
fieldset[disabled] .btn-success:focus,
fieldset[disabled] .btn-success:active,
fieldset[disabled] .btn-success.active {
  border-color: #8CC152;
  background-color: #8CC152;
}

.btn-success.btn-bordered {
  background-color: transparent;
  color: #8CC152;
}

.btn-success.btn-bordered:hover, .btn-success.btn-bordered:focus, .btn-success.btn-bordered:active, .btn-success.btn-bordered.active,
.open > .btn-success.btn-bordered.dropdown-toggle {
  background-color: #8CC152;
  border-color: #8CC152;
  color: #FFFFFF;
}

.btn-info {
  border-color: #8AD4ED;
  background-color: #8AD4ED;
  color: #FFFFFF;
}

.btn-info:hover, .btn-info:focus, .btn-info:active, .btn-info.active,
.open > .btn-info.dropdown-toggle {
  border-color: #5ec4e6;
  background-color: #5ec4e6;
  color: #FFFFFF;
}

.btn-info:active, .btn-info.active,
.open > .btn-info.dropdown-toggle {
  background-image: none;
}

.btn-info.disabled, .btn-info.disabled:hover, .btn-info.disabled:focus, .btn-info.disabled:active, .btn-info.disabled.active, .btn-info[disabled], .btn-info[disabled]:hover, .btn-info[disabled]:focus, .btn-info[disabled]:active, .btn-info[disabled].active,
fieldset[disabled] .btn-info,
fieldset[disabled] .btn-info:hover,
fieldset[disabled] .btn-info:focus,
fieldset[disabled] .btn-info:active,
fieldset[disabled] .btn-info.active {
  border-color: #8AD4ED;
  background-color: #8AD4ED;
}

.btn-info.btn-bordered {
  background-color: transparent;
  color: #8AD4ED;
}

.btn-info.btn-bordered:hover, .btn-info.btn-bordered:focus, .btn-info.btn-bordered:active, .btn-info.btn-bordered.active,
.open > .btn-info.btn-bordered.dropdown-toggle {
  background-color: #8AD4ED;
  border-color: #8AD4ED;
  color: #FFFFFF;
}

.btn-warning {
  border-color: #F6BB42;
  background-color: #F6BB42;
  color: #FFFFFF;
}

.btn-warning:hover, .btn-warning:focus, .btn-warning:active, .btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  border-color: #f4a911;
  background-color: #f4a911;
  color: #FFFFFF;
}

.btn-warning:active, .btn-warning.active,
.open > .btn-warning.dropdown-toggle {
  background-image: none;
}

.btn-warning.disabled, .btn-warning.disabled:hover, .btn-warning.disabled:focus, .btn-warning.disabled:active, .btn-warning.disabled.active, .btn-warning[disabled], .btn-warning[disabled]:hover, .btn-warning[disabled]:focus, .btn-warning[disabled]:active, .btn-warning[disabled].active,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-warning:hover,
fieldset[disabled] .btn-warning:focus,
fieldset[disabled] .btn-warning:active,
fieldset[disabled] .btn-warning.active {
  border-color: #F6BB42;
  background-color: #F6BB42;
}

.btn-warning.btn-bordered {
  background-color: transparent;
  color: #F6BB42;
}

.btn-warning.btn-bordered:hover, .btn-warning.btn-bordered:focus, .btn-warning.btn-bordered:active, .btn-warning.btn-bordered.active,
.open > .btn-warning.btn-bordered.dropdown-toggle {
  background-color: #F6BB42;
  border-color: #F6BB42;
  color: #FFFFFF;
}

.btn-danger {
  border-color: #dc3545;
  background-color: #dc3545;
  color: #FFFFFF;
}

.btn-danger:hover, .btn-danger:focus, .btn-danger:active, .btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  border-color: #bd2130;
  background-color: #bd2130;
  color: #FFFFFF;
}

.btn-danger:active, .btn-danger.active,
.open > .btn-danger.dropdown-toggle {
  background-image: none;
}

.btn-danger.disabled, .btn-danger.disabled:hover, .btn-danger.disabled:focus, .btn-danger.disabled:active, .btn-danger.disabled.active, .btn-danger[disabled], .btn-danger[disabled]:hover, .btn-danger[disabled]:focus, .btn-danger[disabled]:active, .btn-danger[disabled].active,
fieldset[disabled] .btn-danger,
fieldset[disabled] .btn-danger:hover,
fieldset[disabled] .btn-danger:focus,
fieldset[disabled] .btn-danger:active,
fieldset[disabled] .btn-danger.active {
  border-color: #dc3545;
  background-color: #dc3545;
}

.btn-danger.btn-bordered {
  background-color: transparent;
  color: #dc3545;
}

.btn-danger.btn-bordered:hover, .btn-danger.btn-bordered:focus, .btn-danger.btn-bordered:active, .btn-danger.btn-bordered.active,
.open > .btn-danger.btn-bordered.dropdown-toggle {
  background-color: #dc3545;
  border-color: #dc3545;
  color: #FFFFFF;
}

.btn-link {
  border: 0;
  background-color: transparent;
  color: #2178c6;
}

.btn-link:hover {
  background-color: transparent;
  color: #165084;
}

/* Buttons appear disabled */
.btn-disabled {
  opacity: 0.65;
  filter: alpha(opacity=65);
  /* For IE8 and earlier */
  cursor: not-allowed;
  pointer-events: none;
}

.btn-transparent,
.btn-transparent:hover,
.btn-transparent:focus {
  border-style: none;
  background-color: transparent;
}

.btn-lg {
  font-size: 1.25rem;
  padding: 1rem 1rem;
}

.btn-lg img {
  height: calc($font-size-large + 4px);
}

.btn-sm {
  font-size: 0.85rem;
  padding: 1rem 1rem;
}

.btn-sm img {
  height: calc($font-size-small + 4px);
}

/* Buttons Image */
.btn-image {
  padding: 0;
  border-style: none;
  background-color: transparent;
  vertical-align: middle;
}

.btn-image img {
  height: auto;
  display: block;
}

.btn-image:hover, .btn-image:focus {
  background-color: transparent;
}

/* Buttons Position */
.btn-right {
  float: right;
}

.btn-left {
  float: left;
}

/* Buttons Attached */
.btn-attached-right {
  margin-left: 5px;
}

.btn-attached-left {
  margin-right: 5px;
}

.btn-attached-bottom {
  margin-top: 5px;
}

.btn-attached-top {
  margin-bottom: 5px;
}

/* ==========================================================================
   Grid

   Default Mendix Grid (used for Mendix Datagrid)
========================================================================== */
.mx-grid {
  border-radius: 0;
  padding: 0px;
  border: 0;
}

.mx-grid .mx-grid-controlbar {
  margin: 10px 0;
  /* Paging */
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar {
  /* Buttons */
  /* Text Paging .. to .. to .. */
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button {
  padding: 6px;
  background-color: transparent;
  color: #999;
  border-color: transparent;
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button:hover {
  background-color: transparent;
  color: #DDDDDD;
  border-color: transparent;
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button.disabled, .mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-button[disabled] {
  opacity: 0.4;
  filter: alpha(opacity=40);
  /* For IE8 and earlier */
}

.mx-grid .mx-grid-controlbar .mx-grid-pagingbar .mx-grid-paging-status {
  padding: 0 8px 8px;
}

.mx-grid .mx-grid-searchbar {
  margin: 10px 0;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label {
  vertical-align: middle;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-label label {
  padding-top: 5px;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-control, .mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input p {
  height: 28px;
  font-size: 11px;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input select.form-control {
  vertical-align: middle;
  padding: 3px;
}

.mx-grid .mx-grid-searchbar .mx-grid-search-item .mx-grid-search-input .mx-button {
  height: 28px;
  padding-top: 2px;
  padding-bottom: 2px;
}

/* Remove default border from grid inside a Mendix Dataview */
.mx-dataview .mx-grid {
  border: 0;
}

/* ==========================================================================
   Datagrid Default

   Default Mendix Datagrid Widget. The datagrid shows a list of objects in a grid
========================================================================== */
.mx-datagrid .mx-datagrid-head-table {
  border-width: 0;
  background-color: transparent;
  /* Table header */
}

.mx-datagrid .mx-datagrid-head-table th {
  border-left: 0;
  border-right: 0;
  border-top-width: 0;
  border-bottom-width: 2px;
  border-style: solid;
  border-color: #DDD;
  background-color: transparent;
}

.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper {
  padding: 8px 8px 8px 8px;
  vertical-align: middle;
}

.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper .mx-datagrid-head-caption {
  white-space: normal;
}

.mx-datagrid .mx-datagrid-body-table {
  border-width: 0;
  /* Table Body */
  /* Table Footer */
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  padding: 8px 8px 8px 8px;
  background-color: #FFFFFF;
  border-width: 0;
  border-top-width: 1px;
  border-top-style: solid;
  border-color: #DDD;
  vertical-align: middle;
  /* Text without spaces */
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td:focus {
  outline: none;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td .mx-datagrid-data-wrapper {
  text-overflow: ellipsis;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected td,
.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td {
  background-color: #DDDDDD !important;
  color: #333333;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-foot > tr > th {
  padding: 8px 8px 8px 8px;
  background-color: #DDD;
  border-width: 0;
}

.mx-datagrid .mx-datagrid-body-table .mx-datagrid-foot > tr > td {
  background-color: #FFFFFF;
  border-width: 0;
  font-weight: bold;
  padding: 8px 8px 8px 8px;
}

.mx-datagrid .mx-datagrid-body-table *:focus {
  outline: 0;
}

/* ==========================================================================
   Datagrid Striped

   Default Mendix Datagrid Widget with striped rows
========================================================================== */
.datagrid-striped.mx-datagrid .mx-datagrid-head-table th {
  border-width: 0;
}

.datagrid-striped.mx-datagrid .mx-datagrid-body-table {
  /* Body */
}

.datagrid-striped.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  border-top-width: 0;
}

.datagrid-striped.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:nth-child(odd) td {
  background-color: #eaeaea;
}

/* ==========================================================================
   Datagrid Bordered

   Default Mendix Datagrid Widget with borders
========================================================================== */
.datagrid-bordered.mx-datagrid .mx-datagrid-head-table th {
  border: 1px solid #DDD;
  border-bottom-width: 1px;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-body-table {
  border: 1px solid;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  border: 1px solid #DDD;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-foot > tr > th {
  background-color: #DDD;
  border-width: 0;
}

.datagrid-bordered.mx-datagrid .mx-datagrid-foot > tr > td {
  border-width: 1px;
}

/* ==========================================================================
   Datagrid Hover

   Default Mendix Datagrid Widget with hover
========================================================================== */
.datagrid-hover.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:hover td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr:hover td {
  background-color: shade(tint(#DDDDDD, 80), 3) !important;
}

.datagrid-hover.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td {
  background-color: shade(tint(#DDDDDD, 80), 3) !important;
}

/* ==========================================================================
   Datagrid Large

   Default Mendix Datagrid Widget with large rows
========================================================================== */
.datagrid-large.mx-datagrid .mx-datagrid-head-table .mx-datagrid-head-wrapper {
  padding: 15px 10px;
}

.datagrid-large.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td {
  padding: 15px 10px;
}

/* ==========================================================================
   Datagrid Transparent

   Default Mendix Datagrid Widget with transparent background for row and cells
========================================================================== */
.datagrid-transparent.mx-datagrid .mx-datagrid-head-table, .mx-datagrid.multilevel-grid .mx-datagrid-head-table {
  background-color: transparent;
}

.datagrid-transparent.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr:nth-of-type(odd), .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr:nth-of-type(odd) {
  background-color: transparent;
}

.datagrid-transparent.mx-datagrid .mx-datagrid-body-table .mx-datagrid-body tr td, .mx-datagrid.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr td {
  background-color: transparent;
}

/* ==========================================================================
   Datagrid Full Search

   Default Mendix Datagrid Widget with adjusted search field. Only 1 search field is allowed
========================================================================== */
.mx-grid.datagrid-fullsearch .mx-grid-reset-button, .mx-grid.multilevel-grid .mx-grid-reset-button {
  display: none;
}

.mx-grid.datagrid-fullsearch .mx-grid-search-item, .mx-grid.multilevel-grid .mx-grid-search-item {
  display: block;
}

.mx-grid.datagrid-fullsearch .mx-grid-search-label, .mx-grid.multilevel-grid .mx-grid-search-label {
  display: none;
}

.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-controls, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-controls {
  position: absolute;
  right: 0;
}

.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input {
  width: 80%;
  padding-left: 0;
}

.mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input .form-control, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input .form-control, .mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid.datagrid-fullsearch .mx-grid-searchbar .mx-grid-search-input p, .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input .form-disabled p, .form-disabled .mx-grid.multilevel-grid .mx-grid-searchbar .mx-grid-search-input p {
  height: 35px;
  font-size: 12px;
}

/* ==========================================================================
   Dataview

   Default Mendix Dataview Widget. The data view is used for showing the contents of exactly one object
========================================================================== */
.mx-dataview {
  /* Control bar */
  /* Dataview-content gives problems for nexted layout grid containers */
  /* Dataview empty message */
}

.mx-dataview .mx-dataview-controls {
  border-radius: 0;
  clear: both;
  margin-top: 10px;
  padding: 8px 0;
  border-top: 1px solid #DDD;
  background-color: transparent;
  /* Buttons */
}

.mx-dataview .mx-dataview-controls .mx-button {
  margin-bottom: 0;
}

.mx-dataview > .mx-dataview-content > .mx-container-nested > .row {
  margin-right: 0;
  margin-left: 0;
}

.mx-dataview .mx-dataview-message {
  background: #F9F9F9;
  color: #333333;
}

/*
* Mendix Documentation
* Special styles for presenting components
*/
/*
* Dijit Widgets
*
* Default Dojo Dijit Widgets
*/
/*
 * Dijit Calendar Widget
 *
 * Used in dataviews
 */
.dijitCalendarContainer {
  /* (must be higher than popup z-index) */
  z-index: 10010 !important;
  background-color: #eff0f2;
}

.dijitCalendarContainer tr th {
  background-color: #26323D;
  color: #FFF;
  text-align: center;
}

.dijitCalendarContainer tr th,
.dijitCalendarContainer tr td {
  padding: 6px;
  text-align: center;
}

.dijitCalendarContainer tr td .dijitCalendarDateLabel {
  color: #000;
}

.dijitCalendarContainer tr tfoot h3 {
  margin: 0;
  padding: 0;
  font-size: inherit;
}

.dijitCalendarContainer .dijitCalendarMonthLabel {
  font-weight: bold;
}

.dijitCalendarContainer .dijitButtonNode {
  border: 0;
}

.dijitCalendarContainer .dijitCalendarArrow {
  cursor: pointer;
}

.dijitCalendarContainer .dijitCalendarSelectedDate,
.dijitCalendarContainer .dijitCalendarSelectedDate:hover {
  border-radius: 10px;
  background: #DDDDDD;
}

.dijitCalendarContainer .dijitCalendarSelectedDate .dijitCalendarDateLabel,
.dijitCalendarContainer .dijitCalendarSelectedDate:hover .dijitCalendarDateLabel {
  color: #fff;
}

.dijitCalendarContainer .dijitCalendarHoveredDate,
.dijitCalendarContainer .dijitCalendarPreviousYearHover,
.dijitCalendarContainer .dijitCalendarNextYearHover,
.dijitCalendarContainer .dijitCalendarMonthLabelHover {
  border-radius: 10px;
  background-color: #dbdcdd;
}

.dijitCalendarContainer .dijitCalendarYearContainer td {
  border-top: 1px solid #DDD;
  text-align: center;
  color: #000;
}

.dijitCalendarContainer .dijitCalendarYearContainer td .dijitCalendarSelectedYear {
  font-weight: bold;
  text-decoration: underline;
}

.dijitCalendarContainer .dijitCalendarMonthContainer th:first-child {
  border-top-left-radius: 3px;
}

.dijitCalendarContainer .dijitCalendarMonthContainer th:last-child {
  border-top-right-radius: 3px;
}

.dijitCalendarMonthMenuPopup {
  border-radius: 3px;
  /* (must be higher than popup z-index) */
  z-index: 10020 !important;
  padding: 3px 4px;
  background-color: #26323D;
}

.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu {
  border-style: none;
  background: none;
}

.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel {
  padding: 2px 0;
  color: #FFF;
}

.dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel:hover, .dijitCalendarMonthMenuPopup .dijitCalendarMonthMenu .dijitCalendarMonthLabel:focus {
  color: #4280cb;
}

.dj_rtl .dijitCalendarContainer .dijitCalendarMonthContainer th:first-child {
  border-top-left-radius: 0px;
  border-top-right-radius: 3px;
}

.dj_rtl .dijitCalendarContainer .dijitCalendarMonthContainer th:last-child {
  border-top-left-radius: 3px;
  border-top-right-radius: 0px;
}

/*
 * Dijit Tooltip Widget
 *
 * Default tooltip used for Mendix widgets
 */
.mx-tooltip .dijitTooltipContainer {
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175);
  border-width: 1px;
  border-color: #999;
  background: #FFF;
}

.mx-tooltip .dijitTooltipContainer .mx-tooltip-content {
  padding: 10px;
}

.mx-tooltip .dijitTooltipContainer .form-group {
  margin-bottom: 5px;
}

.mx-tooltip .dijitTooltipConnector {
  margin-left: -10px;
  width: 0;
  height: 0;
  border-width: 10px 10px 10px 0;
  border-style: solid;
  border-color: transparent;
  border-right-color: #999;
}

/*
 * Dijit Border Container
 *
 * Used in Mendix as split pane containers
 */
.dijitBorderContainer {
  padding: 5px;
  background-color: #fcfcfc;
}

.dijitBorderContainer .dijitSplitterV,
.dijitBorderContainer .dijitGutterV {
  width: 5px;
  border: 0;
  background: #fcfcfc;
}

.dijitBorderContainer .dijitSplitterH,
.dijitBorderContainer .dijitGutterH {
  height: 5px;
  border: 0;
  background: #fcfcfc;
}

.dijitBorderContainer .dijitSplitterH .dijitSplitterThumb {
  top: 2px;
  width: 19px;
  height: 1px;
  background: #B0B0B0;
}

.dijitBorderContainer .dijitSplitterV .dijitSplitterThumb {
  left: 2px;
  width: 1px;
  height: 19px;
  background: #B0B0B0;
}

.dijitBorderContainer .dijitSplitContainer-child,
.dijitBorderContainer .dijitBorderContainer-child {
  border: 1px solid #ccc;
}

.dijitBorderContainer .dijitBorderContainer-dijitTabContainerTop,
.dijitBorderContainer .dijitBorderContainer-dijitTabContainerBottom,
.dijitBorderContainer .dijitBorderContainer-dijitTabContainerLeft,
.dijitBorderContainer .dijitBorderContainer-dijitTabContainerRight {
  border: none;
}

.dijitBorderContainer .dijitBorderContainer-dijitBorderContainer {
  padding: 0;
  border: none;
}

.dijitBorderContainer .dijitSplitterActive {
  opacity: 0.6;
  filter: alpha(opacity=60);
  /* For IE8 and earlier */
  margin: 0;
  background-color: #aaa;
  background-image: none;
  font-size: 1px;
}

.dijitBorderContainer .dijitSplitContainer-dijitContentPane,
.dijitBorderContainer .dijitBorderContainer-dijitContentPane {
  padding: 5px;
  background-color: #fff;
}

/*
 * Dijit Menu Popup
 *
 * Used in datepickers and calendar widgets
 */
.dijitMenuPopup {
  margin-top: 10px;
}

.dijitMenuPopup .dijitMenu {
  border-radius: 3px;
  display: block;
  margin-top: 0;
  padding: 12px 10px;
  background: #009DFF;
  width: 200px !important;
}

.dijitMenuPopup .dijitMenu:after {
  position: absolute;
  bottom: 100%;
  left: 20px;
  margin-left: -10px;
  width: 0px;
  height: 0px;
  border: medium solid transparent;
  border-width: 10px;
  border-bottom-color: #009DFF;
  content: " ";
  pointer-events: none;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem {
  background: transparent;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem .dijitMenuItemLabel {
  border-radius: 3px;
  padding: 10px;
  color: #FFF;
  width: 180px !important;
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover {
  background: none;
}

.dijitMenuPopup .dijitMenu .dijitMenuItem.dijitMenuItemHover .dijitMenuItemLabel {
  background: #DDDDDD;
}

.dijitMenuPopup .dijitMenu .tg_newlabelmenuitem .dijitMenuItemLabel {
  font-weight: bold;
}

.dijitMenuPopup .dijitMenu .dijitMenuSeparator td {
  padding: 0;
  border-bottom-width: 3px;
}

.dijitMenuPopup .dijitMenu .dijitMenuSeparator .dijitMenuSeparatorIconCell > div {
  margin: 0;
}

/* ==========================================================================
   Glyphicons

   Glyphicons alternaed to use with Mendix
========================================================================== */
.mx-glyphicon:before {
  display: inline-block;
  font-family: 'Glyphicons Halflings';
  -webkit-font-smoothing: antialiased;
  font-style: normal;
  font-weight: normal;
  vertical-align: middle;
  margin-right: 0.4555555em;
  margin-top: -0.2em;
  line-height: inherit;
  -moz-osx-font-smoothing: grayscale;
}

/* ==========================================================================
   Groupbox

   Default Mendix Groupboxes
========================================================================== */
.mx-groupbox > .mx-groupbox-header {
  font-weight: bold;
  border-radius: 0;
  margin: 0;
  background: #FF6200;
  color: #000;
  font-size: 1.2rem;
  border-style: solid;
  border-width: 1px 1px 0 1px;
  border-color: #FF6200;
}

.mx-groupbox > .mx-groupbox-header .mx-groupbox-collapse-icon {
  margin-top: 0.1em;
}

.mx-groupbox > .mx-groupbox-body {
  border-radius: 0;
  padding: 10px 15px;
  border-color: #FF6200;
  background-color: #FFF;
  border-style: solid;
  border-width: 1px;
}

.mx-groupbox .mx-groupbox-header + .mx-groupbox-body {
  border-radius: 0;
  border-top: none;
}

.mx-groupbox.collapsed > .mx-groupbox-header {
  border-radius: 0;
}

/* ==========================================================================
   Groupbox Callouts

   Default Mendix Groupboxes rendered as (Bootstrap) callouts
========================================================================== */
.mx-groupbox.groupbox-stylingless > .mx-groupbox-header {
  border-radius: 0;
  padding: 0;
  border-style: none;
  background-color: transparent;
}

.mx-groupbox.groupbox-stylingless > .mx-groupbox-body {
  border-radius: 0;
  padding: 0;
  border-style: none;
  background-color: transparent;
}

.mx-groupbox.groupbox-border-radius > .mx-groupbox-header {
  border-radius: 3px 3px 0 0 !important;
}

.mx-groupbox.groupbox-border-radius > .mx-groupbox-body {
  border-radius: 3px !important;
}

.mx-groupbox.groupbox-border-radius .mx-groupbox-header + .mx-groupbox-body {
  border-radius: 0 0 3px 3px !important;
}

.mx-groupbox.groupbox-borderless > .mx-groupbox-body {
  border: 0 !important;
}

.mx-groupbox.groupbox-border-top > .mx-groupbox-header {
  border-style: none;
  border-top-style: solid !important;
}

.mx-groupbox.groupbox-border-top > .mx-groupbox-body {
  border-style: none;
  border-top-style: solid !important;
}

.mx-groupbox.groupbox-border-top .mx-groupbox-header + .mx-groupbox-body {
  border-top-style: none !important;
}

.mx-groupbox.groupbox-border-right > .mx-groupbox-header {
  border-style: none;
  border-right-style: solid !important;
}

.mx-groupbox.groupbox-border-right > .mx-groupbox-body {
  border-style: none;
  border-right-style: solid !important;
}

.mx-groupbox.groupbox-border-bottom > .mx-groupbox-header {
  border-style: none;
}

.mx-groupbox.groupbox-border-bottom > .mx-groupbox-body {
  border-style: none;
  border-bottom-style: solid !important;
}

.mx-groupbox.groupbox-border-left > .mx-groupbox-header {
  border-style: none;
  border-left-style: solid !important;
}

.mx-groupbox.groupbox-border-left > .mx-groupbox-body {
  border-style: none;
  border-left-style: solid !important;
}

/* ==========================================================================
   Groupbox Colors
========================================================================== */
.mx-groupbox.groupbox-default > .mx-groupbox-header {
  background: #FF6200;
  color: #000;
  border-color: #FF6200;
}

.mx-groupbox.groupbox-default > .mx-groupbox-body {
  border-color: #FF6200;
}

.mx-groupbox.groupbox-primary > .mx-groupbox-header {
  background: #DDDDDD;
  color: #FFF;
  border-color: #DDDDDD;
}

.mx-groupbox.groupbox-primary > .mx-groupbox-body {
  border-color: #DDDDDD;
}

.mx-groupbox.groupbox-inverse > .mx-groupbox-header {
  background: #009DFF;
  color: #FFF;
  border-color: #009DFF;
}

.mx-groupbox.groupbox-inverse > .mx-groupbox-body {
  border-color: #009DFF;
}

.mx-groupbox.groupbox-success > .mx-groupbox-header {
  background: #8CC152;
  color: #FFF;
  border-color: #8CC152;
}

.mx-groupbox.groupbox-success > .mx-groupbox-body {
  border-color: #8CC152;
}

.mx-groupbox.groupbox-info > .mx-groupbox-header {
  background: #8AD4ED;
  color: #FFF;
  border-color: #8AD4ED;
}

.mx-groupbox.groupbox-info > .mx-groupbox-body {
  border-color: #8AD4ED;
}

.mx-groupbox.groupbox-warning > .mx-groupbox-header {
  background: #F6BB42;
  color: #FFF;
  border-color: #F6BB42;
}

.mx-groupbox.groupbox-warning > .mx-groupbox-body {
  border-color: #F6BB42;
}

.mx-groupbox.groupbox-danger > .mx-groupbox-header {
  background: #dc3545;
  color: #FFF;
  border-color: #dc3545;
}

.mx-groupbox.groupbox-danger > .mx-groupbox-body {
  border-color: #dc3545;
}

.mx-groupbox.groupbox-white > .mx-groupbox-header {
  background: #FFF;
  color: #333333;
  border-color: #FFF;
}

.mx-groupbox.groupbox-white > .mx-groupbox-body {
  border-color: #FFF;
}

.mx-groupbox.groupbox-transparent {
  background-color: transparent;
}

.mx-groupbox.groupbox-transparent > .mx-groupbox-header {
  border-style: none;
  background-color: transparent;
}

.mx-groupbox.groupbox-transparent > .mx-groupbox-body {
  border-style: none;
  background-color: transparent;
}

/* ==========================================================================
   Groupbox Spacing
========================================================================== */
.mx-groupbox.groupbox-sideless > .mx-groupbox-header {
  padding-right: 0;
  padding-left: 0;
}

.mx-groupbox.groupbox-sideless > .mx-groupbox-body {
  padding-right: 0;
  padding-left: 0;
}

.mx-groupbox.groupbox-bodyless > .mx-groupbox-body {
  padding: 0;
}

/* ==========================================================================
   Groupbox Headers
========================================================================== */
.mx-groupbox.groupbox-h1 > .mx-groupbox-header {
  font-size: 2rem;
}

.mx-groupbox.groupbox-h2 > .mx-groupbox-header {
  font-size: 1.8rem;
}

.mx-groupbox.groupbox-h3 > .mx-groupbox-header {
  font-size: 1.6rem;
}

.mx-groupbox.groupbox-h4 > .mx-groupbox-header {
  font-size: 1.2rem;
}

.mx-groupbox.groupbox-h5 > .mx-groupbox-header {
  font-size: 1rem;
}

.mx-groupbox.groupbox-h6 > .mx-groupbox-header {
  font-size: 0.8rem;
}

/* ==========================================================================
   Groupbox Callouts
========================================================================== */
.mx-groupbox.groupbox-callout > .mx-groupbox-header,
.mx-groupbox.groupbox-callout > .mx-groupbox-body {
  border: 0;
}

.mx-groupbox.groupbox-callout .mx-groupbox-header + .mx-groupbox-body {
  padding-top: 0;
}

.mx-groupbox.groupbox-callout-info > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-info > .mx-groupbox-body {
  background-color: tint(#8AD4ED, 80);
}

.mx-groupbox.groupbox-callout-info > .mx-groupbox-header {
  color: #8AD4ED;
}

.mx-groupbox.groupbox-callout-success > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-success > .mx-groupbox-body {
  background-color: tint(#8CC152, 80);
}

.mx-groupbox.groupbox-callout-success > .mx-groupbox-header {
  color: #8CC152;
}

.mx-groupbox.groupbox-callout-warning > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-warning > .mx-groupbox-body {
  background-color: tint(#F6BB42, 80);
}

.mx-groupbox.groupbox-callout-warning > .mx-groupbox-header {
  color: #F6BB42;
}

.mx-groupbox.groupbox-callout-danger > .mx-groupbox-header,
.mx-groupbox.groupbox-callout-danger > .mx-groupbox-body {
  background-color: tint(#dc3545, 80);
}

.mx-groupbox.groupbox-callout-danger > .mx-groupbox-header {
  color: #dc3545;
}

/* ==========================================================================
   Helpers

   Default Mendix Helpers
========================================================================== */
.show {
  display: block !important;
}

.hidden {
  display: none !important;
  visibility: hidden !important;
}

.invisible {
  visibility: hidden;
}

.display-ie8-only:not([attr*='']) {
  display: none;
  padding: 0;
}

.list-nostyle ul {
  padding: 0;
  margin: 0;
}

.list-nostyle ul li {
  list-style-type: none !important;
}

.nowrap,
.nowrap * {
  white-space: nowrap;
}

.form-disabled p {
  background-color: #E6E6E6 !important;
}

.padding-bottom-none {
  padding-bottom: 0;
}

/* Vertical Align Elements in a bootstrap row, add class on row */
.v-center {
  display: table;
  width: 100%;
}

.v-center div[class*='col-'] {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

/* Remove padding for Bootstrap columns, add class on row */
.no-gutter > [class*='col-'] {
  padding-right: 0;
  padding-left: 0;
}

/* Render DIV as Table Cells */
.table {
  display: table;
}

.table-cell {
  display: table-cell;
}

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

.align-middle {
  vertical-align: middle;
}

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

/* ==========================================================================
   Images

   Default Mendix Image Widgets
========================================================================== */
img.img-rounded,
.img-rounded img {
  border-radius: 6px;
}

img.img-thumbnail,
.img-thumbnail img {
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  border-radius: 4px;
  display: inline-block;
  height: auto;
  max-width: 100%;
  padding: 4px;
  line-height: 1.5;
  background-color: #fff;
  border: 1px solid #FF6200;
}

img.img-circle,
.img-circle img {
  border-radius: 50%;
}

img.img-auto,
.img-auto img {
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: 100% !important;
}

/* ==========================================================================
   Labels

   Default labels combined with Bootstrap labels
========================================================================== */
.label {
  font-weight: bold;
  border-radius: .25em;
  display: inline;
  padding: .2em .6em .3em !important;
  color: #fff;
  vertical-align: baseline;
  text-align: center;
  white-space: nowrap;
  font-size: 100%;
  line-height: 1;
}

.label-default {
  background-color: #FF6200;
  color: #333333;
}

.label-primary {
  background-color: #DDDDDD;
  color: #FFF;
}

.label-success {
  background-color: #8CC152;
  color: #FFF;
}

.label-info {
  background-color: #8AD4ED;
  color: #FFF;
}

.label-warning {
  background-color: #F6BB42;
  color: #FFF;
}

.label-danger {
  background-color: #dc3545;
  color: #FFF;
}

/* ==========================================================================
   Listview

   Default Mendix Listview Widget. The list view shows a list of objects arranged vertically. Each object is shown using a template
========================================================================== */
.mx-listview {
  /* Remove widget padding */
  padding: 0;
  /* Clear search button (overrides load more button stying) */
  /* Load more button */
}

.mx-listview .mx-button.mx-listview-clear-button {
  width: auto;
}

.mx-listview > .mx-button {
  width: 100%;
  margin: 10px auto;
}

.mx-listview .mx-listview-list {
  margin: 0;
}

.mx-listview .mx-listview-item {
  background-color: #FFFFFF;
  padding: 10px 0;
}

.mx-listview .mx-listview-item:hover {
  background-color: #FFFFFF;
}

.mx-listview .mx-listview-item.selected {
  background-color: #DDDDDD !important;
}

.mx-listview .mx-listview-item.selected:hover {
  background-color: shade(tint(#DDDDDD, 80), 3) !important;
}

.mx-listview .mx-listview-item:nth-child(2n+1) {
  background-color: #FFFFFF;
}

.mx-listview .mx-layoutgrid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   Listview Hover

   Default Mendix Listview Widget with hover
========================================================================== */
.listview-hover.mx-listview .mx-listview-item:hover, .mx-listview.multilevel-list .mx-listview-item:hover, .listview-hover.mx-listview .mx-listview-item:active, .mx-listview.multilevel-list .mx-listview-item:active {
  background-color: shade(tint(#DDDDDD, 80), 3) !important;
}

/* ==========================================================================
   Listview Lined

   Default Mendix Listview Widget with only border bottom in listview item
========================================================================== */
.listview-lined.mx-listview .mx-listview-item, .mx-listview.multilevel-list .mx-listview-item {
  border-top: 1px solid #DDD;
  border-right: none;
  border-left: none;
}

.listview-lined.mx-listview .mx-listview-item:first-child, .mx-listview.multilevel-list .mx-listview-item:first-child {
  border-radius: 0;
}

.listview-lined.mx-listview .mx-listview-item:last-child, .mx-listview.multilevel-list .mx-listview-item:last-child {
  border-radius: 0;
  border-bottom: 1px solid #DDD;
}

/* ==========================================================================
   Listview Striped

   Default Mendix Listview Widget with striped listview items
========================================================================== */
.listview-striped.mx-listview .mx-listview-item:nth-child(2n+1) {
  background-color: #eaeaea;
}

/* ==========================================================================
   Listview Seperated

   Default Mendix Listview Widget with listview items seperated
========================================================================== */
.listview-seperated.mx-listview .mx-listview-item {
  border-radius: 4px;
  margin-bottom: 10px;
  border-style: solid;
}

/* ==========================================================================
   Listview Stylingless

   Default Mendix Listview Widget with listview items seperated
========================================================================== */
.listview-stylingless.mx-listview .mx-listview-item {
  background-color: transparent;
  border: 0;
  padding: 0;
  cursor: default;
}

.listview-stylingless.mx-listview .mx-listview-item:hover {
  background-color: transparent;
}

.listview-stylingless.mx-listview .mx-listview-item.selected {
  background-color: transparent !important;
}

.listview-stylingless.mx-listview .mx-listview-item.selected:hover {
  background-color: transparent !important;
}

/* ==========================================================================
   Modals

   Default Mendix Modals. Modals are streamlined, but flexible, dialog prompts with the minimum required functionality and smart defaults
========================================================================== */
.modal-dialog .modal-content {
  border-radius: 4px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
  border: 1px solid #DDD;
}

.modal-dialog .modal-content .modal-header {
  border-radius: 0;
  padding: 15px 20px;
  background-color: transparent;
  border-bottom-color: #DDD;
}

.modal-dialog .modal-content .modal-header h4 {
  font-weight: bold;
  color: #333333;
  font-size: 16px;
  margin: 0;
}

.modal-dialog .modal-content .modal-header .close {
  opacity: 1;
  filter: alpha(opacity=100);
  /* For IE8 and earlier */
  color: #333333;
  text-shadow: none;
  margin-top: -3px;
}

.modal-dialog .modal-content .modal-body {
  padding: 20px;
}

.modal-dialog .modal-content .modal-footer {
  padding: 20px;
  margin-top: 0;
  border-style: none;
  text-align: left;
}

/* Default Mendix Window Modal */
.mx-window.mx-window-view .mx-window-body {
  padding: 0;
}

.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-content,
.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-content {
  padding: 20px;
}

.mx-window.mx-window-view .mx-window-body > .mx-dataview > .mx-dataview-controls,
.mx-window.mx-window-view .mx-window-body > .mx-placeholder > .mx-dataview > .mx-dataview-controls {
  padding: 20px;
  border-style: none;
  text-align: left;
  margin: 0;
}

.mx-window .mx-dataview-controls {
  padding-bottom: 0;
}

.mx-window .mx-layoutgrid {
  padding-left: 0;
  padding-right: 0;
}

/* Default Mendix Login Modal */
.mx-login .modal-body {
  padding: 0 15px;
}

.mx-login .modal-content input {
  box-shadow: none;
  padding: 12px 12px;
  height: 56px;
  border: 1px solid #EEE;
  background: #eee;
  font-size: 16px;
}

.mx-login .modal-content input:focus {
  border-color: #66afe9;
}

.mx-login .modal-header,
.mx-login .modal-footer {
  border: 0;
}

.mx-login button {
  font-size: 16px;
}

.mx-login h4 {
  color: #aaa;
  font-weight: bold;
  font-size: 20px;
}

/* ==========================================================================
   Navigation

   Default Mendix Navigation Bar
========================================================================== */
.mx-navbar {
  border-radius: 0;
  margin: 0;
  border-style: none;
  background-color: #FF6200;
  /* remove focus */
}

.mx-navbar ul.nav {
  margin: 0;
  /* Navigation item */
  /* When hovering or the dropdown is open */
}

.mx-navbar ul.nav > li.mx-navbar-item > a {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  border-radius: 0;
  padding: 15px 20px;
  color: #767676;
  font-size: 1rem;
  vertical-align: middle;
  /* Dropdown arrow */
  /* Dropdown */
}

.mx-navbar ul.nav > li.mx-navbar-item > a .caret {
  border-top-color: #767676;
  border-bottom-color: #767676;
}

.mx-navbar ul.nav > li.mx-navbar-item > a:hover, .mx-navbar ul.nav > li.mx-navbar-item > a:focus, .mx-navbar ul.nav > li.mx-navbar-item > a.active {
  background-color: #eb5a00;
  color: #DDDDDD;
  text-decoration: none;
}

.mx-navbar ul.nav > li.mx-navbar-item > a:hover .caret, .mx-navbar ul.nav > li.mx-navbar-item > a:focus .caret, .mx-navbar ul.nav > li.mx-navbar-item > a.active .caret {
  border-top-color: #DDDDDD;
  border-bottom-color: #DDDDDD;
}

.mx-navbar ul.nav > li.mx-navbar-item > a.active {
  color: #DDDDDD;
  background-color: #d65200;
}

.mx-navbar ul.nav > li.mx-navbar-item > a .mx-navbar-submenu:before {
  position: absolute;
  top: -9px;
  left: 15px;
  width: 0;
  height: 0;
  border-width: 0 9px 9px 9px;
  border-style: solid;
  border-color: transparent transparent #D0D0D0 transparent;
  content: "";
  transform: rotate(360deg);
  -webkit-transform: rotate(360deg);
}

.mx-navbar ul.nav > li.mx-navbar-item > a img {
  width: 20px;
  height: auto;
}

.mx-navbar ul.nav > li.mx-navbar-item > a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-navbar ul.nav > .mx-navbar-item > a:hover,
.mx-navbar ul.nav > .mx-navbar-item > a:focus,
.mx-navbar ul.nav > .mx-navbar-item.active a,
.mx-navbar ul.nav > .mx-navbar-item.open > a,
.mx-navbar ul.nav > .mx-navbar-item.open > a:hover,
.mx-navbar ul.nav > .mx-navbar-item.open > a:focus {
  background-color: #eb5a00;
  color: #DDDDDD;
  text-decoration: none;
}

.mx-navbar ul.nav > .mx-navbar-item > a:hover .caret,
.mx-navbar ul.nav > .mx-navbar-item > a:focus .caret,
.mx-navbar ul.nav > .mx-navbar-item.active a .caret,
.mx-navbar ul.nav > .mx-navbar-item.open > a .caret,
.mx-navbar ul.nav > .mx-navbar-item.open > a:hover .caret,
.mx-navbar ul.nav > .mx-navbar-item.open > a:focus .caret {
  border-top-color: #DDDDDD;
  border-bottom-color: #DDDDDD;
}

.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a {
  background-color: #ff6f14;
  color: #DDDDDD;
}

.mx-navbar ul.nav > .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem.active a .caret {
  border-top-color: #DDDDDD;
  border-bottom-color: #DDDDDD;
}

@media (max-width: 768px) {
  .mx-navbar ul.nav > li.mx-navbar-item > a {
    padding: 10px 20px;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu {
    background-color: #ff6f14;
    border-radius: 0;
    padding: 0;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a {
    font-family: "Poppins", "Open Sans", sans-serif;
    font-weight: normal;
    padding: 10px 20px;
    border-radius: 0;
    color: #AAA;
    font-size: 0.85rem;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a:hover, .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a:focus {
    color: #DDDDDD;
    background-color: #ff6f14;
  }
  .mx-navbar .mx-navbar-item.open .dropdown-menu > li.mx-navbar-subitem > a.active {
    color: #DDDDDD;
    background-color: #ff6f14;
  }
}

.mx-navbar:focus {
  outline: 0;
}

/* ==========================================================================
   Navigation

   Default Mendix Navigation Tree
========================================================================== */
.mx-navigationtree {
  background-color: transparent;
  /* Every navigation item */
  /* Sub navigation item specific */
  /* remove focus */
}

.mx-navigationtree .navbar-inner ul {
  margin: 0;
  padding-left: 0;
}

.mx-navigationtree .navbar-inner ul li {
  padding: 0;
  border-style: none;
}

.mx-navigationtree .navbar-inner ul li a {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  display: block;
  padding: 15px 20px 15px 16px;
  border-bottom: 1px solid rgba(10, 10, 10, 0);
  border-radius: 0;
  color: #767676;
  text-shadow: none;
  font-size: 1rem;
  vertical-align: middle;
  background-color: transparent;
  border-left: 4px solid transparent;
}

.mx-navigationtree .navbar-inner ul li a .caret {
  border-top-color: #767676;
  border-bottom-color: #767676;
}

.mx-navigationtree .navbar-inner ul li a img {
  margin-right: 4px;
  width: 20px;
  height: auto;
}

.mx-navigationtree .navbar-inner ul li a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-navigationtree .navbar-inner ul li a:hover,
.mx-navigationtree .navbar-inner ul li a:focus,
.mx-navigationtree .navbar-inner ul li a.active {
  background-color: rgba(10, 10, 10, 0);
  color: #FF6200;
  text-decoration: none;
}

.mx-navigationtree .navbar-inner ul li a:hover .caret,
.mx-navigationtree .navbar-inner ul li a:focus .caret,
.mx-navigationtree .navbar-inner ul li a.active .caret {
  border-top-color: #DDDDDD;
  border-bottom-color: #DDDDDD;
}

.mx-navigationtree .navbar-inner ul li a.active {
  border-left-color: #DDDDDD;
  color: #DDDDDD;
  background-color: rgba(20, 20, 20, 0);
}

.mx-navigationtree li.mx-navigationtree-has-items > ul {
  margin: 0;
  padding-left: 0;
  background-color: rgba(0, 0, 0, 0);
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li {
  margin: 0;
  padding: 0;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li a {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  color: #AAA;
  font-size: 0.85rem;
  background-color: rgba(0, 0, 0, 0);
  padding: 12px 20px 12px 25px;
  border: 0;
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li a:hover, .mx-navigationtree li.mx-navigationtree-has-items > ul li a:focus, .mx-navigationtree li.mx-navigationtree-has-items > ul li a.active {
  color: #DDDDDD;
  background-color: rgba(0, 0, 0, 0);
}

.mx-navigationtree li.mx-navigationtree-has-items > ul li a.active {
  border: 0;
  color: #DDDDDD;
  background-color: rgba(0, 0, 0, 0);
}

.mx-navigationtree:focus {
  outline: 0;
}

/* Content Centerd text and icons */
.mx-navigationtree.nav-content-center-text-icons .navbar-inner ul a {
  text-align: center;
}

.mx-navigationtree.nav-content-center-text-icons .navbar-inner ul a .glyphicon {
  display: block;
  margin-bottom: 5px;
}

/* Content Centerd icons only */
.mx-navigationtree.nav-content-center .navbar-inner ul a {
  text-align: center;
}

/* ==========================================================================
   Navigation

   Default Mendix Simple Menu Bar
========================================================================== */
.mx-menubar {
  padding: 0;
  background-color: transparent;
  /* Two menu items */
  /* Three menu items */
  /* Four menu items */
  /* Five menu items */
  /* remove focus */
}

.mx-menubar ul.mx-menubar-list {
  width: 100%;
  min-height: 50px;
  table-layout: fixed;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item {
  margin: 0;
  width: 100%;
  display: inline-block;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item a {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  border-radius: 0;
  color: #767676;
  font-size: 0.85rem;
  padding: 0 8px;
  text-align: center;
  line-height: 50px;
  overflow: hidden;
  display: block;
  vertical-align: middle;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:hover,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item a:focus,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item:hover a,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item:focus a,
.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a {
  background-color: rgba(10, 10, 10, 0);
  color: #FF6200;
  text-decoration: none;
}

.mx-menubar ul.mx-menubar-list li.mx-menubar-item.active a {
  color: #DDDDDD;
  background-color: rgba(20, 20, 20, 0);
}

.mx-menubar.menubar-col-6 ul.mx-menubar-list li.mx-menubar-item {
  width: 50%;
}

.mx-menubar.menubar-col-4 ul.mx-menubar-list li.mx-menubar-item {
  width: 33.33333333%;
}

.mx-menubar.menubar-col-3 ul.mx-menubar-list li.mx-menubar-item {
  width: 25%;
}

.mx-menubar.menubar-col-2 ul.mx-menubar-list li.mx-menubar-item {
  width: 20%;
}

.mx-menubar:focus {
  outline: 0;
}

/* text and icons centerd */
.mx-menubar.bottom-nav-text-icons ul.mx-menubar-list li.mx-menubar-item a {
  line-height: normal;
  padding: 8px 8px 6px 8px;
}

.mx-menubar.bottom-nav-text-icons ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  display: block;
  font-size: 18px;
  margin-bottom: 4px;
}

/* Vertical variation specifics */
.mx-menubar-vertical {
  background-color: #FF6200;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a {
  color: #767676;
  font-size: 1rem;
  border-bottom: 1px solid #D0D0D0;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a .glyphicon {
  vertical-align: middle;
  font-size: 1.2em;
  top: -1px;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a:hover, .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a:focus, .mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a.active {
  background-color: #eb5a00;
  color: #DDDDDD;
  text-decoration: none;
}

.mx-menubar-vertical ul.mx-menubar-list li.mx-menubar-item a.active {
  color: #DDDDDD;
  background-color: #d65200;
}

/* Horizontal variation specifics */
.mx-menubar-horizontal ul.mx-menubar-list li.mx-menubar-item {
  width: auto;
}

/* ==========================================================================
   Navigation List

   Default Mendix Navigation List Widget. A navigation list can be used to attach an action to an entire row. Such a row is called a navigation list item
========================================================================== */
.mx-navigationlist {
  padding: 0;
  margin: 0;
}

.mx-navigationlist .mx-navigationlist-item {
  padding: 15px 20px 15px 16px;
  border-left: 4px solid transparent;
  border-bottom: 1px solid rgba(10, 10, 10, 0);
  border-top: none;
  border-radius: 0;
  background-color: transparent;
}

.mx-navigationlist .mx-navigationlist-item label {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  color: #767676;
  font-size: 1rem;
}

.mx-navigationlist .mx-navigationlist-item:hover, .mx-navigationlist .mx-navigationlist-item:focus, .mx-navigationlist .mx-navigationlist-item.active {
  background-color: rgba(10, 10, 10, 0);
}

.mx-navigationlist .mx-navigationlist-item:hover label, .mx-navigationlist .mx-navigationlist-item:focus label, .mx-navigationlist .mx-navigationlist-item.active label {
  color: #FF6200;
}

.mx-navigationlist .mx-navigationlist-item.active {
  border-left-color: #DDDDDD;
  color: #DDDDDD;
  background-color: rgba(20, 20, 20, 0);
}

/* ==========================================================================
   Tab Container

   Default Mendix Tab Container Widget. Tab containers are used to show information categorized into multiple tab pages. 
   This can be very useful if the amount of information that has to be displayed is larger than the amount of space on the screen
========================================================================== */
.mx-tabcontainer .mx-tabcontainer-tabs {
  margin-bottom: 20px;
  border-color: #DDD;
}

.mx-tabcontainer .mx-tabcontainer-tabs > li > a {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
  -moz-transition: all .2s ease-in-out;
  -o-transition: all .2s ease-in-out;
  -webkit-transition: all .2s ease-in-out;
  transition: all .2s ease-in-out;
  margin-right: 0;
  color: #666666;
}

.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus {
  background-color: #eaeaea;
}

.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a,
.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover,
.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus {
  border: 1px solid #DDD;
  border-bottom-color: transparent;
  background-color: #FFF;
  color: #000;
}

/* ==========================================================================
   Tab Container Pills

   Default Mendix Tab Container Widget rendered as Pills
========================================================================== */
.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs {
  border: 0;
}

.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a {
  border-radius: 4px;
  margin-right: 2px;
  border: 1px solid #DDD;
  color: #666666;
}

.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a:hover, .tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li > a:focus {
  background-color: #eaeaea;
}

.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a,
.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:hover,
.tab-pills.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a:focus {
  background-color: #DDDDDD;
  color: #FFF;
  border-color: #DDDDDD;
}

/* ==========================================================================
   Tab Container Lined

   Default Mendix Tab Container Widget rendered with tabs rendered without background
========================================================================== */
.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs {
  border-width: 3px;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li {
  margin-bottom: -3px;
  margin-right: 30px;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a {
  padding: 10px 0;
  border: 0;
  border-style: solid;
  border-color: transparent;
  border-bottom-width: 3px;
  border-radius: 0;
  color: #666666;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a:hover, .tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li > a:focus {
  border: 0;
  border-color: transparent;
  background: transparent;
  color: #666666;
}

.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a,
.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a:hover,
.tab-lined.mx-tabcontainer .mx-tabcontainer-tabs li.active > a:focus {
  border: 0;
  border-bottom: 3px solid #DDDDDD;
  background-color: transparent;
  color: #DDDDDD;
}

/* ==========================================================================
   Tab Container Justified

   Default Mendix Tab Container Widget rendered as justified
========================================================================== */
.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs {
  width: 100%;
  border-bottom: 0;
}

.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li {
  display: table-cell;
  float: none;
  margin: 0;
  width: 1%;
}

@media (max-width: 768px) {
  .tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li {
    display: block;
    width: 100%;
  }
}

.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li > a {
  border-bottom: 1px solid #DDD;
  text-align: center;
}

.tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a {
  border-radius: 4px;
  border-bottom-color: transparent;
}

@media (max-width: 768px) {
  .tab-justified.mx-tabcontainer .mx-tabcontainer-tabs > li.active > a {
    border-bottom-color: #DDD;
  }
}

/* ==========================================================================
   Tab Container Bordered

   Default Mendix Tab Container Widget rendered with borders
========================================================================== */
.tab-bordered.mx-tabcontainer .mx-tabcontainer-tabs {
  margin: 0;
}

.tab-bordered.mx-tabcontainer .mx-tabcontainer-content {
  padding: 10px;
  border-width: 0 1px 1px 1px;
  border-style: solid;
  border-color: #DDD;
  background-color: #FFF;
}

/* ==========================================================================
   Tables

   Default Mendix Table Widget. Tables can be used to lend structure to a page. They contain a number of rows (tr) and columns, the intersection of which is called a cell (td). Each cell can contain widgets
========================================================================== */
th {
  font-weight: bold;
}

table.mx-table > tbody {
  /* Table row */
}

table.mx-table > tbody > tr {
  /* Table header */
  /* Table cells */
}

table.mx-table > tbody > tr > th {
  padding: 8px 8px 8px 8px;
}

table.mx-table > tbody > tr > th * {
  font-weight: bold;
  color: #A6A6A6;
  font-weight: normal;
}

table.mx-table > tbody > tr > th > label {
  padding-top: 7px;
  padding-bottom: 6px;
}

table.mx-table > tbody > tr > td {
  padding: 8px 8px 8px 8px;
}

table.mx-table > tbody > tr > td > div > label,
table.mx-table > tbody > tr > td .mx-referenceselector-input-wrapper label {
  padding-top: 7px;
  padding-bottom: 6px;
}

/* Default Mendix Table Widget inside TemplateGrid */
.mx-templategrid table.mx-table > tbody > tr > th,
.mx-templategrid table.mx-table > tbody > tr > td {
  padding: 8px 8px 8px 8px;
}

/* Default Mendix Table Widget inside Listview */
.mx-list table.mx-table > tbody > tr > th,
.mx-list table.mx-table > tbody > tr > td {
  padding: 8px 8px 8px 8px;
}

/* ==========================================================================
   Tables Lined
	
   Default Mendix Table Widget with borders top and bottom
========================================================================== */
table.table-lined.mx-table > tbody > tr > th,
table.table-lined.mx-table > tbody > tr > td {
  border-width: 1px 0;
  border-style: solid;
  border-color: #DDD;
}

/* ==========================================================================
   Tables Bordered
	
   Default Mendix Table Widget with borders
========================================================================== */
table.table-bordered.mx-table > tbody > tr > th,
table.table-bordered.mx-table > tbody > tr > td {
  border-width: 1px;
  border-style: solid;
  border-color: #DDD;
}

/* ==========================================================================
   Tables Compact
	
   Default Mendix Table Widget with less spacing in table cells
========================================================================== */
table.table-compact.mx-table > tbody > tr > th,
table.table-compact.mx-table > tbody > tr > td {
  padding-top: 2px;
  padding-bottom: 2px;
}

/* ==========================================================================
   Tables Sideless
	
   Default Mendix Table Widget inside TemplateGrid
========================================================================== */
table.table-sideless.mx-table > tbody > tr > td,
table.table-sideless.mx-table > tbody > tr > th {
  padding-right: 0;
}

table.table-sideless.mx-table > tbody > tr > th:first-child,
table.table-sideless.mx-table > tbody > tr > td:first-child {
  padding-left: 0;
}

/* ==========================================================================
   Tables Spaceless
	
   Default Mendix Table Widget without padding
========================================================================== */
table.table-spaceless.mx-table > tbody > tr > th,
table.table-spaceless.mx-table > tbody > tr > td {
  padding: 0;
}

/* ==========================================================================
   Tables Vertical
	
   Default Mendix Table Widget vertical aligned 
========================================================================== */
table.table-vertical.mx-table > tbody > tr > th {
  padding-bottom: 0;
}

table.table-vertical.mx-table > tbody > tr > th > label {
  padding: 0;
}

table.table-vertical.mx-table > tbody > tr > th > div > label {
  padding: 0;
}

/* ==========================================================================
   Tables Vertical Middle
	
   Default Mendix Table Widget vertical aligned middle
========================================================================== */
table.table-align-vertical-middle.mx-table > tbody > tr > th,
table.table-align-vertical-middle.mx-table > tbody > tr > td {
  vertical-align: middle;
}

/* ==========================================================================
   Tables Compact
	
   Default Mendix Table Widget without padding and margin
========================================================================== */
table.table-label-compact.mx-table > tbody > tr > th > label,
table.table-label-compact.mx-table > tbody > tr > td > label {
  padding: 0;
  margin: 0;
}

table.table-label-compact.mx-table > tbody > tr > th > div > label,
table.table-label-compact.mx-table > tbody > tr > th .mx-referenceselector-input-wrapper label,
table.table-label-compact.mx-table > tbody > tr > td > div > label,
table.table-label-compact.mx-table > tbody > tr > td .mx-referenceselector-input-wrapper label {
  padding: 0;
  margin: 0;
}

html body .mx-page table.mx-table th.nopadding,
html body .mx-page table.mx-table td.nopadding {
  padding: 0;
}

/* ==========================================================================
   Tables Row Sizes
========================================================================== */
/*  Small rows
	========================================================================== */
table.table-row-s.mx-table > tbody > tr > th,
table.table-row-s.mx-table > tbody > tr > td {
  height: 55px;
}

/*  Medium rows
	========================================================================== */
table.table-row-m.mx-table > tbody > tr > th,
table.table-row-m.mx-table > tbody > tr > td {
  height: 70px;
}

/*  Large rows
	========================================================================== */
table.table-row-l.mx-table > tbody > tr > th,
table.table-row-l.mx-table > tbody > tr > td {
  height: 120px;
}

/*	Table Fixed
   ========================================================================== */
table.table-fixed {
  table-layout: fixed;
}

/* ==========================================================================
   Templategrid

   Default Mendix Templategrid Widget. The template grid shows a list of objects in a tile view. For example, a template grid can show a list of products. The template grid has a lot in common with the data grid. The main difference is that the objects are shown in templates (a sort of small data view) instead of rows
========================================================================== */
.mx-templategrid .mx-templategrid-content-wrapper {
  table-layout: fixed;
}

.mx-templategrid .mx-templategrid-item {
  background-color: #FFFFFF;
  padding: 8px 8px 8px 8px;
  cursor: default;
}

.mx-templategrid .mx-templategrid-item:hover {
  background-color: transparent;
}

.mx-templategrid .mx-templategrid-item.selected {
  background-color: #DDDDDD !important;
}

.mx-templategrid .mx-layoutgrid {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* ==========================================================================
   Templategrid Hover

   Default Mendix Templategrid Widget Hover
========================================================================== */
.templategrid-hover.mx-templategrid .mx-templategrid-item:hover {
  background-color: shade(tint(#DDDDDD, 80), 3) !important;
}

.templategrid-hover.mx-templategrid .mx-templategrid-item.selected {
  background-color: #DDDDDD !important;
}

.templategrid-hover.mx-templategrid .mx-templategrid-item.selected:hover {
  background-color: shade(tint(#DDDDDD, 80), 3) !important;
}

/* ==========================================================================
   Templategrid Selectable

   Default Mendix Templategrid Widget with selection enabled
========================================================================== */
.templategrid-selectable.mx-templategrid .mx-templategrid-item {
  cursor: pointer;
}

/* ==========================================================================
   Templategrid Lined

   Default Mendix Templategrid Widget with borders between items
========================================================================== */
.templategrid-lined.mx-templategrid .mx-grid-content {
  border-top-style: solid;
  border-top-color: #DDD;
  border-top-width: 2px;
}

.templategrid-lined.mx-templategrid .mx-templategrid-item {
  border-left: none;
  border-right: none;
  border-top: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
}

/* ==========================================================================
   Templategrid Striped

  Default Mendix Templategrid Widget with background between items
========================================================================== */
.templategrid-striped.mx-templategrid .mx-templategrid-row:nth-child(odd) .mx-templategrid-item {
  background-color: #f9f9f9;
}

/* ==========================================================================
   Templategrid Stylingless

  Default Mendix Templategrid Widget without styling
========================================================================== */
.templategrid-stylingless.mx-templategrid .mx-templategrid-item {
  background-color: transparent;
  border: 0;
  padding: 0;
  cursor: default;
}

.templategrid-stylingless.mx-templategrid .mx-templategrid-item:hover {
  background-color: transparent;
}

.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected {
  background-color: transparent !important;
}

.templategrid-stylingless.mx-templategrid .mx-templategrid-item.selected:hover {
  background-color: transparent !important;
}

/* ==========================================================================
   Templategrid Transparent

  Default Mendix Templategrid Widget without background and padding in items
========================================================================== */
.templategrid-transparent.mx-templategrid .mx-templategrid-item {
  background-color: transparent;
  border: 0;
}

/* ==========================================================================
   Typography
========================================================================== */
p {
  line-height: 1.5;
}

label {
  padding-top: 0;
}

.mx-title {
  font-weight: normal;
  color: #333333;
  font-size: 2rem;
}

h1, .h1, .h1 > * {
  font-size: 2rem;
}

h2, .h2, .h2 > * {
  font-size: 1.8rem;
}

h3, .h3, .h3 > * {
  font-size: 1.6rem;
}

h4, .h4, .h4 > * {
  font-size: 1.2rem;
}

h5, .h5, .h5 > * {
  font-size: 1rem;
}

h6, .h6, .h6 > * {
  font-size: 0.8rem;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-weight: normal;
  color: #333333;
  line-height: 1.3;
}

/* Text Weights */
.text-light, .text-light > *, .text-light label {
  font-weight: 100;
}

.text-normal, .text-normal > *, .text-normal label {
  font-family: "Poppins", "Open Sans", sans-serif;
  font-weight: normal;
}

.text-semibold, .text-semibold > *, .text-semibold label {
  font-weight: 500;
}

.text-bold, .text-bold > *, .text-bold label {
  font-weight: bold;
}

/* ==========================================================================
   Text Utility Classes
========================================================================== */
.text-spacing {
  margin-top: 1em;
  margin-bottom: 1em;
}

.text-lined {
  padding-bottom: 10px;
  border-bottom: 1px solid #DDD;
}

/* Text Break */
.text-break {
  -ms-word-break: break-all;
  word-break: break-all;
  word-break: break-word;
  -webkit-hyphens: auto;
  -moz-hyphens: auto;
  hyphens: auto;
}

/* ==========================================================================
   Typography

   Text Colors
========================================================================== */
.text-gray-darker {
  color: #222;
}

.text-gray-dark {
  color: #333;
}

.text-gray {
  color: #555;
}

.text-gray-light {
  color: #999;
}

.text-gray-primary {
  color: #DDD;
}

.text-gray-lighter {
  color: #eee;
}

.text-default, .text-default:hover {
  color: #000;
}

.text-primary, .text-primary:hover {
  color: #DDDDDD;
}

.text-info, .text-info:hover {
  color: #8AD4ED;
}

.text-success, .text-success:hover {
  color: #8CC152;
}

.text-warning, .text-warning:hover {
  color: #F6BB42;
}

.text-danger, .text-danger:hover {
  color: #dc3545;
}

.text-black {
  color: #000;
}

.text-black-secondary {
  color: #666666;
}

.text-black-disabled {
  color: rgba(0, 0, 0, 0.26);
}

.text-black-hint {
  color: rgba(0, 0, 0, 0.26);
}

.text-white {
  color: #FFF;
}

.text-white-secondary {
  color: rgba(255, 255, 255, 0.7);
}

.text-white-disabled {
  color: rgba(255, 255, 255, 0.3);
}

.text-white-hint {
  color: rgba(255, 255, 255, 0.3);
}

/*
* Mendix Documentation
* Special styles for presenting components
*/
.mx-appswitcher-button-placeholder,
.mx-profilemenu-button-placeholder {
  display: inline-block;
}

.mx-appswitcher-button-placeholder iframe,
.mx-profilemenu-button-placeholder iframe {
  width: 48px;
  height: 48px;
}

/*
* Mendix App Switcher Button
*
* 
*/
/*
* Mendix Profile Menu Button
*
* 
*/
/* ==========================================================================
   Special styles for presenting Page Template Dashboard
========================================================================== */
.page-dashboard {
  background-color: #CCCCCC;
}

.page-dashboard .chartjs-node {
  margin-top: 30px;
}

.page-dashboard-default .card {
  min-height: 345px;
}

.page-dashboard-mytasks .card {
  min-height: 320px;
}

/* ==========================================================================
   Special styles for presenting Page Template Form
========================================================================== */
.page-form {
  /* Styles here */
}

.page-form-default {
  /* Styles here */
}

.page-form-imagemap {
  /* Styles here */
}

.page-form-tabs {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Login
========================================================================== */
.page-login-users .profilecard:hover, .page-login-users .profilecard:focus {
  filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=80);
  opacity: 0.8;
}

.page-login-users .mx-navigationlist .mx-navigationlist-item {
  padding: 0;
  border-style: none;
  background-color: transparent;
}

/* ==========================================================================
   Special styles for presenting Page Template Master Detail
========================================================================== */
.page-masterdetail {
  /* Styles here */
}

.page-masterdetail-basic {
  /* Styles here */
}

.page-masterdetail-big {
  /* Styles here */
}

.page-masterdetail-imagemap {
  /* Styles here */
}

.page-masterdetail-multilevel {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tabs
========================================================================== */
.page-tabs {
  /* Styles here */
}

.page-tabs .tabsfullwidth {
  background-color: #CCCCCC;
}

.page-tabs-default {
  /* Styles here */
}

.page-tabs-fullwidth {
  /* Styles here */
}

.page-tabs-fullwidth .pageheader.pageheader-fullwidth {
  border-style: none;
}

/* ==========================================================================
   Special styles for presenting Page Template Website
========================================================================== */
.page-website {
  /* Styles here */
}

.page-website-actions {
  /* Styles here */
}

.page-website-items {
  /* Styles here */
}

.page-website-items-detail {
  /* Styles here */
}

.page-website-presentation {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Wizard
========================================================================== */
.page-wizard {
  /* Styles here */
}

.page-wizard-default {
  /* Styles here */
}

.page-wizard-titlecentered {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone
========================================================================== */
.phone-page-dashboard {
  background-color: #CCCCCC;
}

.phone-page-dashboard-default {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone Form
========================================================================== */
.phone-page-form {
  /* Styles here */
}

.phone-page-form-default {
  /* Styles here */
}

.phone-page-form-edit {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone Listview
========================================================================== */
.phone-page-listview {
  /* Styles here */
}

.phone-page-listview-default {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Phone Wizard
========================================================================== */
.phone-page-wizard {
  /* Styles here */
}

.phone-page-wizard-default {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Dashboard
========================================================================== */
.tablet-page-dashboard {
  background-color: #CCCCCC;
}

.tablet-page-dashboard-default {
  /* Styles here */
}

.tablet-page-dashboard-big {
  /* Styles here */
}

.tablet-page-dashboard-mytasks {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Form
========================================================================== */
.tablet-page-form {
  /* Styles here */
}

.tablet-page-form-default {
  /* Styles here */
}

.tablet-page-form-edit {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Master Detail
========================================================================== */
.tablet-page-masterdetail {
  /* Styles here */
}

.tablet-page-masterdetail-default {
  /* Styles here */
}

.tablet-page-masterdetail-leftright {
  /* Styles here */
}

/* ==========================================================================
   Special styles for presenting Page Template Tablet Wizard
========================================================================== */
.tablet-page-wizard {
  /* Styles here */
}

.tablet-page-wizard-default {
  /* Styles here */
}

/* ==========================================================================
   Action Block
========================================================================== */
.actionblock {
  font-weight: bold;
  padding: 20px 0;
  margin: 10px 0;
  overflow: hidden;
  text-overflow: ellipsis;
  width: 100%;
  white-space: nowrap;
}

.actionblock span {
  display: block;
  margin: auto auto 20px auto;
  font-size: 72px;
}

.actionblock img {
  height: 72px;
  display: block;
  margin: auto auto 20px auto;
}

/* ==========================================================================
   Card
========================================================================== */
.card {
  padding: 20px;
  margin: 0 0 30px 0;
  border: 1px solid #DDD;
  background-color: #FFF;
  border-radius: 3px;
}

@media only screen and (max-width: 1024px) {
  .card {
    padding: 10px;
  }
}

.card-maps {
  padding: 0;
}

/* Title + button + border below title and button */
.card-header-action {
  overflow: hidden;
  margin-bottom: 20px;
}

.card-header-action .card-title {
  float: left;
}

.card-header-action .btn {
  float: right;
}

.card-details {
  padding: 10px;
}

.card-title {
  margin-top: 0;
}

@media only screen and (max-width: 1024px) {
  .card-title {
    font-size: 18px;
  }
}

.card-subtitle {
  font-size: 14px;
  color: #666666;
  margin-bottom: 10px;
}

.card-annotation {
  text-transform: uppercase;
  letter-spacing: 8px;
  padding-bottom: 10px;
}

.card-icon {
  border-radius: 50%;
  margin: 30px auto;
  width: 125px;
  height: 125px;
}

@media (max-width: 992px) {
  .card-icon {
    width: 75px;
    height: 75px;
  }
}

.card-icon .glyphicon {
  font-size: 60px;
  position: relative;
  top: 50%;
  transform: translateY(-50%);
}

@media (max-width: 992px) {
  .card-icon .glyphicon {
    font-size: 28px;
  }
}

.card-image {
  margin: 30px auto;
}

.card-user-image {
  border: 4px solid #FFF;
}

.card-link {
  font-size: 0.85rem;
}

/* ==========================================================================
   Dashboard Card
========================================================================== */
.dashboardcard {
  padding: 20px;
  margin: 0 0 40px 0;
  border: 1px solid #DDD;
  background-color: #FFF;
  border-radius: 3px;
}

.dashboardcard-title {
  margin-top: 0;
}

.dashboardcard-subtitle {
  font-size: 14px;
  color: #666666;
  margin-bottom: 10px;
}

.dashboardcard-link {
  font-size: 0.85rem;
}

@media only screen and (max-width: 960px) {
  .dashboardcard {
    padding: 10px;
    margin: 0 0 20px 0;
  }
}

/* ==========================================================================
   Dashboard Stats

   Used in dashboard
========================================================================== */
.dashboardstat {
  margin: 30px 0;
}

@media (max-width: 992px) {
  .dashboardstat {
    margin: 10px 0;
  }
}

.dashboardstat .dashboardstat-left,
.dashboardstat .dashboardstat-right {
  display: table-cell;
  vertical-align: top;
}

.dashboardstat-icon {
  font-size: 30px;
  padding: 8px 14px;
  margin: 5px 10px 0 0;
}

@media (max-width: 992px) {
  .dashboardstat-icon {
    font-size: 20px;
  }
}

.dashboardstat-title {
  font-size: 18px;
  color: #999;
  text-transform: uppercase;
}

@media (max-width: 992px) {
  .dashboardstat-title {
    font-size: 13px;
  }
}

.dashboardstat-number {
  font-size: 72px;
  line-height: 1em;
  color: #000;
}

@media (max-width: 992px) {
  .dashboardstat-number {
    font-size: 30px;
  }
}

/* ==========================================================================
   Form

   To extend the default Bootstrap form
========================================================================== */
.form-footer {
  border-top: 1px solid #eee;
  padding: 10px 0;
  margin-top: 20px;
}

/* ==========================================================================
   Form Block

   Used in default forms
========================================================================== */
.formblock {
  margin-bottom: 20px;
  margin-top: 20px;
}

.formblock-header {
  color: #DDDDDD;
  border-bottom: 1px solid #DDD;
  padding-bottom: 5px;
  margin-bottom: 15px;
}

/* ==========================================================================
   Master Detail Listview
========================================================================== */
.masterdetail-listview {
  background-color: #CCCCCC;
}

.masterdetail-listview .mx-listview {
  height: 100%;
  margin: 0;
}

.masterdetail-listview .mx-listview .mx-listview-item {
  background-color: transparent;
}

.masterdetail-listview .mx-listview .mx-listview-item.selected {
  color: #FFF;
}

.masterdetail-listview .mx-listview .mx-listview-item.selected .mx-link {
  color: #FFF;
}

.masterdetail-listview .mx-listview .mx-listview-item.selected:hover, .masterdetail-listview .mx-listview .mx-listview-item.selected:active {
  background-color: #DDDDDD !important;
}

/* ==========================================================================
   Multilevel
========================================================================== */
.multilevel-tabs .mx-tabcontainer-tabs {
  margin-bottom: 10px;
}

.multilevel-list .mx-listview-list {
  border-left: 1px solid #eee;
  border-right: 1px solid #eee;
}

.multilevel-list .mx-listview-list .mx-listview-item {
  padding: 10px;
  border-color: #eee;
  border-left: 4px solid #eee;
  border-right: none;
  border-radius: 0;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.multilevel-list .mx-listview-list .mx-listview-item:first-child {
  border-radius: 0;
}

.multilevel-list .mx-listview-list .mx-listview-item:last-child {
  border-radius: 0;
}

.multilevel-list .mx-listview-list .mx-listview-item.selected {
  border-left: 4px solid #DDDDDD;
  background-color: #eee !important;
}

.multilevel-title label {
  font-weight: bold;
}

.multilevel-subtitle {
  color: #555;
}

.multilevel-message-header {
  color: #555;
  margin-bottom: 10px;
  border-bottom: 1px solid #DDD;
}

.multilevel-message-header-title {
  font-size: 1.8rem;
}

.multilevel-message-header-subtitle {
  font-size: 1.2rem;
  margin-bottom: 10px;
}

.multilevel-message-text {
  margin: 10px 0;
}

.multilevel-grid .mx-datagrid-head-table th {
  border-style: none;
}

.multilevel-grid .mx-datagrid-body-table {
  border-left: 1px solid #DDD;
  border-right: 1px solid #DDD;
  border-bottom: 1px solid #DDD;
}

.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr td {
  border-color: #eee;
  border-left: 4px solid #eee;
  -webkit-transition: all .2s;
  -o-transition: all .2s;
  transition: all .2s;
}

.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected td,
.multilevel-grid .mx-datagrid-body-table .mx-datagrid-body tr.selected:hover td {
  border-left: 4px solid #DDDDDD;
  background-color: #eee !important;
}

/* ==========================================================================
   Page Header
========================================================================== */
.pageheader {
  border-bottom: 2px solid #DDD;
}

@media (max-width: 767px) {
  .pageheader {
    margin-bottom: 10px;
  }
}

@media (min-width: 768px) {
  .pageheader {
    margin-bottom: 20px;
  }
}

@media (min-width: 992px) {
  .pageheader {
    margin-bottom: 35px;
  }
}

.pageheader.pageheader-fullwidth {
  background-color: #CCCCCC;
  border-bottom: 1px solid #DDD;
  margin-bottom: 0;
}

.pageheader-title {
  margin-bottom: 0;
  margin-top: 0;
}

.pageheader-subtitle {
  color: #666666;
}

/* ==========================================================================
   Section Header
========================================================================== */
.sectionheader {
  margin-bottom: 20px;
  border-bottom: 1px solid #DDD;
  padding-bottom: 10px;
}

.sectionheader-title {
  margin-top: 0;
  margin-bottom: 10px;
}

.sectionheader-subtitle {
  color: #666666;
  margin-bottom: 10px;
}

.sectionheader-avatar {
  padding: 4px;
  border: 2px solid #DDD;
  background-color: #FFF;
}

/* ==========================================================================
   Profile Card
========================================================================== */
.profilecard {
  display: table;
  width: 100%;
  margin-bottom: 20px;
}

.profilecard .profilecard-contentwrapper {
  width: auto;
}

.profilecard .profilecard-imgwrapper {
  width: 150px;
}

.profilecard .profilecard-actionwrapper {
  width: auto;
  text-align: right;
}

.profilecard .profilecard-contentwrapper,
.profilecard .profilecard-imgwrapper,
.profilecard .profilecard-actionwrapper {
  display: table-cell;
  vertical-align: middle;
}

.profilecard-btn {
  display: inline-block;
  width: 150px;
  margin-left: 5px;
  margin-bottom: 5px;
}

.profilecard-img {
  border-radius: 50%;
  margin-right: 40px;
  padding: 4px;
  border: 2px solid #DDD;
  background-color: #FFF;
}

.profilecard-title {
  font-size: 1.6rem;
  margin-bottom: 0;
  margin-top: 0;
}

.profilecard-subtitle {
  color: #666666;
}

.pageheader .profilecard {
  margin-bottom: 0;
}

/* ==========================================================================
   Profile Header
========================================================================== */
.profileheader {
  margin: 20px 0;
}

.profileheader .profileheader-content {
  padding: 0 10px;
}

.profileheader .profileheader-image {
  display: block;
  margin: auto auto 10px auto;
}

/* ==========================================================================
   Products

   Used in Website page templates
========================================================================== */
.product-header {
  padding: 25px 0;
  border-bottom: 1px solid #DDD;
}

.product-title {
  margin-bottom: 0;
  margin-top: 0;
}

.product-subtitle {
  color: #666666;
}

.product-btn {
  margin-top: 10px;
}

/* ==========================================================================
   Sidebar Header
========================================================================== */
.sidebarheader {
  padding: 10px 20px;
}

.sidebarheader-img {
  margin-bottom: 10px;
}

.sidebarheader-title {
  color: #FFF;
}

.sidebarheader-subtitle {
  color: #666666;
}

/* ==========================================================================
   Tabs full width
========================================================================== */
.tabsfullwidth {
  background-color: #CCCCCC;
}

.tabsfullwidth > .mx-tabcontainer-tabs {
  margin-bottom: 0;
}

@media (min-width: 768px) {
  .tabsfullwidth > .mx-tabcontainer-tabs {
    padding: 0 40px;
  }
}

.tabsfullwidth > .mx-tabcontainer-content {
  background-color: #FFF;
}

/* ==========================================================================
   Wizard

   Styling for Wizard (Steps/Numbers)
========================================================================== */
.wizard {
  position: relative;
  margin: auto;
}

.wizard .row:before {
  left: 0;
  top: 40px;
  bottom: 0;
  position: absolute;
  content: " ";
  width: 100%;
  height: 1px;
  background-color: #ccc;
}

.wizard .row {
  position: relative;
  width: 100%;
  display: table;
  margin: auto;
}

.wizard-step {
  text-align: center;
  display: table-cell;
  vertical-align: middle;
  float: none;
}

.wizard-step-number {
  font-weight: bold;
  border-radius: 50%;
  font-size: 20px;
  width: 72px;
  height: 72px;
  color: #DDD;
  border: 2px solid #DDD;
  background-color: #FFF;
  line-height: 3.5em;
  padding: 0;
}

.wizard-step-number-active {
  color: #FFF;
  border-color: #DDDDDD;
  background-color: #DDDDDD;
}

.wizard-step-number-visited {
  color: #DDDDDD;
  border-color: #DDDDDD;
  background-color: #FFF;
}

.wizard-step-title {
  display: block;
  margin-top: 10px;
}

.profile-phone .wizard .row:before {
  top: 20px;
}

.profile-phone .wizard .wizard-step-number {
  width: 40px;
  height: 40px;
  line-height: 2em;
  font-size: 16px;
}

/* ==========================================================================
   Wizard Progress

   Styling for Wizard (Progress Steps)
========================================================================== */
.wizard-progress {
  border: 1px solid #DDD;
  border-radius: 4px;
  background-color: #eee;
  position: relative;
}

.wizard-progress [class*=col-]:first-child .wizard-progress-step {
  margin-left: 0;
}

.wizard-steps-container {
  border-bottom: 1px solid #DDD;
}

.wizard-progress-step {
  margin: 0 0 0 -30px;
  padding: 14px 20px 14px 30px;
  position: relative;
  background: #eee;
}

.wizard-progress-step:after, .wizard-progress-step:before {
  position: absolute;
  width: 0;
  height: 0;
  border: solid transparent;
  border-color: transparent;
  content: " ";
  pointer-events: none;
  left: 100%;
  z-index: 10;
}

.wizard-progress-step:before {
  top: 50%;
  margin-top: -25px;
  border-width: 25px 15px;
  border-left-color: #DDD;
}

.wizard-progress-step:after {
  top: 50%;
  margin-top: -24px;
  border-width: 24px 14px;
  border-left-color: #eee;
}

.wizard-progress-step-active {
  background-color: tint(#DDDDDD, 80);
}

.wizard-progress-step-active:after {
  border-left-color: tint(#DDDDDD, 80);
}

.wizard-progress-step-active .wizard-progress-number {
  background-color: #DDDDDD;
}

.wizard-progress-step-visited {
  background-color: tint(#DDDDDD, 80);
}

.wizard-progress-step-visited:after {
  border-left-color: tint(#DDDDDD, 80);
}

.wizard-progress-step-visited .wizard-progress-number {
  background-color: #8CC152;
}

.wizard-progress-step-visited .wizard-progress-title {
  color: #8CC152;
}

.wizard-progress-number {
  display: inline-block;
  padding: 1px 7px;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: middle;
  background-color: #999;
  margin-right: 10px;
  border-radius: 10px;
}

.wizard-progress-title {
  color: #DDDDDD;
}

.wizard-step-content {
  padding: 10px 20px;
}

/* ==========================================================================
   Templategrid Profile Card

   Profile card styled for templategrid
========================================================================== */
.templategrid-profilecard {
  padding: 20px;
  border: 1px solid #DDD;
  background-color: #FFF;
  border-radius: 3px;
}

.templategrid-profilecard .templategrid-profilecard-contentwrapper {
  width: auto;
}

.templategrid-profilecard .templategrid-profilecard-imgwrapper {
  width: 150px;
}

.templategrid-profilecard .templategrid-profilecard-contentwrapper,
.templategrid-profilecard .templategrid-profilecard-imgwrapper {
  display: table-cell;
  vertical-align: middle;
}

.templategrid-profilecard .templategrid-profilecard-btn {
  display: block;
  margin-top: 10px;
}

.templategrid-profilecard .templategrid-profilecard-img {
  border-radius: 50%;
  margin-right: 40px;
  padding: 4px;
  border: 2px solid #DDD;
  background-color: #FFF;
}

.templategrid-profilecard .templategrid-profilecard-title {
  font-size: 1.6rem;
  margin-bottom: 0;
  margin-top: 0;
}

.templategrid-profilecard .templategrid-profilecard-subtitle {
  color: #666666;
}

/* ==========================================================================
   Layout

   Default Mendix Layout
========================================================================== */
.profile-phone .region-topbar {
  min-height: 44px;
  background-color: #FFF;
  border: 0;
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Listview
*
* Default Mendix Listview 
*/
.profile-phone,
.profile-tablet {
  /* Listview Load More button */
}

.profile-phone .mx-listview .mx-listview-searchbar,
.profile-tablet .mx-listview .mx-listview-searchbar {
  padding: 10px;
  margin-bottom: 0;
  position: relative;
  /* Reset Search Button */
  /* Search Field */
}

.profile-phone .mx-listview .mx-listview-searchbar button,
.profile-tablet .mx-listview .mx-listview-searchbar button {
  position: absolute;
  right: 10px;
  background: none;
}

.profile-phone .mx-listview .mx-listview-searchbar .mx-listview-search-input input,
.profile-tablet .mx-listview .mx-listview-searchbar .mx-listview-search-input input {
  box-shadow: none;
  border-style: none;
  background-color: #eee;
  text-align: center;
}

.profile-phone .mx-listview .mx-list .mx-listview-item:first-child,
.profile-tablet .mx-listview .mx-list .mx-listview-item:first-child {
  border-radius: 0;
}

.profile-phone .mx-listview .mx-list .mx-listview-item:last-child,
.profile-tablet .mx-listview .mx-list .mx-listview-item:last-child {
  border-radius: 0;
}

.profile-phone label,
.profile-tablet label {
  overflow: hidden;
  text-overflow: ellipsis;
}

.profile-phone .mx-listview-loadMore,
.profile-tablet .mx-listview-loadMore {
  margin: 20px auto;
  width: 95%;
  display: block;
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Loader
*
* Default Mendix Loader
*/
.profile-phone .mx-progress {
  width: 100%;
  height: 100%;
  max-width: 100%;
  top: 0;
}

.profile-phone .mx-progress .modal-content {
  border-radius: 0;
  box-shadow: none;
  height: 100%;
  border-style: none;
  background: none;
}

.profile-phone .mx-progress .modal-header {
  display: none;
}

.profile-phone .mx-progress .mx-dialog-body {
  height: 100% !important;
  width: 100%;
}

.profile-phone .mx-progress .mx-progress-list {
  height: 100%;
  width: 100%;
  margin: 0;
}

.profile-phone .mx-progress .mx-progress-item {
  border-radius: 12px;
  position: relative;
  padding: 0;
  width: 12px;
  height: 12px;
  top: 50%;
  left: 50%;
  -webkit-animation: loader10m 1.5s ease-in-out infinite;
  animation: loader10m 1.5s ease-in-out infinite;
  text-indent: -9999px;
  background: none;
}

.profile-phone .mx-progress .mx-progress-item:before {
  border-radius: 12px;
  content: "";
  position: absolute;
  top: 0px;
  left: -25px;
  height: 12px;
  width: 12px;
  -webkit-animation: loader10g 1.5s ease-in-out infinite;
  animation: loader10g 1.5s ease-in-out infinite;
}

.profile-phone .mx-progress .mx-progress-item:after {
  border-radius: 12px;
  content: "";
  position: absolute;
  top: 0px;
  left: 25px;
  height: 12px;
  width: 12px;
  -webkit-animation: loader10d 1.5s ease-in-out infinite;
  animation: loader10d 1.5s ease-in-out infinite;
}

@-webkit-keyframes loader10g {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: white;
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@keyframes loader10g {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: white;
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@-webkit-keyframes loader10m {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: white;
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@keyframes loader10m {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: white;
  }
  75% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@-webkit-keyframes loader10d {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: white;
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

@keyframes loader10d {
  0% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  25% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  50% {
    background-color: rgba(255, 255, 255, 0.2);
  }
  75% {
    background-color: white;
  }
  100% {
    background-color: rgba(255, 255, 255, 0.2);
  }
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Header
*
* Default Mendix Header for Mobile 
*/
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
  .mx-header .mx-header-right {
    right: 63px !important;
  }
}

body .mx-header {
  padding: 0;
  height: 44px;
  color: #333333;
  border-bottom: 1px solid #DDD;
  background-color: #FFF;
  display: table;
  width: 100%;
}

body .mx-header .mx-header-center {
  display: table-cell;
  width: 100%;
  text-align: center;
}

body .mx-header .mx-header-left,
body .mx-header .mx-header-right {
  display: table;
  width: 25%;
  top: 0;
  position: absolute;
  padding: 0 8px;
  height: 44px;
}

body .mx-header .mx-header-left .mx-placeholder,
body .mx-header .mx-header-right .mx-placeholder {
  display: table-cell;
  vertical-align: middle;
}

body .mx-header .mx-link {
  color: #2178c6;
}

body .mx-header .mx-sidebartoggle {
  font-size: 24px;
  margin-top: 4px;
}

body .mx-header .mx-title {
  margin: 0;
  color: #333333;
  font-size: 16px;
  line-height: 44px;
  overflow: hidden;
  text-overflow: ellipsis;
}

body .mx-header .btn-image.glyphicon {
  font-size: 21px;
}

body[dir="ltr"] .mx-header-left,
body[dir="rtl"] .mx-header-right {
  left: 0;
  text-align: left;
}

body[dir="rtl"] .mx-header-left,
body[dir="ltr"] .mx-header-right {
  right: 0;
  text-align: right;
}

/*
* Mendix Documentation
* Special styles for presenting mobile components
*/
/*
* Tabcontainer
*
* Default Mendix Tabcontainer for Mobile 
*/
.profile-phone .mx-tabcontainer-tabs,
.profile-tablet .mx-tabcontainer-tabs {
  margin: 0;
  padding: 0;
  border-color: transparent;
  background-color: #DDDDDD;
  text-align: center;
}

.profile-phone .mx-tabcontainer-tabs li,
.profile-tablet .mx-tabcontainer-tabs li {
  display: table-cell;
  float: none;
  margin: 0;
  width: 1%;
}

.profile-phone .mx-tabcontainer-tabs li a,
.profile-tablet .mx-tabcontainer-tabs li a {
  border-radius: 0;
  box-shadow: none;
  margin: 0;
  padding: 15px 0;
  border-style: none;
  color: #FFF;
  font-weight: normal;
  font-size: 11px;
  text-transform: uppercase;
}

.profile-phone .mx-tabcontainer-tabs li a:hover, .profile-phone .mx-tabcontainer-tabs li a:focus, .profile-phone .mx-tabcontainer-tabs li a.active,
.profile-tablet .mx-tabcontainer-tabs li a:hover,
.profile-tablet .mx-tabcontainer-tabs li a:focus,
.profile-tablet .mx-tabcontainer-tabs li a.active {
  color: #000 !important;
  border-style: none;
  background-color: transparent;
}

.profile-phone .mx-tabcontainer-tabs li.active a,
.profile-tablet .mx-tabcontainer-tabs li.active a {
  color: #000;
  border-style: none !important;
  background-color: transparent !important;
  position: relative;
}

.profile-phone .mx-tabcontainer-tabs li.active a:after, .profile-phone .mx-tabcontainer-tabs li.active a:before,
.profile-tablet .mx-tabcontainer-tabs li.active a:after,
.profile-tablet .mx-tabcontainer-tabs li.active a:before {
  position: absolute;
  width: 0;
  height: 0;
  border: solid transparent;
  border-color: transparent;
  content: " ";
  pointer-events: none;
}

.profile-phone .mx-tabcontainer-tabs li.active a:after, .profile-phone .mx-tabcontainer-tabs li.active a:before,
.profile-tablet .mx-tabcontainer-tabs li.active a:after,
.profile-tablet .mx-tabcontainer-tabs li.active a:before {
  top: 100%;
}

.profile-phone .mx-tabcontainer-tabs li.active a:after,
.profile-tablet .mx-tabcontainer-tabs li.active a:after {
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px;
  border-top-color: #FFF;
}

.profile-phone .mx-tabcontainer-tabs li.active a:before,
.profile-tablet .mx-tabcontainer-tabs li.active a:before {
  left: 50%;
  margin-left: -5px;
  border-width: 6px 5px;
  border-top-color: #FFF;
}

.profile-phone .mx-tabcontainer-tabs li.active a:after, .profile-phone .mx-tabcontainer-tabs li.active a:before,
.profile-tablet .mx-tabcontainer-tabs li.active a:after,
.profile-tablet .mx-tabcontainer-tabs li.active a:before {
  -webkit-transform: rotate(180deg);
}

.profile-phone .mx-tabcontainer-tabs li.active a:after,
.profile-tablet .mx-tabcontainer-tabs li.active a:after {
  top: 80%;
}

.profile-phone .mx-tabcontainer-tabs li.active a:before,
.profile-tablet .mx-tabcontainer-tabs li.active a:before {
  top: 75%;
}

/* ==========================================================================
   Regions

   Used for navigation layouts
========================================================================== */
.region-topbar {
  min-height: 80px;
  border-bottom: 1px solid #D0D0D0;
  background-color: #FF6200;
}

.region-topbar > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.region-topbar .toggle-btn {
  font-size: 16px;
  float: left;
  margin: -20px 15px 0 0;
  transform: translateY(40px);
}

.region-topbar .navbar-header {
  width: 100%;
}

.region-topbar .navbar-right {
  min-height: 80px;
  max-width: 100%;
}

.region-topbar .navbar-right .mx-appswitcher-button-placeholder,
.region-topbar .navbar-right .mx-profilemenu-button-placeholder {
  display: inline-block;
  border-left: 1px solid #DDD;
  width: 80px;
  height: 80px;
  position: relative;
  float: left;
  max-width: 50%;
}

.region-topbar .navbar-right .mx-appswitcher-button-placeholder iframe,
.region-topbar .navbar-right .mx-profilemenu-button-placeholder iframe {
  width: 48px;
  height: 48px;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto auto;
}

@media (max-width: 768px) {
  .region-topbar .navbar-right {
    display: none;
  }
}

.region-sidebar, .layout-sidebar-responsive .region-sidebar-fixed,
.region-sidebar-fixed {
  background-color: transparent;
}

.region-sidebar > .mx-layoutcontainer-wrapper, .layout-sidebar-responsive .region-sidebar-fixed > .mx-layoutcontainer-wrapper,
.region-sidebar-fixed > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.region-content {
  padding: 0;
}

.region-content > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.region-content > .mx-placeholder .mx-layoutgrid-fixed,
.region-content > .mx-layoutcontainer-wrapper .mx-placeholder .mx-layoutgrid-fixed {
  max-width: 1170px;
  margin: auto;
}

.region-footer > .mx-layoutcontainer-wrapper {
  padding: 0;
}

.layout-sidebar-responsive .region-sidebar-fixed {
  display: none;
}

@media (min-width: 768px) {
  .layout-sidebar-responsive .region-sidebar-fixed {
    position: fixed;
    z-index: 10;
    display: block;
    overflow-x: hidden;
    overflow-y: auto;
    height: 100%;
    padding: 0;
  }
}

@media (min-width: 768px) {
  .layout-sidebar-responsive .mx-scrollcontainer-open {
    left: -200px !important;
  }
}

@media (min-width: 768px) {
  body[dir="rtl"] .layout-sidebar-responsive .region-sidebar-fixed {
    right: 0;
  }
}

@media (min-width: 768px) {
  body[dir="ltr"] .layout-sidebar-responsive .region-sidebar-fixed {
    left: 0;
  }
}

/* ==========================================================================
   Navbar Brand

   For your company, product, or project name
========================================================================== */
.navbar-brand {
  display: block;
  min-height: 80px;
  float: left;
  padding: 0;
  line-height: 80px;
}

.navbar-brand img {
  display: none;
}

.navbar-brand:before {
  content: "";
  display: inline-block;
  width: 200px;
  height: 40px;
  vertical-align: middle;
  background-image: url("../../../logo.png");
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  margin-top: -5px;
  margin-right: 5px;
}

.navbar-brand a {
  font-size: 20px;
  color: #000;
}

.navbar-brand a:hover, .navbar-brand a:focus {
  text-decoration: none;
}

/* ==========================================================================
   Region Content

   Specific content styling
========================================================================== */
/* ==========================================================================
   Region Sidebar

   Specific sidebar styling
========================================================================== */
.region-sidebar, .layout-sidebar-responsive .region-sidebar-fixed {
  background-color: transparent;
}

.region-sidebar > .mx-layoutcontainer-wrapper, .layout-sidebar-responsive .region-sidebar-fixed > .mx-layoutcontainer-wrapper {
  padding: 0;
}

/* ==========================================================================
   Region Topbar

   Specific topbar styling
========================================================================== */
.navlayout-topbar .region-topbar {
  /* Reset Layout Grid spacing */
}

.navlayout-topbar .region-topbar .container-fluid {
  padding: 0 20px;
}

.navlayout-topbar .region-topbar .mx-navbar {
  float: left;
  background-color: transparent;
}

@media (max-width: 768px) {
  .navlayout-topbar .region-topbar .mx-navbar {
    float: none;
    clear: both;
  }
}

.navlayout-topbar .region-topbar .mx-navbar ul.nav > li.mx-navbar-item > a {
  padding: 0 30px;
  line-height: 80px;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGliL2xpYi5jc3MiLCJzb3VyY2VzIjpbImxpYi9saWIuc2NzcyIsImN1c3RvbS9fY3VzdG9tLXZhcmlhYmxlcy5zY3NzIiwibGliL2Jhc2UvX3ZhcmlhYmxlcy5zY3NzIiwibGliL2Jhc2UvX21peGlucy5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19mb250cy5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19kZWZhdWx0LXNwYWNpbmcuc2NzcyIsImxpYi9iYXNlL21peGlucy9fYnV0dG9ucy5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19ncm91cGJveC5zY3NzIiwibGliL2Jhc2UvbWl4aW5zL19hcnJvdy5zY3NzIiwibGliL2Jhc2UvX3Jlc2V0LnNjc3MiLCJsaWIvYmFzZS9fYmFzZS5zY3NzIiwibGliL2NvbXBvbmVudHMvX2lucHV0cy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2FsZXJ0cy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2JhY2tncm91bmRzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2dyaWQuc2NzcyIsImxpYi9jb21wb25lbnRzL19kYXRhZ3JpZHMuc2NzcyIsImxpYi9jb21wb25lbnRzL19kYXRhdmlldy5zY3NzIiwibGliL2NvbXBvbmVudHMvX2Rpaml0LXdpZGdldHMuc2NzcyIsImxpYi9jb21wb25lbnRzL19nbHlwaGljb25zLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fZ3JvdXBib3guc2NzcyIsImxpYi9jb21wb25lbnRzL19oZWxwZXJzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9faW1hZ2VzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fbGFiZWxzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fbGlzdHZpZXcuc2NzcyIsImxpYi9jb21wb25lbnRzL19tb2RhbHMuc2NzcyIsImxpYi9jb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fbmF2aWdhdGlvbmxpc3Quc2NzcyIsImxpYi9jb21wb25lbnRzL190YWJjb250YWluZXIuc2NzcyIsImxpYi9jb21wb25lbnRzL190YWJsZXMuc2NzcyIsImxpYi9jb21wb25lbnRzL190ZW1wbGF0ZWdyaWRzLnNjc3MiLCJsaWIvY29tcG9uZW50cy9fdHlwb2dyYXBoeS5zY3NzIiwibGliL2NvbXBvbmVudHMvX21lbmRpeHNzby5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS1kYXNoYm9hcmQuc2NzcyIsImxpYi9wYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvX3BhZ2UtZm9ybS5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS1sb2dpbi5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS1tYXN0ZXJkZXRhaWwuc2NzcyIsImxpYi9wYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvX3BhZ2UtdGFicy5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9fcGFnZS13ZWJzaXRlLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL19wYWdlLXdpemFyZC5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcGhvbmUvX3Bob25lLXBhZ2UtZGFzaGJvYXJkLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy9waG9uZS9fcGhvbmUtcGFnZS1mb3JtLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy9waG9uZS9fcGhvbmUtcGFnZS1saXN0dmlldy5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvcGhvbmUvX3Bob25lLXBhZ2Utd2l6YXJkLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy90YWJsZXQvX3RhYmxldC1wYWdlLWRhc2hib2FyZC5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvdGFibGV0L190YWJsZXQtcGFnZS1mb3JtLnNjc3MiLCJsaWIvcGFnZXRlbXBsYXRlcy90YWJsZXQvX3RhYmxldC1wYWdlLW1hc3RlcmRldGFpbC5zY3NzIiwibGliL3BhZ2V0ZW1wbGF0ZXMvdGFibGV0L190YWJsZXQtcGFnZS13aXphcmQuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fYWN0aW9uYmxvY2suc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fY2FyZC5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL19kYXNoYm9hcmRjYXJkLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX2Rhc2hib2FyZHN0YXQuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fZm9ybS5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL19mb3JtYmxvY2suc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fbWFzdGVyZGV0YWlsLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX211bHRpbGV2ZWwuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fcGFnZWhlYWRlci5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL19zZWN0aW9uaGVhZGVyLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX3Byb2ZpbGVjYXJkLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX3Byb2ZpbGVoZWFkZXIuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fcHJvZHVjdHMuc2NzcyIsImxpYi9idWlsZGluZ2Jsb2Nrcy9fc2lkZWJhcmhlYWRlci5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL190YWJzZnVsbHdpZHRoLnNjc3MiLCJsaWIvYnVpbGRpbmdibG9ja3MvX3dpemFyZC5zY3NzIiwibGliL2J1aWxkaW5nYmxvY2tzL3RlbXBsYXRlZ3JpZC9fdGVtcGxhdGVncmlkLXByb2ZpbGVjYXJkLnNjc3MiLCJsaWIvbW9iaWxlL2xheW91dHMvX2Jhc2Uuc2NzcyIsImxpYi9tb2JpbGUvY29tcG9uZW50cy9fbGlzdHZpZXcuc2NzcyIsImxpYi9tb2JpbGUvY29tcG9uZW50cy9fbG9hZGVyLnNjc3MiLCJsaWIvbW9iaWxlL2NvbXBvbmVudHMvX214LWhlYWRlci5zY3NzIiwibGliL21vYmlsZS9jb21wb25lbnRzL190YWJjb250YWluZXIuc2NzcyIsImxpYi9sYXlvdXRzL19iYXNlLnNjc3MiLCJsaWIvbGF5b3V0cy9fbmF2bGF5b3V0LWNvbnRlbnQuc2NzcyIsImxpYi9sYXlvdXRzL19uYXZsYXlvdXQtc2lkZWJhci5zY3NzIiwibGliL2xheW91dHMvX25hdmxheW91dC10b3BiYXIuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyJAaW1wb3J0IFwiLi4vY3VzdG9tL2N1c3RvbS12YXJpYWJsZXNcIjtcblxuLy8gQmFzZVxuQGltcG9ydCBcImJhc2UvdmFyaWFibGVzXCI7XG5AaW1wb3J0IFwiYmFzZS9taXhpbnNcIjtcbkBpbXBvcnQgXCJiYXNlL3Jlc2V0XCI7XG5AaW1wb3J0IFwiYmFzZS9iYXNlXCI7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgXCJjb21wb25lbnRzL2lucHV0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYWxlcnRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9iYWNrZ3JvdW5kc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvYnV0dG9uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ3JpZFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGF0YWdyaWRzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kYXRhdmlld1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZGlqaXQtd2lkZ2V0c1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ2x5cGhpY29uc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvZ3JvdXBib3hcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2hlbHBlcnNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL2ltYWdlc1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbGFiZWxzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9saXN0dmlld1wiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvbW9kYWxzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXZpZ2F0aW9uXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9uYXZpZ2F0aW9ubGlzdFwiO1xuQGltcG9ydCBcImNvbXBvbmVudHMvdGFiY29udGFpbmVyXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy90YWJsZXNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3RlbXBsYXRlZ3JpZHNcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3R5cG9ncmFwaHlcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL21lbmRpeHNzb1wiO1xuXG4vLyBQYWdlIFRlbXBsYXRlc1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9wYWdlLWRhc2hib2FyZFwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9wYWdlLWZvcm1cIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvcGFnZS1sb2dpblwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9wYWdlLW1hc3RlcmRldGFpbFwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcmVzcG9uc2l2ZS9wYWdlLXRhYnNcIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3Jlc3BvbnNpdmUvcGFnZS13ZWJzaXRlXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9yZXNwb25zaXZlL3BhZ2Utd2l6YXJkXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9waG9uZS9waG9uZS1wYWdlLWRhc2hib2FyZFwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvcGhvbmUvcGhvbmUtcGFnZS1mb3JtXCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9waG9uZS9waG9uZS1wYWdlLWxpc3R2aWV3XCI7XG5AaW1wb3J0IFwicGFnZXRlbXBsYXRlcy9waG9uZS9waG9uZS1wYWdlLXdpemFyZFwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvdGFibGV0L3RhYmxldC1wYWdlLWRhc2hib2FyZFwiO1xuQGltcG9ydCBcInBhZ2V0ZW1wbGF0ZXMvdGFibGV0L3RhYmxldC1wYWdlLWZvcm1cIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3RhYmxldC90YWJsZXQtcGFnZS1tYXN0ZXJkZXRhaWxcIjtcbkBpbXBvcnQgXCJwYWdldGVtcGxhdGVzL3RhYmxldC90YWJsZXQtcGFnZS13aXphcmRcIjtcblxuLy8gQnVpbGRpbmcgQmxvY2tzXG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvYWN0aW9uYmxvY2tcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9jYXJkXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvZGFzaGJvYXJkY2FyZFwiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL2Rhc2hib2FyZHN0YXRcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9mb3JtXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvZm9ybWJsb2NrXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvbWFzdGVyZGV0YWlsXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvbXVsdGlsZXZlbFwiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL3BhZ2VoZWFkZXJcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9zZWN0aW9uaGVhZGVyXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvcHJvZmlsZWNhcmQuc2Nzc1wiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL3Byb2ZpbGVoZWFkZXJcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy9wcm9kdWN0c1wiO1xuQGltcG9ydCBcImJ1aWxkaW5nYmxvY2tzL3NpZGViYXJoZWFkZXJcIjtcbkBpbXBvcnQgXCJidWlsZGluZ2Jsb2Nrcy90YWJzZnVsbHdpZHRoXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3Mvd2l6YXJkXCI7XG5AaW1wb3J0IFwiYnVpbGRpbmdibG9ja3MvdGVtcGxhdGVncmlkL3RlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC5zY3NzXCI7XG5cbi8vIE1vYmlsZVxuQGltcG9ydCBcIm1vYmlsZS9sYXlvdXRzL2Jhc2VcIjtcblxuQGltcG9ydCBcIm1vYmlsZS9jb21wb25lbnRzL2xpc3R2aWV3XCI7XG5AaW1wb3J0IFwibW9iaWxlL2NvbXBvbmVudHMvbG9hZGVyXCI7XG5AaW1wb3J0IFwibW9iaWxlL2NvbXBvbmVudHMvbXgtaGVhZGVyXCI7XG5AaW1wb3J0IFwibW9iaWxlL2NvbXBvbmVudHMvdGFiY29udGFpbmVyXCI7XG5cbi8vbGF5b3V0c1xuQGltcG9ydCBcImxheW91dHMvYmFzZVwiO1xuQGltcG9ydCBcImxheW91dHMvbmF2bGF5b3V0LWNvbnRlbnRcIjtcbkBpbXBvcnQgXCJsYXlvdXRzL25hdmxheW91dC1zaWRlYmFyXCI7XG5AaW1wb3J0IFwibGF5b3V0cy9uYXZsYXlvdXQtdG9wYmFyXCI7XG4iLCIvLy8gQ29sb3JzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8vIERlZmluaXRpb25zXG4kY29sb3ItbXl3b3Jrd2VhcjogICAgI0ZGNjIwMDtcbiRjb2xvci1ibGFjazogICAgICAgICAjMDAwMDAwO1xuJGNvbG9yLWdyYXkxOiAgICAgICAgICMzMzMzMzM7XG4kY29sb3ItZ3JheTI6ICAgICAgICAgIzY2NjY2NjtcbiRjb2xvci1ncmF5MzogICAgICAgICAjODA4MDgwO1xuJGNvbG9yLWdyYXk0OiAgICAgICAgICNBNkE2QTY7XG4kY29sb3ItZ3JheTU6ICAgICAgICAgI0NDQ0NDQztcbiRjb2xvci1ncmF5NjogICAgICAgICAjRTZFNkU2O1xuJGNvbG9yLWdyYXk3OiAgICAgICAgICNGMkYyRjI7XG4kY29sb3ItZ3JheTg6ICAgICAgICAgI0Y5RjlGOTtcbiRjb2xvci13aGl0ZTogICAgICAgICAjRkZGRkZGO1xuJGJyYW5kLWRlZmF1bHQ6ICAgICAgICRjb2xvci1teXdvcmt3ZWFyO1xuJGJyYW5kLXByaW1hcnk6ICAgICAgICNEREREREQ7XG4kYnJhbmQtaW52ZXJzZTogICAgICAgIzAwOURGRjtcbiRicmFuZC1pbmZvOiAgICAgICAgICAjOEFENEVEO1xuJGJyYW5kLXN1Y2Nlc3M6ICAgICAgICM4Q0MxNTI7XG4kYnJhbmQtd2FybmluZzogICAgICAgI0Y2QkI0MjtcbiRicmFuZC1kYW5nZXI6ICAgICAgICAjZGMzNTQ1O1xuXG4vLy8gVHlwb2dyYXBoeSAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8vIEZvbnQtc2l6ZVxuJGZvbnQtYmFzZS1zaXplOiAgICAgIDFyZW07XG4kZm9udC1zaXplLWxhcmdlOiAgICAgMS4yNXJlbTtcbiRmb250LXNpemUtc21hbGw6ICAgICAwLjg1cmVtO1xuLy8vIEhlYWRlciBzaXplc1xuJGZvbnQtc2l6ZS1oMTogICAgICAgIDJyZW07XG4kZm9udC1zaXplLWgyOiAgICAgICAgMS44cmVtO1xuJGZvbnQtc2l6ZS1oMzogICAgICAgIDEuNnJlbTtcbiRmb250LXNpemUtaDQ6ICAgICAgICAxLjJyZW07XG4kZm9udC1zaXplLWg1OiAgICAgICAgMXJlbTtcbiRmb250LXNpemUtaDY6ICAgICAgICAwLjhyZW07XG5cbi8vLyBMaW5lLUhlaWdodFxuJGxpbmUtaGVpZ2h0LWhlYWRlcjogIDEuMjU7XG4kbGluZS1oZWlnaHQtYmFzZTogICAgMS41O1xuXG4vLy8gRm9udCBGYW1pbHkgSW1wb3J0XG4kZm9udC1mYW1pbHktaW1wb3J0OiBcImh0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1Qb3BwaW5zXCI7XG5AaW1wb3J0IHVybCgkZm9udC1mYW1pbHktaW1wb3J0KTtcblxuLy8vIEZvbnQgRmFtaWx5IC8gZmFsc2UgPSB1c2UgYmFzZSBmYW1pbHkgYW5kIG9ubHkgYXBwbHkgZm9udC13ZWlnaHQgb25seVxuJGZvbnQtZmFtaWx5LWJhc2U6ICAgICAgICAgIFwiUG9wcGluc1wiLFwiT3BlbiBTYW5zXCIsc2Fucy1zZXJpZjtcbiRmb250LWZhbWlseS1saWdodDogICAgICAgICBmYWxzZTtcbiRmb250LWZhbWlseS1zZW1pYm9sZDogICAgICBmYWxzZTtcbiRmb250LWZhbWlseS1ib2xkOiAgICAgICAgICBmYWxzZTtcblxuLy8vIEZvbnQgV2VpZ2h0c1xuJGZvbnQtd2VpZ2h0LWxpZ2h0OiAgICAgICAgIDEwMDtcbiRmb250LXdlaWdodC1ub3JtYWw6ICAgICAgICBub3JtYWw7XG4kZm9udC13ZWlnaHQtc2VtaWJvbGQ6ICAgICAgNTAwO1xuJGZvbnQtd2VpZ2h0LWJvbGQ6ICAgICAgICAgIGJvbGQ7XG4kZm9udC13ZWlnaHQtaGVhZGVyczogICAgICAgJGZvbnQtd2VpZ2h0LW5vcm1hbDtcblxuLy8gRm9udCBDb2xvcnNcbiRmb250LWJhc2UtY29sb3I6ICAgICAgICAgICAkY29sb3ItZ3JheTE7XG4kZm9udC1jb2xvci1oZWFkZXJzOiAgICAgICAgJGNvbG9yLWdyYXkxO1xuXG5cblxuLy8vIFN1cHBvcnQgb2YgZGlmZmVyZW50IHNjcmVlbiBzaXplcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vLyBCcmVha3BvaW50c1xuJGJwLXNtYWxsOiAgICA0OGVtOyAgICAgLy8vICA3NjhweCBhdCAxNnB4IGZvbnQgc2l6ZVxuJGJwLW1lZGl1bTogICA2NGVtOyAgICAgLy8vIDEwMjRweFxuJGJwLWxhcmdlOiAgICA4NS4zNzVlbTsgLy8vIDEzNjZweFxuJGJwLXhsYXJnZTogICAxMjBlbTsgICAgLy8vIDE5MjBweFxuJGJwLXh4bGFyZ2U6ICAxNjBlbTsgICAgLy8vIDI1NjBweFxuXG4vLy8gTWVkaWEgUXVlcmllc1xuJG1xLXNtYWxsOiAgICBcIihtaW4td2lkdGg6ICN7JGJwLXNtYWxsfSlcIjtcbiRtcS1tZWRpdW06ICAgXCIobWluLXdpZHRoOiAjeyRicC1tZWRpdW19KVwiO1xuJG1xLWxhcmdlOiAgICBcIihtaW4td2lkdGg6ICN7JGJwLWxhcmdlfSlcIjtcbiRtcS14bGFyZ2U6ICAgXCIobWluLXdpZHRoOiAjeyRicC14bGFyZ2V9KVwiO1xuJG1xLXh4bGFyZ2U6ICBcIihtaW4td2lkdGg6ICN7JGJwLXh4bGFyZ2V9KVwiO1xuJG1xLXJldGluYTogICBcIigtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSlcIjtcbi8vLyBVc2FnZTogQG1lZGlhICN7JG1xLW1lZGl1bX0geyB9XG5cbi8vLyBTcGFjaW5nICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4kc3BhY2luZy14c21hbGw6ICAwLjI1cmVtO1xuJHNwYWNpbmctc21hbGw6ICAgMC41cmVtO1xuJHNwYWNpbmctbWVkaXVtOiAgMXJlbTtcbiRzcGFjaW5nLWxhcmdlOiAgIDEuNXJlbTtcbiRzcGFjaW5nLXhsYXJnZTogIDJyZW07XG5cblxuXG4vLy8gTGF5b3V0ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuJGJnLWNvbG9yOlx0XHRcdFx0JGNvbG9yLWdyYXk4O1xuJGJnLWNvbG9yLXNlY29uZGFyeTpcdCRjb2xvci1ncmF5NTtcbiR0b3BiYXItYmc6XHRcdFx0XHQkY29sb3ItbXl3b3Jrd2VhcjtcbiRzaWRlYmFyLWJnOlx0XHRcdHRyYW5zcGFyZW50O1xuJHRvcGJhci1oZWlnaHQ6XHRcdFx0NXJlbTtcbiRtZW51YmFyLWhlaWdodDpcdFx0NHJlbTtcblxuLy8vIERlZmF1bHRzXG4kYm9yZGVyLXJhZGl1cy1kZWZhdWx0OiA0cHg7XG5cblxuLy8vIEZvcm0gdmFyaWFibGVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vLyBGb3JtIExhYmVsXG4kZm9ybS1sYWJlbC1jb2xvcjogICAgICAgICAgICAgICAgJGNvbG9yLWdyYXk0O1xuJGZvcm0tbGFiZWwtc2l6ZTogICAgICAgICAgICAgICAgICRmb250LWJhc2Utc2l6ZTtcbiRmb3JtLWxhYmVsLXdlaWdodDogICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8vIEZvcm0gSW5wdXQgZGltZW5zaW9uc1xuJGZvcm0taW5wdXQtaGVpZ2h0OiAgICAgICAgICAgICAgIGF1dG87XG4kZm9ybS1pbnB1dC1wYWRkaW5nLXk6ICAgICAgICAgICAgNnB4O1xuJGZvcm0taW5wdXQtcGFkZGluZy14OiAgICAgICAgICAgIDhweDtcbiRmb3JtLWlucHV0LWZvbnQtc2l6ZTogICAgICAgICAgICAkZm9ybS1sYWJlbC1zaXplO1xuJGZvcm0taW5wdXQtbGluZS1oZWlnaHQ6ICAgICAgICAgICRsaW5lLWhlaWdodC1iYXNlO1xuJGZvcm0taW5wdXQtYm9yZGVyLXJhZGl1czogICAgICAgICRib3JkZXItcmFkaXVzLWRlZmF1bHQ7XG4vLy8gRm9ybSBJbnB1dCBzdHlsaW5nXG4kZm9ybS1pbnB1dC1iZzogICAgICAgICAgICAgICAgICAgJGNvbG9yLXdoaXRlO1xuJGZvcm0taW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgICRjb2xvci13aGl0ZTtcbiRmb3JtLWlucHV0LWJnLWRpc2FibGVkOiAgICAgICAgICAkY29sb3ItZ3JheTY7XG4kZm9ybS1pbnB1dC1jb2xvcjogICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvcjtcbiRmb3JtLWlucHV0LWZvY3VzLWNvbG9yOiAgICAgICAgICAkZm9ybS1pbnB1dC1jb2xvcjtcbiRmb3JtLWlucHV0LWRpc2FibGVkLWNvbG9yOiAgICAgICAkZm9ybS1pbnB1dC1jb2xvcjtcbiRmb3JtLWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAgICAkY29sb3ItZ3JheTM7XG4kZm9ybS1pbnB1dC1ib3JkZXItY29sb3I6ICAgICAgICAgJGNvbG9yLWdyYXk1O1xuJGZvcm0taW5wdXQtYm9yZGVyLWZvY3VzLWNvbG9yOiAgICRjb2xvci1ncmF5NTtcbi8vLyBGb3JtIEdyb3VwXG4kZm9ybS1ncm91cC1tYXJnaW4tYm90dG9tOiAgICAgICAgMTBweDtcbiRmb3JtLWdyb3VwLWd1dHRlcjogICAgICAgICAgICAgICAxNXB4O1xuXG4vLy8gQXJyb3cgZm9yIGRyb3Bkb3duc1xuJGFycm93OiBcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB3aWR0aD0nMTVweCcgaGVpZ2h0PSc4cHgnPjxwb2x5bGluZSBpZD0nTGluZScgZmlsbD0nbm9uZScgc3Ryb2tlPSclMjM1NTU1NTUnIHBvaW50cz0nMC41IDAuNSA2IDYgMTEuNTQ1MzYxIDAuNSc+PC9wb2x5bGluZT48L3N2Zz5cIjtcblxuXG4vLy8gQnV0dG9uIHZhcmlhYmxlcyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8vIEJ1dHRvbiBUZXh0IFNpemVcbiRidG4tZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsO1xuLy8vIEJ1dHRvbiBCYWNrZ3JvdW5kIENvbG9yXG4kYnRuLWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4kYnRuLWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWludmVyc2U7XG4kYnRuLXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQ7XG4kYnRuLWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm87XG4kYnRuLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XG4kYnRuLXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XG4kYnRuLWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlcjtcbi8vLyBCdXR0b24gQm9yZGVyIENvbG9yXG4kYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLWludmVyc2U7XG4kYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm87XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XG4kYnRuLXdhcm5pbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XG4kYnRuLWRhbmdlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlcjtcbi8vLyBCdXR0b24gVGV4dCBDb2xvclxuJGJ0bi1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRicmFuZC1kZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRjb2xvci13aGl0ZTtcbiRidG4tcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkY29sb3Itd2hpdGU7XG4kYnRuLWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXdoaXRlO1xuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRjb2xvci13aGl0ZTtcbiRidG4td2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkY29sb3Itd2hpdGU7XG4kYnRuLWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXdoaXRlO1xuXG4vLy8gRGF0YWdyaWQsIHRlbXBsYXRlZ3JpZCwgbGlzdHZpZXcgdmFyaWFibGVzICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8vIERlZmF1bHQgQm9yZGVyIENvbG9yc1xuLy8gJGdyaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcbi8vLyBCYWNrZ3JvdW5kIGNvbG9yc1xuJGdyaWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci13aGl0ZTtcbi8vICRncmlkLWJnLWhlYWRlcjogICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudDsgLy8gR3JpZCBIZWFkZXJzXG4vLyAkZ3JpZC1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGNvbG9yLXByaW1hcnktbGlnaHRlciwzKTtcbi8vICRncmlkLWJnLXNlbGVjdGVkOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbi8vICRncmlkLWJnLXNlbGVjdGVkLWhvdmVyOiAgICAgICAgICAgICAgICBzaGFkZSgkY29sb3ItcHJpbWFyeS1saWdodGVyLDMpO1xuXG4vLyBTdHJpcGVkIEJhY2tncm91bmQgQ29sb3Jcbi8vICRncmlkLWJnLXN0cmlwZWQ6ICAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRncmlkLWJvcmRlci1jb2xvciw1KTtcblxuLy8gQmFja2dyb3VuZCBGb290ZXIgQ29sb3Jcbi8vICRncmlkLWZvb3Rlci1iZzogICAgICAgICAgICAgICAgICAgICAgICAkZ3JheS1wcmltYXJ5O1xuXG4vLyBUZXh0IENvbG9yXG4vLyAkZ3JpZC1zZWxlY3RlZC1jb2xvcjogICAgICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvcjtcblxuLy8gUGFnaW5nIENvbG9yc1xuLy8gJGdyaWQtcGFnaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuLy8gJGdyaWQtcGFnaW5nLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuLy8gJGdyaWQtcGFnaW5nLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuLy8gJGdyaWQtcGFnaW5nLWJvcmRlci1jb2xvci1ob3ZlcjogICAgICAgIHRyYW5zcGFyZW50O1xuLy8gJGdyaWQtcGFnaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRncmF5LWxpZ2h0O1xuLy8gJGdyaWQtcGFnaW5nLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuXG5cblxuXG5cblxuLy8vIEFsbCBiZWxvdyBpcyBsZWZ0IGZyb20gZGVmYXVsdCBNZW5kaXggQXRsYXMuLi5cblxuJGJyYW5kLWxvZ286IFx0XCIuLi8uLi8uLi9sb2dvLnBuZ1wiO1xuJGJyYW5kLWxvZ28taGVpZ2h0Olx0NDBweDtcbiRicmFuZC1sb2dvLXdpZHRoOlx0IDIwMHB4O1xuXG5cbi8vPT0gU3RlcCAyOiBVSSBDdXN0b21pemF0aW9uXG5cblxuXG4vLyBEZWZhdWx0IExpbmsgQ29sb3JcbiRsaW5rLWNvbG9yOiBcdCMyMTc4YzY7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpO1xuXG5cblxuXG4vL1xuLy8gIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilZcg4paI4paI4pWXICAg4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilZcgICDilojilojilZcg4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4pWXXG4vLyDilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilojilojilZfilojilojilZEgICDilojilojilZHilojilojilZTilZDilZDilojilojilZfilojilojilojilojilZcgIOKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl1xuLy8g4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4pWRICDilojilojilZHilojilojilZEgICDilojilojilZHilojilojilojilojilojilojilojilZHilojilojilZTilojilojilZcg4paI4paI4pWR4paI4paI4pWRICAgICDilojilojilojilojilojilZcgIOKWiOKWiOKVkSAg4paI4paI4pWRXG4vLyDilojilojilZTilZDilZDilojilojilZHilojilojilZEgIOKWiOKWiOKVkeKVmuKWiOKWiOKVlyDilojilojilZTilZ3ilojilojilZTilZDilZDilojilojilZHilojilojilZHilZrilojilojilZfilojilojilZHilojilojilZEgICAgIOKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWRICDilojilojilZFcbi8vIOKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4pWU4pWdIOKVmuKWiOKWiOKWiOKWiOKVlOKVnSDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKVkSDilZrilojilojilojilojilZHilZrilojilojilojilojilojilojilZfilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilZTilZ1cbi8vIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdICAg4pWa4pWQ4pWQ4pWQ4pWdICDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWQ4pWQ4pWdIOKVmuKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVnVxuLy9cblxuXG4vLz09IFR5cG9ncmFwaHlcbi8vIyMgQ2hhbmdlIHlvdXIgZm9udCBmYW1pbHksIHdlaWdodCwgbGluZS1oZWlnaHQsIGhlYWRpbmdzIGFuZCBtb3JlICh1c2VkIGluIGNvbXBvbmVudHMvdHlwb2dyYXBoeSlcblxuXG5cblxuXG5cbi8vPT0gR3JheSBTaGFkZXNcbi8vIyMgRGlmZmVyZW50IGdyYXkgc2hhZGVzIHRvIGJlIHVzZWQgZm9yIG91ciB2YXJpYWJsZXMgYW5kIGNvbXBvbmVudHNcbiRncmF5LWRhcmtlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyO1xuJGdyYXktZGFyazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMzMzM7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzU1NTtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOTk5O1xuJGdyYXktcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICNEREQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2VlZTtcblxuXG5cblxuLy89PSBHbG9iYWwgQm9yZGVyIENvbG9yXG4vLyBUaGUgZGVmYXVsdCBib3JkZXIgY29sb3IgdXNlZCBieSBEYXRhZ3JpZCwgTGlzdHZpZXcsIFRhYmxlcywgRGF0YXZpZXcsIE1vZGFscyBhbmQgbW9yZVxuJGRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRncmF5LXByaW1hcnk7XG5cblxuXG5cbi8vPT0gTmF2aWdhdGlvblxuLy8jIyBVc2VkIGluIGNvbXBvbmVudHMvbmF2aWdhdGlvblxuXG4vLyBOYXZpZ2F0aW9uIFNpZGViYXJcbiRuYXZzaWRlYmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLXNpemU7XG4kbmF2c2lkZWJhci1zdWItZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbWFsbDtcbiRuYXZzaWRlYmFyLWdseXBoLXNpemU6ICAgICAgICAgICAgICAgICAxLjJlbTsgLy8gRm9yIGdseXBoaWNvbnMgdGhhdCB5b3UgY2FuIHNlbGVjdCBpbiB0aGUgTWVuZGl4IE1vZGVsZXJcblxuJG5hdnNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWJnO1xuJG5hdnNpZGViYXItYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJG5hdnNpZGViYXItYmcsIDQpO1xuJG5hdnNpZGViYXItYmctYWN0aXZlOiAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJG5hdnNpZGViYXItYmcsIDgpO1xuJG5hdnNpZGViYXItY29sb3I6IFx0Izc2NzY3NjtcbiRuYXZzaWRlYmFyLWNvbG9yLWhvdmVyOiBcdCNGRjYyMDA7XG4kbmF2c2lkZWJhci1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG5cbiRuYXZzaWRlYmFyLXN1Yi1iZzogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdnNpZGViYXItYmcsIDQpO1xuJG5hdnNpZGViYXItc3ViLWJnLWhvdmVyOiAgICAgICAgICAgICAgICRuYXZzaWRlYmFyLXN1Yi1iZztcbiRuYXZzaWRlYmFyLXN1Yi1iZy1hY3RpdmU6ICAgICAgICAgICAgICAkbmF2c2lkZWJhci1zdWItYmc7XG4kbmF2c2lkZWJhci1zdWItY29sb3I6ICAgICAgICAgICAgICAgICAgI0FBQTtcbiRuYXZzaWRlYmFyLXN1Yi1jb2xvci1ob3ZlcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbiRuYXZzaWRlYmFyLXN1Yi1jb2xvci1hY3RpdmU6ICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcblxuJG5hdnNpZGViYXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZzaWRlYmFyLWJnLWhvdmVyO1xuXG4vLyBOYXZpZ2F0aW9uIHRvcGJhclxuJG5hdnRvcGJhci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LWJhc2Utc2l6ZTtcbiRuYXZ0b3BiYXItc3ViLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsO1xuJG5hdnRvcGJhci1nbHlwaC1zaXplOiAgICAgICAgICAgICAgICAgIDEuMmVtOyAvLyBGb3IgZ2x5cGhpY29ucyB0aGF0IHlvdSBjYW4gc2VsZWN0IGluIHRoZSBNZW5kaXggTW9kZWxlclxuXG4kbmF2dG9wYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvcGJhci1iZztcbiRuYXZ0b3BiYXItYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdnRvcGJhci1iZywgNCk7XG4kbmF2dG9wYmFyLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZ0b3BiYXItYmcsIDgpO1xuJG5hdnRvcGJhci1jb2xvcjogXHQjNzY3Njc2O1xuJG5hdnRvcGJhci1jb2xvci1ob3ZlcjogICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuJG5hdnRvcGJhci1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuXG4kbmF2dG9wYmFyLXN1Yi1iZzogICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkbmF2dG9wYmFyLWJnLCA0KTtcbiRuYXZ0b3BiYXItc3ViLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAkbmF2dG9wYmFyLXN1Yi1iZztcbiRuYXZ0b3BiYXItc3ViLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAkbmF2dG9wYmFyLXN1Yi1iZztcbiRuYXZ0b3BiYXItc3ViLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjQUFBO1xuJG5hdnRvcGJhci1zdWItY29sb3ItaG92ZXI6ICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuJG5hdnRvcGJhci1zdWItY29sb3ItYWN0aXZlOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuXG4kbmF2dG9wYmFyLWJvcmRlci1jb2xvcjogXHQjRDBEMEQwO1xuXG5cblxuXG5cbi8vIEd1dHRlciBzaXplXG4kZ3V0dGVyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTVweDtcblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vXG4vLyDilojilojilojilojilojilojilojilZfilojilojilZcgIOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilojilZfilojilojilojilojilojilojilZcg4paI4paI4paI4paI4paI4paI4paI4paI4pWXXG4vLyDilojilojilZTilZDilZDilZDilZDilZ3ilZrilojilojilZfilojilojilZTilZ3ilojilojilZTilZDilZDilojilojilZfilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilojilojilZfilZrilZDilZDilojilojilZTilZDilZDilZ1cbi8vIOKWiOKWiOKWiOKWiOKWiOKVlyAgIOKVmuKWiOKWiOKWiOKVlOKVnSDilojilojilojilojilojilojilZTilZ3ilojilojilojilojilojilZcgIOKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVnSAgIOKWiOKWiOKVkVxuLy8g4paI4paI4pWU4pWQ4pWQ4pWdICAg4paI4paI4pWU4paI4paI4pWXIOKWiOKWiOKVlOKVkOKVkOKVkOKVnSDilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVlyAgIOKWiOKWiOKVkVxuLy8g4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWU4pWdIOKWiOKWiOKVl+KWiOKWiOKVkSAgICAg4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWRICDilojilojilZEgICDilojilojilZFcbi8vIOKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWdICAgICDilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVnSAgIOKVmuKVkOKVnVxuLy9cblxuLy89PSBDb2xvciB2YXJpYXRpb25zXG4vLyMjIFRoZXNlIHZhcmlhdGlvbnMgYXJlIHVzZWQgdG8gc3VwcG9ydCBzZXZlcmFsIG90aGVyIHZhcmlhYmxlcyBhbmQgY29tcG9uZW50c1xuXG4vLyBCYXNpYyBUZXh0IGNvbG9yc1xuLy8gJGNvbG9yLXRleHQtYmxhY2s6ICAgICAgICAgICAgICAgICAgICAgICMwMDA7XG4vLyAkY29sb3ItdGV4dC13aGl0ZTogICAgICAgICAgICAgICAgICAgICAgI0ZGRjtcbi8vICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTogICAgICAgICAgICBsaWdodGVuKCRjb2xvci10ZXh0LWJsYWNrLCA0MCUpO1xuLy8gJGNvbG9yLXRleHQtYmxhY2stZGlzYWJsZWQ6ICAgICAgICAgICAgIHJnYmEoJGNvbG9yLXRleHQtYmxhY2ssIC4yNik7XG4vLyAkY29sb3ItdGV4dC1ibGFjay1oaW50OiAgICAgICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC1ibGFjaywgLjI2KTtcblxuLy8gJGNvbG9yLXRleHQtd2hpdGUtc2Vjb25kYXJ5OiAgICAgICAgICAgIHJnYmEoJGNvbG9yLXRleHQtd2hpdGUsIC43KTtcbi8vICRjb2xvci10ZXh0LXdoaXRlLWRpc2FibGVkOiAgICAgICAgICAgICByZ2JhKCRjb2xvci10ZXh0LXdoaXRlLCAuMyk7XG4vLyAkY29sb3ItdGV4dC13aGl0ZS1oaW50OiAgICAgICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC13aGl0ZSwgLjMpO1xuXG4vLyBDb2xvciB2YXJpYXRpb25zXG4vLyAkY29sb3ItZGVmYXVsdC1kYXJrZXI6ICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWRlZmF1bHQsNDApO1xuLy8gJGNvbG9yLWRlZmF1bHQtZGFyazogICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1kZWZhdWx0LDI2KTtcbi8vICRjb2xvci1kZWZhdWx0LWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1kZWZhdWx0LDQwKTtcbi8vICRjb2xvci1kZWZhdWx0LWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1kZWZhdWx0LDgwKTtcblxuLy8gJGNvbG9yLWludmVyc2UtZGFya2VyOiAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbnZlcnNlLDQwKTtcbi8vICRjb2xvci1pbnZlcnNlLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtaW52ZXJzZSwyNik7XG4vLyAkY29sb3ItaW52ZXJzZS1saWdodDogICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtaW52ZXJzZSw0MCk7XG4vLyAkY29sb3ItaW52ZXJzZS1saWdodGVyOiAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtaW52ZXJzZSw4MCk7XG5cbi8vICRjb2xvci1wcmltYXJ5LWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtcHJpbWFyeSw0MCk7XG4vLyAkY29sb3ItcHJpbWFyeS1kYXJrOiAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXByaW1hcnksMjYpO1xuLy8gJGNvbG9yLXByaW1hcnktbGlnaHQ6ICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXByaW1hcnksNDApO1xuLy8gJGNvbG9yLXByaW1hcnktbGlnaHRlcjogICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXByaW1hcnksODApO1xuXG4vLyAkY29sb3ItaW5mby1kYXJrZXI6ICAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWluZm8sNDApO1xuLy8gJGNvbG9yLWluZm8tZGFyazogICAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbmZvLDI2KTtcbi8vICRjb2xvci1pbmZvLWxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1pbmZvLDQwKTtcbi8vICRjb2xvci1pbmZvLWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1pbmZvLDgwKTtcblxuLy8gJGNvbG9yLXN1Y2Nlc3MtZGFya2VyOiAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1zdWNjZXNzLDQwKTtcbi8vICRjb2xvci1zdWNjZXNzLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtc3VjY2VzcywyNik7XG4vLyAkY29sb3Itc3VjY2Vzcy1saWdodDogICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtc3VjY2Vzcyw0MCk7XG4vLyAkY29sb3Itc3VjY2Vzcy1saWdodGVyOiAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtc3VjY2Vzcyw4MCk7XG5cbi8vICRjb2xvci13YXJuaW5nLWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtd2FybmluZyw0MCk7XG4vLyAkY29sb3Itd2FybmluZy1kYXJrOiAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXdhcm5pbmcsMjYpO1xuLy8gJGNvbG9yLXdhcm5pbmctbGlnaHQ6ICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXdhcm5pbmcsNDApO1xuLy8gJGNvbG9yLXdhcm5pbmctbGlnaHRlcjogICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXdhcm5pbmcsODApO1xuXG4vLyAkY29sb3ItZGFuZ2VyLWRhcmtlcjogICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWRhbmdlciw0MCk7XG4vLyAkY29sb3ItZGFuZ2VyLWRhcms6ICAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWRhbmdlciwyNik7XG4vLyAkY29sb3ItZGFuZ2VyLWxpZ2h0OiAgICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtZGFuZ2VyLDQwKTtcbi8vICRjb2xvci1kYW5nZXItbGlnaHRlcjogICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1kYW5nZXIsODApO1xuXG5cblxuXG4vLz09IEdyaWRzXG4vLyMjIFVzZWQgZm9yIERhdGFncmlkLCBUZW1wbGF0ZWdyaWQsIExpc3R2aWV3ICYgVGFibGVzIChzZWUgY29tcG9uZW50cyBmb2xkZXIpXG5cbi8vIERlZmF1bHQgQm9yZGVyIENvbG9yc1xuLy8gJGdyaWQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblxuLy8gQmFja2dyb3VuZCBDb2xvcnNcbi8vICRncmlkLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGO1xuLy8gJGdyaWQtYmctaGVhZGVyOiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50OyAvLyBHcmlkIEhlYWRlcnNcbi8vICRncmlkLWJnLWhvdmVyOiAgICAgICAgICAgICAgICAgICAgICAgICBzaGFkZSgkY29sb3ItcHJpbWFyeS1saWdodGVyLDMpO1xuLy8gJGdyaWQtYmctc2VsZWN0ZWQ6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuLy8gJGdyaWQtYmctc2VsZWN0ZWQtaG92ZXI6ICAgICAgICAgICAgICAgIHNoYWRlKCRjb2xvci1wcmltYXJ5LWxpZ2h0ZXIsMyk7XG5cbi8vIFN0cmlwZWQgQmFja2dyb3VuZCBDb2xvclxuLy8gJGdyaWQtYmctc3RyaXBlZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyaWQtYm9yZGVyLWNvbG9yLDUpO1xuXG4vLyBCYWNrZ3JvdW5kIEZvb3RlciBDb2xvclxuLy8gJGdyaWQtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LXByaW1hcnk7XG5cbi8vIFRleHQgQ29sb3Jcbi8vICRncmlkLXNlbGVjdGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yO1xuXG4vLyBQYWdpbmcgQ29sb3JzXG4vLyAkZ3JpZC1wYWdpbmctYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4vLyAkZ3JpZC1wYWdpbmctYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4vLyAkZ3JpZC1wYWdpbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG4vLyAkZ3JpZC1wYWdpbmctYm9yZGVyLWNvbG9yLWhvdmVyOiAgICAgICAgdHJhbnNwYXJlbnQ7XG4vLyAkZ3JpZC1wYWdpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQ7XG4vLyAkZ3JpZC1wYWdpbmctY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG5cblxuXG5cbi8vPT0gVGFic1xuLy8jIyBEZWZhdWx0IHZhcmlhYmxlcyBmb3IgVGFiIENvbnRhaW5lciBXaWRnZXQgKHVzZWQgaW4gY29tcG9uZW50cy90YWJjb250YWluZXIpXG5cbi8vIFRleHQgQ29sb3Jcbi8vICR0YWJzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7XG4vLyAkdGFicy1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtYmxhY2s7XG4vLyAkdGFicy1saW5lZC1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG5cbi8vIEJvcmRlciBDb2xvclxuLy8gJHRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcbi8vICR0YWJzLWxpbmVkLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuLy8gJHRhYnMtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJHRhYnMtYm9yZGVyLWNvbG9yLDUpO1xuLy8gJHRhYnMtYmctYWN0aXZlOiAgICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuXG5cblxuXG4vLz09IE1vZGFsc1xuLy8jIyBEZWZhdWx0IE1lbmRpeCBNb2RhbCwgQmxvY2tpbmcgTW9kYWwgYW5kIExvZ2luIE1vZGFsICh1c2VkIGluIGNvbXBvbmVudHMvbW9kYWxzKVxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4vLyAkbW9kYWwtaGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7XG5cbi8vIEJvcmRlciBDb2xvclxuLy8gJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblxuLy8gVGV4dCBDb2xvclxuLy8gJG1vZGFsLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3I7XG5cblxuXG5cbi8vPT0gRGF0YXZpZXdcbi8vIyMgRGVmYXVsdCB2YXJpYWJsZXMgZm9yIERhdGF2aWV3IFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL2RhdGF2aWV3KVxuXG4vLyBDb250cm9sc1xuLy8gJGRhdGF2aWV3LWNvbnRyb2xzLWJnOiAgICAgICAgICAgICAgICAgIHRyYW5zcGFyZW50O1xuLy8gJGRhdGF2aWV3LWNvbnRyb2xzLWJvcmRlci1jb2xvcjogICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblxuLy8gRW1wdHkgTWVzc2FnZVxuLy8gJGRhdGF2aWV3LWVtcHR5bWVzc2FnZS1iZzogICAgICAgICAgICAgICRiZy1jb2xvcjtcbi8vICRkYXRhdmlldy1lbXB0eW1lc3NhZ2UtY29sb3I6ICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yO1xuXG5cblxuXG4vLz09IEFsZXJ0c1xuLy8jIyBEZWZhdWx0IEJvb3RzdHJhcCBhbGVydHMsIG5vdCBhIHdpZGdldCBpbiB0aGUgTW9kZWxlciAodXNlZCBpbiBjb21wb25lbnRzL2FsZXJ0cylcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuLy8gJGFsZXJ0LWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1pbmZvLWxpZ2h0ZXI7XG4vLyAkYWxlcnQtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXN1Y2Nlc3MtbGlnaHRlcjtcbi8vICRhbGVydC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3Itd2FybmluZy1saWdodGVyO1xuLy8gJGFsZXJ0LWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1kYW5nZXItbGlnaHRlcjtcblxuLy8gVGV4dCBDb2xvclxuLy8gJGFsZXJ0LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci1pbmZvLWRhcmtlcjtcbi8vICRhbGVydC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3Itc3VjY2Vzcy1kYXJrZXI7XG4vLyAkYWxlcnQtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgJGNvbG9yLXdhcm5pbmctZGFya2VyO1xuLy8gJGFsZXJ0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICRjb2xvci1kYW5nZXItZGFya2VyO1xuXG4vLyBCb3JkZXIgQ29sb3Jcbi8vICRhbGVydC1pbmZvLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgICAkY29sb3ItaW5mby1kYXJrO1xuLy8gJGFsZXJ0LXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRjb2xvci1zdWNjZXNzLWRhcms7XG4vLyAkYWxlcnQtd2FybmluZy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLXdhcm5pbmctZGFyaztcbi8vICRhbGVydC1kYW5nZXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAkY29sb3ItZGFuZ2VyLWRhcms7XG5cblxuXG5cbi8vPT0gTGFiZWxzXG4vLyMjIERlZmF1bHQgQm9vdHN0cmFwIExhYmVscywgbm90IGEgd2lkZ2V0IGluIHRoZSBNb2RlbGVyICh1c2VkIGluIGNvbXBvbmVudHMvbGFiZWxzKVxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4vLyAkbGFiZWwtZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQ7XG4vLyAkbGFiZWwtcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4vLyAkbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm87XG4vLyAkbGFiZWwtc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XG4vLyAkbGFiZWwtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XG4vLyAkbGFiZWwtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlcjtcblxuLy8gQm9yZGVyIENvbG9yXG4vLyAkbGFiZWwtZGVmYXVsdC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQ7XG4vLyAkbGFiZWwtcHJpbWFyeS1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnk7XG4vLyAkbGFiZWwtaW5mby1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGJyYW5kLWluZm87XG4vLyAkbGFiZWwtc3VjY2Vzcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3M7XG4vLyAkbGFiZWwtd2FybmluZy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmc7XG4vLyAkbGFiZWwtZGFuZ2VyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGJyYW5kLWRhbmdlcjtcblxuLy8gVGV4dCBDb2xvclxuLy8gJGxhYmVsLWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3I7XG4vLyAkbGFiZWwtcHJpbWFyeS1jb2xvcjogICAgICAgICAgICAgICAgICAgI0ZGRjtcbi8vICRsYWJlbC1pbmZvLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjRkZGO1xuLy8gJGxhYmVsLXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICNGRkY7XG4vLyAkbGFiZWwtd2FybmluZy1jb2xvcjogICAgICAgICAgICAgICAgICAgI0ZGRjtcbi8vICRsYWJlbC1kYW5nZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAjRkZGO1xuXG5cblxuXG4vLz09IEdyb3VwYm94XG4vLyMjIERlZmF1bHQgdmFyaWFibGVzIGZvciBHcm91cGJveCBXaWRnZXQgKHVzZWQgaW4gY29tcG9uZW50cy9ncm91cGJveClcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuLy8gJGdyb3VwYm94LWRlZmF1bHQtYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC1kZWZhdWx0O1xuLy8gJGdyb3VwYm94LWludmVyc2UtYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC1pbnZlcnNlO1xuLy8gJGdyb3VwYm94LXByaW1hcnktYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC1wcmltYXJ5O1xuLy8gJGdyb3VwYm94LWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvO1xuLy8gJGdyb3VwYm94LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzO1xuLy8gJGdyb3VwYm94LXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC13YXJuaW5nO1xuLy8gJGdyb3VwYm94LWRhbmdlci1iZzogICAgICAgICAgICAgICAgICAgICRicmFuZC1kYW5nZXI7XG4vLyAkZ3JvdXBib3gtd2hpdGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI0ZGRjtcblxuLy8gVGV4dCBDb2xvclxuLy8gJGdyb3VwYm94LWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LWJsYWNrO1xuLy8gJGdyb3VwYm94LWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xuLy8gJGdyb3VwYm94LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xuLy8gJGdyb3VwYm94LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xuLy8gJGdyb3VwYm94LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xuLy8gJGdyb3VwYm94LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xuLy8gJGdyb3VwYm94LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlO1xuLy8gJGdyb3VwYm94LXdoaXRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3I7XG5cblxuXG5cbi8vPT0gQ2FsbG91dCAoZ3JvdXBib3gpIENvbG9yc1xuLy8jIyBFeHRlbmRlZCB2YXJpYWJsZXMgZm9yIEdyb3VwYm94IFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL2dyb3VwYm94KVxuXG4vLyBUZXh0IGFuZCBCb3JkZXIgQ29sb3Jcbi8vICRjYWxsb3V0LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbztcbi8vICRjYWxsb3V0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2Vzcztcbi8vICRjYWxsb3V0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZztcbi8vICRjYWxsb3V0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyO1xuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4vLyAkY2FsbG91dC1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWluZm8tbGlnaHRlcjtcbi8vICRjYWxsb3V0LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAkY29sb3Itc3VjY2Vzcy1saWdodGVyO1xuLy8gJGNhbGxvdXQtd2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICRjb2xvci13YXJuaW5nLWxpZ2h0ZXI7XG4vLyAkY2FsbG91dC1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWRhbmdlci1saWdodGVyO1xuXG5cblxuXG4vLz09IE1vYmlsZVxuLy8jI1xuXG4vLz09IE1vYmlsZSBIZWFkZXJcbi8vIyMgU3BlY2lmaWMgbW9iaWxlIHdpZGdldHMgYW5kIGNvbXBvbmVudHMgKHVzZWQgaW4gbW9iaWxlL2NvbXBvbmVudHMvbXgtaGVhZGVyKVxuXG4vLyBIZWlnaHRcbi8vICRtLWhlYWRlci1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICA0NHB4O1xuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4vLyAkbS1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGRjtcblxuLy8gVGV4dCBDb2xvclxuLy8gJG0taGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3I7XG5cbi8vIExpbmsgQ29sb3Jcbi8vICRtLWhlYWRlci1saW5rLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkbGluay1jb2xvcjtcblxuXG5cblxuLy89PSBNb2JpbGUgVGFic1xuLy8jIyBTcGVjaWZpYyBtb2JpbGUgd2lkZ2V0cyBhbmQgY29tcG9uZW50cyAodXNlZCBpbiBtb2JpbGUvY29tcG9uZW50cy90YWJjb250YWluZXIpXG5cbi8vIFRleHQgQ29sb3Jcbi8vICRtLXRhYnMtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGO1xuLy8gJG0tdGFicy1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICMwMDA7XG5cbi8vIEJhY2tncm91bmQgQ29sb3Jcbi8vICRtLXRhYnMtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeTtcbi8vICRtLXRhYnMtYmctY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgICBsaWdodGVuKCR0YWJzLWJvcmRlci1jb2xvciw1KTtcbi8vICRtLXRhYnMtYmctY29sb3ItYWN0aXZlOiAgICAgICAgICAgICAgICBkYXJrZW4oJG0tdGFicy1iZywgMTUpO1xuXG4vLyBCb3JkZXIgQ29sb3Jcbi8vICRtLXRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG0tdGFicy1iZywgMTUpO1xuLy8gJG0tdGFicy1ib3JkZXItY29sb3ItYWN0aXZlOiAgICAgICAgICAgIGRhcmtlbigkbS10YWJzLWJnLCAxNSk7XG5cblxuXG5cbi8vPT0gTGF5b3V0IFNwYWNpbmdcbi8vIyMgQWR2YW5jZWQgbGF5b3V0IG9wdGlvbnMgKHVzZWQgaW4gYmFzZS9taXhpbnMvZGVmYXVsdC1zcGFjaW5nKVxuXG4vLyAkZGVmYXVsdC1zcGFjaW5nLXRvcDogICAgICAgICAgICAgICAgICAgMzVweDtcbi8vICRkZWZhdWx0LXNwYWNpbmctcmlnaHQ6ICAgICAgICAgICAgICAgICA0MHB4O1xuLy8gJGRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAgIDM1cHg7XG4vLyAkZGVmYXVsdC1zcGFjaW5nLWxlZnQ6ICAgICAgICAgICAgICAgICAgNDBweDtcblxuLy8gJG0tZGVmYXVsdC1zcGFjaW5nLXRvcDogICAgICAgICAgICAgICAgIDEwcHg7XG4vLyAkbS1kZWZhdWx0LXNwYWNpbmctcmlnaHQ6ICAgICAgICAgICAgICAgMTVweDtcbi8vICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAxMHB4O1xuLy8gJG0tZGVmYXVsdC1zcGFjaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDE1cHg7XG5cbi8vICR0LWRlZmF1bHQtc3BhY2luZy10b3A6ICAgICAgICAgICAgICAgICAyMHB4O1xuLy8gJHQtZGVmYXVsdC1zcGFjaW5nLXJpZ2h0OiAgICAgICAgICAgICAgIDMwcHg7XG4vLyAkdC1kZWZhdWx0LXNwYWNpbmctYm90dG9tOiAgICAgICAgICAgICAgMjBweDtcbi8vICR0LWRlZmF1bHQtc3BhY2luZy1sZWZ0OiAgICAgICAgICAgICAgICAzMHB4O1xuXG5cblxuXG4vLz09IExheW91dHNcbi8vIyNcblxuLy8gU2Nyb2xsIGNvbnRhaW5lciAvIGxheW91dCBjb250YWluZXIgZGVmYXVsdCBwYWRkaW5nXG4vLyAkcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTogICAgICAgICAgMHB4O1xuLy8gJG0tcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTogICAgICAgIDBweDtcbi8vICR0LXBhZGRpbmctbGF5b3V0Y29udGFpbmVyLWJhc2U6ICAgICAgICAwcHg7XG5cbi8vIENvbWJpbmVkIHNwYWNpbmdcbi8vICRkZWZhdWx0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgICAkZGVmYXVsdC1zcGFjaW5nLXRvcCAkZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICRkZWZhdWx0LXNwYWNpbmctYm90dG9tICRkZWZhdWx0LXNwYWNpbmctbGVmdDtcbi8vICRtLWRlZmF1bHQtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAkbS1kZWZhdWx0LXNwYWNpbmctdG9wICRtLWRlZmF1bHQtc3BhY2luZy1yaWdodCAkbS1kZWZhdWx0LXNwYWNpbmctYm90dG9tICRtLWRlZmF1bHQtc3BhY2luZy1sZWZ0O1xuLy8gJHQtZGVmYXVsdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICR0LWRlZmF1bHQtc3BhY2luZy10b3AgJHQtZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICR0LWRlZmF1bHQtc3BhY2luZy1ib3R0b20gJHQtZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XG5cblxuXG4vLz09IFRhYmxlc1xuLy8jIyBUYWJsZSBzcGFjaW5nIG9wdGlvbnMgKHVzZWQgaW4gY29tcG9uZW50cy90YWJsZXMpXG5cbi8vICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wOiAgICAgICAgICAgICAgICA4cHg7XG4vLyAkcGFkZGluZy10YWJsZS1jZWxsLWJvdHRvbTogICAgICAgICAgICAgOHB4O1xuLy8gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0OiAgICAgICAgICAgICAgIDhweDtcbi8vICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQ6ICAgICAgICAgICAgICA4cHg7XG5cblxuXG5cbi8vPT0gTWVkaWEgcXVlcmllcyBicmVha3BvaW50c1xuLy8jIyBEZWZpbmUgdGhlIGJyZWFrcG9pbnRzIGF0IHdoaWNoIHlvdXIgbGF5b3V0IHdpbGwgY2hhbmdlLCBhZGFwdGluZyB0byBkaWZmZXJlbnQgc2NyZWVuIHNpemVzLlxuXG4vLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZSBEZXByZWNhdGVkIGAkc2NyZWVuLXhzYCBhcyBvZiB2My4wLjFcbi8vICRzY3JlZW4teHM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA0ODBweDtcbi8vIERlcHJlY2F0ZWQgYCRzY3JlZW4teHMtbWluYCBhcyBvZiB2My4yLjBcbi8vICRzY3JlZW4teHMtbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLXhzO1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXG4vLyAkc2NyZWVuLXBob25lOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHNjcmVlbi14cy1taW47XG5cbi8vIFNtYWxsIHNjcmVlbiAvIHRhYmxldCBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tc206ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA3NjhweDtcbiRzY3JlZW4tc20tbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLXNtO1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi10YWJsZXRgIGFzIG9mIHYzLjAuMVxuLy8gJHNjcmVlbi10YWJsZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tc20tbWluO1xuXG4vLyBNZWRpdW0gc2NyZWVuIC8gZGVza3RvcCBEZXByZWNhdGVkIGAkc2NyZWVuLW1kYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tbWQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICA5OTJweDtcbiRzY3JlZW4tbWQtbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLW1kO1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbi8vICRzY3JlZW4tZGVza3RvcDogICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLW1kLW1pbjtcblxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEyMDBweDtcbiRzY3JlZW4tbGctbWluOiAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLWxnO1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcbi8vICRzY3JlZW4tbGctZGVza3RvcDogICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLWxnLW1pbjtcblxuLy8gU28gbWVkaWEgcXVlcmllcyBkb24ndCBvdmVybGFwIHdoZW4gcmVxdWlyZWQsIHByb3ZpZGUgYSBtYXhpbXVtXG4vLyAkc2NyZWVuLXhzLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tc20tbWluIC0gMSk7XG4vLyAkc2NyZWVuLXNtLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tbWQtbWluIC0gMSk7XG4vLyAkc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tbGctbWluIC0gMSk7XG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW0gKHVzZWQgZm9yIG1heC13aWR0aClcbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJHNjcmVlbi1zbSAtIDEpICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1tYXg6ICAgICAgICAgICAgICAgICAgICAgICAgICgkc2NyZWVuLW1kIC0gMSkgIWRlZmF1bHQ7XG4kc2NyZWVuLW1kLW1heDogICAgICAgICAgICAgICAgICAgICAgICAgKCRzY3JlZW4tbGcgLSAxKSAhZGVmYXVsdDtcbiIsIi8vPT0gTWVuZGl4IFVJIEZyYW1ld29yayAtIFdlbGNvbWUgdG8gdmFyaWFibGVzIGZpbGVcbi8vIyMgVGhlIEJhc2ljIHN0ZXAgaW5jbHVkZXMgdGhlIGN1c3RvbWl6YXRpb24gdGhhdCBpcyBhbHNvIGF2YWlsYWJsZSBpbiB0aGUgTWVuZGl4IFRoZW1lIENyZWF0b3IgKGh0dHBzOi8vdXgubWVuZGl4LmNvbSlcblxuLy9cbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyDilojilojilojilojilojilojilZdcbi8vIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVkeKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVnVxuLy8g4paI4paI4paI4paI4paI4paI4pWU4pWd4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4pWR4paI4paI4pWRICAgICBcbi8vIOKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKWiOKWiOKVkeKVmuKVkOKVkOKVkOKVkOKWiOKWiOKVkeKWiOKWiOKVkeKWiOKWiOKVkSAgICAgXG4vLyDilojilojilojilojilojilojilZTilZ3ilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVkeKVmuKWiOKWiOKWiOKWiOKWiOKWiOKVl1xuLy8g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWdIOKVmuKVkOKVnSAg4pWa4pWQ4pWd4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdIOKVmuKVkOKVkOKVkOKVkOKVkOKVnVxuLy9cblxuXG4vLz09IFN0ZXAgMTogQnJhbmQgQ29sb3JzXG4kYnJhbmQtZGVmYXVsdDogICAgICAgICAgICAgICAgICAgICAgICAgI0RERERERCAhZGVmYXVsdDsgICAgXG4kYnJhbmQtcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgIzU5QzJFNiAhZGVmYXVsdDsgICAgXG4kYnJhbmQtaW52ZXJzZTogICAgICAgICAgICAgICAgICAgICAgICAgIzNEM0Y0MSAhZGVmYXVsdDsgXG4kYnJhbmQtaW5mbzogICAgICAgICAgICAgICAgICAgICAgICAgICAgIzhBRDRFRCAhZGVmYXVsdDtcbiRicmFuZC1zdWNjZXNzOiAgICAgICAgICAgICAgICAgICAgICAgICAjOENDMTUyICFkZWZhdWx0O1xuJGJyYW5kLXdhcm5pbmc6ICAgICAgICAgICAgICAgICAgICAgICAgICNGNkJCNDIgIWRlZmF1bHQ7XG4kYnJhbmQtZGFuZ2VyOiAgICAgICAgICAgICAgICAgICAgICAgICAgI0Q5NTM0RiAhZGVmYXVsdDtcblxuJGJyYW5kLWxvZ286XHRcdFx0XHRcdFx0XHRmYWxzZSAhZGVmYXVsdDtcbiRicmFuZC1sb2dvLWhlaWdodDpcdFx0XHRcdFx0XHQ0MHB4ICFkZWZhdWx0O1xuJGJyYW5kLWxvZ28td2lkdGg6XHRcdFx0XHRcdFx0NDBweCAhZGVmYXVsdDsgLy8gT25seSB1c2VkIGZvciBDU1MgYnJhbmQgbG9nb1xuXG5cbi8vPT0gU3RlcCAyOiBVSSBDdXN0b21pemF0aW9uXG5cbi8vIFRvcGJhciBcbiR0b3BiYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJHRvcGJhci1taW5pbWFsaGVpZ2h0OiAgICAgICAgICAgICAgICAgIDgwcHggIWRlZmF1bHQ7XG5cbi8vIFNpZGViYXIgXG4kc2lkZWJhci1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWludmVyc2UgIWRlZmF1bHQ7XG5cbi8vIE5hdmJhciBCcmFuZCBOYW1lIC8gRm9yIHlvdXIgY29tcGFueSwgcHJvZHVjdCwgb3IgcHJvamVjdCBuYW1lICh1c2VkIGluIGxheW91dHMvYmFzZS8pXG4kbmF2YmFyLWJyYW5kLW5hbWU6ICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBDb2xvcnNcbiRiZy1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuLy8gQmFja2dyb3VuZCBjb2xvciB0aGF0IGlzIHVzZWQgZm9yIHNwZWNpZmljIHBhZ2UgdGVtcGxhdGVzIGJhY2tncm91bmQgXG4kYmctY29sb3Itc2Vjb25kYXJ5OiAgICAgICAgICAgICAgICAgICAgI0VGRjRGNyAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBGb250IFNpemUgJiBDb2xvclxuJGZvbnQtYmFzZS1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgIDE0cHggIWRlZmF1bHQ7XG4kZm9udC1iYXNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcblxuLy8gRGVmYXVsdCBMaW5rIENvbG9yXG4kbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbGluay1ob3Zlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xuXG5cblxuXG4vL1xuLy8gIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilZcg4paI4paI4pWXICAg4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilZcgICDilojilojilZcg4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4pWXIFxuLy8g4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4pWU4pWQ4pWQ4paI4paI4pWX4paI4paI4paI4paI4pWXICDilojilojilZHilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilZDilZDilZ3ilojilojilZTilZDilZDilojilojilZdcbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVkeKWiOKWiOKVkSAg4paI4paI4pWR4paI4paI4pWRICAg4paI4paI4pWR4paI4paI4paI4paI4paI4paI4paI4pWR4paI4paI4pWU4paI4paI4pWXIOKWiOKWiOKVkeKWiOKWiOKVkSAgICAg4paI4paI4paI4paI4paI4pWXICDilojilojilZEgIOKWiOKWiOKVkVxuLy8g4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWRICDilojilojilZHilZrilojilojilZcg4paI4paI4pWU4pWd4paI4paI4pWU4pWQ4pWQ4paI4paI4pWR4paI4paI4pWR4pWa4paI4paI4pWX4paI4paI4pWR4paI4paI4pWRICAgICDilojilojilZTilZDilZDilZ0gIOKWiOKWiOKVkSAg4paI4paI4pWRXG4vLyDilojilojilZEgIOKWiOKWiOKVkeKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVnSDilZrilojilojilojilojilZTilZ0g4paI4paI4pWRICDilojilojilZHilojilojilZEg4pWa4paI4paI4paI4paI4pWR4pWa4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4paI4pWX4paI4paI4paI4paI4paI4paI4pWU4pWdXG4vLyDilZrilZDilZ0gIOKVmuKVkOKVneKVmuKVkOKVkOKVkOKVkOKVkOKVnSAgIOKVmuKVkOKVkOKVkOKVnSAg4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZ0gIOKVmuKVkOKVkOKVkOKVnSDilZrilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZDilZ3ilZrilZDilZDilZDilZDilZDilZ0gXG4vL1xuXG5cbi8vPT0gVHlwb2dyYXBoeVxuLy8jIyBDaGFuZ2UgeW91ciBmb250IGZhbWlseSwgd2VpZ2h0LCBsaW5lLWhlaWdodCwgaGVhZGluZ3MgYW5kIG1vcmUgKHVzZWQgaW4gY29tcG9uZW50cy90eXBvZ3JhcGh5KVxuXG4vLyBGb250IEZhbWlseSBJbXBvcnQgXG4vLyRmb250LWZhbWlseS1pbXBvcnQ6ICAgICAgICAgICAgICAgICAgICBmYWxzZSAhZGVmYXVsdDtcbi8vQGltcG9ydCB1cmwoJGZvbnQtZmFtaWx5LWltcG9ydCk7XG5cbi8vIEZvbnQgRmFtaWx5IC8gRmFsc2UgPSBmYWxsYmFjayBmcm9tIEJvb3RzdHJhcCAoSGVsdmV0aWNhIE5ldWUpXG4kZm9udC1mYW1pbHktYmFzZTogICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7Ly9cIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7Ly9cIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktc2VtaWJvbGQ6ICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7Ly9cIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktYm9sZDogICAgICAgICAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7Ly9cIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIEZvbnQgU2l6ZVxuJGZvbnQtc2l6ZS1sYXJnZTogICAgICAgICAgICAgICAgICAgICAgIGNlaWwoJGZvbnQtYmFzZS1zaXplICogMS4yNSkgIWRlZmF1bHQ7IC8vIH4xOHB4XG4kZm9udC1zaXplLXNtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgY2VpbCgkZm9udC1iYXNlLXNpemUgKiAwLjg1KSAhZGVmYXVsdDsgLy8gfjEycHhcblxuLy8gRm9udCBXZWlnaHRzXG4kZm9udC13ZWlnaHQtbGlnaHQ6ICAgICAgICAgICAgICAgICAgICAgMTAwICFkZWZhdWx0O1xuJGZvbnQtd2VpZ2h0LW5vcm1hbDogICAgICAgICAgICAgICAgICAgIG5vcm1hbCAhZGVmYXVsdDsgICAgICAgICBcbiRmb250LXdlaWdodC1zZW1pYm9sZDogICAgICAgICAgICAgICAgICA1MDAgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogICAgICAgICAgICAgICAgICAgICAgYm9sZCAhZGVmYXVsdDsgXG5cbiRmb250LXdlaWdodC1oZWFkZXJzOiAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBGb250IEhlYWRlciBTaXplXG4kZm9udC1zaXplLWgxOiAgICAgICAgICAgICAgICAgICAgICAgICAgMzFweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDI6ICAgICAgICAgICAgICAgICAgICAgICAgICAyNnB4ICFkZWZhdWx0O1xuJGZvbnQtc2l6ZS1oMzogICAgICAgICAgICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg0OiAgICAgICAgICAgICAgICAgICAgICAgICAgMTZweCAhZGVmYXVsdDtcbiRmb250LXNpemUtaDU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLXNpemUgIWRlZmF1bHQ7XG4kZm9udC1zaXplLWg2OiAgICAgICAgICAgICAgICAgICAgICAgICAgMTFweCAhZGVmYXVsdDtcblxuLy8gRm9udCBIZWFkZXIgQ29sb3JcbiRmb250LWNvbG9yLWhlYWRlcnM6XHRcdFx0XHRcdCRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIExpbmUgSGVpZ2h0XG4kbGluZS1oZWlnaHQtYmFzZTogICAgICAgICAgICAgICAgICAgICAgMS40Mjg1NzE0MjkgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gR3JheSBTaGFkZXNcbi8vIyMgRGlmZmVyZW50IGdyYXkgc2hhZGVzIHRvIGJlIHVzZWQgZm9yIG91ciB2YXJpYWJsZXMgYW5kIGNvbXBvbmVudHNcbiRncmF5LWRhcmtlcjogICAgICAgICAgICAgICAgICAgICAgICAgICAjMjIyICFkZWZhdWx0O1xuJGdyYXktZGFyazogICAgICAgICAgICAgICAgICAgICAgICAgICAgICMzMzMgIWRlZmF1bHQ7XG4kZ3JheTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzU1NSAhZGVmYXVsdDtcbiRncmF5LWxpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOTk5ICFkZWZhdWx0O1xuJGdyYXktcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICNEREQgIWRlZmF1bHQ7XG4kZ3JheS1saWdodGVyOiAgICAgICAgICAgICAgICAgICAgICAgICAgI2VlZSAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBHbG9iYWwgQm9yZGVyIENvbG9yXG4vLyBUaGUgZGVmYXVsdCBib3JkZXIgY29sb3IgdXNlZCBieSBEYXRhZ3JpZCwgTGlzdHZpZXcsIFRhYmxlcywgRGF0YXZpZXcsIE1vZGFscyBhbmQgbW9yZVxuJGRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICRncmF5LXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTmF2aWdhdGlvblxuLy8jIyBVc2VkIGluIGNvbXBvbmVudHMvbmF2aWdhdGlvblxuXG4vLyBOYXZpZ2F0aW9uIFNpZGViYXJcbiRuYXZzaWRlYmFyLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLXNpemUgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1zdWItZm9udC1zaXplOiAgICAgICAgICAgICAgJGZvbnQtc2l6ZS1zbWFsbCAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLWdseXBoLXNpemU6ICAgICAgICAgICAgICAgICAxLjJlbSAhZGVmYXVsdDsgLy8gRm9yIGdseXBoaWNvbnMgdGhhdCB5b3UgY2FuIHNlbGVjdCBpbiB0aGUgTWVuZGl4IE1vZGVsZXJcblxuJG5hdnNpZGViYXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICRzaWRlYmFyLWJnICFkZWZhdWx0O1xuJG5hdnNpZGViYXItYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJG5hdnNpZGViYXItYmcsIDQpICFkZWZhdWx0O1xuJG5hdnNpZGViYXItYmctYWN0aXZlOiAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJG5hdnNpZGViYXItYmcsIDgpICFkZWZhdWx0O1xuJG5hdnNpZGViYXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1jb2xvci1ob3ZlcjogICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRuYXZzaWRlYmFyLXN1Yi1iZzogICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdnNpZGViYXItYmcsIDQpICFkZWZhdWx0O1xuJG5hdnNpZGViYXItc3ViLWJnLWhvdmVyOiAgICAgICAgICAgICAgICRuYXZzaWRlYmFyLXN1Yi1iZyAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLXN1Yi1iZy1hY3RpdmU6ICAgICAgICAgICAgICAkbmF2c2lkZWJhci1zdWItYmcgIWRlZmF1bHQ7XG4kbmF2c2lkZWJhci1zdWItY29sb3I6ICAgICAgICAgICAgICAgICAgI0FBQSAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLXN1Yi1jb2xvci1ob3ZlcjogICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRuYXZzaWRlYmFyLXN1Yi1jb2xvci1hY3RpdmU6ICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcblxuJG5hdnNpZGViYXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRuYXZzaWRlYmFyLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyBOYXZpZ2F0aW9uIHRvcGJhclxuJG5hdnRvcGJhci1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICRmb250LWJhc2Utc2l6ZSAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItc3ViLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAkZm9udC1zaXplLXNtYWxsICFkZWZhdWx0O1xuJG5hdnRvcGJhci1nbHlwaC1zaXplOiAgICAgICAgICAgICAgICAgIDEuMmVtICFkZWZhdWx0OyAvLyBGb3IgZ2x5cGhpY29ucyB0aGF0IHlvdSBjYW4gc2VsZWN0IGluIHRoZSBNZW5kaXggTW9kZWxlclxuXG4kbmF2dG9wYmFyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgJHRvcGJhci1iZyAhZGVmYXVsdDtcbiRuYXZ0b3BiYXItYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICBkYXJrZW4oJG5hdnRvcGJhci1iZywgNCkgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLWJnLWFjdGl2ZTogICAgICAgICAgICAgICAgICAgZGFya2VuKCRuYXZ0b3BiYXItYmcsIDgpICFkZWZhdWx0O1xuJG5hdnRvcGJhci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICNBQUEgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbiRuYXZ0b3BiYXItc3ViLWJnOiAgICAgICAgICAgICAgICAgICAgICBsaWdodGVuKCRuYXZ0b3BiYXItYmcsIDQpICFkZWZhdWx0O1xuJG5hdnRvcGJhci1zdWItYmctaG92ZXI6ICAgICAgICAgICAgICAgICRuYXZ0b3BiYXItc3ViLWJnICFkZWZhdWx0O1xuJG5hdnRvcGJhci1zdWItYmctYWN0aXZlOiAgICAgICAgICAgICAgICRuYXZ0b3BiYXItc3ViLWJnICFkZWZhdWx0O1xuJG5hdnRvcGJhci1zdWItY29sb3I6ICAgICAgICAgICAgICAgICAgICNBQUEgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLXN1Yi1jb2xvci1ob3ZlcjogICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbmF2dG9wYmFyLXN1Yi1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIyMgVXNlZCBpbiBsYXlvdXRzL2Jhc2VcbiRuYXZ0b3BiYXItYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAkZGVmYXVsdC1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gRm9ybVxuLy8jIyBVc2VkIGluIGNvbXBvbmVudHMvaW5wdXRzXG5cbi8vIEZvcm0gTGFiZWwgIFxuJGZvcm0tbGFiZWwtY29sb3I6ICAgICAgICAgICAgICAgICAgICAgICM2NjYgIWRlZmF1bHQ7ICAgICAgICBcbiRmb3JtLWxhYmVsLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLXNpemUgIWRlZmF1bHQ7ICAgICAgICBcbiRmb3JtLWxhYmVsLXdlaWdodDogICAgICAgICAgICAgICAgICAgICAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0OyAgICAgICAgICAgICBcblxuLy8gRm9ybSBJbnB1dCBkaW1lbnNpb25zXG4kZm9ybS1pbnB1dC1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgYXV0byAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LXBhZGRpbmcteTogICAgICAgICAgICAgICAgICA2cHggIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1wYWRkaW5nLXg6ICAgICAgICAgICAgICAgICAgOHB4ICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtZm9udC1zaXplOiAgICAgICAgICAgICAgICAgICRmb3JtLWxhYmVsLXNpemUgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgJGxpbmUtaGVpZ2h0LWJhc2UgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1ib3JkZXItcmFkaXVzOiAgICAgICAgICAgICAgNHB4ICFkZWZhdWx0O1xuXG4vLyBGb3JtIElucHV0IHN0eWxpbmdcbiRmb3JtLWlucHV0LWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtYmctZm9jdXM6ICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kZm9ybS1pbnB1dC1iZy1kaXNhYmxlZDogICAgICAgICAgICAgICAgJGdyYXktbGlnaHRlciAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtZm9jdXMtY29sb3I6ICAgICAgICAgICAgICAgICRmb3JtLWlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtZGlzYWJsZWQtY29sb3I6ICAgICAgICAgICAgICRmb3JtLWlucHV0LWNvbG9yICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICAgICAgICAgICRncmF5LWxpZ2h0ICFkZWZhdWx0O1xuJGZvcm0taW5wdXQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvciAhZGVmYXVsdDtcbiRmb3JtLWlucHV0LWJvcmRlci1mb2N1cy1jb2xvcjogICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDsgICAgXG5cbi8vIEZvcm0gR3JvdXBcbiRmb3JtLWdyb3VwLW1hcmdpbi1ib3R0b206ICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJGZvcm0tZ3JvdXAtZ3V0dGVyOiAgICAgICAgICAgICAgICAgICAgIDE1cHggIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gQnV0dG9uc1xuLy8jIyBEZWZpbmUgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yIGFuZCB0ZXh0LiBVc2VkIGluIGNvbXBvbmVudHMvYnV0dG9uc1xuXG4vLyBCdXR0b24gVGV4dCBTaXplXG4kYnRuLWZvbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgMTJweCAhZGVmYXVsdDtcblxuLy8gQnV0dG9uIEJhY2tncm91bmQgQ29sb3JcbiRidG4tZGVmYXVsdC1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGVmYXVsdCAhZGVmYXVsdDtcbiRidG4taW52ZXJzZS1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW52ZXJzZSAhZGVmYXVsdDtcbiRidG4tcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDtcbiRidG4taW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRidG4tc3VjY2Vzcy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRidG4td2FybmluZy1iZzogICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyBCdXR0b24gQm9yZGVyIENvbG9yXG4kYnRuLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLWRlZmF1bHQgIWRlZmF1bHQ7XG4kYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLWludmVyc2UgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kYnRuLWluZm8tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7XG4kYnRuLXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLXN1Y2Nlc3MgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgJGJyYW5kLXdhcm5pbmcgIWRlZmF1bHQ7XG4kYnRuLWRhbmdlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGJyYW5kLWRhbmdlciAhZGVmYXVsdDtcblxuLy8gQnV0dG9uIFRleHQgQ29sb3JcbiRidG4tZGVmYXVsdC1jb2xvcjogICAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuJGJ0bi1pbnZlcnNlLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kYnRuLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRidG4taW5mby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGJ0bi1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kYnRuLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRidG4tZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuXG5cblxuLy9cbi8vIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKVlyAg4paI4paI4pWX4paI4paI4paI4paI4paI4paI4pWXIOKWiOKWiOKWiOKWiOKWiOKWiOKWiOKVl+KWiOKWiOKWiOKWiOKWiOKWiOKVlyDilojilojilojilojilojilojilojilojilZdcbi8vIOKWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKVmuKWiOKWiOKVl+KWiOKWiOKVlOKVneKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KWiOKWiOKVlOKVkOKVkOKVkOKVkOKVneKWiOKWiOKVlOKVkOKVkOKWiOKWiOKVl+KVmuKVkOKVkOKWiOKWiOKVlOKVkOKVkOKVnVxuLy8g4paI4paI4paI4paI4paI4pWXICAg4pWa4paI4paI4paI4pWU4pWdIOKWiOKWiOKWiOKWiOKWiOKWiOKVlOKVneKWiOKWiOKWiOKWiOKWiOKVlyAg4paI4paI4paI4paI4paI4paI4pWU4pWdICAg4paI4paI4pWRICAgXG4vLyDilojilojilZTilZDilZDilZ0gICDilojilojilZTilojilojilZcg4paI4paI4pWU4pWQ4pWQ4pWQ4pWdIOKWiOKWiOKVlOKVkOKVkOKVnSAg4paI4paI4pWU4pWQ4pWQ4paI4paI4pWXICAg4paI4paI4pWRICAgXG4vLyDilojilojilojilojilojilojilojilZfilojilojilZTilZ0g4paI4paI4pWX4paI4paI4pWRICAgICDilojilojilojilojilojilojilojilZfilojilojilZEgIOKWiOKWiOKVkSAgIOKWiOKWiOKVkSAgIFxuLy8g4pWa4pWQ4pWQ4pWQ4pWQ4pWQ4pWQ4pWd4pWa4pWQ4pWdICDilZrilZDilZ3ilZrilZDilZ0gICAgIOKVmuKVkOKVkOKVkOKVkOKVkOKVkOKVneKVmuKVkOKVnSAg4pWa4pWQ4pWdICAg4pWa4pWQ4pWdICAgXG4vL1xuXG4vLz09IENvbG9yIHZhcmlhdGlvbnNcbi8vIyMgVGhlc2UgdmFyaWF0aW9ucyBhcmUgdXNlZCB0byBzdXBwb3J0IHNldmVyYWwgb3RoZXIgdmFyaWFibGVzIGFuZCBjb21wb25lbnRzXG5cbi8vIEJhc2ljIFRleHQgY29sb3JzXG4kY29sb3ItdGV4dC1ibGFjazogICAgICAgICAgICAgICAgICAgICAgIzAwMCAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LXdoaXRlOiAgICAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5OiAgICAgICAgICAgIGxpZ2h0ZW4oJGNvbG9yLXRleHQtYmxhY2ssIDQwJSkgIWRlZmF1bHQ7XG4kY29sb3ItdGV4dC1ibGFjay1kaXNhYmxlZDogICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC1ibGFjaywgLjI2KSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LWJsYWNrLWhpbnQ6ICAgICAgICAgICAgICAgICByZ2JhKCRjb2xvci10ZXh0LWJsYWNrLCAuMjYpICFkZWZhdWx0O1xuXG4kY29sb3ItdGV4dC13aGl0ZS1zZWNvbmRhcnk6ICAgICAgICAgICAgcmdiYSgkY29sb3ItdGV4dC13aGl0ZSwgLjcpICFkZWZhdWx0O1xuJGNvbG9yLXRleHQtd2hpdGUtZGlzYWJsZWQ6ICAgICAgICAgICAgIHJnYmEoJGNvbG9yLXRleHQtd2hpdGUsIC4zKSAhZGVmYXVsdDtcbiRjb2xvci10ZXh0LXdoaXRlLWhpbnQ6ICAgICAgICAgICAgICAgICByZ2JhKCRjb2xvci10ZXh0LXdoaXRlLCAuMykgIWRlZmF1bHQ7XG5cbi8vIENvbG9yIHZhcmlhdGlvbnNcbiRjb2xvci1kZWZhdWx0LWRhcmtlcjogICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtZGVmYXVsdCw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWRlZmF1bHQtZGFyazogICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1kZWZhdWx0LDI2KSAhZGVmYXVsdDsgICAgXG4kY29sb3ItZGVmYXVsdC1saWdodDogICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtZGVmYXVsdCw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWRlZmF1bHQtbGlnaHRlcjogICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWRlZmF1bHQsODApICFkZWZhdWx0OyAgICBcblxuJGNvbG9yLWludmVyc2UtZGFya2VyOiAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbnZlcnNlLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItaW52ZXJzZS1kYXJrOiAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWludmVyc2UsMjYpICFkZWZhdWx0OyAgICBcbiRjb2xvci1pbnZlcnNlLWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1pbnZlcnNlLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItaW52ZXJzZS1saWdodGVyOiAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtaW52ZXJzZSw4MCkgIWRlZmF1bHQ7ICAgIFxuXG4kY29sb3ItcHJpbWFyeS1kYXJrZXI6ICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXByaW1hcnksNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1wcmltYXJ5LWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtcHJpbWFyeSwyNikgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXByaW1hcnktbGlnaHQ6ICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXByaW1hcnksNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci1wcmltYXJ5LWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1wcmltYXJ5LDgwKSAhZGVmYXVsdDsgICAgXG5cbiRjb2xvci1pbmZvLWRhcmtlcjogICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtaW5mbyw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWluZm8tZGFyazogICAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1pbmZvLDI2KSAhZGVmYXVsdDsgICAgXG4kY29sb3ItaW5mby1saWdodDogICAgICAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtaW5mbyw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWluZm8tbGlnaHRlcjogICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWluZm8sODApICFkZWZhdWx0OyAgICBcblxuJGNvbG9yLXN1Y2Nlc3MtZGFya2VyOiAgICAgICAgICAgICAgICAgIHNoYWRlKCRicmFuZC1zdWNjZXNzLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3Itc3VjY2Vzcy1kYXJrOiAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXN1Y2Nlc3MsMjYpICFkZWZhdWx0OyAgICBcbiRjb2xvci1zdWNjZXNzLWxpZ2h0OiAgICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC1zdWNjZXNzLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3Itc3VjY2Vzcy1saWdodGVyOiAgICAgICAgICAgICAgICAgdGludCgkYnJhbmQtc3VjY2Vzcyw4MCkgIWRlZmF1bHQ7ICAgIFxuXG4kY29sb3Itd2FybmluZy1kYXJrZXI6ICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLXdhcm5pbmcsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci13YXJuaW5nLWRhcms6ICAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtd2FybmluZywyNikgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLXdhcm5pbmctbGlnaHQ6ICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLXdhcm5pbmcsNDApICFkZWZhdWx0OyAgICBcbiRjb2xvci13YXJuaW5nLWxpZ2h0ZXI6ICAgICAgICAgICAgICAgICB0aW50KCRicmFuZC13YXJuaW5nLDgwKSAhZGVmYXVsdDsgICAgXG5cbiRjb2xvci1kYW5nZXItZGFya2VyOiAgICAgICAgICAgICAgICAgICBzaGFkZSgkYnJhbmQtZGFuZ2VyLDQwKSAhZGVmYXVsdDsgICAgXG4kY29sb3ItZGFuZ2VyLWRhcms6ICAgICAgICAgICAgICAgICAgICAgc2hhZGUoJGJyYW5kLWRhbmdlciwyNikgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWRhbmdlci1saWdodDogICAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWRhbmdlciw0MCkgIWRlZmF1bHQ7ICAgIFxuJGNvbG9yLWRhbmdlci1saWdodGVyOiAgICAgICAgICAgICAgICAgIHRpbnQoJGJyYW5kLWRhbmdlciw4MCkgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gR3JpZHNcbi8vIyMgVXNlZCBmb3IgRGF0YWdyaWQsIFRlbXBsYXRlZ3JpZCwgTGlzdHZpZXcgJiBUYWJsZXMgKHNlZSBjb21wb25lbnRzIGZvbGRlcilcblxuLy8gRGVmYXVsdCBCb3JkZXIgQ29sb3JzXG4kZ3JpZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGRlZmF1bHQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIENvbG9yc1xuJGdyaWQtYmc6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kZ3JpZC1iZy1oZWFkZXI6ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7IC8vIEdyaWQgSGVhZGVyc1xuJGdyaWQtYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgICAgICAgIHNoYWRlKCRjb2xvci1wcmltYXJ5LWxpZ2h0ZXIsMykgIWRlZmF1bHQ7XG4kZ3JpZC1iZy1zZWxlY3RlZDogICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7ICAgIFxuJGdyaWQtYmctc2VsZWN0ZWQtaG92ZXI6ICAgICAgICAgICAgICAgIHNoYWRlKCRjb2xvci1wcmltYXJ5LWxpZ2h0ZXIsMykgIWRlZmF1bHQ7XG5cbi8vIFN0cmlwZWQgQmFja2dyb3VuZCBDb2xvclxuJGdyaWQtYmctc3RyaXBlZDogICAgICAgICAgICAgICAgICAgICAgIGxpZ2h0ZW4oJGdyaWQtYm9yZGVyLWNvbG9yLDUpICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIEZvb3RlciBDb2xvclxuJGdyaWQtZm9vdGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICRncmF5LXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIFRleHQgQ29sb3JcbiRncmlkLXNlbGVjdGVkLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBQYWdpbmcgQ29sb3JzXG4kZ3JpZC1wYWdpbmctYmc6ICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZ3JpZC1wYWdpbmctYmctaG92ZXI6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZ3JpZC1wYWdpbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZ3JpZC1wYWdpbmctYm9yZGVyLWNvbG9yLWhvdmVyOiAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZ3JpZC1wYWdpbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICAgJGdyYXktbGlnaHQgIWRlZmF1bHQ7XG4kZ3JpZC1wYWdpbmctY29sb3ItaG92ZXI6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gVGFic1xuLy8jIyBEZWZhdWx0IHZhcmlhYmxlcyBmb3IgVGFiIENvbnRhaW5lciBXaWRnZXQgKHVzZWQgaW4gY29tcG9uZW50cy90YWJjb250YWluZXIpXG5cbi8vIFRleHQgQ29sb3JcbiR0YWJzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnkgIWRlZmF1bHQ7XG4kdGFicy1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXRleHQtYmxhY2sgIWRlZmF1bHQ7XG4kdGFicy1saW5lZC1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciBDb2xvclxuJHRhYnMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LWJvcmRlci1jb2xvciAhZGVmYXVsdDsgICAgXG4kdGFicy1saW5lZC1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7ICAgIFxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kdGFicy1iZy1ob3ZlcjogICAgICAgICAgICAgICAgICAgICAgICAgbGlnaHRlbigkdGFicy1ib3JkZXItY29sb3IsNSkgIWRlZmF1bHQ7XG4kdGFicy1iZy1hY3RpdmU6ICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTW9kYWxzXG4vLyMjIERlZmF1bHQgTWVuZGl4IE1vZGFsLCBCbG9ja2luZyBNb2RhbCBhbmQgTG9naW4gTW9kYWwgKHVzZWQgaW4gY29tcG9uZW50cy9tb2RhbHMpXG5cbi8vIEJhY2tncm91bmQgQ29sb3JcbiRtb2RhbC1oZWFkZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIENvbG9yXG4kbW9kYWwtaGVhZGVyLWJvcmRlci1jb2xvcjogICAgICAgICAgICAgJGRlZmF1bHQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBUZXh0IENvbG9yXG4kbW9kYWwtaGVhZGVyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGZvbnQtYmFzZS1jb2xvciAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBEYXRhdmlld1xuLy8jIyBEZWZhdWx0IHZhcmlhYmxlcyBmb3IgRGF0YXZpZXcgV2lkZ2V0ICh1c2VkIGluIGNvbXBvbmVudHMvZGF0YXZpZXcpXG5cbi8vIENvbnRyb2xzXG4kZGF0YXZpZXctY29udHJvbHMtYmc6ICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG4kZGF0YXZpZXctY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgJGRlZmF1bHQtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBFbXB0eSBNZXNzYWdlXG4kZGF0YXZpZXctZW1wdHltZXNzYWdlLWJnOiAgICAgICAgICAgICAgJGJnLWNvbG9yICFkZWZhdWx0O1xuJGRhdGF2aWV3LWVtcHR5bWVzc2FnZS1jb2xvcjogICAgICAgICAgICRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gQWxlcnRzXG4vLyMjIERlZmF1bHQgQm9vdHN0cmFwIGFsZXJ0cywgbm90IGEgd2lkZ2V0IGluIHRoZSBNb2RlbGVyICh1c2VkIGluIGNvbXBvbmVudHMvYWxlcnRzKVxuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kYWxlcnQtaW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWluZm8tbGlnaHRlciAhZGVmYXVsdDtcbiRhbGVydC1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgICAkY29sb3Itc3VjY2Vzcy1saWdodGVyICFkZWZhdWx0O1xuJGFsZXJ0LXdhcm5pbmctYmc6ICAgICAgICAgICAgICAgICAgICAgICRjb2xvci13YXJuaW5nLWxpZ2h0ZXIgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWRhbmdlci1saWdodGVyICFkZWZhdWx0O1xuXG4vLyBUZXh0IENvbG9yXG4kYWxlcnQtaW5mby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWluZm8tZGFya2VyICFkZWZhdWx0O1xuJGFsZXJ0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci1zdWNjZXNzLWRhcmtlciAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWNvbG9yOiAgICAgICAgICAgICAgICAgICAkY29sb3Itd2FybmluZy1kYXJrZXIgIWRlZmF1bHQ7XG4kYWxlcnQtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWRhbmdlci1kYXJrZXIgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciBDb2xvclxuJGFsZXJ0LWluZm8tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRjb2xvci1pbmZvLWRhcmsgIWRlZmF1bHQ7XG4kYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgJGNvbG9yLXN1Y2Nlc3MtZGFyayAhZGVmYXVsdDtcbiRhbGVydC13YXJuaW5nLWJvcmRlci1jb2xvcjogICAgICAgICAgICAkY29sb3Itd2FybmluZy1kYXJrICFkZWZhdWx0O1xuJGFsZXJ0LWRhbmdlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRjb2xvci1kYW5nZXItZGFyayAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBMYWJlbHNcbi8vIyMgRGVmYXVsdCBCb290c3RyYXAgTGFiZWxzLCBub3QgYSB3aWRnZXQgaW4gdGhlIE1vZGVsZXIgKHVzZWQgaW4gY29tcG9uZW50cy9sYWJlbHMpXG5cbi8vIEJhY2tncm91bmQgQ29sb3JcbiRsYWJlbC1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGVmYXVsdCAhZGVmYXVsdDtcbiRsYWJlbC1wcmltYXJ5LWJnOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtcHJpbWFyeSAhZGVmYXVsdDsgXG4kbGFiZWwtaW5mby1iZzogICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLWluZm8gIWRlZmF1bHQ7IFxuJGxhYmVsLXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0OyBcbiRsYWJlbC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRsYWJlbC1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0OyAgICAgXG5cbi8vIEJvcmRlciBDb2xvclxuJGxhYmVsLWRlZmF1bHQtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1kZWZhdWx0ICFkZWZhdWx0O1xuJGxhYmVsLXByaW1hcnktYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xuJGxhYmVsLWluZm8tYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGxhYmVsLXN1Y2Nlc3MtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctYm9yZGVyLWNvbG9yOiAgICAgICAgICAgICRicmFuZC13YXJuaW5nICFkZWZhdWx0O1xuJGxhYmVsLWRhbmdlci1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICRicmFuZC1kYW5nZXIgIWRlZmF1bHQ7XG5cbi8vIFRleHQgQ29sb3JcbiRsYWJlbC1kZWZhdWx0LWNvbG9yOiAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuJGxhYmVsLXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kbGFiZWwtaW5mby1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRsYWJlbC1zdWNjZXNzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0O1xuJGxhYmVsLXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG4kbGFiZWwtZGFuZ2VyLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBHcm91cGJveFxuLy8jIyBEZWZhdWx0IHZhcmlhYmxlcyBmb3IgR3JvdXBib3ggV2lkZ2V0ICh1c2VkIGluIGNvbXBvbmVudHMvZ3JvdXBib3gpXG5cbi8vIEJhY2tncm91bmQgQ29sb3JcbiRncm91cGJveC1kZWZhdWx0LWJnOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGVmYXVsdCAhZGVmYXVsdDtcbiRncm91cGJveC1pbnZlcnNlLWJnOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW52ZXJzZSAhZGVmYXVsdDsgXG4kZ3JvdXBib3gtcHJpbWFyeS1iZzogICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7IFxuJGdyb3VwYm94LWluZm8tYmc6ICAgICAgICAgICAgICAgICAgICAgICRicmFuZC1pbmZvICFkZWZhdWx0O1xuJGdyb3VwYm94LXN1Y2Nlc3MtYmc6ICAgICAgICAgICAgICAgICAgICRicmFuZC1zdWNjZXNzICFkZWZhdWx0OyBcbiRncm91cGJveC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRncm91cGJveC1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0OyAgICAgXG4kZ3JvdXBib3gtd2hpdGUtYmc6ICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcblxuLy8gVGV4dCBDb2xvclxuJGdyb3VwYm94LWRlZmF1bHQtY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LWJsYWNrICFkZWZhdWx0O1xuJGdyb3VwYm94LWludmVyc2UtY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlICFkZWZhdWx0O1xuJGdyb3VwYm94LXByaW1hcnktY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlICFkZWZhdWx0O1xuJGdyb3VwYm94LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlICFkZWZhdWx0O1xuJGdyb3VwYm94LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlICFkZWZhdWx0O1xuJGdyb3VwYm94LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlICFkZWZhdWx0O1xuJGdyb3VwYm94LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICRjb2xvci10ZXh0LXdoaXRlICFkZWZhdWx0O1xuJGdyb3VwYm94LXdoaXRlLWNvbG9yOiAgICAgICAgICAgICAgICAgICRmb250LWJhc2UtY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gQ2FsbG91dCAoZ3JvdXBib3gpIENvbG9yc1xuLy8jIyBFeHRlbmRlZCB2YXJpYWJsZXMgZm9yIEdyb3VwYm94IFdpZGdldCAodXNlZCBpbiBjb21wb25lbnRzL2dyb3VwYm94KVxuXG4vLyBUZXh0IGFuZCBCb3JkZXIgQ29sb3JcbiRjYWxsb3V0LWluZm8tY29sb3I6ICAgICAgICAgICAgICAgICAgICAkYnJhbmQtaW5mbyAhZGVmYXVsdDtcbiRjYWxsb3V0LXN1Y2Nlc3MtY29sb3I6ICAgICAgICAgICAgICAgICAkYnJhbmQtc3VjY2VzcyAhZGVmYXVsdDtcbiRjYWxsb3V0LXdhcm5pbmctY29sb3I6ICAgICAgICAgICAgICAgICAkYnJhbmQtd2FybmluZyAhZGVmYXVsdDtcbiRjYWxsb3V0LWRhbmdlci1jb2xvcjogICAgICAgICAgICAgICAgICAkYnJhbmQtZGFuZ2VyICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kY2FsbG91dC1pbmZvLWJnOiAgICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWluZm8tbGlnaHRlciAhZGVmYXVsdDsgXG4kY2FsbG91dC1zdWNjZXNzLWJnOiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXN1Y2Nlc3MtbGlnaHRlciAhZGVmYXVsdDsgXG4kY2FsbG91dC13YXJuaW5nLWJnOiAgICAgICAgICAgICAgICAgICAgJGNvbG9yLXdhcm5pbmctbGlnaHRlciAhZGVmYXVsdDsgXG4kY2FsbG91dC1kYW5nZXItYmc6ICAgICAgICAgICAgICAgICAgICAgJGNvbG9yLWRhbmdlci1saWdodGVyICFkZWZhdWx0O1xuXG5cblxuXG4vLz09IE1vYmlsZVxuLy8jIyBcblxuLy89PSBNb2JpbGUgSGVhZGVyXG4vLyMjIFNwZWNpZmljIG1vYmlsZSB3aWRnZXRzIGFuZCBjb21wb25lbnRzICh1c2VkIGluIG1vYmlsZS9jb21wb25lbnRzL214LWhlYWRlcilcblxuLy8gSGVpZ2h0XG4kbS1oZWFkZXItaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgNDRweCAhZGVmYXVsdDtcblxuLy8gQmFja2dyb3VuZCBDb2xvclxuJG0taGVhZGVyLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICNGRkYgIWRlZmF1bHQ7XG5cbi8vIFRleHQgQ29sb3JcbiRtLWhlYWRlci1jb2xvcjogICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1iYXNlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBMaW5rIENvbG9yXG4kbS1oZWFkZXItbGluay1jb2xvcjogICAgICAgICAgICAgICAgICAgJGxpbmstY29sb3IgIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTW9iaWxlIFRhYnNcbi8vIyMgU3BlY2lmaWMgbW9iaWxlIHdpZGdldHMgYW5kIGNvbXBvbmVudHMgKHVzZWQgaW4gbW9iaWxlL2NvbXBvbmVudHMvdGFiY29udGFpbmVyKVxuXG4vLyBUZXh0IENvbG9yXG4kbS10YWJzLWNvbG9yOiAgICAgICAgICAgICAgICAgICAgICAgICAgI0ZGRiAhZGVmYXVsdDtcbiRtLXRhYnMtY29sb3ItYWN0aXZlOiAgICAgICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0O1xuXG4vLyBCYWNrZ3JvdW5kIENvbG9yXG4kbS10YWJzLWJnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJyYW5kLXByaW1hcnkgIWRlZmF1bHQ7XG4kbS10YWJzLWJnLWNvbG9yLWhvdmVyOiAgICAgICAgICAgICAgICAgbGlnaHRlbigkdGFicy1ib3JkZXItY29sb3IsNSkgIWRlZmF1bHQ7XG4kbS10YWJzLWJnLWNvbG9yLWFjdGl2ZTogICAgICAgICAgICAgICAgZGFya2VuKCRtLXRhYnMtYmcsIDE1KSAhZGVmYXVsdDsgICAgXG5cbi8vIEJvcmRlciBDb2xvclxuJG0tdGFicy1ib3JkZXItY29sb3I6ICAgICAgICAgICAgICAgICAgIGRhcmtlbigkbS10YWJzLWJnLCAxNSkgIWRlZmF1bHQ7XG4kbS10YWJzLWJvcmRlci1jb2xvci1hY3RpdmU6ICAgICAgICAgICAgZGFya2VuKCRtLXRhYnMtYmcsIDE1KSAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBMYXlvdXQgU3BhY2luZ1xuLy8jIyBBZHZhbmNlZCBsYXlvdXQgb3B0aW9ucyAodXNlZCBpbiBiYXNlL21peGlucy9kZWZhdWx0LXNwYWNpbmcpXG5cbiRkZWZhdWx0LXNwYWNpbmctdG9wOiAgICAgICAgICAgICAgICAgICAzNXB4ICFkZWZhdWx0O1xuJGRlZmF1bHQtc3BhY2luZy1yaWdodDogICAgICAgICAgICAgICAgIDQwcHggIWRlZmF1bHQ7XG4kZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTogICAgICAgICAgICAgICAgMzVweCAhZGVmYXVsdDtcbiRkZWZhdWx0LXNwYWNpbmctbGVmdDogICAgICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0O1xuXG4kbS1kZWZhdWx0LXNwYWNpbmctdG9wOiAgICAgICAgICAgICAgICAgMTBweCAhZGVmYXVsdDtcbiRtLWRlZmF1bHQtc3BhY2luZy1yaWdodDogICAgICAgICAgICAgICAxNXB4ICFkZWZhdWx0O1xuJG0tZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTogICAgICAgICAgICAgIDEwcHggIWRlZmF1bHQ7XG4kbS1kZWZhdWx0LXNwYWNpbmctbGVmdDogICAgICAgICAgICAgICAgMTVweCAhZGVmYXVsdDtcblxuJHQtZGVmYXVsdC1zcGFjaW5nLXRvcDogICAgICAgICAgICAgICAgIDIwcHggIWRlZmF1bHQ7XG4kdC1kZWZhdWx0LXNwYWNpbmctcmlnaHQ6ICAgICAgICAgICAgICAgMzBweCAhZGVmYXVsdDtcbiR0LWRlZmF1bHQtc3BhY2luZy1ib3R0b206ICAgICAgICAgICAgICAyMHB4ICFkZWZhdWx0O1xuJHQtZGVmYXVsdC1zcGFjaW5nLWxlZnQ6ICAgICAgICAgICAgICAgIDMwcHggIWRlZmF1bHQ7XG5cblxuXG5cbi8vPT0gTGF5b3V0c1xuLy8jI1xuXG4vLyBTY3JvbGwgY29udGFpbmVyIC8gbGF5b3V0IGNvbnRhaW5lciBkZWZhdWx0IHBhZGRpbmdcbiRwYWRkaW5nLWxheW91dGNvbnRhaW5lci1iYXNlOiAgICAgICAgICAwcHggIWRlZmF1bHQ7IFxuJG0tcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTogICAgICAgIDBweCAhZGVmYXVsdDtcbiR0LXBhZGRpbmctbGF5b3V0Y29udGFpbmVyLWJhc2U6ICAgICAgICAwcHggIWRlZmF1bHQ7IFxuXG4vLyBDb21iaW5lZCBzcGFjaW5nIFxuJGRlZmF1bHQtc3BhY2luZzogICAgICAgICAgICAgICAgICAgICAgICRkZWZhdWx0LXNwYWNpbmctdG9wICRkZWZhdWx0LXNwYWNpbmctcmlnaHQgJGRlZmF1bHQtc3BhY2luZy1ib3R0b20gJGRlZmF1bHQtc3BhY2luZy1sZWZ0ICFkZWZhdWx0O1xuJG0tZGVmYXVsdC1zcGFjaW5nOiAgICAgICAgICAgICAgICAgICAgICRtLWRlZmF1bHQtc3BhY2luZy10b3AgJG0tZGVmYXVsdC1zcGFjaW5nLXJpZ2h0ICRtLWRlZmF1bHQtc3BhY2luZy1ib3R0b20gJG0tZGVmYXVsdC1zcGFjaW5nLWxlZnQgIWRlZmF1bHQ7XG4kdC1kZWZhdWx0LXNwYWNpbmc6ICAgICAgICAgICAgICAgICAgICAgJHQtZGVmYXVsdC1zcGFjaW5nLXRvcCAkdC1kZWZhdWx0LXNwYWNpbmctcmlnaHQgJHQtZGVmYXVsdC1zcGFjaW5nLWJvdHRvbSAkdC1kZWZhdWx0LXNwYWNpbmctbGVmdCAhZGVmYXVsdDtcblxuXG5cbi8vPT0gVGFibGVzXG4vLyMjIFRhYmxlIHNwYWNpbmcgb3B0aW9ucyAodXNlZCBpbiBjb21wb25lbnRzL3RhYmxlcylcblxuJHBhZGRpbmctdGFibGUtY2VsbC10b3A6ICAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIFxuJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b206ICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIFxuJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0OiAgICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgIFxuJHBhZGRpbmctdGFibGUtY2VsbC1yaWdodDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDtcblxuXG5cblxuLy89PSBNZWRpYSBxdWVyaWVzIGJyZWFrcG9pbnRzXG4vLyMjIERlZmluZSB0aGUgYnJlYWtwb2ludHMgYXQgd2hpY2ggeW91ciBsYXlvdXQgd2lsbCBjaGFuZ2UsIGFkYXB0aW5nIHRvIGRpZmZlcmVudCBzY3JlZW4gc2l6ZXMuXG5cbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lIERlcHJlY2F0ZWQgYCRzY3JlZW4teHNgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi14czogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDQ4MHB4ICFkZWZhdWx0O1xuLy8gRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxuJHNjcmVlbi14cy1taW46ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7XG4vLyBEZXByZWNhdGVkIGAkc2NyZWVuLXBob25lYCBhcyBvZiB2My4wLjFcbiRzY3JlZW4tcGhvbmU6ICAgICAgICAgICAgICAgICAgICAgICAgICAkc2NyZWVuLXhzLW1pbiAhZGVmYXVsdDtcblxuLy8gU21hbGwgc2NyZWVuIC8gdGFibGV0IERlcHJlY2F0ZWQgYCRzY3JlZW4tc21gIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1zbTogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDc2OHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1zbS1taW46ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tc20gIWRlZmF1bHQ7XG4vLyBEZXByZWNhdGVkIGAkc2NyZWVuLXRhYmxldGAgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLXRhYmxldDogICAgICAgICAgICAgICAgICAgICAgICAgJHNjcmVlbi1zbS1taW4gIWRlZmF1bHQ7XG5cbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wIERlcHJlY2F0ZWQgYCRzY3JlZW4tbWRgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1tZDogICAgICAgICAgICAgICAgICAgICAgICAgICAgIDk5MnB4ICFkZWZhdWx0O1xuJHNjcmVlbi1tZC1taW46ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tbWQgIWRlZmF1bHQ7XG4vLyBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1kZXNrdG9wOiAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xuXG4vLyBMYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3AgRGVwcmVjYXRlZCBgJHNjcmVlbi1sZ2AgYXMgb2YgdjMuMC4xXG4kc2NyZWVuLWxnOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMTIwMHB4ICFkZWZhdWx0O1xuJHNjcmVlbi1sZy1taW46ICAgICAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tbGcgIWRlZmF1bHQ7XG4vLyBEZXByZWNhdGVkIGAkc2NyZWVuLWxnLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxuJHNjcmVlbi1sZy1kZXNrdG9wOiAgICAgICAgICAgICAgICAgICAgICRzY3JlZW4tbGctbWluICFkZWZhdWx0O1xuXG4vLyBTbyBtZWRpYSBxdWVyaWVzIGRvbid0IG92ZXJsYXAgd2hlbiByZXF1aXJlZCwgcHJvdmlkZSBhIG1heGltdW1cbiRzY3JlZW4teHMtbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJHNjcmVlbi1zbS1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tc20tbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJHNjcmVlbi1tZC1taW4gLSAxKSAhZGVmYXVsdDtcbiRzY3JlZW4tbWQtbWF4OiAgICAgICAgICAgICAgICAgICAgICAgICAoJHNjcmVlbi1sZy1taW4gLSAxKSAhZGVmYXVsdDtcbiIsIkBpbXBvcnQgXCJtaXhpbnMvZm9udHNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZGVmYXVsdC1zcGFjaW5nXCI7XG5AaW1wb3J0IFwibWl4aW5zL2J1dHRvbnNcIjtcbkBpbXBvcnQgXCJtaXhpbnMvZ3JvdXBib3hcIjtcbkBpbXBvcnQgXCJtaXhpbnMvYXJyb3dcIjtcbiIsIkBtaXhpbiBmb250KCR3ZWlnaHQ6IFwibm9ybWFsXCIpIHtcblxuXHQkd2VpZ2h0OiB1bnF1b3RlKCR3ZWlnaHQpO1xuXHQkd2VpZ2h0OiBxdW90ZSgkd2VpZ2h0KTtcblx0QGlmICR3ZWlnaHQgPT0gbm9ybWFsIHtcblx0XHRAaWYoJGZvbnQtZmFtaWx5LWJhc2UpIHtcblx0XHRcdGZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktYmFzZTsgXG5cdFx0fVxuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuXHR9IEBlbHNlIGlmICR3ZWlnaHQgPT0gXCJsaWdodFwiIHtcblx0XHRAaWYoJGZvbnQtZmFtaWx5LWxpZ2h0KSB7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWxpZ2h0OyBcblx0XHR9XG5cdFx0Zm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1saWdodDtcblx0fSBAZWxzZSBpZiAkd2VpZ2h0ID09IFwic2VtaWJvbGRcIiB7XG5cdFx0QGlmKCRmb250LWZhbWlseS1zZW1pYm9sZCkge1xuXHRcdFx0Zm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1zZW1pYm9sZDsgXG5cdFx0fVxuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtc2VtaWJvbGQ7XG5cdH0gQGVsc2UgaWYgJHdlaWdodCA9PSBcImJvbGRcIiB7XG5cdFx0QGlmKCRmb250LWZhbWlseS1ib2xkKSB7XG5cdFx0XHRmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJvbGQ7IFxuXHRcdH1cblx0XHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cdH1cbn0iLCJAbWl4aW4gZGVmYXVsdC1zcGFjaW5nICgkdHlwZTogcGFkZGluZywgJGRpcmVjdGlvbjogYWxsLCAkZGV2aWNlOiByZXNwb25zaXZlKSB7XG5cdEBpZiAkZGV2aWNlID09IHJlc3BvbnNpdmUge1xuXHRcdEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpe1xuXHRcdFx0XHQjeyR0eXBlfTogJG0tZGVmYXVsdC1zcGFjaW5nO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRcdFx0I3skdHlwZX06ICR0LWRlZmF1bHQtc3BhY2luZztcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0XHRcdCN7JHR5cGV9OiAkZGVmYXVsdC1zcGFjaW5nO1xuXHRcdFx0fVxuXHRcdH0gQGVsc2UgaWYgJGRpcmVjdGlvbiA9PSB0b3Age1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KXtcblx0XHRcdFx0I3skdHlwZX0tdG9wOiAkbS1kZWZhdWx0LXNwYWNpbmctYm90dG9tO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRcdFx0I3skdHlwZX0tdG9wOiAkdC1kZWZhdWx0LXNwYWNpbmctdG9wO1xuXHRcdFx0fVxuXHRcdFx0QG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRcdFx0I3skdHlwZX0tdG9wOiAkZGVmYXVsdC1zcGFjaW5nLXRvcDtcblx0XHRcdH1cblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KXtcblx0XHRcdFx0I3skdHlwZX0tcmlnaHQ6ICRtLWRlZmF1bHQtc3BhY2luZy1yaWdodDtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdCN7JHR5cGV9LXJpZ2h0OiAkdC1kZWZhdWx0LXNwYWNpbmctcmlnaHQ7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdFx0XHQjeyR0eXBlfS1yaWdodDogJGRlZmF1bHQtc3BhY2luZy1yaWdodDtcblx0XHRcdH1cblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCl7XG5cdFx0XHRcdCN7JHR5cGV9LWJvdHRvbTogJG0tZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRcdCN7JHR5cGV9LWJvdHRvbTogJHQtZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0XHRcdCN7JHR5cGV9LWJvdHRvbTogJGRlZmF1bHQtc3BhY2luZy1ib3R0b207XG5cdFx0XHR9XG5cdFx0fSBAZWxzZSBpZiAkZGlyZWN0aW9uID09IGxlZnQge1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KXtcblx0XHRcdFx0I3skdHlwZX0tbGVmdDogJG0tZGVmYXVsdC1zcGFjaW5nLWxlZnQ7XG5cdFx0XHR9XG5cdFx0XHRAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdFx0XHQjeyR0eXBlfS1sZWZ0OiAkdC1kZWZhdWx0LXNwYWNpbmctbGVmdDtcblx0XHRcdH1cblx0XHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0XHRcdCN7JHR5cGV9LWxlZnQ6ICRkZWZhdWx0LXNwYWNpbmctbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH0gQGVsc2UgaWYgJGRldmljZSA9PSB0YWJsZXQge1xuXHRcdEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG5cdFx0I3skdHlwZX06ICR0LWRlZmF1bHQtc3BhY2luZztcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdG9wIHtcblx0XHRcdCN7JHR5cGV9LXRvcDogJHQtZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuXHRcdFx0I3skdHlwZX0tcmlnaHQ6ICR0LWRlZmF1bHQtc3BhY2luZy1yaWdodDtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcblx0XHRcdCN7JHR5cGV9LWJvdHRvbTogJHQtZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG5cdFx0XHQjeyR0eXBlfS1sZWZ0OiAkdC1kZWZhdWx0LXNwYWNpbmctbGVmdDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgJGRldmljZSA9PSBtb2JpbGUge1xuXHRcdEBpZiAkZGlyZWN0aW9uID09IGFsbCB7XG5cdFx0I3skdHlwZX06ICRtLWRlZmF1bHQtc3BhY2luZztcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gdG9wIHtcblx0XHRcdCN7JHR5cGV9LXRvcDogJG0tZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gcmlnaHQge1xuXHRcdFx0I3skdHlwZX0tcmlnaHQ6ICRtLWRlZmF1bHQtc3BhY2luZy1yaWdodDtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gYm90dG9tIHtcblx0XHRcdCN7JHR5cGV9LWJvdHRvbTogJG0tZGVmYXVsdC1zcGFjaW5nLWJvdHRvbTtcblx0XHR9IEBlbHNlIGlmICRkaXJlY3Rpb24gPT0gbGVmdCB7XG5cdFx0XHQjeyR0eXBlfS1sZWZ0OiAkbS1kZWZhdWx0LXNwYWNpbmctbGVmdDtcblx0XHR9XG5cdH1cbn1cbiIsIkBtaXhpbiBidXR0b24tdmFyaWFudCgkY29sb3IsICRiYWNrZ3JvdW5kLCAkYm9yZGVyKSB7XG4gIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICYuYWN0aXZlLFxuICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkYm9yZGVyLCAxMCUpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbigkYmFja2dyb3VuZCwgMTAlKTtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSxcbiAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxuICAmLmRpc2FibGVkLFxuICAmW2Rpc2FibGVkXSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgICYsXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlLFxuICAgICYuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1jb2xvcjogJGJvcmRlcjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gICYuYnRuLWJvcmRlcmVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogJGJvcmRlcjtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSxcbiAgICAmLmFjdGl2ZSxcbiAgICAub3BlbiA+ICYuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICAgICAgY29sb3I6ICRjb2xvcjtcbiAgICB9XG4gIH1cbn1cbiIsIkBtaXhpbiBncm91cGJveC12YXJpYW50KCRjb2xvciwgJGJhY2tncm91bmQpIHtcblx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcbiAgICBcdGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICAgIFx0Y29sb3I6ICRjb2xvcjtcbiAgICBcdGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG5cdH1cblx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG4gXHRcdGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG5cdH1cbn0iLCIvLyAgQ1NTIC0gQVJST1cgXG4vLyAgQSBtaXhpbiB0byBjcmVhdGUgYSBhcnJvdyB0byBhIHNpZGUgb2YgYSBib3hcbi8vICBcbi8vICAgICpkb250IGZvcmdldCB0byBwdXQgcG9zaXRpb24gcmVsYXRpdmUgb24gdGhlIHdyYXBwZXJcbi8vICBcbi8vICAgIEBpbmNsdWRlIGNzcy1hcnJvdygkcG9zaXRpb24sICRoZWlnaHQsICR3aWR0aCwgJGJnLWNvbG9yLCAkYXJyb3ctY29sb3IsICAkYXJyb3ctYm9yZGVyLXdpZHRoKVxuLy8gICAgXG4vLyAgICBJbnB1dHM6XG4vLyAgICAtIHBvc2l0aW9uOiB0b3AsIGJvdHRvbSwgbGVmdCwgcmlnaHQ7XG4vLyAgICAtIGhlaWdodFxuLy8gICAgLSB3aWR0aFxuLy8gICAgLSBjb2xvciBvZiBiYWNrZ3JvdW5kXG4vLyAgICAtIGNvbG9yIG9mIGJvcmRlclxuLy8gICAgLSBib3JkZXIgd2lkdGhcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5AbWl4aW4gY3NzLWFycm93KCRwb3NpdGlvbjogXCJ0b3BcIiwgJGhlaWdodDogMTBweCwgJHdpZHRoOiAxMHB4LCAkYmctY29sb3I6ICNBQUEsICRhcnJvdy1jb2xvcjogI0NDQywgICRhcnJvdy1ib3JkZXItd2lkdGg6IDBweCkgeyAgICBcbiAgICAkcG9zaXRpb246IHVucXVvdGUoJHBvc2l0aW9uKTtcbiAgICAkcG9zaXRpb246IHF1b3RlKCRwb3NpdGlvbik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJHBvc2l0aW9uID09IFwidG9wXCIgeyAgIFxuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYmctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoIC0gJGFycm93LWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgKyAxICR3aWR0aCArICRhcnJvdy1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgQGlmICRwb3NpdGlvbiA9PSBcInJpZ2h0XCIgeyAgIFxuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgkd2lkdGggLSAkd2lkdGggLSAkd2lkdGgpO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkYmctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogKCR3aWR0aCAtICR3aWR0aCAtICR3aWR0aCAtICRhcnJvdy1ib3JkZXItd2lkdGgpO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICsgMSAkd2lkdGggKyAkYXJyb3ctYm9yZGVyLXdpZHRoO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRhcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgIH0gXG5cbiAgICBAaWYgJHBvc2l0aW9uID09IFwiYm90dG9tXCIgeyAgIFxuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCAkd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYmctY29sb3I7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAoJHdpZHRoIC0gJHdpZHRoIC0gJHdpZHRoIC0gJGFycm93LWJvcmRlci13aWR0aCk7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6ICRoZWlnaHQgKyAxICR3aWR0aCArICRhcnJvdy1ib3JkZXItd2lkdGg7XG4gICAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICB9IFxuXG4gICAgQGlmICRwb3NpdGlvbiA9PSBcImxlZnRcIiB7IFxuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZSB7XG4gICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgfSAgXG5cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgkd2lkdGggLSAkd2lkdGggLSAkd2lkdGgpO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAkaGVpZ2h0ICR3aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGJnLWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICgkd2lkdGggLSAkd2lkdGggLSAkd2lkdGggLSAkYXJyb3ctYm9yZGVyLXdpZHRoKTtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogJGhlaWdodCArIDEgJHdpZHRoICsgJGFycm93LWJvcmRlci13aWR0aDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogJGFycm93LWNvbG9yO1xuICAgICAgICB9XG4gICAgfSBcbn0iLCIubXgtZ3JpZCxcbi5teC10YWJjb250YWluZXIsXG4ubXgtbGlzdHZpZXcsXG4ubXgtdGVtcGxhdGVncmlkLFxuLm14LWdyb3VwYm94IHtcblx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBtYXJnaW4sICRkaXJlY3Rpb246IGJvdHRvbSwgJGRldmljZTogcmVzcG9uc2l2ZSk7XG59XG5cbi5teC1sYXlvdXRjb250YWluZXIgLm14LWxheW91dGNvbnRhaW5lci13cmFwcGVyIHtcblx0cGFkZGluZzogJHBhZGRpbmctbGF5b3V0Y29udGFpbmVyLWJhc2U7XG59XG4ucHJvZmlsZS10YWJsZXQge1xuXHQubXgtbGF5b3V0Y29udGFpbmVyIC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdFx0cGFkZGluZzogJHQtcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTtcblx0fVxufVxuLnByb2ZpbGUtcGhvbmUge1xuXHQubXgtbGF5b3V0Y29udGFpbmVyIC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdFx0cGFkZGluZzogJG0tcGFkZGluZy1sYXlvdXRjb250YWluZXItYmFzZTtcblx0fVxufVxuXG4ubXgtbGF5b3V0Y29udGFpbmVyIC5teC1wbGFjZWhvbGRlciB7XG5cdHBhZGRpbmc6IDA7XG5cblx0Lm14LWxheW91dGdyaWQge1xuXHRcdEBpbmNsdWRlIGRlZmF1bHQtc3BhY2luZygkdHlwZTogcGFkZGluZywgJGRpcmVjdGlvbjogYWxsLCAkZGV2aWNlOiByZXNwb25zaXZlKTtcblx0XHRwYWRkaW5nLXRvcDogMDtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBwYWRkaW5nLCAkZGlyZWN0aW9uOiB0b3AsICRkZXZpY2U6IHJlc3BvbnNpdmUpO1xuXHRcdH1cblx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBwYWRkaW5nLCAkZGlyZWN0aW9uOiBib3R0b20sICRkZXZpY2U6IHJlc3BvbnNpdmUpO1xuXHRcdH1cblx0XHQmLmNvbnRhaW5lciB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXHRcdH1cblx0XHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0fVxuXHR9XG59XG4gLnByb2ZpbGUtcGhvbmUgLm14LWxheW91dGNvbnRhaW5lciAubXgtcGxhY2Vob2xkZXIge1xuXHRwYWRkaW5nOiAwO1xuXHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBwYWRkaW5nLCAkZGlyZWN0aW9uOiBhbGwsICRkZXZpY2U6IHBob25lKTtcblx0XHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufSBcbi5wcm9maWxlLXRhYmxldCAubXgtbGF5b3V0Y29udGFpbmVyIC5teC1wbGFjZWhvbGRlciB7XG5cdHBhZGRpbmc6IDA7XG5cdC5teC1sYXlvdXRncmlkIHtcblx0XHRAaW5jbHVkZSBkZWZhdWx0LXNwYWNpbmcoJHR5cGU6IHBhZGRpbmcsICRkaXJlY3Rpb246IGFsbCwgJGRldmljZTogdGFibGV0KTtcblx0XHQmLmNvbnRhaW5lciB7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuXHRcdH1cblx0XHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdH1cblx0fVxufVxuLm14LWxheW91dGNvbnRhaW5lci13cmFwcGVyLm14LWxheW91dGNvbnRhaW5lci1uZXN0ZWQge1xuXHRwYWRkaW5nOiAwO1xufVxuXG4vLyBSZW1vdmluZyBkZWZhdWx0IHNwYWNpbmcgaW4gc3BlY2lmaWMgc2l0dWF0aW9uc1xuLnBhZ2VoZWFkZXIge1xuXHQubXgtZ3JpZCxcblx0Lm14LXRhYmNvbnRhaW5lcixcblx0Lm14LWxpc3R2aWV3LFxuXHQubXgtdGVtcGxhdGVncmlkLFxuXHQubXgtZ3JvdXBib3gge1xuXHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdH1cbn1cblxuLy8gUXVpY2sgZml4XG4ucHJvZmlsZS1waG9uZSxcbi5wcm9maWxlLXRhYmxldCB7XG5cdC5teC1wbGFjZWhvbGRlciA+IHtcblx0XHQubXgtdGFiY29udGFpbmVyOm9ubHktY2hpbGQsXG5cdFx0Lm14LWdyaWQ6b25seS1jaGlsZCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFzZVxuXG4gICBEZWZhdWx0IHNldHRpbmdzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuaHRtbCB7XG5cdGhlaWdodDogMTAwJTtcbn1cbmJvZHkge1xuXHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG5cdGNvbG9yOiAkZm9udC1iYXNlLWNvbG9yO1xuXHRmb250LXNpemU6ICRmb250LWJhc2Utc2l6ZTtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3I7XG5cblx0bWluLWhlaWdodDogMTAwJTtcbn1cbmEge1xuXHRjb2xvcjogJGxpbmstY29sb3I7XG5cdC13ZWJraXQtdHJhbnNpdGlvbjogMC4yNXM7XG5cdC1tb3otdHJhbnNpdGlvbjogMC4yNXM7XG5cdC1vLXRyYW5zaXRpb246IDAuMjVzO1xuXHR0cmFuc2l0aW9uOiAwLjI1cztcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5hOmhvdmVyIHtcblx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcbn1cbi8vIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkOyBcbn1cbi8vIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzXG5hOmFjdGl2ZSwgXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cbi8vIFJlbW92ZXMgbGFyZ2UgYmx1ZSBib3JkZXIgaW4gY2hyb21lIG9uIGZvY3VzIGFuZCBhY3RpdmUgc3RhdGVzIFxuaW5wdXQ6Zm9jdXMsIFxuYnV0dG9uOmZvY3VzLFxuLm14LWxpbms6Zm9jdXMge1xuICBvdXRsaW5lOiAwOyBcbn1cbi8vIFJlbW92ZXMgbGFyZ2UgYmx1ZSBib3JkZXIgZm9yIHRhYmluZGV4ZXMgZnJvbSB3aWRnZXRzXG5kaXZbdGFiaW5kZXhdIHtcblx0b3V0bGluZTogMDsgXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW5wdXRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvcm0tY29udHJvbCB7XG5cdC1tb3otdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG5cblx0Ym94LXNoYWRvdzpcdG5vbmU7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwYWRkaW5nOiAkZm9ybS1pbnB1dC1wYWRkaW5nLXkgJGZvcm0taW5wdXQtcGFkZGluZy14O1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiAkZm9ybS1pbnB1dC1oZWlnaHQ7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRmb3JtLWlucHV0LWJvcmRlci1jb2xvcjtcblx0Ym9yZGVyLXJhZGl1czogJGZvcm0taW5wdXQtYm9yZGVyLXJhZGl1cztcblx0YmFja2dyb3VuZC1jb2xvcjogJGZvcm0taW5wdXQtYmc7XG5cdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdGNvbG9yOiAkZm9ybS1pbnB1dC1jb2xvcjtcblx0Zm9udC1zaXplOiAkZm9ybS1pbnB1dC1mb250LXNpemU7XG5cdGxpbmUtaGVpZ2h0OiAkZm9ybS1pbnB1dC1saW5lLWhlaWdodDtcbn1cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuXHRib3JkZXItY29sb3I6ICRmb3JtLWlucHV0LWJvcmRlci1mb2N1cy1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGZvcm0taW5wdXQtYmctZm9jdXM7XG5cdG91dGxpbmU6IDA7XG59XG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuXHRoZWlnaHQ6IGF1dG87XG59XG5cbi5mb3JtLWNvbnRyb2wtc3RhdGljIHtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWluLWhlaWdodDogYXV0bztcblx0XG5cdHBhZGRpbmctdG9wOiAkZm9ybS1pbnB1dC1wYWRkaW5nLXk7XG5cdHBhZGRpbmctYm90dG9tOiAkZm9ybS1pbnB1dC1wYWRkaW5nLXk7XG5cdGZvbnQtc2l6ZTogJGZvcm0taW5wdXQtZm9udC1zaXplO1xuXHRsaW5lLWhlaWdodDogJGZvcm0taW5wdXQtbGluZS1oZWlnaHQ7XG59XG4vKiBOb3QgZWRpdGFibGUgdGV4dGFyZWEsIHRleHRhcmVhIHdpbGwgYmUgcmVuZGVyZWQgYXMgYSBsYWJlbCAqL1xuLm14LXRleHRhcmVhIGxhYmVsIHtcblx0aGVpZ2h0OiBhdXRvO1xufVxuXG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyb3VwIHdpdGggbGFiZWwgYW5kIGlucHV0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyogSW5wdXQgYW5kIHRleHRhcmVhIGdldCBwcm9wZXJseSBhbGlnbmVkICovXG4uZm9ybS1ncm91cCBkaXZbY2xhc3MqPSd0ZXh0Qm94J10gPiBsYWJlbCxcbi5mb3JtLWdyb3VwIGRpdltjbGFzcyo9J3RleHRBcmVhJ10gPiBsYWJlbCxcbi5mb3JtLWdyb3VwIGRpdltjbGFzcyo9J2RhdGVQaWNrZXInXSA+IGxhYmVsIHtcblx0QGV4dGVuZCAuZm9ybS1jb250cm9sLXN0YXRpYztcbn1cbi5mb3JtLWdyb3VwIHtcblx0bWFyZ2luLWJvdHRvbTogJGZvcm0tZ3JvdXAtbWFyZ2luLWJvdHRvbTtcblx0W2NsYXNzKj0nY29sLSddIHtcblx0XHRwYWRkaW5nLWxlZnQ6ICRmb3JtLWdyb3VwLWd1dHRlcjtcblx0XHRwYWRkaW5nLXJpZ2h0OiAkZm9ybS1ncm91cC1ndXR0ZXI7XG5cdH1cbn1cbi5mb3JtLWdyb3VwIC5jb250cm9sLWxhYmVsIHtcblx0Y29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1x0XG5cdGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtc2l6ZTtcblx0Zm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLXdlaWdodDtcdFxufVxuLmZvcm0taG9yaXpvbnRhbCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKXtcblx0XHQuY29udHJvbC1sYWJlbCB7XG5cdFx0XHRsaW5lLWhlaWdodDogJGZvcm0taW5wdXQtbGluZS1oZWlnaHQ7XG5cdFx0XHRwYWRkaW5nLXRvcDogJGZvcm0taW5wdXQtcGFkZGluZy15O1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICRmb3JtLWlucHV0LXBhZGRpbmcteTtcblx0XHR9XG5cdH1cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIElucHV0cyBSZWFkb25seVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIERlcHJlY2F0ZWQgKHNob3VsZCBub3QgYmUgbmVlZGVkIGFueW1vcmUgd2l0aCBuZXcgZm9ybSBncm91cHMpXG5cbi8vIC5yZWFkb25seS1pbnB1dCB7XG4vLyBcdEBleHRlbmQgLmZvcm0tY29udHJvbDtcbi8vIFx0aGVpZ2h0OiBhdXRvO1xuLy8gXHRtaW4taGVpZ2h0OiAzM3B4O1xuLy8gXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZm9ybS1pbnB1dC1iZy1kaXNhYmxlZCAhaW1wb3J0YW50O1xuLy8gXHRsYWJlbCB7IFxuLy8gXHRcdHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbi8vIFx0fVxuLy8gXHR0ZXh0YXJlYSB7XG4vLyBcdFx0ZGlzcGxheTogbm9uZTtcbi8vIFx0fVxuLy8gfVxuLy8gLnJlYWRvbmx5LWlucHV0LWFsZXJ0IGxhYmVsIHtcbi8vIFx0Y29sb3I6ICRicmFuZC1kYW5nZXI7XG4vLyB9XG4vLyAvKiBOZWVkZWQgZm9yIElFOCwgSUU4IGRvZXNuJ3QgcmVzcGVjdCBib3JkZXItYm94IGFuZCBtaW4taGVpZ2h0ICovXG4vLyAuZGpfaWU4IC5yZWFkb25seS1pbnB1dCB7XG4vLyBcdG1pbi1oZWlnaHQ6IGF1dG87XG4vLyB9XG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW5wdXRzIEZpbGUgVXBsb2FkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWZpbGVpbnB1dCB7XG5cdC5teC13cmFwcGVkLWxhYmVsIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0d2lkdGg6IDIwMHB4O1xuXHR9XG5cdC8qIEZpbGUgaW5wdXQgd2lkZ2V0IGhvdmVyIGZpeCAqL1xuXHQubXgtd3JhcHBlZC1mb3JtIHtcblx0XHQubXgtd3JhcHBlZC1pbnB1dCB7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHRcdC5teC1maWxlaW5wdXQtdXBsb2FkLWJ1dHRvbjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnRuLWRlZmF1bHQtYmc7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWxlcnRzXG5cbiAgIERlZmF1bHQgQm9vdHN0cmFwIEFsZXJ0IGJveGVzLiBQcm92aWRlIGNvbnRleHR1YWwgZmVlZGJhY2sgbWVzc2FnZXMgZm9yIHR5cGljYWwgdXNlciBhY3Rpb25zIHdpdGggdGhlIGhhbmRmdWwgb2YgYXZhaWxhYmxlIGFuZCBmbGV4aWJsZSBhbGVydCBtZXNzYWdlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5hbGVydCB7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0bWFyZ2luLXRvcDogMDsgLy8gd2FudCB0byBhbGlnbiBpdCB3aXRoIHBhZGRpbmcgb2YgYSBwYWdlXG5cdHBhZGRpbmc6IDE1cHg7XG5cdGJvcmRlcjogMDtcbn1cbi5hbGVydC1ib3JkZXJlZCB7XG5cdGJvcmRlcjogMXB4IHNvbGlkO1xufVxuLmFsZXJ0LXN1Y2Nlc3MgeyBcblx0Ym9yZGVyLWNvbG9yOiAkYWxlcnQtc3VjY2Vzcy1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICRhbGVydC1zdWNjZXNzLWJnO1xuXHRjb2xvcjogJGFsZXJ0LXN1Y2Nlc3MtY29sb3I7XG59XG4uYWxlcnQtaW5mbyB7IFxuXHRib3JkZXItY29sb3I6ICRhbGVydC1pbmZvLWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWluZm8tYmc7XG5cdGNvbG9yOiAkYWxlcnQtaW5mby1jb2xvcjtcbn1cbi5hbGVydC13YXJuaW5nIHsgXG5cdGJvcmRlci1jb2xvcjogJGFsZXJ0LXdhcm5pbmctYm9yZGVyLWNvbG9yOyBcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LXdhcm5pbmctYmc7XG5cdGNvbG9yOiAkYWxlcnQtd2FybmluZy1jb2xvcjtcbn1cbi5hbGVydC1kYW5nZXIgeyBcblx0Ym9yZGVyLWNvbG9yOiAkYWxlcnQtZGFuZ2VyLWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogJGFsZXJ0LWRhbmdlci1iZzsgXG5cdGNvbG9yOiAkYWxlcnQtZGFuZ2VyLWNvbG9yO1xufVxuLmhhcy1lcnJvciAuYWxlcnQge1xuXHRtYXJnaW4tdG9wOiA4cHg7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQmFja2dyb3VuZHNcblxuICAgRGlmZmVyZW50IGJhY2tncm91bmQgY29tcG9uZW50cywgYWxsIG1hbmFnZWQgYnkgdmFyaWFibGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJhY2tncm91bmQtbGF5b3V0XHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3IgIWltcG9ydGFudDtcdFx0XHRcdFx0fVxuLmJhY2tncm91bmQtbGF5b3V0LXNlY29uZGFyeVx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGJnLWNvbG9yLXNlY29uZGFyeSAhaW1wb3J0YW50O1x0XHR9XG5cbi5iYWNrZ3JvdW5kLWRlZmF1bHRcdFx0IFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtZGVmYXVsdCAhaW1wb3J0YW50OyBcdFx0XHR9XG4uYmFja2dyb3VuZC1kZWZhdWx0LWRhcmtlciBcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtZGFya2VyICFpbXBvcnRhbnQ7IFx0fVxuLmJhY2tncm91bmQtZGVmYXVsdC1kYXJrIFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGVmYXVsdC1kYXJrICFpbXBvcnRhbnQ7XHQgXHR9XHRcbi5iYWNrZ3JvdW5kLWRlZmF1bHQtbGlnaHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtbGlnaHQgIWltcG9ydGFudDsgXHRcdH1cdFxuLmJhY2tncm91bmQtZGVmYXVsdC1saWdodGVyIFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRlZmF1bHQtbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1pbnZlcnNlICBcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtaW52ZXJzZSAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWludmVyc2UtZGFya2VyICBcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbnZlcnNlLWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtaW52ZXJzZS1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbnZlcnNlLWRhcmsgIWltcG9ydGFudDsgXHRcdH1cdFxuLmJhY2tncm91bmQtaW52ZXJzZS1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItaW52ZXJzZS1saWdodCAhaW1wb3J0YW50OyBcdFx0fVx0XG4uYmFja2dyb3VuZC1pbnZlcnNlLWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWludmVyc2UtbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1wcmltYXJ5XHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeSAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLXByaW1hcnktZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtcHJpbWFyeS1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1wcmltYXJ5LWRhcmsgIWltcG9ydGFudDtcdCBcdH1cdFxuLmJhY2tncm91bmQtcHJpbWFyeS1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodCAhaW1wb3J0YW50O1x0IFx0fVx0XG4uYmFja2dyb3VuZC1wcmltYXJ5LWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXByaW1hcnktbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1pbmZvIFx0XHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGJyYW5kLWluZm8gIWltcG9ydGFudDsgXHRcdFx0XHR9XHRcdFx0XG4uYmFja2dyb3VuZC1pbmZvLWRhcmtlciBcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWluZm8tZGFya2VyICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWluZm8tZGFya1x0XHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbmZvLWRhcmsgIWltcG9ydGFudDtcdCBcdFx0fVx0XG4uYmFja2dyb3VuZC1pbmZvLWxpZ2h0XHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWluZm8tbGlnaHQgIWltcG9ydGFudDsgXHRcdH1cdFxuLmJhY2tncm91bmQtaW5mby1saWdodGVyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1pbmZvLWxpZ2h0ZXIgIWltcG9ydGFudDsgXHRcdH1cdFxuXG4uYmFja2dyb3VuZC1zdWNjZXNzXHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2VzcyAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLXN1Y2Nlc3MtZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdWNjZXNzLWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtc3VjY2Vzcy1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1zdWNjZXNzLWRhcmsgIWltcG9ydGFudDtcdCBcdH1cdFxuLmJhY2tncm91bmQtc3VjY2Vzcy1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itc3VjY2Vzcy1saWdodCAhaW1wb3J0YW50OyBcdFx0fVx0XG4uYmFja2dyb3VuZC1zdWNjZXNzLWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXN1Y2Nlc3MtbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC13YXJuaW5nXHRcdFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtd2FybmluZyAhaW1wb3J0YW50OyBcdFx0XHR9XHRcbi5iYWNrZ3JvdW5kLXdhcm5pbmctZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13YXJuaW5nLWRhcmtlciAhaW1wb3J0YW50OyBcdH1cdFxuLmJhY2tncm91bmQtd2FybmluZy1kYXJrXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci13YXJuaW5nLWRhcmsgIWltcG9ydGFudDtcdCBcdH1cdFxuLmJhY2tncm91bmQtd2FybmluZy1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2FybmluZy1saWdodCAhaW1wb3J0YW50OyBcdFx0fVx0XG4uYmFja2dyb3VuZC13YXJuaW5nLWxpZ2h0ZXJcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdhcm5pbmctbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuXG4uYmFja2dyb3VuZC1kYW5nZXJcdFx0XHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1kYW5nZXIgIWltcG9ydGFudDsgXHRcdFx0fVx0XG4uYmFja2dyb3VuZC1kYW5nZXItZGFya2VyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYW5nZXItZGFya2VyICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWRhbmdlci1kYXJrXHRcdFx0e1x0YmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLWRhbmdlci1kYXJrICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWRhbmdlci1saWdodFx0XHR7XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItZGFuZ2VyLWxpZ2h0ICFpbXBvcnRhbnQ7IFx0XHR9XHRcbi5iYWNrZ3JvdW5kLWRhbmdlci1saWdodGVyXHRcdHtcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvci1kYW5nZXItbGlnaHRlciAhaW1wb3J0YW50OyBcdH1cdFxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJ1dHRvbnNcblxuICAgRGVmYXVsdCBCb290c3RyYXAgYW5kIE1lbmRpeCBCdXR0b25zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmJ0bixcbi5teC1idXR0b24ge1xuXG4gICAgLyogTVhJRCAvIEJvb3RzdHJhcCB2YWx1ZXMgZm9yIHdoZW4gdXNlZCBpbiBub24tbWVuZGl4IGFwcHMgKi9cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW8tdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgICBAaW5jbHVkZSBmb250KG5vcm1hbCk7XG5cbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuICAgIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIHBhZGRpbmc6IHJvdW5kKDAuNiAqICRmb250LWJhc2Utc2l6ZSkgcm91bmQoMSAqICRmb250LWJhc2Utc2l6ZSk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ0bi1kZWZhdWx0LWJnO1xuICAgIGNvbG9yOiAkYnRuLWRlZmF1bHQtY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAkYnRuLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLy8gTWVuZGl4IGJ1dHRvbiBsaW5rXG4ubXgtbGluayB7XG4gICAgcGFkZGluZzogMDtcbiAgICBjb2xvcjogJGxpbmstY29sb3I7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxufVxuXG4vLyBJbWFnZXMgaW4gYnV0dG9uc1xuLmJ0bixcbi5teC1idXR0b24sXG4ubXgtbGluayB7XG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgICAgLy9oZWlnaHQ6IGF1dG87IC8vIE1YVUkgb3ZlcnJpZGUgd2hvIHNldCB0aGUgaGVpZ2h0IG9uIDE2cHggZGVmYXVsdFxuICAgICAgICBoZWlnaHQ6IGNhbGMoJGZvbnQtYmFzZS1zaXplICsgNHB4KTtcbiAgICB9XG59XG5cbi8vIElFIDggb25seSAobXh1aSBvdmVyd3JpdGVzKVxuLmRqX2llOCAubXgtbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG59XG5cblxuLy8gQnV0dG9ucyBBbHRlcm5hdGUgU3R5bGVcbi5idG4tZGVmYXVsdCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXZhcmlhbnQoJGJ0bi1kZWZhdWx0LWNvbG9yLCAkYnRuLWRlZmF1bHQtYmcsICRidG4tZGVmYXVsdC1ib3JkZXItY29sb3IpO1xufVxuLmJ0bi1wcmltYXJ5IHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXByaW1hcnktY29sb3IsICRidG4tcHJpbWFyeS1iZywgJGJ0bi1wcmltYXJ5LWJvcmRlci1jb2xvcik7XG59XG4uYnRuLWludmVyc2Uge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4taW52ZXJzZS1jb2xvciwgJGJ0bi1pbnZlcnNlLWJnLCAkYnRuLWludmVyc2UtYm9yZGVyLWNvbG9yKTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUsXG4gICAgJi5hY3RpdmUsXG4gICAgLm9wZW4gPiAmLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGJ0bi1pbnZlcnNlLWJnLCAxMCUpO1xuICAgICAgICBib3JkZXItY29sb3I6IGxpZ2h0ZW4oJGJ0bi1pbnZlcnNlLWJnLCAxMCUpO1xuICAgIH1cbn1cbi8vIFN1Y2Nlc3MgYXBwZWFycyBhcyBncmVlblxuLmJ0bi1zdWNjZXNzIHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLXN1Y2Nlc3MtY29sb3IsICRidG4tc3VjY2Vzcy1iZywgJGJ0bi1zdWNjZXNzLWJvcmRlci1jb2xvcik7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYmx1ZS1ncmVlblxuLmJ0bi1pbmZvIHtcbiAgICBAaW5jbHVkZSBidXR0b24tdmFyaWFudCgkYnRuLWluZm8tY29sb3IsICRidG4taW5mby1iZywgJGJ0bi1pbmZvLWJvcmRlci1jb2xvcik7XG59XG4vLyBXYXJuaW5nIGFwcGVhcnMgYXMgb3JhbmdlXG4uYnRuLXdhcm5pbmcge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4td2FybmluZy1jb2xvciwgJGJ0bi13YXJuaW5nLWJnLCAkYnRuLXdhcm5pbmctYm9yZGVyLWNvbG9yKTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi12YXJpYW50KCRidG4tZGFuZ2VyLWNvbG9yLCAkYnRuLWRhbmdlci1iZywgJGJ0bi1kYW5nZXItYm9yZGVyLWNvbG9yKTtcbn1cbi8vIEJ1dHRvbiBhcyBsaW5rIGJ1dCB3aXRoIHBhZGRpbmdcbi5idG4tbGluayB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAkbGluay1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICRsaW5rLWhvdmVyLWNvbG9yO1xuICAgIH1cbn1cbi8qIEJ1dHRvbnMgYXBwZWFyIGRpc2FibGVkICovXG4uYnRuLWRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjY1O1xuICAgIGZpbHRlcjogYWxwaGEob3BhY2l0eT02NSk7IC8qIEZvciBJRTggYW5kIGVhcmxpZXIgKi9cblxuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG4vLyBUcmFuc3BhcmVudFxuLmJ0bi10cmFuc3BhcmVudCxcbi5idG4tdHJhbnNwYXJlbnQ6aG92ZXIsXG4uYnRuLXRyYW5zcGFyZW50OmZvY3VzIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8vIEJ1dHRvbnMgU2l6ZXNcbi5idG4tbGcge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1sYXJnZTtcbiAgICBwYWRkaW5nOiByb3VuZCgwLjYgKiAkZm9udC1zaXplLWxhcmdlKSByb3VuZCgxICogJGZvbnQtc2l6ZS1sYXJnZSk7ICAvLyBvbmx5IGZvciBidXR0b25zXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogY2FsYygkZm9udC1zaXplLWxhcmdlICsgNHB4KTtcbiAgICB9XG59XG4uYnRuLXNtIHtcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG4gICAgcGFkZGluZzogcm91bmQoMC42ICogJGZvbnQtc2l6ZS1zbWFsbCkgcm91bmQoMSAqICRmb250LXNpemUtc21hbGwpO1xuICAgIGltZyB7XG4gICAgICAgIC8vaGVpZ2h0OiAkZm9udC1zaXplLXNtYWxsICsgNHB4O1xuICAgICAgICBoZWlnaHQ6IGNhbGMoJGZvbnQtc2l6ZS1zbWFsbCArIDRweCk7XG4gICAgfVxufVxuXG5cbi8qIEJ1dHRvbnMgSW1hZ2UgKi9cbi5idG4taW1hZ2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IC8vIEltYWdlIHNldCBoZWlnaHRcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IC8vIG9yIGVsc2UgdGhlIGJ1dHRvbiBkb2Vzbid0IGdldCBhIHdpZHRoXG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxufVxuXG5cbi8qIEJ1dHRvbnMgUG9zaXRpb24gKi9cbi5idG4tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbn1cbi5idG4tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8qIEJ1dHRvbnMgQXR0YWNoZWQgKi9cbi5idG4tYXR0YWNoZWQtcmlnaHQge1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG4uYnRuLWF0dGFjaGVkLWxlZnQge1xuICAgIG1hcmdpbi1yaWdodDogNXB4O1xufVxuLmJ0bi1hdHRhY2hlZC1ib3R0b20ge1xuICAgIG1hcmdpbi10b3A6IDVweDtcbn1cbi5idG4tYXR0YWNoZWQtdG9wIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JpZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBHcmlkICh1c2VkIGZvciBNZW5kaXggRGF0YWdyaWQpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyaWQge1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRwYWRkaW5nOiAwcHg7XG5cdGJvcmRlcjogMDtcblxuXHQubXgtZ3JpZC1jb250cm9sYmFyIHtcblx0XHRtYXJnaW46IDEwcHggMDtcblx0XHQvKiBQYWdpbmcgKi9cblx0XHQubXgtZ3JpZC1wYWdpbmdiYXIge1xuXG5cdFx0XHQvKiBCdXR0b25zICovXG5cdFx0XHQubXgtYnV0dG9uIHtcblx0XHRcdFx0cGFkZGluZzogNnB4O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1wYWdpbmctYmc7XG5cdFx0XHRcdGNvbG9yOiAkZ3JpZC1wYWdpbmctY29sb3I7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGdyaWQtcGFnaW5nLWJvcmRlci1jb2xvcjtcblxuXHRcdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1wYWdpbmctYmctaG92ZXI7XG5cdFx0XHRcdFx0Y29sb3I6ICRncmlkLXBhZ2luZy1jb2xvci1ob3Zlcjtcblx0XHRcdFx0XHRib3JkZXItY29sb3I6ICRncmlkLXBhZ2luZy1ib3JkZXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmLmRpc2FibGVkLCBcblx0XHRcdFx0JltkaXNhYmxlZF0ge1xuXHRcdFx0XHRcdG9wYWNpdHk6IDAuNDtcblx0XHRcdFx0XHRmaWx0ZXI6IGFscGhhKG9wYWNpdHk9NDApOyAvKiBGb3IgSUU4IGFuZCBlYXJsaWVyICovXG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0LyogVGV4dCBQYWdpbmcgLi4gdG8gLi4gdG8gLi4gKi9cblx0XHRcdC5teC1ncmlkLXBhZ2luZy1zdGF0dXMge1xuXHRcdFx0XHRwYWRkaW5nOiAwIDhweCA4cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0Lm14LWdyaWQtc2VhcmNoYmFyIHtcblx0XHRtYXJnaW46IDEwcHggMDtcblx0XHQubXgtZ3JpZC1zZWFyY2gtaXRlbSB7XG5cdFx0XHQubXgtZ3JpZC1zZWFyY2gtbGFiZWwge1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRsYWJlbCB7IHBhZGRpbmctdG9wOiA1cHg7IH1cblx0XHRcdH1cblx0XHRcdC5teC1ncmlkLXNlYXJjaC1pbnB1dCB7XG5cdFx0XHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRcdGhlaWdodDogMjhweDtcblx0XHRcdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0c2VsZWN0LmZvcm0tY29udHJvbCB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRwYWRkaW5nOiAzcHg7XG5cdFx0XHRcdH1cblx0XHRcdFx0Lm14LWJ1dHRvbiB7XG5cdFx0XHRcdFx0aGVpZ2h0OiAyOHB4O1xuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDJweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBSZW1vdmUgZGVmYXVsdCBib3JkZXIgZnJvbSBncmlkIGluc2lkZSBhIE1lbmRpeCBEYXRhdmlldyAqL1xuLm14LWRhdGF2aWV3IC5teC1ncmlkIHtcblx0Ym9yZGVyOiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIERlZmF1bHRcblxuICAgRGVmYXVsdCBNZW5kaXggRGF0YWdyaWQgV2lkZ2V0LiBUaGUgZGF0YWdyaWQgc2hvd3MgYSBsaXN0IG9mIG9iamVjdHMgaW4gYSBncmlkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWRhdGFncmlkIHtcblx0Lm14LWRhdGFncmlkLWhlYWQtdGFibGUge1xuXHRcdGJvcmRlci13aWR0aDogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuXHRcdC8qIFRhYmxlIGhlYWRlciAqL1xuXHRcdHRoIHtcblx0XHRcdGJvcmRlci1sZWZ0OiAwO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAwO1xuXHRcdFx0Ym9yZGVyLXRvcC13aWR0aDogMDtcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRib3JkZXItY29sb3I6ICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLWhlYWRlcjtcblx0XHR9XG5cblx0XHQubXgtZGF0YWdyaWQtaGVhZC13cmFwcGVyIHtcblx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdC5teC1kYXRhZ3JpZC1oZWFkLWNhcHRpb24ge1xuXHRcdFx0XHR3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQubXgtZGF0YWdyaWQtYm9keS10YWJsZSB7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXG5cdFx0LyogVGFibGUgQm9keSAqL1xuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0cGFkZGluZzogJHBhZGRpbmctdGFibGUtY2VsbC10b3AgJHBhZGRpbmctdGFibGUtY2VsbC1yaWdodCAkcGFkZGluZy10YWJsZS1jZWxsLWJvdHRvbSAkcGFkZGluZy10YWJsZS1jZWxsLWxlZnQ7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDA7XG5cdFx0XHRcdGJvcmRlci10b3Atd2lkdGg6IDFweDtcblx0XHRcdFx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGdyaWQtYm9yZGVyLWNvbG9yO1xuXHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG5cdFx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRcdG91dGxpbmU6IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0LyogVGV4dCB3aXRob3V0IHNwYWNlcyAqL1xuXHRcdFx0XHQubXgtZGF0YWdyaWQtZGF0YS13cmFwcGVyIHtcblx0XHRcdFx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0Jjpob3ZlciB0ZCB7XG5cdFx0XHRcblx0XHRcdH1cblx0XHRcdCYuc2VsZWN0ZWQgdGQsXG5cdFx0XHQmLnNlbGVjdGVkOmhvdmVyIHRkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQgIWltcG9ydGFudDtcblx0XHRcdFx0Y29sb3I6ICRncmlkLXNlbGVjdGVkLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQvKiBUYWJsZSBGb290ZXIgKi9cblx0XHQubXgtZGF0YWdyaWQtZm9vdCB7XG5cblx0XHRcdD4gdHIgPiB0aCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1mb290ZXItYmc7IFxuXHRcdFx0XHRib3JkZXItd2lkdGg6IDA7XG5cdFx0XHR9XG5cblx0XHRcdD4gdHIgPiB0ZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdFx0XHRib3JkZXItd2lkdGg6IDA7XG5cdFx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmICo6Zm9jdXMge1xuXHRcdFx0b3V0bGluZTogMDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGF0YWdyaWQgU3RyaXBlZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBEYXRhZ3JpZCBXaWRnZXQgd2l0aCBzdHJpcGVkIHJvd3Ncbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGF0YWdyaWQtc3RyaXBlZC5teC1kYXRhZ3JpZCB7XG5cdC5teC1kYXRhZ3JpZC1oZWFkLXRhYmxlIHtcblx0XHR0aCB7IGJvcmRlci13aWR0aDogMDsgfVxuXHRcdC5teC1kYXRhZ3JpZC1oZWFkLXdyYXBwZXIge1xuXHRcdFx0XG5cdFx0fVxuXHR9XG5cdC5teC1kYXRhZ3JpZC1ib2R5LXRhYmxlIHtcblx0XHQvKiBCb2R5ICovXG5cdFx0Lm14LWRhdGFncmlkLWJvZHkgdHIge1xuXHRcdFx0dGQge1xuXHRcdFx0XHRib3JkZXItdG9wLXdpZHRoOiAwO1xuXHRcdFx0fVxuXHRcdFx0JjpudGgtY2hpbGQob2RkKSB0ZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLXN0cmlwZWQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIEJvcmRlcmVkXG5cbiAgIERlZmF1bHQgTWVuZGl4IERhdGFncmlkIFdpZGdldCB3aXRoIGJvcmRlcnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGF0YWdyaWQtYm9yZGVyZWQubXgtZGF0YWdyaWQge1xuXHQubXgtZGF0YWdyaWQtaGVhZC10YWJsZSB7XG5cdFx0dGggeyBcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDFweDsgXG5cdFx0fVxuXHRcdC5teC1kYXRhZ3JpZC1oZWFkLXdyYXBwZXIge1xuXG5cdFx0fVxuXHR9XG5cdC5teC1kYXRhZ3JpZC1ib2R5LXRhYmxlIHtcblx0XHRib3JkZXI6IDFweCBzb2xpZDtcblx0XHQubXgtZGF0YWdyaWQtYm9keSB0ciB7XG5cdFx0XHR0ZCB7XG5cdFx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lm14LWRhdGFncmlkLWZvb3Qge1xuXHRcdD4gdHIgPiB0aCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1mb290ZXItYmc7IFxuXHRcdFx0Ym9yZGVyLXdpZHRoOiAwO1xuXHRcdH1cblx0XHQ+IHRyID4gdGQge1xuXHRcdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIEhvdmVyXG5cbiAgIERlZmF1bHQgTWVuZGl4IERhdGFncmlkIFdpZGdldCB3aXRoIGhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhdGFncmlkLWhvdmVyLm14LWRhdGFncmlkIHsgXG5cdC5teC1kYXRhZ3JpZC1ib2R5LXRhYmxlIHtcblx0XHQvLyBCb2R5XG5cdFx0Lm14LWRhdGFncmlkLWJvZHkgdHIge1xuXHRcdFx0Jjpob3ZlciB0ZCB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLWhvdmVyICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0XHQmLnNlbGVjdGVkOmhvdmVyIHRkIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQtaG92ZXIgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGF0YWdyaWQgTGFyZ2VcblxuICAgRGVmYXVsdCBNZW5kaXggRGF0YWdyaWQgV2lkZ2V0IHdpdGggbGFyZ2Ugcm93c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5kYXRhZ3JpZC1sYXJnZS5teC1kYXRhZ3JpZCB7XG5cdC5teC1kYXRhZ3JpZC1oZWFkLXRhYmxlIHtcblx0XHQubXgtZGF0YWdyaWQtaGVhZC13cmFwcGVyIHtcblx0XHRcdHBhZGRpbmc6IDE1cHggMTBweDtcblx0XHR9XG5cdH1cblxuXHQubXgtZGF0YWdyaWQtYm9keS10YWJsZSB7XG5cdFx0Lm14LWRhdGFncmlkLWJvZHkgdHIge1xuXHRcdFx0dGQge1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIERhdGFncmlkIFRyYW5zcGFyZW50XG5cbiAgIERlZmF1bHQgTWVuZGl4IERhdGFncmlkIFdpZGdldCB3aXRoIHRyYW5zcGFyZW50IGJhY2tncm91bmQgZm9yIHJvdyBhbmQgY2VsbHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGF0YWdyaWQtdHJhbnNwYXJlbnQubXgtZGF0YWdyaWQge1xuXHQubXgtZGF0YWdyaWQtaGVhZC10YWJsZSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdH1cblx0Lm14LWRhdGFncmlkLWJvZHktdGFibGUge1xuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdCY6bnRoLW9mLXR5cGUob2RkKSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0fVxuXHRcdFx0dGQge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGF0YWdyaWQgRnVsbCBTZWFyY2hcblxuICAgRGVmYXVsdCBNZW5kaXggRGF0YWdyaWQgV2lkZ2V0IHdpdGggYWRqdXN0ZWQgc2VhcmNoIGZpZWxkLiBPbmx5IDEgc2VhcmNoIGZpZWxkIGlzIGFsbG93ZWRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtZ3JpZC5kYXRhZ3JpZC1mdWxsc2VhcmNoIHtcblx0Lm14LWdyaWQtc2VhcmNoLWJ1dHRvbiB7XG5cdFx0QGV4dGVuZCAuYnRuLXByaW1hcnk7XG5cdH1cblx0Lm14LWdyaWQtcmVzZXQtYnV0dG9uIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG5cdC5teC1ncmlkLXNlYXJjaC1pdGVtIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHQubXgtZ3JpZC1zZWFyY2gtbGFiZWwge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblx0Lm14LWdyaWQtc2VhcmNoYmFyIHtcblx0XHQubXgtZ3JpZC1zZWFyY2gtY29udHJvbHMge1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuICBcdFx0XHRyaWdodDogMDtcbiAgXHRcdH1cblx0XHQubXgtZ3JpZC1zZWFyY2gtaW5wdXQge1xuXHRcdFx0d2lkdGg6IDgwJTtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0XHRcdC5mb3JtLWNvbnRyb2wge1xuXHRcdFx0XHRoZWlnaHQ6IDM1cHg7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBEYXRhdmlld1xuXG4gICBEZWZhdWx0IE1lbmRpeCBEYXRhdmlldyBXaWRnZXQuIFRoZSBkYXRhIHZpZXcgaXMgdXNlZCBmb3Igc2hvd2luZyB0aGUgY29udGVudHMgb2YgZXhhY3RseSBvbmUgb2JqZWN0XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWRhdGF2aWV3IHtcblxuXHQvKiBDb250cm9sIGJhciAqL1xuXHQubXgtZGF0YXZpZXctY29udHJvbHMge1xuXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ly8gTmVlZGVkIHRvIGNsZWFyIHRoZSBib290c3RyYXAgY29sdW1ucyAoZ2V0IGZsb2F0OiBsZWZ0KVxuXHRcdGNsZWFyOiBib3RoO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdFx0cGFkZGluZzogOHB4IDA7XG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRkYXRhdmlldy1jb250cm9scy1ib3JkZXItY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGRhdGF2aWV3LWNvbnRyb2xzLWJnO1xuXG5cdFx0LyogQnV0dG9ucyAqL1xuXHRcdC5teC1idXR0b24ge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcblx0XHR9XG5cdH1cblxuXHQvKiBEYXRhdmlldy1jb250ZW50IGdpdmVzIHByb2JsZW1zIGZvciBuZXh0ZWQgbGF5b3V0IGdyaWQgY29udGFpbmVycyAqL1xuXHQ+IC5teC1kYXRhdmlldy1jb250ZW50ID4gLm14LWNvbnRhaW5lci1uZXN0ZWQge1xuXHRcdD4gLnJvdyB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRtYXJnaW4tbGVmdDogMDtcblx0XHR9XG5cdH1cblxuXHQvKiBEYXRhdmlldyBlbXB0eSBtZXNzYWdlICovXG4gICAgLm14LWRhdGF2aWV3LW1lc3NhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGF0YXZpZXctZW1wdHltZXNzYWdlLWJnO1xuICAgICAgICBjb2xvcjpcdCRkYXRhdmlldy1lbXB0eW1lc3NhZ2UtY29sb3I7XG4gICAgfVxufVxuIiwiLypcbiogTWVuZGl4IERvY3VtZW50YXRpb25cbiogU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgY29tcG9uZW50c1xuKi9cblxuXG4vKlxuKiBEaWppdCBXaWRnZXRzXG4qXG4qIERlZmF1bHQgRG9qbyBEaWppdCBXaWRnZXRzXG4qL1xuXG5cbi8qXG4gKiBEaWppdCBDYWxlbmRhciBXaWRnZXRcbiAqXG4gKiBVc2VkIGluIGRhdGF2aWV3c1xuICovXG4uZGlqaXRDYWxlbmRhckNvbnRhaW5lciB7XG5cdC8qIChtdXN0IGJlIGhpZ2hlciB0aGFuIHBvcHVwIHotaW5kZXgpICovXG5cdHotaW5kZXg6IDEwMDEwICFpbXBvcnRhbnQ7XG5cdGJhY2tncm91bmQtY29sb3I6ICNlZmYwZjI7XG5cblx0dHIge1xuXHRcdHRoIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICMyNjMyM0Q7XG5cdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cdFx0dGgsXG5cdFx0dGQge1xuXHRcdFx0cGFkZGluZzogNnB4O1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdH1cblx0XHR0ZCAuZGlqaXRDYWxlbmRhckRhdGVMYWJlbCB7XG5cdFx0XHRjb2xvcjogIzAwMDtcblx0XHR9XG5cdFx0dGZvb3QgaDMge1xuXHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0cGFkZGluZzogMDtcblx0XHRcdGZvbnQtc2l6ZTogaW5oZXJpdDtcblx0XHR9XG5cdH1cblxuXHQuZGlqaXRDYWxlbmRhck1vbnRoTGFiZWwge1xuXHRcdEBpbmNsdWRlIGZvbnQoYm9sZCk7XG5cdH1cblx0LmRpaml0QnV0dG9uTm9kZSB7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG5cdC5kaWppdENhbGVuZGFyQXJyb3cge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0fVxuXHQuZGlqaXRDYWxlbmRhclNlbGVjdGVkRGF0ZSxcblx0LmRpaml0Q2FsZW5kYXJTZWxlY3RlZERhdGU6aG92ZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0YmFja2dyb3VuZDogJGJyYW5kLXByaW1hcnk7XG5cdFx0LmRpaml0Q2FsZW5kYXJEYXRlTGFiZWwge1xuXHRcdFx0Y29sb3I6ICNmZmY7XG5cdFx0fVxuXHR9XG5cdC5kaWppdENhbGVuZGFySG92ZXJlZERhdGUsXG5cdC5kaWppdENhbGVuZGFyUHJldmlvdXNZZWFySG92ZXIsXG5cdC5kaWppdENhbGVuZGFyTmV4dFllYXJIb3Zlcixcblx0LmRpaml0Q2FsZW5kYXJNb250aExhYmVsSG92ZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI2RiZGNkZDtcblx0fVxuXHQuZGlqaXRDYWxlbmRhclllYXJDb250YWluZXIgdGQge1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdGNvbG9yOiAjMDAwO1xuXHRcdC5kaWppdENhbGVuZGFyU2VsZWN0ZWRZZWFyIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQoYm9sZCk7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblx0XHR9XG5cdH1cblx0LmRpaml0Q2FsZW5kYXJNb250aENvbnRhaW5lciB0aDpmaXJzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXRvcC1sZWZ0LXJhZGl1czogM3B4O1xuXHR9XG5cdC5kaWppdENhbGVuZGFyTW9udGhDb250YWluZXIgdGg6bGFzdC1jaGlsZCB7XG5cdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDNweDtcblx0fVxufVxuXG4uZGlqaXRDYWxlbmRhck1vbnRoTWVudVBvcHVwIHtcblx0Ym9yZGVyLXJhZGl1czogM3B4O1xuXHQvKiAobXVzdCBiZSBoaWdoZXIgdGhhbiBwb3B1cCB6LWluZGV4KSAqL1xuXHR6LWluZGV4OiAxMDAyMCAhaW1wb3J0YW50O1xuXHRwYWRkaW5nOiAzcHggNHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjMjYzMjNEO1xuXHQuZGlqaXRDYWxlbmRhck1vbnRoTWVudSB7XG5cdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0LmRpaml0Q2FsZW5kYXJNb250aExhYmVsIHtcblx0XHRcdHBhZGRpbmc6IDJweCAwO1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGNvbG9yOiAjNDI4MGNiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uZGpfcnRsIHtcblx0LmRpaml0Q2FsZW5kYXJDb250YWluZXIge1xuXHQgXHQuZGlqaXRDYWxlbmRhck1vbnRoQ29udGFpbmVyIHtcblx0IFx0XHR0aCB7XG5cblx0IFx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHQgXHRcdFx0XHRib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAwcHg7XG5cdCBcdFx0XHRcdGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAzcHg7XHRcblx0IFx0XHRcdH1cblx0IFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdCBcdFx0XHRcdGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDNweDtcblx0IFx0XHRcdFx0Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IDBweDtcblx0IFx0XHRcdH1cblx0IFx0XHR9XG5cdCBcdH1cblx0fVxufVxuXG5cbi8qXG4gKiBEaWppdCBUb29sdGlwIFdpZGdldFxuICpcbiAqIERlZmF1bHQgdG9vbHRpcCB1c2VkIGZvciBNZW5kaXggd2lkZ2V0c1xuICovXG4ubXgtdG9vbHRpcCB7XG5cdC5kaWppdFRvb2x0aXBDb250YWluZXIge1xuXHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRib3gtc2hhZG93Olx0MCA2cHggMTJweCByZ2JhKDAsMCwwLDAuMTc1KTtcblxuXHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHRcdGJvcmRlci1jb2xvcjogJGdyYXktbGlnaHQ7XG5cdFx0YmFja2dyb3VuZDogI0ZGRjtcblxuXHRcdC5teC10b29sdGlwLWNvbnRlbnQge1xuXHRcdFx0cGFkZGluZzogMTBweDtcblx0XHR9XG5cdFx0LmZvcm0tZ3JvdXAge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogNXB4O1xuXHRcdH1cblx0fVxuXG5cdC5kaWppdFRvb2x0aXBDb25uZWN0b3Ige1xuXHRcdG1hcmdpbi1sZWZ0OiAtMTBweDtcblx0XHR3aWR0aDogMDtcblx0XHRoZWlnaHQ6IDA7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxMHB4IDEwcHggMTBweCAwO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXItcmlnaHQtY29sb3I6ICRncmF5LWxpZ2h0O1xuXHR9XG59XG5cblxuLypcbiAqIERpaml0IEJvcmRlciBDb250YWluZXJcbiAqXG4gKiBVc2VkIGluIE1lbmRpeCBhcyBzcGxpdCBwYW5lIGNvbnRhaW5lcnNcbiAqL1xuLmRpaml0Qm9yZGVyQ29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYztcblxuICAgIC5kaWppdFNwbGl0dGVyVixcblx0LmRpaml0R3V0dGVyViB7XG5cdFx0d2lkdGg6IDVweDtcblx0XHRib3JkZXI6IDA7XG5cdFx0YmFja2dyb3VuZDogI2ZjZmNmYztcblx0fVxuXHQuZGlqaXRTcGxpdHRlckgsXG5cdC5kaWppdEd1dHRlckgge1xuXHRcdGhlaWdodDogNXB4O1xuXHRcdGJvcmRlcjogMDtcblx0XHRiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuXHR9XG5cdC5kaWppdFNwbGl0dGVySCB7XG5cdFx0LmRpaml0U3BsaXR0ZXJUaHVtYiB7XG5cdFx0XHR0b3A6IDJweDtcblx0XHRcdHdpZHRoOiAxOXB4O1xuXHRcdFx0aGVpZ2h0OiAxcHg7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjQjBCMEIwO1xuXHRcdH1cblx0fVxuXHQuZGlqaXRTcGxpdHRlclYge1xuXHRcdC5kaWppdFNwbGl0dGVyVGh1bWIge1xuXHRcdFx0bGVmdDogMnB4O1xuXHRcdFx0d2lkdGg6IDFweDtcblx0XHRcdGhlaWdodDogMTlweDtcblx0XHRcdGJhY2tncm91bmQ6ICNCMEIwQjA7XG5cdFx0fVxuXHR9XG5cdC5kaWppdFNwbGl0Q29udGFpbmVyLWNoaWxkLCBcblx0LmRpaml0Qm9yZGVyQ29udGFpbmVyLWNoaWxkIHtcblx0ICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG5cdH1cblx0LmRpaml0Qm9yZGVyQ29udGFpbmVyLWRpaml0VGFiQ29udGFpbmVyVG9wLCBcblx0LmRpaml0Qm9yZGVyQ29udGFpbmVyLWRpaml0VGFiQ29udGFpbmVyQm90dG9tLCBcblx0LmRpaml0Qm9yZGVyQ29udGFpbmVyLWRpaml0VGFiQ29udGFpbmVyTGVmdCxcblx0LmRpaml0Qm9yZGVyQ29udGFpbmVyLWRpaml0VGFiQ29udGFpbmVyUmlnaHQge1xuXHQgICAgYm9yZGVyOiBub25lO1xuXHR9XG5cdC5kaWppdEJvcmRlckNvbnRhaW5lci1kaWppdEJvcmRlckNvbnRhaW5lciB7XG5cdCAgICBwYWRkaW5nOiAwO1xuXHQgICAgYm9yZGVyOiBub25lO1xuXHR9XG5cdC5kaWppdFNwbGl0dGVyQWN0aXZlIHtcblx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0ZmlsdGVyOiBhbHBoYShvcGFjaXR5PTYwKTsgLyogRm9yIElFOCBhbmQgZWFybGllciAqL1xuXHRcdFxuXHRcdG1hcmdpbjogMDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYWFhO1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG5cdFx0Zm9udC1zaXplOiAxcHg7XG5cdH1cblx0LmRpaml0U3BsaXRDb250YWluZXItZGlqaXRDb250ZW50UGFuZSxcblx0LmRpaml0Qm9yZGVyQ29udGFpbmVyLWRpaml0Q29udGVudFBhbmUge1xuXHRcdHBhZGRpbmc6IDVweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHR9XG59XG5cblxuLypcbiAqIERpaml0IE1lbnUgUG9wdXBcbiAqXG4gKiBVc2VkIGluIGRhdGVwaWNrZXJzIGFuZCBjYWxlbmRhciB3aWRnZXRzXG4gKi9cbi5kaWppdE1lbnVQb3B1cCB7XG5cdG1hcmdpbi10b3A6IDEwcHg7XG4gICAgLmRpaml0TWVudSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IC8vIE5vIHRvcCBtYXJnaW4gYmVjYXVzZSB0aGVyZSBpcyBubyBwYXJlbnQgd2l0aCBtYXJnaW4gYm90dG9tXG4gICAgICAgIHBhZGRpbmc6IDEycHggMTBweDtcbiAgICAgICAgYmFja2dyb3VuZDogJGJyYW5kLWludmVyc2U7XG4gICAgICAgIHdpZHRoOiAyMDBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIGJvcmRlcjogbWVkaXVtIHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGJyYW5kLWludmVyc2U7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gTWVudSBpdGVtXG4gICAgICAgIC5kaWppdE1lbnVJdGVtIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgLmRpaml0TWVudUl0ZW1MYWJlbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cdFx0XHRcdG92ZXJmbG93OiBoaWRkZW47XG5cdFx0XHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gSG92ZXJcbiAgICAgICAgICAgICYuZGlqaXRNZW51SXRlbUhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIC5kaWppdE1lbnVJdGVtTGFiZWwgeyAgXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRicmFuZC1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE5ldyBsYWJlbFxuICAgICAgICAudGdfbmV3bGFiZWxtZW51aXRlbSB7XG4gICAgICAgICAgICAuZGlqaXRNZW51SXRlbUxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250KGJvbGQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU2VwZXJhdG9yXG4gICAgICAgIC5kaWppdE1lbnVTZXBhcmF0b3Ige1xuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmRpaml0TWVudVNlcGFyYXRvckljb25DZWxsIHtcbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDsgLy9vdmVycmlkZSBkaWppdCBzdHlsaW5nXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgXG4gICAgfVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdseXBoaWNvbnNcblxuICAgR2x5cGhpY29ucyBhbHRlcm5hZWQgdG8gdXNlIHdpdGggTWVuZGl4XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdseXBoaWNvbiB7XG5cdCY6YmVmb3JlIHtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0Zm9udC1mYW1pbHk6ICdHbHlwaGljb25zIEhhbGZsaW5ncyc7XG5cdFx0LXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG5cdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRtYXJnaW4tcmlnaHQ6IDAuNDU1NTU1NWVtO1xuXHRcdG1hcmdpbi10b3A6IC0wLjJlbTtcblx0XHRsaW5lLWhlaWdodDogaW5oZXJpdDtcblx0XHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JvdXBib3hcblxuICAgRGVmYXVsdCBNZW5kaXggR3JvdXBib3hlc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1ncm91cGJveCB7XG5cdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0QGluY2x1ZGUgZm9udChib2xkKTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdG1hcmdpbjogMDtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JvdXBib3gtZGVmYXVsdC1iZztcblx0XHRjb2xvcjogJGdyb3VwYm94LWRlZmF1bHQtY29sb3I7XG5cdFx0Zm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHggMXB4IDAgMXB4O1xuXHRcdGJvcmRlci1jb2xvcjogJGdyb3VwYm94LWRlZmF1bHQtYmc7XG5cblx0XHQubXgtZ3JvdXBib3gtY29sbGFwc2UtaWNvbiB7XG5cdFx0XHRtYXJnaW4tdG9wOiAwLjFlbTtcblx0XHR9XG5cdH1cblx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcbiAgICBcdHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBcdGJvcmRlci1jb2xvcjogJGdyb3VwYm94LWRlZmF1bHQtYmc7XG4gICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLXdpZHRoOiAxcHg7XG5cbiAgXHR9XG4gIFx0Lm14LWdyb3VwYm94LWhlYWRlciArIC5teC1ncm91cGJveC1ib2R5IHtcbiAgXHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0fVxuXG5cdCYuY29sbGFwc2VkID4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcm91cGJveCBDYWxsb3V0c1xuXG4gICBEZWZhdWx0IE1lbmRpeCBHcm91cGJveGVzIHJlbmRlcmVkIGFzIChCb290c3RyYXApIGNhbGxvdXRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyb3VwYm94IHtcblxuXHQvLyBTdHlsaW5nbGVzcyBoYXMgbm8gc3RseWluZyBvciBwYWRkaW5nICh1c2VkIGZvciB3cmFwcGVyKVxuXHQmLmdyb3VwYm94LXN0eWxpbmdsZXNzICB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0ICAgIFx0cGFkZGluZzogMDtcblx0ICAgIFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHQgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0ICBcdH1cblx0fVxuXG5cdC8vIEJvcmRlciByYWRpdXNcblx0Ji5ncm91cGJveC1ib3JkZXItcmFkaXVzIHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogM3B4IDNweCAwIDAgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAzcHggIWltcG9ydGFudDtcblx0ICBcdH1cblx0ICBcdC5teC1ncm91cGJveC1oZWFkZXIgKyAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAwIDAgM3B4IDNweCAhaW1wb3J0YW50O1xuXHQgIFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtYm9yZGVybGVzcyB7XG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXI6IDAgIWltcG9ydGFudDtcblx0ICBcdH1cblx0fVxuXHQmLmdyb3VwYm94LWJvcmRlci10b3Age1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLXRvcC1zdHlsZTogc29saWQgIWltcG9ydGFudFxuXHQgIFx0fVxuXHQgIFx0Lm14LWdyb3VwYm94LWhlYWRlciArIC5teC1ncm91cGJveC1ib2R5IHtcblx0ICBcdFx0Ym9yZGVyLXRvcC1zdHlsZTogbm9uZSAhaW1wb3J0YW50O1xuXHQgIFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtYm9yZGVyLXJpZ2h0IHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZCAhaW1wb3J0YW50XG5cdCAgXHR9XG5cdH1cblx0Ji5ncm91cGJveC1ib3JkZXItYm90dG9tIHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHRcdGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkICFpbXBvcnRhbnRcblx0ICBcdH1cblx0fVxuXHQmLmdyb3VwYm94LWJvcmRlci1sZWZ0IHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0Ym9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkICFpbXBvcnRhbnRcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRib3JkZXItbGVmdC1zdHlsZTogc29saWQgIWltcG9ydGFudFxuXHQgIFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEdyb3VwYm94IENvbG9yc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1ncm91cGJveCAge1xuXHQvLyBDb2xvciB2YXJpYXRpb25zIFxuXHQmLmdyb3VwYm94LWRlZmF1bHQge1xuXHRcdCBAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC1kZWZhdWx0LWNvbG9yLCAkZ3JvdXBib3gtZGVmYXVsdC1iZyk7XG5cdH1cblx0Ji5ncm91cGJveC1wcmltYXJ5IHtcblx0XHRAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC1wcmltYXJ5LWNvbG9yLCAkZ3JvdXBib3gtcHJpbWFyeS1iZyk7XG5cdH1cblx0Ji5ncm91cGJveC1pbnZlcnNlIHtcblx0XHRAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC1pbnZlcnNlLWNvbG9yLCAkZ3JvdXBib3gtaW52ZXJzZS1iZyk7XG5cdH1cblx0Ly8gU3VjY2VzcyBhcHBlYXJzIGFzIGdyZWVuXG5cdCYuZ3JvdXBib3gtc3VjY2VzcyB7XG5cdFx0QGluY2x1ZGUgZ3JvdXBib3gtdmFyaWFudCgkZ3JvdXBib3gtc3VjY2Vzcy1jb2xvciwgJGdyb3VwYm94LXN1Y2Nlc3MtYmcpO1xuXHR9XG5cdC8vIEluZm8gYXBwZWFycyBhcyBibHVlLWdyZWVuXG5cdCYuZ3JvdXBib3gtaW5mbyB7XG5cdFx0QGluY2x1ZGUgZ3JvdXBib3gtdmFyaWFudCgkZ3JvdXBib3gtaW5mby1jb2xvciwgJGdyb3VwYm94LWluZm8tYmcpO1xuXHR9XG5cdC8vIFdhcm5pbmcgYXBwZWFycyBhcyBvcmFuZ2Vcblx0Ji5ncm91cGJveC13YXJuaW5nIHtcblx0XHRAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC13YXJuaW5nLWNvbG9yLCAkZ3JvdXBib3gtd2FybmluZy1iZyk7XG5cdH1cblx0Ly8gRGFuZ2VyIGFuZCBlcnJvciBhcHBlYXIgYXMgcmVkXG5cdCYuZ3JvdXBib3gtZGFuZ2VyIHtcblx0XHRAaW5jbHVkZSBncm91cGJveC12YXJpYW50KCRncm91cGJveC1kYW5nZXItY29sb3IsICRncm91cGJveC1kYW5nZXItYmcpO1xuXHR9XG5cdC8vIHdoaXRlIGFwcGVhcnMgYXMgZnVsbCB3aGl0ZVx0XG5cdCYuZ3JvdXBib3gtd2hpdGUge1xuXHRcdEBpbmNsdWRlIGdyb3VwYm94LXZhcmlhbnQoJGdyb3VwYm94LXdoaXRlLWNvbG9yLCAkZ3JvdXBib3gtd2hpdGUtYmcpO1xuXHR9XG5cdCYuZ3JvdXBib3gtdHJhbnNwYXJlbnQgIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuICAgIFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcm91cGJveCBTcGFjaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyb3VwYm94IHtcblxuXHQmLmdyb3VwYm94LXNpZGVsZXNzICB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdHBhZGRpbmctbGVmdDogMDtcblx0ICBcdH1cblx0fVxuXG5cdCYuZ3JvdXBib3gtYm9keWxlc3MgIHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0cGFkZGluZzogMDtcblx0ICBcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBHcm91cGJveCBIZWFkZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LWdyb3VwYm94IHtcdFxuXHQmLmdyb3VwYm94LWgxID4gLm14LWdyb3VwYm94LWhlYWRlciB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMTsgfSBcblx0Ji5ncm91cGJveC1oMiA+IC5teC1ncm91cGJveC1oZWFkZXIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDI7IH1cblx0Ji5ncm91cGJveC1oMyA+IC5teC1ncm91cGJveC1oZWFkZXIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDM7IH1cblx0Ji5ncm91cGJveC1oNCA+IC5teC1ncm91cGJveC1oZWFkZXIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDQ7IH1cblx0Ji5ncm91cGJveC1oNSA+IC5teC1ncm91cGJveC1oZWFkZXIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDU7IH1cblx0Ji5ncm91cGJveC1oNiA+IC5teC1ncm91cGJveC1oZWFkZXIgeyBmb250LXNpemU6ICRmb250LXNpemUtaDY7IH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgR3JvdXBib3ggQ2FsbG91dHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtZ3JvdXBib3gge1x0XG5cdCYuZ3JvdXBib3gtY2FsbG91dCB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyLCBcblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0ICAgIFx0Ym9yZGVyOiAwO1xuXHQgIFx0fVxuXHQgIFx0Lm14LWdyb3VwYm94LWhlYWRlciArIC5teC1ncm91cGJveC1ib2R5IHtcblx0ICBcdFx0cGFkZGluZy10b3A6IDA7XG5cdCAgXHR9XG5cdH1cblx0Ji5ncm91cGJveC1jYWxsb3V0LWluZm8ge1xuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciwgXG5cdFx0PiAubXgtZ3JvdXBib3gtYm9keSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkY2FsbG91dC1pbmZvLWJnO1xuXHRcdH1cblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIge1xuXHRcdFx0Y29sb3I6ICRjYWxsb3V0LWluZm8tY29sb3I7XG5cdFx0fVxuXHR9XG5cdCYuZ3JvdXBib3gtY2FsbG91dC1zdWNjZXNzIHtcblx0XHQ+IC5teC1ncm91cGJveC1oZWFkZXIsIFxuXHRcdD4gLm14LWdyb3VwYm94LWJvZHkge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGNhbGxvdXQtc3VjY2Vzcy1iZztcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblx0XHRcdGNvbG9yOiAkY2FsbG91dC1zdWNjZXNzLWNvbG9yO1xuXHRcdH1cblx0fVxuXHQmLmdyb3VwYm94LWNhbGxvdXQtd2FybmluZyB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyLCBcblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjYWxsb3V0LXdhcm5pbmctYmc7XG5cdFx0fVxuXHRcdD4gLm14LWdyb3VwYm94LWhlYWRlciB7XG5cdFx0XHRjb2xvcjogJGNhbGxvdXQtd2FybmluZy1jb2xvcjtcblx0XHR9XG5cdH1cblx0Ji5ncm91cGJveC1jYWxsb3V0LWRhbmdlciB7XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyLCBcblx0XHQ+IC5teC1ncm91cGJveC1ib2R5IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjYWxsb3V0LWRhbmdlci1iZztcblx0XHR9XG5cdFx0PiAubXgtZ3JvdXBib3gtaGVhZGVyIHtcblx0XHRcdGNvbG9yOiAkY2FsbG91dC1kYW5nZXItY29sb3I7XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyc1xuXG4gICBEZWZhdWx0IE1lbmRpeCBIZWxwZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnNob3cge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xufVxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuLmRpc3BsYXktaWU4LW9ubHk6bm90KFthdHRyKj0nJ10pIHtcblx0ZGlzcGxheTogbm9uZTtcblx0cGFkZGluZzogMDtcbn1cbi5saXN0LW5vc3R5bGUge1xuXHR1bCB7XG5cdCAgcGFkZGluZzogMDtcblx0ICBtYXJnaW46IDA7XG5cdFx0bGkge1xuXHRcdCAgbGlzdC1zdHlsZS10eXBlOiBub25lICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG4ubm93cmFwLFxuLm5vd3JhcCAqIHsgLy8gU3RhciBmb3IgaW5zaWRlIGFuIGVsZW1lbnQsIElFOCBzcGFuID4gYVxuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuLmZvcm0tZGlzYWJsZWQgcCB7XG5cdEBleHRlbmQgLmZvcm0tY29udHJvbDtcblx0YmFja2dyb3VuZC1jb2xvcjogJGZvcm0taW5wdXQtYmctZGlzYWJsZWQgIWltcG9ydGFudDtcbn1cbi5wYWRkaW5nLWJvdHRvbS1ub25lIHtcblx0cGFkZGluZy1ib3R0b206IDBcbn1cblxuLyogVmVydGljYWwgQWxpZ24gRWxlbWVudHMgaW4gYSBib290c3RyYXAgcm93LCBhZGQgY2xhc3Mgb24gcm93ICovXG4udi1jZW50ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG5cdGRpdltjbGFzcyo9J2NvbC0nXSB7XG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgXHRmbG9hdDogbm9uZTtcblx0fVxufVxuXG4vKiBSZW1vdmUgcGFkZGluZyBmb3IgQm9vdHN0cmFwIGNvbHVtbnMsIGFkZCBjbGFzcyBvbiByb3cgKi9cbi5uby1ndXR0ZXIgPiBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICBwYWRkaW5nLWxlZnQ6MDtcbn1cblxuLyogUmVuZGVyIERJViBhcyBUYWJsZSBDZWxscyAqL1xuLnRhYmxlIHtcblx0ZGlzcGxheTogdGFibGU7XG59XG4udGFibGUtY2VsbCB7XG5cdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG59XG4uYWxpZ24tdG9wIHtcblx0dmVydGljYWwtYWxpZ246IHRvcDtcbn1cbi5hbGlnbi1taWRkbGUge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmFsaWduLWJvdHRvbSB7XG5cdHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSW1hZ2VzXG5cbiAgIERlZmF1bHQgTWVuZGl4IEltYWdlIFdpZGdldHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5pbWcuaW1nLXJvdW5kZWQsXG4uaW1nLXJvdW5kZWQgaW1nIHtcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xufVxuaW1nLmltZy10aHVtYm5haWwsXG4uaW1nLXRodW1ibmFpbCBpbWcge1xuXHQtbW96LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblxuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0aGVpZ2h0OiBhdXRvO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdHBhZGRpbmc6IDRweDtcblx0bGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRib3JkZXI6IDFweCBzb2xpZCAkYnJhbmQtZGVmYXVsdDtcbn1cbmltZy5pbWctY2lyY2xlLFxuLmltZy1jaXJjbGUgaW1nIHtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xufVxuaW1nLmltZy1hdXRvLFxuLmltZy1hdXRvIGltZyB7XG5cdHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7XG5cdGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuXHRtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcblx0bWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExhYmVsc1xuXG4gICBEZWZhdWx0IGxhYmVscyBjb21iaW5lZCB3aXRoIEJvb3RzdHJhcCBsYWJlbHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGFiZWwge1xuXHRAaW5jbHVkZSBmb250KGJvbGQpOyBcblx0Ym9yZGVyLXJhZGl1czogLjI1ZW07XG5cdGRpc3BsYXk6IGlubGluZTtcblx0cGFkZGluZzogLjJlbSAuNmVtIC4zZW0gIWltcG9ydGFudDtcblx0Y29sb3I6ICNmZmY7XG5cdHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwOyBcblx0Zm9udC1zaXplOiAxMDAlO1xuXHRsaW5lLWhlaWdodDogMTtcbn1cbi5sYWJlbC1kZWZhdWx0IHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1kZWZhdWx0LWJnOyBcblx0Y29sb3I6ICRsYWJlbC1kZWZhdWx0LWNvbG9yO1xufVxuLmxhYmVsLXByaW1hcnkgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXByaW1hcnktYmc7IFxuXHRjb2xvcjogJGxhYmVsLXByaW1hcnktY29sb3I7XG59XG4ubGFiZWwtc3VjY2VzcyB7IFxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1iZzsgXG5cdGNvbG9yOiAkbGFiZWwtc3VjY2Vzcy1jb2xvcjtcbn1cbi5sYWJlbC1pbmZvIHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1pbmZvLWJnOyBcblx0Y29sb3I6ICRsYWJlbC1pbmZvLWNvbG9yO1xufVxuLmxhYmVsLXdhcm5pbmcgeyBcblx0YmFja2dyb3VuZC1jb2xvcjogJGxhYmVsLXdhcm5pbmctYmc7IFxuXHRjb2xvcjogJGxhYmVsLXdhcm5pbmctY29sb3I7XG59XG4ubGFiZWwtZGFuZ2VyIHsgXG5cdGJhY2tncm91bmQtY29sb3I6ICRsYWJlbC1kYW5nZXItYmc7IFxuXHRjb2xvcjogJGxhYmVsLWRhbmdlci1jb2xvcjtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0dmlld1xuXG4gICBEZWZhdWx0IE1lbmRpeCBMaXN0dmlldyBXaWRnZXQuIFRoZSBsaXN0IHZpZXcgc2hvd3MgYSBsaXN0IG9mIG9iamVjdHMgYXJyYW5nZWQgdmVydGljYWxseS4gRWFjaCBvYmplY3QgaXMgc2hvd24gdXNpbmcgYSB0ZW1wbGF0ZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC1saXN0dmlldyB7XG5cdC8qIFJlbW92ZSB3aWRnZXQgcGFkZGluZyAqL1xuXHRwYWRkaW5nOiAwO1xuXG5cdC8qIENsZWFyIHNlYXJjaCBidXR0b24gKG92ZXJyaWRlcyBsb2FkIG1vcmUgYnV0dG9uIHN0eWluZykgKi9cblx0Lm14LWJ1dHRvbi5teC1saXN0dmlldy1jbGVhci1idXR0b24ge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cblx0LyogTG9hZCBtb3JlIGJ1dHRvbiAqL1xuXHQ+IC5teC1idXR0b24ge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdG1hcmdpbjogMTBweCBhdXRvXG5cdH1cblx0Lm14LWxpc3R2aWV3LWxpc3Qge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQubXgtbGlzdHZpZXctaXRlbSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmc7XG5cdFx0cGFkZGluZzogMTBweCAwO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmc7XG5cdFx0fVxuXHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQgIWltcG9ydGFudDtcblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnLXNlbGVjdGVkLWhvdmVyICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCY6bnRoLWNoaWxkKDJuKzEpIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdH1cblx0fVxuXG5cdC5teC1sYXlvdXRncmlkIHtcblx0XHRwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTGlzdHZpZXcgSG92ZXJcblxuICAgRGVmYXVsdCBNZW5kaXggTGlzdHZpZXcgV2lkZ2V0IHdpdGggaG92ZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGlzdHZpZXctaG92ZXIubXgtbGlzdHZpZXcge1xuXHQubXgtbGlzdHZpZXctaXRlbSB7XG5cdFx0Jjpob3Zlcixcblx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1ob3ZlciAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0dmlldyBMaW5lZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBMaXN0dmlldyBXaWRnZXQgd2l0aCBvbmx5IGJvcmRlciBib3R0b20gaW4gbGlzdHZpZXcgaXRlbVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5saXN0dmlldy1saW5lZC5teC1saXN0dmlldyB7XG5cdC5teC1saXN0dmlldy1pdGVtIHtcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJGdyaWQtYm9yZGVyLWNvbG9yO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRib3JkZXItbGVmdDogbm9uZTtcblxuXHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHR9XG5cdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyaWQtYm9yZGVyLWNvbG9yO1xuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0dmlldyBTdHJpcGVkXG5cbiAgIERlZmF1bHQgTWVuZGl4IExpc3R2aWV3IFdpZGdldCB3aXRoIHN0cmlwZWQgbGlzdHZpZXcgaXRlbXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubGlzdHZpZXctc3RyaXBlZC5teC1saXN0dmlldyB7XG5cdC5teC1saXN0dmlldy1pdGVtOm50aC1jaGlsZCgybisxKSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc3RyaXBlZDtcblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaXN0dmlldyBTZXBlcmF0ZWRcblxuICAgRGVmYXVsdCBNZW5kaXggTGlzdHZpZXcgV2lkZ2V0IHdpdGggbGlzdHZpZXcgaXRlbXMgc2VwZXJhdGVkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmxpc3R2aWV3LXNlcGVyYXRlZC5teC1saXN0dmlldyB7XG5cdC5teC1saXN0dmlldy1pdGVtIHtcblx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpc3R2aWV3IFN0eWxpbmdsZXNzXG5cbiAgIERlZmF1bHQgTWVuZGl4IExpc3R2aWV3IFdpZGdldCB3aXRoIGxpc3R2aWV3IGl0ZW1zIHNlcGVyYXRlZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5saXN0dmlldy1zdHlsaW5nbGVzcy5teC1saXN0dmlldyB7XG5cdC5teC1saXN0dmlldy1pdGVtIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHRib3JkZXI6IDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRjdXJzb3I6IGRlZmF1bHQ7XG5cdFx0XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0XHR9XG5cdFx0Ji5zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cdFxuXHQiLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTW9kYWxzXG5cbiAgIERlZmF1bHQgTWVuZGl4IE1vZGFscy4gTW9kYWxzIGFyZSBzdHJlYW1saW5lZCwgYnV0IGZsZXhpYmxlLCBkaWFsb2cgcHJvbXB0cyB3aXRoIHRoZSBtaW5pbXVtIHJlcXVpcmVkIGZ1bmN0aW9uYWxpdHkgYW5kIHNtYXJ0IGRlZmF1bHRzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm1vZGFsLWRpYWxvZyB7XG5cdFxuXHQubW9kYWwtY29udGVudCB7XG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xuXHRcdGJveC1zaGFkb3c6XHQwIDJweCA0cHggcmdiYSgwLDAsMCwuMik7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG5cblx0XHQubW9kYWwtaGVhZGVyIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7IC8vIEJlY2F1c2Ugb2YgdGhlIGNsYXNzIC5teC13aW5kb3ctYWN0aXZlIGluIG14dWkuY3NzXG5cdFx0XHRwYWRkaW5nOiAxNXB4IDIwcHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbW9kYWwtaGVhZGVyLWJnO1xuXHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJG1vZGFsLWhlYWRlci1ib3JkZXItY29sb3I7XG5cdFx0XHRoNCB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQoYm9sZCk7XG5cdFx0XHRcdGNvbG9yOiAkbW9kYWwtaGVhZGVyLWNvbG9yO1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdH1cblx0XHRcdC5jbG9zZSB7XG5cdFx0XHRcdG9wYWNpdHk6IDE7XG5cdFx0XHRcdGZpbHRlcjogYWxwaGEob3BhY2l0eT0xMDApOyAvKiBGb3IgSUU4IGFuZCBlYXJsaWVyICovXG5cblx0XHRcdFx0Y29sb3I6ICRtb2RhbC1oZWFkZXItY29sb3I7XG5cdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRtYXJnaW4tdG9wOiAtM3B4O1xuXHRcdFx0fVxuXHRcdH1cblx0XHQubW9kYWwtYm9keSB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdH1cblx0XHQubW9kYWwtZm9vdGVyIHtcblx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiBEZWZhdWx0IE1lbmRpeCBXaW5kb3cgTW9kYWwgKi9cbi5teC13aW5kb3cge1xuXG5cdC8vIElmIHBvcHVwIGRpcmVjdCBjaGlsZCBpcyBhIGRhdGF2aWV3IGl0IGdldHMgdGhlIGNsYXNzIG14LXdpbmRvdy12aWV3XG5cdCYubXgtd2luZG93LXZpZXcgLm14LXdpbmRvdy1ib2R5IHtcblx0XHRwYWRkaW5nOiAwO1xuXG5cdFx0Ly8gRGF0YXZpZXcgaW4gcG9wdXBcblx0XHQ+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250ZW50LCBcblx0XHQ+IC5teC1wbGFjZWhvbGRlciA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250ZW50IHtcblx0XHRcdHBhZGRpbmc6IDIwcHg7XG5cdFx0fVxuXHRcdD4gLm14LWRhdGF2aWV3ID4gLm14LWRhdGF2aWV3LWNvbnRyb2xzLCBcblx0XHQ+IC5teC1wbGFjZWhvbGRlciA+IC5teC1kYXRhdmlldyA+IC5teC1kYXRhdmlldy1jb250cm9scyB7XG5cdFx0XHRwYWRkaW5nOiAyMHB4O1xuXHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdH1cblx0Lm14LWRhdGF2aWV3LWNvbnRyb2xzIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogMDtcblx0fVxuXHQubXgtbGF5b3V0Z3JpZCB7XG5cdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdHBhZGRpbmctcmlnaHQ6IDA7XG5cdH1cbn1cblxuXG4vKiBEZWZhdWx0IE1lbmRpeCBMb2dpbiBNb2RhbCAqL1xuLm14LWxvZ2luIHtcblx0Lm1vZGFsLWJvZHkge1xuXHRcdHBhZGRpbmc6IDAgMTVweDtcblx0fVxuXHQubW9kYWwtY29udGVudCB7XG5cdFx0aW5wdXQge1xuXHRcdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHRcdHBhZGRpbmc6IDEycHggMTJweDtcblx0XHRcdGhlaWdodDogNTZweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICNFRUU7XG5cdFx0XHRiYWNrZ3JvdW5kOiAjZWVlO1xuXHRcdFx0Zm9udC1zaXplOiAxNnB4O1xuXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAjNjZhZmU5O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHQubW9kYWwtaGVhZGVyLFxuXHQubW9kYWwtZm9vdGVyIHtcblx0XHRib3JkZXI6IDA7XG5cdH1cblx0YnV0dG9uIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cblx0aDQge1xuXHRcdGNvbG9yOiAjYWFhO1xuXHRcdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblx0XHRmb250LXNpemU6IDIwcHg7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOYXZpZ2F0aW9uXG5cbiAgIERlZmF1bHQgTWVuZGl4IE5hdmlnYXRpb24gQmFyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LW5hdmJhciB7XG5cdGJvcmRlci1yYWRpdXM6IDA7XG5cdG1hcmdpbjogMDtcblx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLWJnO1xuXG5cdHVsLm5hdiB7IFxuXG5cdFx0bWFyZ2luOiAwOyAvLyB3ZWlyZCAtbWFyZ2luIGlmIHNjcmVlbiBnZXRzIHNtYWxsIChib290c3RyYXApXG5cdFx0LyogTmF2aWdhdGlvbiBpdGVtICovXG5cdFx0PiBsaS5teC1uYXZiYXItaXRlbSA+IGEge1xuXHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdHBhZGRpbmc6IDE1cHggMjBweDtcblx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yO1xuXHRcdFx0Zm9udC1zaXplOiAkbmF2dG9wYmFyLWZvbnQtc2l6ZTtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cblx0XHRcdC8qIERyb3Bkb3duIGFycm93ICovXG5cdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yO1xuXHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yO1xuXHRcdFx0fVxuXG5cdFx0XHQmOmhvdmVyLFxuXHRcdFx0Jjpmb2N1cyxcblx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZy1ob3Zlcjtcblx0XHRcdFx0Y29sb3I6ICRuYXZ0b3BiYXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0XHQuY2FyZXQge1xuXHRcdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRuYXZ0b3BiYXItY29sb3ItYWN0aXZlO1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZ0b3BiYXItY29sb3ItYWN0aXZlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmLmFjdGl2ZSB7XG4gICAgICAgICAgICBcdGNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZy1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cblx0XHRcdC8qIERyb3Bkb3duICovXG5cdFx0XHQubXgtbmF2YmFyLXN1Ym1lbnU6YmVmb3JlIHtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IC05cHg7XG5cdFx0XHRcdGxlZnQ6IDE1cHg7XG5cdFx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMCA5cHggOXB4IDlweDtcblx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBzb2xpZDtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkbmF2dG9wYmFyLWJvcmRlci1jb2xvciB0cmFuc3BhcmVudDtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcblx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuXHRcdFx0fVxuXG5cdFx0XHQvLyBJbWFnZVxuXHRcdFx0aW1nIHtcblx0XHRcdFx0d2lkdGg6IDIwcHg7IC8vIERlZmF1bHQgc2l6ZSAoc28gaXQgbG9va3MgZ29vZClcblx0XHRcdFx0aGVpZ2h0OiBhdXRvO1xuXHRcdFx0fVxuXG5cdFx0XHQuZ2x5cGhpY29uIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJG5hdnRvcGJhci1nbHlwaC1zaXplO1xuXHRcdFx0XHRcdHRvcDogLTFweDtcblx0XHRcdFx0fVxuXHRcdH1cblxuXHRcdC8qIFdoZW4gaG92ZXJpbmcgb3IgdGhlIGRyb3Bkb3duIGlzIG9wZW4gKi9cblx0XHQ+IC5teC1uYXZiYXItaXRlbSA+IGE6aG92ZXIsIFxuXHRcdD4gLm14LW5hdmJhci1pdGVtID4gYTpmb2N1cyxcblx0XHQ+IC5teC1uYXZiYXItaXRlbS5hY3RpdmUgYSxcblx0XHQ+IC5teC1uYXZiYXItaXRlbS5vcGVuID4gYSwgXG5cdFx0PiAubXgtbmF2YmFyLWl0ZW0ub3BlbiA+IGE6aG92ZXIsIFxuXHRcdD4gLm14LW5hdmJhci1pdGVtLm9wZW4gPiBhOmZvY3VzIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItYmctaG92ZXI7XG5cdFx0XHRjb2xvcjogJG5hdnRvcGJhci1jb2xvci1ob3Zlcjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuXHRcdFx0LmNhcmV0IHtcblx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJG5hdnRvcGJhci1jb2xvci1ob3Zlcjtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdnRvcGJhci1jb2xvci1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0PiAubXgtbmF2YmFyLWl0ZW0ub3BlbiAuZHJvcGRvd24tbWVudSA+IGxpLm14LW5hdmJhci1zdWJpdGVtLmFjdGl2ZSBhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItc3ViLWJnLWFjdGl2ZTtcblx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1jb2xvci1hY3RpdmU7XG5cblx0XHRcdC5jYXJldCB7XG5cdFx0XHRcdGJvcmRlci10b3AtY29sb3I6ICRuYXZ0b3BiYXItc3ViLWNvbG9yLWFjdGl2ZTtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJG5hdnRvcGJhci1zdWItY29sb3ItYWN0aXZlO1xuXHRcdFx0fVxuICAgICAgICB9XG5cdH1cblxuXHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1zbSkge1xuXHRcdHVsLm5hdiA+IGxpLm14LW5hdmJhci1pdGVtID4gYSB7XG5cdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0fVxuXHRcdC5teC1uYXZiYXItaXRlbS5vcGVuIC5kcm9wZG93bi1tZW51IHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItc3ViLWJnO1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRcblx0XHRcdD4gbGkubXgtbmF2YmFyLXN1Yml0ZW0gPiBhIHtcblx0XHRcdFx0QGluY2x1ZGUgZm9udChub3JtYWwpO1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDIwcHg7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1jb2xvcjtcblx0XHRcdFx0Zm9udC1zaXplOiAkbmF2dG9wYmFyLXN1Yi1mb250LXNpemU7XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdFx0Y29sb3I6ICRuYXZ0b3BiYXItc3ViLWNvbG9yLWhvdmVyO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZ0b3BiYXItc3ViLWJnLWhvdmVyO1xuXHRcdFx0XHR9XG5cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLXN1Yi1jb2xvci1hY3RpdmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1zdWItYmctYWN0aXZlO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyogcmVtb3ZlIGZvY3VzICovXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTmF2aWdhdGlvblxuXG4gICBEZWZhdWx0IE1lbmRpeCBOYXZpZ2F0aW9uIFRyZWVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtbmF2aWdhdGlvbnRyZWUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZztcblxuXHQvKiBFdmVyeSBuYXZpZ2F0aW9uIGl0ZW0gKi9cblx0Lm5hdmJhci1pbm5lciB1bCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmctbGVmdDogMDtcblxuXHRcdGxpIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cblx0XHRcdGEge1xuXHRcdFx0XHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOiAxNXB4IDIwcHggMTVweCAxNnB4O1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5hdnNpZGViYXItYm9yZGVyLWNvbG9yO1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHRjb2xvcjogJG5hdnNpZGViYXItY29sb3I7XG5cdFx0XHRcdHRleHQtc2hhZG93OiBub25lO1xuXHRcdFx0XHRmb250LXNpemU6ICRuYXZzaWRlYmFyLWZvbnQtc2l6ZTtcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmc7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cblx0XHRcdFx0LmNhcmV0IHtcblx0XHRcdFx0XHRib3JkZXItdG9wLWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvcjtcblx0XHRcdFx0XHRib3JkZXItYm90dG9tLWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvcjtcblx0XHRcdFx0fVxuXG5cdFx0XHRcdGltZyB7XG5cdFx0XHRcdFx0bWFyZ2luLXJpZ2h0OiA0cHg7XG5cdFx0XHRcdFx0d2lkdGg6IDIwcHg7IC8vIERlZmF1bHQgc2l6ZVxuXHRcdFx0XHRcdGhlaWdodDogYXV0bztcblx0XHRcdFx0fVxuXG5cdFx0XHRcdC5nbHlwaGljb24ge1xuXHRcdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHRcdFx0Zm9udC1zaXplOiAkbmF2c2lkZWJhci1nbHlwaC1zaXplO1xuXHRcdFx0XHRcdHRvcDogLTFweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG5cdFx0XHRhOmhvdmVyLFxuXHRcdFx0YTpmb2N1cyxcblx0XHRcdGEuYWN0aXZlIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmctaG92ZXI7XG5cdFx0XHRcdGNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1ob3Zlcjtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdC5jYXJldCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXRvcC1jb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuXHRcdFx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXG4gICAgICAgICAgICBhLmFjdGl2ZSB7XG4gICAgICAgICAgICBcdGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBcdGNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cblx0XHR9XG5cdH1cblxuXHQvKiBTdWIgbmF2aWdhdGlvbiBpdGVtIHNwZWNpZmljICovXG5cdGxpLm14LW5hdmlnYXRpb250cmVlLWhhcy1pdGVtcyB7XG5cdFx0PiB1bCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRwYWRkaW5nLWxlZnQ6IDA7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1zdWItYmc7XG5cblx0XHRcdGxpIHtcblx0XHRcdFx0bWFyZ2luOiAwO1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0XHRhIHtcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG5cdFx0XHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLXN1Yi1jb2xvcjtcblx0XHRcdFx0XHRmb250LXNpemU6ICRuYXZzaWRlYmFyLXN1Yi1mb250LXNpemU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItc3ViLWJnO1xuXHRcdFx0XHRcdHBhZGRpbmc6IDEycHggMjBweCAxMnB4IDI1cHg7XG5cdFx0XHRcdFx0Ym9yZGVyOiAwO1xuXG5cdFx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0XHQmOmZvY3VzLFxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHRcdFx0XHRcdGNvbG9yOiAkbmF2c2lkZWJhci1zdWItY29sb3ItaG92ZXI7XG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1zdWItYmctaG92ZXI7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdCYuYWN0aXZlIHtcblx0XHQgICAgICAgICAgICBcdGJvcmRlcjogMDtcblx0XHQgICAgICAgICAgICBcdGNvbG9yOiAkbmF2c2lkZWJhci1zdWItY29sb3ItYWN0aXZlO1xuXHRcdCAgICAgICAgICAgIFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItc3ViLWJnLWFjdGl2ZTtcblx0XHQgICAgICAgICAgICB9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKiByZW1vdmUgZm9jdXMgKi9cblx0Jjpmb2N1cyB7XG5cdFx0b3V0bGluZTogMDtcblx0fVxufVxuXG5cbi8qIENvbnRlbnQgQ2VudGVyZCB0ZXh0IGFuZCBpY29ucyAqL1xuXG4ubXgtbmF2aWdhdGlvbnRyZWUubmF2LWNvbnRlbnQtY2VudGVyLXRleHQtaWNvbnMge1xuXHQubmF2YmFyLWlubmVyIHVsIHtcblx0XHRhIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdC5nbHlwaGljb24ge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcbiAgXHRcdFx0XHRtYXJnaW4tYm90dG9tOiA1cHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8qIENvbnRlbnQgQ2VudGVyZCBpY29ucyBvbmx5ICovXG5cbi5teC1uYXZpZ2F0aW9udHJlZS5uYXYtY29udGVudC1jZW50ZXIge1xuXHQubmF2YmFyLWlubmVyIHVsIHtcblx0XHRhIHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdC5nbHlwaGljb24ge1xuXG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5hdmlnYXRpb25cblxuICAgRGVmYXVsdCBNZW5kaXggU2ltcGxlIE1lbnUgQmFyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LW1lbnViYXIge1xuXHRwYWRkaW5nOiAwO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZztcblx0dWwubXgtbWVudWJhci1saXN0IHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtaW4taGVpZ2h0OiA1MHB4O1xuXHRcdHRhYmxlLWxheW91dDogZml4ZWQ7XG5cdFx0bGkubXgtbWVudWJhci1pdGVtIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdFx0YSB7XG5cdFx0XHRcdEBpbmNsdWRlIGZvbnQobm9ybWFsKTtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yO1xuXHRcdFx0XHRmb250LXNpemU6ICRuYXZzaWRlYmFyLXN1Yi1mb250LXNpemU7XG5cdFx0XHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiA1MHB4O1xuXHRcdFx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuXHRcdFx0XHQuZ2x5cGhpY29uIHtcblx0XHRcdFx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogJG5hdnNpZGViYXItZ2x5cGgtc2l6ZTtcblx0XHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGE6aG92ZXIsXG5cdFx0XHRhOmZvY3VzLFx0XHRcdFxuXHRcdFx0Jjpob3ZlciBhLFxuXHRcdFx0Jjpmb2N1cyBhLFxuXHRcdFx0Ji5hY3RpdmUgYSB7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnLWhvdmVyO1xuXHRcdFx0XHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItaG92ZXI7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHRcdCYuYWN0aXZlIGEge1xuICAgICAgICAgICAgXHRjb2xvcjogJG5hdnNpZGViYXItY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZy1hY3RpdmU7XG4gICAgICAgICAgICB9XG5cdFx0fVxuXHR9XG5cblx0LyogVHdvIG1lbnUgaXRlbXMgKi9cblx0Ji5tZW51YmFyLWNvbC02IHVsLm14LW1lbnViYXItbGlzdCBsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdHdpZHRoOiA1MCU7XG5cdH1cblx0LyogVGhyZWUgbWVudSBpdGVtcyAqL1xuXHQmLm1lbnViYXItY29sLTQgdWwubXgtbWVudWJhci1saXN0IGxpLm14LW1lbnViYXItaXRlbSB7XG5cdFx0d2lkdGg6IDMzLjMzMzMzMzMzJTtcblx0fVxuXHQvKiBGb3VyIG1lbnUgaXRlbXMgKi9cblx0Ji5tZW51YmFyLWNvbC0zIHVsLm14LW1lbnViYXItbGlzdCBsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdHdpZHRoOiAyNSU7XG5cdH1cblx0LyogRml2ZSBtZW51IGl0ZW1zICovXG5cdCYubWVudWJhci1jb2wtMiB1bC5teC1tZW51YmFyLWxpc3QgbGkubXgtbWVudWJhci1pdGVtIHtcblx0XHR3aWR0aDogMjAlO1xuXHR9XG5cblx0LyogcmVtb3ZlIGZvY3VzICovXG5cdCY6Zm9jdXMge1xuXHRcdG91dGxpbmU6IDA7XG5cdH1cbn1cblxuLyogdGV4dCBhbmQgaWNvbnMgY2VudGVyZCAqL1xuLm14LW1lbnViYXIuYm90dG9tLW5hdi10ZXh0LWljb25zIHtcblx0dWwubXgtbWVudWJhci1saXN0IHtcblx0XHRsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cdFx0ICBcdFx0cGFkZGluZzogOHB4IDhweCA2cHggOHB4O1xuXHRcdFx0XHQuZ2x5cGhpY29uIHtcblx0XHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHQgIFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHQgIFx0XHRcdG1hcmdpbi1ib3R0b206IDRweDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG59XG5cbi8qIFZlcnRpY2FsIHZhcmlhdGlvbiBzcGVjaWZpY3MgKi9cbi5teC1tZW51YmFyLXZlcnRpY2FsIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZztcblx0dWwubXgtbWVudWJhci1saXN0IHtcblx0XHRsaS5teC1tZW51YmFyLWl0ZW0ge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yO1xuXHRcdFx0XHRmb250LXNpemU6ICRuYXZ0b3BiYXItZm9udC1zaXplO1xuXHRcdFx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG5hdnRvcGJhci1ib3JkZXItY29sb3I7XG5cblx0XHRcdFx0LmdseXBoaWNvbiB7XG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcblx0XHRcdFx0XHRmb250LXNpemU6ICRuYXZ0b3BiYXItZ2x5cGgtc2l6ZTtcblx0XHRcdFx0XHR0b3A6IC0xcHg7XG5cdFx0XHRcdH1cblxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmZvY3VzLFxuXHRcdFx0XHQmLmFjdGl2ZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnRvcGJhci1iZy1ob3Zlcjtcblx0XHRcdFx0XHRjb2xvcjogJG5hdnRvcGJhci1jb2xvci1ob3Zlcjtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ji5hY3RpdmUge1xuXHQgICAgICAgICAgICBcdGNvbG9yOiAkbmF2dG9wYmFyLWNvbG9yLWFjdGl2ZTtcblx0ICAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLWJnLWFjdGl2ZTtcblx0ICAgICAgICAgICAgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vKiBIb3Jpem9udGFsIHZhcmlhdGlvbiBzcGVjaWZpY3MgKi9cbi5teC1tZW51YmFyLWhvcml6b250YWwge1xuXHR1bC5teC1tZW51YmFyLWxpc3Qge1xuXHRcdGxpLm14LW1lbnViYXItaXRlbSB7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHR9XG5cdH1cbn1cblxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5hdmlnYXRpb24gTGlzdFxuXG4gICBEZWZhdWx0IE1lbmRpeCBOYXZpZ2F0aW9uIExpc3QgV2lkZ2V0LiBBIG5hdmlnYXRpb24gbGlzdCBjYW4gYmUgdXNlZCB0byBhdHRhY2ggYW4gYWN0aW9uIHRvIGFuIGVudGlyZSByb3cuIFN1Y2ggYSByb3cgaXMgY2FsbGVkIGEgbmF2aWdhdGlvbiBsaXN0IGl0ZW1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXgtbmF2aWdhdGlvbmxpc3Qge1xuXHRwYWRkaW5nOiAwO1xuXHRtYXJnaW46IDA7XG5cdFxuXHQubXgtbmF2aWdhdGlvbmxpc3QtaXRlbSB7XG5cdFx0cGFkZGluZzogMTVweCAyMHB4IDE1cHggMTZweDtcblx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbmF2c2lkZWJhci1ib3JkZXItY29sb3I7XG5cdFx0Ym9yZGVyLXRvcDogbm9uZTtcblx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRuYXZzaWRlYmFyLWJnO1xuXHRcdGxhYmVsIHtcblx0XHRcdEBpbmNsdWRlIGZvbnQobm9ybWFsKTtcblx0XHRcdGNvbG9yOiAkbmF2c2lkZWJhci1jb2xvcjtcblx0XHRcdGZvbnQtc2l6ZTogJG5hdnNpZGViYXItZm9udC1zaXplO1xuXHRcdH1cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0Ji5hY3RpdmUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmctaG92ZXI7XG5cdFx0XHRsYWJlbCB7XG5cdFx0XHRcdGNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ji5hY3RpdmUge1xuICAgICAgICAgICBcdGJvcmRlci1sZWZ0LWNvbG9yOiAkbmF2c2lkZWJhci1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgIFx0Y29sb3I6ICRuYXZzaWRlYmFyLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZy1hY3RpdmU7XG4gICAgICAgIH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYiBDb250YWluZXJcblxuICAgRGVmYXVsdCBNZW5kaXggVGFiIENvbnRhaW5lciBXaWRnZXQuIFRhYiBjb250YWluZXJzIGFyZSB1c2VkIHRvIHNob3cgaW5mb3JtYXRpb24gY2F0ZWdvcml6ZWQgaW50byBtdWx0aXBsZSB0YWIgcGFnZXMuIFxuICAgVGhpcyBjYW4gYmUgdmVyeSB1c2VmdWwgaWYgdGhlIGFtb3VudCBvZiBpbmZvcm1hdGlvbiB0aGF0IGhhcyB0byBiZSBkaXNwbGF5ZWQgaXMgbGFyZ2VyIHRoYW4gdGhlIGFtb3VudCBvZiBzcGFjZSBvbiB0aGUgc2NyZWVuXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm14LXRhYmNvbnRhaW5lciB7XG5cdC5teC10YWJjb250YWluZXItdGFicyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRib3JkZXItY29sb3I6ICR0YWJzLWJvcmRlci1jb2xvcjtcblx0XHQ+IGxpID4gYSB7XG5cdFx0XHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG5cblx0XHRcdC1tb3otdHJhbnNpdGlvbjogYWxsIC4ycyBlYXNlLWluLW91dDtcblx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnMgZWFzZS1pbi1vdXQ7XG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgLjJzIGVhc2UtaW4tb3V0O1xuXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XG5cdFx0XHRjb2xvcjogJHRhYnMtY29sb3I7XG5cdFx0XHRcblx0XHRcdCY6aG92ZXIsXG5cdFx0XHQmOmZvY3VzIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYnMtYmctaG92ZXI7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0PiBsaS5hY3RpdmUgPiBhLFxuXHRcdD4gbGkuYWN0aXZlID4gYTpob3Zlcixcblx0XHQ+IGxpLmFjdGl2ZSA+IGE6Zm9jdXMgIHtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJvcmRlci1jb2xvcjtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0XHRcdGNvbG9yOiAkdGFicy1jb2xvci1hY3RpdmU7XG5cdFx0fVxuXHR9XG5cdC5teC10YWJjb250YWluZXItY29udGVudCB7XG5cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWIgQ29udGFpbmVyIFBpbGxzXG5cbiAgIERlZmF1bHQgTWVuZGl4IFRhYiBDb250YWluZXIgV2lkZ2V0IHJlbmRlcmVkIGFzIFBpbGxzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYi1waWxscy5teC10YWJjb250YWluZXIge1xuXHQubXgtdGFiY29udGFpbmVyLXRhYnMge1xuXHRcdGJvcmRlcjogMDtcblx0XHQ+IGxpID4gYSB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDJweDtcblx0XHRcdGJvcmRlcjogMXB4IHNvbGlkICR0YWJzLWJvcmRlci1jb2xvcjtcblx0XHRcdGNvbG9yOiAkdGFicy1jb2xvcjtcblxuXHRcdFx0Jjpob3Zlcixcblx0XHRcdCY6Zm9jdXMge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1iZy1ob3Zlcjtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQ+IGxpLmFjdGl2ZSA+IGEsXG5cdFx0PiBsaS5hY3RpdmUgPiBhOmhvdmVyLFxuXHRcdD4gbGkuYWN0aXZlID4gYTpmb2N1cyAge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHRhYnMtYmctYWN0aXZlO1xuXHRcdFx0Y29sb3I6ICNGRkY7XG5cdFx0XHRib3JkZXItY29sb3I6ICR0YWJzLWJnLWFjdGl2ZTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFiIENvbnRhaW5lciBMaW5lZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBUYWIgQ29udGFpbmVyIFdpZGdldCByZW5kZXJlZCB3aXRoIHRhYnMgcmVuZGVyZWQgd2l0aG91dCBiYWNrZ3JvdW5kXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYi1saW5lZC5teC10YWJjb250YWluZXIge1xuXHQubXgtdGFiY29udGFpbmVyLXRhYnMge1xuICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDNweDtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Y29sb3I6ICR0YWJzLWNvbG9yO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciwgXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgXHRib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHRhYnMtY29sb3I7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlID4gYSxcbiAgICAgICAgICAgICYuYWN0aXZlID4gYTpob3ZlciwgXG4gICAgICAgICAgICAmLmFjdGl2ZSA+IGE6Zm9jdXMgIHtcbiAgICAgICAgICAgIFx0Ym9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAkdGFicy1saW5lZC1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0YWJzLWxpbmVkLWNvbG9yLWFjdGl2ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFiIENvbnRhaW5lciBKdXN0aWZpZWRcblxuICAgRGVmYXVsdCBNZW5kaXggVGFiIENvbnRhaW5lciBXaWRnZXQgcmVuZGVyZWQgYXMganVzdGlmaWVkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYi1qdXN0aWZpZWQubXgtdGFiY29udGFpbmVyIHtcblx0Lm14LXRhYmNvbnRhaW5lci10YWJzIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRib3JkZXItYm90dG9tOiAwO1xuXG5cdFx0PiBsaSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1x0XG5cdFx0XHRmbG9hdDogbm9uZTtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdHdpZHRoOiAxJTtcblx0XHRcdEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuXHRcdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHR9XHRcblx0XHRcdD4gYSB7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFicy1ib3JkZXItY29sb3I7XG5cdFx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdH1cblx0XHRcblx0XHR9XG5cdFx0PiBsaS5hY3RpdmUgPiBhIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcblx0XHRcdGJvcmRlci1ib3R0b20tY29sb3I6IHRyYW5zcGFyZW50O1xuXG5cdFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcblx0XHRcdFx0Ym9yZGVyLWJvdHRvbS1jb2xvcjogJHRhYnMtYm9yZGVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWIgQ29udGFpbmVyIEJvcmRlcmVkXG5cbiAgIERlZmF1bHQgTWVuZGl4IFRhYiBDb250YWluZXIgV2lkZ2V0IHJlbmRlcmVkIHdpdGggYm9yZGVyc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWItYm9yZGVyZWQubXgtdGFiY29udGFpbmVyIHtcblx0Lm14LXRhYmNvbnRhaW5lci10YWJzIHtcblx0XHRtYXJnaW46IDA7XG5cdH1cblxuXHQubXgtdGFiY29udGFpbmVyLWNvbnRlbnQge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0Ym9yZGVyLXdpZHRoOiAwIDFweCAxcHggMXB4O1xuXHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkdGFicy1ib3JkZXItY29sb3I7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuXG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQuIFRhYmxlcyBjYW4gYmUgdXNlZCB0byBsZW5kIHN0cnVjdHVyZSB0byBhIHBhZ2UuIFRoZXkgY29udGFpbiBhIG51bWJlciBvZiByb3dzICh0cikgYW5kIGNvbHVtbnMsIHRoZSBpbnRlcnNlY3Rpb24gb2Ygd2hpY2ggaXMgY2FsbGVkIGEgY2VsbCAodGQpLiBFYWNoIGNlbGwgY2FuIGNvbnRhaW4gd2lkZ2V0c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRoIHsgQGluY2x1ZGUgZm9udChib2xkKTt9XG50YWJsZS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0LyogVGFibGUgcm93ICovXG5cdFx0PiB0ciB7XG5cblx0XHRcdC8qIFRhYmxlIGhlYWRlciAqL1xuXHRcdFx0PiB0aCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0XHQqIHsgXG5cdFx0XHRcdFx0QGluY2x1ZGUgZm9udChib2xkKTsgXG5cdFx0XHRcdFx0Y29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC13ZWlnaHQ7XG5cdFx0XHRcdH1cblx0XHRcdFx0PiBsYWJlbCB7IFxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA3cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDZweDsgLy8gQWxpZ25zIGxhYmVsIGluIHRoZSBtaWRkbGUgaWYgdGhlcmUgaXMgbm8gaW5wdXQgZmllbGQgbmV4dCB0byBpdC5cblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQvKiBUYWJsZSBjZWxscyAqL1xuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdFx0XHQ+IGRpdiA+IGxhYmVsLFxuXHRcdFx0XHQubXgtcmVmZXJlbmNlc2VsZWN0b3ItaW5wdXQtd3JhcHBlciBsYWJlbCB7IFxuXHRcdFx0XHRcdHBhZGRpbmctdG9wOiA3cHg7XG5cdFx0XHRcdFx0cGFkZGluZy1ib3R0b206IDZweDsgLy8gQWxpZ25zIGxhYmVsIGluIHRoZSBtaWRkbGUgaWYgdGhlcmUgaXMgbm8gaW5wdXQgZmllbGQgbmV4dCB0byBpdC5cblx0XHRcdFx0fVx0XHRcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgaW5zaWRlIFRlbXBsYXRlR3JpZCAqL1xuLm14LXRlbXBsYXRlZ3JpZCB0YWJsZS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXHRcdD4gdHIge1xuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgaW5zaWRlIExpc3R2aWV3ICovXG4ubXgtbGlzdCB0YWJsZS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXHRcdD4gdHIge1xuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRwYWRkaW5nOiAkcGFkZGluZy10YWJsZS1jZWxsLXRvcCAkcGFkZGluZy10YWJsZS1jZWxsLXJpZ2h0ICRwYWRkaW5nLXRhYmxlLWNlbGwtYm90dG9tICRwYWRkaW5nLXRhYmxlLWNlbGwtbGVmdDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzIExpbmVkXG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHdpdGggYm9yZGVycyB0b3AgYW5kIGJvdHRvbVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLWxpbmVkLm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMXB4IDA7XG5cdFx0XHRcdGJvcmRlci1zdHlsZTogc29saWQ7XG5cdFx0XHRcdGJvcmRlci1jb2xvcjogJGdyaWQtYm9yZGVyLWNvbG9yO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgQm9yZGVyZWRcblx0XG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgd2l0aCBib3JkZXJzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtYm9yZGVyZWQubXgtdGFibGUge1xuXHQ+IHRib2R5IHtcblxuXHRcdC8vIFRhYmxlIHJvd1xuXHRcdD4gdHIge1xuXG5cdFx0XHQvLyBUYWJsZSBoZWFkZXJcblx0XHRcdC8vIFRhYmxlIGRhdGFcblx0XHRcdD4gdGggLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdGJvcmRlci13aWR0aDogMXB4O1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IHNvbGlkO1xuXHRcdFx0XHRib3JkZXItY29sb3I6ICRncmlkLWJvcmRlci1jb2xvcjtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFibGVzIENvbXBhY3Rcblx0XG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgd2l0aCBsZXNzIHNwYWNpbmcgaW4gdGFibGUgY2VsbHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZS50YWJsZS1jb21wYWN0Lm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdHBhZGRpbmctdG9wOiAycHg7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAycHg7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlcyBTaWRlbGVzc1xuXHRcbiAgIERlZmF1bHQgTWVuZGl4IFRhYmxlIFdpZGdldCBpbnNpZGUgVGVtcGxhdGVHcmlkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtc2lkZWxlc3MubXgtdGFibGUge1xuXHQ+IHRib2R5IHtcblxuXHRcdC8vIFRhYmxlIHJvd1xuXHRcdD4gdHIge1xuXG5cdFx0XHQvLyBUYWJsZSBoZWFkZXJcblx0XHRcdC8vIFRhYmxlIGRhdGFcblx0XHRcdD4gdGQsXG5cdFx0XHQ+IHRoIHtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogMDtcblx0XHRcdH1cblx0XHRcdD4gdGg6Zmlyc3QtY2hpbGQsXG5cdFx0XHQ+IHRkOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgU3BhY2VsZXNzXG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHdpdGhvdXQgcGFkZGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLXNwYWNlbGVzcy5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0Ly8gVGFibGUgZGF0YVxuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgVmVydGljYWxcblx0XG4gICBEZWZhdWx0IE1lbmRpeCBUYWJsZSBXaWRnZXQgdmVydGljYWwgYWxpZ25lZCBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZS50YWJsZS12ZXJ0aWNhbC5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0PiB0aCB7XG5cdFx0XHRcdHBhZGRpbmctYm90dG9tOiAwO1xuXHRcdFx0XHQ+IGxhYmVsIHsgcGFkZGluZzogMDsgfVxuXHRcdFx0XHQ+IGRpdiA+IGxhYmVsIHsgcGFkZGluZzogMDsgfVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUYWJsZXMgVmVydGljYWwgTWlkZGxlXG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHZlcnRpY2FsIGFsaWduZWQgbWlkZGxlXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtYWxpZ24tdmVydGljYWwtbWlkZGxlLm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlcyBDb21wYWN0XG5cdFxuICAgRGVmYXVsdCBNZW5kaXggVGFibGUgV2lkZ2V0IHdpdGhvdXQgcGFkZGluZyBhbmQgbWFyZ2luXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtbGFiZWwtY29tcGFjdC5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0Ly8gVGFibGUgZGF0YVxuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHQ+IGxhYmVsIHsgXG5cdFx0XHRcdFx0cGFkZGluZzogMDtcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdFx0PiBkaXYgPiBsYWJlbCxcblx0XHRcdFx0Lm14LXJlZmVyZW5jZXNlbGVjdG9yLWlucHV0LXdyYXBwZXIgbGFiZWwgeyBcblx0XHRcdFx0XHRwYWRkaW5nOiAwOyBcblx0XHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG5odG1sIGJvZHkgLm14LXBhZ2UgdGFibGUubXgtdGFibGUge1xuXHR0aCxcblx0dGQge1xuXHRcdCYubm9wYWRkaW5nIHtcblx0XHRcdHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlcyBSb3cgU2l6ZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4kaGVpZ2h0LXJvdy1zOlx0XHQ1NXB4O1xuJGhlaWdodC1yb3ctbTpcdFx0NzBweDtcbiRoZWlnaHQtcm93LWw6XHRcdDEyMHB4O1xuXG4vKiAgU21hbGwgcm93c1xuXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xudGFibGUudGFibGUtcm93LXMubXgtdGFibGUge1xuXHQ+IHRib2R5IHtcblxuXHRcdC8vIFRhYmxlIHJvd1xuXHRcdD4gdHIge1xuXG5cdFx0XHQvLyBUYWJsZSBoZWFkZXJcblx0XHRcdC8vIFRhYmxlIGRhdGFcblx0XHRcdD4gdGgsXG5cdFx0XHQ+IHRkIHtcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0LXJvdy1zO1xuXHRcdFx0fVxuXHRcdH1cblx0fVx0XHRcdFx0XG59XG5cblxuLyogIE1lZGl1bSByb3dzXG5cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG50YWJsZS50YWJsZS1yb3ctbS5teC10YWJsZSB7XG5cdD4gdGJvZHkge1xuXG5cdFx0Ly8gVGFibGUgcm93XG5cdFx0PiB0ciB7XG5cblx0XHRcdC8vIFRhYmxlIGhlYWRlclxuXHRcdFx0Ly8gVGFibGUgZGF0YVxuXHRcdFx0PiB0aCxcblx0XHRcdD4gdGQge1xuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQtcm93LW07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XHRcbn1cblxuLyogIExhcmdlIHJvd3Ncblx0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLXJvdy1sLm14LXRhYmxlIHtcblx0PiB0Ym9keSB7XG5cblx0XHQvLyBUYWJsZSByb3dcblx0XHQ+IHRyIHtcblxuXHRcdFx0Ly8gVGFibGUgaGVhZGVyXG5cdFx0XHQvLyBUYWJsZSBkYXRhXG5cdFx0XHQ+IHRoLFxuXHRcdFx0PiB0ZCB7XG5cdFx0XHRcdGhlaWdodDogJGhlaWdodC1yb3ctbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cdFxufVxuXG5cbi8qXHRUYWJsZSBGaXhlZFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnRhYmxlLnRhYmxlLWZpeGVkIHtcblx0dGFibGUtbGF5b3V0OiBmaXhlZDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZW1wbGF0ZWdyaWRcblxuICAgRGVmYXVsdCBNZW5kaXggVGVtcGxhdGVncmlkIFdpZGdldC4gVGhlIHRlbXBsYXRlIGdyaWQgc2hvd3MgYSBsaXN0IG9mIG9iamVjdHMgaW4gYSB0aWxlIHZpZXcuIEZvciBleGFtcGxlLCBhIHRlbXBsYXRlIGdyaWQgY2FuIHNob3cgYSBsaXN0IG9mIHByb2R1Y3RzLiBUaGUgdGVtcGxhdGUgZ3JpZCBoYXMgYSBsb3QgaW4gY29tbW9uIHdpdGggdGhlIGRhdGEgZ3JpZC4gVGhlIG1haW4gZGlmZmVyZW5jZSBpcyB0aGF0IHRoZSBvYmplY3RzIGFyZSBzaG93biBpbiB0ZW1wbGF0ZXMgKGEgc29ydCBvZiBzbWFsbCBkYXRhIHZpZXcpIGluc3RlYWQgb2Ygcm93c1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtdGVtcGxhdGVncmlkLWNvbnRlbnQtd3JhcHBlciB7XG5cdFx0dGFibGUtbGF5b3V0OiBmaXhlZDtcblx0fVxuXHQubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRncmlkLWJnO1xuXHRcdHBhZGRpbmc6ICRwYWRkaW5nLXRhYmxlLWNlbGwtdG9wICRwYWRkaW5nLXRhYmxlLWNlbGwtcmlnaHQgJHBhZGRpbmctdGFibGUtY2VsbC1ib3R0b20gJHBhZGRpbmctdGFibGUtY2VsbC1sZWZ0O1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0fVxuXHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0Lm14LWxheW91dGdyaWQge1xuXHRcdHBhZGRpbmctdG9wOiAwICFpbXBvcnRhbnQ7XG5cdFx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcblx0fVxufVx0XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBIb3ZlclxuXG4gICBEZWZhdWx0IE1lbmRpeCBUZW1wbGF0ZWdyaWQgV2lkZ2V0IEhvdmVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1ob3Zlci5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctaG92ZXIgIWltcG9ydGFudDtcblx0XHR9XG5cdFx0Ji5zZWxlY3RlZCB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JpZC1iZy1zZWxlY3RlZCAhaW1wb3J0YW50O1xuXG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQtaG92ZXIgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGVtcGxhdGVncmlkIFNlbGVjdGFibGVcblxuICAgRGVmYXVsdCBNZW5kaXggVGVtcGxhdGVncmlkIFdpZGdldCB3aXRoIHNlbGVjdGlvbiBlbmFibGVkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1zZWxlY3RhYmxlLm14LXRlbXBsYXRlZ3JpZCB7XG5cdC5teC10ZW1wbGF0ZWdyaWQtaXRlbSB7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBMaW5lZFxuXG4gICBEZWZhdWx0IE1lbmRpeCBUZW1wbGF0ZWdyaWQgV2lkZ2V0IHdpdGggYm9yZGVycyBiZXR3ZWVuIGl0ZW1zXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1saW5lZC5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtZ3JpZC1jb250ZW50IHtcblx0XHRib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcblx0XHRib3JkZXItdG9wLWNvbG9yOiAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0Ym9yZGVyLXRvcC13aWR0aDogMnB4O1xuXHR9XG5cdC5teC10ZW1wbGF0ZWdyaWQtaXRlbSB7XG5cdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0Ym9yZGVyLXJpZ2h0OiBub25lO1xuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JpZC1ib3JkZXItY29sb3I7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmlkLWJvcmRlci1jb2xvcjtcblx0fVxufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZW1wbGF0ZWdyaWQgU3RyaXBlZFxuXG4gIERlZmF1bHQgTWVuZGl4IFRlbXBsYXRlZ3JpZCBXaWRnZXQgd2l0aCBiYWNrZ3JvdW5kIGJldHdlZW4gaXRlbXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGVtcGxhdGVncmlkLXN0cmlwZWQubXgtdGVtcGxhdGVncmlkIHtcblx0Lm14LXRlbXBsYXRlZ3JpZC1yb3c6bnRoLWNoaWxkKG9kZCkgLm14LXRlbXBsYXRlZ3JpZC1pdGVtIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5O1xuXHR9XG59XG5cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRlbXBsYXRlZ3JpZCBTdHlsaW5nbGVzc1xuXG4gIERlZmF1bHQgTWVuZGl4IFRlbXBsYXRlZ3JpZCBXaWRnZXQgd2l0aG91dCBzdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRlbXBsYXRlZ3JpZC1zdHlsaW5nbGVzcy5teC10ZW1wbGF0ZWdyaWQge1xuXHQubXgtdGVtcGxhdGVncmlkLWl0ZW0ge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0XHQmLnNlbGVjdGVkIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVx0XHRcblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGVtcGxhdGVncmlkIFRyYW5zcGFyZW50XG5cbiAgRGVmYXVsdCBNZW5kaXggVGVtcGxhdGVncmlkIFdpZGdldCB3aXRob3V0IGJhY2tncm91bmQgYW5kIHBhZGRpbmcgaW4gaXRlbXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGVtcGxhdGVncmlkLXRyYW5zcGFyZW50Lm14LXRlbXBsYXRlZ3JpZCB7XG5cdC5teC10ZW1wbGF0ZWdyaWQtaXRlbSB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyOiAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbnAge1xuXHRsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XG59XG5sYWJlbCB7IFxuXHRwYWRkaW5nLXRvcDogMDsgXG59XG4ubXgtdGl0bGUge1xuXHRmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWhlYWRlcnM7XG5cdGNvbG9yOiAkZm9udC1iYXNlLWNvbG9yO1xuXHRmb250LXNpemU6ICRmb250LXNpemUtaDE7XG59XG5oMSwgLmgxLCAuaDEgPiAqIHsgZm9udC1zaXplOiAkZm9udC1zaXplLWgxOyB9IFxuaDIsIC5oMiwgLmgyID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjsgfVxuaDMsIC5oMywgLmgzID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMzsgfVxuaDQsIC5oNCwgLmg0ID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNDsgfVxuaDUsIC5oNSwgLmg1ID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNTsgfVxuaDYsIC5oNiwgLmg2ID4gKiB7IGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oNjsgfVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LFxuLmgxLCAuaDIsIC5oMywgLmg0LCAuaDUsIC5oNiB7XG5cdGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtaGVhZGVycztcblx0Y29sb3I6ICRmb250LWNvbG9yLWhlYWRlcnM7XG5cdGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cblxuLyogVGV4dCBXZWlnaHRzICovXG4udGV4dC1saWdodCwgLnRleHQtbGlnaHQgPiAqLCAudGV4dC1saWdodCBsYWJlbCB7IFxuXHRAaW5jbHVkZSBmb250KGxpZ2h0KTtcbn1cbi50ZXh0LW5vcm1hbCwgLnRleHQtbm9ybWFsID4gKiwgLnRleHQtbm9ybWFsIGxhYmVsICB7IFxuXHRAaW5jbHVkZSBmb250KG5vcm1hbCk7XG59XG4udGV4dC1zZW1pYm9sZCwgLnRleHQtc2VtaWJvbGQgPiAqLCAudGV4dC1zZW1pYm9sZCBsYWJlbCAgeyBcblx0QGluY2x1ZGUgZm9udChzZW1pYm9sZCk7XG59XG4udGV4dC1ib2xkLCAudGV4dC1ib2xkID4gKiwgLnRleHQtYm9sZCBsYWJlbCAgeyBcblx0QGluY2x1ZGUgZm9udChib2xkKTtcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGV4dCBVdGlsaXR5IENsYXNzZXNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGV4dC1zcGFjaW5nIHtcblx0bWFyZ2luLXRvcDogMWVtO1xuXHRtYXJnaW4tYm90dG9tOiAxZW07XHRcbn1cbi50ZXh0LWxpbmVkIHtcblx0cGFkZGluZy1ib3R0b206IDEwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG59XG5cblxuLyogVGV4dCBCcmVhayAqL1xuLnRleHQtYnJlYWsge1xuXHQtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIC13ZWJraXQtaHlwaGVuczogYXV0bztcbiAgICAtbW96LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuXG4gICBUZXh0IENvbG9yc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8vIEdyYXkgc2hhZGVzXG4udGV4dC1ncmF5LWRhcmtlciBcdHtcdGNvbG9yOiAkZ3JheS1kYXJrZXI7IFx0fVx0XHRcdFx0XG4udGV4dC1ncmF5LWRhcmsgXHR7XHRjb2xvcjogJGdyYXktZGFyazsgXHRcdH1cbi50ZXh0LWdyYXkgXHRcdFx0e1x0Y29sb3I6ICRncmF5O1x0XHRcdH1cbi50ZXh0LWdyYXktbGlnaHRcdHtcdGNvbG9yOiAkZ3JheS1saWdodDtcdFx0fVxuLnRleHQtZ3JheS1wcmltYXJ5XHR7XHRjb2xvcjogJGdyYXktcHJpbWFyeTtcdH1cbi50ZXh0LWdyYXktbGlnaHRlclx0e1x0Y29sb3I6ICRncmF5LWxpZ2h0ZXI7XHR9XHRcblx0IFx0XHRcdFx0IFxuLy8gQ29sb3JzXG4udGV4dC1kZWZhdWx0LCAudGV4dC1kZWZhdWx0OmhvdmVyXHR7XHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2s7IH1cbi50ZXh0LXByaW1hcnksIC50ZXh0LXByaW1hcnk6aG92ZXJcdHtcdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcdH1cbi50ZXh0LWluZm8sIC50ZXh0LWluZm86aG92ZXJcdFx0e1x0Y29sb3I6ICRicmFuZC1pbmZvO1x0XHR9XG4udGV4dC1zdWNjZXNzLCAudGV4dC1zdWNjZXNzOmhvdmVyXHR7XHRjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XHR9XG4udGV4dC13YXJuaW5nLCAudGV4dC13YXJuaW5nOmhvdmVyXHR7XHRjb2xvcjogJGJyYW5kLXdhcm5pbmc7XHR9XG4udGV4dC1kYW5nZXIsIC50ZXh0LWRhbmdlcjpob3Zlclx0e1x0Y29sb3I6ICRicmFuZC1kYW5nZXI7XHR9XG5cbi8vIFRleHQgY29sb3JzXG4udGV4dC1ibGFjayBcdFx0XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2s7XHR9XG4udGV4dC1ibGFjay1zZWNvbmRhcnlcdFx0XHRcdHtcdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7IH1cbi50ZXh0LWJsYWNrLWRpc2FibGVkIFx0XHRcdFx0e1x0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLWRpc2FibGVkOyBcdH1cbi50ZXh0LWJsYWNrLWhpbnQgXHRcdFx0XHRcdHtcdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1oaW50OyBcdFx0fVxuXG4udGV4dC13aGl0ZSBcdFx0XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtd2hpdGU7IFx0fVxuLnRleHQtd2hpdGUtc2Vjb25kYXJ5XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtd2hpdGUtc2Vjb25kYXJ5OyB9XG4udGV4dC13aGl0ZS1kaXNhYmxlZCBcdFx0XHRcdHtcdGNvbG9yOiAkY29sb3ItdGV4dC13aGl0ZS1kaXNhYmxlZDsgXHR9XG4udGV4dC13aGl0ZS1oaW50IFx0XHRcdFx0XHR7XHRjb2xvcjogJGNvbG9yLXRleHQtd2hpdGUtaGludDsgXHRcdH1cbiIsIi8qXG4qIE1lbmRpeCBEb2N1bWVudGF0aW9uXG4qIFNwZWNpYWwgc3R5bGVzIGZvciBwcmVzZW50aW5nIGNvbXBvbmVudHNcbiovXG4ubXgtYXBwc3dpdGNoZXItYnV0dG9uLXBsYWNlaG9sZGVyLFxuLm14LXByb2ZpbGVtZW51LWJ1dHRvbi1wbGFjZWhvbGRlciAge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdGlmcmFtZSB7XG5cdFx0d2lkdGg6IDQ4cHg7XG5cdFx0aGVpZ2h0OiA0OHB4O1xuXHR9XG59XG5cbi8qXG4qIE1lbmRpeCBBcHAgU3dpdGNoZXIgQnV0dG9uXG4qXG4qIFxuKi9cbi5teC1hcHBzd2l0Y2hlci1idXR0b24tcGxhY2Vob2xkZXIge1xuXHRpZnJhbWUge1xuXHR9XG59XG5cbi8qXG4qIE1lbmRpeCBQcm9maWxlIE1lbnUgQnV0dG9uXG4qXG4qIFxuKi9cbi5teC1wcm9maWxlbWVudS1idXR0b24tcGxhY2Vob2xkZXIge1xuXHRpZnJhbWUge1xuXHR9XG59XG5cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIERhc2hib2FyZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLWRhc2hib2FyZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG5cdC5jaGFydGpzLW5vZGUge1xuXHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdH1cbn1cbi5wYWdlLWRhc2hib2FyZC1kZWZhdWx0IHtcblx0LmNhcmQge1xuXHRcdG1pbi1oZWlnaHQ6IDM0NXB4O1xuXHR9XG59XG4ucGFnZS1kYXNoYm9hcmQtbXl0YXNrcyB7XG5cdC5jYXJkIHtcblx0XHRtaW4taGVpZ2h0OiAzMjBweDtcblx0fVxufVxuLnBhZ2UtZGFzaGJvYXJkLWFjdGlvbnMge1xuXG59XG4ucGFnZS1kYXNoYm9hcmQtYWN0aW9ucy10YXNrcyB7XG5cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIEZvcm1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1mb3JtIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLWZvcm0tZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS1mb3JtLWltYWdlbWFwIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLWZvcm0tdGFicyB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBMb2dpblxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLWxvZ2luIHtcblxufVxuLnBhZ2UtbG9naW4tdXNlcnMge1xuXG4gICAgLnByb2ZpbGVjYXJkIHtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBmaWx0ZXI6IHByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PTgwKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubXgtbmF2aWdhdGlvbmxpc3Qge1xuICAgICAgICAubXgtbmF2aWdhdGlvbmxpc3QtaXRlbSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnRcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIE1hc3RlciBEZXRhaWxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS1tYXN0ZXJkZXRhaWwge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBhZ2UtbWFzdGVyZGV0YWlsLWJhc2ljIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLW1hc3RlcmRldGFpbC1iaWcge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBhZ2UtbWFzdGVyZGV0YWlsLWltYWdlbWFwIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLW1hc3RlcmRldGFpbC1tdWx0aWxldmVsIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFRhYnNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS10YWJzIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cblx0LnRhYnNmdWxsd2lkdGgge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG5cdH1cbn1cbi5wYWdlLXRhYnMtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS10YWJzLWZ1bGx3aWR0aCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG5cdC5wYWdlaGVhZGVyLnBhZ2VoZWFkZXItZnVsbHdpZHRoIHtcblx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFdlYnNpdGVcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGFnZS13ZWJzaXRlIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLXdlYnNpdGUtYWN0aW9ucyB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS13ZWJzaXRlLWl0ZW1zIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLXdlYnNpdGUtaXRlbXMtZGV0YWlsIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi5wYWdlLXdlYnNpdGUtcHJlc2VudGF0aW9uIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFdpemFyZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlLXdpemFyZCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS13aXphcmQtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGFnZS13aXphcmQtdGl0bGVjZW50ZXJlZCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBQaG9uZVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5waG9uZS1wYWdlLWRhc2hib2FyZCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG59XG4ucGhvbmUtcGFnZS1kYXNoYm9hcmQtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBQaG9uZSBGb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBob25lLXBhZ2UtZm9ybSB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4ucGhvbmUtcGFnZS1mb3JtLWRlZmF1bHQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBob25lLXBhZ2UtZm9ybS1lZGl0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFBob25lIExpc3R2aWV3XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnBob25lLXBhZ2UtbGlzdHZpZXcge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBob25lLXBhZ2UtbGlzdHZpZXctZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBQaG9uZSBXaXphcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucGhvbmUtcGFnZS13aXphcmQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnBob25lLXBhZ2Utd2l6YXJkLWRlZmF1bHQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFNwZWNpYWwgc3R5bGVzIGZvciBwcmVzZW50aW5nIFBhZ2UgVGVtcGxhdGUgVGFibGV0IERhc2hib2FyZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWJsZXQtcGFnZS1kYXNoYm9hcmQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3Itc2Vjb25kYXJ5O1xufVxuLnRhYmxldC1wYWdlLWRhc2hib2FyZC1kZWZhdWx0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1kYXNoYm9hcmQtYmlnIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1kYXNoYm9hcmQtbXl0YXNrcyB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBUYWJsZXQgRm9ybVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWJsZXQtcGFnZS1mb3JtIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1mb3JtLWRlZmF1bHQge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnRhYmxldC1wYWdlLWZvcm0tZWRpdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgUGFnZSBUZW1wbGF0ZSBUYWJsZXQgTWFzdGVyIERldGFpbFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50YWJsZXQtcGFnZS1tYXN0ZXJkZXRhaWwge1xuXHQvKiBTdHlsZXMgaGVyZSAqL1xufVxuLnRhYmxldC1wYWdlLW1hc3RlcmRldGFpbC1kZWZhdWx0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS1tYXN0ZXJkZXRhaWwtbGVmdHJpZ2h0IHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBQYWdlIFRlbXBsYXRlIFRhYmxldCBXaXphcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4udGFibGV0LXBhZ2Utd2l6YXJkIHtcblx0LyogU3R5bGVzIGhlcmUgKi9cbn1cbi50YWJsZXQtcGFnZS13aXphcmQtZGVmYXVsdCB7XG5cdC8qIFN0eWxlcyBoZXJlICovXG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgQWN0aW9uIEJsb2NrXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmFjdGlvbmJsb2NrIHtcblx0QGluY2x1ZGUgZm9udChib2xkKTtcblx0cGFkZGluZzogMjBweCAwO1xuXHRtYXJnaW46IDEwcHggMDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRzcGFuIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IGF1dG8gYXV0byAyMHB4IGF1dG87XG5cdFx0Zm9udC1zaXplOiA3MnB4O1xuXHR9XG5cdGltZyB7XG5cdFx0aGVpZ2h0OiA3MnB4O1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbjogYXV0byBhdXRvIDIwcHggYXV0bztcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIENhcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uY2FyZCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMCAwIDMwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG5cblx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMDI0cHgpIHtcblx0XHRwYWRkaW5nOiAxMHB4O1xuXHR9XG59XG4uY2FyZC1tYXBzIHtcblx0cGFkZGluZzogMDtcbn1cblxuLyogVGl0bGUgKyBidXR0b24gKyBib3JkZXIgYmVsb3cgdGl0bGUgYW5kIGJ1dHRvbiAqL1xuLmNhcmQtaGVhZGVyLWFjdGlvbiB7XG5cdG92ZXJmbG93OiBoaWRkZW47XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdC5jYXJkLXRpdGxlIHtcblx0XHRmbG9hdDogbGVmdDtcblx0fVxuXHQuYnRuIHtcblx0XHRmbG9hdDogcmlnaHQ7XG5cdH1cbn1cbi5jYXJkLWRldGFpbHMge1xuXHRwYWRkaW5nOiAxMHB4O1xufVxuLmNhcmQtdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXG5cdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTAyNHB4KSB7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHR9XG59XG4uY2FyZC1zdWJ0aXRsZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5jYXJkLWFubm90YXRpb24ge1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRsZXR0ZXItc3BhY2luZzogOHB4O1xuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcbn1cbi5jYXJkLWljb24ge1xuXHRib3JkZXItcmFkaXVzOiA1MCU7XG5cdG1hcmdpbjogMzBweCBhdXRvO1xuXHR3aWR0aDogMTI1cHg7XG5cdGhlaWdodDogMTI1cHg7XG5cblx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHR3aWR0aDogNzVweDtcbiAgXHRcdGhlaWdodDogNzVweDtcblx0fVxuXG5cdC5nbHlwaGljb24ge1xuXHRcdGZvbnQtc2l6ZTogNjBweDtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0dG9wOiA1MCU7XG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuXG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQpIHtcblx0XHRcdGZvbnQtc2l6ZTogMjhweDtcblx0XHR9XG5cdH1cbn1cbi5jYXJkLWltYWdlIHtcblx0bWFyZ2luOiAzMHB4IGF1dG87XG59XG4uY2FyZC11c2VyLWltYWdlIHtcblx0Ym9yZGVyOiA0cHggc29saWQgI0ZGRjtcbn1cbi5jYXJkLWxpbmsge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGFzaGJvYXJkIENhcmRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uZGFzaGJvYXJkY2FyZCB7XG5cdHBhZGRpbmc6IDIwcHg7XG5cdG1hcmdpbjogMCAwIDQwcHggMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHRib3JkZXItcmFkaXVzOiAzcHg7XG59XG4uZGFzaGJvYXJkY2FyZC10aXRsZSB7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4uZGFzaGJvYXJkY2FyZC1zdWJ0aXRsZSB7XG5cdGZvbnQtc2l6ZTogMTRweDtcblx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcbn1cbi5kYXNoYm9hcmRjYXJkLWxpbmsge1xuXHRmb250LXNpemU6ICRmb250LXNpemUtc21hbGw7XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTYwcHgpIHtcblx0LmRhc2hib2FyZGNhcmQge1xuXHRcdHBhZGRpbmc6IDEwcHg7XG5cdFx0bWFyZ2luOiAwIDAgMjBweCAwO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRGFzaGJvYXJkIFN0YXRzXG5cbiAgIFVzZWQgaW4gZGFzaGJvYXJkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmRhc2hib2FyZHN0YXQge1xuXHRtYXJnaW46IDMwcHggMDtcblxuXHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdG1hcmdpbjogMTBweCAwO1xuXHR9XG5cblx0LmRhc2hib2FyZHN0YXQtbGVmdCxcblx0LmRhc2hib2FyZHN0YXQtcmlnaHQge1xuXHRcdGRpc3BsYXk6IHRhYmxlLWNlbGw7XG5cdFx0dmVydGljYWwtYWxpZ246IHRvcDtcblx0fVxufVxuLmRhc2hib2FyZHN0YXQtaWNvbiB7XG5cdGZvbnQtc2l6ZTogMzBweDtcblx0cGFkZGluZzogOHB4IDE0cHg7XG5cdG1hcmdpbjogNXB4IDEwcHggMCAwO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHR9XG59XG4uZGFzaGJvYXJkc3RhdC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogMThweDtcblx0Y29sb3I6ICRncmF5LWxpZ2h0O1xuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cdEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLW1kKSB7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHR9XG59XG4uZGFzaGJvYXJkc3RhdC1udW1iZXIge1xuXHRmb250LXNpemU6IDcycHg7XG5cdGxpbmUtaGVpZ2h0OiAxZW07XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjaztcblxuXHRAbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi1tZCkge1xuXHRcdGZvbnQtc2l6ZTogMzBweDtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEZvcm1cblxuICAgVG8gZXh0ZW5kIHRoZSBkZWZhdWx0IEJvb3RzdHJhcCBmb3JtXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLmZvcm0ge1xuXHRcbn1cbi5mb3JtLWZvb3RlciB7XG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xuIFx0cGFkZGluZzogMTBweCAwO1xuIFx0bWFyZ2luLXRvcDogMjBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3JtIEJsb2NrXG5cbiAgIFVzZWQgaW4gZGVmYXVsdCBmb3Jtc1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5mb3JtYmxvY2sge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xufVxuLmZvcm1ibG9jay1oZWFkZXIge1xuXHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdHBhZGRpbmctYm90dG9tOiA1cHg7XG5cdG1hcmdpbi1ib3R0b206IDE1cHg7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTWFzdGVyIERldGFpbCBMaXN0dmlld1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5tYXN0ZXJkZXRhaWwtbGlzdHZpZXcge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3Itc2Vjb25kYXJ5O1xuXHQubXgtbGlzdHZpZXcge1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXJnaW46IDA7XG5cdFx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cblx0XHRcdCYuc2VsZWN0ZWQge1xuXHRcdFx0XHRjb2xvcjogI0ZGRjtcblx0XHRcdFx0Lm14LWxpbmsge1xuXHRcdFx0XHRcdGNvbG9yOiAjRkZGO1xuXHRcdFx0XHR9XG5cdFx0XHRcdFxuXHRcdFx0XHQmOmhvdmVyLFxuXHRcdFx0XHQmOmFjdGl2ZSB7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyaWQtYmctc2VsZWN0ZWQgIWltcG9ydGFudDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE11bHRpbGV2ZWxcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ubXVsdGlsZXZlbC10YWJzIC5teC10YWJjb250YWluZXItdGFicyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4ubXVsdGlsZXZlbC1saXN0IHtcblx0QGV4dGVuZCAubGlzdHZpZXctbGluZWQ7XG5cdEBleHRlbmQgLmxpc3R2aWV3LWhvdmVyO1xuXHQubXgtbGlzdHZpZXctbGlzdCB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkZ3JheS1saWdodGVyO1xuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XG5cdFx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdFx0cGFkZGluZzogMTBweDtcbiAgXHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuICBcdFx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICRncmF5LWxpZ2h0ZXI7XG4gIFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcbiAgXHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcbiAgXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgLjJzO1xuXHRcdFx0LW8tdHJhbnNpdGlvbjogYWxsIC4ycztcblx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XG5cbiAgXHRcdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHR9XG5cdFx0XHQmOmxhc3QtY2hpbGQge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0fVxuICBcdFx0XHQmLnNlbGVjdGVkIHtcbiAgXHRcdFx0XHRib3JkZXItbGVmdDogNHB4IHNvbGlkICRicmFuZC1wcmltYXJ5O1xuICBcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWltcG9ydGFudDtcbiAgXHRcdFx0fVxuICBcdFx0fVxuXHR9XG59XG4ubXVsdGlsZXZlbC10aXRsZSB7XG5cdGxhYmVsIHtcblx0XHRmb250LXdlaWdodDogYm9sZDtcblx0fVxufVxuLm11bHRpbGV2ZWwtc3VidGl0bGUge1xuXHRjb2xvcjogJGdyYXk7XG59XG4ubXVsdGlsZXZlbC1tZXNzYWdlLWhlYWRlciB7XG5cdGNvbG9yOiAkZ3JheTtcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRncmF5LXByaW1hcnk7XG59XG4ubXVsdGlsZXZlbC1tZXNzYWdlLWhlYWRlci10aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMjtcbn1cbi5tdWx0aWxldmVsLW1lc3NhZ2UtaGVhZGVyLXN1YnRpdGxlIHtcblx0Zm9udC1zaXplOiAkZm9udC1zaXplLWg0O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLm11bHRpbGV2ZWwtbWVzc2FnZS10ZXh0IHtcblx0bWFyZ2luOiAxMHB4IDA7XG59XG4ubXVsdGlsZXZlbC1ncmlkIHtcblx0IEBleHRlbmQgLmRhdGFncmlkLWhvdmVyO1xuXHQgQGV4dGVuZCAuZGF0YWdyaWQtZnVsbHNlYXJjaDtcblx0IEBleHRlbmQgLmRhdGFncmlkLXRyYW5zcGFyZW50O1xuXG5cdC5teC1kYXRhZ3JpZC1oZWFkLXRhYmxlIHRoIHtcblx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdH1cblx0Lm14LWRhdGFncmlkLWJvZHktdGFibGUge1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRcdC5teC1kYXRhZ3JpZC1ib2R5IHRyIHtcblx0XHRcdHRkIHtcblx0XHRcdFx0Ym9yZGVyLWNvbG9yOiAkZ3JheS1saWdodGVyO1xuXHQgIFx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGdyYXktbGlnaHRlcjtcblx0ICBcdFx0XHQtd2Via2l0LXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdFx0XHRcdC1vLXRyYW5zaXRpb246IGFsbCAuMnM7XG5cdFx0XHRcdHRyYW5zaXRpb246IGFsbCAuMnM7XG5cdFx0XHR9XG5cdFx0XHQmLnNlbGVjdGVkIHRkLFxuXHRcdFx0Ji5zZWxlY3RlZDpob3ZlciB0ZCB7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGJyYW5kLXByaW1hcnk7XG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXIgIWltcG9ydGFudDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQYWdlIEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5wYWdlaGVhZGVyIHtcblx0Ym9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0QGluY2x1ZGUgZGVmYXVsdC1zcGFjaW5nKCR0eXBlOiBtYXJnaW4sICRkaXJlY3Rpb246IGJvdHRvbSwgJGRldmljZTogcmVzcG9uc2l2ZSk7XG59XG4ucGFnZWhlYWRlci5wYWdlaGVhZGVyLWZ1bGx3aWR0aCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRiZy1jb2xvci1zZWNvbmRhcnk7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdG1hcmdpbi1ib3R0b206IDA7XG59XG4ucGFnZWhlYWRlci10aXRsZSB7XG5cdG1hcmdpbi1ib3R0b206IDA7XG5cdG1hcmdpbi10b3A6IDA7XG59XG4ucGFnZWhlYWRlci1zdWJ0aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgU2VjdGlvbiBIZWFkZXJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4uc2VjdGlvbmhlYWRlciB7XG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdHBhZGRpbmctYm90dG9tOiAxMHB4O1xufVxuLnNlY3Rpb25oZWFkZXItdGl0bGUge1xuXHRtYXJnaW4tdG9wOiAwO1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnNlY3Rpb25oZWFkZXItc3VidGl0bGUge1xuXHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5O1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuLnNlY3Rpb25oZWFkZXItYXZhdGFyIHtcblx0cGFkZGluZzogNHB4O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvZmlsZSBDYXJkXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2ZpbGVjYXJkIHtcblx0ZGlzcGxheTogdGFibGU7XG5cdHdpZHRoOiAxMDAlO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHQucHJvZmlsZWNhcmQtY29udGVudHdyYXBwZXIge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHR9XG5cdC5wcm9maWxlY2FyZC1pbWd3cmFwcGVyIHtcblx0XHR3aWR0aDogMTUwcHg7XG5cdH1cblx0LnByb2ZpbGVjYXJkLWFjdGlvbndyYXBwZXIge1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRleHQtYWxpZ246IHJpZ2h0O1xuXHR9XG5cdC5wcm9maWxlY2FyZC1jb250ZW50d3JhcHBlcixcblx0LnByb2ZpbGVjYXJkLWltZ3dyYXBwZXIsXG5cdC5wcm9maWxlY2FyZC1hY3Rpb253cmFwcGVyIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cbn1cbi5wcm9maWxlY2FyZC1idG4ge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHdpZHRoOiAxNTBweDtcblx0bWFyZ2luLWxlZnQ6IDVweDtcblx0bWFyZ2luLWJvdHRvbTogNXB4O1xufVxuLnByb2ZpbGVjYXJkLWltZyB7XG5cdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0bWFyZ2luLXJpZ2h0OiA0MHB4O1xuXHRwYWRkaW5nOiA0cHg7XG5cdGJvcmRlcjogMnB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0YmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbn1cbi5wcm9maWxlY2FyZC10aXRsZSB7XG5cdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMztcblx0bWFyZ2luLWJvdHRvbTogMDtcblx0bWFyZ2luLXRvcDogMDtcbn1cbi5wcm9maWxlY2FyZC1zdWJ0aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC1ibGFjay1zZWNvbmRhcnk7XG59XG4ucGFnZWhlYWRlciAucHJvZmlsZWNhcmQge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFByb2ZpbGUgSGVhZGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2ZpbGVoZWFkZXIge1xuXHRtYXJnaW46IDIwcHggMDtcblxuXHQucHJvZmlsZWhlYWRlci1jb250ZW50IHtcblx0XHRwYWRkaW5nOiAwIDEwcHg7XG5cdH1cblxuXHQucHJvZmlsZWhlYWRlci1pbWFnZSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiBhdXRvIGF1dG8gMTBweCBhdXRvO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUHJvZHVjdHNcblxuICAgVXNlZCBpbiBXZWJzaXRlIHBhZ2UgdGVtcGxhdGVzXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnByb2R1Y3QtaGVhZGVyIHtcblx0cGFkZGluZzogMjVweCAwO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xufVxuLnByb2R1Y3QtY29udGVudCB7XG5cdFxufVxuLnByb2R1Y3QtdGl0bGUge1xuXHRtYXJnaW4tYm90dG9tOiAwO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuLnByb2R1Y3Qtc3VidGl0bGUge1xuXHRjb2xvcjogJGNvbG9yLXRleHQtYmxhY2stc2Vjb25kYXJ5O1xufVxuLnByb2R1Y3QtYnRuIHtcblx0bWFyZ2luLXRvcDogMTBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBTaWRlYmFyIEhlYWRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5zaWRlYmFyaGVhZGVyIHtcblx0cGFkZGluZzogMTBweCAyMHB4O1xufVxuLnNpZGViYXJoZWFkZXItY29udGVudCB7XG5cbn1cbi5zaWRlYmFyaGVhZGVyLWltZyB7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG59XG4uc2lkZWJhcmhlYWRlci10aXRsZSB7XG5cdGNvbG9yOiAkY29sb3ItdGV4dC13aGl0ZTtcbn1cbi5zaWRlYmFyaGVhZGVyLXN1YnRpdGxlIHtcblx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcbn0gXG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVGFicyBmdWxsIHdpZHRoXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLnRhYnNmdWxsd2lkdGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmctY29sb3Itc2Vjb25kYXJ5O1xuXHQ+IC5teC10YWJjb250YWluZXItdGFicyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcblxuXHRcdEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtKSB7XG5cdFx0XHRwYWRkaW5nOiAwIDQwcHg7XG5cdFx0fVxuXHR9XG5cdD4gLm14LXRhYmNvbnRhaW5lci1jb250ZW50IHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV2l6YXJkXG5cbiAgIFN0eWxpbmcgZm9yIFdpemFyZCAoU3RlcHMvTnVtYmVycylcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ud2l6YXJkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtYXJnaW46IGF1dG87XG5cdC5yb3c6YmVmb3JlIHtcblx0XHRsZWZ0OiAwO1xuXHRcdHRvcDogNDBweDtcblx0XHRib3R0b206IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdGNvbnRlbnQ6IFwiIFwiO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMXB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG5cdH1cblx0LnJvdyB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGRpc3BsYXk6IHRhYmxlO1xuXHRcdG1hcmdpbjogYXV0bztcblx0fVxufVxuLndpemFyZC1zdGVwIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZmxvYXQ6IG5vbmU7XG59XG4ud2l6YXJkLXN0ZXAtbnVtYmVyIHtcblx0QGluY2x1ZGUgZm9udChib2xkKTtcblx0Ym9yZGVyLXJhZGl1czogNTAlO1xuXHRmb250LXNpemU6IDIwcHg7XG5cdHdpZHRoOiA3MnB4O1xuXHRoZWlnaHQ6IDcycHg7XG5cdGNvbG9yOiAkZ3JheS1wcmltYXJ5O1xuXHRib3JkZXI6IDJweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cblx0Ly8gTGFiZWxzIGFuZCBidXR0b25zXG5cdGxpbmUtaGVpZ2h0OiAzLjVlbTtcblx0cGFkZGluZzogMDtcbn1cbi53aXphcmQtc3RlcC1udW1iZXItYWN0aXZlIHtcblx0Y29sb3I6ICNGRkY7XG5cdGJvcmRlci1jb2xvcjogJGJyYW5kLXByaW1hcnk7XG5cdGJhY2tncm91bmQtY29sb3I6ICRicmFuZC1wcmltYXJ5O1xufVxuLndpemFyZC1zdGVwLW51bWJlci12aXNpdGVkIHtcblx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xuXHRib3JkZXItY29sb3I6ICRicmFuZC1wcmltYXJ5O1x0XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG59XG4ud2l6YXJkLXN0ZXAtdGl0bGUge1xuXHRkaXNwbGF5OiBibG9jaztcbiAgXHRtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4ucHJvZmlsZS1waG9uZSAud2l6YXJkIHtcblx0LnJvdzpiZWZvcmUge1xuXHRcdHRvcDogMjBweDtcblx0fVxuXHQud2l6YXJkLXN0ZXAtbnVtYmVyIHtcblx0XHR3aWR0aDogNDBweDtcblx0XHRoZWlnaHQ6IDQwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDJlbTtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdH1cbn1cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgV2l6YXJkIFByb2dyZXNzXG5cbiAgIFN0eWxpbmcgZm9yIFdpemFyZCAoUHJvZ3Jlc3MgU3RlcHMpXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLndpemFyZC1wcm9ncmVzcyB7XG5cdGJvcmRlcjogMXB4IHNvbGlkICRncmF5LXByaW1hcnk7XG4gICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgW2NsYXNzKj1jb2wtXTpmaXJzdC1jaGlsZCAud2l6YXJkLXByb2dyZXNzLXN0ZXAge1xuICAgIFx0bWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxufVxuLndpemFyZC1zdGVwcy1jb250YWluZXIge1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGdyYXktcHJpbWFyeTtcbn1cbi53aXphcmQtcHJvZ3Jlc3Mtc3RlcCB7XG5cdG1hcmdpbjogMCAwIDAgLTMwcHg7XG4gICAgcGFkZGluZzogMTRweCAyMHB4IDE0cHggMzBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogJGdyYXktbGlnaHRlcjtcbiBcblx0JjphZnRlciwgXG5cdCY6YmVmb3JlIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlcjogc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblx0XHRsZWZ0OiAxMDAlO1xuXHRcdHotaW5kZXg6IDEwO1xuXHR9XG5cdCY6YmVmb3JlIHtcblx0ICAgIHRvcDogNTAlO1xuXHQgICAgbWFyZ2luLXRvcDogLTI1cHg7XG5cdCAgICBib3JkZXItd2lkdGg6IDI1cHggMTVweDtcblx0ICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkZ3JheS1wcmltYXJ5O1xuXHR9XG5cdCY6YWZ0ZXIge1xuXHQgICAgdG9wOiA1MCU7XG5cdCAgICBtYXJnaW4tdG9wOiAtMjRweDtcblx0ICAgIGJvcmRlci13aWR0aDogMjRweCAxNHB4O1xuXHQgICAgYm9yZGVyLWxlZnQtY29sb3I6ICRncmF5LWxpZ2h0ZXI7XG5cdH1cbn1cbi53aXphcmQtcHJvZ3Jlc3Mtc3RlcC1hY3RpdmUge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVyO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVyO1xuXHR9XG5cdC53aXphcmQtcHJvZ3Jlc3MtbnVtYmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcblx0fVxufVxuLndpemFyZC1wcm9ncmVzcy1zdGVwLXZpc2l0ZWQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVyO1xuXG5cdCY6YWZ0ZXIge1xuXHRcdGJvcmRlci1sZWZ0LWNvbG9yOiAkY29sb3ItcHJpbWFyeS1saWdodGVyO1xuXHR9XG5cdC53aXphcmQtcHJvZ3Jlc3MtbnVtYmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJhbmQtc3VjY2Vzcztcblx0fVxuXHQud2l6YXJkLXByb2dyZXNzLXRpdGxlIHtcblx0XHRjb2xvcjogJGJyYW5kLXN1Y2Nlc3M7XG5cdH1cbn1cbi53aXphcmQtcHJvZ3Jlc3MtbnVtYmVyIHtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDFweCA3cHg7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JheS1saWdodDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbn1cbi53aXphcmQtcHJvZ3Jlc3MtdGl0bGUge1xuXHRjb2xvcjogJGJyYW5kLXByaW1hcnk7XG59XG4ud2l6YXJkLXN0ZXAtY29udGVudCB7XG5cdHBhZGRpbmc6IDEwcHggMjBweDtcbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBUZW1wbGF0ZWdyaWQgUHJvZmlsZSBDYXJkXG5cbiAgIFByb2ZpbGUgY2FyZCBzdHlsZWQgZm9yIHRlbXBsYXRlZ3JpZFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi50ZW1wbGF0ZWdyaWQtcHJvZmlsZWNhcmQge1xuXHRwYWRkaW5nOiAyMHB4O1xuXHRib3JkZXI6IDFweCBzb2xpZCAkZGVmYXVsdC1ib3JkZXItY29sb3I7XG5cdGJhY2tncm91bmQtY29sb3I6ICNGRkY7XG5cdGJvcmRlci1yYWRpdXM6IDNweDtcblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1jb250ZW50d3JhcHBlciB7XG5cdFx0d2lkdGg6IGF1dG87XG5cdH1cblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1pbWd3cmFwcGVyIHtcblx0XHR3aWR0aDogMTUwcHg7XG5cdH1cblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1jb250ZW50d3JhcHBlcixcblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1pbWd3cmFwcGVyIHtcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1idG4ge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1pbWcge1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRtYXJnaW4tcmlnaHQ6IDQwcHg7XG5cdFx0cGFkZGluZzogNHB4O1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGO1xuXHR9XG5cdC50ZW1wbGF0ZWdyaWQtcHJvZmlsZWNhcmQtdGl0bGUge1xuXHRcdGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1oMztcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblx0LnRlbXBsYXRlZ3JpZC1wcm9maWxlY2FyZC1zdWJ0aXRsZSB7XG5cdFx0Y29sb3I6ICRjb2xvci10ZXh0LWJsYWNrLXNlY29uZGFyeTtcblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExheW91dFxuXG4gICBEZWZhdWx0IE1lbmRpeCBMYXlvdXRcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucHJvZmlsZS1waG9uZSB7XG5cdC5yZWdpb24tdG9wYmFyIHtcblx0XHRtaW4taGVpZ2h0OiAkbS1oZWFkZXItaGVpZ2h0O1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRtLWhlYWRlci1iZztcblx0XHRib3JkZXI6IDA7XG5cdH1cbn1cbiIsIi8qXG4qIE1lbmRpeCBEb2N1bWVudGF0aW9uXG4qIFNwZWNpYWwgc3R5bGVzIGZvciBwcmVzZW50aW5nIG1vYmlsZSBjb21wb25lbnRzXG4qL1xuXG5cbi8qXG4qIExpc3R2aWV3XG4qXG4qIERlZmF1bHQgTWVuZGl4IExpc3R2aWV3IFxuKi9cblxuLnByb2ZpbGUtcGhvbmUsXG4ucHJvZmlsZS10YWJsZXQge1xuXHQubXgtbGlzdHZpZXcge1xuXHRcdC5teC1saXN0dmlldy1zZWFyY2hiYXIge1xuXHRcdFx0cGFkZGluZzogMTBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cblx0XHRcdC8qIFJlc2V0IFNlYXJjaCBCdXR0b24gKi9cblx0XHRcdGJ1dHRvbiB7XG5cdFx0XHRcdC8vZGlzcGxheTogbm9uZTtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHRyaWdodDogMTBweDtcblx0XHRcdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRcdH1cblx0XHRcdC8qIFNlYXJjaCBGaWVsZCAqL1xuXHRcdFx0Lm14LWxpc3R2aWV3LXNlYXJjaC1pbnB1dCB7XG5cdFx0XHRcdGlucHV0IHtcblx0XHRcdFx0XHRib3gtc2hhZG93Olx0bm9uZTtcblx0XHRcdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGdyYXktbGlnaHRlcjtcblx0XHRcdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0Lm14LWxpc3Qge1xuXHRcdFx0Lm14LWxpc3R2aWV3LWl0ZW0ge1xuXHRcdFx0XHQmOmZpcnN0LWNoaWxkIHtcblx0XHRcdFx0XHRib3JkZXItcmFkaXVzOiAwO1xuXHRcdFx0XHR9XG5cdFx0XHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRsYWJlbCB7XG5cdFx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0XHR0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcblx0fVxuXHQvKiBMaXN0dmlldyBMb2FkIE1vcmUgYnV0dG9uICovXG5cdC5teC1saXN0dmlldy1sb2FkTW9yZSB7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG87XG5cdFx0d2lkdGg6IDk1JTtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxufVxuIiwiLypcbiogTWVuZGl4IERvY3VtZW50YXRpb25cbiogU3BlY2lhbCBzdHlsZXMgZm9yIHByZXNlbnRpbmcgbW9iaWxlIGNvbXBvbmVudHNcbiovXG5cblxuLypcbiogTG9hZGVyXG4qXG4qIERlZmF1bHQgTWVuZGl4IExvYWRlclxuKi9cblxuLnByb2ZpbGUtcGhvbmUge1xuXHQubXgtcHJvZ3Jlc3Mge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0dG9wOiAwO1xuXHRcdC5tb2RhbC1jb250ZW50IHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDA7XG5cdFx0XHRib3gtc2hhZG93Olx0bm9uZTtcblx0XHRcdGhlaWdodDogMTAwJTtcblx0XHRcdGJvcmRlci1zdHlsZTogbm9uZTtcblx0XHQgICAgYmFja2dyb3VuZDogbm9uZTtcblx0XHR9XG5cdFx0Lm1vZGFsLWhlYWRlciB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0XHQubXgtZGlhbG9nLWJvZHkge1xuXHRcdFx0aGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHR9XG5cdFx0Lm14LXByb2dyZXNzLWxpc3Qge1xuXHRcdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHRcdC5teC1wcm9ncmVzcy1pdGVtIHtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEycHg7XG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0XHRwYWRkaW5nOiAwO1xuXHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHR0b3A6IDUwJTtcblx0XHRcdGxlZnQ6IDUwJTtcblx0XHRcdC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkZXIxMG0gMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0XHRcdGFuaW1hdGlvbjogbG9hZGVyMTBtIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cdFx0XHR0ZXh0LWluZGVudDogLTk5OTlweDtcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cblx0XHRcdCY6YmVmb3JlIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMTJweDtcblx0XHRcdFx0Y29udGVudDogXCJcIjtcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0XHR0b3A6IDBweDtcblx0XHRcdFx0bGVmdDogLTI1cHg7XG5cdFx0XHRcdGhlaWdodDogMTJweDtcblx0XHRcdFx0d2lkdGg6IDEycHg7XG5cdFx0XHRcdC13ZWJraXQtYW5pbWF0aW9uOiBsb2FkZXIxMGcgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0XHRcdFx0YW5pbWF0aW9uOiBsb2FkZXIxMGcgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcblx0XHRcdH1cblx0XHRcdCY6YWZ0ZXIge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAxMnB4O1xuXHRcdFx0XHRjb250ZW50OiBcIlwiO1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMHB4O1xuXHRcdFx0XHRsZWZ0OiAyNXB4O1xuXHRcdFx0XHRoZWlnaHQ6IDEycHg7XG5cdFx0XHRcdHdpZHRoOiAxMnB4O1xuXHRcdFx0XHQtd2Via2l0LWFuaW1hdGlvbjogbG9hZGVyMTBkIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cdFx0XHRcdGFuaW1hdGlvbjogbG9hZGVyMTBkIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkZXIxMGcge1xuXHQwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDI1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7IH1cblx0NTAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0NzUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0MTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG59XG5Aa2V5ZnJhbWVzIGxvYWRlcjEwZyB7XG5cdDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0MjUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfVxuXHQ1MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQ3NSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cbn1cblxuQC13ZWJraXQta2V5ZnJhbWVzIGxvYWRlcjEwbSB7XG5cdDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0MjUlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cblx0NTAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAxKTsgfVxuXHQ3NSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQxMDAlIHsgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuMik7IH1cbn1cbkBrZXlmcmFtZXMgbG9hZGVyMTBtIHtcblx0MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQyNSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQ1MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XG5cdDc1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgbG9hZGVyMTBkIHtcblx0MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQyNSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQ1MCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxuXHQ3NSUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpOyB9XG5cdDEwMCUgeyBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIC4yKTsgfVxufVxuQGtleWZyYW1lcyBsb2FkZXIxMGQge1xuXHQwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDI1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDUwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG5cdDc1JSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMSk7IH1cblx0MTAwJSB7IGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpOyB9XG59XG4iLCIvKlxuKiBNZW5kaXggRG9jdW1lbnRhdGlvblxuKiBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBtb2JpbGUgY29tcG9uZW50c1xuKi9cblxuXG4vKlxuKiBIZWFkZXJcbipcbiogRGVmYXVsdCBNZW5kaXggSGVhZGVyIGZvciBNb2JpbGUgXG4qL1xuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLW1zLWhpZ2gtY29udHJhc3Q6IGFjdGl2ZSksICgtbXMtaGlnaC1jb250cmFzdDogbm9uZSkgeyAgXG5cdC5teC1oZWFkZXIgLm14LWhlYWRlci1yaWdodCB7IHJpZ2h0OiA2M3B4ICFpbXBvcnRhbnQ7IH1cbn1cblxuYm9keSAubXgtaGVhZGVyIHtcblx0cGFkZGluZzogMDtcblx0aGVpZ2h0OiAkbS1oZWFkZXItaGVpZ2h0O1xuXHRjb2xvcjogJG0taGVhZGVyLWNvbG9yO1xuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJGRlZmF1bHQtYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbS1oZWFkZXItYmc7XG5cdGRpc3BsYXk6IHRhYmxlO1xuXHR3aWR0aDogMTAwJTtcblxuXHQubXgtaGVhZGVyLWNlbnRlciB7XG5cdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHR3aWR0aDogMTAwJTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0Lm14LWhlYWRlci1sZWZ0LFxuXHQubXgtaGVhZGVyLXJpZ2h0IHtcdFxuXHRcdGRpc3BsYXk6IHRhYmxlO1x0XG5cdFx0d2lkdGg6IDI1JTtcblx0XHR0b3A6IDA7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdGhlaWdodDogJG0taGVhZGVyLWhlaWdodDtcblx0XHQubXgtcGxhY2Vob2xkZXIge1xuXHRcdFx0ZGlzcGxheTogdGFibGUtY2VsbDtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0fVx0XHRcblx0fVxuXHQubXgtbGluayB7XG5cdFx0Y29sb3I6ICRtLWhlYWRlci1saW5rLWNvbG9yO1xuXHR9XG5cdC5teC1zaWRlYmFydG9nZ2xlIHtcblx0XHRmb250LXNpemU6IDI0cHg7XG5cdFx0bWFyZ2luLXRvcDogNHB4O1xuXHR9XG5cblx0Ly8gSGVhZGVyIFRpdGxlXG5cdC5teC10aXRsZSB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGNvbG9yOiAkbS1oZWFkZXItY29sb3I7XG5cdFx0Zm9udC1zaXplOiAxNnB4O1xuXHRcdGxpbmUtaGVpZ2h0OiA0NHB4O1xuXHRcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXHR9XG5cblx0LmJ0bi1pbWFnZS5nbHlwaGljb24ge1xuXHRcdGZvbnQtc2l6ZTogMjFweDtcbiBcdH1cbn1cblxuYm9keVtkaXI9XCJsdHJcIl0gLm14LWhlYWRlci1sZWZ0LCBcbmJvZHlbZGlyPVwicnRsXCJdIC5teC1oZWFkZXItcmlnaHQge1xuXHRsZWZ0OiAwO1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuYm9keVtkaXI9XCJydGxcIl0gLm14LWhlYWRlci1sZWZ0LCBcbmJvZHlbZGlyPVwibHRyXCJdIC5teC1oZWFkZXItcmlnaHQge1xuXHRyaWdodDogMDtcblx0dGV4dC1hbGlnbjogcmlnaHQ7XG59XG4iLCIvKlxuKiBNZW5kaXggRG9jdW1lbnRhdGlvblxuKiBTcGVjaWFsIHN0eWxlcyBmb3IgcHJlc2VudGluZyBtb2JpbGUgY29tcG9uZW50c1xuKi9cblxuXG4vKlxuKiBUYWJjb250YWluZXJcbipcbiogRGVmYXVsdCBNZW5kaXggVGFiY29udGFpbmVyIGZvciBNb2JpbGUgXG4qL1xuLnByb2ZpbGUtcGhvbmUsXG4ucHJvZmlsZS10YWJsZXQge1xuXHQubXgtdGFiY29udGFpbmVyLXRhYnMge1xuXHRcdG1hcmdpbjogMDtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJG0tdGFicy1iZztcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cblx0XHRsaSB7XG5cdFx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xuXHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR3aWR0aDogMSU7XG5cdFx0XHRhIHtcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogMDtcblx0XHRcdFx0Ym94LXNoYWRvdzpcdG5vbmU7XG5cdFx0XHRcdG1hcmdpbjogMDtcblx0XHRcdFx0cGFkZGluZzogMTVweCAwO1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IG5vbmU7XG5cdFx0XHRcdGNvbG9yOiAkbS10YWJzLWNvbG9yO1xuXHRcdFx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdFx0XHRmb250LXNpemU6IDExcHg7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cblx0XHRcdFx0Jjpob3Zlcixcblx0XHRcdFx0Jjpmb2N1cyxcblx0XHRcdFx0Ji5hY3RpdmUge1xuXHRcdFx0XHRcdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG5cdFx0XHRcdFx0Ym9yZGVyLXN0eWxlOiBub25lO1xuXHRcdFx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0XHQmOmZpcnN0LWNoaWxkIGEge1xuXHRcdFx0XHRcblx0XHRcdH1cblx0XHRcdCY6bGFzdC1jaGlsZCBhIHtcblx0XHRcdFx0XG5cdFx0XHR9XG5cdFx0XHQmLmFjdGl2ZSBhIHtcblx0XHRcdFx0Y29sb3I6ICRtLXRhYnMtY29sb3ItYWN0aXZlO1xuXHRcdFx0XHRib3JkZXItc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbiAgXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICBcdFx0XHRcdEBpbmNsdWRlIGNzcy1hcnJvdyhib3R0b20sIDVweCwgNXB4LCAjRkZGLCAjRkZGLCAwKTtcblxuICBcdFx0XHRcdCY6YWZ0ZXIsXG4gIFx0XHRcdFx0JjpiZWZvcmUge1xuICBcdFx0XHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBcdFx0XHRcdH1cbiAgXHRcdFx0XHQmOmFmdGVyIHtcbiAgXHRcdFx0XHRcdHRvcDogODAlO1xuICBcdFx0XHRcdH1cbiAgXHRcdFx0XHQmOmJlZm9yZSB7XG4gIFx0XHRcdFx0XHR0b3A6IDc1JTtcbiAgXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4iLCIvKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgUmVnaW9uc1xuXG4gICBVc2VkIGZvciBuYXZpZ2F0aW9uIGxheW91dHNcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmVnaW9uLXRvcGJhciB7XG5cdG1pbi1oZWlnaHQ6ICR0b3BiYXItbWluaW1hbGhlaWdodDtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRuYXZ0b3BiYXItYm9yZGVyLWNvbG9yO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2dG9wYmFyLWJnO1xuXHQ+IC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXG5cdC50b2dnbGUtYnRuIHtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0bWFyZ2luOiAtMjBweCAxNXB4IDAgMDtcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJHRvcGJhci1taW5pbWFsaGVpZ2h0IC8gMik7XG5cdH1cblx0Lm5hdmJhci1oZWFkZXIge1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG5cdC8vIFNTTyB3aWRnZXRzXG5cdC5uYXZiYXItcmlnaHQge1xuXHRcdG1pbi1oZWlnaHQ6ICR0b3BiYXItbWluaW1hbGhlaWdodDtcblx0XHRtYXgtd2lkdGg6IDEwMCU7XG5cdFx0Lm14LWFwcHN3aXRjaGVyLWJ1dHRvbi1wbGFjZWhvbGRlcixcblx0XHQubXgtcHJvZmlsZW1lbnUtYnV0dG9uLXBsYWNlaG9sZGVyICB7XG5cdFx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0XHRib3JkZXItbGVmdDogMXB4IHNvbGlkICRkZWZhdWx0LWJvcmRlci1jb2xvcjtcblx0XHRcdHdpZHRoOiAkdG9wYmFyLW1pbmltYWxoZWlnaHQ7XG5cdFx0XHRoZWlnaHQ6ICR0b3BiYXItbWluaW1hbGhlaWdodDtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWF4LXdpZHRoOiA1MCU7XG5cdFx0XHRpZnJhbWUge1xuXHRcdFx0XHR3aWR0aDogNDhweDtcblx0XHRcdFx0aGVpZ2h0OiA0OHB4O1xuXG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0dG9wOiAwO1xuXHRcdFx0XHRyaWdodDogMDtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiAwO1xuXHRcdFx0XHRtYXJnaW46IGF1dG8gYXV0bztcblx0XHRcdH1cblx0XHRcblx0XHR9XG5cdFx0QG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuLnJlZ2lvbi1zaWRlYmFyLFxuLnJlZ2lvbi1zaWRlYmFyLWZpeGVkIHtcblx0YmFja2dyb3VuZC1jb2xvcjogJG5hdnNpZGViYXItYmc7XG5cdD4gLm14LWxheW91dGNvbnRhaW5lci13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG59XG4ucmVnaW9uLWNvbnRlbnQge1xuXHRwYWRkaW5nOiAwOyAvLyBmb3IgaWYgcmVnaW9uLWNvbnRlbnQgaXMgb24gYSBjb2wgc28geW91IGRvbnQgZ2V0IHNjb2xsYmFyXG5cdD4gLm14LWxheW91dGNvbnRhaW5lci13cmFwcGVyIHtcblx0XHRwYWRkaW5nOiAwO1xuXHR9XG5cdD4gLm14LXBsYWNlaG9sZGVyLFxuXHQ+IC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciAubXgtcGxhY2Vob2xkZXIge1xuXHRcdFxuXHRcdC8vIEZha2Ugb3JnaW5hbCBjb250YWluZXIgc3R5bGluZyBvbiB0aGUgZmlyc3QgY29udGFpbmVyIG9uIHRoZSBwYWdlXG5cdFx0Lm14LWxheW91dGdyaWQtZml4ZWQge1xuXHRcdFx0bWF4LXdpZHRoOiAxMTcwcHg7XG5cdFx0XHRtYXJnaW46IGF1dG9cblx0XHR9XG5cdH1cbn1cbi5yZWdpb24tZm9vdGVyIHtcblx0PiAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cblxuLmxheW91dC1zaWRlYmFyLXJlc3BvbnNpdmUge1xuXHQucmVnaW9uLXNpZGViYXItZml4ZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0QGV4dGVuZCAucmVnaW9uLXNpZGViYXI7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdFx0ICBwb3NpdGlvbjogZml4ZWQ7XG5cdFx0ICB6LWluZGV4OiAxMDtcblx0XHQgIGRpc3BsYXk6IGJsb2NrO1xuXHRcdCAgb3ZlcmZsb3cteDogaGlkZGVuO1xuXHRcdCAgb3ZlcmZsb3cteTogYXV0bztcblx0XHQgIGhlaWdodDogMTAwJTtcblx0XHQgIHBhZGRpbmc6IDA7XG5cdFx0fVxuXHR9XG5cdC5teC1zY3JvbGxjb250YWluZXItb3BlbiB7XG5cdFx0QG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG5cdFx0XHRsZWZ0OiAtMjAwcHggIWltcG9ydGFudDtcblx0XHR9XG5cdH1cbn1cbmJvZHlbZGlyPVwicnRsXCJdIC5sYXlvdXQtc2lkZWJhci1yZXNwb25zaXZlIC5yZWdpb24tc2lkZWJhci1maXhlZCB7XG5cdEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuXHQgIHJpZ2h0OiAwO1xuXHR9XG59XG5ib2R5W2Rpcj1cImx0clwiXSAubGF5b3V0LXNpZGViYXItcmVzcG9uc2l2ZSAucmVnaW9uLXNpZGViYXItZml4ZWQge1xuXHRAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcblx0ICBsZWZ0OiAwO1xuXHR9XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOYXZiYXIgQnJhbmRcblxuICAgRm9yIHlvdXIgY29tcGFueSwgcHJvZHVjdCwgb3IgcHJvamVjdCBuYW1lXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5hdmJhci1icmFuZCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtaW4taGVpZ2h0OiAkdG9wYmFyLW1pbmltYWxoZWlnaHQ7XG5cdGZsb2F0OiBsZWZ0O1xuXHRwYWRkaW5nOiAwO1xuXHRsaW5lLWhlaWdodDogJHRvcGJhci1taW5pbWFsaGVpZ2h0O1xuXG5cdEBpZiAkYnJhbmQtbG9nbyAhPSBmYWxzZSB7XG5cdFx0aW1nIHtcbiAgICBcdFx0ZGlzcGxheTogbm9uZTtcbiAgICBcdH1cbiAgICBcdCY6YmVmb3JlIHtcblx0XHQgICAgY29udGVudDogXCJcIjtcblx0XHQgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdCAgICB3aWR0aDogJGJyYW5kLWxvZ28td2lkdGg7XG5cdFx0ICAgIGhlaWdodDogJGJyYW5kLWxvZ28taGVpZ2h0O1xuXHRcdCAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGJyYW5kLWxvZ28pO1xuICAgIFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgXHRcdG1hcmdpbi10b3A6IC01cHg7XG4gICAgXHRcdG1hcmdpbi1yaWdodDogNXB4O1xuICAgIFx0fVxuXHR9IEBlbHNlIHtcblx0XHRpbWcge1xuXHRcdFx0aGVpZ2h0OiAkYnJhbmQtbG9nby1oZWlnaHQ7XG5cdFx0XHR3aWR0aDogYXV0bztcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdFx0fVxuXHR9XG5cblx0YSB7XG5cdFx0Zm9udC1zaXplOiAyMHB4O1xuXHRcdGNvbG9yOiAkbmF2YmFyLWJyYW5kLW5hbWU7XG5cblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMge1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxufVxuIiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFJlZ2lvbiBDb250ZW50XG5cbiAgIFNwZWNpZmljIGNvbnRlbnQgc3R5bGluZ1xuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi5yZWdpb24tY29udGVudCB7XG5cdFxuXHQ+IC5teC1sYXlvdXRjb250YWluZXItd3JhcHBlciB7XG5cdFx0XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZWdpb24gU2lkZWJhclxuXG4gICBTcGVjaWZpYyBzaWRlYmFyIHN0eWxpbmdcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4ucmVnaW9uLXNpZGViYXIge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbmF2c2lkZWJhci1iZztcblx0PiAubXgtbGF5b3V0Y29udGFpbmVyLXdyYXBwZXIge1xuXHRcdHBhZGRpbmc6IDA7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBSZWdpb24gVG9wYmFyXG5cbiAgIFNwZWNpZmljIHRvcGJhciBzdHlsaW5nXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLm5hdmxheW91dC10b3BiYXIge1xuXHQucmVnaW9uLXRvcGJhciB7XG5cdFx0LyogUmVzZXQgTGF5b3V0IEdyaWQgc3BhY2luZyAqL1xuXHRcdC5jb250YWluZXItZmx1aWQge1xuXHRcdFx0IHBhZGRpbmc6IDAgMjBweDtcblx0XHR9XG5cdFx0Lm14LW5hdmJhciB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdFx0QG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4tc20pIHtcblx0XHRcdFx0ZmxvYXQ6IG5vbmU7XG5cdFx0XHRcdGNsZWFyOiBib3RoO1xuXHRcdFx0fVxuXHRcdFx0dWwubmF2IHsgXG5cdFx0XHRcdD4gbGkubXgtbmF2YmFyLWl0ZW0gPiBhIHtcblx0XHRcdFx0XHRwYWRkaW5nOiAwIDMwcHg7XG5cdFx0XHRcdFx0bGluZS1oZWlnaHQ6ICR0b3BiYXItbWluaW1hbGhlaWdodDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQ3dDQSxPQUFPLENBQUMsc0RBQUk7QUlQVCxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUlqQzNCLEFBQUEsUUFBUTtFQUNSLGdCQUFnQjtFQUNoQixZQUFZO0VBQ1osZ0JBQWdCO0VBQ2hCLFlBQVksQ0FBQztJSjhCVCxhQUFlLEVIcWZxQixJQUFJO0dPamhCM0M7OztBSjhCRSxNQUFNLEVBQUUsU0FBUyxFQUFFLEtBQUs7RUlwQzNCLEFBQUEsUUFBUTtFQUNSLGdCQUFn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 */
