/*
Theme Name: Open Geo
Theme URI: http://opengeo.org
Description: Welcome to the Open Geo custom theme!
Version: 1.0
Author: Integrity Custom Web
Author URI: http://integritystl.com
Tags: editor-style, custom-menu, translation-ready, threaded-comments
*/
/*------------------------------------------------------------------*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
audio,
canvas,
video {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
audio:not([controls]) {
  display: none;
}
html {
  font-size: 100%;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
}
a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
a:hover,
a:active {
  outline: 0;
}
sub,
sup {
  position: relative;
  font-size: 75%;
  line-height: 0;
  vertical-align: baseline;
}
sup {
  top: -0.5em;
}
sub {
  bottom: -0.25em;
}
img {
  /* Responsive images (ensure images don't scale beyond their parents) */
  max-width: 100%;
  /* Part 1: Set a maxium relative to the parent */
  width: auto\9;
  /* IE7-8 need help adjusting responsive images */
  height: auto;
  /* Part 2: Scale the height according to the width, otherwise you get stretching */
  vertical-align: middle;
  border: 0;
  -ms-interpolation-mode: bicubic;
}
#map_canvas img,
.google-maps img {
  max-width: none;
}
button,
input,
select,
textarea {
  margin: 0;
  font-size: 100%;
  vertical-align: middle;
}
button,
input {
  *overflow: visible;
  line-height: normal;
}
button::-moz-focus-inner,
input::-moz-focus-inner {
  padding: 0;
  border: 0;
}
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer;
}
label,
select,
button,
input[type="button"],
input[type="reset"],
input[type="submit"],
input[type="radio"],
input[type="checkbox"] {
  cursor: pointer;
}
input[type="search"] {
  -webkit-box-sizing: content-box;
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  -webkit-appearance: textfield;
}
input[type="search"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-cancel-button {
  -webkit-appearance: none;
}
textarea {
  overflow: auto;
  vertical-align: top;
}
@media print {
  * {
    text-shadow: none !important;
    color: #000 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}
.clearfix {
  *zoom: 1;
}
.clearfix:before,
.clearfix:after {
  display: table;
  content: "";
  line-height: 0;
}
.clearfix:after {
  clear: both;
}
.hide-text {
  font: 0/0 a;
  color: transparent;
  text-shadow: none;
  background-color: transparent;
  border: 0;
}
.input-block-level {
  display: block;
  width: 100%;
  min-height: 11.5em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
body {
  margin: 0;
  font-family: "proxima-nova", sans-serif;
  font-size: 14px;
  line-height: 1.5em;
  color: #67686e;
  background-color: #ffffff;
}
a {
  color: #00a78d;
  text-decoration: none;
}
a:hover,
a:focus {
  color: #000000;
  text-decoration: underline;
}
.img-rounded {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.img-polaroid {
  padding: 4px;
  background-color: #fff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.img-circle {
  -webkit-border-radius: 500px;
  -moz-border-radius: 500px;
  border-radius: 500px;
}
.row {
  margin-left: -20px;
  *zoom: 1;
}
.row:before,
.row:after {
  display: table;
  content: "";
  line-height: 0;
}
.row:after {
  clear: both;
}
[class*="span"] {
  float: left;
  min-height: 1px;
  margin-left: 20px;
}
.container,
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
  width: 940px;
}
.span12 {
  width: 940px;
}
.span11 {
  width: 860px;
}
.span10 {
  width: 780px;
}
.span9 {
  width: 700px;
}
.span8 {
  width: 620px;
}
.span7 {
  width: 540px;
}
.span6 {
  width: 460px;
}
.span5 {
  width: 380px;
}
.span4 {
  width: 300px;
}
.span3 {
  width: 220px;
}
.span2 {
  width: 140px;
}
.span1 {
  width: 60px;
}
.offset12 {
  margin-left: 980px;
}
.offset11 {
  margin-left: 900px;
}
.offset10 {
  margin-left: 820px;
}
.offset9 {
  margin-left: 740px;
}
.offset8 {
  margin-left: 660px;
}
.offset7 {
  margin-left: 580px;
}
.offset6 {
  margin-left: 500px;
}
.offset5 {
  margin-left: 420px;
}
.offset4 {
  margin-left: 340px;
}
.offset3 {
  margin-left: 260px;
}
.offset2 {
  margin-left: 180px;
}
.offset1 {
  margin-left: 100px;
}
.row-fluid {
  width: 100%;
  *zoom: 1;
}
.row-fluid:before,
.row-fluid:after {
  display: table;
  content: "";
  line-height: 0;
}
.row-fluid:after {
  clear: both;
}
.row-fluid [class*="span"] {
  display: block;
  width: 100%;
  min-height: 11.5em;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  float: left;
  margin-left: 2.12765957%;
  *margin-left: 2.07446809%;
}
.row-fluid [class*="span"]:first-child {
  margin-left: 0;
}
.row-fluid .controls-row [class*="span"] + [class*="span"] {
  margin-left: 2.12765957%;
}
.row-fluid .span12 {
  width: 100%;
  *width: 99.94680851%;
}
.row-fluid .span11 {
  width: 91.4893617%;
  *width: 91.43617021%;
}
.row-fluid .span10 {
  width: 82.9787234%;
  *width: 82.92553191%;
}
.row-fluid .span9 {
  width: 74.46808511%;
  *width: 74.41489362%;
}
.row-fluid .span8 {
  width: 65.95744681%;
  *width: 65.90425532%;
}
.row-fluid .span7 {
  width: 57.44680851%;
  *width: 57.39361702%;
}
.row-fluid .span6 {
  width: 48.93617021%;
  *width: 48.88297872%;
}
.row-fluid .span5 {
  width: 40.42553191%;
  *width: 40.37234043%;
}
.row-fluid .span4 {
  width: 31.91489362%;
  *width: 31.86170213%;
}
.row-fluid .span3 {
  width: 23.40425532%;
  *width: 23.35106383%;
}
.row-fluid .span2 {
  width: 14.89361702%;
  *width: 14.84042553%;
}
.row-fluid .span1 {
  width: 6.38297872%;
  *width: 6.32978723%;
}
.row-fluid .offset12 {
  margin-left: 104.25531915%;
  *margin-left: 104.14893617%;
}
.row-fluid .offset12:first-child {
  margin-left: 102.12765957%;
  *margin-left: 102.0212766%;
}
.row-fluid .offset11 {
  margin-left: 95.74468085%;
  *margin-left: 95.63829787%;
}
.row-fluid .offset11:first-child {
  margin-left: 93.61702128%;
  *margin-left: 93.5106383%;
}
.row-fluid .offset10 {
  margin-left: 87.23404255%;
  *margin-left: 87.12765957%;
}
.row-fluid .offset10:first-child {
  margin-left: 85.10638298%;
  *margin-left: 85%;
}
.row-fluid .offset9 {
  margin-left: 78.72340426%;
  *margin-left: 78.61702128%;
}
.row-fluid .offset9:first-child {
  margin-left: 76.59574468%;
  *margin-left: 76.4893617%;
}
.row-fluid .offset8 {
  margin-left: 70.21276596%;
  *margin-left: 70.10638298%;
}
.row-fluid .offset8:first-child {
  margin-left: 68.08510638%;
  *margin-left: 67.9787234%;
}
.row-fluid .offset7 {
  margin-left: 61.70212766%;
  *margin-left: 61.59574468%;
}
.row-fluid .offset7:first-child {
  margin-left: 59.57446809%;
  *margin-left: 59.46808511%;
}
.row-fluid .offset6 {
  margin-left: 53.19148936%;
  *margin-left: 53.08510638%;
}
.row-fluid .offset6:first-child {
  margin-left: 51.06382979%;
  *margin-left: 50.95744681%;
}
.row-fluid .offset5 {
  margin-left: 44.68085106%;
  *margin-left: 44.57446809%;
}
.row-fluid .offset5:first-child {
  margin-left: 42.55319149%;
  *margin-left: 42.44680851%;
}
.row-fluid .offset4 {
  margin-left: 36.17021277%;
  *margin-left: 36.06382979%;
}
.row-fluid .offset4:first-child {
  margin-left: 34.04255319%;
  *margin-left: 33.93617021%;
}
.row-fluid .offset3 {
  margin-left: 27.65957447%;
  *margin-left: 27.55319149%;
}
.row-fluid .offset3:first-child {
  margin-left: 25.53191489%;
  *margin-left: 25.42553191%;
}
.row-fluid .offset2 {
  margin-left: 19.14893617%;
  *margin-left: 19.04255319%;
}
.row-fluid .offset2:first-child {
  margin-left: 17.0212766%;
  *margin-left: 16.91489362%;
}
.row-fluid .offset1 {
  margin-left: 10.63829787%;
  *margin-left: 10.53191489%;
}
.row-fluid .offset1:first-child {
  margin-left: 8.5106383%;
  *margin-left: 8.40425532%;
}
[class*="span"].hide,
.row-fluid [class*="span"].hide {
  display: none;
}
[class*="span"].pull-right,
.row-fluid [class*="span"].pull-right {
  float: right;
}
.container {
  margin-right: auto;
  margin-left: auto;
  *zoom: 1;
}
.container:before,
.container:after {
  display: table;
  content: "";
  line-height: 0;
}
.container:after {
  clear: both;
}
.container-fluid {
  padding-right: 20px;
  padding-left: 20px;
  *zoom: 1;
}
.container-fluid:before,
.container-fluid:after {
  display: table;
  content: "";
  line-height: 0;
}
.container-fluid:after {
  clear: both;
}
p {
  margin: 0 0 0.75em;
}
.lead {
  margin-bottom: 1.5em;
  font-size: 21px;
  font-weight: 200;
  line-height: 2.25em;
}
small {
  font-size: 85%;
}
strong {
  font-weight: bold;
}
em {
  font-style: italic;
}
cite {
  font-style: normal;
}
.muted {
  color: #999999;
}
a.muted:hover,
a.muted:focus {
  color: #808080;
}
.text-warning {
  color: #c09853;
}
a.text-warning:hover,
a.text-warning:focus {
  color: #a47e3c;
}
.text-error {
  color: #b94a48;
}
a.text-error:hover,
a.text-error:focus {
  color: #953b39;
}
.text-info {
  color: #3a87ad;
}
a.text-info:hover,
a.text-info:focus {
  color: #2d6987;
}
.text-success {
  color: #468847;
}
a.text-success:hover,
a.text-success:focus {
  color: #356635;
}
.text-left {
  text-align: left;
}
.text-right {
  text-align: right;
}
.text-center {
  text-align: center;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0.75em 0;
  font-family: inherit;
  font-weight: bold;
  line-height: 1.5em;
  color: #484951;
  text-rendering: optimizelegibility;
}
h1 small,
h2 small,
h3 small,
h4 small,
h5 small,
h6 small {
  font-weight: normal;
  line-height: 1;
  color: #999999;
}
h1,
h2,
h3 {
  line-height: 3em;
}
h1 {
  font-size: 38.5px;
}
h2 {
  font-size: 31.5px;
}
h3 {
  font-size: 24.5px;
}
h4 {
  font-size: 17.5px;
}
h5 {
  font-size: 14px;
}
h6 {
  font-size: 11.9px;
}
h1 small {
  font-size: 24.5px;
}
h2 small {
  font-size: 17.5px;
}
h3 small {
  font-size: 14px;
}
h4 small {
  font-size: 14px;
}
.page-header {
  padding-bottom: -0.25em;
  margin: 1.5em 0 2.25em;
  border-bottom: 1px solid #eeeeee;
}
ul,
ol {
  padding: 0;
  margin: 0 0 0.75em 25px;
}
ul ul,
ul ol,
ol ol,
ol ul {
  margin-bottom: 0;
}
li {
  line-height: 1.5em;
}
ul.unstyled,
ol.unstyled {
  margin-left: 0;
  list-style: none;
}
ul.inline,
ol.inline {
  margin-left: 0;
  list-style: none;
}
ul.inline > li,
ol.inline > li {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding-left: 5px;
  padding-right: 5px;
}
dl {
  margin-bottom: 1.5em;
}
dt,
dd {
  line-height: 1.5em;
}
dt {
  font-weight: bold;
}
dd {
  margin-left: 0.75em;
}
.dl-horizontal {
  *zoom: 1;
}
.dl-horizontal:before,
.dl-horizontal:after {
  display: table;
  content: "";
  line-height: 0;
}
.dl-horizontal:after {
  clear: both;
}
.dl-horizontal dt {
  float: left;
  width: 160px;
  clear: left;
  text-align: right;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dl-horizontal dd {
  margin-left: 180px;
}
hr {
  margin: 1.5em 0;
  border: 0;
  border-top: 1px solid #eeeeee;
  border-bottom: 1px solid #ffffff;
}
abbr[title],
abbr[data-original-title] {
  cursor: help;
  border-bottom: 1px dotted #999999;
}
abbr.initialism {
  font-size: 90%;
  text-transform: uppercase;
}
blockquote {
  padding: 0 0 0 15px;
  margin: 0 0 1.5em;
  border-left: 5px solid #eeeeee;
}
blockquote p {
  margin-bottom: 0;
  font-size: 17.5px;
  font-weight: 300;
  line-height: 1.25;
}
blockquote small {
  display: block;
  line-height: 1.5em;
  color: #999999;
}
blockquote small:before {
  content: '\2014 \00A0';
}
blockquote.pull-right {
  float: right;
  padding-right: 15px;
  padding-left: 0;
  border-right: 5px solid #eeeeee;
  border-left: 0;
}
blockquote.pull-right p,
blockquote.pull-right small {
  text-align: right;
}
blockquote.pull-right small:before {
  content: '';
}
blockquote.pull-right small:after {
  content: '\00A0 \2014';
}
q:before,
q:after,
blockquote:before,
blockquote:after {
  content: "";
}
address {
  display: block;
  margin-bottom: 1.5em;
  font-style: normal;
  line-height: 1.5em;
}
form {
  margin: 0 0 1.5em;
}
fieldset {
  padding: 0;
  margin: 0;
  border: 0;
}
legend {
  display: block;
  width: 100%;
  padding: 0;
  margin-bottom: 1.5em;
  font-size: 21px;
  line-height: 3em;
  color: #333333;
  border: 0;
  border-bottom: 1px solid #e5e5e5;
}
legend small {
  font-size: 1.125em;
  color: #999999;
}
label,
input,
button,
select,
textarea {
  font-size: 14px;
  font-weight: normal;
  line-height: 1.5em;
}
input,
button,
select,
textarea {
  font-family: "proxima-nova", sans-serif;
}
label {
  display: block;
  margin-bottom: 5px;
}
select,
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  display: inline-block;
  height: 1.5em;
  padding: 4px 6px;
  margin-bottom: 0.75em;
  font-size: 14px;
  line-height: 1.5em;
  color: #555555;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  vertical-align: middle;
}
input,
textarea,
.uneditable-input {
  width: 206px;
}
textarea {
  height: auto;
}
textarea,
input[type="text"],
input[type="password"],
input[type="datetime"],
input[type="datetime-local"],
input[type="date"],
input[type="month"],
input[type="time"],
input[type="week"],
input[type="number"],
input[type="email"],
input[type="url"],
input[type="search"],
input[type="tel"],
input[type="color"],
.uneditable-input {
  background-color: #ffffff;
  border: 1px solid #cccccc;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -webkit-transition: border linear .2s, box-shadow linear .2s;
  -moz-transition: border linear .2s, box-shadow linear .2s;
  -o-transition: border linear .2s, box-shadow linear .2s;
  transition: border linear .2s, box-shadow linear .2s;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  border-color: rgba(82, 168, 236, 0.8);
  outline: 0;
  outline: thin dotted \9;
  /* IE6-9 */
  -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
  -moz-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
  box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(82,168,236,.6);
}
input[type="radio"],
input[type="checkbox"] {
  margin: 4px 0 0;
  *margin-top: 0;
  /* IE7 */
  margin-top: 1px \9;
  /* IE8-9 */
  line-height: normal;
}
input[type="file"],
input[type="image"],
input[type="submit"],
input[type="reset"],
input[type="button"],
input[type="radio"],
input[type="checkbox"] {
  width: auto;
}
select,
input[type="file"] {
  height: 11.5em;
  /* In IE7, the height of the select element cannot be changed by height, only font-size */
  *margin-top: 4px;
  /* For IE7, add top margin to align select with labels */
  line-height: 11.5em;
}
select {
  width: 220px;
  border: 1px solid #cccccc;
  background-color: #ffffff;
}
select[multiple],
select[size] {
  height: auto;
}
select:focus,
input[type="file"]:focus,
input[type="radio"]:focus,
input[type="checkbox"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.uneditable-input,
.uneditable-textarea {
  color: #999999;
  background-color: #fcfcfc;
  border-color: #cccccc;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.025);
  cursor: not-allowed;
}
.uneditable-input {
  overflow: hidden;
  white-space: nowrap;
}
.uneditable-textarea {
  width: auto;
  height: auto;
}
input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #999999;
}
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #999999;
}
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #999999;
}
.radio,
.checkbox {
  min-height: 1.5em;
  padding-left: 20px;
}
.radio input[type="radio"],
.checkbox input[type="checkbox"] {
  float: left;
  margin-left: -20px;
}
.controls > .radio:first-child,
.controls > .checkbox:first-child {
  padding-top: 5px;
}
.radio.inline,
.checkbox.inline {
  display: inline-block;
  padding-top: 5px;
  margin-bottom: 0;
  vertical-align: middle;
}
.radio.inline + .radio.inline,
.checkbox.inline + .checkbox.inline {
  margin-left: 10px;
}
.input-mini {
  width: 60px;
}
.input-small {
  width: 90px;
}
.input-medium {
  width: 150px;
}
.input-large {
  width: 210px;
}
.input-xlarge {
  width: 270px;
}
.input-xxlarge {
  width: 530px;
}
input[class*="span"],
select[class*="span"],
textarea[class*="span"],
.uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"] {
  float: none;
  margin-left: 0;
}
.input-append input[class*="span"],
.input-append .uneditable-input[class*="span"],
.input-prepend input[class*="span"],
.input-prepend .uneditable-input[class*="span"],
.row-fluid input[class*="span"],
.row-fluid select[class*="span"],
.row-fluid textarea[class*="span"],
.row-fluid .uneditable-input[class*="span"],
.row-fluid .input-prepend [class*="span"],
.row-fluid .input-append [class*="span"] {
  display: inline-block;
}
input,
textarea,
.uneditable-input {
  margin-left: 0;
}
.controls-row [class*="span"] + [class*="span"] {
  margin-left: 20px;
}
input.span12,
textarea.span12,
.uneditable-input.span12 {
  width: 926px;
}
input.span11,
textarea.span11,
.uneditable-input.span11 {
  width: 846px;
}
input.span10,
textarea.span10,
.uneditable-input.span10 {
  width: 766px;
}
input.span9,
textarea.span9,
.uneditable-input.span9 {
  width: 686px;
}
input.span8,
textarea.span8,
.uneditable-input.span8 {
  width: 606px;
}
input.span7,
textarea.span7,
.uneditable-input.span7 {
  width: 526px;
}
input.span6,
textarea.span6,
.uneditable-input.span6 {
  width: 446px;
}
input.span5,
textarea.span5,
.uneditable-input.span5 {
  width: 366px;
}
input.span4,
textarea.span4,
.uneditable-input.span4 {
  width: 286px;
}
input.span3,
textarea.span3,
.uneditable-input.span3 {
  width: 206px;
}
input.span2,
textarea.span2,
.uneditable-input.span2 {
  width: 126px;
}
input.span1,
textarea.span1,
.uneditable-input.span1 {
  width: 46px;
}
.controls-row {
  *zoom: 1;
}
.controls-row:before,
.controls-row:after {
  display: table;
  content: "";
  line-height: 0;
}
.controls-row:after {
  clear: both;
}
.controls-row [class*="span"],
.row-fluid .controls-row [class*="span"] {
  float: left;
}
.controls-row .checkbox[class*="span"],
.controls-row .radio[class*="span"] {
  padding-top: 5px;
}
input[disabled],
select[disabled],
textarea[disabled],
input[readonly],
select[readonly],
textarea[readonly] {
  cursor: not-allowed;
  background-color: #eeeeee;
}
input[type="radio"][disabled],
input[type="checkbox"][disabled],
input[type="radio"][readonly],
input[type="checkbox"][readonly] {
  background-color: transparent;
}
.control-group.warning .control-label,
.control-group.warning .help-block,
.control-group.warning .help-inline {
  color: #c09853;
}
.control-group.warning .checkbox,
.control-group.warning .radio,
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
  color: #c09853;
}
.control-group.warning input,
.control-group.warning select,
.control-group.warning textarea {
  border-color: #c09853;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.warning input:focus,
.control-group.warning select:focus,
.control-group.warning textarea:focus {
  border-color: #a47e3c;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #dbc59e;
}
.control-group.warning .input-prepend .add-on,
.control-group.warning .input-append .add-on {
  color: #c09853;
  background-color: #fcf8e3;
  border-color: #c09853;
}
.control-group.error .control-label,
.control-group.error .help-block,
.control-group.error .help-inline {
  color: #b94a48;
}
.control-group.error .checkbox,
.control-group.error .radio,
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
  color: #b94a48;
}
.control-group.error input,
.control-group.error select,
.control-group.error textarea {
  border-color: #b94a48;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.error input:focus,
.control-group.error select:focus,
.control-group.error textarea:focus {
  border-color: #953b39;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #d59392;
}
.control-group.error .input-prepend .add-on,
.control-group.error .input-append .add-on {
  color: #b94a48;
  background-color: #f2dede;
  border-color: #b94a48;
}
.control-group.success .control-label,
.control-group.success .help-block,
.control-group.success .help-inline {
  color: #468847;
}
.control-group.success .checkbox,
.control-group.success .radio,
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
  color: #468847;
}
.control-group.success input,
.control-group.success select,
.control-group.success textarea {
  border-color: #468847;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.success input:focus,
.control-group.success select:focus,
.control-group.success textarea:focus {
  border-color: #356635;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7aba7b;
}
.control-group.success .input-prepend .add-on,
.control-group.success .input-append .add-on {
  color: #468847;
  background-color: #dff0d8;
  border-color: #468847;
}
.control-group.info .control-label,
.control-group.info .help-block,
.control-group.info .help-inline {
  color: #3a87ad;
}
.control-group.info .checkbox,
.control-group.info .radio,
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
  color: #3a87ad;
}
.control-group.info input,
.control-group.info select,
.control-group.info textarea {
  border-color: #3a87ad;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
}
.control-group.info input:focus,
.control-group.info select:focus,
.control-group.info textarea:focus {
  border-color: #2d6987;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
  -moz-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 6px #7ab5d3;
}
.control-group.info .input-prepend .add-on,
.control-group.info .input-append .add-on {
  color: #3a87ad;
  background-color: #d9edf7;
  border-color: #3a87ad;
}
input:focus:invalid,
textarea:focus:invalid,
select:focus:invalid {
  color: #b94a48;
  border-color: #ee5f5b;
}
input:focus:invalid:focus,
textarea:focus:invalid:focus,
select:focus:invalid:focus {
  border-color: #e9322d;
  -webkit-box-shadow: 0 0 6px #f8b9b7;
  -moz-box-shadow: 0 0 6px #f8b9b7;
  box-shadow: 0 0 6px #f8b9b7;
}
.form-actions {
  padding: 0.5em 20px 1.5em;
  margin-top: 1.5em;
  margin-bottom: 1.5em;
  background-color: #f5f5f5;
  border-top: 1px solid #e5e5e5;
  *zoom: 1;
}
.form-actions:before,
.form-actions:after {
  display: table;
  content: "";
  line-height: 0;
}
.form-actions:after {
  clear: both;
}
.help-block,
.help-inline {
  color: #8d8e94;
}
.help-block {
  display: block;
  margin-bottom: 0.75em;
}
.help-inline {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  vertical-align: middle;
  padding-left: 5px;
}
.input-append,
.input-prepend {
  display: inline-block;
  margin-bottom: 0.75em;
  vertical-align: middle;
  font-size: 0;
  white-space: nowrap;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input,
.input-append .dropdown-menu,
.input-prepend .dropdown-menu,
.input-append .popover,
.input-prepend .popover {
  font-size: 14px;
}
.input-append input,
.input-prepend input,
.input-append select,
.input-prepend select,
.input-append .uneditable-input,
.input-prepend .uneditable-input {
  position: relative;
  margin-bottom: 0;
  *margin-left: 0;
  vertical-align: top;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-append input:focus,
.input-prepend input:focus,
.input-append select:focus,
.input-prepend select:focus,
.input-append .uneditable-input:focus,
.input-prepend .uneditable-input:focus {
  z-index: 2;
}
.input-append .add-on,
.input-prepend .add-on {
  display: inline-block;
  width: auto;
  height: 1.5em;
  min-width: 16px;
  padding: 4px 5px;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.5em;
  text-align: center;
  text-shadow: 0 1px 0 #ffffff;
  background-color: #eeeeee;
  border: 1px solid #ccc;
}
.input-append .add-on,
.input-prepend .add-on,
.input-append .btn,
.input-prepend .btn,
.input-append .btn-group > .dropdown-toggle,
.input-prepend .btn-group > .dropdown-toggle {
  vertical-align: top;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.input-append .active,
.input-prepend .active {
  background-color: #a9dba9;
  border-color: #46a546;
}
.input-prepend .add-on,
.input-prepend .btn {
  margin-right: -1px;
}
.input-prepend .add-on:first-child,
.input-prepend .btn:first-child {
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.input-append input,
.input-append select,
.input-append .uneditable-input {
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.input-append input + .btn-group .btn:last-child,
.input-append select + .btn-group .btn:last-child,
.input-append .uneditable-input + .btn-group .btn:last-child {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-append .add-on,
.input-append .btn,
.input-append .btn-group {
  margin-left: -1px;
}
.input-append .add-on:last-child,
.input-append .btn:last-child,
.input-append .btn-group:last-child > .dropdown-toggle {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-prepend.input-append input,
.input-prepend.input-append select,
.input-prepend.input-append .uneditable-input {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.input-prepend.input-append input + .btn-group .btn,
.input-prepend.input-append select + .btn-group .btn,
.input-prepend.input-append .uneditable-input + .btn-group .btn {
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-prepend.input-append .add-on:first-child,
.input-prepend.input-append .btn:first-child {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.input-prepend.input-append .add-on:last-child,
.input-prepend.input-append .btn:last-child {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.input-prepend.input-append .btn-group:first-child {
  margin-left: 0;
}
input.search-query {
  padding-right: 14px;
  padding-right: 4px \9;
  padding-left: 14px;
  padding-left: 4px \9;
  /* IE7-8 doesn't have border-radius, so don't indent the padding */
  margin-bottom: 0;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
/* Allow for input prepend/append in search forms */
.form-search .input-append .search-query,
.form-search .input-prepend .search-query {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.form-search .input-append .search-query {
  -webkit-border-radius: 14px 0 0 14px;
  -moz-border-radius: 14px 0 0 14px;
  border-radius: 14px 0 0 14px;
}
.form-search .input-append .btn {
  -webkit-border-radius: 0 14px 14px 0;
  -moz-border-radius: 0 14px 14px 0;
  border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .search-query {
  -webkit-border-radius: 0 14px 14px 0;
  -moz-border-radius: 0 14px 14px 0;
  border-radius: 0 14px 14px 0;
}
.form-search .input-prepend .btn {
  -webkit-border-radius: 14px 0 0 14px;
  -moz-border-radius: 14px 0 0 14px;
  border-radius: 14px 0 0 14px;
}
.form-search input,
.form-inline input,
.form-horizontal input,
.form-search textarea,
.form-inline textarea,
.form-horizontal textarea,
.form-search select,
.form-inline select,
.form-horizontal select,
.form-search .help-inline,
.form-inline .help-inline,
.form-horizontal .help-inline,
.form-search .uneditable-input,
.form-inline .uneditable-input,
.form-horizontal .uneditable-input,
.form-search .input-prepend,
.form-inline .input-prepend,
.form-horizontal .input-prepend,
.form-search .input-append,
.form-inline .input-append,
.form-horizontal .input-append {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  margin-bottom: 0;
  vertical-align: middle;
}
.form-search .hide,
.form-inline .hide,
.form-horizontal .hide {
  display: none;
}
.form-search label,
.form-inline label,
.form-search .btn-group,
.form-inline .btn-group {
  display: inline-block;
}
.form-search .input-append,
.form-inline .input-append,
.form-search .input-prepend,
.form-inline .input-prepend {
  margin-bottom: 0;
}
.form-search .radio,
.form-search .checkbox,
.form-inline .radio,
.form-inline .checkbox {
  padding-left: 0;
  margin-bottom: 0;
  vertical-align: middle;
}
.form-search .radio input[type="radio"],
.form-search .checkbox input[type="checkbox"],
.form-inline .radio input[type="radio"],
.form-inline .checkbox input[type="checkbox"] {
  float: left;
  margin-right: 3px;
  margin-left: 0;
}
.control-group {
  margin-bottom: 0.75em;
}
legend + .control-group {
  margin-top: 1.5em;
  -webkit-margin-top-collapse: separate;
}
.form-horizontal .control-group {
  margin-bottom: 1.5em;
  *zoom: 1;
}
.form-horizontal .control-group:before,
.form-horizontal .control-group:after {
  display: table;
  content: "";
  line-height: 0;
}
.form-horizontal .control-group:after {
  clear: both;
}
.form-horizontal .control-label {
  float: left;
  width: 160px;
  padding-top: 5px;
  text-align: right;
}
.form-horizontal .controls {
  *display: inline-block;
  *padding-left: 20px;
  margin-left: 180px;
  *margin-left: 0;
}
.form-horizontal .controls:first-child {
  *padding-left: 180px;
}
.form-horizontal .help-block {
  margin-bottom: 0;
}
.form-horizontal input + .help-block,
.form-horizontal select + .help-block,
.form-horizontal textarea + .help-block,
.form-horizontal .uneditable-input + .help-block,
.form-horizontal .input-prepend + .help-block,
.form-horizontal .input-append + .help-block {
  margin-top: 0.75em;
}
.form-horizontal .form-actions {
  padding-left: 180px;
}
table {
  max-width: 100%;
  background-color: transparent;
  border-collapse: collapse;
  border-spacing: 0;
}
.table {
  width: 100%;
  margin-bottom: 1.5em;
}
.table th,
.table td {
  padding: 8px;
  line-height: 1.5em;
  text-align: left;
  vertical-align: top;
  border-top: 1px solid #dddddd;
}
.table th {
  font-weight: bold;
}
.table thead th {
  vertical-align: bottom;
}
.table caption + thead tr:first-child th,
.table caption + thead tr:first-child td,
.table colgroup + thead tr:first-child th,
.table colgroup + thead tr:first-child td,
.table thead:first-child tr:first-child th,
.table thead:first-child tr:first-child td {
  border-top: 0;
}
.table tbody + tbody {
  border-top: 2px solid #dddddd;
}
.table .table {
  background-color: #ffffff;
}
.table-condensed th,
.table-condensed td {
  padding: 4px 5px;
}
.table-bordered {
  border: 1px solid #dddddd;
  border-collapse: separate;
  *border-collapse: collapse;
  border-left: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.table-bordered th,
.table-bordered td {
  border-left: 1px solid #dddddd;
}
.table-bordered caption + thead tr:first-child th,
.table-bordered caption + tbody tr:first-child th,
.table-bordered caption + tbody tr:first-child td,
.table-bordered colgroup + thead tr:first-child th,
.table-bordered colgroup + tbody tr:first-child th,
.table-bordered colgroup + tbody tr:first-child td,
.table-bordered thead:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child th,
.table-bordered tbody:first-child tr:first-child td {
  border-top: 0;
}
.table-bordered thead:first-child tr:first-child > th:first-child,
.table-bordered tbody:first-child tr:first-child > td:first-child,
.table-bordered tbody:first-child tr:first-child > th:first-child {
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
.table-bordered thead:first-child tr:first-child > th:last-child,
.table-bordered tbody:first-child tr:first-child > td:last-child,
.table-bordered tbody:first-child tr:first-child > th:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
}
.table-bordered thead:last-child tr:last-child > th:first-child,
.table-bordered tbody:last-child tr:last-child > td:first-child,
.table-bordered tbody:last-child tr:last-child > th:first-child,
.table-bordered tfoot:last-child tr:last-child > td:first-child,
.table-bordered tfoot:last-child tr:last-child > th:first-child {
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.table-bordered thead:last-child tr:last-child > th:last-child,
.table-bordered tbody:last-child tr:last-child > td:last-child,
.table-bordered tbody:last-child tr:last-child > th:last-child,
.table-bordered tfoot:last-child tr:last-child > td:last-child,
.table-bordered tfoot:last-child tr:last-child > th:last-child {
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
.table-bordered tfoot + tbody:last-child tr:last-child td:first-child {
  -webkit-border-bottom-left-radius: 0;
  -moz-border-radius-bottomleft: 0;
  border-bottom-left-radius: 0;
}
.table-bordered tfoot + tbody:last-child tr:last-child td:last-child {
  -webkit-border-bottom-right-radius: 0;
  -moz-border-radius-bottomright: 0;
  border-bottom-right-radius: 0;
}
.table-bordered caption + thead tr:first-child th:first-child,
.table-bordered caption + tbody tr:first-child td:first-child,
.table-bordered colgroup + thead tr:first-child th:first-child,
.table-bordered colgroup + tbody tr:first-child td:first-child {
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
.table-bordered caption + thead tr:first-child th:last-child,
.table-bordered caption + tbody tr:first-child td:last-child,
.table-bordered colgroup + thead tr:first-child th:last-child,
.table-bordered colgroup + tbody tr:first-child td:last-child {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
}
.table-striped tbody > tr:nth-child(odd) > td,
.table-striped tbody > tr:nth-child(odd) > th {
  background-color: #f9f9f9;
}
.table-hover tbody tr:hover > td,
.table-hover tbody tr:hover > th {
  background-color: #f5f5f5;
}
table td[class*="span"],
table th[class*="span"],
.row-fluid table td[class*="span"],
.row-fluid table th[class*="span"] {
  display: table-cell;
  float: none;
  margin-left: 0;
}
.table td.span1,
.table th.span1 {
  float: none;
  width: 44px;
  margin-left: 0;
}
.table td.span2,
.table th.span2 {
  float: none;
  width: 124px;
  margin-left: 0;
}
.table td.span3,
.table th.span3 {
  float: none;
  width: 204px;
  margin-left: 0;
}
.table td.span4,
.table th.span4 {
  float: none;
  width: 284px;
  margin-left: 0;
}
.table td.span5,
.table th.span5 {
  float: none;
  width: 364px;
  margin-left: 0;
}
.table td.span6,
.table th.span6 {
  float: none;
  width: 444px;
  margin-left: 0;
}
.table td.span7,
.table th.span7 {
  float: none;
  width: 524px;
  margin-left: 0;
}
.table td.span8,
.table th.span8 {
  float: none;
  width: 604px;
  margin-left: 0;
}
.table td.span9,
.table th.span9 {
  float: none;
  width: 684px;
  margin-left: 0;
}
.table td.span10,
.table th.span10 {
  float: none;
  width: 764px;
  margin-left: 0;
}
.table td.span11,
.table th.span11 {
  float: none;
  width: 844px;
  margin-left: 0;
}
.table td.span12,
.table th.span12 {
  float: none;
  width: 924px;
  margin-left: 0;
}
.table tbody tr.success > td {
  background-color: #dff0d8;
}
.table tbody tr.error > td {
  background-color: #f2dede;
}
.table tbody tr.warning > td {
  background-color: #fcf8e3;
}
.table tbody tr.info > td {
  background-color: #d9edf7;
}
.table-hover tbody tr.success:hover > td {
  background-color: #d0e9c6;
}
.table-hover tbody tr.error:hover > td {
  background-color: #ebcccc;
}
.table-hover tbody tr.warning:hover > td {
  background-color: #faf2cc;
}
.table-hover tbody tr.info:hover > td {
  background-color: #c4e3f3;
}
[class^="icon-"],
[class*=" icon-"] {
  display: inline-block;
  width: 14px;
  height: 14px;
  *margin-right: .3em;
  line-height: 14px;
  vertical-align: text-top;
  background-image: url("../img/glyphicons-halflings.png");
  background-position: 14px 14px;
  background-repeat: no-repeat;
  margin-top: 1px;
}
/* White icons with optional class, or on hover/focus/active states of certain elements */
.icon-white,
.nav-pills > .active > a > [class^="icon-"],
.nav-pills > .active > a > [class*=" icon-"],
.nav-list > .active > a > [class^="icon-"],
.nav-list > .active > a > [class*=" icon-"],
.navbar-inverse .nav > .active > a > [class^="icon-"],
.navbar-inverse .nav > .active > a > [class*=" icon-"],
.dropdown-menu > li > a:hover > [class^="icon-"],
.dropdown-menu > li > a:focus > [class^="icon-"],
.dropdown-menu > li > a:hover > [class*=" icon-"],
.dropdown-menu > li > a:focus > [class*=" icon-"],
.dropdown-menu > .active > a > [class^="icon-"],
.dropdown-menu > .active > a > [class*=" icon-"],
.dropdown-submenu:hover > a > [class^="icon-"],
.dropdown-submenu:focus > a > [class^="icon-"],
.dropdown-submenu:hover > a > [class*=" icon-"],
.dropdown-submenu:focus > a > [class*=" icon-"] {
  background-image: url("../img/glyphicons-halflings-white.png");
}
.icon-glass {
  background-position: 0      0;
}
.icon-music {
  background-position: -24px 0;
}
.icon-search {
  background-position: -48px 0;
}
.icon-envelope {
  background-position: -72px 0;
}
.icon-heart {
  background-position: -96px 0;
}
.icon-star {
  background-position: -120px 0;
}
.icon-star-empty {
  background-position: -144px 0;
}
.icon-user {
  background-position: -168px 0;
}
.icon-film {
  background-position: -192px 0;
}
.icon-th-large {
  background-position: -216px 0;
}
.icon-th {
  background-position: -240px 0;
}
.icon-th-list {
  background-position: -264px 0;
}
.icon-ok {
  background-position: -288px 0;
}
.icon-remove {
  background-position: -312px 0;
}
.icon-zoom-in {
  background-position: -336px 0;
}
.icon-zoom-out {
  background-position: -360px 0;
}
.icon-off {
  background-position: -384px 0;
}
.icon-signal {
  background-position: -408px 0;
}
.icon-cog {
  background-position: -432px 0;
}
.icon-trash {
  background-position: -456px 0;
}
.icon-home {
  background-position: 0 -24px;
}
.icon-file {
  background-position: -24px -24px;
}
.icon-time {
  background-position: -48px -24px;
}
.icon-road {
  background-position: -72px -24px;
}
.icon-download-alt {
  background-position: -96px -24px;
}
.icon-download {
  background-position: -120px -24px;
}
.icon-upload {
  background-position: -144px -24px;
}
.icon-inbox {
  background-position: -168px -24px;
}
.icon-play-circle {
  background-position: -192px -24px;
}
.icon-repeat {
  background-position: -216px -24px;
}
.icon-refresh {
  background-position: -240px -24px;
}
.icon-list-alt {
  background-position: -264px -24px;
}
.icon-lock {
  background-position: -287px -24px;
}
.icon-flag {
  background-position: -312px -24px;
}
.icon-headphones {
  background-position: -336px -24px;
}
.icon-volume-off {
  background-position: -360px -24px;
}
.icon-volume-down {
  background-position: -384px -24px;
}
.icon-volume-up {
  background-position: -408px -24px;
}
.icon-qrcode {
  background-position: -432px -24px;
}
.icon-barcode {
  background-position: -456px -24px;
}
.icon-tag {
  background-position: 0 -48px;
}
.icon-tags {
  background-position: -25px -48px;
}
.icon-book {
  background-position: -48px -48px;
}
.icon-bookmark {
  background-position: -72px -48px;
}
.icon-print {
  background-position: -96px -48px;
}
.icon-camera {
  background-position: -120px -48px;
}
.icon-font {
  background-position: -144px -48px;
}
.icon-bold {
  background-position: -167px -48px;
}
.icon-italic {
  background-position: -192px -48px;
}
.icon-text-height {
  background-position: -216px -48px;
}
.icon-text-width {
  background-position: -240px -48px;
}
.icon-align-left {
  background-position: -264px -48px;
}
.icon-align-center {
  background-position: -288px -48px;
}
.icon-align-right {
  background-position: -312px -48px;
}
.icon-align-justify {
  background-position: -336px -48px;
}
.icon-list {
  background-position: -360px -48px;
}
.icon-indent-left {
  background-position: -384px -48px;
}
.icon-indent-right {
  background-position: -408px -48px;
}
.icon-facetime-video {
  background-position: -432px -48px;
}
.icon-picture {
  background-position: -456px -48px;
}
.icon-pencil {
  background-position: 0 -72px;
}
.icon-map-marker {
  background-position: -24px -72px;
}
.icon-adjust {
  background-position: -48px -72px;
}
.icon-tint {
  background-position: -72px -72px;
}
.icon-edit {
  background-position: -96px -72px;
}
.icon-share {
  background-position: -120px -72px;
}
.icon-check {
  background-position: -144px -72px;
}
.icon-move {
  background-position: -168px -72px;
}
.icon-step-backward {
  background-position: -192px -72px;
}
.icon-fast-backward {
  background-position: -216px -72px;
}
.icon-backward {
  background-position: -240px -72px;
}
.icon-play {
  background-position: -264px -72px;
}
.icon-pause {
  background-position: -288px -72px;
}
.icon-stop {
  background-position: -312px -72px;
}
.icon-forward {
  background-position: -336px -72px;
}
.icon-fast-forward {
  background-position: -360px -72px;
}
.icon-step-forward {
  background-position: -384px -72px;
}
.icon-eject {
  background-position: -408px -72px;
}
.icon-chevron-left {
  background-position: -432px -72px;
}
.icon-chevron-right {
  background-position: -456px -72px;
}
.icon-plus-sign {
  background-position: 0 -96px;
}
.icon-minus-sign {
  background-position: -24px -96px;
}
.icon-remove-sign {
  background-position: -48px -96px;
}
.icon-ok-sign {
  background-position: -72px -96px;
}
.icon-question-sign {
  background-position: -96px -96px;
}
.icon-info-sign {
  background-position: -120px -96px;
}
.icon-screenshot {
  background-position: -144px -96px;
}
.icon-remove-circle {
  background-position: -168px -96px;
}
.icon-ok-circle {
  background-position: -192px -96px;
}
.icon-ban-circle {
  background-position: -216px -96px;
}
.icon-arrow-left {
  background-position: -240px -96px;
}
.icon-arrow-right {
  background-position: -264px -96px;
}
.icon-arrow-up {
  background-position: -289px -96px;
}
.icon-arrow-down {
  background-position: -312px -96px;
}
.icon-share-alt {
  background-position: -336px -96px;
}
.icon-resize-full {
  background-position: -360px -96px;
}
.icon-resize-small {
  background-position: -384px -96px;
}
.icon-plus {
  background-position: -408px -96px;
}
.icon-minus {
  background-position: -433px -96px;
}
.icon-asterisk {
  background-position: -456px -96px;
}
.icon-exclamation-sign {
  background-position: 0 -120px;
}
.icon-gift {
  background-position: -24px -120px;
}
.icon-leaf {
  background-position: -48px -120px;
}
.icon-fire {
  background-position: -72px -120px;
}
.icon-eye-open {
  background-position: -96px -120px;
}
.icon-eye-close {
  background-position: -120px -120px;
}
.icon-warning-sign {
  background-position: -144px -120px;
}
.icon-plane {
  background-position: -168px -120px;
}
.icon-calendar {
  background-position: -192px -120px;
}
.icon-random {
  background-position: -216px -120px;
  width: 16px;
}
.icon-comment {
  background-position: -240px -120px;
}
.icon-magnet {
  background-position: -264px -120px;
}
.icon-chevron-up {
  background-position: -288px -120px;
}
.icon-chevron-down {
  background-position: -313px -119px;
}
.icon-retweet {
  background-position: -336px -120px;
}
.icon-shopping-cart {
  background-position: -360px -120px;
}
.icon-folder-close {
  background-position: -384px -120px;
  width: 16px;
}
.icon-folder-open {
  background-position: -408px -120px;
  width: 16px;
}
.icon-resize-vertical {
  background-position: -432px -119px;
}
.icon-resize-horizontal {
  background-position: -456px -118px;
}
.icon-hdd {
  background-position: 0 -144px;
}
.icon-bullhorn {
  background-position: -24px -144px;
}
.icon-bell {
  background-position: -48px -144px;
}
.icon-certificate {
  background-position: -72px -144px;
}
.icon-thumbs-up {
  background-position: -96px -144px;
}
.icon-thumbs-down {
  background-position: -120px -144px;
}
.icon-hand-right {
  background-position: -144px -144px;
}
.icon-hand-left {
  background-position: -168px -144px;
}
.icon-hand-up {
  background-position: -192px -144px;
}
.icon-hand-down {
  background-position: -216px -144px;
}
.icon-circle-arrow-right {
  background-position: -240px -144px;
}
.icon-circle-arrow-left {
  background-position: -264px -144px;
}
.icon-circle-arrow-up {
  background-position: -288px -144px;
}
.icon-circle-arrow-down {
  background-position: -312px -144px;
}
.icon-globe {
  background-position: -336px -144px;
}
.icon-wrench {
  background-position: -360px -144px;
}
.icon-tasks {
  background-position: -384px -144px;
}
.icon-filter {
  background-position: -408px -144px;
}
.icon-briefcase {
  background-position: -432px -144px;
}
.icon-fullscreen {
  background-position: -456px -144px;
}
.dropup,
.dropdown {
  position: relative;
}
.dropdown-toggle {
  *margin-bottom: -3px;
}
.dropdown-toggle:active,
.open .dropdown-toggle {
  outline: 0;
}
.caret {
  display: inline-block;
  width: 0;
  height: 0;
  vertical-align: top;
  border-top: 4px solid #000000;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent;
  content: "";
}
.dropdown .caret {
  margin-top: 8px;
  margin-left: 2px;
}
.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  list-style: none;
  background-color: #ffffff;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  *border-right-width: 2px;
  *border-bottom-width: 2px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
}
.dropdown-menu.pull-right {
  right: 0;
  left: auto;
}
.dropdown-menu .divider {
  *width: 100%;
  height: 1px;
  margin: -0.25em 1px;
  *margin: -5px 0 5px;
  overflow: hidden;
  background-color: #e5e5e5;
  border-bottom: 1px solid #ffffff;
}
.dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: normal;
  line-height: 1.5em;
  color: #333333;
  white-space: nowrap;
}
.dropdown-menu > li > a:hover,
.dropdown-menu > li > a:focus,
.dropdown-submenu:hover > a,
.dropdown-submenu:focus > a {
  text-decoration: none;
  color: #ffffff;
  background-color: #009d84;
  background-image: -moz-linear-gradient(top, #00a78d, #008e77);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00a78d), to(#008e77));
  background-image: -webkit-linear-gradient(top, #00a78d, #008e77);
  background-image: -o-linear-gradient(top, #00a78d, #008e77);
  background-image: linear-gradient(to bottom, #00a78d, #008e77);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00a78d', endColorstr='#ff008e77', GradientType=0);
}
.dropdown-menu > .active > a,
.dropdown-menu > .active > a:hover,
.dropdown-menu > .active > a:focus {
  color: #ffffff;
  text-decoration: none;
  outline: 0;
  background-color: #009d84;
  background-image: -moz-linear-gradient(top, #00a78d, #008e77);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00a78d), to(#008e77));
  background-image: -webkit-linear-gradient(top, #00a78d, #008e77);
  background-image: -o-linear-gradient(top, #00a78d, #008e77);
  background-image: linear-gradient(to bottom, #00a78d, #008e77);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00a78d', endColorstr='#ff008e77', GradientType=0);
}
.dropdown-menu > .disabled > a,
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  color: #999999;
}
.dropdown-menu > .disabled > a:hover,
.dropdown-menu > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  background-image: none;
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  cursor: default;
}
.open {
  *z-index: 1000;
}
.open > .dropdown-menu {
  display: block;
}
.dropdown-backdrop {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  z-index: 990;
}
.pull-right > .dropdown-menu {
  right: 0;
  left: auto;
}
.dropup .caret,
.navbar-fixed-bottom .dropdown .caret {
  border-top: 0;
  border-bottom: 4px solid #000000;
  content: "";
}
.dropup .dropdown-menu,
.navbar-fixed-bottom .dropdown .dropdown-menu {
  top: auto;
  bottom: 100%;
  margin-bottom: 1px;
}
.dropdown-submenu {
  position: relative;
}
.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
  margin-left: -1px;
  -webkit-border-radius: 0 6px 6px 6px;
  -moz-border-radius: 0 6px 6px 6px;
  border-radius: 0 6px 6px 6px;
}
.dropdown-submenu:hover > .dropdown-menu {
  display: block;
}
.dropup .dropdown-submenu > .dropdown-menu {
  top: auto;
  bottom: 0;
  margin-top: 0;
  margin-bottom: -2px;
  -webkit-border-radius: 5px 5px 5px 0;
  -moz-border-radius: 5px 5px 5px 0;
  border-radius: 5px 5px 5px 0;
}
.dropdown-submenu > a:after {
  display: block;
  content: " ";
  float: right;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
  border-width: 5px 0 5px 5px;
  border-left-color: #cccccc;
  margin-top: 5px;
  margin-right: -10px;
}
.dropdown-submenu:hover > a:after {
  border-left-color: #ffffff;
}
.dropdown-submenu.pull-left {
  float: none;
}
.dropdown-submenu.pull-left > .dropdown-menu {
  left: -100%;
  margin-left: 10px;
  -webkit-border-radius: 6px 0 6px 6px;
  -moz-border-radius: 6px 0 6px 6px;
  border-radius: 6px 0 6px 6px;
}
.dropdown .dropdown-menu .nav-header {
  padding-left: 20px;
  padding-right: 20px;
}
.typeahead {
  z-index: 1051;
  margin-top: 2px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.fade {
  opacity: 0;
  -webkit-transition: opacity 0.15s linear;
  -moz-transition: opacity 0.15s linear;
  -o-transition: opacity 0.15s linear;
  transition: opacity 0.15s linear;
}
.fade.in {
  opacity: 1;
}
.collapse {
  position: relative;
  height: 0;
  overflow: hidden;
  -webkit-transition: height 0.35s ease;
  -moz-transition: height 0.35s ease;
  -o-transition: height 0.35s ease;
  transition: height 0.35s ease;
}
.collapse.in {
  height: auto;
}
.close {
  float: right;
  font-size: 20px;
  font-weight: bold;
  line-height: 1.5em;
  color: #000000;
  text-shadow: 0 1px 0 #ffffff;
  opacity: 0.2;
  filter: alpha(opacity=20);
}
.close:hover,
.close:focus {
  color: #000000;
  text-decoration: none;
  cursor: pointer;
  opacity: 0.4;
  filter: alpha(opacity=40);
}
button.close {
  padding: 0;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
}
.btn {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e6e6e6;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  border: 1px solid #cccccc;
  *border: 0;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  *margin-left: .3em;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
}
.btn:hover,
.btn:focus,
.btn:active,
.btn.active,
.btn.disabled,
.btn[disabled] {
  color: #333333;
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
}
.btn:active,
.btn.active {
  background-color: #cccccc \9;
}
.btn:first-child {
  *margin-left: 0;
}
.btn:hover,
.btn:focus {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
.btn:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.btn.active,
.btn:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.btn.disabled,
.btn[disabled] {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-large {
  padding: 11px 19px;
  font-size: 17.5px;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.btn-large [class^="icon-"],
.btn-large [class*=" icon-"] {
  margin-top: 4px;
}
.btn-small {
  padding: 2px 10px;
  font-size: 11.9px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn-small [class^="icon-"],
.btn-small [class*=" icon-"] {
  margin-top: 0;
}
.btn-mini [class^="icon-"],
.btn-mini [class*=" icon-"] {
  margin-top: -1px;
}
.btn-mini {
  padding: 0 6px;
  font-size: 10.5px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.btn-block {
  display: block;
  width: 100%;
  padding-left: 0;
  padding-right: 0;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.btn-block + .btn-block {
  margin-top: 5px;
}
input[type="submit"].btn-block,
input[type="reset"].btn-block,
input[type="button"].btn-block {
  width: 100%;
}
.btn-primary.active,
.btn-warning.active,
.btn-danger.active,
.btn-success.active,
.btn-info.active,
.btn-inverse.active {
  color: rgba(255, 255, 255, 0.75);
}
.btn-primary {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #009b97;
  background-image: -moz-linear-gradient(top, #00a78d, #0089a7);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00a78d), to(#0089a7));
  background-image: -webkit-linear-gradient(top, #00a78d, #0089a7);
  background-image: -o-linear-gradient(top, #00a78d, #0089a7);
  background-image: linear-gradient(to bottom, #00a78d, #0089a7);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00a78d', endColorstr='#ff0089a7', GradientType=0);
  border-color: #0089a7 #0089a7 #004a5b;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #0089a7;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.btn-primary.disabled,
.btn-primary[disabled] {
  color: #ffffff;
  background-color: #0089a7;
  *background-color: #00748e;
}
.btn-primary:active,
.btn-primary.active {
  background-color: #005f74 \9;
}
.btn-warning {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #faa732;
  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
  background-image: -o-linear-gradient(top, #fbb450, #f89406);
  background-image: linear-gradient(to bottom, #fbb450, #f89406);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
  border-color: #f89406 #f89406 #ad6704;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #f89406;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-warning:hover,
.btn-warning:focus,
.btn-warning:active,
.btn-warning.active,
.btn-warning.disabled,
.btn-warning[disabled] {
  color: #ffffff;
  background-color: #f89406;
  *background-color: #df8505;
}
.btn-warning:active,
.btn-warning.active {
  background-color: #c67605 \9;
}
.btn-danger {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #da4f49;
  background-image: -moz-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#bd362f));
  background-image: -webkit-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: -o-linear-gradient(top, #ee5f5b, #bd362f);
  background-image: linear-gradient(to bottom, #ee5f5b, #bd362f);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffbd362f', GradientType=0);
  border-color: #bd362f #bd362f #802420;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #bd362f;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-danger:hover,
.btn-danger:focus,
.btn-danger:active,
.btn-danger.active,
.btn-danger.disabled,
.btn-danger[disabled] {
  color: #ffffff;
  background-color: #bd362f;
  *background-color: #a9302a;
}
.btn-danger:active,
.btn-danger.active {
  background-color: #942a25 \9;
}
.btn-success {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #5bb75b;
  background-image: -moz-linear-gradient(top, #62c462, #51a351);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#51a351));
  background-image: -webkit-linear-gradient(top, #62c462, #51a351);
  background-image: -o-linear-gradient(top, #62c462, #51a351);
  background-image: linear-gradient(to bottom, #62c462, #51a351);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff51a351', GradientType=0);
  border-color: #51a351 #51a351 #387038;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #51a351;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-success:hover,
.btn-success:focus,
.btn-success:active,
.btn-success.active,
.btn-success.disabled,
.btn-success[disabled] {
  color: #ffffff;
  background-color: #51a351;
  *background-color: #499249;
}
.btn-success:active,
.btn-success.active {
  background-color: #408140 \9;
}
.btn-info {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #49afcd;
  background-image: -moz-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#2f96b4));
  background-image: -webkit-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: -o-linear-gradient(top, #5bc0de, #2f96b4);
  background-image: linear-gradient(to bottom, #5bc0de, #2f96b4);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff2f96b4', GradientType=0);
  border-color: #2f96b4 #2f96b4 #1f6377;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #2f96b4;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-info:hover,
.btn-info:focus,
.btn-info:active,
.btn-info.active,
.btn-info.disabled,
.btn-info[disabled] {
  color: #ffffff;
  background-color: #2f96b4;
  *background-color: #2a85a0;
}
.btn-info:active,
.btn-info.active {
  background-color: #24748c \9;
}
.btn-inverse {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #363636;
  background-image: -moz-linear-gradient(top, #444444, #222222);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#444444), to(#222222));
  background-image: -webkit-linear-gradient(top, #444444, #222222);
  background-image: -o-linear-gradient(top, #444444, #222222);
  background-image: linear-gradient(to bottom, #444444, #222222);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff444444', endColorstr='#ff222222', GradientType=0);
  border-color: #222222 #222222 #000000;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #222222;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.btn-inverse:hover,
.btn-inverse:focus,
.btn-inverse:active,
.btn-inverse.active,
.btn-inverse.disabled,
.btn-inverse[disabled] {
  color: #ffffff;
  background-color: #222222;
  *background-color: #151515;
}
.btn-inverse:active,
.btn-inverse.active {
  background-color: #080808 \9;
}
button.btn,
input[type="submit"].btn {
  *padding-top: 3px;
  *padding-bottom: 3px;
}
button.btn::-moz-focus-inner,
input[type="submit"].btn::-moz-focus-inner {
  padding: 0;
  border: 0;
}
button.btn.btn-large,
input[type="submit"].btn.btn-large {
  *padding-top: 7px;
  *padding-bottom: 7px;
}
button.btn.btn-small,
input[type="submit"].btn.btn-small {
  *padding-top: 3px;
  *padding-bottom: 3px;
}
button.btn.btn-mini,
input[type="submit"].btn.btn-mini {
  *padding-top: 1px;
  *padding-bottom: 1px;
}
.btn-link,
.btn-link:active,
.btn-link[disabled] {
  background-color: transparent;
  background-image: none;
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.btn-link {
  border-color: transparent;
  cursor: pointer;
  color: #00a78d;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.btn-link:hover,
.btn-link:focus {
  color: #000000;
  text-decoration: underline;
  background-color: transparent;
}
.btn-link[disabled]:hover,
.btn-link[disabled]:focus {
  color: #333333;
  text-decoration: none;
}
.btn-group {
  position: relative;
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  font-size: 0;
  vertical-align: middle;
  white-space: nowrap;
  *margin-left: .3em;
}
.btn-group:first-child {
  *margin-left: 0;
}
.btn-group + .btn-group {
  margin-left: 5px;
}
.btn-toolbar {
  font-size: 0;
  margin-top: 0.75em;
  margin-bottom: 0.75em;
}
.btn-toolbar > .btn + .btn,
.btn-toolbar > .btn-group + .btn,
.btn-toolbar > .btn + .btn-group {
  margin-left: 5px;
}
.btn-group > .btn {
  position: relative;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.btn-group > .btn + .btn {
  margin-left: -1px;
}
.btn-group > .btn,
.btn-group > .dropdown-menu,
.btn-group > .popover {
  font-size: 14px;
}
.btn-group > .btn-mini {
  font-size: 10.5px;
}
.btn-group > .btn-small {
  font-size: 11.9px;
}
.btn-group > .btn-large {
  font-size: 17.5px;
}
.btn-group > .btn:first-child {
  margin-left: 0;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.btn-group > .btn:last-child,
.btn-group > .dropdown-toggle {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
.btn-group > .btn.large:first-child {
  margin-left: 0;
  -webkit-border-top-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-bottom-left-radius: 6px;
}
.btn-group > .btn.large:last-child,
.btn-group > .large.dropdown-toggle {
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topright: 6px;
  border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  border-bottom-right-radius: 6px;
}
.btn-group > .btn:hover,
.btn-group > .btn:focus,
.btn-group > .btn:active,
.btn-group > .btn.active {
  z-index: 2;
}
.btn-group .dropdown-toggle:active,
.btn-group.open .dropdown-toggle {
  outline: 0;
}
.btn-group > .btn + .dropdown-toggle {
  padding-left: 8px;
  padding-right: 8px;
  -webkit-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 1px 0 0 rgba(255,255,255,.125), inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  *padding-top: 5px;
  *padding-bottom: 5px;
}
.btn-group > .btn-mini + .dropdown-toggle {
  padding-left: 5px;
  padding-right: 5px;
  *padding-top: 2px;
  *padding-bottom: 2px;
}
.btn-group > .btn-small + .dropdown-toggle {
  *padding-top: 5px;
  *padding-bottom: 4px;
}
.btn-group > .btn-large + .dropdown-toggle {
  padding-left: 12px;
  padding-right: 12px;
  *padding-top: 7px;
  *padding-bottom: 7px;
}
.btn-group.open .dropdown-toggle {
  background-image: none;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.btn-group.open .btn.dropdown-toggle {
  background-color: #e6e6e6;
}
.btn-group.open .btn-primary.dropdown-toggle {
  background-color: #0089a7;
}
.btn-group.open .btn-warning.dropdown-toggle {
  background-color: #f89406;
}
.btn-group.open .btn-danger.dropdown-toggle {
  background-color: #bd362f;
}
.btn-group.open .btn-success.dropdown-toggle {
  background-color: #51a351;
}
.btn-group.open .btn-info.dropdown-toggle {
  background-color: #2f96b4;
}
.btn-group.open .btn-inverse.dropdown-toggle {
  background-color: #222222;
}
.btn .caret {
  margin-top: 8px;
  margin-left: 0;
}
.btn-large .caret {
  margin-top: 6px;
}
.btn-large .caret {
  border-left-width: 5px;
  border-right-width: 5px;
  border-top-width: 5px;
}
.btn-mini .caret,
.btn-small .caret {
  margin-top: 8px;
}
.dropup .btn-large .caret {
  border-bottom-width: 5px;
}
.btn-primary .caret,
.btn-warning .caret,
.btn-danger .caret,
.btn-info .caret,
.btn-success .caret,
.btn-inverse .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.btn-group-vertical {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
}
.btn-group-vertical > .btn {
  display: block;
  float: none;
  max-width: 100%;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.btn-group-vertical > .btn + .btn {
  margin-left: 0;
  margin-top: -1px;
}
.btn-group-vertical > .btn:first-child {
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.btn-group-vertical > .btn:last-child {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}
.btn-group-vertical > .btn-large:first-child {
  -webkit-border-radius: 6px 6px 0 0;
  -moz-border-radius: 6px 6px 0 0;
  border-radius: 6px 6px 0 0;
}
.btn-group-vertical > .btn-large:last-child {
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
}
.alert {
  padding: 8px 35px 8px 14px;
  margin-bottom: 1.5em;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  background-color: #fcf8e3;
  border: 1px solid #fbeed5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.alert,
.alert h4 {
  color: #c09853;
}
.alert h4 {
  margin: 0;
}
.alert .close {
  position: relative;
  top: -2px;
  right: -21px;
  line-height: 1.5em;
}
.alert-success {
  background-color: #dff0d8;
  border-color: #d6e9c6;
  color: #468847;
}
.alert-success h4 {
  color: #468847;
}
.alert-danger,
.alert-error {
  background-color: #f2dede;
  border-color: #eed3d7;
  color: #b94a48;
}
.alert-danger h4,
.alert-error h4 {
  color: #b94a48;
}
.alert-info {
  background-color: #d9edf7;
  border-color: #bce8f1;
  color: #3a87ad;
}
.alert-info h4 {
  color: #3a87ad;
}
.alert-block {
  padding-top: 14px;
  padding-bottom: 14px;
}
.alert-block > p,
.alert-block > ul {
  margin-bottom: 0;
}
.alert-block p + p {
  margin-top: 5px;
}
.nav {
  margin-left: 0;
  margin-bottom: 1.5em;
  list-style: none;
}
.nav > li > a {
  display: block;
}
.nav > li > a:hover,
.nav > li > a:focus {
  text-decoration: none;
  background-color: #eeeeee;
}
.nav > li > a > img {
  max-width: none;
}
.nav > .pull-right {
  float: right;
}
.nav-header {
  display: block;
  padding: 3px 15px;
  font-size: 11px;
  font-weight: bold;
  line-height: 1.5em;
  color: #999999;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
  text-transform: uppercase;
}
.nav li + .nav-header {
  margin-top: 9px;
}
.nav-list {
  padding-left: 15px;
  padding-right: 15px;
  margin-bottom: 0;
}
.nav-list > li > a,
.nav-list .nav-header {
  margin-left: -15px;
  margin-right: -15px;
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
.nav-list > li > a {
  padding: 3px 15px;
}
.nav-list > .active > a,
.nav-list > .active > a:hover,
.nav-list > .active > a:focus {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
  background-color: #00a78d;
}
.nav-list [class^="icon-"],
.nav-list [class*=" icon-"] {
  margin-right: 2px;
}
.nav-list .divider {
  *width: 100%;
  height: 1px;
  margin: -0.25em 1px;
  *margin: -5px 0 5px;
  overflow: hidden;
  background-color: #e5e5e5;
  border-bottom: 1px solid #ffffff;
}
.nav-tabs,
.nav-pills {
  *zoom: 1;
}
.nav-tabs:before,
.nav-pills:before,
.nav-tabs:after,
.nav-pills:after {
  display: table;
  content: "";
  line-height: 0;
}
.nav-tabs:after,
.nav-pills:after {
  clear: both;
}
.nav-tabs > li,
.nav-pills > li {
  float: left;
}
.nav-tabs > li > a,
.nav-pills > li > a {
  padding-right: 12px;
  padding-left: 12px;
  margin-right: 2px;
  line-height: 14px;
}
.nav-tabs {
  border-bottom: 1px solid #ddd;
}
.nav-tabs > li {
  margin-bottom: -1px;
}
.nav-tabs > li > a {
  padding-top: 8px;
  padding-bottom: 8px;
  line-height: 1.5em;
  border: 1px solid transparent;
  -webkit-border-radius: 4px 4px 0 0;
  -moz-border-radius: 4px 4px 0 0;
  border-radius: 4px 4px 0 0;
}
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #dddddd;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
  color: #555555;
  background-color: #ffffff;
  border: 1px solid #ddd;
  border-bottom-color: transparent;
  cursor: default;
}
.nav-pills > li > a {
  padding-top: 8px;
  padding-bottom: 8px;
  margin-top: 2px;
  margin-bottom: 2px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.nav-pills > .active > a,
.nav-pills > .active > a:hover,
.nav-pills > .active > a:focus {
  color: #ffffff;
  background-color: #00a78d;
}
.nav-stacked > li {
  float: none;
}
.nav-stacked > li > a {
  margin-right: 0;
}
.nav-tabs.nav-stacked {
  border-bottom: 0;
}
.nav-tabs.nav-stacked > li > a {
  border: 1px solid #ddd;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.nav-tabs.nav-stacked > li:first-child > a {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
}
.nav-tabs.nav-stacked > li:last-child > a {
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.nav-tabs.nav-stacked > li > a:hover,
.nav-tabs.nav-stacked > li > a:focus {
  border-color: #ddd;
  z-index: 2;
}
.nav-pills.nav-stacked > li > a {
  margin-bottom: 3px;
}
.nav-pills.nav-stacked > li:last-child > a {
  margin-bottom: 1px;
}
.nav-tabs .dropdown-menu {
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
}
.nav-pills .dropdown-menu {
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
}
.nav .dropdown-toggle .caret {
  border-top-color: #00a78d;
  border-bottom-color: #00a78d;
  margin-top: 6px;
}
.nav .dropdown-toggle:hover .caret,
.nav .dropdown-toggle:focus .caret {
  border-top-color: #000000;
  border-bottom-color: #000000;
}
/* move down carets for tabs */
.nav-tabs .dropdown-toggle .caret {
  margin-top: 8px;
}
.nav .active .dropdown-toggle .caret {
  border-top-color: #fff;
  border-bottom-color: #fff;
}
.nav-tabs .active .dropdown-toggle .caret {
  border-top-color: #555555;
  border-bottom-color: #555555;
}
.nav > .dropdown.active > a:hover,
.nav > .dropdown.active > a:focus {
  cursor: pointer;
}
.nav-tabs .open .dropdown-toggle,
.nav-pills .open .dropdown-toggle,
.nav > li.dropdown.open.active > a:hover,
.nav > li.dropdown.open.active > a:focus {
  color: #ffffff;
  background-color: #999999;
  border-color: #999999;
}
.nav li.dropdown.open .caret,
.nav li.dropdown.open.active .caret,
.nav li.dropdown.open a:hover .caret,
.nav li.dropdown.open a:focus .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
  opacity: 1;
  filter: alpha(opacity=100);
}
.tabs-stacked .open > a:hover,
.tabs-stacked .open > a:focus {
  border-color: #999999;
}
.tabbable {
  *zoom: 1;
}
.tabbable:before,
.tabbable:after {
  display: table;
  content: "";
  line-height: 0;
}
.tabbable:after {
  clear: both;
}
.tab-content {
  overflow: auto;
}
.tabs-below > .nav-tabs,
.tabs-right > .nav-tabs,
.tabs-left > .nav-tabs {
  border-bottom: 0;
}
.tab-content > .tab-pane,
.pill-content > .pill-pane {
  display: none;
}
.tab-content > .active,
.pill-content > .active {
  display: block;
}
.tabs-below > .nav-tabs {
  border-top: 1px solid #ddd;
}
.tabs-below > .nav-tabs > li {
  margin-top: -1px;
  margin-bottom: 0;
}
.tabs-below > .nav-tabs > li > a {
  -webkit-border-radius: 0 0 4px 4px;
  -moz-border-radius: 0 0 4px 4px;
  border-radius: 0 0 4px 4px;
}
.tabs-below > .nav-tabs > li > a:hover,
.tabs-below > .nav-tabs > li > a:focus {
  border-bottom-color: transparent;
  border-top-color: #ddd;
}
.tabs-below > .nav-tabs > .active > a,
.tabs-below > .nav-tabs > .active > a:hover,
.tabs-below > .nav-tabs > .active > a:focus {
  border-color: transparent #ddd #ddd #ddd;
}
.tabs-left > .nav-tabs > li,
.tabs-right > .nav-tabs > li {
  float: none;
}
.tabs-left > .nav-tabs > li > a,
.tabs-right > .nav-tabs > li > a {
  min-width: 74px;
  margin-right: 0;
  margin-bottom: 3px;
}
.tabs-left > .nav-tabs {
  float: left;
  margin-right: 19px;
  border-right: 1px solid #ddd;
}
.tabs-left > .nav-tabs > li > a {
  margin-right: -1px;
  -webkit-border-radius: 4px 0 0 4px;
  -moz-border-radius: 4px 0 0 4px;
  border-radius: 4px 0 0 4px;
}
.tabs-left > .nav-tabs > li > a:hover,
.tabs-left > .nav-tabs > li > a:focus {
  border-color: #eeeeee #dddddd #eeeeee #eeeeee;
}
.tabs-left > .nav-tabs .active > a,
.tabs-left > .nav-tabs .active > a:hover,
.tabs-left > .nav-tabs .active > a:focus {
  border-color: #ddd transparent #ddd #ddd;
  *border-right-color: #ffffff;
}
.tabs-right > .nav-tabs {
  float: right;
  margin-left: 19px;
  border-left: 1px solid #ddd;
}
.tabs-right > .nav-tabs > li > a {
  margin-left: -1px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
}
.tabs-right > .nav-tabs > li > a:hover,
.tabs-right > .nav-tabs > li > a:focus {
  border-color: #eeeeee #eeeeee #eeeeee #dddddd;
}
.tabs-right > .nav-tabs .active > a,
.tabs-right > .nav-tabs .active > a:hover,
.tabs-right > .nav-tabs .active > a:focus {
  border-color: #ddd #ddd #ddd transparent;
  *border-left-color: #ffffff;
}
.nav > .disabled > a {
  color: #999999;
}
.nav > .disabled > a:hover,
.nav > .disabled > a:focus {
  text-decoration: none;
  background-color: transparent;
  cursor: default;
}
.navbar {
  overflow: visible;
  margin-bottom: 1.5em;
  *position: relative;
  *z-index: 2;
}
.navbar-inner {
  min-height: 40px;
  padding-left: 20px;
  padding-right: 20px;
  background-color: #fafafa;
  background-image: -moz-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#f2f2f2));
  background-image: -webkit-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: -o-linear-gradient(top, #ffffff, #f2f2f2);
  background-image: linear-gradient(to bottom, #ffffff, #f2f2f2);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#fff2f2f2', GradientType=0);
  border: 1px solid #d4d4d4;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
  -moz-box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.065);
  *zoom: 1;
}
.navbar-inner:before,
.navbar-inner:after {
  display: table;
  content: "";
  line-height: 0;
}
.navbar-inner:after {
  clear: both;
}
.navbar .container {
  width: auto;
}
.nav-collapse.collapse {
  height: auto;
  overflow: visible;
}
.navbar .brand {
  float: left;
  display: block;
  padding: 19.25px 20px 19.25px;
  margin-left: -20px;
  font-size: 20px;
  font-weight: 200;
  color: #777777;
  text-shadow: 0 1px 0 #ffffff;
}
.navbar .brand:hover,
.navbar .brand:focus {
  text-decoration: none;
}
.navbar-text {
  margin-bottom: 0;
  line-height: 40px;
  color: #777777;
}
.navbar-link {
  color: #777777;
}
.navbar-link:hover,
.navbar-link:focus {
  color: #333333;
}
.navbar .divider-vertical {
  height: 40px;
  margin: 0 9px;
  border-left: 1px solid #f2f2f2;
  border-right: 1px solid #ffffff;
}
.navbar .btn,
.navbar .btn-group {
  margin-top: 5px;
}
.navbar .btn-group .btn,
.navbar .input-prepend .btn,
.navbar .input-append .btn,
.navbar .input-prepend .btn-group,
.navbar .input-append .btn-group {
  margin-top: 0;
}
.navbar-form {
  margin-bottom: 0;
  *zoom: 1;
}
.navbar-form:before,
.navbar-form:after {
  display: table;
  content: "";
  line-height: 0;
}
.navbar-form:after {
  clear: both;
}
.navbar-form input,
.navbar-form select,
.navbar-form .radio,
.navbar-form .checkbox {
  margin-top: 5px;
}
.navbar-form input,
.navbar-form select,
.navbar-form .btn {
  display: inline-block;
  margin-bottom: 0;
}
.navbar-form input[type="image"],
.navbar-form input[type="checkbox"],
.navbar-form input[type="radio"] {
  margin-top: 3px;
}
.navbar-form .input-append,
.navbar-form .input-prepend {
  margin-top: 5px;
  white-space: nowrap;
}
.navbar-form .input-append input,
.navbar-form .input-prepend input {
  margin-top: 0;
}
.navbar-search {
  position: relative;
  float: left;
  margin-top: 5px;
  margin-bottom: 0;
}
.navbar-search .search-query {
  margin-bottom: 0;
  padding: 4px 14px;
  font-family: "proxima-nova", sans-serif;
  font-size: 13px;
  font-weight: normal;
  line-height: 1;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.navbar-static-top {
  position: static;
  margin-bottom: 0;
}
.navbar-static-top .navbar-inner {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.navbar-fixed-top,
.navbar-fixed-bottom {
  position: fixed;
  right: 0;
  left: 0;
  z-index: 1030;
  margin-bottom: 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
  border-width: 0 0 1px;
}
.navbar-fixed-bottom .navbar-inner {
  border-width: 1px 0 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-fixed-bottom .navbar-inner {
  padding-left: 0;
  padding-right: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.navbar-static-top .container,
.navbar-fixed-top .container,
.navbar-fixed-bottom .container {
  width: 940px;
}
.navbar-fixed-top {
  top: 0;
}
.navbar-fixed-top .navbar-inner,
.navbar-static-top .navbar-inner {
  -webkit-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 1px 10px rgba(0,0,0,.1);
  box-shadow: 0 1px 10px rgba(0,0,0,.1);
}
.navbar-fixed-bottom {
  bottom: 0;
}
.navbar-fixed-bottom .navbar-inner {
  -webkit-box-shadow: 0 -1px 10px rgba(0,0,0,.1);
  -moz-box-shadow: 0 -1px 10px rgba(0,0,0,.1);
  box-shadow: 0 -1px 10px rgba(0,0,0,.1);
}
.navbar .nav {
  position: relative;
  left: 0;
  display: block;
  float: left;
  margin: 0 10px 0 0;
}
.navbar .nav.pull-right {
  float: right;
  margin-right: 0;
}
.navbar .nav > li {
  float: left;
}
.navbar .nav > li > a {
  float: none;
  padding: 19.25px 15px 19.25px;
  color: #777777;
  text-decoration: none;
  text-shadow: 0 1px 0 #ffffff;
}
.navbar .nav .dropdown-toggle .caret {
  margin-top: 8px;
}
.navbar .nav > li > a:focus,
.navbar .nav > li > a:hover {
  background-color: transparent;
  color: #333333;
  text-decoration: none;
}
.navbar .nav > .active > a,
.navbar .nav > .active > a:hover,
.navbar .nav > .active > a:focus {
  color: #555555;
  text-decoration: none;
  background-color: #e5e5e5;
  -webkit-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
  -moz-box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
  box-shadow: inset 0 3px 8px rgba(0, 0, 0, 0.125);
}
.navbar .btn-navbar {
  display: none;
  float: right;
  padding: 7px 10px;
  margin-left: 5px;
  margin-right: 5px;
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #ededed;
  background-image: -moz-linear-gradient(top, #f2f2f2, #e5e5e5);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f2f2f2), to(#e5e5e5));
  background-image: -webkit-linear-gradient(top, #f2f2f2, #e5e5e5);
  background-image: -o-linear-gradient(top, #f2f2f2, #e5e5e5);
  background-image: linear-gradient(to bottom, #f2f2f2, #e5e5e5);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff2f2f2', endColorstr='#ffe5e5e5', GradientType=0);
  border-color: #e5e5e5 #e5e5e5 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e5e5e5;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.1), 0 1px 0 rgba(255,255,255,.075);
}
.navbar .btn-navbar:hover,
.navbar .btn-navbar:focus,
.navbar .btn-navbar:active,
.navbar .btn-navbar.active,
.navbar .btn-navbar.disabled,
.navbar .btn-navbar[disabled] {
  color: #ffffff;
  background-color: #e5e5e5;
  *background-color: #d9d9d9;
}
.navbar .btn-navbar:active,
.navbar .btn-navbar.active {
  background-color: #cccccc \9;
}
.navbar .btn-navbar .icon-bar {
  display: block;
  width: 18px;
  height: 2px;
  background-color: #f5f5f5;
  -webkit-border-radius: 1px;
  -moz-border-radius: 1px;
  border-radius: 1px;
  -webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  -moz-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
  box-shadow: 0 1px 0 rgba(0, 0, 0, 0.25);
}
.btn-navbar .icon-bar + .icon-bar {
  margin-top: 3px;
}
.navbar .nav > li > .dropdown-menu:before {
  content: '';
  display: inline-block;
  border-left: 7px solid transparent;
  border-right: 7px solid transparent;
  border-bottom: 7px solid #ccc;
  border-bottom-color: rgba(0, 0, 0, 0.2);
  position: absolute;
  top: -7px;
  left: 9px;
}
.navbar .nav > li > .dropdown-menu:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 10px;
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:before {
  border-top: 7px solid #ccc;
  border-top-color: rgba(0, 0, 0, 0.2);
  border-bottom: 0;
  bottom: -7px;
  top: auto;
}
.navbar-fixed-bottom .nav > li > .dropdown-menu:after {
  border-top: 6px solid #ffffff;
  border-bottom: 0;
  bottom: -6px;
  top: auto;
}
.navbar .nav li.dropdown > a:hover .caret,
.navbar .nav li.dropdown > a:focus .caret {
  border-top-color: #333333;
  border-bottom-color: #333333;
}
.navbar .nav li.dropdown.open > .dropdown-toggle,
.navbar .nav li.dropdown.active > .dropdown-toggle,
.navbar .nav li.dropdown.open.active > .dropdown-toggle {
  background-color: #e5e5e5;
  color: #555555;
}
.navbar .nav li.dropdown > .dropdown-toggle .caret {
  border-top-color: #777777;
  border-bottom-color: #777777;
}
.navbar .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar .nav li.dropdown.open.active > .dropdown-toggle .caret {
  border-top-color: #555555;
  border-bottom-color: #555555;
}
.navbar .pull-right > li > .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right {
  left: auto;
  right: 0;
}
.navbar .pull-right > li > .dropdown-menu:before,
.navbar .nav > li > .dropdown-menu.pull-right:before {
  left: auto;
  right: 12px;
}
.navbar .pull-right > li > .dropdown-menu:after,
.navbar .nav > li > .dropdown-menu.pull-right:after {
  left: auto;
  right: 13px;
}
.navbar .pull-right > li > .dropdown-menu .dropdown-menu,
.navbar .nav > li > .dropdown-menu.pull-right .dropdown-menu {
  left: auto;
  right: 100%;
  margin-left: 0;
  margin-right: -1px;
  -webkit-border-radius: 6px 0 6px 6px;
  -moz-border-radius: 6px 0 6px 6px;
  border-radius: 6px 0 6px 6px;
}
.navbar-inverse .navbar-inner {
  background-color: #1b1b1b;
  background-image: -moz-linear-gradient(top, #222222, #111111);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#222222), to(#111111));
  background-image: -webkit-linear-gradient(top, #222222, #111111);
  background-image: -o-linear-gradient(top, #222222, #111111);
  background-image: linear-gradient(to bottom, #222222, #111111);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff222222', endColorstr='#ff111111', GradientType=0);
  border-color: #252525;
}
.navbar-inverse .brand,
.navbar-inverse .nav > li > a {
  color: #999999;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
}
.navbar-inverse .brand:hover,
.navbar-inverse .nav > li > a:hover,
.navbar-inverse .brand:focus,
.navbar-inverse .nav > li > a:focus {
  color: #ffffff;
}
.navbar-inverse .brand {
  color: #999999;
}
.navbar-inverse .navbar-text {
  color: #999999;
}
.navbar-inverse .nav > li > a:focus,
.navbar-inverse .nav > li > a:hover {
  background-color: transparent;
  color: #ffffff;
}
.navbar-inverse .nav .active > a,
.navbar-inverse .nav .active > a:hover,
.navbar-inverse .nav .active > a:focus {
  color: #ffffff;
  background-color: #111111;
}
.navbar-inverse .navbar-link {
  color: #999999;
}
.navbar-inverse .navbar-link:hover,
.navbar-inverse .navbar-link:focus {
  color: #ffffff;
}
.navbar-inverse .divider-vertical {
  border-left-color: #111111;
  border-right-color: #222222;
}
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle {
  background-color: #111111;
  color: #ffffff;
}
.navbar-inverse .nav li.dropdown > a:hover .caret,
.navbar-inverse .nav li.dropdown > a:focus .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.navbar-inverse .nav li.dropdown > .dropdown-toggle .caret {
  border-top-color: #999999;
  border-bottom-color: #999999;
}
.navbar-inverse .nav li.dropdown.open > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.active > .dropdown-toggle .caret,
.navbar-inverse .nav li.dropdown.open.active > .dropdown-toggle .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.navbar-inverse .navbar-search .search-query {
  color: #ffffff;
  background-color: #515151;
  border-color: #111111;
  -webkit-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
  -moz-box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
  box-shadow: inset 0 1px 2px rgba(0,0,0,.1), 0 1px 0 rgba(255,255,255,.15);
  -webkit-transition: none;
  -moz-transition: none;
  -o-transition: none;
  transition: none;
}
.navbar-inverse .navbar-search .search-query:-moz-placeholder {
  color: #cccccc;
}
.navbar-inverse .navbar-search .search-query:-ms-input-placeholder {
  color: #cccccc;
}
.navbar-inverse .navbar-search .search-query::-webkit-input-placeholder {
  color: #cccccc;
}
.navbar-inverse .navbar-search .search-query:focus,
.navbar-inverse .navbar-search .search-query.focused {
  padding: 5px 15px;
  color: #333333;
  text-shadow: 0 1px 0 #ffffff;
  background-color: #ffffff;
  border: 0;
  -webkit-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  -moz-box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  box-shadow: 0 0 3px rgba(0, 0, 0, 0.15);
  outline: 0;
}
.navbar-inverse .btn-navbar {
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #0e0e0e;
  background-image: -moz-linear-gradient(top, #151515, #040404);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#151515), to(#040404));
  background-image: -webkit-linear-gradient(top, #151515, #040404);
  background-image: -o-linear-gradient(top, #151515, #040404);
  background-image: linear-gradient(to bottom, #151515, #040404);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff151515', endColorstr='#ff040404', GradientType=0);
  border-color: #040404 #040404 #000000;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #040404;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
}
.navbar-inverse .btn-navbar:hover,
.navbar-inverse .btn-navbar:focus,
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active,
.navbar-inverse .btn-navbar.disabled,
.navbar-inverse .btn-navbar[disabled] {
  color: #ffffff;
  background-color: #040404;
  *background-color: #000000;
}
.navbar-inverse .btn-navbar:active,
.navbar-inverse .btn-navbar.active {
  background-color: #000000 \9;
}
.pagination {
  margin: 1.5em 0;
}
.pagination ul {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  margin-left: 0;
  margin-bottom: 0;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.pagination ul > li {
  display: inline;
}
.pagination ul > li > a,
.pagination ul > li > span {
  float: left;
  padding: 4px 12px;
  line-height: 1.5em;
  text-decoration: none;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  border-left-width: 0;
}
.pagination ul > li > a:hover,
.pagination ul > li > a:focus,
.pagination ul > .active > a,
.pagination ul > .active > span {
  background-color: #f5f5f5;
}
.pagination ul > .active > a,
.pagination ul > .active > span {
  color: #999999;
  cursor: default;
}
.pagination ul > .disabled > span,
.pagination ul > .disabled > a,
.pagination ul > .disabled > a:hover,
.pagination ul > .disabled > a:focus {
  color: #999999;
  background-color: transparent;
  cursor: default;
}
.pagination ul > li:first-child > a,
.pagination ul > li:first-child > span {
  border-left-width: 1px;
  -webkit-border-top-left-radius: 4px;
  -moz-border-radius-topleft: 4px;
  border-top-left-radius: 4px;
  -webkit-border-bottom-left-radius: 4px;
  -moz-border-radius-bottomleft: 4px;
  border-bottom-left-radius: 4px;
}
.pagination ul > li:last-child > a,
.pagination ul > li:last-child > span {
  -webkit-border-top-right-radius: 4px;
  -moz-border-radius-topright: 4px;
  border-top-right-radius: 4px;
  -webkit-border-bottom-right-radius: 4px;
  -moz-border-radius-bottomright: 4px;
  border-bottom-right-radius: 4px;
}
.pagination-centered {
  text-align: center;
}
.pagination-right {
  text-align: right;
}
.pagination-large ul > li > a,
.pagination-large ul > li > span {
  padding: 11px 19px;
  font-size: 17.5px;
}
.pagination-large ul > li:first-child > a,
.pagination-large ul > li:first-child > span {
  -webkit-border-top-left-radius: 6px;
  -moz-border-radius-topleft: 6px;
  border-top-left-radius: 6px;
  -webkit-border-bottom-left-radius: 6px;
  -moz-border-radius-bottomleft: 6px;
  border-bottom-left-radius: 6px;
}
.pagination-large ul > li:last-child > a,
.pagination-large ul > li:last-child > span {
  -webkit-border-top-right-radius: 6px;
  -moz-border-radius-topright: 6px;
  border-top-right-radius: 6px;
  -webkit-border-bottom-right-radius: 6px;
  -moz-border-radius-bottomright: 6px;
  border-bottom-right-radius: 6px;
}
.pagination-mini ul > li:first-child > a,
.pagination-small ul > li:first-child > a,
.pagination-mini ul > li:first-child > span,
.pagination-small ul > li:first-child > span {
  -webkit-border-top-left-radius: 3px;
  -moz-border-radius-topleft: 3px;
  border-top-left-radius: 3px;
  -webkit-border-bottom-left-radius: 3px;
  -moz-border-radius-bottomleft: 3px;
  border-bottom-left-radius: 3px;
}
.pagination-mini ul > li:last-child > a,
.pagination-small ul > li:last-child > a,
.pagination-mini ul > li:last-child > span,
.pagination-small ul > li:last-child > span {
  -webkit-border-top-right-radius: 3px;
  -moz-border-radius-topright: 3px;
  border-top-right-radius: 3px;
  -webkit-border-bottom-right-radius: 3px;
  -moz-border-radius-bottomright: 3px;
  border-bottom-right-radius: 3px;
}
.pagination-small ul > li > a,
.pagination-small ul > li > span {
  padding: 2px 10px;
  font-size: 11.9px;
}
.pagination-mini ul > li > a,
.pagination-mini ul > li > span {
  padding: 0 6px;
  font-size: 10.5px;
}
.pager {
  margin: 1.5em 0;
  list-style: none;
  text-align: center;
  *zoom: 1;
}
.pager:before,
.pager:after {
  display: table;
  content: "";
  line-height: 0;
}
.pager:after {
  clear: both;
}
.pager li {
  display: inline;
}
.pager li > a,
.pager li > span {
  display: inline-block;
  padding: 5px 14px;
  background-color: #fff;
  border: 1px solid #ddd;
  -webkit-border-radius: 15px;
  -moz-border-radius: 15px;
  border-radius: 15px;
}
.pager li > a:hover,
.pager li > a:focus {
  text-decoration: none;
  background-color: #f5f5f5;
}
.pager .next > a,
.pager .next > span {
  float: right;
}
.pager .previous > a,
.pager .previous > span {
  float: left;
}
.pager .disabled > a,
.pager .disabled > a:hover,
.pager .disabled > a:focus,
.pager .disabled > span {
  color: #999999;
  background-color: #fff;
  cursor: default;
}
.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background-color: #000000;
}
.modal-backdrop.fade {
  opacity: 0;
}
.modal-backdrop,
.modal-backdrop.fade.in {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.modal {
  position: fixed;
  top: 10%;
  left: 50%;
  z-index: 1050;
  width: 560px;
  margin-left: -280px;
  background-color: #ffffff;
  border: 1px solid #999;
  border: 1px solid rgba(0, 0, 0, 0.3);
  *border: 1px solid #999;
  /* IE6-7 */
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -moz-box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  box-shadow: 0 3px 7px rgba(0, 0, 0, 0.3);
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding-box;
  background-clip: padding-box;
  outline: none;
}
.modal.fade {
  -webkit-transition: opacity .3s linear, top .3s ease-out;
  -moz-transition: opacity .3s linear, top .3s ease-out;
  -o-transition: opacity .3s linear, top .3s ease-out;
  transition: opacity .3s linear, top .3s ease-out;
  top: -25%;
}
.modal.fade.in {
  top: 10%;
}
.modal-header {
  padding: 9px 15px;
  border-bottom: 1px solid #eee;
}
.modal-header .close {
  margin-top: 2px;
  font-size: 24px;
}
.modal-header h3 {
  margin: 0;
  line-height: 30px;
}
.modal-body {
  position: relative;
  overflow-y: auto;
  max-height: 400px;
  padding: 15px;
}
.modal-form {
  margin-bottom: 0;
}
.modal-footer {
  padding: 14px 15px 15px;
  margin-bottom: 0;
  text-align: right;
  background-color: #f5f5f5;
  border-top: 1px solid #ddd;
  -webkit-border-radius: 0 0 6px 6px;
  -moz-border-radius: 0 0 6px 6px;
  border-radius: 0 0 6px 6px;
  -webkit-box-shadow: inset 0 1px 0 #ffffff;
  -moz-box-shadow: inset 0 1px 0 #ffffff;
  box-shadow: inset 0 1px 0 #ffffff;
  *zoom: 1;
}
.modal-footer:before,
.modal-footer:after {
  display: table;
  content: "";
  line-height: 0;
}
.modal-footer:after {
  clear: both;
}
.modal-footer .btn + .btn {
  margin-left: 5px;
  margin-bottom: 0;
}
.modal-footer .btn-group .btn + .btn {
  margin-left: -1px;
}
.modal-footer .btn-block + .btn-block {
  margin-left: 0;
}
.popover {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1010;
  display: none;
  max-width: 276px;
  padding: 1px;
  text-align: left;
  background-color: #ffffff;
  -webkit-background-clip: padding-box;
  -moz-background-clip: padding;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.2);
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;
  -webkit-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  -moz-box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);
  white-space: normal;
}
.popover.top {
  margin-top: -10px;
}
.popover.right {
  margin-left: 10px;
}
.popover.bottom {
  margin-top: 10px;
}
.popover.left {
  margin-left: -10px;
}
.popover-title {
  margin: 0;
  padding: 8px 14px;
  font-size: 14px;
  font-weight: normal;
  line-height: 18px;
  background-color: #f7f7f7;
  border-bottom: 1px solid #ebebeb;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
.popover-title:empty {
  display: none;
}
.popover-content {
  padding: 9px 14px;
}
.popover .arrow,
.popover .arrow:after {
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.popover .arrow {
  border-width: 11px;
}
.popover .arrow:after {
  border-width: 10px;
  content: "";
}
.popover.top .arrow {
  left: 50%;
  margin-left: -11px;
  border-bottom-width: 0;
  border-top-color: #999;
  border-top-color: rgba(0, 0, 0, 0.25);
  bottom: -11px;
}
.popover.top .arrow:after {
  bottom: 1px;
  margin-left: -10px;
  border-bottom-width: 0;
  border-top-color: #ffffff;
}
.popover.right .arrow {
  top: 50%;
  left: -11px;
  margin-top: -11px;
  border-left-width: 0;
  border-right-color: #999;
  border-right-color: rgba(0, 0, 0, 0.25);
}
.popover.right .arrow:after {
  left: 1px;
  bottom: -10px;
  border-left-width: 0;
  border-right-color: #ffffff;
}
.popover.bottom .arrow {
  left: 50%;
  margin-left: -11px;
  border-top-width: 0;
  border-bottom-color: #999;
  border-bottom-color: rgba(0, 0, 0, 0.25);
  top: -11px;
}
.popover.bottom .arrow:after {
  top: 1px;
  margin-left: -10px;
  border-top-width: 0;
  border-bottom-color: #ffffff;
}
.popover.left .arrow {
  top: 50%;
  right: -11px;
  margin-top: -11px;
  border-right-width: 0;
  border-left-color: #999;
  border-left-color: rgba(0, 0, 0, 0.25);
}
.popover.left .arrow:after {
  right: 1px;
  border-right-width: 0;
  border-left-color: #ffffff;
  bottom: -10px;
}
.tooltip {
  position: absolute;
  z-index: 1030;
  display: block;
  visibility: visible;
  font-size: 11px;
  line-height: 1.4;
  opacity: 0;
  filter: alpha(opacity=0);
}
.tooltip.in {
  opacity: 0.8;
  filter: alpha(opacity=80);
}
.tooltip.top {
  margin-top: -3px;
  padding: 5px 0;
}
.tooltip.right {
  margin-left: 3px;
  padding: 0 5px;
}
.tooltip.bottom {
  margin-top: 3px;
  padding: 5px 0;
}
.tooltip.left {
  margin-left: -3px;
  padding: 0 5px;
}
.tooltip-inner {
  max-width: 200px;
  padding: 8px;
  color: #ffffff;
  text-align: center;
  text-decoration: none;
  background-color: #000000;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.tooltip-arrow {
  position: absolute;
  width: 0;
  height: 0;
  border-color: transparent;
  border-style: solid;
}
.tooltip.top .tooltip-arrow {
  bottom: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 5px 5px 0;
  border-top-color: #000000;
}
.tooltip.right .tooltip-arrow {
  top: 50%;
  left: 0;
  margin-top: -5px;
  border-width: 5px 5px 5px 0;
  border-right-color: #000000;
}
.tooltip.left .tooltip-arrow {
  top: 50%;
  right: 0;
  margin-top: -5px;
  border-width: 5px 0 5px 5px;
  border-left-color: #000000;
}
.tooltip.bottom .tooltip-arrow {
  top: 0;
  left: 50%;
  margin-left: -5px;
  border-width: 0 5px 5px;
  border-bottom-color: #000000;
}
.thumbnails {
  margin-left: -20px;
  list-style: none;
  *zoom: 1;
}
.thumbnails:before,
.thumbnails:after {
  display: table;
  content: "";
  line-height: 0;
}
.thumbnails:after {
  clear: both;
}
.row-fluid .thumbnails {
  margin-left: 0;
}
.thumbnails > li {
  float: left;
  margin-bottom: 1.5em;
  margin-left: 20px;
}
.thumbnail {
  display: block;
  padding: 4px;
  line-height: 1.5em;
  border: 1px solid #ddd;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  -webkit-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  -moz-box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.055);
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  -o-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}
a.thumbnail:hover,
a.thumbnail:focus {
  border-color: #00a78d;
  -webkit-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  -moz-box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
  box-shadow: 0 1px 4px rgba(0, 105, 214, 0.25);
}
.thumbnail > img {
  display: block;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
.thumbnail .caption {
  padding: 9px;
  color: #555555;
}
.label,
.badge {
  display: inline-block;
  padding: 2px 4px;
  font-size: 11.844px;
  font-weight: bold;
  line-height: 14px;
  color: #ffffff;
  vertical-align: baseline;
  white-space: nowrap;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #999999;
}
.label {
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
.badge {
  padding-left: 9px;
  padding-right: 9px;
  -webkit-border-radius: 9px;
  -moz-border-radius: 9px;
  border-radius: 9px;
}
.label:empty,
.badge:empty {
  display: none;
}
a.label:hover,
a.label:focus,
a.badge:hover,
a.badge:focus {
  color: #ffffff;
  text-decoration: none;
  cursor: pointer;
}
.label-important,
.badge-important {
  background-color: #b94a48;
}
.label-important[href],
.badge-important[href] {
  background-color: #953b39;
}
.label-warning,
.badge-warning {
  background-color: #f89406;
}
.label-warning[href],
.badge-warning[href] {
  background-color: #c67605;
}
.label-success,
.badge-success {
  background-color: #468847;
}
.label-success[href],
.badge-success[href] {
  background-color: #356635;
}
.label-info,
.badge-info {
  background-color: #3a87ad;
}
.label-info[href],
.badge-info[href] {
  background-color: #2d6987;
}
.label-inverse,
.badge-inverse {
  background-color: #333333;
}
.label-inverse[href],
.badge-inverse[href] {
  background-color: #1a1a1a;
}
.btn .label,
.btn .badge {
  position: relative;
  top: -1px;
}
.btn-mini .label,
.btn-mini .badge {
  top: 0;
}
@-webkit-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-moz-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-ms-keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
@-o-keyframes progress-bar-stripes {
  from {
    background-position: 0 0;
  }
  to {
    background-position: 40px 0;
  }
}
@keyframes progress-bar-stripes {
  from {
    background-position: 40px 0;
  }
  to {
    background-position: 0 0;
  }
}
.progress {
  overflow: hidden;
  height: 1.5em;
  margin-bottom: 1.5em;
  background-color: #f7f7f7;
  background-image: -moz-linear-gradient(top, #f5f5f5, #f9f9f9);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#f5f5f5), to(#f9f9f9));
  background-image: -webkit-linear-gradient(top, #f5f5f5, #f9f9f9);
  background-image: -o-linear-gradient(top, #f5f5f5, #f9f9f9);
  background-image: linear-gradient(to bottom, #f5f5f5, #f9f9f9);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fff5f5f5', endColorstr='#fff9f9f9', GradientType=0);
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -moz-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.progress .bar {
  width: 0%;
  height: 100%;
  color: #ffffff;
  float: left;
  font-size: 12px;
  text-align: center;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #0e90d2;
  background-image: -moz-linear-gradient(top, #149bdf, #0480be);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#149bdf), to(#0480be));
  background-image: -webkit-linear-gradient(top, #149bdf, #0480be);
  background-image: -o-linear-gradient(top, #149bdf, #0480be);
  background-image: linear-gradient(to bottom, #149bdf, #0480be);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff149bdf', endColorstr='#ff0480be', GradientType=0);
  -webkit-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -moz-box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  box-shadow: inset 0 -1px 0 rgba(0, 0, 0, 0.15);
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: width 0.6s ease;
  -moz-transition: width 0.6s ease;
  -o-transition: width 0.6s ease;
  transition: width 0.6s ease;
}
.progress .bar + .bar {
  -webkit-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
  -moz-box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
  box-shadow: inset 1px 0 0 rgba(0,0,0,.15), inset 0 -1px 0 rgba(0,0,0,.15);
}
.progress-striped .bar {
  background-color: #149bdf;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  -webkit-background-size: 40px 40px;
  -moz-background-size: 40px 40px;
  -o-background-size: 40px 40px;
  background-size: 40px 40px;
}
.progress.active .bar {
  -webkit-animation: progress-bar-stripes 2s linear infinite;
  -moz-animation: progress-bar-stripes 2s linear infinite;
  -ms-animation: progress-bar-stripes 2s linear infinite;
  -o-animation: progress-bar-stripes 2s linear infinite;
  animation: progress-bar-stripes 2s linear infinite;
}
.progress-danger .bar,
.progress .bar-danger {
  background-color: #dd514c;
  background-image: -moz-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ee5f5b), to(#c43c35));
  background-image: -webkit-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: -o-linear-gradient(top, #ee5f5b, #c43c35);
  background-image: linear-gradient(to bottom, #ee5f5b, #c43c35);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffee5f5b', endColorstr='#ffc43c35', GradientType=0);
}
.progress-danger.progress-striped .bar,
.progress-striped .bar-danger {
  background-color: #ee5f5b;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-success .bar,
.progress .bar-success {
  background-color: #5eb95e;
  background-image: -moz-linear-gradient(top, #62c462, #57a957);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#62c462), to(#57a957));
  background-image: -webkit-linear-gradient(top, #62c462, #57a957);
  background-image: -o-linear-gradient(top, #62c462, #57a957);
  background-image: linear-gradient(to bottom, #62c462, #57a957);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff62c462', endColorstr='#ff57a957', GradientType=0);
}
.progress-success.progress-striped .bar,
.progress-striped .bar-success {
  background-color: #62c462;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-info .bar,
.progress .bar-info {
  background-color: #4bb1cf;
  background-image: -moz-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#5bc0de), to(#339bb9));
  background-image: -webkit-linear-gradient(top, #5bc0de, #339bb9);
  background-image: -o-linear-gradient(top, #5bc0de, #339bb9);
  background-image: linear-gradient(to bottom, #5bc0de, #339bb9);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff5bc0de', endColorstr='#ff339bb9', GradientType=0);
}
.progress-info.progress-striped .bar,
.progress-striped .bar-info {
  background-color: #5bc0de;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.progress-warning .bar,
.progress .bar-warning {
  background-color: #faa732;
  background-image: -moz-linear-gradient(top, #fbb450, #f89406);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#fbb450), to(#f89406));
  background-image: -webkit-linear-gradient(top, #fbb450, #f89406);
  background-image: -o-linear-gradient(top, #fbb450, #f89406);
  background-image: linear-gradient(to bottom, #fbb450, #f89406);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#fffbb450', endColorstr='#fff89406', GradientType=0);
}
.progress-warning.progress-striped .bar,
.progress-striped .bar-warning {
  background-color: #fbb450;
  background-image: -webkit-gradient(linear, 0 100%, 100% 0, color-stop(0.25, rgba(255, 255, 255, 0.15)), color-stop(0.25, transparent), color-stop(0.5, transparent), color-stop(0.5, rgba(255, 255, 255, 0.15)), color-stop(0.75, rgba(255, 255, 255, 0.15)), color-stop(0.75, transparent), to(transparent));
  background-image: -webkit-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -moz-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: -o-linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
  background-image: linear-gradient(45deg, rgba(255, 255, 255, 0.15) 25%, transparent 25%, transparent 50%, rgba(255, 255, 255, 0.15) 50%, rgba(255, 255, 255, 0.15) 75%, transparent 75%, transparent);
}
.accordion {
  margin-bottom: 1.5em;
}
.accordion-group {
  margin-bottom: 2px;
  border: 1px solid #e5e5e5;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
.accordion-heading {
  border-bottom: 0;
}
.accordion-heading .accordion-toggle {
  display: block;
  padding: 8px 15px;
}
.accordion-toggle {
  cursor: pointer;
}
.accordion-inner {
  padding: 9px 15px;
  border-top: 1px solid #e5e5e5;
}
.carousel {
  position: relative;
  margin-bottom: 1.5em;
  line-height: 1;
}
.carousel-inner {
  overflow: hidden;
  width: 100%;
  position: relative;
}
.carousel-inner > .item {
  display: none;
  position: relative;
  -webkit-transition: 0.6s ease-in-out left;
  -moz-transition: 0.6s ease-in-out left;
  -o-transition: 0.6s ease-in-out left;
  transition: 0.6s ease-in-out left;
}
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  display: block;
  line-height: 1;
}
.carousel-inner > .active,
.carousel-inner > .next,
.carousel-inner > .prev {
  display: block;
}
.carousel-inner > .active {
  left: 0;
}
.carousel-inner > .next,
.carousel-inner > .prev {
  position: absolute;
  top: 0;
  width: 100%;
}
.carousel-inner > .next {
  left: 100%;
}
.carousel-inner > .prev {
  left: -100%;
}
.carousel-inner > .next.left,
.carousel-inner > .prev.right {
  left: 0;
}
.carousel-inner > .active.left {
  left: -100%;
}
.carousel-inner > .active.right {
  left: 100%;
}
.carousel-control {
  position: absolute;
  top: 40%;
  left: 15px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  font-size: 60px;
  font-weight: 100;
  line-height: 30px;
  color: #ffffff;
  text-align: center;
  background: #222222;
  border: 3px solid #ffffff;
  -webkit-border-radius: 23px;
  -moz-border-radius: 23px;
  border-radius: 23px;
  opacity: 0.5;
  filter: alpha(opacity=50);
}
.carousel-control.right {
  left: auto;
  right: 15px;
}
.carousel-control:hover,
.carousel-control:focus {
  color: #ffffff;
  text-decoration: none;
  opacity: 0.9;
  filter: alpha(opacity=90);
}
.carousel-indicators {
  position: absolute;
  top: 15px;
  right: 15px;
  z-index: 5;
  margin: 0;
  list-style: none;
}
.carousel-indicators li {
  display: block;
  float: left;
  width: 10px;
  height: 10px;
  margin-left: 5px;
  text-indent: -999px;
  background-color: #ccc;
  background-color: rgba(255, 255, 255, 0.25);
  border-radius: 5px;
}
.carousel-indicators .active {
  background-color: #fff;
}
.carousel-caption {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 15px;
  background: #333333;
  background: rgba(0, 0, 0, 0.75);
}
.carousel-caption h4,
.carousel-caption p {
  color: #ffffff;
  line-height: 1.5em;
}
.carousel-caption h4 {
  margin: 0 0 5px;
}
.carousel-caption p {
  margin-bottom: 0;
}
code,
pre {
  padding: 0 3px 2px;
  font-family: Monaco, Menlo, Consolas, "Courier New", monospace;
  font-size: 12px;
  color: #333333;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  border-radius: 3px;
}
code {
  padding: 2px 4px;
  color: #d14;
  background-color: #f7f7f9;
  border: 1px solid #e1e1e8;
  white-space: nowrap;
}
pre {
  display: block;
  padding: 0.25em;
  margin: 0 0 0.75em;
  font-size: 13px;
  line-height: 1.5em;
  word-break: break-all;
  word-wrap: break-word;
  white-space: pre;
  white-space: pre-wrap;
  background-color: #f5f5f5;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
}
pre.prettyprint {
  margin-bottom: 1.5em;
}
pre code {
  padding: 0;
  color: inherit;
  white-space: pre;
  white-space: pre-wrap;
  background-color: transparent;
  border: 0;
}
.pre-scrollable {
  max-height: 340px;
  overflow-y: scroll;
}
.pull-right {
  float: right;
}
.pull-left {
  float: left;
}
.hide {
  display: none;
}
.show {
  display: block;
}
.invisible {
  visibility: hidden;
}
.affix {
  position: fixed;
}
/******************

  Color Palette

******************/
/*****************

  Type Variables 

******************/
::selection {
  background-color: #000000;
  color: #ffffff;
}
::-moz-selection {
  background-color: #000000;
  color: #ffffff;
}
blockquote {
  border-left: 5px solid #00a78d;
}
blockquote p {
  font-size: 1em;
  line-height: 1.5em;
  font-style: italic;
}
a:hover {
  text-decoration: underline;
}
.white {
  color: #ffffff;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0 0 .5em 0;
  line-height: 1.5em;
}
h1 {
  font-size: 3.42857143em;
  font-weight: 200;
  margin-bottom: .25em;
}
h2 {
  font-size: 2.28571429em;
  font-weight: 200;
}
h3 {
  font-size: 1.5em;
  font-weight: 500;
  line-height: 1.5em;
}
h4 {
  font-size: 1.28571429em;
  font-weight: 500;
  line-height: 1.5em;
}
h5 {
  font-size: 1.14285714em;
  font-weight: 200;
  line-height: 1.5em;
}
h1.smaller {
  font-size: 2.28571429em;
}
h2.big {
  font-size: 3.42857143em;
}
.block {
  display: block;
}
.screen-reader-text {
  display: none;
}
.non-link:hover a {
  text-decoration: none;
  cursor: default;
}
.alignleft {
  float: left;
}
.alignright {
  float: right;
}
.navigation-post {
  *zoom: 1;
  padding: 20px 0;
}
.navigation-post:before,
.navigation-post:after {
  display: table;
  content: "";
  line-height: 0;
}
.navigation-post:after {
  clear: both;
}
i.icon {
  display: block;
  background: url(images/spritesheet.png) no-repeat;
}
i.search-icon {
  background-position: -3px -515px;
  width: 17px;
  height: 17px;
}
i.twitter {
  width: 20px;
  height: 20px;
  background-position: 0 -875px;
}
i.linkedIn {
  width: 20px;
  height: 20px;
  background-position: 0 -925px;
}
i.email {
  width: 22px;
  height: 16px;
  background-position: -1px -982px;
}
i.bubble {
  width: 23px;
  height: 21px;
  background-position: 0 0;
  float: left;
  margin-left: 8px;
}
/***************

  BUTTONS

Please see a dev if you need any help in overriding bootstrap defaults. 

Be sure to adjust padding accordingly in the responsive queries if necessary. 

**************/
.btn {
  width: 155px;
  padding: 10px 0px 9px 0px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  font-family: "proxima-nova", sans-serif;
  font-weight: 550;
  text-shadow: none;
  color: #ffffff;
}
.btn:hover {
  color: #ffffff;
}
.btn-primary {
  padding: 10px 0 9px 0;
  width: 174px;
  background: #28728d;
}
.btn-primary:hover {
  background: #28728d;
}
.btn-primary:focus {
  padding: 10px 0 9px 0;
  width: 174px;
  background: #28728d;
  color: #ffffff;
  outline: none;
}
.btn-secondary {
  background: #28728d;
  padding: 8px 0px 7px 0px;
}
.btn-secondary:hover {
  background: #28728d;
}
.btn-secondary:focus {
  background: #28728d;
  padding: 8px 0px 7px 0px;
  color: #ffffff;
  outline: none;
}
.btn-tertiary {
  width: 115px;
  padding: 7px 0px 6px 0px;
  font-size: 15px;
  background: #bbd54b;
  box-shadow: 0px 4px 1px #a1bf20;
}
.btn-tertiary:hover {
  background: #a1bf20;
  box-shadow: inset 0px 4px 1px #bbd54b;
}
.btn-tertiary:focus {
  background: #bbd54b;
  padding: 7px 0px 6px 0px;
  box-shadow: 0px 4px 1px #a1bf20;
  color: #ffffff;
  outline: none;
}
.btn-submit {
  padding: 7px 10px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  border: none;
  background: #7db5d2;
  color: #ffffff;
}
select {
  height: auto;
  padding: 10px 0;
}
input[type=text],
input[type=search],
input[type=email],
input[type=url] {
  padding: 6px 2%;
  color: #484951;
  font-family: "cantarell", sans-serif;
}
input[type=text]:focus,
input[type=search]:focus,
texarea:focus,
input[type=email]:focus,
input[type=url]:focus {
  color: #28718d !important;
  border-color: #7db5d2;
}
input[type=text]:focus:-moz-placeholder,
input[type=search]:focus:-moz-placeholder,
texarea:focus:-moz-placeholder,
input[type=email]:focus:-moz-placeholder,
input[type=url]:focus:-moz-placeholder {
  color: #484951;
}
input[type=text]:focus:-ms-input-placeholder,
input[type=search]:focus:-ms-input-placeholder,
texarea:focus:-ms-input-placeholder,
input[type=email]:focus:-ms-input-placeholder,
input[type=url]:focus:-ms-input-placeholder {
  color: #484951;
}
input[type=text]:focus::-webkit-input-placeholder,
input[type=search]:focus::-webkit-input-placeholder,
texarea:focus::-webkit-input-placeholder,
input[type=email]:focus::-webkit-input-placeholder,
input[type=url]:focus::-webkit-input-placeholder {
  color: #484951;
}
input,
button,
select,
textarea {
  font-family: "cantarell", sans-serif;
}
textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus,
.uneditable-input:focus {
  color: #28718d !important;
  font-family: "cantarell", sans-serif;
  border-color: #7db5d2;
  -webkit-box-shadow: inset 0 1px 1px rgba(40, 113, 141, 0.075), 0 0 8px rgba(40, 113, 141, 0.6);
  -moz-box-shadow: inset 0 1px 1px rgba(40, 113, 141, 0.075), 0 0 8px rgba(40, 113, 141, 0.6);
  box-shadow: inset 0 1px 1px rgba(40, 113, 141, 0.075), 0 0 8px rgba(40, 113, 141, 0.6);
}
textarea:focus:-moz-placeholder,
input[type="text"]:focus:-moz-placeholder,
input[type="password"]:focus:-moz-placeholder,
input[type="datetime"]:focus:-moz-placeholder,
input[type="datetime-local"]:focus:-moz-placeholder,
input[type="date"]:focus:-moz-placeholder,
input[type="month"]:focus:-moz-placeholder,
input[type="time"]:focus:-moz-placeholder,
input[type="week"]:focus:-moz-placeholder,
input[type="number"]:focus:-moz-placeholder,
input[type="email"]:focus:-moz-placeholder,
input[type="url"]:focus:-moz-placeholder,
input[type="search"]:focus:-moz-placeholder,
input[type="tel"]:focus:-moz-placeholder,
input[type="color"]:focus:-moz-placeholder,
.uneditable-input:focus:-moz-placeholder {
  color: #484951;
}
textarea:focus:-ms-input-placeholder,
input[type="text"]:focus:-ms-input-placeholder,
input[type="password"]:focus:-ms-input-placeholder,
input[type="datetime"]:focus:-ms-input-placeholder,
input[type="datetime-local"]:focus:-ms-input-placeholder,
input[type="date"]:focus:-ms-input-placeholder,
input[type="month"]:focus:-ms-input-placeholder,
input[type="time"]:focus:-ms-input-placeholder,
input[type="week"]:focus:-ms-input-placeholder,
input[type="number"]:focus:-ms-input-placeholder,
input[type="email"]:focus:-ms-input-placeholder,
input[type="url"]:focus:-ms-input-placeholder,
input[type="search"]:focus:-ms-input-placeholder,
input[type="tel"]:focus:-ms-input-placeholder,
input[type="color"]:focus:-ms-input-placeholder,
.uneditable-input:focus:-ms-input-placeholder {
  color: #484951;
}
textarea:focus::-webkit-input-placeholder,
input[type="text"]:focus::-webkit-input-placeholder,
input[type="password"]:focus::-webkit-input-placeholder,
input[type="datetime"]:focus::-webkit-input-placeholder,
input[type="datetime-local"]:focus::-webkit-input-placeholder,
input[type="date"]:focus::-webkit-input-placeholder,
input[type="month"]:focus::-webkit-input-placeholder,
input[type="time"]:focus::-webkit-input-placeholder,
input[type="week"]:focus::-webkit-input-placeholder,
input[type="number"]:focus::-webkit-input-placeholder,
input[type="email"]:focus::-webkit-input-placeholder,
input[type="url"]:focus::-webkit-input-placeholder,
input[type="search"]:focus::-webkit-input-placeholder,
input[type="tel"]:focus::-webkit-input-placeholder,
input[type="color"]:focus::-webkit-input-placeholder,
.uneditable-input:focus::-webkit-input-placeholder {
  color: #484951;
}
.validation_error {
  display: none;
}
.validation_message {
  display: none;
}
.gfield_error input,
.gfield_error textarea,
.gfield_error select {
  border: 2px solid #e36a24;
}
.gform_wrapper {
  margin-left: -20px;
  margin-bottom: 60px;
}
.gform_wrapper .gform_body ul {
  list-style-type: none;
}
.gform_wrapper .gform_body li {
  margin-top: 20px;
}
.gform_wrapper .ginput_container textarea {
  width: 400px;
}
.gform_wrapper .ginput_container .gfield_description {
  color: #cccccc;
}
.gform_wrapper .gfield_checkbox input[type=checkbox] {
  float: left;
}
.gform_wrapper .gfield_checkbox label {
  padding-left: 20px;
}
.gform_wrapper .gfield_required {
  color: #f58d50;
}
input[type=text],
input[type=search],
input[type=email],
input[type=url] {
  padding: 10px 5px;
}
input[type=submit] {
  position: absolute;
  margin-left: 25px;
  width: 100px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  font-family: "proxima-nova", sans-serif;
  font-weight: 550;
  text-shadow: none;
  color: #ffffff;
  background: #28728d;
  padding: 8px 0px 7px 0px;
}
input[type=submit]:hover {
  background: #28728d;
}
input[type=submit]:focus {
  background: #28728d;
  padding: 8px 0px 7px 0px;
  color: #ffffff;
  outline: none;
}
.gfield_checkbox input[type=checkbox] {
  float: left;
}
.gfield_checkbox label {
  padding-left: 20px;
}
#searchform.attach {
  position: relative;
}
#searchform.attach input[type=search] {
  width: 80%;
  padding: 6px 1%;
}
#searchform.attach input[type=submit] {
  position: absolute;
  right: 168px;
  top: 0;
  padding: 6px 10px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  border: none;
  background: #7db5d2;
  color: #ffffff;
  box-shadow: none;
}
#searchform.attach input[type=submit]:hover {
  background: #7db5d2;
  box-shadow: none;
}
.field_admin_only {
  display: none;
}
footer.entry-meta {
  margin-left: 5px;
}
#search-2 #searchform input[type=submit] {
  position: absolute;
  right: 53px;
  top: 0;
  padding: 5px 10px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  border: none;
  background: #7db5d2;
  color: #ffffff;
  box-shadow: none;
}
#search-2 #searchform input[type=submit]:hover {
  background: #7db5d2;
  box-shadow: none;
}
.gfield_radio {
  margin-left: 0;
}
.gfield_radio input {
  margin-top: 0;
}
.gfield_radio label {
  display: inline;
  margin-left: 4px;
}
.gform_wrapper .mm_password input[type=password] {
  margin-bottom: 0;
}
.gform_wrapper .mm_password span label {
  margin-left: 5px;
  color: #888;
}
/* gravity form overrides */
.gform_wrapper form input,
.gform_wrapper form select {
  font-size: 14px !important;
  padding: 3px !important;
  height: 32px;
}
.gform_wrapper form textarea {
  font-size: 14px !important;
}
.gform_wrapper form .gfield_required {
  color: #f58d50;
}
.gform_wrapper form ul.gfield_radio li label {
  margin-left: 16px !important;
}
.gform_wrapper form input[type=radio] {
  margin-left: 1px;
  height: 16px;
}
.gform_wrapper form .org_industry .ginput_container select,
.gform_wrapper form .how_hear .ginput_container select,
.gform_wrapper form .contact_subj .ginput_container select,
.gform_wrapper form .timeline .ginput_container select {
  height: 40px;
}
#breadcrumbs {
  padding: 10px 0;
}
#breadcrumbs .current {
  font-style: italic;
  font-weight: bold;
}
.hero {
  background-color: #1f3c49;
}
#herotext {
  padding: 50px 0 0;
  color: #ffffff;
}
#herotext h1,
#herotext h2 {
  color: #ffffff;
  line-height: 1;
}
#herotext p {
  color: #ffffff;
  font-size: 1.28571429em;
  line-height: 1.71428571em;
  margin-top: -15px;
}
#world {
  padding-top: 50px;
}
#callout-area {
  background: #e6e7e8;
  padding: 30px 0;
}
#callout-area p {
  color: #67686e;
}
.calloutinternal h4 {
  color: #ffffff;
  font-family: "proxima-nova", sans-serif;
  padding-left: 60px;
}
.calloutinternal p {
  color: #ffffff;
}
.calloutinternal .btn {
  text-align: center;
  margin: 10px 0;
}
.calloutinternal .icongear {
  background: url('images/sritesheet.png') no-repeat -2px -333px;
  width: 37px;
  height: 29px;
  display: inline-block;
}
.calloutinternal .iconman {
  background: url('images/sritesheet.png') no-repeat -3px -394px;
  width: 41px;
  height: 25px;
  display: inline-block;
}
.calloutinternal .iconchart {
  background: url('images/sritesheet.png') no-repeat -3px -453px;
  width: 33px;
  height: 31px;
  display: inline-block;
}
.box {
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  padding: 30px;
  color: #67686e;
  text-align: center;
}
.box img {
  margin-top: -6px;
}
.box h4 {
  margin: 0;
  font-size: 2em;
  color: #28728d;
}
.box p {
  text-align: center;
}
.box .title {
  margin-bottom: 0px;
  *zoom: 1;
}
.box .title:before,
.box .title:after {
  display: table;
  content: "";
  line-height: 0;
}
.box .title:after {
  clear: both;
}
#suite-info {
  background-color: #ffffff;
  padding: 60px 0 30px;
}
#suite-info .wysiwyg a {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e6e6e6;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  border: 1px solid #cccccc;
  *border: 0;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  *margin-left: .3em;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  width: 155px;
  padding: 10px 0px 9px 0px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  font-weight: 550;
  text-shadow: none;
  color: #ffffff;
  font-family: "proxima-nova", sans-serif;
  background: #28728d;
  padding: 8px 0px 7px 0px;
  margin-top: 20px;
  margin-bottom: 10px;
}
#suite-info .wysiwyg a:hover,
#suite-info .wysiwyg a:focus,
#suite-info .wysiwyg a:active,
#suite-info .wysiwyg a.active,
#suite-info .wysiwyg a.disabled,
#suite-info .wysiwyg a[disabled] {
  color: #333333;
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
}
#suite-info .wysiwyg a:active,
#suite-info .wysiwyg a.active {
  background-color: #cccccc \9;
}
#suite-info .wysiwyg a:first-child {
  *margin-left: 0;
}
#suite-info .wysiwyg a:hover,
#suite-info .wysiwyg a:focus {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
#suite-info .wysiwyg a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
#suite-info .wysiwyg a.active,
#suite-info .wysiwyg a:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
#suite-info .wysiwyg a.disabled,
#suite-info .wysiwyg a[disabled] {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
#suite-info .wysiwyg a .label,
#suite-info .wysiwyg a .badge {
  position: relative;
  top: -1px;
}
#suite-info .wysiwyg a:hover {
  color: #ffffff;
}
#suite-info .wysiwyg a:hover {
  background: #28728d;
}
#suite-info .wysiwyg a:focus {
  background: #28728d;
  padding: 8px 0px 7px 0px;
  color: #ffffff;
  outline: none;
}
.highlight {
  *zoom: 1;
}
.highlight:before,
.highlight:after {
  display: table;
  content: "";
  line-height: 0;
}
.highlight:after {
  clear: both;
}
.highlight:first-child {
  padding-top: 0;
}
.highlight div.pull-left {
  width: 300px;
}
.highlight img {
  float: left;
  margin-right: 15px;
}
.highlight h3 {
  color: #28718d;
}
#suite-info .span12 .btn-secondary {
  display: block;
  text-align: center;
  margin: auto;
}
.bottom-content {
  background: #f2f2f2;
  padding-top: 30px;
  padding-bottom: 40px;
}
.bottom-content .container {
  background: #ffffff;
  margin-top: 10px;
}
.bottom-content .tab-content .tab-pane {
  padding: 18px;
}
.bottom-content h3 {
  padding-top: 5px;
}
.nav-tabs {
  height: auto;
  border-bottom: 0px solid;
  margin: 0;
  padding: 0;
  list-style: none;
}
.nav-tabs li {
  width: 25%;
  text-align: center;
  color: #ffffff;
  background: #555555;
  position: relative;
}
.nav-tabs li a {
  border: 0px;
  color: #ffffff;
  font-size: 16px;
  padding: 15px 0;
  display: block;
}
.nav-tabs li a:hover {
  border: 0px solid;
  border-radius: 0px;
  background-color: transparent;
  text-decoration: none;
}
.nav-tabs li.active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 45%;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffffff;
}
.nav-tabs li:hover:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 45%;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #ffffff;
}
.nav-tabs li.featured {
  display: none;
}
.nav-tabs li.federal {
  background: #f58d50;
}
.nav-tabs li.international {
  background: #fccc31;
}
.nav-tabs li.business {
  background: #7db5d2;
}
.nav-tabs li.state-local {
  background: #00a78d;
}
.nav-tabs li.partners {
  background: #a1bf20;
  display: none;
}
.nav-tabs .arrow {
  background: url('images/sritesheet.png') no-repeat -12px -11px;
  width: 15px;
  height: 6px;
  position: absolute;
  z-index: 9999;
  margin-top: -6px;
  display: none;
}
.all .tab-pane {
  padding: 30px 0;
}
.all .tab-pane img {
  margin-bottom: 20px;
}
.all .tab-pane .span4 {
  margin-bottom: 30px;
}
.tab-content {
  background-color: #ffffff;
}
.tab-content h4 {
  font-size: 16px;
  font-weight: 200;
}
.tab-content .row-fluid .span4 {
  margin-left: 36px;
  width: 265px;
}
.tab-content .row-fluid img {
  border: #dddddd solid 1px;
}
.tab-content all {
  background-color: #ffffff;
}
.tab-content all h4 {
  font-size: 16px;
  font-weight: 200;
}
.nav-tabs > li > a:hover,
.nav-tabs > li > a:focus {
  border: none;
  background: none;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
  border: none;
  background: none;
}
.nav-tabs > .active > a,
.nav-tabs > .active > a:hover,
.nav-tabs > .active > a:focus {
  color: inherit;
}
.tabbed-nav a {
  padding: 15px 10px;
}
.tabbed-nav a:hover {
  text-decoration: none;
}
.tabbed-nav #menu-news-media li {
  width: 25%;
}
.tabbed-nav #menu-contact {
  margin-bottom: 30px;
}
.tabbed-nav #menu-contact li {
  width: 16%;
}
.home .navbar ul li:hover a {
  background-color: #7db5d2;
}
/*
#page-callouts {
	text-align: center;
	h2 {
		margin: .5em 0 .25em;
	}
	ul {
		list-style: none;
		margin: 0;
		text-align: left;
	}
	img {
		margin: 0 auto;
		display: block;
	}
	.btn {
		margin-top: 10px;
	}
	.span4 {
		margin-top:30px;
		p{
			min-height:	80px;
			//max-height:100px;
			//display:block;
		}
		&:hover a img {
			opacity: 0.9;
		}
	}
}*/
#page-callouts,
#page-callouts-2,
#page-callouts-3 {
  text-align: center;
}
#page-callouts h2,
#page-callouts-2 h2,
#page-callouts-3 h2 {
  margin: 0.5em 0 0.25em;
}
#page-callouts ul,
#page-callouts-2 ul,
#page-callouts-3 ul {
  list-style: none;
  margin: 0;
  text-align: left;
}
#page-callouts img,
#page-callouts-2 img,
#page-callouts-3 img {
  margin: 0 auto;
  display: block;
  padding: 0;
}
#page-callouts .btn,
#page-callouts-2 .btn,
#page-callouts-3 .btn {
  margin-top: 10px;
}
#page-callouts .span4,
#page-callouts-2 .span4,
#page-callouts-3 .span4 {
  margin-top: 10px;
}
#page-callouts .span4 p,
#page-callouts-2 .span4 p,
#page-callouts-3 .span4 p {
  min-height: 80px;
}
#page-callouts .span4:hover a,
#page-callouts-2 .span4:hover a,
#page-callouts-3 .span4:hover a {
  text-decoration: none;
}
#page-callouts .span4:hover a h2,
#page-callouts-2 .span4:hover a h2,
#page-callouts-3 .span4:hover a h2 {
  color: #00a78d;
}
#page-callouts .span4:hover a img,
#page-callouts-2 .span4:hover a img,
#page-callouts-3 .span4:hover a img {
  opacity: 0.9;
}
.accordion h3 {
  margin-top: 20x;
}
.accordion-toggle:before {
  content: "-";
}
.accordion-toggle.collased:before {
  content: "+";
}
#management h2,
#directors h2,
#truncated-team h2 {
  font-size: 1.28571429em;
  font-weight: 600;
  line-height: 1.2em;
}
#management h3,
#directors h3,
#truncated-team h3 {
  font-size: 1.14285714em;
  font-weight: 200;
  line-height: 1em;
  color: #484951;
}
#management,
#directors {
  border-bottom: 1px solid #c9cacf;
  padding-bottom: 20px;
  margin-bottom: 20px;
}
#management img,
#directors img {
  display: block;
  margin: 0 auto 10px;
}
#management h2,
#directors h2,
#management h3,
#directors h3 {
  text-align: center;
}
#management .span3,
#directors .span3 {
  text-align: center;
}
#management .span4,
#directors .span4 {
  margin-top: 30px;
  margin-bottom: 30px;
}
#management .span4 a,
#directors .span4 a {
  display: block;
  text-align: center;
}
#truncated-team img {
  float: left;
  width: 17%;
  margin-right: 3%;
}
#truncated-team div.pull-left {
  width: 80%;
}
#truncated-team .span4 {
  margin-bottom: 40px;
}
code {
  font-family: 'Source Code Pro', sans-serif;
  color: #505050;
  font-size: 12px;
  padding: 0px 4px;
  display: inline-block;
  background-color: #fbfbfb;
  border: 1px solid #dfdfdf;
  border-image-source: initial;
  border-image-slice: initial;
  border-image-width: initial;
  border-image-outset: initial;
  border-image-repeat: initial;
  line-height: normal;
}
#related-studies {
  margin-top: 0px;
}
#related-studies img {
  padding-top: 10px;
  padding-bottom: 20px;
}
.modal {
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
}
.modal .close {
  font-size: 24px;
  color: #00a78d;
  font-weight: normal;
  opacity: 1;
  filter: alpha(opacity=100);
  text-shadow: none;
  text-decoration: none;
  margin-top: 2px;
}
.modal .modal-body {
  padding: 30px 50px 30px 50px;
  max-height: 520px;
}
.modal .modal-body .gform_wrapper {
  clear: both;
}
.modal .modal-body .gform_wrapper .gform_title {
  font-size: 2.28571429em;
  font-weight: 200;
  line-height: 1.2em;
}
.modal .modal-body .gform_wrapper .gform_body {
  margin-top: 30px;
}
.modal .modal-body .gform_wrapper ul[id^="gform_fields"] {
  list-style-type: none;
  margin: 0;
}
.modal .modal-body .gform_wrapper input[type=text],
.modal .modal-body .gform_wrapper input[type=search],
.modal .modal-body .gform_wrapper input[type=email],
.modal .modal-body .gform_wrapper input[type=url] {
  padding: 10px 5px;
}
.modal .modal-body .gform_wrapper input[type=text] {
  width: 100%;
}
.modal .modal-body .gform_wrapper input[type="submit"] {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #e6e6e6;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  border: 1px solid #cccccc;
  *border: 0;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  *margin-left: .3em;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  width: 155px;
  padding: 10px 0px 9px 0px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  font-weight: 550;
  text-shadow: none;
  color: #ffffff;
  font-family: "proxima-nova", sans-serif;
  background: #28728d;
  padding: 8px 0px 7px 0px;
  float: right;
  margin-left: 0px;
  margin-top: 20px;
}
.modal .modal-body .gform_wrapper input[type="submit"]:hover,
.modal .modal-body .gform_wrapper input[type="submit"]:focus,
.modal .modal-body .gform_wrapper input[type="submit"]:active,
.modal .modal-body .gform_wrapper input[type="submit"].active,
.modal .modal-body .gform_wrapper input[type="submit"].disabled,
.modal .modal-body .gform_wrapper input[type="submit"][disabled] {
  color: #333333;
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
}
.modal .modal-body .gform_wrapper input[type="submit"]:active,
.modal .modal-body .gform_wrapper input[type="submit"].active {
  background-color: #cccccc \9;
}
.modal .modal-body .gform_wrapper input[type="submit"]:first-child {
  *margin-left: 0;
}
.modal .modal-body .gform_wrapper input[type="submit"]:hover,
.modal .modal-body .gform_wrapper input[type="submit"]:focus {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
.modal .modal-body .gform_wrapper input[type="submit"]:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.modal .modal-body .gform_wrapper input[type="submit"].active,
.modal .modal-body .gform_wrapper input[type="submit"]:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.modal .modal-body .gform_wrapper input[type="submit"].disabled,
.modal .modal-body .gform_wrapper input[type="submit"][disabled] {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.modal .modal-body .gform_wrapper input[type="submit"] .label,
.modal .modal-body .gform_wrapper input[type="submit"] .badge {
  position: relative;
  top: -1px;
}
.modal .modal-body .gform_wrapper input[type="submit"]:hover {
  color: #ffffff;
}
.modal .modal-body .gform_wrapper input[type="submit"]:hover {
  background: #28728d;
}
.modal .modal-body .gform_wrapper input[type="submit"]:focus {
  background: #28728d;
  padding: 8px 0px 7px 0px;
  color: #ffffff;
  outline: none;
}
table .btn {
  margin-right: 10px;
}
.partners-table img {
  padding-top: 5px !important;
  padding-bottom: 0px !important;
}
pre {
  white-space: pre;
  word-wrap: normal;
  overflow: auto;
}
html {
  min-width: 960px;
}
.container {
  padding: 0 10px;
}
.transition {
  -webkit-transition: all 1s ease-in-out;
  -moz-transition: all 1s ease-in-out;
  -o-transition: all 1s ease-in-out;
  transition: all 1s ease-in-out;
}
.site-main {
  background-color: #f2f2f2;
}
#content {
  padding-bottom: 60px;
}
.page-header {
  color: #ffffff;
  width: 100%;
  background: #08455d;
  /* Old browsers */
  background: -moz-linear-gradient(top, #235c73 0%, #112d39 100%);
  /* FF3.6+ */
  background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #235c73), color-stop(100%, #112d39));
  /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(top, #235c73 0%, #112d39 100%);
  /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(top, #235c73 0%, #112d39 100%);
  /* Opera 11.10+ */
  background: -ms-linear-gradient(top, #235c73 0%, #112d39 100%);
  /* IE10+ */
  background: linear-gradient(to bottom, #235c73 0%, #112d39 100%);
  /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#235c73', endColorstr='#112d39', GradientType=0);
  /* IE6-9 */
  border: none;
  margin: 0 0 50px;
  padding: 40px 0;
}
.page-header h1 {
  color: #ffffff;
}
.page-header p {
  color: #ffffff;
  font-size: 1.28571429em;
  margin-bottom: 0px;
  line-height: 1.5em;
}
.page-id-6140 .page-header,
.page-id-6142 .page-header,
.page-id-6144 .page-header,
.page-id-6146 .page-header,
.page-id-6148 .page-header {
  display: none;
}
.empty-nav {
  padding-bottom: 60px;
}
.previous {
  float: left;
}
.next {
  float: right;
}
.two-col {
  margin-top: 50px;
}
.two-col article {
  margin-top: 0px;
}
.two-col h1 {
  font-size: 32px;
}
.two-col .btn {
  color: #ffffff;
  margin-top: 10px;
}
.two-col .btn:focus {
  background: #bbd54b;
  padding: 8px 0px 7px 0px;
  box-shadow: 0px 4px 1px #a1bf20;
  color: #ffffff;
  outline: none;
}
.whitepages {
  margin-bottom: 50px;
}
.whitepages h4 {
  line-height: 1.4em;
  margin-left: -20px;
  padding-left: 20px;
  border-left: #dadada solid 1px;
}
.whitepages .entry-content {
  border-left: #dadada solid 1px;
  padding-right: 20px;
  padding-left: 20px;
  margin-left: -20px;
  margin-top: -10px;
  padding-top: 10px;
}
.whitepages article {
  background: none;
}
.whitepages article:first-child h4,
.whitepages article:first-child .entry-content {
  border: none;
}
.whitepages .btn {
  margin-left: auto;
  margin-right: auto;
  display: block;
}
article {
  margin-bottom: 40px;
  margin-top: 10px;
}
article img {
  padding-top: 30px;
  padding-bottom: 30px;
}
.blog article,
.single-post .post {
  background: #ffffff;
  padding: 30px;
  border-radius: 10px;
}
.entry-header a {
  color: #28718d;
}
.entry-excerpt {
  margin-top: 10px;
}
.entry-excerpt .span2 img {
  display: none;
}
.entry-excerpt .span10 {
  width: 960px;
}
.video-container {
  float: left;
  margin-top: 30px;
  height: 290px;
  width: 33.33333333%;
}
.video-container iframe {
  width: 90%;
  height: 203px;
  margin-right: 10%;
  display: block;
}
.video-container object {
  width: 90%;
  height: 203px;
  margin-right: 10%;
  display: block;
}
h2.comments-title {
  font-size: 1.28571429em;
  color: #484951;
  font-weight: 600;
}
.comment-reply-title {
  font-size: 1.28571429em;
  color: #484951;
  font-weight: 600;
}
ol.comment-list {
  margin: -10px 0 30px 30px;
}
.comment-form-comment textarea {
  width: 600px;
}
.comment-meta commentmetadata {
  margin-top: -16px;
}
.events article.hide-this {
  display: none;
}
.events article .event-date {
  height: 53px;
  background-color: #28718d;
  width: 59px;
  margin-right: 20px;
}
.events article .event-date .month {
  font-size: 1em;
  text-transform: uppercase;
  color: #ffffff;
  text-align: center;
}
.events article .event-date .day {
  background-color: #f2f2f2;
  width: 49px;
  height: 24px;
  margin: 0 auto;
  font-size: 1.71428571em;
  text-align: center;
  padding-top: 4px;
  color: #28718d;
}
.events article .event-header {
  width: 213px;
}
.events article .event-header h4 {
  color: #28718d;
}
.events article .event-content {
  width: 213px;
}
.events article .event-content p {
  margin-bottom: -10px;
  margin-top: -10px;
}
.eventbrite-event {
  *zoom: 1;
  margin-bottom: 20px;
}
.eventbrite-event:before,
.eventbrite-event:after {
  display: table;
  content: "";
  line-height: 0;
}
.eventbrite-event:after {
  clear: both;
}
.eventbrite-event .event-date {
  height: 53px;
  background-color: #28718d;
  width: 59px;
  margin-right: 20px;
}
.eventbrite-event .event-date .month {
  font-size: 1em;
  text-transform: uppercase;
  color: #ffffff;
  text-align: center;
}
.eventbrite-event .event-date .day {
  background-color: #f2f2f2;
  width: 49px;
  height: 24px;
  margin: 0 auto;
  font-size: 1.71428571em;
  text-align: center;
  padding-top: 4px;
  color: #28718d;
}
.eventbrite-event .event-header .event-title a {
  color: #28718d;
}
.eventbrite-event .event-header h5 p {
  margin: 0;
}
.eventbrite-event .event-content {
  float: left;
  width: 364px;
}
.eventbrite-event .event-content p {
  margin: 0;
}
.eventbrite-event .event-link {
  float: left;
  width: 40px;
  margin-left: 20px;
}
.suite-downloads {
  margin-right: 10px;
}
.entry-excerpt.news-article .entry-header,
.entry-excerpt.press-release .entry-header {
  margin-bottom: .5em;
}
.entry-excerpt.news-article .entry-header h3,
.entry-excerpt.press-release .entry-header h3 {
  margin-bottom: 0;
}
#masthead {
  padding: 0;
}
[id="logo"] {
  padding-top: 15px;
  width: 260px;
  float: left;
}
.menu-main-container {
  *zoom: 1;
  font-size: 14px;
  text-shadow: none;
  color: #484951;
  font-weight: normal;
  width: 540px;
  float: left;
  margin-left: 60px;
}
.menu-main-container:before,
.menu-main-container:after {
  display: table;
  content: "";
  line-height: 0;
}
.menu-main-container:after {
  clear: both;
}
.menu-main-container .menu {
  list-style: none;
  float: left;
  margin-left: 0;
}
.menu-main-container .menu .menu-item a {
  display: block;
  padding: 5px 10px;
  text-decoration: none;
}
.menu-main-container .menu .menu-item a:hover {
  text-decoration: underline;
}
.menu-main-container .menu .menu-item-depth-0 {
  float: left;
  padding: 0 8px;
}
.menu-main-container .menu .menu-item-depth-0:hover .drop-down {
  display: none;
}
.menu-main-container .menu .menu-item-depth-0:hover > a {
  color: #28728d;
  text-decoration: none;
}
.menu-main-container .menu .menu-item-depth-0 > a {
  color: #484951;
  font-size: 16px;
  padding: 30px 10px;
}
.menu-main-container .drop-down-depth-0 {
  display: none;
  position: absolute;
  opacity: .95;
  left: 0;
  width: 100%;
  top: 80px;
  z-index: 9999;
}
.admin-bar .menu-main-container .drop-down-depth-0 {
  top: 109px;
}
.menu-main-container .drop-down-inner {
  *zoom: 1;
  max-width: 960px;
  margin: auto;
}
.menu-main-container .drop-down-inner:before,
.menu-main-container .drop-down-inner:after {
  display: table;
  content: "";
  line-height: 0;
}
.menu-main-container .drop-down-inner:after {
  clear: both;
}
.menu-main-container .drop-down-inner .menu-item-depth-1 {
  float: left;
  margin-right: 10px;
  padding: 20px 0px;
  width: 180px;
}
.menu-main-container .drop-down-inner .menu-item-depth-1 > a {
  font-size: 18px;
}
.menu-main-container .drop-down-inner a {
  color: #fff;
}
/* 
.solutions-primary{
	&:hover {
		> a {
			background-color: @seafoamgreen;
		}
	}

	.drop-down-depth-0 {
		background-color: @seafoamgreen;
	}
}

.resources-primary{
	&:hover {
		> a {
			background-color: @skyblue;
		}
	}

	.drop-down-depth-0 {
		background-color: @skyblue;
	}
}

.about-primary{
	&:hover {
		> a {
			background-color: @cactus;
		}
	}

	.drop-down-depth-0 {
		background-color: @cactus;
	}
}

.support-primary{
	&:hover {
		> a {
			background-color: @lemonzest;
		}
	}

	.drop-down-depth-0 {
		background-color: @lemonzest;
	}
}
*/
.search.dropdown {
  float: left;
  padding: 4px 12px 10px 12px;
  margin: 25px 20px 0 0;
  -webkit-border-radius: 5px 5px 0 0;
  -moz-border-radius: 5px 5px 0 0;
  border-radius: 5px 5px 0 0;
}
.search.dropdown form {
  margin: 0;
}
.search.dropdown .dropdown-menu {
  left: auto;
  right: 0;
  margin: 0;
  background: #28718d;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  border: none;
  padding: 8px;
  min-width: 275px;
}
.search.dropdown .dropdown-menu input[type=search] {
  padding: 2%;
  width: 96%;
  margin: 0;
  -webkit-border-radius: 0;
  -moz-border-radius: 0;
  border-radius: 0;
  background: #7db5d2;
  border: none;
  color: #ffffff !important;
}
.search.dropdown .dropdown-menu input[type=search]:-moz-placeholder {
  color: #ffffff;
}
.search.dropdown .dropdown-menu input[type=search]:-ms-input-placeholder {
  color: #ffffff;
}
.search.dropdown .dropdown-menu input[type=search]::-webkit-input-placeholder {
  color: #ffffff;
}
.search.dropdown .dropdown-menu input[type=submit] {
  position: absolute;
  right: 2%;
  top: 10px;
  display: none;
}
.search.dropdown.open {
  background: #28718d;
}
.search.dropdown.open .search-icon {
  background-position: -35px -514px;
}
.search.dropdown.open .dropdown-menu {
  display: block;
}
.download-link {
  padding-top: 18px;
  float: right;
}
.download-link ul {
  list-style: none;
  margin: 0;
  padding-top: 2px;
}
.download-link a {
  display: inline-block;
  *display: inline;
  /* IE7 inline-block hack */
  *zoom: 1;
  padding: 4px 12px;
  margin-bottom: 0;
  font-size: 14px;
  line-height: 1.5em;
  text-align: center;
  vertical-align: middle;
  cursor: pointer;
  color: #333333;
  text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75);
  background-color: #f5f5f5;
  background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6));
  background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: -o-linear-gradient(top, #ffffff, #e6e6e6);
  background-image: linear-gradient(to bottom, #ffffff, #e6e6e6);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffffffff', endColorstr='#ffe6e6e6', GradientType=0);
  border-color: #e6e6e6 #e6e6e6 #bfbfbf;
  *background-color: #e6e6e6;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  border: 1px solid #cccccc;
  *border: 0;
  border-bottom-color: #b3b3b3;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  border-radius: 4px;
  *margin-left: .3em;
  -webkit-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05);
  width: 155px;
  padding: 10px 0px 9px 0px;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  border: none;
  font-size: 16px;
  font-weight: 550;
  text-shadow: none;
  font-family: "proxima-nova", sans-serif;
  color: #ffffff;
  text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25);
  background-color: #009b97;
  background-image: -moz-linear-gradient(top, #00a78d, #0089a7);
  background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#00a78d), to(#0089a7));
  background-image: -webkit-linear-gradient(top, #00a78d, #0089a7);
  background-image: -o-linear-gradient(top, #00a78d, #0089a7);
  background-image: linear-gradient(to bottom, #00a78d, #0089a7);
  background-repeat: repeat-x;
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff00a78d', endColorstr='#ff0089a7', GradientType=0);
  border-color: #0089a7 #0089a7 #004a5b;
  border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25);
  *background-color: #0089a7;
  /* Darken IE7 buttons by default so they stand out more given they won't have borders */
  filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
  padding: 10px 0 9px 0;
  width: 174px;
  background: #28728d;
}
.download-link a:hover,
.download-link a:focus,
.download-link a:active,
.download-link a.active,
.download-link a.disabled,
.download-link a[disabled] {
  color: #333333;
  background-color: #e6e6e6;
  *background-color: #d9d9d9;
}
.download-link a:active,
.download-link a.active {
  background-color: #cccccc \9;
}
.download-link a:first-child {
  *margin-left: 0;
}
.download-link a:hover,
.download-link a:focus {
  color: #333333;
  text-decoration: none;
  background-position: 0 -15px;
  -webkit-transition: background-position 0.1s linear;
  -moz-transition: background-position 0.1s linear;
  -o-transition: background-position 0.1s linear;
  transition: background-position 0.1s linear;
}
.download-link a:focus {
  outline: thin dotted #333;
  outline: 5px auto -webkit-focus-ring-color;
  outline-offset: -2px;
}
.download-link a.active,
.download-link a:active {
  background-image: none;
  outline: 0;
  -webkit-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  -moz-box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
  box-shadow: inset 0 2px 4px rgba(0,0,0,.15), 0 1px 2px rgba(0,0,0,.05);
}
.download-link a.disabled,
.download-link a[disabled] {
  cursor: default;
  background-image: none;
  opacity: 0.65;
  filter: alpha(opacity=65);
  -webkit-box-shadow: none;
  -moz-box-shadow: none;
  box-shadow: none;
}
.download-link a .label,
.download-link a .badge {
  position: relative;
  top: -1px;
}
.download-link a:hover {
  color: #ffffff;
}
.download-link a:hover,
.download-link a:focus,
.download-link a:active,
.download-link a.active,
.download-link a.disabled,
.download-link a[disabled] {
  color: #ffffff;
  background-color: #0089a7;
  *background-color: #00748e;
}
.download-link a:active,
.download-link a.active {
  background-color: #005f74 \9;
}
.download-link a .caret {
  border-top-color: #ffffff;
  border-bottom-color: #ffffff;
}
.download-link a:hover {
  background: #28728d;
}
.download-link a:focus {
  padding: 10px 0 9px 0;
  width: 174px;
  background: #28728d;
  color: #ffffff;
  outline: none;
}
.download-link:focus {
  padding: 10px 0 9px 0;
  width: 174px;
  background: #f58d50;
  box-shadow: 0px 4px 1px #e36a24;
  color: #ffffff;
  outline: none;
}
.secondarynav {
  z-index: 100;
  position: relative;
  font-size: 1.14285714em;
  background: #e6e7e8;
}
.secondarynav .menu,
.secondarynav .sub-menu {
  *zoom: 1;
  list-style: none;
  margin: 0;
}
.secondarynav .menu:before,
.secondarynav .sub-menu:before,
.secondarynav .menu:after,
.secondarynav .sub-menu:after {
  display: table;
  content: "";
  line-height: 0;
}
.secondarynav .menu:after,
.secondarynav .sub-menu:after {
  clear: both;
}
.secondarynav .menu-item {
  float: left;
  position: relative;
}
.secondarynav .menu-item:hover .sub-menu {
  display: block;
}
.secondarynav .menu-item:hover a {
  color: #67686e;
}
.secondarynav .menu-item.current_page_item > a {
  color: #67686e;
}
.secondarynav .menu-item a {
  color: #28728d;
  padding: 19px 20px 19px;
  display: block;
  height: 58px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.secondarynav .menu-item a:hover {
  text-decoration: none;
}
.secondarynav .sub-menu {
  background: #e6e7e8;
  display: none;
  position: absolute;
  text-align: left;
  width: 200px;
}
.secondarynav .sub-menu .menu-item {
  float: none;
  width: 100%;
}
.secondarynav .sub-menu .menu-item a {
  color: #67686e;
}
.secondarynav .sub-menu .menu-item:hover > a,
.secondarynav .sub-menu .menu-item .current_page_item > a {
  color: #28728d;
}
/*
.page-solutions,
.solutions {
	.secondarynav {
		background: @seafoamgreen;
		.sub-menu {
			background: @seafoamgreen;
		}
		li:hover,
		.current_page_item a {
			background: darken(@seafoamgreen, 10%);
		}
	}
}

.page-resources,
.resources,
.single-case-study,
.single-whitepaper {
	.secondarynav {
		background: @skyblue;
		.sub-menu {
			background: @skyblue;
		}
		li:hover > a,
		.current_page_item > a {
			background: darken(@skyblue, 5%);
		}
	}
}

.page-about,
.about,
.single-news-article,
.single-press-release,
.single-post {
	.secondarynav {
		background: @cactus;
		.sub-menu {
			background: @cactus;
		}
		li:hover a,
		.current_page_item a{
			background: darken(@cactus, 5%);
		}
	}
}

.page-blog,
.blog,
.single-post {
        .secondarynav {
                background: @nectarine;
                .sub-menu {
                        background: @nectarine;
                }
                li:hover a,
                .current_page_item a{
                        background: darken(@nectarine, 5%);
                }
        }
}

.page-support,
.support {
	.secondarynav {
		background: @lemonzest;
		.sub-menu {
			background: @lemonzest;
		}
		li:hover a,
		.current_page_item a{
			background: darken(@lemonzest, 10%);
		}
	}
}

*/
.tabbed-nav {
  margin-top: 0px;
  margin-bottom: 18px;
}
.tabbed-nav ul {
  *zoom: 1;
}
.tabbed-nav ul:before,
.tabbed-nav ul:after {
  display: table;
  content: "";
  line-height: 0;
}
.tabbed-nav ul:after {
  clear: both;
}
.tabbed-nav li {
  display: block;
  float: left;
}
.tabbed-nav li a {
  display: block;
  color: #fff;
  font-family: "proxima-nova", sans-serif;
  font-size: 16px;
  padding: 15px 30px;
  text-align: center;
}
.tabbed-nav li:nth-child(4n+1) {
  background: #f58d50;
}
.tabbed-nav li:nth-child(4n+2) {
  background: #00a78d;
}
.tabbed-nav li:nth-child(4n+3) {
  background: #fccc31;
}
.tabbed-nav li:nth-child(4n+4) {
  background: #7db5d2;
}
.tabbed-nav li.current-menu-item,
.tabbed-nav li:hover,
.tabbed-nav li:active .tabbed-nav li:focus {
  position: relative;
}
.tabbed-nav li.current-menu-item:after,
.tabbed-nav li:hover:after,
.tabbed-nav li:active .tabbed-nav li:focus:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #f2f2f2;
  margin-left: -10px;
}
.site-footer {
  padding-top: 30px;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 20px;
  background-color: #1f3c49;
  color: #ffffff;
  font-size: 12px;
}
.site-footer h5 {
  color: #808188;
  margin-bottom: 15px;
  font-size: 16px;
  font-weight: 500;
}
.site-footer p {
  color: #ffffff;
}
.site-footer a {
  color: #7db5d2;
}
.site-footer ul {
  margin: 0;
  list-style: none;
}
.site-footer li {
  padding-bottom: 5px;
}
.site-footer span {
  display: block;
}
.site-footer .gform_wrapper {
  position: relative;
  margin-top: 20px;
}
.site-footer .gform_wrapper form {
  margin: 0;
}
.site-footer .gform_wrapper form label {
  display: none;
}
.site-footer .gform_body {
  position: relative;
}
.site-footer input[type=submit] {
  position: absolute;
  right: -2px;
  top: 0;
  padding: 6px 10px;
  -webkit-border-radius: 0 4px 4px 0;
  -moz-border-radius: 0 4px 4px 0;
  border-radius: 0 4px 4px 0;
  border: none;
  background: #7db5d2;
  color: #ffffff;
  box-shadow: none;
  box-sizing: border-box;
  height: 36px;
}
.site-footer input[type=submit]:hover {
  background: #7db5d2;
  box-shadow: none;
}
.site-footer input[type=text] {
  width: 96%;
  padding: 8px 2%;
  font-size: 12px;
}
.site-footer .gform_validation_error input[type=submit] {
  top: 2px;
  right: -3px;
  padding: 6px 10px;
}
.site-footer .gfield_error input {
  border-right: 3px solid #e36a24;
}
.site-footer .gfield_error input:focus {
  border-right: 3px solid #7db5d2;
}
.question.btn {
  color: #fff;
  position: fixed;
  right: 20px;
  bottom: -3px;
  padding-left: 6px;
  padding-right: 6px;
  padding-bottom: 11px;
  padding-top: 11px;
}
.footer-about-menu a,
.footer-resources-menu a,
.footer-solutions-menu a {
  display: block;
  padding: 2px 0;
}
.footer-sub-menu {
  text-align: center;
  margin-top: 45px;
}
.footer-sub-menu li {
  display: inline-block;
}
.footer-sub-menu li:last-child a,
.footer-sub-menu li:last-child span {
  border-right: none;
}
.footer-sub-menu a,
.footer-sub-menu span {
  color: #8e8f97;
  padding: 0 10px;
  border-right: 1px solid #8e8f97;
}
.feed {
  margin-bottom: 20px;
}
.feed a {
  padding-left: 10px;
}
.label {
  padding: 6px;
  float: left;
  background: #7db5d2;
  margin-right: 20px;
}
.social {
  margin: 10px 0;
  font-size: 15px;
  color: #808188;
}
.social i {
  float: left;
  margin-right: 10px;
}
h03.widget-title {
  font-size: 1.28571429em;
  color: #484951;
  margin-bottom: 10px;
}
h4.widget-title {
  font-size: 1.14285714em;
}
.twitter_title_link {
  color: #484951;
}
.widget {
  margin-bottom: 40px;
}
.menu {
  list-style: none;
  margin: 0;
}
[id*='menu-opengeo-suite'] .menu-item {
  font-size: 21px;
  line-height: 1.5;
  background-image: url('images/opengeo-suite-sprite.png');
  background-repeat: no-repeat;
}
[id*='menu-opengeo-suite'] a {
  display: block;
  padding: 21px 0 21px 66px;
  color: #fff;
}
[id*='menu-opengeo-suite'] a:hover {
  color: #fff;
  text-decoration: none;
}
[id*='menu-opengeo-suite'] .tours {
  background-position: 20px -298px;
  background-color: #f58d50;
}
[id*='menu-opengeo-suite'] .tours:hover {
  background-position: 20px -298px;
  background-color: #28718d;
}
[id*='menu-opengeo-suite'] .demos {
  background-position: 20px -372px;
  background-color: #fccc31;
}
[id*='menu-opengeo-suite'] .demos:hover {
  background-position: 20px -372px;
  background-color: #28718d;
}
[id*='menu-opengeo-suite'] .workshops {
  background-position: 20px -446px;
  background-color: #00a78d;
}
[id*='menu-opengeo-suite'] .workshops:hover {
  background-position: 20px -446px;
  background-color: #28718d;
}
[id*='menu-opengeo-suite'] .cloud-edition {
  background-position: 20px -520px;
  background-color: #7db5d2;
}
[id*='menu-opengeo-suite'] .cloud-edition:hover {
  background-position: 20px -520px;
  background-color: #28718d;
}
[id*='menu-training'] .menu-item {
  font-size: 21px;
  line-height: 1.5;
  background-image: url('images/opengeo-suite-sprite.png');
  background-repeat: no-repeat;
}
[id*='menu-training'] a {
  display: block;
  padding: 21px 0 21px 66px;
  color: #fff;
}
[id*='menu-training'] a:hover {
  color: #fff;
  text-decoration: none;
}
[id*='menu-training'] .online {
  background-position: 20px -298px;
  background-color: #f58d50;
}
[id*='menu-training'] .online:hover {
  background-position: 20px -298px;
  background-color: #28718d;
}
[id*='menu-training'] .onsite {
  background-position: 20px -372px;
  background-color: #fccc31;
}
[id*='menu-training'] .onsite:hover {
  background-position: 20px -372px;
  background-color: #28718d;
}
[id*='menu-training'] .workshops {
  background-position: 20px -446px;
  background-color: #00a78d;
}
[id*='menu-training'] .workshops:hover {
  background-position: 20px -446px;
  background-color: #28718d;
}
[id*='menu-training'] .certification {
  background-position: 20px -520px;
  background-color: #7db5d2;
}
[id*='menu-training'] .certification:hover {
  background-color: #28718d;
}
#nav_menu-3 {
  background: #28718d;
  border-radius: 10px;
  padding: 28px 0;
}
#nav_menu-3 .widget-title {
  font-size: 21px;
  line-height: 1.2;
  color: #fff;
  margin: 0 30px 26px;
}
[id*='software-packages'] .menu-item {
  margin: 12px 30px;
  padding: 4px 0 5px;
  font-size: 18px;
  background-image: url('images/software-packages-sprite.png');
  background-repeat: no-repeat;
}
[id*='software-packages'] a {
  color: #fff;
  display: block;
  padding-left: 50px;
}
[id*='software-packages'] .postgis {
  background-position: 0 0;
}
[id*='software-packages'] .geoserver {
  background-position: 0 -48px;
}
[id*='software-packages'] .geowebcache {
  background-position: 0 -97px;
}
[id*='software-packages'] .openlayers {
  margin-bottom: 12px;
  background-position: 0 -144px;
}
[id*='software-packages'] .othersoftware {
  background-position: 0 -193px;
}
#case-study-widget img {
  width: 100%;
  margin: 0 0 15px;
}
#case-study-widget h4 {
  margin-bottom: 3px;
}
.widget-headline {
  background: #fff;
  padding: 25px;
  -webkit-border-radius: 12px;
  -moz-border-radius: 12px;
  border-radius: 12px;
}
.widget-headline .btn-container {
  margin: 10px 0 0;
  text-align: center;
}
.headline-body {
  margin-bottom: 10px;
}
.team-member {
  text-align: center;
}
.team-member img {
  display: block;
  margin: 20px auto;
}
.team-member h4 {
  color: #07455d;
}
/** Home Page Twitget Recent Tweets Sidebar **/
#simple_tweet_widget-3 {
  margin-left: 10px;
}
#simple_tweet_widget-3 .widget-title {
  margin-left: 10px;
}
/** Ultimate Posts Widget - blog filter by category in sidebar **/
aside.widget_ultimate_posts {
  margin-top: 20px;
  width: 120%;
}
aside.widget_ultimate_posts .widget-title {
  margin-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 1.5em;
}
aside.widget_ultimate_posts ul li {
  list-style-type: none;
}
aside.widget_ultimate_posts ul li .upw-content .post-title {
  font-size: 1.2em;
  line-height: 1.4em;
  margin: 10px 0;
}
#blog-info {
  background-color: #f2f2f2;
  padding: 20px 0 30px;
}
/** Home Page Twitget Recent Tweets Sidebar **/
#simple_tweet_widget-3 {
  margin-left: 10px;
}
#simple_tweet_widget-3 .widget-title {
  margin-left: 10px;
}
/** Ultimate Posts Widget - blog filter by category in sidebar **/
aside.widget_ultimate_posts {
  margin-top: 20px;
  width: 120%;
}
aside.widget_ultimate_posts .widget-title {
  margin-left: 20px;
  margin-top: 20px;
  margin-bottom: 20px;
  font-size: 1.5em;
}
aside.widget_ultimate_posts ul li {
  list-style-type: none;
}
aside.widget_ultimate_posts ul li .upw-content .post-title {
  font-size: 1.2em;
  line-height: 1.4em;
  margin: 10px 0;
}
.pricing-options {
  background: #fff;
  border-radius: 10px;
  padding-top: 20px;
  padding-bottom: 30px;
  padding-left: 20px;
}
.pricing-options-title {
  padding: 10px 10px;
  margin-bottom: 10px;
}
.pricing-options-title h3 {
  line-height: 1.2;
  color: #484951;
  margin: 0;
}
.pricing-option {
  text-align: center;
}
.pricing-option:first-child .pricing-option-content {
  margin-bottom: 0;
  border-left: none;
}
.pricing-option.span3 {
  margin-left: 0;
  padding-left: 7px;
  padding-right: 7px;
}
.pricing-option-header {
  margin-bottom: 14px;
}
.pricing-option-header h4 {
  color: #28718d;
  margin-left: 9px;
}
.pricing-option-price {
  font-size: 2.57142857em;
  line-height: 1.5;
  color: #f58d50;
  margin-bottom: 12px;
  font-weight: 200;
}
.pricing-option-content {
  margin-bottom: 20px;
  border-left: solid 1px #dadada;
}
.pricing-option-content p {
  margin-left: 10px;
}
.pricing-option-link {
  margin-left: 15px;
}
.price_table {
  border-radius: 5px;
  font-family: "cantarell", sans-serif;
  font-size: 13px;
  border-spacing: 0;
}
.price_table .detail_row {
  /* hide all 'more details' rows to start */
  display: none;
}
.price_table .active {
  display: table-row !important;
  /* show all 'more details' rows */
}
.price_table td {
  border: 0;
  vertical-align: middle;
}
.price_table tr {
  height: 50px;
}
.price_table thead {
  background: #fff;
}
.price_table thead tr {
  height: 45px;
  text-align: center;
  font-weight: bold;
}
.price_table th {
  background: #fff;
  font-size: 18px !important;
  color: #28718d !important;
  font-family: "proxima-nova", arial, sans-serif;
  text-align: center;
  border: 0;
}
.price_table .column-1,
.column-2,
.column-3,
.column-4,
.column-5 {
  width: 16.5%;
  text-align: center;
}
.price_table .column-1,
.price_table .column-2,
.price_table .column-3,
.price_table .column-4 {
  border-right: solid 1px #f2f2f2;
}
.price_table .row-2 td {
  /* support */
  color: #67686e;
  font-size: 14px;
  line-height: 21px;
  height: 42px;
  margin-bottom: 20px;
  background: #fff;
  vertical-align: top;
}
.price_table .btn-pricing {
  width: 120px !important;
  text-align: center;
  padding: 6px;
}
.price_table .row-4 {
  height: 30px;
}
.price_table .row-4 td {
  vertical-align: middle;
}
.price_table td.column-1.rowspan-7 {
  vertical-align: top;
}
.price_table td.column-1.rowspan-7 img {
  padding-top: 0px;
}
#price_table_details {
  color: #28718d;
  font-size: 15px;
  font-family: "proxima-nova", sans-serif;
  letter-spacing: 1px;
  cursor: pointer;
}
/* Two-tier */
.wp-table-reloaded.price_table_twotier {
  border-radius: 5px;
  font-family: "cantarell", sans-serif;
  font-size: 13px;
  border-spacing: 0;
  margin: 10px 0px 0px 0px;
  background-color: transparent;
}
.price_table_twotier .column-2 {
  border-right: 0;
}
.price_table_twotier td {
  border: 0;
  vertical-align: middle;
}
.price_table_twotier tr {
  height: 50px;
}
.price_table_twotier thead {
  background: #fff;
}
.price_table_twotier thead tr {
  height: 45px;
  text-align: center;
  font-weight: bold;
}
.price_table_twotier thead tr th,
.price_table_twotier thead tr th .column-1,
.price_table_twotier thead tr th .column-2 {
  background: #fff;
  font-size: 18px !important;
  color: #28718d !important;
  font-family: "proxima-nova", arial, sans-serif;
  text-align: center;
  border: 0;
}
.price_table_twotier .column-1,
.price_table_twotier .column-2 {
  width: 50%;
}
.price_table_twotier .column-1 {
  border-right: 1px solid #f2f2f2;
}
.price_table_twotier tr td.column-1 p,
.price_table_twotier tr td.column-2 p,
.price_table_twotier tr td.column-1 li,
.price_table_twotier tr td.column-2 li {
  text-align: left;
  max-width: 80%;
  margin: 0 auto;
}
.price_table_twotier tr td.column-2.rowspan-2 {
  vertical-align: top;
  padding-top: 17px;
}
/* partner-portal.less */
.modal .modal-dialog > .partner-modal .modal-header {
  padding: 9px 30px;
}
.modal .modal-dialog > .partner-modal .modal-header .modal-title {
  padding-top: 9px;
}
.modal .modal-dialog > .partner-modal .modal-body {
  padding: 20px 30px;
}
.modal .modal-dialog > .partner-modal .modal-body div {
  margin-bottom: 20px;
}
.partner-login {
  padding-left: 35px;
}
.partner-login form#smartPWLogin {
  height: 80px;
  max-width: 230px;
  display: inline-block;
}
.partner-login form#smartPWLogin input[type=submit] {
  margin: 15px auto 15px 65px;
}
.page.partners .secondarynav,
.partners .secondarynav,
.single-case-study .secondarynav,
.single-whitepaper .secondarynav {
  background: #f58d50;
}
.page.partners .secondarynav .sub-menu,
.partners .secondarynav .sub-menu,
.single-case-study .secondarynav .sub-menu,
.single-whitepaper .secondarynav .sub-menu {
  background: #f58d50;
}
.page.partners .secondarynav li:hover > a,
.partners .secondarynav li:hover > a,
.single-case-study .secondarynav li:hover > a,
.single-whitepaper .secondarynav li:hover > a,
.page.partners .secondarynav .current_page_item > a,
.partners .secondarynav .current_page_item > a,
.single-case-study .secondarynav .current_page_item > a,
.single-whitepaper .secondarynav .current_page_item > a {
  background: #f47d38;
}
.page.partners .partner-message,
.partners .partner-message {
  background-color: #fff;
  padding: 15px 25px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  border-radius: 8px;
  margin-bottom: 20px;
}
.page.partners .partner-message .partner-message-title,
.partners .partner-message .partner-message-title {
  color: #28718d;
}
.page.partners .partner-contact-us .widget-title,
.partners .partner-contact-us .widget-title {
  color: #28718d;
  font-weight: bold;
}
/* Mixitup jQuery plugin CSS (for Partners page) */
.mixitup .controls {
  padding: 0 0 2% 0;
  margin-right: 3%;
  display: inline-block;
}
.mixitup .controls label {
  display: inline-block;
  vertical-align: top;
  margin-right: 10px;
}
.mixitup .controls button {
  display: inline-block;
  margin-right: 1%;
}
.mixitup .controls button.btn.btn-secondary {
  padding-left: 1%;
  padding-right: 1%;
  padding-top: 7px;
  padding-bottom: 4px;
  font-size: 15px;
  width: auto;
}
.mixitup .controls button.btn.btn-secondary:hover,
.mixitup .controls button.btn.btn-secondary.active {
  box-shadow: inset 0px 5px 2px #bbd54b;
  background-color: #9db82b;
}
.mixitup #mixitup-container {
  text-align: justify;
}
.mixitup #mixitup-container .mix {
  display: none;
  margin-left: 4px;
  margin-bottom: 3px;
}
body {
  font-family: "cantarell", sans-serif;
}
h1,
h2,
h3,
h4,
h5,
.btn,
.nav-tabs,
.menu-main-container,
.secondarynav,
.footer-about-menu,
.footer-resources-menu,
.footer-solutions-menu,
.footer-sub-menu,
.social,
.pricing-option-header,
.pricing-option-price,
.menu-software-packages-container,
.menu-opengeo-suite-4-container {
  font-family: "proxima-nova", sans-serif;
}
p {
  margin: 0 0 20px 0;
}
a:focus {
  outline: none;
  outline-offset: none;
}
@media only screen and (max-width: 640px) {
  .animated-globe {
    background: transparent url('/wp-content/uploads/2013/08/globe.png') no-repeat center center;
    background-size: 80%;
  }
}
.animated-globe h2 {
  margin: 0 0 10px 0;
}
.animated-globe #city {
  height: 25px;
  fill: #95989B;
  width: 100%;
}
.animated-globe #city svg {
  overflow: visible;
}
.animated-globe #map {
  margin: 0 auto 40px 50px;
  height: 350px;
}
.animated-globe #map svg {
  margin-left: 2px;
  overflow: visible;
}
.animated-globe .foreground {
  fill: #7EB5D3;
  stroke: #28728D;
  stroke-width: 1px;
  pointer-events: all;
}
.animated-globe .graticule {
  fill: none;
  stroke: #FDCC32;
  stroke-width: .5px;
  stroke-dasharray: 2,2;
}
.animated-globe .land {
  fill: #00A78D;
  stroke: none;
}
.animated-globe .mesh {
  stroke: #50576A;
  stroke-width: .5px;
  fill: none;
}
.animated-globe .city {
  fill: #F58D50;
  fill-opacity: 0.75;
  stroke-opacity: 0.8;
}
.animated-globe .city.office {
  fill: #F58D50;
}
.animated-globe .city.partner {
  fill: #b4d137;
}
.touch .animated-globe {
  background: transparent url('/wp-content/uploads/2013/08/globe.png') no-repeat center center;
  background-size: 80%;
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3Jlc2V0Lmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2Jvb3RzdHJhcC9taXhpbnMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3NjYWZmb2xkaW5nLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS92YXJpYWJsZXMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2dyaWQubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2xheW91dHMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3R5cGUubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2Zvcm1zLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2Jvb3RzdHJhcC90YWJsZXMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3Nwcml0ZXMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2Ryb3Bkb3ducy5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9ib290c3RyYXAvY29tcG9uZW50LWFuaW1hdGlvbnMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2Nsb3NlLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2Jvb3RzdHJhcC9idXR0b25zLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2Jvb3RzdHJhcC9idXR0b24tZ3JvdXBzLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2Jvb3RzdHJhcC9hbGVydHMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL25hdnMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL25hdmJhci5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9ib290c3RyYXAvcGFnaW5hdGlvbi5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9ib290c3RyYXAvcGFnZXIubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL21vZGFscy5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9ib290c3RyYXAvcG9wb3ZlcnMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3Rvb2x0aXAubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3RodW1ibmFpbHMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2xhYmVscy1iYWRnZXMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3Byb2dyZXNzLWJhcnMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2FjY29yZGlvbi5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9ib290c3RyYXAvY2Fyb3VzZWwubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL2NvZGUubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvYm9vdHN0cmFwL3ZhcmlhYmxlcy5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9ib290c3RyYXAvdXRpbGl0aWVzLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS90eXBlLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS91dGlsaXRpZXMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvY3VzdG9tL2J1dHRvbnMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvY3VzdG9tL2Zvcm1zLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS9lbGVtZW50cy5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9jdXN0b20vZ2VuZXJpY3N0eWxlcy5sZXNzIiwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9ib3VuZGxlc3Mvd3AtY29udGVudC90aGVtZXMvb3Blbi1nZW8vbGVzcy9jdXN0b20vbGF5b3V0Lmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS9uYXZpZ2F0aW9uLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS9mb290ZXIubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvY3VzdG9tL3dpZGdldHMubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvY3VzdG9tL2hvbWUubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvY3VzdG9tL3ByaWNpbmctdGFibGUtc3VpdGUubGVzcyIsIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvYm91bmRsZXNzL3dwLWNvbnRlbnQvdGhlbWVzL29wZW4tZ2VvL2xlc3MvY3VzdG9tL3BhcnRuZXItcG9ydGFsLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS9taXhpdHVwLmxlc3MiLCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2JvdW5kbGVzcy93cC1jb250ZW50L3RoZW1lcy9vcGVuLWdlby9sZXNzL2N1c3RvbS9hbmltYXRlZC1nbG9iZS5sZXNzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFTQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNFLGNBQUE7O0FBTUY7QUFDQTtBQUNBO0VBQ0UscUJBQUE7RUFDQSxnQkFBQTtFQUNBLFFBQUE7O0FBTUYsS0FBSyxJQUFJO0VBQ0wsYUFBQTs7QUFNSjtFQUNFLGVBQUE7RUFDQSw4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QTJCLGdDQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFFM0I7RUFBMkIsNEJBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsZ0NBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUUzQjtFQUEyQiw0QkFBQTs7QUFDM0I7RUFBMkIsZ0NBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsZ0NBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBRTNCO0VBQTJCLDRCQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsZ0NBQUE7O0FBQzNCO0VBQTJCLGdDQUFBOztBQUMzQjtFQUEyQixnQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFFM0I7RUFBMkIsNkJBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixpQ0FBQTs7QUFDM0I7RUFBMkIsaUNBQUE7O0FBQzNCO0VBQTJCLGlDQUFBOztBQUMzQjtFQUEyQixrQ0FBQTs7QUFDM0I7RUFBMkIsa0NBQUE7O0FBQzNCO0VBQTJCLGtDQUFBOztBQUMzQjtFQUEyQixrQ0FBQTs7QUFDM0I7RUFBMkIsa0NBQUE7RUFBb0MsV0FBQTs7QUFDL0Q7RUFBMkIsa0NBQUE7O0FBQzNCO0VBQTJCLGtDQUFBOztBQUMzQjtFQUEyQixrQ0FBQTs7QUFDM0I7RUFBMkIsa0NBQUE7O0FBQzNCO0VBQTJCLGtDQUFBOztBQUMzQjtFQUEyQixrQ0FBQTs7QUFDM0I7RUFBMkIsa0NBQUE7RUFBb0MsV0FBQTs7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QUFBO0VBQ0Esa0JBQUE7O0FSM0NEO0VBQ0MsYWpDOERVLHVCaUM5RFY7O0FBR0Q7QUFBSTtBQUFJO0FBQUk7QUFBSTtBQUFJO0FBQU07QUFBVztBQUFzQjtBQUFlO0FBQW9CO0FBQXdCO0FBQXdCO0FBQWtCO0FBQVM7QUFBd0I7QUFBdUI7QUFBbUM7RUFDMVAsYWpDeURnQiwwQmlDekRoQjs7QUFHRDtFQUNDLGtCQUFBOztBQUdELENBQUM7RUFDQSxhQUFBO0VBQ0Esb0JBQUE7O0FTTkMsd0JBTDBDO0VBSzFDO0lBSkcsNEJBQTRCLGdFQUE1QjtJQUNBLG9CQUFBOzs7QUFKTCxlQU9FO0VBQ0Usa0JBQUE7O0FBUkosZUFXRTtFQUNFLFlBQUE7RUFDQSxhQUFBO0VBQ0EsV0FBQTs7QUFkSixlQWdCRSxNQUFNO0VBQ0osaUJBQUE7O0FBakJKLGVBb0JFO0VBQ0Usd0JBQUE7RUFDQSxhQUFBOztBQXRCSixlQXlCRSxLQUFLO0VBQ0gsZ0JBQUE7RUFDQSxpQkFBQTs7QUEzQkosZUE4QkU7RUFDRSxhQUFBO0VBQ0EsZUFBQTtFQUNBLGlCQUFBO0VBQ0EsbUJBQUE7O0FBbENKLGVBd0NFO0VBQ0UsVUFBQTtFQUNBLGVBQUE7RUFDQSxrQkFBQTtFQUNBLHFCQUFBOztBQTVDSixlQStDRTtFQUNFLGFBQUE7RUFDQSxZQUFBOztBQWpESixlQW9ERTtFQUNFLGVBQUE7RUFDQSxrQkFBQTtFQUNBLFVBQUE7O0FBdkRKLGVBMERFO0VBQ0UsYUFBQTtFQUNBLGtCQUFBO0VBQ0EsbUJBQUE7O0FBRUEsZUFMRixNQUtHO0VBQ0osYUFBQTs7QUFFRyxlQVJGLE1BUUc7RUFDSixhQUFBOztBQU1ELE1BQU87RUFDRiw0QkFBNEIsZ0VBQTVCO0VBQ0Esb0JBQUEiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLy9cbi8vIFJlc2V0IENTU1xuLy8gQWRhcHRlZCBmcm9tIGh0dHA6Ly9naXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBEaXNwbGF5IGluIElFNi05IGFuZCBGRjNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIERpc3BsYXkgYmxvY2sgaW4gSUU2LTkgYW5kIEZGM1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hdWRpbyxcbmNhbnZhcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAqZGlzcGxheTogaW5saW5lO1xuICAqem9vbTogMTtcbn1cblxuLy8gUHJldmVudHMgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyAnYXVkaW8nIHdpdGhvdXQgY29udHJvbHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBCYXNlIHNldHRpbmdzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuLy8gRm9jdXMgc3RhdGVzXG5hOmZvY3VzIHtcbiAgLnRhYi1mb2N1cygpO1xufVxuLy8gSG92ZXIgJiBBY3RpdmVcbmE6aG92ZXIsXG5hOmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8vIFByZXZlbnRzIHN1YiBhbmQgc3VwIGFmZmVjdGluZyBsaW5lLWhlaWdodCBpbiBhbGwgYnJvd3NlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuc3ViLFxuc3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vLyBJbWcgYm9yZGVyIGluIGEncyBhbmQgaW1hZ2UgcXVhbGl0eVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5pbWcge1xuICAvKiBSZXNwb25zaXZlIGltYWdlcyAoZW5zdXJlIGltYWdlcyBkb24ndCBzY2FsZSBiZXlvbmQgdGhlaXIgcGFyZW50cykgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiBQYXJ0IDE6IFNldCBhIG1heGl1bSByZWxhdGl2ZSB0byB0aGUgcGFyZW50ICovXG4gIHdpZHRoOiBhdXRvXFw5OyAvKiBJRTctOCBuZWVkIGhlbHAgYWRqdXN0aW5nIHJlc3BvbnNpdmUgaW1hZ2VzICovXG4gIGhlaWdodDogYXV0bzsgLyogUGFydCAyOiBTY2FsZSB0aGUgaGVpZ2h0IGFjY29yZGluZyB0byB0aGUgd2lkdGgsIG90aGVyd2lzZSB5b3UgZ2V0IHN0cmV0Y2hpbmcgKi9cblxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDA7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG59XG5cbi8vIFByZXZlbnQgbWF4LXdpZHRoIGZyb20gYWZmZWN0aW5nIEdvb2dsZSBNYXBzXG4jbWFwX2NhbnZhcyBpbWcsXG4uZ29vZ2xlLW1hcHMgaW1nIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBGb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLCBtYXJnaW4gY2hhbmdlcywgbWlzYyBjb25zaXN0ZW5jeVxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAxMDAlO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuYnV0dG9uLFxuaW5wdXQge1xuICAqb3ZlcmZsb3c6IHZpc2libGU7IC8vIElubmVyIHNwYWNpbmcgaWUgSUU2LzdcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgLy8gRkYzLzQgaGF2ZSAhaW1wb3J0YW50IG9uIGxpbmUtaGVpZ2h0IGluIFVBIHN0eWxlc2hlZXRcbn1cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHsgLy8gSW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIG9kZGl0aWVzIGluIEZGMy80XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbn1cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLy8gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2AgY29udHJvbHMuXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLy8gQ29ycmVjdHMgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSBgaW5wdXRgIGFuZCBvdGhlcnMuXG59XG5sYWJlbCxcbnNlbGVjdCxcbmJ1dHRvbixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IC8vIEltcHJvdmVzIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZSBgaW5wdXRgIGFuZCBvdGhlcnMuXG59XG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHsgLy8gQXBwZWFyYW5jZSBpbiBTYWZhcmkvQ2hyb21lXG4gIC5ib3gtc2l6aW5nKGNvbnRlbnQtYm94KTtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG59XG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gSW5uZXItcGFkZGluZyBpc3N1ZXMgaW4gQ2hyb21lIE9TWCwgU2FmYXJpIDVcbn1cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFJlbW92ZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUU2LTlcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgLy8gUmVhZGFiaWxpdHkgYW5kIGFsaWdubWVudCBjcm9zcy1icm93c2VyXG59XG5cblxuLy8gUHJpbnRpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFNvdXJjZTogaHR0cHM6Ly9naXRodWIuY29tL2g1YnAvaHRtbDUtYm9pbGVycGxhdGUvYmxvYi9tYXN0ZXIvY3NzL21haW4uY3NzXG5cbkBtZWRpYSBwcmludCB7XG5cbiAgKiB7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7XG4gIH1cblxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG5cbiAgLy8gRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG5cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk5O1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IC8vIGg1YnAuY29tL3RcbiAgfVxuXG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgfVxuXG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gIH1cblxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuXG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7XG4gIH1cblxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkO1xuICB9XG59XG4iLCIvL1xuLy8gTWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFVUSUxJVFkgTUlYSU5TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBDbGVhcmZpeFxuLy8gLS0tLS0tLS1cbi8vIEZvciBjbGVhcmluZyBmbG9hdHMgbGlrZSBhIGJvc3MgaDVicC5jb20vcVxuLmNsZWFyZml4IHtcbiAgKnpvb206IDE7XG4gICY6YmVmb3JlLFxuICAmOmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIC8vIEZpeGVzIE9wZXJhL2NvbnRlbnRlZGl0YWJsZSBidWc6XG4gICAgLy8gaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svI2NvbW1lbnQtMzY5NTJcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLyBXZWJraXQtc3R5bGUgZm9jdXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxuLnRhYi1mb2N1cygpIHtcbiAgLy8gRGVmYXVsdFxuICBvdXRsaW5lOiB0aGluIGRvdHRlZCAjMzMzO1xuICAvLyBXZWJraXRcbiAgb3V0bGluZTogNXB4IGF1dG8gLXdlYmtpdC1mb2N1cy1yaW5nLWNvbG9yO1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLy8gQ2VudGVyLWFsaWduIGEgYmxvY2sgbGV2ZWwgZWxlbWVudFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNlbnRlci1ibG9jaygpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi8vIElFNyBpbmxpbmUtYmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS1cbi5pZTctaW5saW5lLWJsb2NrKCkge1xuICAqZGlzcGxheTogaW5saW5lOyAvKiBJRTcgaW5saW5lLWJsb2NrIGhhY2sgKi9cbiAgKnpvb206IDE7XG59XG5cbi8vIElFNyBsaWtlcyB0byBjb2xsYXBzZSB3aGl0ZXNwYWNlIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBpbmxpbmUtYmxvY2sgZWxlbWVudHMuXG4vLyBFbXMgYmVjYXVzZSB3ZSdyZSBhdHRlbXB0aW5nIHRvIG1hdGNoIHRoZSB3aWR0aCBvZiBhIHNwYWNlIGNoYXJhY3Rlci4gTGVmdFxuLy8gdmVyc2lvbiBpcyBmb3IgZm9ybSBidXR0b25zLCB3aGljaCB0eXBpY2FsbHkgY29tZSBhZnRlciBvdGhlciBlbGVtZW50cywgYW5kXG4vLyByaWdodCB2ZXJzaW9uIGlzIGZvciBpY29ucywgd2hpY2ggY29tZSBiZWZvcmUuIEFwcGx5aW5nIGJvdGggaXMgb2ssIGJ1dCBpdCB3aWxsXG4vLyBtZWFuIHRoYXQgc3BhY2UgYmV0d2VlbiB0aG9zZSBlbGVtZW50cyB3aWxsIGJlIC42ZW0gKH4yIHNwYWNlIGNoYXJhY3RlcnMpIGluIElFNyxcbi8vIGluc3RlYWQgb2YgdGhlIDEgc3BhY2UgaW4gb3RoZXIgYnJvd3NlcnMuXG4uaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLWxlZnQ6IC4zZW07XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgKm1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cbi5pZTctcmVzdG9yZS1yaWdodC13aGl0ZXNwYWNlKCkge1xuICAqbWFyZ2luLXJpZ2h0OiAuM2VtO1xufVxuXG4vLyBTaXppbmcgc2hvcnRjdXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc2l6ZShAaGVpZ2h0LCBAd2lkdGgpIHtcbiAgd2lkdGg6IEB3aWR0aDtcbiAgaGVpZ2h0OiBAaGVpZ2h0O1xufVxuLnNxdWFyZShAc2l6ZSkge1xuICAuc2l6ZShAc2l6ZSwgQHNpemUpO1xufVxuXG4vLyBQbGFjZWhvbGRlciB0ZXh0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGxhY2Vob2xkZXIoQGNvbG9yOiBAcGxhY2Vob2xkZXJUZXh0KSB7XG4gICY6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IEBjb2xvcjtcbiAgfVxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogQGNvbG9yO1xuICB9XG59XG5cbi8vIFRleHQgb3ZlcmZsb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlcXVpcmVzIGlubGluZS1ibG9jayBvciBibG9jayBmb3IgcHJvcGVyIHN0eWxpbmdcbi50ZXh0LW92ZXJmbG93KCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQ1NTIGltYWdlIHJlcGxhY2VtZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBTb3VyY2U6IGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2NvbW1pdC9hYTAzOTZlYWU3NTdcbi5oaWRlLXRleHQge1xuICBmb250OiAwLzAgYTtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbn1cblxuXG4vLyBGT05UU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuI2ZvbnQge1xuICAjZmFtaWx5IHtcbiAgICAuc2VyaWYoKSB7XG4gICAgICBmb250LWZhbWlseTogQHNlcmlmRm9udEZhbWlseTtcbiAgICB9XG4gICAgLnNhbnMtc2VyaWYoKSB7XG4gICAgICBmb250LWZhbWlseTogQHNhbnNGb250RmFtaWx5O1xuICAgIH1cbiAgICAubW9ub3NwYWNlKCkge1xuICAgICAgZm9udC1mYW1pbHk6IEBtb25vRm9udEZhbWlseTtcbiAgICB9XG4gIH1cbiAgLnNob3J0aGFuZChAc2l6ZTogQGJhc2VGb250U2l6ZSwgQHdlaWdodDogbm9ybWFsLCBAbGluZUhlaWdodDogQGJhc2VMaW5lSGVpZ2h0KSB7XG4gICAgZm9udC1zaXplOiBAc2l6ZTtcbiAgICBmb250LXdlaWdodDogQHdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogQGxpbmVIZWlnaHQ7XG4gIH1cbiAgLnNlcmlmKEBzaXplOiBAYmFzZUZvbnRTaXplLCBAd2VpZ2h0OiBub3JtYWwsIEBsaW5lSGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQpIHtcbiAgICAjZm9udCA+ICNmYW1pbHkgPiAuc2VyaWY7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbiAgLnNhbnMtc2VyaWYoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5zYW5zLXNlcmlmO1xuICAgICNmb250ID4gLnNob3J0aGFuZChAc2l6ZSwgQHdlaWdodCwgQGxpbmVIZWlnaHQpO1xuICB9XG4gIC5tb25vc3BhY2UoQHNpemU6IEBiYXNlRm9udFNpemUsIEB3ZWlnaHQ6IG5vcm1hbCwgQGxpbmVIZWlnaHQ6IEBiYXNlTGluZUhlaWdodCkge1xuICAgICNmb250ID4gI2ZhbWlseSA+IC5tb25vc3BhY2U7XG4gICAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBzaXplLCBAd2VpZ2h0LCBAbGluZUhlaWdodCk7XG4gIH1cbn1cblxuXG4vLyBGT1JNU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmxvY2sgbGV2ZWwgaW5wdXRzXG4uaW5wdXQtYmxvY2stbGV2ZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IEBpbnB1dEhlaWdodDsgLy8gTWFrZSBpbnB1dHMgYXQgbGVhc3QgdGhlIGhlaWdodCBvZiB0aGVpciBidXR0b24gY291bnRlcnBhcnQgKGJhc2UgbGluZS1oZWlnaHQgKyBwYWRkaW5nICsgYm9yZGVyKVxuICAuYm94LXNpemluZyhib3JkZXItYm94KTsgLy8gTWFrZXMgaW5wdXRzIGJlaGF2ZSBsaWtlIHRydWUgYmxvY2stbGV2ZWwgZWxlbWVudHNcbn1cblxuXG5cbi8vIE1peGluIGZvciBmb3JtIGZpZWxkIHN0YXRlc1xuLmZvcm1GaWVsZFN0YXRlKEB0ZXh0Q29sb3I6ICM1NTUsIEBib3JkZXJDb2xvcjogI2NjYywgQGJhY2tncm91bmRDb2xvcjogI2Y1ZjVmNSkge1xuICAvLyBTZXQgdGhlIHRleHQgY29sb3JcbiAgLmNvbnRyb2wtbGFiZWwsXG4gIC5oZWxwLWJsb2NrLFxuICAuaGVscC1pbmxpbmUge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIC8vIFN0eWxlIGlucHV0cyBhY2NvcmRpbmdseVxuICAuY2hlY2tib3gsXG4gIC5yYWRpbyxcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBAdGV4dENvbG9yO1xuICB9XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBib3JkZXItY29sb3I6IEBib3JkZXJDb2xvcjtcbiAgICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSk7IC8vIFJlZGVjbGFyZSBzbyB0cmFuc2l0aW9ucyB3b3JrXG4gICAgJjpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6IGRhcmtlbihAYm9yZGVyQ29sb3IsIDEwJSk7XG4gICAgICBAc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDZweCBsaWdodGVuKEBib3JkZXJDb2xvciwgMjAlKTtcbiAgICAgIC5ib3gtc2hhZG93KEBzaGFkb3cpO1xuICAgIH1cbiAgfVxuICAvLyBHaXZlIGEgc21hbGwgYmFja2dyb3VuZCBjb2xvciBmb3IgaW5wdXQtcHJlcGVuZC8tYXBwZW5kXG4gIC5pbnB1dC1wcmVwZW5kIC5hZGQtb24sXG4gIC5pbnB1dC1hcHBlbmQgLmFkZC1vbiB7XG4gICAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJhY2tncm91bmRDb2xvcjtcbiAgICBib3JkZXItY29sb3I6IEB0ZXh0Q29sb3I7XG4gIH1cbn1cblxuXG5cbi8vIENTUzMgUFJPUEVSVElFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQm9yZGVyIFJhZGl1c1xuLmJvcmRlci1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IEByYWRpdXM7XG4gICAgIC1tb3otYm9yZGVyLXJhZGl1czogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBTaW5nbGUgQ29ybmVyIEJvcmRlciBSYWRpdXNcbi5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgLXdlYmtpdC1ib3JkZXItdG9wLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6IEByYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogQHJhZGl1cztcbn1cbi5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKSB7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtdG9wcmlnaHQ6IEByYWRpdXM7XG4gICAgICAgICAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEByYWRpdXM7XG59XG4uYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xuICAgICAgLW1vei1ib3JkZXItcmFkaXVzLWJvdHRvbXJpZ2h0OiBAcmFkaXVzO1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBAcmFkaXVzO1xufVxuLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cykge1xuICAtd2Via2l0LWJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEByYWRpdXM7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogQHJhZGl1cztcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBAcmFkaXVzO1xufVxuXG4vLyBTaW5nbGUgU2lkZSBCb3JkZXIgUmFkaXVzXG4uYm9yZGVyLXRvcC1yYWRpdXMoQHJhZGl1cykge1xuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XG4gIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xufVxuLmJvcmRlci1yaWdodC1yYWRpdXMoQHJhZGl1cykge1xuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQHJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKTtcbn1cbi5ib3JkZXItYm90dG9tLXJhZGl1cyhAcmFkaXVzKSB7XG4gIC5ib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cyhAcmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQHJhZGl1cyk7XG59XG4uYm9yZGVyLWxlZnQtcmFkaXVzKEByYWRpdXMpIHtcbiAgLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQHJhZGl1cyk7XG4gIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEByYWRpdXMpO1xufVxuXG4vLyBEcm9wIHNoYWRvd3Ncbi5ib3gtc2hhZG93KEBzaGFkb3cpIHtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBAc2hhZG93O1xuICAgICAtbW96LWJveC1zaGFkb3c6IEBzaGFkb3c7XG4gICAgICAgICAgYm94LXNoYWRvdzogQHNoYWRvdztcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi50cmFuc2l0aW9uKEB0cmFuc2l0aW9uKSB7XG4gIC13ZWJraXQtdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgIC1tb3otdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgLW8tdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG4gICAgICAgICAgdHJhbnNpdGlvbjogQHRyYW5zaXRpb247XG59XG4udHJhbnNpdGlvbi1kZWxheShAdHJhbnNpdGlvbi1kZWxheSkge1xuICAtd2Via2l0LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xuICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IEB0cmFuc2l0aW9uLWRlbGF5O1xufVxuLnRyYW5zaXRpb24tZHVyYXRpb24oQHRyYW5zaXRpb24tZHVyYXRpb24pIHtcbiAgLXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgLW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbiAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBAdHJhbnNpdGlvbi1kdXJhdGlvbjtcbn1cblxuLy8gVHJhbnNmb3JtYXRpb25zXG4ucm90YXRlKEBkZWdyZWVzKSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZShAZGVncmVlcyk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoQGRlZ3JlZXMpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKEBkZWdyZWVzKTtcbn1cbi5zY2FsZShAcmF0aW8pIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgIC1tb3otdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xuICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoQHJhdGlvKTtcbiAgICAgICAtby10cmFuc2Zvcm06IHNjYWxlKEByYXRpbyk7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZShAcmF0aW8pO1xufVxuLnRyYW5zbGF0ZShAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG4gICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUoQHgsIEB5KTtcbiAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZShAeCwgQHkpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKEB4LCBAeSk7XG59XG4uc2tldyhAeCwgQHkpIHtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHNrZXdYKEB4KSBza2V3WShAeSk7IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdpdHRlci9ib290c3RyYXAvaXNzdWVzLzQ4ODVcbiAgICAgICAtby10cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNrZXcoQHgsIEB5KTtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIFNlZSBodHRwczovL2dpdGh1Yi5jb20vdHdpdHRlci9ib290c3RyYXAvaXNzdWVzLzUzMTlcbn1cbi50cmFuc2xhdGUzZChAeCwgQHksIEB6KSB7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbiAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKEB4LCBAeSwgQHopO1xuICAgICAgIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoQHgsIEB5LCBAeik7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZChAeCwgQHksIEB6KTtcbn1cblxuLy8gQmFja2ZhY2UgdmlzaWJpbGl0eVxuLy8gUHJldmVudCBicm93c2VycyBmcm9tIGZsaWNrZXJpbmcgd2hlbiB1c2luZyBDU1MgM0QgdHJhbnNmb3Jtcy5cbi8vIERlZmF1bHQgdmFsdWUgaXMgYHZpc2libGVgLCBidXQgY2FuIGJlIGNoYW5nZWQgdG8gYGhpZGRlblxuLy8gU2VlIGdpdCBwdWxsIGh0dHBzOi8vZ2l0aHViLmNvbS9kYW5ueWtlYW5lL2Jvb3RzdHJhcC5naXQgYmFja2ZhY2UtdmlzaWJpbGl0eSBmb3IgZXhhbXBsZXNcbi5iYWNrZmFjZS12aXNpYmlsaXR5KEB2aXNpYmlsaXR5KXtcblx0LXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcblx0ICAgLW1vei1iYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcblx0ICAgICAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBAdmlzaWJpbGl0eTtcbn1cblxuLy8gQmFja2dyb3VuZCBjbGlwcGluZ1xuLy8gSGVhZHMgdXA6IEZGIDMuNiBhbmQgdW5kZXIgbmVlZCBcInBhZGRpbmdcIiBpbnN0ZWFkIG9mIFwicGFkZGluZy1ib3hcIlxuLmJhY2tncm91bmQtY2xpcChAY2xpcCkge1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogQGNsaXA7XG4gICAgIC1tb3otYmFja2dyb3VuZC1jbGlwOiBAY2xpcDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IEBjbGlwO1xufVxuXG4vLyBCYWNrZ3JvdW5kIHNpemluZ1xuLmJhY2tncm91bmQtc2l6ZShAc2l6ZSkge1xuICAtd2Via2l0LWJhY2tncm91bmQtc2l6ZTogQHNpemU7XG4gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBAc2l6ZTtcbiAgICAgICAtby1iYWNrZ3JvdW5kLXNpemU6IEBzaXplO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogQHNpemU7XG59XG5cblxuLy8gQm94IHNpemluZ1xuLmJveC1zaXppbmcoQGJveG1vZGVsKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogQGJveG1vZGVsO1xuICAgICAtbW96LWJveC1zaXppbmc6IEBib3htb2RlbDtcbiAgICAgICAgICBib3gtc2l6aW5nOiBAYm94bW9kZWw7XG59XG5cbi8vIFVzZXIgc2VsZWN0XG4vLyBGb3Igc2VsZWN0aW5nIHRleHQgb24gdGhlIHBhZ2Vcbi51c2VyLXNlbGVjdChAc2VsZWN0KSB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgIC1tb3otdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAtbXMtdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgLW8tdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IEBzZWxlY3Q7XG59XG5cbi8vIFJlc2l6ZSBhbnl0aGluZ1xuLnJlc2l6YWJsZShAZGlyZWN0aW9uKSB7XG4gIHJlc2l6ZTogQGRpcmVjdGlvbjsgLy8gT3B0aW9uczogaG9yaXpvbnRhbCwgdmVydGljYWwsIGJvdGhcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIFNhZmFyaSBmaXhcbn1cblxuLy8gQ1NTMyBDb250ZW50IENvbHVtbnNcbi5jb250ZW50LWNvbHVtbnMoQGNvbHVtbkNvdW50LCBAY29sdW1uR2FwOiBAZ3JpZEd1dHRlcldpZHRoKSB7XG4gIC13ZWJraXQtY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gICAgIC1tb3otY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gICAgICAgICAgY29sdW1uLWNvdW50OiBAY29sdW1uQ291bnQ7XG4gIC13ZWJraXQtY29sdW1uLWdhcDogQGNvbHVtbkdhcDtcbiAgICAgLW1vei1jb2x1bW4tZ2FwOiBAY29sdW1uR2FwO1xuICAgICAgICAgIGNvbHVtbi1nYXA6IEBjb2x1bW5HYXA7XG59XG5cbi8vIE9wdGlvbmFsIGh5cGhlbmF0aW9uXG4uaHlwaGVucyhAbW9kZTogYXV0bykge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIC13ZWJraXQtaHlwaGVuczogQG1vZGU7XG4gICAgIC1tb3otaHlwaGVuczogQG1vZGU7XG4gICAgICAtbXMtaHlwaGVuczogQG1vZGU7XG4gICAgICAgLW8taHlwaGVuczogQG1vZGU7XG4gICAgICAgICAgaHlwaGVuczogQG1vZGU7XG59XG5cbi8vIE9wYWNpdHlcbi5vcGFjaXR5KEBvcGFjaXR5KSB7XG4gIG9wYWNpdHk6IEBvcGFjaXR5IC8gMTAwO1xuICBmaWx0ZXI6IH5cImFscGhhKG9wYWNpdHk9QHtvcGFjaXR5fSlcIjtcbn1cblxuXG5cbi8vIEJBQ0tHUk9VTkRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBBZGQgYW4gYWxwaGF0cmFuc3BhcmVuY3kgdmFsdWUgdG8gYW55IGJhY2tncm91bmQgb3IgYm9yZGVyIGNvbG9yICh2aWEgRWx5c2UgSG9sbGFkYXkpXG4jdHJhbnNsdWNlbnQge1xuICAuYmFja2dyb3VuZChAY29sb3I6IEB3aGl0ZSwgQGFscGhhOiAxKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogaHNsYShodWUoQGNvbG9yKSwgc2F0dXJhdGlvbihAY29sb3IpLCBsaWdodG5lc3MoQGNvbG9yKSwgQGFscGhhKTtcbiAgfVxuICAuYm9yZGVyKEBjb2xvcjogQHdoaXRlLCBAYWxwaGE6IDEpIHtcbiAgICBib3JkZXItY29sb3I6IGhzbGEoaHVlKEBjb2xvciksIHNhdHVyYXRpb24oQGNvbG9yKSwgbGlnaHRuZXNzKEBjb2xvciksIEBhbHBoYSk7XG4gICAgLmJhY2tncm91bmQtY2xpcChwYWRkaW5nLWJveCk7XG4gIH1cbn1cblxuLy8gR3JhZGllbnQgQmFyIENvbG9ycyBmb3IgYnV0dG9ucyBhbmQgYWxlcnRzXG4uZ3JhZGllbnRCYXIoQHByaW1hcnlDb2xvciwgQHNlY29uZGFyeUNvbG9yLCBAdGV4dENvbG9yOiAjZmZmLCBAdGV4dFNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpKSB7XG4gIGNvbG9yOiBAdGV4dENvbG9yO1xuICB0ZXh0LXNoYWRvdzogQHRleHRTaGFkb3c7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbChAcHJpbWFyeUNvbG9yLCBAc2Vjb25kYXJ5Q29sb3IpO1xuICBib3JkZXItY29sb3I6IEBzZWNvbmRhcnlDb2xvciBAc2Vjb25kYXJ5Q29sb3IgZGFya2VuKEBzZWNvbmRhcnlDb2xvciwgMTUlKTtcbiAgYm9yZGVyLWNvbG9yOiByZ2JhKDAsMCwwLC4xKSByZ2JhKDAsMCwwLC4xKSBmYWRlaW4ocmdiYSgwLDAsMCwuMSksIDE1JSk7XG59XG5cbi8vIEdyYWRpZW50c1xuI2dyYWRpZW50IHtcbiAgLmhvcml6b250YWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gRkYgMy42K1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDAsIDEwMCUgMCwgZnJvbShAc3RhcnRDb2xvciksIHRvKEBlbmRDb2xvcikpOyAvLyBTYWZhcmkgNCssIENocm9tZSAyK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KGxlZnQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gT3BlcmEgMTEuMTBcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0xKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAudmVydGljYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAc3RhcnRDb2xvciwgQGVuZENvbG9yLCA2MCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KHRvcCwgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIEZGIDMuNitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCB0byhAZW5kQ29sb3IpKTsgLy8gU2FmYXJpIDQrLCBDaHJvbWUgMitcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTYWZhcmkgNS4xKywgQ2hyb21lIDEwK1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBTdGFuZGFyZCwgSUUxMFxuICAgIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd25cbiAgfVxuICAuZGlyZWN0aW9uYWwoQHN0YXJ0Q29sb3I6ICM1NTUsIEBlbmRDb2xvcjogIzMzMywgQGRlZzogNDVkZWcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdC14O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBGRiAzLjYrXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGRlZywgQHN0YXJ0Q29sb3IsIEBlbmRDb2xvcik7IC8vIFNhZmFyaSA1LjErLCBDaHJvbWUgMTArXG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBkZWcsIEBzdGFydENvbG9yLCBAZW5kQ29sb3IpOyAvLyBPcGVyYSAxMS4xMFxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAZGVnLCBAc3RhcnRDb2xvciwgQGVuZENvbG9yKTsgLy8gU3RhbmRhcmQsIElFMTBcbiAgfVxuICAuaG9yaXpvbnRhbC10aHJlZS1jb2xvcnMoQHN0YXJ0Q29sb3I6ICMwMGIzZWUsIEBtaWRDb2xvcjogIzdhNDNiNiwgQGNvbG9yU3RvcDogNTAlLCBAZW5kQ29sb3I6ICNjMzMyNWYpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoQG1pZENvbG9yLCBAZW5kQ29sb3IsIDgwJSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsZWZ0LCBsaW5lYXIsIDAgMCwgMCAxMDAlLCBmcm9tKEBzdGFydENvbG9yKSwgY29sb3Itc3RvcChAY29sb3JTdG9wLCBAbWlkQ29sb3IpLCB0byhAZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQobGVmdCwgQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCBAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG5cbiAgLnZlcnRpY2FsLXRocmVlLWNvbG9ycyhAc3RhcnRDb2xvcjogIzAwYjNlZSwgQG1pZENvbG9yOiAjN2E0M2I2LCBAY29sb3JTdG9wOiA1MCUsIEBlbmRDb2xvcjogI2MzMzI1Zikge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peChAbWlkQ29sb3IsIEBlbmRDb2xvciwgODAlKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgMCAwLCAwIDEwMCUsIGZyb20oQHN0YXJ0Q29sb3IpLCBjb2xvci1zdG9wKEBjb2xvclN0b3AsIEBtaWRDb2xvciksIHRvKEBlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsIEBzdGFydENvbG9yLCBAbWlkQ29sb3IgQGNvbG9yU3RvcCwgQGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1saW5lYXItZ3JhZGllbnQoQHN0YXJ0Q29sb3IsIEBtaWRDb2xvciBAY29sb3JTdG9wLCBAZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAc3RhcnRDb2xvciwgQG1pZENvbG9yIEBjb2xvclN0b3AsIEBlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBmaWx0ZXI6IGUoJShcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5ncmFkaWVudChzdGFydENvbG9yc3RyPSclZCcsIGVuZENvbG9yc3RyPSclZCcsIEdyYWRpZW50VHlwZT0wKVwiLGFyZ2IoQHN0YXJ0Q29sb3IpLGFyZ2IoQGVuZENvbG9yKSkpOyAvLyBJRTkgYW5kIGRvd24sIGdldHMgbm8gY29sb3Itc3RvcCBhdCBhbGwgZm9yIHByb3BlciBmYWxsYmFja1xuICB9XG4gIC5yYWRpYWwoQGlubmVyQ29sb3I6ICM1NTUsIEBvdXRlckNvbG9yOiAjMzMzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG91dGVyQ29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDAsIGNlbnRlciBjZW50ZXIsIDQ2MCwgZnJvbShAaW5uZXJDb2xvciksIHRvKEBvdXRlckNvbG9yKSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNpcmNsZSwgQGlubmVyQ29sb3IsIEBvdXRlckNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtby1yYWRpYWwtZ3JhZGllbnQoY2lyY2xlLCBAaW5uZXJDb2xvciwgQG91dGVyQ29sb3IpO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIH1cbiAgLnN0cmlwZWQoQGNvbG9yOiAjNTU1LCBAYW5nbGU6IDQ1ZGVnKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGNvbG9yO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtZ3JhZGllbnQobGluZWFyLCAwIDEwMCUsIDEwMCUgMCwgY29sb3Itc3RvcCguMjUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjI1LCB0cmFuc3BhcmVudCksIGNvbG9yLXN0b3AoLjUsIHRyYW5zcGFyZW50KSwgY29sb3Itc3RvcCguNSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpKSwgY29sb3Itc3RvcCguNzUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSksIGNvbG9yLXN0b3AoLjc1LCB0cmFuc3BhcmVudCksIHRvKHRyYW5zcGFyZW50KSk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW1vei1saW5lYXItZ3JhZGllbnQoQGFuZ2xlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgMjUlLCB0cmFuc3BhcmVudCAyNSUsIHRyYW5zcGFyZW50IDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDUwJSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDc1JSwgdHJhbnNwYXJlbnQgNzUlLCB0cmFuc3BhcmVudCk7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLW8tbGluZWFyLWdyYWRpZW50KEBhbmdsZSwgcmdiYSgyNTUsMjU1LDI1NSwuMTUpIDI1JSwgdHJhbnNwYXJlbnQgMjUlLCB0cmFuc3BhcmVudCA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA1MCUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSA3NSUsIHRyYW5zcGFyZW50IDc1JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChAYW5nbGUsIHJnYmEoMjU1LDI1NSwyNTUsLjE1KSAyNSUsIHRyYW5zcGFyZW50IDI1JSwgdHJhbnNwYXJlbnQgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNTAlLCByZ2JhKDI1NSwyNTUsMjU1LC4xNSkgNzUlLCB0cmFuc3BhcmVudCA3NSUsIHRyYW5zcGFyZW50KTtcbiAgfVxufVxuLy8gUmVzZXQgZmlsdGVycyBmb3IgSUVcbi5yZXNldC1maWx0ZXIoKSB7XG4gIGZpbHRlcjogZSglKFwicHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KGVuYWJsZWQgPSBmYWxzZSlcIikpO1xufVxuXG5cblxuLy8gQ09NUE9ORU5UIE1JWElOU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSG9yaXpvbnRhbCBkaXZpZGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIGRyb3Bkb3ducyBhbmQgbmF2IGxpc3RzXG4ubmF2LWRpdmlkZXIoQHRvcDogI2U1ZTVlNSwgQGJvdHRvbTogQHdoaXRlKSB7XG4gIC8vIElFNyBuZWVkcyBhIHNldCB3aWR0aCBzaW5jZSB3ZSBnYXZlIGEgaGVpZ2h0LiBSZXN0cmljdGluZyBqdXN0XG4gIC8vIHRvIElFNyB0byBrZWVwIHRoZSAxcHggbGVmdC9yaWdodCBzcGFjZSBpbiBvdGhlciBicm93c2Vycy5cbiAgLy8gSXQgaXMgdW5jbGVhciB3aGVyZSBJRSBpcyBnZXR0aW5nIHRoZSBleHRyYSBzcGFjZSB0aGF0IHdlIG5lZWRcbiAgLy8gdG8gbmVnYXRpdmUtbWFyZ2luIGF3YXksIGJ1dCBzbyBpdCBnb2VzLlxuICAqd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46ICgoQGJhc2VMaW5lSGVpZ2h0IC8gMikgLSAxKSAxcHg7IC8vIDhweCAxcHhcbiAgKm1hcmdpbjogLTVweCAwIDVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHRvcDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIEBib3R0b207XG59XG5cbi8vIEJ1dHRvbiBiYWNrZ3JvdW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG4uYnV0dG9uQmFja2dyb3VuZChAc3RhcnRDb2xvciwgQGVuZENvbG9yLCBAdGV4dENvbG9yOiAjZmZmLCBAdGV4dFNoYWRvdzogMCAtMXB4IDAgcmdiYSgwLDAsMCwuMjUpKSB7XG4gIC8vIGdyYWRpZW50QmFyIHdpbGwgc2V0IHRoZSBiYWNrZ3JvdW5kIHRvIGEgcGxlYXNpbmcgYmxlbmQgb2YgdGhlc2UsIHRvIHN1cHBvcnQgSUU8PTlcbiAgLmdyYWRpZW50QmFyKEBzdGFydENvbG9yLCBAZW5kQ29sb3IsIEB0ZXh0Q29sb3IsIEB0ZXh0U2hhZG93KTtcbiAgKmJhY2tncm91bmQtY29sb3I6IEBlbmRDb2xvcjsgLyogRGFya2VuIElFNyBidXR0b25zIGJ5IGRlZmF1bHQgc28gdGhleSBzdGFuZCBvdXQgbW9yZSBnaXZlbiB0aGV5IHdvbid0IGhhdmUgYm9yZGVycyAqL1xuICAucmVzZXQtZmlsdGVyKCk7XG5cbiAgLy8gaW4gdGhlc2UgY2FzZXMgdGhlIGdyYWRpZW50IHdvbid0IGNvdmVyIHRoZSBiYWNrZ3JvdW5kLCBzbyB3ZSBvdmVycmlkZVxuICAmOmhvdmVyLCAmOmZvY3VzLCAmOmFjdGl2ZSwgJi5hY3RpdmUsICYuZGlzYWJsZWQsICZbZGlzYWJsZWRdIHtcbiAgICBjb2xvcjogQHRleHRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZW5kQ29sb3I7XG4gICAgKmJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAZW5kQ29sb3IsIDUlKTtcbiAgfVxuXG4gIC8vIElFIDcgKyA4IGNhbid0IGhhbmRsZSBib3gtc2hhZG93IHRvIHNob3cgYWN0aXZlLCBzbyB3ZSBkYXJrZW4gYSBiaXQgb3Vyc2VsdmVzXG4gICY6YWN0aXZlLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlbmRDb2xvciwgMTAlKSBlKFwiXFw5XCIpO1xuICB9XG59XG5cbi8vIE5hdmJhciB2ZXJ0aWNhbCBhbGlnblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gVmVydGljYWxseSBjZW50ZXIgZWxlbWVudHMgaW4gdGhlIG5hdmJhci5cbi8vIEV4YW1wbGU6IGFuIGVsZW1lbnQgaGFzIGEgaGVpZ2h0IG9mIDMwcHgsIHNvIHdyaXRlIG91dCBgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7YCB0byBjYWxjdWxhdGUgdGhlIGFwcHJvcHJpYXRlIHRvcCBtYXJnaW4uXG4ubmF2YmFyVmVydGljYWxBbGlnbihAZWxlbWVudEhlaWdodCkge1xuICBtYXJnaW4tdG9wOiAoQG5hdmJhckhlaWdodCAtIEBlbGVtZW50SGVpZ2h0KSAvIDI7XG59XG5cblxuXG4vLyBHcmlkIFN5c3RlbVxuLy8gLS0tLS0tLS0tLS1cblxuLy8gQ2VudGVyZWQgY29udGFpbmVyIGVsZW1lbnRcbi5jb250YWluZXItZml4ZWQoKSB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBUYWJsZSBjb2x1bW5zXG4udGFibGVDb2x1bW5zKEBjb2x1bW5TcGFuOiAxKSB7XG4gIGZsb2F0OiBub25lOyAvLyB1bmRvIGRlZmF1bHQgZ3JpZCBjb2x1bW4gc3R5bGVzXG4gIHdpZHRoOiAoKEBncmlkQ29sdW1uV2lkdGgpICogQGNvbHVtblNwYW4pICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtblNwYW4gLSAxKSkgLSAxNjsgLy8gMTYgaXMgdG90YWwgcGFkZGluZyBvbiBsZWZ0IGFuZCByaWdodCBvZiB0YWJsZSBjZWxsc1xuICBtYXJnaW4tbGVmdDogMDsgLy8gdW5kbyBkZWZhdWx0IGdyaWQgY29sdW1uIHN0eWxlc1xufVxuXG4vLyBNYWtlIGEgR3JpZFxuLy8gVXNlIC5tYWtlUm93IGFuZCAubWFrZUNvbHVtbiB0byBhc3NpZ24gc2VtYW50aWMgbGF5b3V0cyBncmlkIHN5c3RlbSBiZWhhdmlvclxuLm1ha2VSb3coKSB7XG4gIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoICogLTE7XG4gIC5jbGVhcmZpeCgpO1xufVxuLm1ha2VDb2x1bW4oQGNvbHVtbnM6IDEsIEBvZmZzZXQ6IDApIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBvZmZzZXQpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQG9mZnNldCAtIDEpKSArIChAZ3JpZEd1dHRlcldpZHRoICogMik7XG4gIHdpZHRoOiAoQGdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpO1xufVxuXG4vLyBUaGUgR3JpZFxuI2dyaWQge1xuXG4gIC5jb3JlIChAZ3JpZENvbHVtbldpZHRoLCBAZ3JpZEd1dHRlcldpZHRoKSB7XG5cbiAgICAuc3BhblggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLnNwYW5Ae2luZGV4fSB7IC5zcGFuKEBpbmRleCk7IH1cbiAgICAgIC5zcGFuWChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLnNwYW5YICgwKSB7fVxuXG4gICAgLm9mZnNldFggKEBpbmRleCkgd2hlbiAoQGluZGV4ID4gMCkge1xuICAgICAgLm9mZnNldEB7aW5kZXh9IHsgLm9mZnNldChAaW5kZXgpOyB9XG4gICAgICAub2Zmc2V0WChAaW5kZXggLSAxKTtcbiAgICB9XG4gICAgLm9mZnNldFggKDApIHt9XG5cbiAgICAub2Zmc2V0IChAY29sdW1ucykge1xuICAgICAgbWFyZ2luLWxlZnQ6IChAZ3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBncmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgKyAxKSk7XG4gICAgfVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBncmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKTtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoICogLTE7XG4gICAgICAuY2xlYXJmaXgoKTtcbiAgICB9XG5cbiAgICBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDFweDsgLy8gcHJldmVudCBjb2xsYXBzaW5nIGNvbHVtbnNcbiAgICAgIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoO1xuICAgIH1cblxuICAgIC8vIFNldCB0aGUgY29udGFpbmVyIHdpZHRoLCBhbmQgb3ZlcnJpZGUgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gbWVkaWEgcXVlcmllc1xuICAgIC5jb250YWluZXIsXG4gICAgLm5hdmJhci1zdGF0aWMtdG9wIC5jb250YWluZXIsXG4gICAgLm5hdmJhci1maXhlZC10b3AgLmNvbnRhaW5lcixcbiAgICAubmF2YmFyLWZpeGVkLWJvdHRvbSAuY29udGFpbmVyIHsgLnNwYW4oQGdyaWRDb2x1bW5zKTsgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YIGFuZCAub2Zmc2V0WFxuICAgIC5zcGFuWCAoQGdyaWRDb2x1bW5zKTtcbiAgICAub2Zmc2V0WCAoQGdyaWRDb2x1bW5zKTtcblxuICB9XG5cbiAgLmZsdWlkIChAZmx1aWRHcmlkQ29sdW1uV2lkdGgsIEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5vZmZzZXRYIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIC5vZmZzZXRAe2luZGV4fSB7IC5vZmZzZXQoQGluZGV4KTsgfVxuICAgICAgLm9mZnNldEB7aW5kZXh9OmZpcnN0LWNoaWxkIHsgLm9mZnNldEZpcnN0Q2hpbGQoQGluZGV4KTsgfVxuICAgICAgLm9mZnNldFgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5vZmZzZXRYICgwKSB7fVxuXG4gICAgLm9mZnNldCAoQGNvbHVtbnMpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAoQGZsdWlkR3JpZENvbHVtbldpZHRoICogQGNvbHVtbnMpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAqIChAY29sdW1ucyAtIDEpKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGgqMik7XG4gIFx0ICAqbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGgqMikgLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgIH1cblxuICAgIC5vZmZzZXRGaXJzdENoaWxkIChAY29sdW1ucykge1xuICAgICAgbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpICsgKEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCk7XG4gICAgICAqbWFyZ2luLWxlZnQ6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKSArIEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCAtICguNSAvIEBncmlkUm93V2lkdGggKiAxMDAgKiAxJSk7XG4gICAgfVxuXG4gICAgLnNwYW4gKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKEBmbHVpZEdyaWRDb2x1bW5XaWR0aCAqIEBjb2x1bW5zKSArIChAZmx1aWRHcmlkR3V0dGVyV2lkdGggKiAoQGNvbHVtbnMgLSAxKSk7XG4gICAgICAqd2lkdGg6IChAZmx1aWRHcmlkQ29sdW1uV2lkdGggKiBAY29sdW1ucykgKyAoQGZsdWlkR3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gKC41IC8gQGdyaWRSb3dXaWR0aCAqIDEwMCAqIDElKTtcbiAgICB9XG5cbiAgICAucm93LWZsdWlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLmNsZWFyZml4KCk7XG4gICAgICBbY2xhc3MqPVwic3BhblwiXSB7XG4gICAgICAgIC5pbnB1dC1ibG9jay1sZXZlbCgpO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiBAZmx1aWRHcmlkR3V0dGVyV2lkdGggLSAoLjUgLyBAZ3JpZFJvd1dpZHRoICogMTAwICogMSUpO1xuICAgICAgfVxuICAgICAgW2NsYXNzKj1cInNwYW5cIl06Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cblxuICAgICAgLy8gU3BhY2UgZ3JpZC1zaXplZCBjb250cm9scyBwcm9wZXJseSBpZiBtdWx0aXBsZSBwZXIgbGluZVxuICAgICAgLmNvbnRyb2xzLXJvdyBbY2xhc3MqPVwic3BhblwiXSArIFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IEBmbHVpZEdyaWRHdXR0ZXJXaWR0aDtcbiAgICAgIH1cblxuICAgICAgLy8gZ2VuZXJhdGUgLnNwYW5YIGFuZCAub2Zmc2V0WFxuICAgICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuICAgICAgLm9mZnNldFggKEBncmlkQ29sdW1ucyk7XG4gICAgfVxuXG4gIH1cblxuICAuaW5wdXQoQGdyaWRDb2x1bW5XaWR0aCwgQGdyaWRHdXR0ZXJXaWR0aCkge1xuXG4gICAgLnNwYW5YIChAaW5kZXgpIHdoZW4gKEBpbmRleCA+IDApIHtcbiAgICAgIGlucHV0LnNwYW5Ae2luZGV4fSwgdGV4dGFyZWEuc3BhbkB7aW5kZXh9LCAudW5lZGl0YWJsZS1pbnB1dC5zcGFuQHtpbmRleH0geyAuc3BhbihAaW5kZXgpOyB9XG4gICAgICAuc3BhblgoQGluZGV4IC0gMSk7XG4gICAgfVxuICAgIC5zcGFuWCAoMCkge31cblxuICAgIC5zcGFuKEBjb2x1bW5zKSB7XG4gICAgICB3aWR0aDogKChAZ3JpZENvbHVtbldpZHRoKSAqIEBjb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBjb2x1bW5zIC0gMSkpIC0gMTQ7XG4gICAgfVxuXG4gICAgaW5wdXQsXG4gICAgdGV4dGFyZWEsXG4gICAgLnVuZWRpdGFibGUtaW5wdXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IC8vIG92ZXJyaWRlIG1hcmdpbi1sZWZ0IGZyb20gY29yZSBncmlkIHN5c3RlbVxuICAgIH1cblxuICAgIC8vIFNwYWNlIGdyaWQtc2l6ZWQgY29udHJvbHMgcHJvcGVybHkgaWYgbXVsdGlwbGUgcGVyIGxpbmVcbiAgICAuY29udHJvbHMtcm93IFtjbGFzcyo9XCJzcGFuXCJdICsgW2NsYXNzKj1cInNwYW5cIl0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IEBncmlkR3V0dGVyV2lkdGg7XG4gICAgfVxuXG4gICAgLy8gZ2VuZXJhdGUgLnNwYW5YXG4gICAgLnNwYW5YIChAZ3JpZENvbHVtbnMpO1xuXG4gIH1cbn1cbiIsIi8vXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCb2R5IHJlc2V0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBAYmFzZUZvbnRGYW1pbHk7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgY29sb3I6IEB0ZXh0Q29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6IEBib2R5QmFja2dyb3VuZDtcbn1cblxuXG4vLyBMaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5hIHtcbiAgY29sb3I6IEBsaW5rQ29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbmE6aG92ZXIsXG5hOmZvY3VzIHtcbiAgY29sb3I6IEBsaW5rQ29sb3JIb3ZlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cblxuLy8gSW1hZ2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFJvdW5kZWQgY29ybmVyc1xuLmltZy1yb3VuZGVkIHtcbiAgLmJvcmRlci1yYWRpdXMoNnB4KTtcbn1cblxuLy8gQWRkIHBvbGFyb2lkLWVzcXVlIHRyaW1cbi5pbWctcG9sYXJvaWQge1xuICBwYWRkaW5nOiA0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwwLDAsLjIpO1xuICAuYm94LXNoYWRvdygwIDFweCAzcHggcmdiYSgwLDAsMCwuMSkpO1xufVxuXG4vLyBQZXJmZWN0IGNpcmNsZVxuLmltZy1jaXJjbGUge1xuICAuYm9yZGVyLXJhZGl1cyg1MDBweCk7IC8vIGNyYW5rIHRoZSBib3JkZXItcmFkaXVzIHNvIGl0IHdvcmtzIHdpdGggbW9zdCByZWFzb25hYmx5IHNpemVkIGltYWdlc1xufVxuIiwiLyoqKioqKioqKioqKioqKioqKlxuXG4gIENvbG9yIFBhbGV0dGVcblxuKioqKioqKioqKioqKioqKioqL1xuXG5cbkBsaW1lZ3JlZW46ICNiYmQ1NGI7XG5cbkBzZWFmb2FtZ3JlZW46ICMwMGE3OGQ7XG5cbkBjYWN0dXM6ICNhMWJmMjA7XG5cbkBza3libHVlOiAjN2RiNWQyO1xuXG5AbW9uYWNvYmx1ZTogIzI4NzE4ZDtcblxuQHJhaW55Z3JleTogIzY3Njg2ZTsgXG5cbkBtaWRuaWdodEJsdWU6ICMwNzQ1NWQ7XG5cbkBsZW1vbnplc3Q6ICNmY2NjMzE7XG5cbkBuZWN0YXJpbmU6ICNmNThkNTA7XG5cbkBidXJudG9yYW5nZTogI2UzNmEyNDtcblxuQHdldEFzcGhhbHQ6ICM0ODQ5NTE7XG5cbkBsaWdodHNsYXRlOiAjZjJmMmYyO1xuXG5AZGFya25pZ2h0OiMxMTJkMzk7XG5cbkBmb290ZXI6IzFmM2M0OTtcblxuQG5ld2JsdWU6IHJnYig0MCwxMTQsMTQxKTtcblxuQG5ld2dyZXk6ICByZ2IoMjMwLDIzMSwyMzIpO1xuXG5AYnRucHJpbWFyeTogcmdiKDQwLDExNCwxNDEpO1xuXG5AYnRuc2Vjb25kYXJ5OiByZ2IoNDAsMTE0LDE0MSk7XG5cbkBjYWxsb3V0Ymc6IHJnYigyMzAsIDIzMSwgMjMyKTtcblxuLyoqKioqKioqKioqKioqKioqXG5cbiAgVHlwZSBWYXJpYWJsZXMgXG5cbioqKioqKioqKioqKioqKioqKi9cblxuQHRleHRDb2xvcjogIEByYWlueWdyZXk7XG5cbkBoZWFkaW5nc0NvbG9yOiBAd2V0QXNwaGFsdDtcblxuQGxpbmtDb2xvcjogQHNlYWZvYW1ncmVlbjtcbkBsaW5rQ29sb3JIb3ZlcjogZGFya2VuKEBsaW5rQ29sb3IsIDUwJSk7XG5cbkBiYXNlRm9udFNpemU6IDE0cHg7XG5AYmFzZUVtOiAxNGVtOyBcbkBiYXNlTGluZUhlaWdodDogMS41ZW07IFxuXG5Ac2Fuc0ZvbnRGYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWY7XG5AYm9keUNvcHk6IFwiY2FudGFyZWxsXCIsc2Fucy1zZXJpZjtcblxuQHNwcml0ZVNoZWV0IDogdXJsKGltYWdlcy9zcHJpdGVzaGVldC5wbmcpIG5vLXJlcGVhdDtcbiIsIi8vXG4vLyBHcmlkIHN5c3RlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBGaXhlZCAoOTQwcHgpXG4jZ3JpZCA+IC5jb3JlKEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpO1xuXG4vLyBGbHVpZCAoOTQwcHgpXG4jZ3JpZCA+IC5mbHVpZChAZmx1aWRHcmlkQ29sdW1uV2lkdGgsIEBmbHVpZEdyaWRHdXR0ZXJXaWR0aCk7XG5cbi8vIFJlc2V0IHV0aWxpdHkgY2xhc3NlcyBkdWUgdG8gc3BlY2lmaWNpdHlcbltjbGFzcyo9XCJzcGFuXCJdLmhpZGUsXG4ucm93LWZsdWlkIFtjbGFzcyo9XCJzcGFuXCJdLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG5bY2xhc3MqPVwic3BhblwiXS5wdWxsLXJpZ2h0LFxuLnJvdy1mbHVpZCBbY2xhc3MqPVwic3BhblwiXS5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuIiwiLy9cbi8vIExheW91dHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ29udGFpbmVyIChjZW50ZXJlZCwgZml4ZWQtd2lkdGggbGF5b3V0cylcbi5jb250YWluZXIge1xuICAuY29udGFpbmVyLWZpeGVkKCk7XG59XG5cbi8vIEZsdWlkIGxheW91dHMgKGxlZnQgYWxpZ25lZCwgd2l0aCBzaWRlYmFyLCBtaW4tICYgbWF4LXdpZHRoIGNvbnRlbnQpXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgcGFkZGluZy1yaWdodDogQGdyaWRHdXR0ZXJXaWR0aDtcbiAgcGFkZGluZy1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoO1xuICAuY2xlYXJmaXgoKTtcbn0iLCIvL1xuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCb2R5IHRleHRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxucCB7XG4gIG1hcmdpbjogMCAwIEBiYXNlTGluZUhlaWdodCAvIDI7XG59XG4ubGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMS41O1xuICBmb250LXdlaWdodDogMjAwO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0ICogMS41O1xufVxuXG5cbi8vIEVtcGhhc2lzICYgbWlzY1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBFeDogMTRweCBiYXNlIGZvbnQgKiA4NSUgPSBhYm91dCAxMnB4XG5zbWFsbCAgIHsgZm9udC1zaXplOiA4NSU7IH1cblxuc3Ryb25nICB7IGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5lbSAgICAgIHsgZm9udC1zdHlsZTogaXRhbGljOyB9XG5jaXRlICAgIHsgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8vIFV0aWxpdHkgY2xhc3Nlc1xuLm11dGVkICAgICAgICAgICAgICAgeyBjb2xvcjogQGdyYXlMaWdodDsgfVxuYS5tdXRlZDpob3ZlcixcbmEubXV0ZWQ6Zm9jdXMgICAgICAgIHsgY29sb3I6IGRhcmtlbihAZ3JheUxpZ2h0LCAxMCUpOyB9XG5cbi50ZXh0LXdhcm5pbmcgICAgICAgIHsgY29sb3I6IEB3YXJuaW5nVGV4dDsgfVxuYS50ZXh0LXdhcm5pbmc6aG92ZXIsXG5hLnRleHQtd2FybmluZzpmb2N1cyB7IGNvbG9yOiBkYXJrZW4oQHdhcm5pbmdUZXh0LCAxMCUpOyB9XG5cbi50ZXh0LWVycm9yICAgICAgICAgIHsgY29sb3I6IEBlcnJvclRleHQ7IH1cbmEudGV4dC1lcnJvcjpob3ZlcixcbmEudGV4dC1lcnJvcjpmb2N1cyAgIHsgY29sb3I6IGRhcmtlbihAZXJyb3JUZXh0LCAxMCUpOyB9XG5cbi50ZXh0LWluZm8gICAgICAgICAgIHsgY29sb3I6IEBpbmZvVGV4dDsgfVxuYS50ZXh0LWluZm86aG92ZXIsXG5hLnRleHQtaW5mbzpmb2N1cyAgICB7IGNvbG9yOiBkYXJrZW4oQGluZm9UZXh0LCAxMCUpOyB9XG5cbi50ZXh0LXN1Y2Nlc3MgICAgICAgIHsgY29sb3I6IEBzdWNjZXNzVGV4dDsgfVxuYS50ZXh0LXN1Y2Nlc3M6aG92ZXIsXG5hLnRleHQtc3VjY2Vzczpmb2N1cyB7IGNvbG9yOiBkYXJrZW4oQHN1Y2Nlc3NUZXh0LCAxMCUpOyB9XG5cbi50ZXh0LWxlZnQgICAgICAgICAgIHsgdGV4dC1hbGlnbjogbGVmdDsgfVxuLnRleHQtcmlnaHQgICAgICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxuLnRleHQtY2VudGVyICAgICAgICAgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuXG4vLyBIZWFkaW5nc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luOiAoQGJhc2VMaW5lSGVpZ2h0IC8gMikgMDtcbiAgZm9udC1mYW1pbHk6IEBoZWFkaW5nc0ZvbnRGYW1pbHk7XG4gIGZvbnQtd2VpZ2h0OiBAaGVhZGluZ3NGb250V2VpZ2h0O1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICBjb2xvcjogQGhlYWRpbmdzQ29sb3I7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZWxlZ2liaWxpdHk7IC8vIEZpeCB0aGUgY2hhcmFjdGVyIHNwYWNpbmcgZm9yIGhlYWRpbmdzXG4gIHNtYWxsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICB9XG59XG5cbmgxLFxuaDIsXG5oMyB7IGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQgKiAyOyB9XG5cbmgxIHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMi43NTsgfSAvLyB+MzhweFxuaDIgeyBmb250LXNpemU6IEBiYXNlRm9udFNpemUgKiAyLjI1OyB9IC8vIH4zMnB4XG5oMyB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuNzU7IH0gLy8gfjI0cHhcbmg0IHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMS4yNTsgfSAvLyB+MThweFxuaDUgeyBmb250LXNpemU6IEBiYXNlRm9udFNpemU7IH1cbmg2IHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMC44NTsgfSAvLyB+MTJweFxuXG5oMSBzbWFsbCB7IGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuNzU7IH0gLy8gfjI0cHhcbmgyIHNtYWxsIHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplICogMS4yNTsgfSAvLyB+MThweFxuaDMgc21hbGwgeyBmb250LXNpemU6IEBiYXNlRm9udFNpemU7IH1cbmg0IHNtYWxsIHsgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplOyB9XG5cblxuLy8gUGFnZSBoZWFkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnBhZ2UtaGVhZGVyIHtcbiAgcGFkZGluZy1ib3R0b206IChAYmFzZUxpbmVIZWlnaHQgLyAyKSAtIDE7XG4gIG1hcmdpbjogQGJhc2VMaW5lSGVpZ2h0IDAgKEBiYXNlTGluZUhlaWdodCAqIDEuNSk7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG59XG5cblxuXG4vLyBMaXN0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gVW5vcmRlcmVkIGFuZCBPcmRlcmVkIGxpc3RzXG51bCwgb2wge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDAgMCBAYmFzZUxpbmVIZWlnaHQgLyAyIDI1cHg7XG59XG51bCB1bCxcbnVsIG9sLFxub2wgb2wsXG5vbCB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG5saSB7XG4gIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG59XG5cbi8vIFJlbW92ZSBkZWZhdWx0IGxpc3Qgc3R5bGVzXG51bC51bnN0eWxlZCxcbm9sLnVuc3R5bGVkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8vIFNpbmdsZS1saW5lIGxpc3QgaXRlbXNcbnVsLmlubGluZSxcbm9sLmlubGluZSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLmllNy1pbmxpbmUtYmxvY2soKTtcbiAgICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gIH1cbn1cblxuLy8gRGVzY3JpcHRpb24gTGlzdHNcbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xufVxuZHQsXG5kZCB7XG4gIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG59XG5kdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuZGQge1xuICBtYXJnaW4tbGVmdDogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbn1cbi8vIEhvcml6b250YWwgbGF5b3V0IChsaWtlIGZvcm1zKVxuLmRsLWhvcml6b250YWwge1xuICAuY2xlYXJmaXgoKTsgLy8gRW5zdXJlIGRsIGNsZWFycyBmbG9hdHMgaWYgZW1wdHkgZGQgZWxlbWVudHMgcHJlc2VudFxuICBkdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IEBob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0IC0gMjA7XG4gICAgY2xlYXI6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgLnRleHQtb3ZlcmZsb3coKTtcbiAgfVxuICBkZCB7XG4gICAgbWFyZ2luLWxlZnQ6IEBob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0O1xuICB9XG59XG5cbi8vIE1JU0Ncbi8vIC0tLS1cblxuLy8gSG9yaXpvbnRhbCBydWxlc1xuaHIge1xuICBtYXJnaW46IEBiYXNlTGluZUhlaWdodCAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBAaHJCb3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBAd2hpdGU7XG59XG5cbi8vIEFiYnJldmlhdGlvbnMgYW5kIGFjcm9ueW1zXG5hYmJyW3RpdGxlXSxcbi8vIEFkZGVkIGRhdGEtKiBhdHRyaWJ1dGUgdG8gaGVscCBvdXQgb3VyIHRvb2x0aXAgcGx1Z2luLCBwZXIgaHR0cHM6Ly9naXRodWIuY29tL3R3aXR0ZXIvYm9vdHN0cmFwL2lzc3Vlcy81MjU3XG5hYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkIEBncmF5TGlnaHQ7XG59XG5hYmJyLmluaXRpYWxpc20ge1xuICBmb250LXNpemU6IDkwJTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLy8gQmxvY2txdW90ZXNcbmJsb2NrcXVvdGUge1xuICBwYWRkaW5nOiAwIDAgMCAxNXB4O1xuICBtYXJnaW46IDAgMCBAYmFzZUxpbmVIZWlnaHQ7XG4gIGJvcmRlci1sZWZ0OiA1cHggc29saWQgQGdyYXlMaWdodGVyO1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuMjU7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxuICBzbWFsbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgICBjb2xvcjogQGdyYXlMaWdodDtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDBBMCc7XG4gICAgfVxuICB9XG5cbiAgLy8gRmxvYXQgcmlnaHQgd2l0aCB0ZXh0LWFsaWduOiByaWdodFxuICAmLnB1bGwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDVweCBzb2xpZCBAZ3JheUxpZ2h0ZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgcCxcbiAgICBzbWFsbCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgc21hbGwge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnXFwwMEEwIFxcMjAxNCc7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFF1b3Rlc1xucTpiZWZvcmUsXG5xOmFmdGVyLFxuYmxvY2txdW90ZTpiZWZvcmUsXG5ibG9ja3F1b3RlOmFmdGVyIHtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLy8gQWRkcmVzc2VzXG5hZGRyZXNzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xufVxuIiwiLy9cbi8vIEZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEdFTkVSQUwgU1RZTEVTXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlIGFsbCBmb3JtcyBoYXZlIHNwYWNlIGJlbG93IHRoZW1cbmZvcm0ge1xuICBtYXJnaW46IDAgMCBAYmFzZUxpbmVIZWlnaHQ7XG59XG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIEdyb3VwcyBvZiBmaWVsZHMgd2l0aCBsYWJlbHMgb24gdG9wIChsZWdlbmRzKVxubGVnZW5kIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIDEuNTtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodCAqIDI7XG4gIGNvbG9yOiBAZ3JheURhcms7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNWU1ZTU7XG5cbiAgLy8gU21hbGxcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogQGJhc2VMaW5lSGVpZ2h0ICogLjc1O1xuICAgIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICB9XG59XG5cbi8vIFNldCBmb250IGZvciBmb3Jtc1xubGFiZWwsXG5pbnB1dCxcbmJ1dHRvbixcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgI2ZvbnQgPiAuc2hvcnRoYW5kKEBiYXNlRm9udFNpemUsbm9ybWFsLEBiYXNlTGluZUhlaWdodCk7IC8vIFNldCBzaXplLCB3ZWlnaHQsIGxpbmUtaGVpZ2h0IGhlcmVcbn1cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogQGJhc2VGb250RmFtaWx5OyAvLyBBbmQgb25seSBzZXQgZm9udC1mYW1pbHkgaGVyZSBmb3IgdGhvc2UgdGhhdCBuZWVkIGl0IChub3RlIHRoZSBtaXNzaW5nIGxhYmVsIGVsZW1lbnQpXG59XG5cbi8vIElkZW50aWZ5IGNvbnRyb2xzIGJ5IHRoZWlyIGxhYmVsc1xubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xufVxuXG4vLyBGb3JtIGNvbnRyb2xzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFNoYXJlZCBzaXplIGFuZCB0eXBlIHJlc2V0c1xuc2VsZWN0LFxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udW5lZGl0YWJsZS1pbnB1dCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIHBhZGRpbmc6IDRweCA2cHg7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodCAvIDI7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgY29sb3I6IEBncmF5O1xuICAuYm9yZGVyLXJhZGl1cyhAaW5wdXRCb3JkZXJSYWRpdXMpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4vLyBSZXNldCBhcHBlYXJhbmNlIHByb3BlcnRpZXMgZm9yIHRleHR1YWwgaW5wdXRzIGFuZCB0ZXh0YXJlYVxuLy8gRGVjbGFyZSB3aWR0aCBmb3IgbGVnYWN5IChjYW4ndCBiZSBvbiBpbnB1dFt0eXBlPSpdIHNlbGVjdG9ycyBvciBpdCdzIHRvbyBzcGVjaWZpYylcbmlucHV0LFxudGV4dGFyZWEsXG4udW5lZGl0YWJsZS1pbnB1dCB7XG4gIHdpZHRoOiAyMDZweDsgLy8gcGx1cyAxMnB4IHBhZGRpbmcgYW5kIDJweCBib3JkZXJcbn1cbi8vIFJlc2V0IGhlaWdodCBzaW5jZSB0ZXh0YXJlYXMgaGF2ZSByb3dzXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbn1cbi8vIEV2ZXJ5dGhpbmcgZWxzZVxudGV4dGFyZWEsXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZVwiXSxcbmlucHV0W3R5cGU9XCJkYXRldGltZS1sb2NhbFwiXSxcbmlucHV0W3R5cGU9XCJkYXRlXCJdLFxuaW5wdXRbdHlwZT1cIm1vbnRoXCJdLFxuaW5wdXRbdHlwZT1cInRpbWVcIl0sXG5pbnB1dFt0eXBlPVwid2Vla1wiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwidXJsXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0sXG4udW5lZGl0YWJsZS1pbnB1dCB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dEJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBpbnB1dEJvcmRlcjtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA3NSkpO1xuICAudHJhbnNpdGlvbih+XCJib3JkZXIgbGluZWFyIC4ycywgYm94LXNoYWRvdyBsaW5lYXIgLjJzXCIpO1xuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg4MiwxNjgsMjM2LC44KTtcbiAgICBvdXRsaW5lOiAwO1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkIFxcOTsgLyogSUU2LTkgKi9cbiAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KSwgMCAwIDhweCByZ2JhKDgyLDE2OCwyMzYsLjYpXCIpO1xuICB9XG59XG5cbi8vIFBvc2l0aW9uIHJhZGlvcyBhbmQgY2hlY2tib3hlcyBiZXR0ZXJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbjogNHB4IDAgMDtcbiAgKm1hcmdpbi10b3A6IDA7IC8qIElFNyAqL1xuICBtYXJnaW4tdG9wOiAxcHggXFw5OyAvKiBJRTgtOSAqL1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vLyBSZXNldCB3aWR0aCBvZiBpbnB1dCBpbWFnZXMsIGJ1dHRvbnMsIHJhZGlvcywgY2hlY2tib3hlc1xuaW5wdXRbdHlwZT1cImZpbGVcIl0sXG5pbnB1dFt0eXBlPVwiaW1hZ2VcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHdpZHRoOiBhdXRvOyAvLyBPdmVycmlkZSBvZiBnZW5lcmljIGlucHV0IHNlbGVjdG9yXG59XG5cbi8vIFNldCB0aGUgaGVpZ2h0IG9mIHNlbGVjdCBhbmQgZmlsZSBjb250cm9scyB0byBtYXRjaCB0ZXh0IGlucHV0c1xuc2VsZWN0LFxuaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xuICBoZWlnaHQ6IEBpbnB1dEhlaWdodDsgLyogSW4gSUU3LCB0aGUgaGVpZ2h0IG9mIHRoZSBzZWxlY3QgZWxlbWVudCBjYW5ub3QgYmUgY2hhbmdlZCBieSBoZWlnaHQsIG9ubHkgZm9udC1zaXplICovXG4gICptYXJnaW4tdG9wOiA0cHg7IC8qIEZvciBJRTcsIGFkZCB0b3AgbWFyZ2luIHRvIGFsaWduIHNlbGVjdCB3aXRoIGxhYmVscyAqL1xuICBsaW5lLWhlaWdodDogQGlucHV0SGVpZ2h0O1xufVxuXG4vLyBNYWtlIHNlbGVjdCBlbGVtZW50cyBvYmV5IGhlaWdodCBieSBhcHBseWluZyBhIGJvcmRlclxuc2VsZWN0IHtcbiAgd2lkdGg6IDIyMHB4OyAvLyBkZWZhdWx0IGlucHV0IHdpZHRoICsgMTBweCBvZiBwYWRkaW5nIHRoYXQgZG9lc24ndCBnZXQgYXBwbGllZFxuICBib3JkZXI6IDFweCBzb2xpZCBAaW5wdXRCb3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dEJhY2tncm91bmQ7IC8vIENocm9tZSBvbiBMaW51eCBhbmQgTW9iaWxlIFNhZmFyaSBuZWVkIGJhY2tncm91bmQtY29sb3Jcbn1cblxuLy8gTWFrZSBtdWx0aXBsZSBzZWxlY3QgZWxlbWVudHMgaGVpZ2h0IG5vdCBmaXhlZFxuc2VsZWN0W211bHRpcGxlXSxcbnNlbGVjdFtzaXplXSB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLy8gRm9jdXMgZm9yIHNlbGVjdCwgZmlsZSwgcmFkaW8sIGFuZCBjaGVja2JveFxuc2VsZWN0OmZvY3VzLFxuaW5wdXRbdHlwZT1cImZpbGVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMge1xuICAudGFiLWZvY3VzKCk7XG59XG5cblxuLy8gVW5lZGl0YWJsZSBpbnB1dHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSB1bmVkaXRhYmxlIGlucHV0cyBsb29rIGluYWN0aXZlXG4udW5lZGl0YWJsZS1pbnB1dCxcbi51bmVkaXRhYmxlLXRleHRhcmVhIHtcbiAgY29sb3I6IEBncmF5TGlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW5wdXRCYWNrZ3JvdW5kLCAxJSk7XG4gIGJvcmRlci1jb2xvcjogQGlucHV0Qm9yZGVyO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDI1KSk7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbi8vIEZvciB0ZXh0IHRoYXQgbmVlZHMgdG8gYXBwZWFyIGFzIGFuIGlucHV0IGJ1dCBzaG91bGQgbm90IGJlIGFuIGlucHV0XG4udW5lZGl0YWJsZS1pbnB1dCB7XG4gIG92ZXJmbG93OiBoaWRkZW47IC8vIHByZXZlbnQgdGV4dCBmcm9tIHdyYXBwaW5nLCBidXQgc3RpbGwgY3V0IGl0IG9mZiBsaWtlIGFuIGlucHV0IGRvZXNcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gTWFrZSB1bmVkaXRhYmxlIHRleHRhcmVhcyBiZWhhdmUgbGlrZSBhIHRleHRhcmVhXG4udW5lZGl0YWJsZS10ZXh0YXJlYSB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cblxuLy8gUGxhY2Vob2xkZXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUGxhY2Vob2xkZXIgdGV4dCBnZXRzIHNwZWNpYWwgc3R5bGVzIGJlY2F1c2Ugd2hlbiBicm93c2VycyBpbnZhbGlkYXRlIGVudGlyZSBsaW5lcyBpZiBpdCBkb2Vzbid0IHVuZGVyc3RhbmQgYSBzZWxlY3RvclxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIC5wbGFjZWhvbGRlcigpO1xufVxuXG5cbi8vIENIRUNLQk9YRVMgJiBSQURJT1Ncbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gSW5kZW50IHRoZSBsYWJlbHMgdG8gcG9zaXRpb24gcmFkaW9zL2NoZWNrYm94ZXMgYXMgaGFuZ2luZ1xuLnJhZGlvLFxuLmNoZWNrYm94IHtcbiAgbWluLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0OyAvLyBjbGVhciB0aGUgZmxvYXRpbmcgaW5wdXQgaWYgdGhlcmUgaXMgbm8gbGFiZWwgdGV4dFxuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG4ucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmNoZWNrYm94IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG5cbi8vIE1vdmUgdGhlIG9wdGlvbnMgbGlzdCBkb3duIHRvIGFsaWduIHdpdGggbGFiZWxzXG4uY29udHJvbHMgPiAucmFkaW86Zmlyc3QtY2hpbGQsXG4uY29udHJvbHMgPiAuY2hlY2tib3g6Zmlyc3QtY2hpbGQge1xuICBwYWRkaW5nLXRvcDogNXB4OyAvLyBoYXMgdG8gYmUgcGFkZGluZyBiZWNhdXNlIG1hcmdpbiBjb2xsYXNwZXNcbn1cblxuLy8gUmFkaW9zIGFuZCBjaGVja2JveGVzIG9uIHNhbWUgbGluZVxuLy8gVE9ETyB2MzogQ29udmVydCAuaW5saW5lIHRvIC5jb250cm9sLWlubGluZVxuLnJhZGlvLmlubGluZSxcbi5jaGVja2JveC5pbmxpbmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA1cHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG4ucmFkaW8uaW5saW5lICsgLnJhZGlvLmlubGluZSxcbi5jaGVja2JveC5pbmxpbmUgKyAuY2hlY2tib3guaW5saW5lIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7IC8vIHNwYWNlIG91dCBjb25zZWN1dGl2ZSBpbmxpbmUgY29udHJvbHNcbn1cblxuXG5cbi8vIElOUFVUIFNJWkVTXG4vLyAtLS0tLS0tLS0tLVxuXG4vLyBHZW5lcmFsIGNsYXNzZXMgZm9yIHF1aWNrIHNpemVzXG4uaW5wdXQtbWluaSAgICAgICB7IHdpZHRoOiA2MHB4OyB9XG4uaW5wdXQtc21hbGwgICAgICB7IHdpZHRoOiA5MHB4OyB9XG4uaW5wdXQtbWVkaXVtICAgICB7IHdpZHRoOiAxNTBweDsgfVxuLmlucHV0LWxhcmdlICAgICAgeyB3aWR0aDogMjEwcHg7IH1cbi5pbnB1dC14bGFyZ2UgICAgIHsgd2lkdGg6IDI3MHB4OyB9XG4uaW5wdXQteHhsYXJnZSAgICB7IHdpZHRoOiA1MzBweDsgfVxuXG4vLyBHcmlkIHN0eWxlIGlucHV0IHNpemVzXG5pbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuc2VsZWN0W2NsYXNzKj1cInNwYW5cIl0sXG50ZXh0YXJlYVtjbGFzcyo9XCJzcGFuXCJdLFxuLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcbi8vIFJlZGVjbGFyZSBzaW5jZSB0aGUgZmx1aWQgcm93IGNsYXNzIGlzIG1vcmUgc3BlY2lmaWNcbi5yb3ctZmx1aWQgaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgc2VsZWN0W2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIHRleHRhcmVhW2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIC51bmVkaXRhYmxlLWlucHV0W2NsYXNzKj1cInNwYW5cIl0ge1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBFbnN1cmUgaW5wdXQtcHJlcGVuZC9hcHBlbmQgbmV2ZXIgd3JhcHNcbi5pbnB1dC1hcHBlbmQgaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcbi5pbnB1dC1hcHBlbmQgLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcbi5pbnB1dC1wcmVwZW5kIGlucHV0W2NsYXNzKj1cInNwYW5cIl0sXG4uaW5wdXQtcHJlcGVuZCAudW5lZGl0YWJsZS1pbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCBpbnB1dFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCBzZWxlY3RbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgdGV4dGFyZWFbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgLnVuZWRpdGFibGUtaW5wdXRbY2xhc3MqPVwic3BhblwiXSxcbi5yb3ctZmx1aWQgLmlucHV0LXByZXBlbmQgW2NsYXNzKj1cInNwYW5cIl0sXG4ucm93LWZsdWlkIC5pbnB1dC1hcHBlbmQgW2NsYXNzKj1cInNwYW5cIl0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuXG4vLyBHUklEIFNJWklORyBGT1IgSU5QVVRTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEdyaWQgc2l6ZXNcbiNncmlkID4gLmlucHV0KEBncmlkQ29sdW1uV2lkdGgsIEBncmlkR3V0dGVyV2lkdGgpO1xuXG4vLyBDb250cm9sIHJvdyBmb3IgbXVsdGlwbGUgaW5wdXRzIHBlciBsaW5lXG4uY29udHJvbHMtcm93IHtcbiAgLmNsZWFyZml4KCk7IC8vIENsZWFyIHRoZSBmbG9hdCBmcm9tIGNvbnRyb2xzXG59XG5cbi8vIEZsb2F0IHRvIGNvbGxhcHNlIHdoaXRlLXNwYWNlIGZvciBwcm9wZXIgZ3JpZCBhbGlnbm1lbnRcbi5jb250cm9scy1yb3cgW2NsYXNzKj1cInNwYW5cIl0sXG4vLyBSZWRlY2xhcmUgdGhlIGZsdWlkIGdyaWQgY29sbGFwc2Ugc2luY2Ugd2UgdW5kbyB0aGUgZmxvYXQgZm9yIGlucHV0c1xuLnJvdy1mbHVpZCAuY29udHJvbHMtcm93IFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4vLyBFeHBsaWNpdHkgc2V0IHRvcCBwYWRkaW5nIG9uIGFsbCBjaGVja2JveGVzL3JhZGlvcywgbm90IGp1c3QgZmlyc3QtY2hpbGRcbi5jb250cm9scy1yb3cgLmNoZWNrYm94W2NsYXNzKj1cInNwYW5cIl0sXG4uY29udHJvbHMtcm93IC5yYWRpb1tjbGFzcyo9XCJzcGFuXCJdIHtcbiAgcGFkZGluZy10b3A6IDVweDtcbn1cblxuXG5cblxuLy8gRElTQUJMRUQgU1RBVEVcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vIERpc2FibGVkIGFuZCByZWFkLW9ubHkgaW5wdXRzXG5pbnB1dFtkaXNhYmxlZF0sXG5zZWxlY3RbZGlzYWJsZWRdLFxudGV4dGFyZWFbZGlzYWJsZWRdLFxuaW5wdXRbcmVhZG9ubHldLFxuc2VsZWN0W3JlYWRvbmx5XSxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBpbnB1dERpc2FibGVkQmFja2dyb3VuZDtcbn1cbi8vIEV4cGxpY2l0bHkgcmVzZXQgdGhlIGNvbG9ycyBoZXJlXG5pbnB1dFt0eXBlPVwicmFkaW9cIl1bZGlzYWJsZWRdLFxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdW2Rpc2FibGVkXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXVtyZWFkb25seV0sXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl1bcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cblxuXG5cbi8vIEZPUk0gRklFTEQgRkVFREJBQ0sgU1RBVEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBXYXJuaW5nXG4uY29udHJvbC1ncm91cC53YXJuaW5nIHtcbiAgLmZvcm1GaWVsZFN0YXRlKEB3YXJuaW5nVGV4dCwgQHdhcm5pbmdUZXh0LCBAd2FybmluZ0JhY2tncm91bmQpO1xufVxuLy8gRXJyb3Jcbi5jb250cm9sLWdyb3VwLmVycm9yIHtcbiAgLmZvcm1GaWVsZFN0YXRlKEBlcnJvclRleHQsIEBlcnJvclRleHQsIEBlcnJvckJhY2tncm91bmQpO1xufVxuLy8gU3VjY2Vzc1xuLmNvbnRyb2wtZ3JvdXAuc3VjY2VzcyB7XG4gIC5mb3JtRmllbGRTdGF0ZShAc3VjY2Vzc1RleHQsIEBzdWNjZXNzVGV4dCwgQHN1Y2Nlc3NCYWNrZ3JvdW5kKTtcbn1cbi8vIFN1Y2Nlc3Ncbi5jb250cm9sLWdyb3VwLmluZm8ge1xuICAuZm9ybUZpZWxkU3RhdGUoQGluZm9UZXh0LCBAaW5mb1RleHQsIEBpbmZvQmFja2dyb3VuZCk7XG59XG5cbi8vIEhUTUw1IGludmFsaWQgc3RhdGVzXG4vLyBTaGFyZXMgc3R5bGVzIHdpdGggdGhlIC5jb250cm9sLWdyb3VwLmVycm9yIGFib3ZlXG5pbnB1dDpmb2N1czppbnZhbGlkLFxudGV4dGFyZWE6Zm9jdXM6aW52YWxpZCxcbnNlbGVjdDpmb2N1czppbnZhbGlkIHtcbiAgY29sb3I6ICNiOTRhNDg7XG4gIGJvcmRlci1jb2xvcjogI2VlNWY1YjtcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiBkYXJrZW4oI2VlNWY1YiwgMTAlKTtcbiAgICBAc2hhZG93OiAwIDAgNnB4IGxpZ2h0ZW4oI2VlNWY1YiwgMjAlKTtcbiAgICAuYm94LXNoYWRvdyhAc2hhZG93KTtcbiAgfVxufVxuXG5cblxuLy8gRk9STSBBQ1RJT05TXG4vLyAtLS0tLS0tLS0tLS1cblxuLmZvcm0tYWN0aW9ucyB7XG4gIHBhZGRpbmc6IChAYmFzZUxpbmVIZWlnaHQgLSAxKSAyMHB4IEBiYXNlTGluZUhlaWdodDtcbiAgbWFyZ2luLXRvcDogQGJhc2VMaW5lSGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6IEBmb3JtQWN0aW9uc0JhY2tncm91bmQ7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAuY2xlYXJmaXgoKTsgLy8gQWRkaW5nIGNsZWFyZml4IHRvIGFsbG93IGZvciAucHVsbC1yaWdodCBidXR0b24gY29udGFpbmVyc1xufVxuXG5cblxuLy8gSEVMUCBURVhUXG4vLyAtLS0tLS0tLS1cblxuLmhlbHAtYmxvY2ssXG4uaGVscC1pbmxpbmUge1xuICBjb2xvcjogbGlnaHRlbihAdGV4dENvbG9yLCAxNSUpOyAvLyBsaWdodGVuIHRoZSB0ZXh0IHNvbWUgZm9yIGNvbnRyYXN0XG59XG5cbi5oZWxwLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7IC8vIGFjY291bnQgZm9yIGFueSBlbGVtZW50IHVzaW5nIGhlbHAtYmxvY2tcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbn1cblxuLmhlbHAtaW5saW5lIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAuaWU3LWlubGluZS1ibG9jaygpO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbn1cblxuXG5cbi8vIElOUFVUIEdST1VQU1xuLy8gLS0tLS0tLS0tLS0tXG5cbi8vIEFsbG93IHVzIHRvIHB1dCBzeW1ib2xzIGFuZCB0ZXh0IHdpdGhpbiB0aGUgaW5wdXQgZmllbGQgZm9yIGEgY2xlYW5lciBsb29rXG4uaW5wdXQtYXBwZW5kLFxuLmlucHV0LXByZXBlbmQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodCAvIDI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZvbnQtc2l6ZTogMDsgLy8gd2hpdGUgc3BhY2UgY29sbGFwc2UgaGFja1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvLyBQcmV2ZW50IHNwYW4gYW5kIGlucHV0IGZyb20gc2VwYXJhdGluZ1xuXG4gIC8vIFJlc2V0IHRoZSB3aGl0ZSBzcGFjZSBjb2xsYXBzZSBoYWNrXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIC51bmVkaXRhYmxlLWlucHV0LFxuICAuZHJvcGRvd24tbWVudSxcbiAgLnBvcG92ZXIge1xuICAgIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTtcbiAgfVxuXG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIC51bmVkaXRhYmxlLWlucHV0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IC8vIHBsYWNlZCBoZXJlIGJ5IGRlZmF1bHQgc28gdGhhdCBvbiA6Zm9jdXMgd2UgY2FuIHBsYWNlIHRoZSBpbnB1dCBhYm92ZSB0aGUgLmFkZC1vbiBmb3IgZnVsbCBib3JkZXIgYW5kIGJveC1zaGFkb3cgZ29vZG5lc3NcbiAgICBtYXJnaW4tYm90dG9tOiAwOyAvLyBwcmV2ZW50IGJvdHRvbSBtYXJnaW4gZnJvbSBzY3Jld2luZyB1cCBhbGlnbm1lbnQgaW4gc3RhY2tlZCBmb3Jtc1xuICAgICptYXJnaW4tbGVmdDogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIC5ib3JkZXItcmFkaXVzKDAgQGlucHV0Qm9yZGVyUmFkaXVzIEBpbnB1dEJvcmRlclJhZGl1cyAwKTtcbiAgICAvLyBNYWtlIGlucHV0IG9uIHRvcCB3aGVuIGZvY3VzZWQgc28gYmx1ZSBib3JkZXIgYW5kIHNoYWRvdyBhbHdheXMgc2hvd1xuICAgICY6Zm9jdXMge1xuICAgICAgei1pbmRleDogMjtcbiAgICB9XG4gIH1cbiAgLmFkZC1vbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICAgIG1pbi13aWR0aDogMTZweDtcbiAgICBwYWRkaW5nOiA0cHggNXB4O1xuICAgIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAwIEB3aGl0ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAZ3JheUxpZ2h0ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgfVxuICAuYWRkLW9uLFxuICAuYnRuLFxuICAuYnRuLWdyb3VwID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAuYm9yZGVyLXJhZGl1cygwKTtcbiAgfVxuICAuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKEBncmVlbiwgMzApO1xuICAgIGJvcmRlci1jb2xvcjogQGdyZWVuO1xuICB9XG59XG5cbi5pbnB1dC1wcmVwZW5kIHtcbiAgLmFkZC1vbixcbiAgLmJ0biB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICB9XG4gIC5hZGQtb246Zmlyc3QtY2hpbGQsXG4gIC5idG46Zmlyc3QtY2hpbGQge1xuICAgIC8vIEZZSSwgYC5idG46Zmlyc3QtY2hpbGRgIGFjY291bnRzIGZvciBhIGJ1dHRvbiBncm91cCB0aGF0J3MgcHJlcGVuZGVkXG4gICAgLmJvcmRlci1yYWRpdXMoQGlucHV0Qm9yZGVyUmFkaXVzIDAgMCBAaW5wdXRCb3JkZXJSYWRpdXMpO1xuICB9XG59XG5cbi5pbnB1dC1hcHBlbmQge1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICAudW5lZGl0YWJsZS1pbnB1dCB7XG4gICAgLmJvcmRlci1yYWRpdXMoQGlucHV0Qm9yZGVyUmFkaXVzIDAgMCBAaW5wdXRCb3JkZXJSYWRpdXMpO1xuICAgICsgLmJ0bi1ncm91cCAuYnRuOmxhc3QtY2hpbGQge1xuICAgICAgLmJvcmRlci1yYWRpdXMoMCBAaW5wdXRCb3JkZXJSYWRpdXMgQGlucHV0Qm9yZGVyUmFkaXVzIDApO1xuICAgIH1cbiAgfVxuICAuYWRkLW9uLFxuICAuYnRuLFxuICAuYnRuLWdyb3VwIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAuYWRkLW9uOmxhc3QtY2hpbGQsXG4gIC5idG46bGFzdC1jaGlsZCxcbiAgLmJ0bi1ncm91cDpsYXN0LWNoaWxkID4gLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgLmJvcmRlci1yYWRpdXMoMCBAaW5wdXRCb3JkZXJSYWRpdXMgQGlucHV0Qm9yZGVyUmFkaXVzIDApO1xuICB9XG59XG5cbi8vIFJlbW92ZSBhbGwgYm9yZGVyLXJhZGl1cyBmb3IgaW5wdXRzIHdpdGggYm90aCBwcmVwZW5kIGFuZCBhcHBlbmRcbi5pbnB1dC1wcmVwZW5kLmlucHV0LWFwcGVuZCB7XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIC51bmVkaXRhYmxlLWlucHV0IHtcbiAgICAuYm9yZGVyLXJhZGl1cygwKTtcbiAgICArIC5idG4tZ3JvdXAgLmJ0biB7XG4gICAgICAuYm9yZGVyLXJhZGl1cygwIEBpbnB1dEJvcmRlclJhZGl1cyBAaW5wdXRCb3JkZXJSYWRpdXMgMCk7XG4gICAgfVxuICB9XG4gIC5hZGQtb246Zmlyc3QtY2hpbGQsXG4gIC5idG46Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICAuYm9yZGVyLXJhZGl1cyhAaW5wdXRCb3JkZXJSYWRpdXMgMCAwIEBpbnB1dEJvcmRlclJhZGl1cyk7XG4gIH1cbiAgLmFkZC1vbjpsYXN0LWNoaWxkLFxuICAuYnRuOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1sZWZ0OiAtMXB4O1xuICAgIC5ib3JkZXItcmFkaXVzKDAgQGlucHV0Qm9yZGVyUmFkaXVzIEBpbnB1dEJvcmRlclJhZGl1cyAwKTtcbiAgfVxuICAuYnRuLWdyb3VwOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgfVxufVxuXG5cblxuXG4vLyBTRUFSQ0ggRk9STVxuLy8gLS0tLS0tLS0tLS1cblxuaW5wdXQuc2VhcmNoLXF1ZXJ5IHtcbiAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgcGFkZGluZy1yaWdodDogNHB4IFxcOTtcbiAgcGFkZGluZy1sZWZ0OiAxNHB4O1xuICBwYWRkaW5nLWxlZnQ6IDRweCBcXDk7IC8qIElFNy04IGRvZXNuJ3QgaGF2ZSBib3JkZXItcmFkaXVzLCBzbyBkb24ndCBpbmRlbnQgdGhlIHBhZGRpbmcgKi9cbiAgbWFyZ2luLWJvdHRvbTogMDsgLy8gUmVtb3ZlIHRoZSBkZWZhdWx0IG1hcmdpbiBvbiBhbGwgaW5wdXRzXG4gIC5ib3JkZXItcmFkaXVzKDE1cHgpO1xufVxuXG4vKiBBbGxvdyBmb3IgaW5wdXQgcHJlcGVuZC9hcHBlbmQgaW4gc2VhcmNoIGZvcm1zICovXG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCAuc2VhcmNoLXF1ZXJ5LFxuLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5zZWFyY2gtcXVlcnkge1xuICAuYm9yZGVyLXJhZGl1cygwKTsgLy8gT3ZlcnJpZGUgZHVlIHRvIHNwZWNpZmljaXR5XG59XG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCAuc2VhcmNoLXF1ZXJ5IHtcbiAgLmJvcmRlci1yYWRpdXMoMTRweCAwIDAgMTRweCk7XG59XG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCAuYnRuIHtcbiAgLmJvcmRlci1yYWRpdXMoMCAxNHB4IDE0cHggMCk7XG59XG4uZm9ybS1zZWFyY2ggLmlucHV0LXByZXBlbmQgLnNlYXJjaC1xdWVyeSB7XG4gIC5ib3JkZXItcmFkaXVzKDAgMTRweCAxNHB4IDApO1xufVxuLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kIC5idG4ge1xuICAuYm9yZGVyLXJhZGl1cygxNHB4IDAgMCAxNHB4KTtcbn1cblxuXG5cblxuLy8gSE9SSVpPTlRBTCAmIFZFUlRJQ0FMIEZPUk1TXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29tbW9uIHByb3BlcnRpZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb3JtLXNlYXJjaCxcbi5mb3JtLWlubGluZSxcbi5mb3JtLWhvcml6b250YWwge1xuICBpbnB1dCxcbiAgdGV4dGFyZWEsXG4gIHNlbGVjdCxcbiAgLmhlbHAtaW5saW5lLFxuICAudW5lZGl0YWJsZS1pbnB1dCxcbiAgLmlucHV0LXByZXBlbmQsXG4gIC5pbnB1dC1hcHBlbmQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAuaWU3LWlubGluZS1ibG9jaygpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxuICAvLyBSZS1oaWRlIGhpZGRlbiBlbGVtZW50cyBkdWUgdG8gc3BlY2lmaXR5XG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4uZm9ybS1zZWFyY2ggbGFiZWwsXG4uZm9ybS1pbmxpbmUgbGFiZWwsXG4uZm9ybS1zZWFyY2ggLmJ0bi1ncm91cCxcbi5mb3JtLWlubGluZSAuYnRuLWdyb3VwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLy8gUmVtb3ZlIG1hcmdpbiBmb3IgaW5wdXQtcHJlcGVuZC8tYXBwZW5kXG4uZm9ybS1zZWFyY2ggLmlucHV0LWFwcGVuZCxcbi5mb3JtLWlubGluZSAuaW5wdXQtYXBwZW5kLFxuLmZvcm0tc2VhcmNoIC5pbnB1dC1wcmVwZW5kLFxuLmZvcm0taW5saW5lIC5pbnB1dC1wcmVwZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbi8vIElubGluZSBjaGVja2JveC9yYWRpbyBsYWJlbHMgKHJlbW92ZSBwYWRkaW5nIG9uIGxlZnQpXG4uZm9ybS1zZWFyY2ggLnJhZGlvLFxuLmZvcm0tc2VhcmNoIC5jaGVja2JveCxcbi5mb3JtLWlubGluZSAucmFkaW8sXG4uZm9ybS1pbmxpbmUgLmNoZWNrYm94IHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLy8gUmVtb3ZlIGZsb2F0IGFuZCBtYXJnaW4sIHNldCB0byBpbmxpbmUtYmxvY2tcbi5mb3JtLXNlYXJjaCAucmFkaW8gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuLmZvcm0tc2VhcmNoIC5jaGVja2JveCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4uZm9ybS1pbmxpbmUgLnJhZGlvIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbi5mb3JtLWlubGluZSAuY2hlY2tib3ggaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogM3B4O1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuXG4vLyBNYXJnaW4gdG8gc3BhY2Ugb3V0IGZpZWxkc2V0c1xuLmNvbnRyb2wtZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQgLyAyO1xufVxuXG4vLyBMZWdlbmQgY29sbGFwc2VzIG1hcmdpbiwgc28gbmV4dCBlbGVtZW50IGlzIHJlc3BvbnNpYmxlIGZvciBzcGFjaW5nXG5sZWdlbmQgKyAuY29udHJvbC1ncm91cCB7XG4gIG1hcmdpbi10b3A6IEBiYXNlTGluZUhlaWdodDtcbiAgLXdlYmtpdC1tYXJnaW4tdG9wLWNvbGxhcHNlOiBzZXBhcmF0ZTtcbn1cblxuLy8gSG9yaXpvbnRhbC1zcGVjaWZpYyBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mb3JtLWhvcml6b250YWwge1xuICAvLyBJbmNyZWFzZSBzcGFjaW5nIGJldHdlZW4gZ3JvdXBzXG4gIC5jb250cm9sLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gICAgLmNsZWFyZml4KCk7XG4gIH1cbiAgLy8gRmxvYXQgdGhlIGxhYmVscyBsZWZ0XG4gIC5jb250cm9sLWxhYmVsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogQGhvcml6b250YWxDb21wb25lbnRPZmZzZXQgLSAyMDtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gIC8vIE1vdmUgb3ZlciBhbGwgaW5wdXQgY29udHJvbHMgYW5kIGNvbnRlbnRcbiAgLmNvbnRyb2xzIHtcbiAgICAvLyBTdXBlciBqYW5rIElFNyBmaXggdG8gZW5zdXJlIHRoZSBpbnB1dHMgaW4gLmlucHV0LWFwcGVuZCBhbmQgaW5wdXQtcHJlcGVuZFxuICAgIC8vIGRvbid0IGluaGVyaXQgdGhlIG1hcmdpbiBvZiB0aGUgcGFyZW50LCBpbiB0aGlzIGNhc2UgLmNvbnRyb2xzXG4gICAgKmRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAqcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBAaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldDtcbiAgICAqbWFyZ2luLWxlZnQ6IDA7XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAqcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldDtcbiAgICB9XG4gIH1cbiAgLy8gUmVtb3ZlIGJvdHRvbSBtYXJnaW4gb24gYmxvY2sgbGV2ZWwgaGVscCB0ZXh0IHNpbmNlIHRoYXQncyBhY2NvdW50ZWQgZm9yIG9uIC5jb250cm9sLWdyb3VwXG4gIC5oZWxwLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC8vIEFuZCBhcHBseSBpdCBvbmx5IHRvIC5oZWxwLWJsb2NrIGluc3RhbmNlcyB0aGF0IGZvbGxvdyBhIGZvcm0gY29udHJvbFxuICBpbnB1dCxcbiAgc2VsZWN0LFxuICB0ZXh0YXJlYSxcbiAgLnVuZWRpdGFibGUtaW5wdXQsXG4gIC5pbnB1dC1wcmVwZW5kLFxuICAuaW5wdXQtYXBwZW5kIHtcbiAgICArIC5oZWxwLWJsb2NrIHtcbiAgICAgIG1hcmdpbi10b3A6IEBiYXNlTGluZUhlaWdodCAvIDI7XG4gICAgfVxuICB9XG4gIC8vIE1vdmUgb3ZlciBidXR0b25zIGluIC5mb3JtLWFjdGlvbnMgdG8gYWxpZ24gd2l0aCAuY29udHJvbHNcbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiBAaG9yaXpvbnRhbENvbXBvbmVudE9mZnNldDtcbiAgfVxufVxuIiwiLy9cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCQVNFIFRBQkxFU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxudGFibGUge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZUJhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4vLyBCQVNFTElORSBTVFlMRVNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4udGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xuICAvLyBDZWxsc1xuICB0aCxcbiAgdGQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgQHRhYmxlQm9yZGVyO1xuICB9XG4gIHRoIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuICAvLyBCb3R0b20gYWxpZ24gZm9yIGNvbHVtbiBoZWFkaW5nc1xuICB0aGVhZCB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgfVxuICAvLyBSZW1vdmUgdG9wIGJvcmRlciBmcm9tIHRoZWFkIGJ5IGRlZmF1bHRcbiAgY2FwdGlvbiArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gIGNvbGdyb3VwICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNvbGdyb3VwICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGQsXG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0aGVhZDpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICAvLyBBY2NvdW50IGZvciBtdWx0aXBsZSB0Ym9keSBpbnN0YW5jZXNcbiAgdGJvZHkgKyB0Ym9keSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIEB0YWJsZUJvcmRlcjtcbiAgfVxuXG4gIC8vIE5lc3RpbmdcbiAgLnRhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYm9keUJhY2tncm91bmQ7XG4gIH1cbn1cblxuXG5cbi8vIENPTkRFTlNFRCBUQUJMRSBXLyBIQUxGIFBBRERJTkdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLnRhYmxlLWNvbmRlbnNlZCB7XG4gIHRoLFxuICB0ZCB7XG4gICAgcGFkZGluZzogNHB4IDVweDtcbiAgfVxufVxuXG5cbi8vIEJPUkRFUkVEIFZFUlNJT05cbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuLnRhYmxlLWJvcmRlcmVkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgQHRhYmxlQm9yZGVyO1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlOyAvLyBEb25lIHNvIHdlIGNhbiByb3VuZCB0aG9zZSBjb3JuZXJzIVxuICAqYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTsgLy8gSUU3IGNhbid0IHJvdW5kIGNvcm5lcnMgYW55d2F5XG4gIGJvcmRlci1sZWZ0OiAwO1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIHRoLFxuICB0ZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAdGFibGVCb3JkZXI7XG4gIH1cbiAgLy8gUHJldmVudCBhIGRvdWJsZSBib3JkZXJcbiAgY2FwdGlvbiArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICBjYXB0aW9uICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIGNhcHRpb24gKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgY29sZ3JvdXAgKyB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgY29sZ3JvdXAgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0aCxcbiAgY29sZ3JvdXAgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZCxcbiAgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgdGgsXG4gIHRib2R5OmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkIHRoLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICAvLyBGb3IgZmlyc3QgdGgvdGQgaW4gdGhlIGZpcnN0IHJvdyBpbiB0aGUgZmlyc3QgdGhlYWQgb3IgdGJvZHlcbiAgdGhlYWQ6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCxcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0ZDpmaXJzdC1jaGlsZCxcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCB7XG4gICAgLmJvcmRlci10b3AtbGVmdC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICB9XG4gIC8vIEZvciBsYXN0IHRoL3RkIGluIHRoZSBmaXJzdCByb3cgaW4gdGhlIGZpcnN0IHRoZWFkIG9yIHRib2R5XG4gIHRoZWFkOmZpcnN0LWNoaWxkIHRyOmZpcnN0LWNoaWxkID4gdGg6bGFzdC1jaGlsZCxcbiAgdGJvZHk6Zmlyc3QtY2hpbGQgdHI6Zmlyc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICB0Ym9keTpmaXJzdC1jaGlsZCB0cjpmaXJzdC1jaGlsZCA+IHRoOmxhc3QtY2hpbGQge1xuICAgIC5ib3JkZXItdG9wLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIH1cbiAgLy8gRm9yIGZpcnN0IHRoL3RkIChjYW4gYmUgZWl0aGVyKSBpbiB0aGUgbGFzdCByb3cgaW4gdGhlIGxhc3QgdGhlYWQsIHRib2R5LCBhbmQgdGZvb3RcbiAgdGhlYWQ6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGg6Zmlyc3QtY2hpbGQsXG4gIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRkOmZpcnN0LWNoaWxkLFxuICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpmaXJzdC1jaGlsZCxcbiAgdGZvb3Q6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkID4gdGQ6Zmlyc3QtY2hpbGQsXG4gIHRmb290Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCA+IHRoOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIH1cbiAgLy8gRm9yIGxhc3QgdGgvdGQgKGNhbiBiZSBlaXRoZXIpIGluIHRoZSBsYXN0IHJvdyBpbiB0aGUgbGFzdCB0aGVhZCwgdGJvZHksIGFuZCB0Zm9vdFxuICB0aGVhZDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICB0Ym9keTpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkLFxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0ZDpsYXN0LWNoaWxkLFxuICB0Zm9vdDpsYXN0LWNoaWxkIHRyOmxhc3QtY2hpbGQgPiB0aDpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICB9XG5cbiAgLy8gQ2xlYXIgYm9yZGVyLXJhZGl1cyBmb3IgZmlyc3QgYW5kIGxhc3QgdGQgaW4gdGhlIGxhc3Qgcm93IGluIHRoZSBsYXN0IHRib2R5IGZvciB0YWJsZSB3aXRoIHRmb290XG4gIHRmb290ICsgdGJvZHk6bGFzdC1jaGlsZCB0cjpsYXN0LWNoaWxkIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1cygwKTtcbiAgfVxuICB0Zm9vdCArIHRib2R5Omxhc3QtY2hpbGQgdHI6bGFzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMoMCk7XG4gIH1cblxuICAvLyBTcGVjaWFsIGZpeGVzIHRvIHJvdW5kIHRoZSBsZWZ0IGJvcmRlciBvbiB0aGUgZmlyc3QgdGQvdGhcbiAgY2FwdGlvbiArIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoOmZpcnN0LWNoaWxkLFxuICBjYXB0aW9uICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQsXG4gIGNvbGdyb3VwICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6Zmlyc3QtY2hpbGQsXG4gIGNvbGdyb3VwICsgdGJvZHkgdHI6Zmlyc3QtY2hpbGQgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgfVxuICBjYXB0aW9uICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgY2FwdGlvbiArIHRib2R5IHRyOmZpcnN0LWNoaWxkIHRkOmxhc3QtY2hpbGQsXG4gIGNvbGdyb3VwICsgdGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGg6bGFzdC1jaGlsZCxcbiAgY29sZ3JvdXAgKyB0Ym9keSB0cjpmaXJzdC1jaGlsZCB0ZDpsYXN0LWNoaWxkIHtcbiAgICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICB9XG5cbn1cblxuXG5cblxuLy8gWkVCUkEtU1RSSVBJTkdcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbi8vIERlZmF1bHQgemVicmEtc3RyaXBlIHN0eWxlcyAoYWx0ZXJuYXRpbmcgZ3JheSBhbmQgdHJhbnNwYXJlbnQgYmFja2dyb3VuZHMpXG4udGFibGUtc3RyaXBlZCB7XG4gIHRib2R5IHtcbiAgICA+IHRyOm50aC1jaGlsZChvZGQpID4gdGQsXG4gICAgPiB0cjpudGgtY2hpbGQob2RkKSA+IHRoIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IEB0YWJsZUJhY2tncm91bmRBY2NlbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8gSE9WRVIgRUZGRUNUXG4vLyAtLS0tLS0tLS0tLS1cbi8vIFBsYWNlZCBoZXJlIHNpbmNlIGl0IGhhcyB0byBjb21lIGFmdGVyIHRoZSBwb3RlbnRpYWwgemVicmEgc3RyaXBpbmdcbi50YWJsZS1ob3ZlciB7XG4gIHRib2R5IHtcbiAgICB0cjpob3ZlciA+IHRkLFxuICAgIHRyOmhvdmVyID4gdGgge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQHRhYmxlQmFja2dyb3VuZEhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG5cbi8vIFRBQkxFIENFTEwgU0laSU5HXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBSZXNldCBkZWZhdWx0IGdyaWQgYmVoYXZpb3JcbnRhYmxlIHRkW2NsYXNzKj1cInNwYW5cIl0sXG50YWJsZSB0aFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCB0YWJsZSB0ZFtjbGFzcyo9XCJzcGFuXCJdLFxuLnJvdy1mbHVpZCB0YWJsZSB0aFtjbGFzcyo9XCJzcGFuXCJdIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgZmxvYXQ6IG5vbmU7IC8vIHVuZG8gZGVmYXVsdCBncmlkIGNvbHVtbiBzdHlsZXNcbiAgbWFyZ2luLWxlZnQ6IDA7IC8vIHVuZG8gZGVmYXVsdCBncmlkIGNvbHVtbiBzdHlsZXNcbn1cblxuLy8gQ2hhbmdlIHRoZSBjb2x1bW4gd2lkdGhzIHRvIGFjY291bnQgZm9yIHRkL3RoIHBhZGRpbmdcbi50YWJsZSB0ZCxcbi50YWJsZSB0aCB7XG4gICYuc3BhbjEgICAgIHsgLnRhYmxlQ29sdW1ucygxKTsgfVxuICAmLnNwYW4yICAgICB7IC50YWJsZUNvbHVtbnMoMik7IH1cbiAgJi5zcGFuMyAgICAgeyAudGFibGVDb2x1bW5zKDMpOyB9XG4gICYuc3BhbjQgICAgIHsgLnRhYmxlQ29sdW1ucyg0KTsgfVxuICAmLnNwYW41ICAgICB7IC50YWJsZUNvbHVtbnMoNSk7IH1cbiAgJi5zcGFuNiAgICAgeyAudGFibGVDb2x1bW5zKDYpOyB9XG4gICYuc3BhbjcgICAgIHsgLnRhYmxlQ29sdW1ucyg3KTsgfVxuICAmLnNwYW44ICAgICB7IC50YWJsZUNvbHVtbnMoOCk7IH1cbiAgJi5zcGFuOSAgICAgeyAudGFibGVDb2x1bW5zKDkpOyB9XG4gICYuc3BhbjEwICAgIHsgLnRhYmxlQ29sdW1ucygxMCk7IH1cbiAgJi5zcGFuMTEgICAgeyAudGFibGVDb2x1bW5zKDExKTsgfVxuICAmLnNwYW4xMiAgICB7IC50YWJsZUNvbHVtbnMoMTIpOyB9XG59XG5cblxuXG4vLyBUQUJMRSBCQUNLR1JPVU5EU1xuLy8gLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEV4YWN0IHNlbGVjdG9ycyBiZWxvdyByZXF1aXJlZCB0byBvdmVycmlkZSAudGFibGUtc3RyaXBlZFxuXG4udGFibGUgdGJvZHkgdHIge1xuICAmLnN1Y2Nlc3MgPiB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3NCYWNrZ3JvdW5kO1xuICB9XG4gICYuZXJyb3IgPiB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yQmFja2dyb3VuZDtcbiAgfVxuICAmLndhcm5pbmcgPiB0ZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQHdhcm5pbmdCYWNrZ3JvdW5kO1xuICB9XG4gICYuaW5mbyA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5mb0JhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8gSG92ZXIgc3RhdGVzIGZvciAudGFibGUtaG92ZXJcbi50YWJsZS1ob3ZlciB0Ym9keSB0ciB7XG4gICYuc3VjY2Vzczpob3ZlciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHN1Y2Nlc3NCYWNrZ3JvdW5kLCA1JSk7XG4gIH1cbiAgJi5lcnJvcjpob3ZlciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGVycm9yQmFja2dyb3VuZCwgNSUpO1xuICB9XG4gICYud2FybmluZzpob3ZlciA+IHRkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHdhcm5pbmdCYWNrZ3JvdW5kLCA1JSk7XG4gIH1cbiAgJi5pbmZvOmhvdmVyID4gdGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAaW5mb0JhY2tncm91bmQsIDUlKTtcbiAgfVxufVxuIiwiLy9cbi8vIFNwcml0ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gSUNPTlNcbi8vIC0tLS0tXG5cbi8vIEFsbCBpY29ucyByZWNlaXZlIHRoZSBzdHlsZXMgb2YgdGhlIDxpPiB0YWcgd2l0aCBhIGJhc2UgY2xhc3Ncbi8vIG9mIC5pIGFuZCBhcmUgdGhlbiBnaXZlbiBhIHVuaXF1ZSBjbGFzcyB0byBhZGQgd2lkdGgsIGhlaWdodCxcbi8vIGFuZCBiYWNrZ3JvdW5kLXBvc2l0aW9uLiBZb3VyIHJlc3VsdGluZyBIVE1MIHdpbGwgbG9vayBsaWtlXG4vLyA8aSBjbGFzcz1cImljb24taW5ib3hcIj48L2k+LlxuXG4vLyBGb3IgdGhlIHdoaXRlIHZlcnNpb24gb2YgdGhlIGljb25zLCBqdXN0IGFkZCB0aGUgLmljb24td2hpdGUgY2xhc3M6XG4vLyA8aSBjbGFzcz1cImljb24taW5ib3ggaWNvbi13aGl0ZVwiPjwvaT5cblxuW2NsYXNzXj1cImljb24tXCJdLFxuW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgLmllNy1yZXN0b3JlLXJpZ2h0LXdoaXRlc3BhY2UoKTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtpY29uU3ByaXRlUGF0aH1cIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDE0cHggMTRweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgbWFyZ2luLXRvcDogMXB4O1xufVxuXG4vKiBXaGl0ZSBpY29ucyB3aXRoIG9wdGlvbmFsIGNsYXNzLCBvciBvbiBob3Zlci9mb2N1cy9hY3RpdmUgc3RhdGVzIG9mIGNlcnRhaW4gZWxlbWVudHMgKi9cbi5pY29uLXdoaXRlLFxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gW2NsYXNzXj1cImljb24tXCJdLFxuLm5hdi1waWxscyA+IC5hY3RpdmUgPiBhID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcbi5uYXYtbGlzdCA+IC5hY3RpdmUgPiBhID4gW2NsYXNzXj1cImljb24tXCJdLFxuLm5hdi1saXN0ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxuLm5hdmJhci1pbnZlcnNlIC5uYXYgPiAuYWN0aXZlID4gYSA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5uYXZiYXItaW52ZXJzZSAubmF2ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3MqPVwiIGljb24tXCJdLFxuLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6aG92ZXIgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpmb2N1cyA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmhvdmVyID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEgPiBbY2xhc3NePVwiaWNvbi1cIl0sXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhID4gW2NsYXNzKj1cIiBpY29uLVwiXSxcbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYSA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5kcm9wZG93bi1zdWJtZW51OmZvY3VzID4gYSA+IFtjbGFzc149XCJpY29uLVwiXSxcbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyID4gYSA+IFtjbGFzcyo9XCIgaWNvbi1cIl0sXG4uZHJvcGRvd24tc3VibWVudTpmb2N1cyA+IGEgPiBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiQHtpY29uV2hpdGVTcHJpdGVQYXRofVwiKTtcbn1cblxuLmljb24tZ2xhc3MgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIDA7IH1cbi5pY29uLW11c2ljICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNHB4ICAwOyB9XG4uaWNvbi1zZWFyY2ggICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgMDsgfVxuLmljb24tZW52ZWxvcGUgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggIDA7IH1cbi5pY29uLWhlYXJ0ICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4ICAwOyB9XG4uaWNvbi1zdGFyICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggMDsgfVxuLmljb24tc3Rhci1lbXB0eSAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IDA7IH1cbi5pY29uLXVzZXIgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjhweCAwOyB9XG4uaWNvbi1maWxtICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggMDsgfVxuLmljb24tdGgtbGFyZ2UgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IDA7IH1cbi5pY29uLXRoICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAwOyB9XG4uaWNvbi10aC1saXN0ICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggMDsgfVxuLmljb24tb2sgICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI4OHB4IDA7IH1cbi5pY29uLXJlbW92ZSAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMTJweCAwOyB9XG4uaWNvbi16b29tLWluICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM2cHggMDsgfVxuLmljb24tem9vbS1vdXQgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IDA7IH1cbi5pY29uLW9mZiAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zODRweCAwOyB9XG4uaWNvbi1zaWduYWwgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA4cHggMDsgfVxuLmljb24tY29nICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMnB4IDA7IH1cbi5pY29uLXRyYXNoICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00NTZweCAwOyB9XG5cbi5pY29uLWhvbWUgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgICAgICAtMjRweDsgfVxuLmljb24tZmlsZSAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggIC0yNHB4OyB9XG4uaWNvbi10aW1lICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgLTI0cHg7IH1cbi5pY29uLXJvYWQgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4ICAtMjRweDsgfVxuLmljb24tZG93bmxvYWQtYWx0ICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIC0yNHB4OyB9XG4uaWNvbi1kb3dubG9hZCAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTI0cHg7IH1cbi5pY29uLXVwbG9hZCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMjRweDsgfVxuLmljb24taW5ib3ggICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC0yNHB4OyB9XG4uaWNvbi1wbGF5LWNpcmNsZSAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTI0cHg7IH1cbi5pY29uLXJlcGVhdCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMTZweCAtMjRweDsgfVxuLmljb24tcmVmcmVzaCAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0yNHB4OyB9XG4uaWNvbi1saXN0LWFsdCAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggLTI0cHg7IH1cbi5pY29uLWxvY2sgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODdweCAtMjRweDsgfSAvLyAxcHggb2ZmXG4uaWNvbi1mbGFnICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEycHggLTI0cHg7IH1cbi5pY29uLWhlYWRwaG9uZXMgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAtMjRweDsgfVxuLmljb24tdm9sdW1lLW9mZiAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IC0yNHB4OyB9XG4uaWNvbi12b2x1bWUtZG93biAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg0cHggLTI0cHg7IH1cbi5pY29uLXZvbHVtZS11cCAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MDhweCAtMjRweDsgfVxuLmljb24tcXJjb2RlICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzMnB4IC0yNHB4OyB9XG4uaWNvbi1iYXJjb2RlICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU2cHggLTI0cHg7IH1cblxuLmljb24tdGFnICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIC00OHB4OyB9XG4uaWNvbi10YWdzICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjVweCAgLTQ4cHg7IH0gLy8gMXB4IG9mZlxuLmljb24tYm9vayAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggIC00OHB4OyB9XG4uaWNvbi1ib29rbWFyayAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNzJweCAgLTQ4cHg7IH1cbi5pY29uLXByaW50ICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC05NnB4ICAtNDhweDsgfVxuLmljb24tY2FtZXJhICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC00OHB4OyB9XG4uaWNvbi1mb250ICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTQ0cHggLTQ4cHg7IH1cbi5pY29uLWJvbGQgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNjdweCAtNDhweDsgfSAvLyAxcHggb2ZmXG4uaWNvbi1pdGFsaWMgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTQ4cHg7IH1cbi5pY29uLXRleHQtaGVpZ2h0ICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMTZweCAtNDhweDsgfVxuLmljb24tdGV4dC13aWR0aCAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC00OHB4OyB9XG4uaWNvbi1hbGlnbi1sZWZ0ICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggLTQ4cHg7IH1cbi5pY29uLWFsaWduLWNlbnRlciAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAtNDhweDsgfVxuLmljb24tYWxpZ24tcmlnaHQgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxMnB4IC00OHB4OyB9XG4uaWNvbi1hbGlnbi1qdXN0aWZ5ICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM2cHggLTQ4cHg7IH1cbi5pY29uLWxpc3QgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNjBweCAtNDhweDsgfVxuLmljb24taW5kZW50LWxlZnQgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4NHB4IC00OHB4OyB9XG4uaWNvbi1pbmRlbnQtcmlnaHQgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA4cHggLTQ4cHg7IH1cbi5pY29uLWZhY2V0aW1lLXZpZGVvICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MzJweCAtNDhweDsgfVxuLmljb24tcGljdHVyZSAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1NnB4IC00OHB4OyB9XG5cbi5pY29uLXBlbmNpbCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgICAgICAtNzJweDsgfVxuLmljb24tbWFwLW1hcmtlciAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggIC03MnB4OyB9XG4uaWNvbi1hZGp1c3QgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgLTcycHg7IH1cbi5pY29uLXRpbnQgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4ICAtNzJweDsgfVxuLmljb24tZWRpdCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIC03MnB4OyB9XG4uaWNvbi1zaGFyZSAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTcycHg7IH1cbi5pY29uLWNoZWNrICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtNzJweDsgfVxuLmljb24tbW92ZSAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC03MnB4OyB9XG4uaWNvbi1zdGVwLWJhY2t3YXJkICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTcycHg7IH1cbi5pY29uLWZhc3QtYmFja3dhcmQgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMTZweCAtNzJweDsgfVxuLmljb24tYmFja3dhcmQgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC03MnB4OyB9XG4uaWNvbi1wbGF5ICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggLTcycHg7IH1cbi5pY29uLXBhdXNlICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAtNzJweDsgfVxuLmljb24tc3RvcCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxMnB4IC03MnB4OyB9XG4uaWNvbi1mb3J3YXJkICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM2cHggLTcycHg7IH1cbi5pY29uLWZhc3QtZm9yd2FyZCAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNjBweCAtNzJweDsgfVxuLmljb24tc3RlcC1mb3J3YXJkICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4NHB4IC03MnB4OyB9XG4uaWNvbi1lamVjdCAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA4cHggLTcycHg7IH1cbi5pY29uLWNoZXZyb24tbGVmdCAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MzJweCAtNzJweDsgfVxuLmljb24tY2hldnJvbi1yaWdodCAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1NnB4IC03MnB4OyB9XG5cbi5pY29uLXBsdXMtc2lnbiAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgICAgICAtOTZweDsgfVxuLmljb24tbWludXMtc2lnbiAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggIC05NnB4OyB9XG4uaWNvbi1yZW1vdmUtc2lnbiAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgLTk2cHg7IH1cbi5pY29uLW9rLXNpZ24gICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4ICAtOTZweDsgfVxuLmljb24tcXVlc3Rpb24tc2lnbiAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIC05NnB4OyB9XG4uaWNvbi1pbmZvLXNpZ24gICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTk2cHg7IH1cbi5pY29uLXNjcmVlbnNob3QgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtOTZweDsgfVxuLmljb24tcmVtb3ZlLWNpcmNsZSAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC05NnB4OyB9XG4uaWNvbi1vay1jaXJjbGUgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTk2cHg7IH1cbi5pY29uLWJhbi1jaXJjbGUgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMTZweCAtOTZweDsgfVxuLmljb24tYXJyb3ctbGVmdCAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC05NnB4OyB9XG4uaWNvbi1hcnJvdy1yaWdodCAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggLTk2cHg7IH1cbi5pY29uLWFycm93LXVwICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODlweCAtOTZweDsgfSAvLyAxcHggb2ZmXG4uaWNvbi1hcnJvdy1kb3duICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzEycHggLTk2cHg7IH1cbi5pY29uLXNoYXJlLWFsdCAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMzZweCAtOTZweDsgfVxuLmljb24tcmVzaXplLWZ1bGwgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM2MHB4IC05NnB4OyB9XG4uaWNvbi1yZXNpemUtc21hbGwgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg0cHggLTk2cHg7IH1cbi5pY29uLXBsdXMgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MDhweCAtOTZweDsgfVxuLmljb24tbWludXMgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQzM3B4IC05NnB4OyB9XG4uaWNvbi1hc3RlcmlzayAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU2cHggLTk2cHg7IH1cblxuLmljb24tZXhjbGFtYXRpb24tc2lnbiAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgICAgIC0xMjBweDsgfVxuLmljb24tZ2lmdCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggIC0xMjBweDsgfVxuLmljb24tbGVhZiAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ4cHggIC0xMjBweDsgfVxuLmljb24tZmlyZSAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTcycHggIC0xMjBweDsgfVxuLmljb24tZXllLW9wZW4gICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIC0xMjBweDsgfVxuLmljb24tZXllLWNsb3NlICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEyMHB4IC0xMjBweDsgfVxuLmljb24td2FybmluZy1zaWduICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0NHB4IC0xMjBweDsgfVxuLmljb24tcGxhbmUgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC0xMjBweDsgfVxuLmljb24tY2FsZW5kYXIgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE5MnB4IC0xMjBweDsgfVxuLmljb24tcmFuZG9tICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTIxNnB4IC0xMjBweDsgd2lkdGg6IDE2cHg7IH1cbi5pY29uLWNvbW1lbnQgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNDBweCAtMTIwcHg7IH1cbi5pY29uLW1hZ25ldCAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yNjRweCAtMTIwcHg7IH1cbi5pY29uLWNoZXZyb24tdXAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAtMTIwcHg7IH1cbi5pY29uLWNoZXZyb24tZG93biAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zMTNweCAtMTE5cHg7IH0gLy8gMXB4LCAxcHggb2ZmXG4uaWNvbi1yZXR3ZWV0ICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM2cHggLTEyMHB4OyB9XG4uaWNvbi1zaG9wcGluZy1jYXJ0ICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzYwcHggLTEyMHB4OyB9XG4uaWNvbi1mb2xkZXItY2xvc2UgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzg0cHggLTEyMHB4OyB3aWR0aDogMTZweDsgfVxuLmljb24tZm9sZGVyLW9wZW4gICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQwOHB4IC0xMjBweDsgd2lkdGg6IDE2cHg7IH1cbi5pY29uLXJlc2l6ZS12ZXJ0aWNhbCAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MzJweCAtMTE5cHg7IH0gLy8gMXB4LCAxcHggb2ZmXG4uaWNvbi1yZXNpemUtaG9yaXpvbnRhbCAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDU2cHggLTExOHB4OyB9IC8vIDFweCwgMnB4IG9mZlxuXG4uaWNvbi1oZGQgICAgICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IDAgICAgICAtMTQ0cHg7IH1cbi5pY29uLWJ1bGxob3JuICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0cHggIC0xNDRweDsgfVxuLmljb24tYmVsbCAgICAgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDhweCAgLTE0NHB4OyB9XG4uaWNvbi1jZXJ0aWZpY2F0ZSAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC03MnB4ICAtMTQ0cHg7IH1cbi5pY29uLXRodW1icy11cCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTk2cHggIC0xNDRweDsgfVxuLmljb24tdGh1bWJzLWRvd24gICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTIwcHggLTE0NHB4OyB9XG4uaWNvbi1oYW5kLXJpZ2h0ICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0xNDRweCAtMTQ0cHg7IH1cbi5pY29uLWhhbmQtbGVmdCAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE2OHB4IC0xNDRweDsgfVxuLmljb24taGFuZC11cCAgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTkycHggLTE0NHB4OyB9XG4uaWNvbi1oYW5kLWRvd24gICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yMTZweCAtMTQ0cHg7IH1cbi5pY29uLWNpcmNsZS1hcnJvdy1yaWdodCAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTI0MHB4IC0xNDRweDsgfVxuLmljb24tY2lyY2xlLWFycm93LWxlZnQgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMjY0cHggLTE0NHB4OyB9XG4uaWNvbi1jaXJjbGUtYXJyb3ctdXAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0yODhweCAtMTQ0cHg7IH1cbi5pY29uLWNpcmNsZS1hcnJvdy1kb3duICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTMxMnB4IC0xNDRweDsgfVxuLmljb24tZ2xvYmUgICAgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzM2cHggLTE0NHB4OyB9XG4uaWNvbi13cmVuY2ggICAgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC0zNjBweCAtMTQ0cHg7IH1cbi5pY29uLXRhc2tzICAgICAgICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTM4NHB4IC0xNDRweDsgfVxuLmljb24tZmlsdGVyICAgICAgICAgICAgICAgICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNDA4cHggLTE0NHB4OyB9XG4uaWNvbi1icmllZmNhc2UgICAgICAgICAgICAgICB7IGJhY2tncm91bmQtcG9zaXRpb246IC00MzJweCAtMTQ0cHg7IH1cbi5pY29uLWZ1bGxzY3JlZW4gICAgICAgICAgICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogLTQ1NnB4IC0xNDRweDsgfVxuIiwiLy9cbi8vIERyb3Bkb3duIG1lbnVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFVzZSB0aGUgLm1lbnUgY2xhc3Mgb24gYW55IDxsaT4gZWxlbWVudCB3aXRoaW4gdGhlIHRvcGJhciBvciB1bC50YWJzIGFuZCB5b3UnbGwgZ2V0IHNvbWUgc3VwZXJmYW5jeSBkcm9wZG93bnNcbi5kcm9wdXAsXG4uZHJvcGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uZHJvcGRvd24tdG9nZ2xlIHtcbiAgLy8gVGhlIGNhcmV0IG1ha2VzIHRoZSB0b2dnbGUgYSBiaXQgdG9vIHRhbGwgaW4gSUU3XG4gICptYXJnaW4tYm90dG9tOiAtM3B4O1xufVxuLmRyb3Bkb3duLXRvZ2dsZTphY3RpdmUsXG4ub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLy8gRHJvcGRvd24gYXJyb3cvY2FyZXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIGJvcmRlci10b3A6ICAgNHB4IHNvbGlkIEBibGFjaztcbiAgYm9yZGVyLXJpZ2h0OiA0cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0OiAgNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiBcIlwiO1xufVxuXG4vLyBQbGFjZSB0aGUgY2FyZXRcbi5kcm9wZG93biAuY2FyZXQge1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG59XG5cbi8vIFRoZSBkcm9wZG93biBtZW51ICh1bClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5kcm9wZG93bi1tZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXhEcm9wZG93bjtcbiAgZGlzcGxheTogbm9uZTsgLy8gbm9uZSBieSBkZWZhdWx0LCBidXQgYmxvY2sgb24gXCJvcGVuXCIgb2YgdGhlIG1lbnVcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7IC8vIG92ZXJyaWRlIGRlZmF1bHQgdWxcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGRyb3Bkb3duQmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgLy8gRmFsbGJhY2sgZm9yIElFNy04XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBkcm9wZG93bkJvcmRlcjtcbiAgKmJvcmRlci1yaWdodC13aWR0aDogMnB4O1xuICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAuYm9yZGVyLXJhZGl1cyg2cHgpO1xuICAuYm94LXNoYWRvdygwIDVweCAxMHB4IHJnYmEoMCwwLDAsLjIpKTtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXG4gIC8vIEFsaWducyB0aGUgZHJvcGRvd24gbWVudSB0byByaWdodFxuICAmLnB1bGwtcmlnaHQge1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87XG4gIH1cblxuICAvLyBEaXZpZGVycyAoYmFzaWNhbGx5IGFuIGhyKSB3aXRoaW4gdGhlIGRyb3Bkb3duXG4gIC5kaXZpZGVyIHtcbiAgICAubmF2LWRpdmlkZXIoQGRyb3Bkb3duRGl2aWRlclRvcCwgQGRyb3Bkb3duRGl2aWRlckJvdHRvbSk7XG4gIH1cblxuICAvLyBMaW5rcyB3aXRoaW4gdGhlIGRyb3Bkb3duIG1lbnVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDNweCAyMHB4O1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgICBjb2xvcjogQGRyb3Bkb3duTGlua0NvbG9yO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIH1cbn1cblxuLy8gSG92ZXIvRm9jdXMgc3RhdGVcbi8vIC0tLS0tLS0tLS0tXG4uZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gbGkgPiBhOmZvY3VzLFxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiBhLFxuLmRyb3Bkb3duLXN1Ym1lbnU6Zm9jdXMgPiBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogQGRyb3Bkb3duTGlua0NvbG9ySG92ZXI7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbChAZHJvcGRvd25MaW5rQmFja2dyb3VuZEhvdmVyLCBkYXJrZW4oQGRyb3Bkb3duTGlua0JhY2tncm91bmRIb3ZlciwgNSUpKTtcbn1cblxuLy8gQWN0aXZlIHN0YXRlXG4vLyAtLS0tLS0tLS0tLS1cbi5kcm9wZG93bi1tZW51ID4gLmFjdGl2ZSA+IGEsXG4uZHJvcGRvd24tbWVudSA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLmRyb3Bkb3duLW1lbnUgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAZHJvcGRvd25MaW5rQ29sb3JBY3RpdmU7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgb3V0bGluZTogMDtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBkcm9wZG93bkxpbmtCYWNrZ3JvdW5kQWN0aXZlLCBkYXJrZW4oQGRyb3Bkb3duTGlua0JhY2tncm91bmRBY3RpdmUsIDUlKSk7XG59XG5cbi8vIERpc2FibGVkIHN0YXRlXG4vLyAtLS0tLS0tLS0tLS0tLVxuLy8gR3JheSBvdXQgdGV4dCBhbmQgZW5zdXJlIHRoZSBob3Zlci9mb2N1cyBzdGF0ZSByZW1haW5zIGdyYXlcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYSxcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5kcm9wZG93bi1tZW51ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAZ3JheUxpZ2h0O1xufVxuLy8gTnVrZSBob3Zlci9mb2N1cyBlZmZlY3RzXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsXG4uZHJvcGRvd24tbWVudSA+IC5kaXNhYmxlZCA+IGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyAvLyBSZW1vdmUgQ1NTIGdyYWRpZW50XG4gIC5yZXNldC1maWx0ZXIoKTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLyBPcGVuIHN0YXRlIGZvciB0aGUgZHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm9wZW4ge1xuICAvLyBJRTcncyB6LWluZGV4IG9ubHkgZ29lcyB0byB0aGUgbmVhcmVzdCBwb3NpdGlvbmVkIGFuY2VzdG9yLCB3aGljaCB3b3VsZFxuICAvLyBtYWtlIHRoZSBtZW51IGFwcGVhciBiZWxvdyBidXR0b25zIHRoYXQgYXBwZWFyZWQgbGF0ZXIgb24gdGhlIHBhZ2VcbiAgKnotaW5kZXg6IEB6aW5kZXhEcm9wZG93bjtcblxuICAmID4gLmRyb3Bkb3duLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vIEJhY2tkcm9wIHRvIGNhdGNoIGJvZHkgY2xpY2tzIG9uIG1vYmlsZSwgZXRjLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZHJvcGRvd24tYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIHRvcDogMDtcbiAgei1pbmRleDogQHppbmRleERyb3Bkb3duIC0gMTA7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5wdWxsLXJpZ2h0ID4gLmRyb3Bkb3duLW1lbnUge1xuICByaWdodDogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLy8gQWxsb3cgZm9yIGRyb3Bkb3ducyB0byBnbyBib3R0b20gdXAgKGFrYSwgZHJvcHVwLW1lbnUpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEp1c3QgYWRkIC5kcm9wdXAgYWZ0ZXIgdGhlIHN0YW5kYXJkIC5kcm9wZG93biBjbGFzcyBhbmQgeW91J3JlIHNldCwgYnJvLlxuLy8gVE9ETzogYWJzdHJhY3QgdGhpcyBzbyB0aGF0IHRoZSBuYXZiYXIgZml4ZWQgc3R5bGVzIGFyZSBub3QgcGxhY2VkIGhlcmU/XG4uZHJvcHVwLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmRyb3Bkb3duIHtcbiAgLy8gUmV2ZXJzZSB0aGUgY2FyZXRcbiAgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCBAYmxhY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAvLyBEaWZmZXJlbnQgcG9zaXRpb25pbmcgZm9yIGJvdHRvbSB1cCBtZW51XG4gIC5kcm9wZG93bi1tZW51IHtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgfVxufVxuXG4vLyBTdWIgbWVudXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmRyb3Bkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4vLyBEZWZhdWx0IGRyb3Bkb3duc1xuLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudSB7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTZweDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIC5ib3JkZXItcmFkaXVzKDAgNnB4IDZweCA2cHgpO1xufVxuLmRyb3Bkb3duLXN1Ym1lbnU6aG92ZXIgPiAuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vLyBEcm9wdXBzXG4uZHJvcHVwIC5kcm9wZG93bi1zdWJtZW51ID4gLmRyb3Bkb3duLW1lbnUge1xuICB0b3A6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogLTJweDtcbiAgLmJvcmRlci1yYWRpdXMoNXB4IDVweCA1cHggMCk7XG59XG5cbi8vIENhcmV0IHRvIGluZGljYXRlIHRoZXJlIGlzIGEgc3VibWVudVxuLmRyb3Bkb3duLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBmbG9hdDogcmlnaHQ7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1zdHlsZTogc29saWQ7XG4gIGJvcmRlci13aWR0aDogNXB4IDAgNXB4IDVweDtcbiAgYm9yZGVyLWxlZnQtY29sb3I6IGRhcmtlbihAZHJvcGRvd25CYWNrZ3JvdW5kLCAyMCUpO1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIG1hcmdpbi1yaWdodDogLTEwcHg7XG59XG4uZHJvcGRvd24tc3VibWVudTpob3ZlciA+IGE6YWZ0ZXIge1xuICBib3JkZXItbGVmdC1jb2xvcjogQGRyb3Bkb3duTGlua0NvbG9ySG92ZXI7XG59XG5cbi8vIExlZnQgYWxpZ25lZCBzdWJtZW51c1xuLmRyb3Bkb3duLXN1Ym1lbnUucHVsbC1sZWZ0IHtcbiAgLy8gVW5kbyB0aGUgZmxvYXRcbiAgLy8gWWVzLCB0aGlzIGlzIGF3a3dhcmQgc2luY2UgLnB1bGwtbGVmdCBhZGRzIGEgZmxvYXQsIGJ1dCBpdCBzdGlja3MgdG8gb3VyIGNvbnZlbnRpb25zIGVsc2V3aGVyZS5cbiAgZmxvYXQ6IG5vbmU7XG5cbiAgLy8gUG9zaXRpb25pbmcgdGhlIHN1Ym1lbnVcbiAgPiAuZHJvcGRvd24tbWVudSB7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgLmJvcmRlci1yYWRpdXMoNnB4IDAgNnB4IDZweCk7XG4gIH1cbn1cblxuLy8gVHdlYWsgbmF2IGhlYWRlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG4vLyBJbmNyZWFzZSBwYWRkaW5nIGZyb20gMTVweCB0byAyMHB4IG9uIHNpZGVzXG4uZHJvcGRvd24gLmRyb3Bkb3duLW1lbnUgLm5hdi1oZWFkZXIge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG59XG5cbi8vIFR5cGVhaGVhZFxuLy8gLS0tLS0tLS0tXG4udHlwZWFoZWFkIHtcbiAgei1pbmRleDogMTA1MTtcbiAgbWFyZ2luLXRvcDogMnB4OyAvLyBnaXZlIGl0IHNvbWUgc3BhY2UgdG8gYnJlYXRoZVxuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG4iLCIvL1xuLy8gQ29tcG9uZW50IGFuaW1hdGlvbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLmZhZGUge1xuICBvcGFjaXR5OiAwO1xuICAudHJhbnNpdGlvbihvcGFjaXR5IC4xNXMgbGluZWFyKTtcbiAgJi5pbiB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxufVxuXG4uY29sbGFwc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgLnRyYW5zaXRpb24oaGVpZ2h0IC4zNXMgZWFzZSk7XG4gICYuaW4ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLy9cbi8vIENsb3NlIGljb25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jbG9zZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgY29sb3I6IEBibGFjaztcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwxKTtcbiAgLm9wYWNpdHkoMjApO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQGJsYWNrO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLm9wYWNpdHkoNDApO1xuICB9XG59XG5cbi8vIEFkZGl0aW9uYWwgcHJvcGVydGllcyBmb3IgYnV0dG9uIHZlcnNpb25cbi8vIGlPUyByZXF1aXJlcyB0aGUgYnV0dG9uIGVsZW1lbnQgaW5zdGVhZCBvZiBhbiBhbmNob3IgdGFnLlxuLy8gSWYgeW91IHdhbnQgdGhlIGFuY2hvciB2ZXJzaW9uLCBpdCByZXF1aXJlcyBgaHJlZj1cIiNcImAuXG5idXR0b24uY2xvc2Uge1xuICBwYWRkaW5nOiAwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn0iLCIvL1xuLy8gQnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQ29yZVxuLmJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmllNy1pbmxpbmUtYmxvY2soKTtcbiAgcGFkZGluZzogNHB4IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIEZvciBpbnB1dC5idG5cbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplO1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLmJ1dHRvbkJhY2tncm91bmQoQGJ0bkJhY2tncm91bmQsIEBidG5CYWNrZ3JvdW5kSGlnaGxpZ2h0LCBAZ3JheURhcmssIDAgMXB4IDFweCByZ2JhKDI1NSwyNTUsMjU1LC43NSkpO1xuICBib3JkZXI6IDFweCBzb2xpZCBAYnRuQm9yZGVyO1xuICAqYm9yZGVyOiAwOyAvLyBSZW1vdmUgdGhlIGJvcmRlciB0byBwcmV2ZW50IElFNydzIGJsYWNrIGJvcmRlciBvbiBpbnB1dDpmb2N1c1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBkYXJrZW4oQGJ0bkJvcmRlciwgMTAlKTtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICAuaWU3LXJlc3RvcmUtbGVmdC13aGl0ZXNwYWNlKCk7IC8vIEdpdmUgSUU3IHNvbWUgbG92ZVxuICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjIpLCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpXCIpO1xuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAZ3JheURhcms7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1cHg7XG5cbiAgICAvLyB0cmFuc2l0aW9uIGlzIG9ubHkgd2hlbiBnb2luZyB0byBob3Zlci9mb2N1cywgb3RoZXJ3aXNlIHRoZSBiYWNrZ3JvdW5kXG4gICAgLy8gYmVoaW5kIHRoZSBncmFkaWVudCAodGhlcmUgZm9yIElFPD05IGZhbGxiYWNrKSBnZXRzIG1pc21hdGNoZWRcbiAgICAudHJhbnNpdGlvbihiYWNrZ3JvdW5kLXBvc2l0aW9uIC4xcyBsaW5lYXIpO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGUgZm9yIGtleWJvYXJkIGFuZCBhY2Nlc3NpYmlsaXR5XG4gICY6Zm9jdXMge1xuICAgIC50YWItZm9jdXMoKTtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBzdGF0ZVxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgb3V0bGluZTogMDtcbiAgICAuYm94LXNoYWRvdyh+XCJpbnNldCAwIDJweCA0cHggcmdiYSgwLDAsMCwuMTUpLCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpXCIpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJi5kaXNhYmxlZCxcbiAgJltkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIC5vcGFjaXR5KDY1KTtcbiAgICAuYm94LXNoYWRvdyhub25lKTtcbiAgfVxuXG59XG5cblxuXG4vLyBCdXR0b24gU2l6ZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIExhcmdlXG4uYnRuLWxhcmdlIHtcbiAgcGFkZGluZzogQHBhZGRpbmdMYXJnZTtcbiAgZm9udC1zaXplOiBAZm9udFNpemVMYXJnZTtcbiAgLmJvcmRlci1yYWRpdXMoQGJvcmRlclJhZGl1c0xhcmdlKTtcbn1cbi5idG4tbGFyZ2UgW2NsYXNzXj1cImljb24tXCJdLFxuLmJ0bi1sYXJnZSBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgbWFyZ2luLXRvcDogNHB4O1xufVxuXG4vLyBTbWFsbFxuLmJ0bi1zbWFsbCB7XG4gIHBhZGRpbmc6IEBwYWRkaW5nU21hbGw7XG4gIGZvbnQtc2l6ZTogQGZvbnRTaXplU21hbGw7XG4gIC5ib3JkZXItcmFkaXVzKEBib3JkZXJSYWRpdXNTbWFsbCk7XG59XG4uYnRuLXNtYWxsIFtjbGFzc149XCJpY29uLVwiXSxcbi5idG4tc21hbGwgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4uYnRuLW1pbmkgW2NsYXNzXj1cImljb24tXCJdLFxuLmJ0bi1taW5pIFtjbGFzcyo9XCIgaWNvbi1cIl0ge1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4vLyBNaW5pXG4uYnRuLW1pbmkge1xuICBwYWRkaW5nOiBAcGFkZGluZ01pbmk7XG4gIGZvbnQtc2l6ZTogQGZvbnRTaXplTWluaTtcbiAgLmJvcmRlci1yYWRpdXMoQGJvcmRlclJhZGl1c1NtYWxsKTtcbn1cblxuXG4vLyBCbG9jayBidXR0b25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAuYm94LXNpemluZyhib3JkZXItYm94KTtcbn1cblxuLy8gVmVydGljYWxseSBzcGFjZSBvdXQgbXVsdGlwbGUgYmxvY2sgYnV0dG9uc1xuLmJ0bi1ibG9jayArIC5idG4tYmxvY2sge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi8vIFNwZWNpZmljaXR5IG92ZXJyaWRlc1xuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xuICAmLmJ0bi1ibG9jayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuXG5cbi8vIEFsdGVybmF0ZSBidXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQcm92aWRlICpzb21lKiBleHRyYSBjb250cmFzdCBmb3IgdGhvc2Ugd2hvIGNhbiBnZXQgaXRcbi5idG4tcHJpbWFyeS5hY3RpdmUsXG4uYnRuLXdhcm5pbmcuYWN0aXZlLFxuLmJ0bi1kYW5nZXIuYWN0aXZlLFxuLmJ0bi1zdWNjZXNzLmFjdGl2ZSxcbi5idG4taW5mby5hY3RpdmUsXG4uYnRuLWludmVyc2UuYWN0aXZlIHtcbiAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsLjc1KTtcbn1cblxuLy8gU2V0IHRoZSBiYWNrZ3JvdW5kc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmJ0bi1wcmltYXJ5IHtcbiAgLmJ1dHRvbkJhY2tncm91bmQoQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCBAYnRuUHJpbWFyeUJhY2tncm91bmRIaWdobGlnaHQpO1xufVxuLy8gV2FybmluZyBhcHBlYXJzIGFyZSBvcmFuZ2Vcbi5idG4td2FybmluZyB7XG4gIC5idXR0b25CYWNrZ3JvdW5kKEBidG5XYXJuaW5nQmFja2dyb3VuZCwgQGJ0bldhcm5pbmdCYWNrZ3JvdW5kSGlnaGxpZ2h0KTtcbn1cbi8vIERhbmdlciBhbmQgZXJyb3IgYXBwZWFyIGFzIHJlZFxuLmJ0bi1kYW5nZXIge1xuICAuYnV0dG9uQmFja2dyb3VuZChAYnRuRGFuZ2VyQmFja2dyb3VuZCwgQGJ0bkRhbmdlckJhY2tncm91bmRIaWdobGlnaHQpO1xufVxuLy8gU3VjY2VzcyBhcHBlYXJzIGFzIGdyZWVuXG4uYnRuLXN1Y2Nlc3Mge1xuICAuYnV0dG9uQmFja2dyb3VuZChAYnRuU3VjY2Vzc0JhY2tncm91bmQsIEBidG5TdWNjZXNzQmFja2dyb3VuZEhpZ2hsaWdodCk7XG59XG4vLyBJbmZvIGFwcGVhcnMgYXMgYSBuZXV0cmFsIGJsdWVcbi5idG4taW5mbyB7XG4gIC5idXR0b25CYWNrZ3JvdW5kKEBidG5JbmZvQmFja2dyb3VuZCwgQGJ0bkluZm9CYWNrZ3JvdW5kSGlnaGxpZ2h0KTtcbn1cbi8vIEludmVyc2UgYXBwZWFycyBhcyBkYXJrIGdyYXlcbi5idG4taW52ZXJzZSB7XG4gIC5idXR0b25CYWNrZ3JvdW5kKEBidG5JbnZlcnNlQmFja2dyb3VuZCwgQGJ0bkludmVyc2VCYWNrZ3JvdW5kSGlnaGxpZ2h0KTtcbn1cblxuXG4vLyBDcm9zcy1icm93c2VyIEphbmtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbmJ1dHRvbi5idG4sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ0biB7XG5cbiAgLy8gRmlyZWZveCAzLjYgb25seSBJIGJlbGlldmVcbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvLyBJRTcgaGFzIHNvbWUgZGVmYXVsdCBwYWRkaW5nIG9uIGJ1dHRvbiBjb250cm9sc1xuICAqcGFkZGluZy10b3A6IDNweDtcbiAgKnBhZGRpbmctYm90dG9tOiAzcHg7XG5cbiAgJi5idG4tbGFyZ2Uge1xuICAgICpwYWRkaW5nLXRvcDogN3B4O1xuICAgICpwYWRkaW5nLWJvdHRvbTogN3B4O1xuICB9XG4gICYuYnRuLXNtYWxsIHtcbiAgICAqcGFkZGluZy10b3A6IDNweDtcbiAgICAqcGFkZGluZy1ib3R0b206IDNweDtcbiAgfVxuICAmLmJ0bi1taW5pIHtcbiAgICAqcGFkZGluZy10b3A6IDFweDtcbiAgICAqcGFkZGluZy1ib3R0b206IDFweDtcbiAgfVxufVxuXG5cbi8vIExpbmsgYnV0dG9uc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZSBhIGJ1dHRvbiBsb29rIGFuZCBiZWhhdmUgbGlrZSBhIGxpbmtcbi5idG4tbGluayxcbi5idG4tbGluazphY3RpdmUsXG4uYnRuLWxpbmtbZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIC5ib3gtc2hhZG93KG5vbmUpO1xufVxuLmJ0bi1saW5rIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogQGxpbmtDb2xvcjtcbiAgLmJvcmRlci1yYWRpdXMoMCk7XG59XG4uYnRuLWxpbms6aG92ZXIsXG4uYnRuLWxpbms6Zm9jdXMge1xuICBjb2xvcjogQGxpbmtDb2xvckhvdmVyO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4uYnRuLWxpbmtbZGlzYWJsZWRdOmhvdmVyLFxuLmJ0bi1saW5rW2Rpc2FibGVkXTpmb2N1cyB7XG4gIGNvbG9yOiBAZ3JheURhcms7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cbiIsIi8vXG4vLyBCdXR0b24gZ3JvdXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIE1ha2UgdGhlIGRpdiBiZWhhdmUgbGlrZSBhIGJ1dHRvblxuLmJ0bi1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAuaWU3LWlubGluZS1ibG9jaygpO1xuICBmb250LXNpemU6IDA7IC8vIHJlbW92ZSBhcyBwYXJ0IDEgb2YgZm9udC1zaXplIGlubGluZS1ibG9jayBoYWNrXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8vIG1hdGNoIC5idG4gYWxpZ25tZW50IGdpdmVuIGZvbnQtc2l6ZSBoYWNrIGFib3ZlXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbnQgYnV0dG9ucyBmcm9tIHdyYXBwaW5nIHdoZW4gaW4gdGlnaHQgc3BhY2VzIChlLmcuLCB0aGUgdGFibGUgb24gdGhlIHRlc3RzIHBhZ2UpXG4gIC5pZTctcmVzdG9yZS1sZWZ0LXdoaXRlc3BhY2UoKTtcbn1cblxuLy8gU3BhY2Ugb3V0IHNlcmllcyBvZiBidXR0b24gZ3JvdXBzXG4uYnRuLWdyb3VwICsgLmJ0bi1ncm91cCB7XG4gIG1hcmdpbi1sZWZ0OiA1cHg7XG59XG5cbi8vIE9wdGlvbmFsOiBHcm91cCBtdWx0aXBsZSBidXR0b24gZ3JvdXBzIHRvZ2V0aGVyIGZvciBhIHRvb2xiYXJcbi5idG4tdG9vbGJhciB7XG4gIGZvbnQtc2l6ZTogMDsgLy8gSGFjayB0byByZW1vdmUgd2hpdGVzcGFjZSB0aGF0IHJlc3VsdHMgZnJvbSB1c2luZyBpbmxpbmUtYmxvY2tcbiAgbWFyZ2luLXRvcDogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbiAgPiAuYnRuICsgLmJ0bixcbiAgPiAuYnRuLWdyb3VwICsgLmJ0bixcbiAgPiAuYnRuICsgLmJ0bi1ncm91cCB7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgfVxufVxuXG4vLyBGbG9hdCB0aGVtLCByZW1vdmUgYm9yZGVyIHJhZGl1cywgdGhlbiByZS1hZGQgdG8gZmlyc3QgYW5kIGxhc3QgZWxlbWVudHNcbi5idG4tZ3JvdXAgPiAuYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuYm9yZGVyLXJhZGl1cygwKTtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuICsgLmJ0biB7XG4gIG1hcmdpbi1sZWZ0OiAtMXB4O1xufVxuLmJ0bi1ncm91cCA+IC5idG4sXG4uYnRuLWdyb3VwID4gLmRyb3Bkb3duLW1lbnUsXG4uYnRuLWdyb3VwID4gLnBvcG92ZXIge1xuICBmb250LXNpemU6IEBiYXNlRm9udFNpemU7IC8vIHJlZGVjbGFyZSBhcyBwYXJ0IDIgb2YgZm9udC1zaXplIGlubGluZS1ibG9jayBoYWNrXG59XG5cbi8vIFJlc2V0IGZvbnRzIGZvciBvdGhlciBzaXplc1xuLmJ0bi1ncm91cCA+IC5idG4tbWluaSB7XG4gIGZvbnQtc2l6ZTogQGZvbnRTaXplTWluaTtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLXNtYWxsIHtcbiAgZm9udC1zaXplOiBAZm9udFNpemVTbWFsbDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxhcmdlIHtcbiAgZm9udC1zaXplOiBAZm9udFNpemVMYXJnZTtcbn1cblxuLy8gU2V0IGNvcm5lcnMgaW5kaXZpZHVhbCBiZWNhdXNlIHNvbWV0aW1lcyBhIHNpbmdsZSBidXR0b24gY2FuIGJlIGluIGEgLmJ0bi1ncm91cCBhbmQgd2UgbmVlZCA6Zmlyc3QtY2hpbGQgYW5kIDpsYXN0LWNoaWxkIHRvIGJvdGggbWF0Y2hcbi5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuLy8gTmVlZCAuZHJvcGRvd24tdG9nZ2xlIHNpbmNlIDpsYXN0LWNoaWxkIGRvZXNuJ3QgYXBwbHkgZ2l2ZW4gYSAuZHJvcGRvd24tbWVudSBpbW1lZGlhdGVseSBhZnRlciBpdFxuLmJ0bi1ncm91cCA+IC5idG46bGFzdC1jaGlsZCxcbi5idG4tZ3JvdXAgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgLmJvcmRlci10b3AtcmlnaHQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbiAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbn1cbi8vIFJlc2V0IGNvcm5lcnMgZm9yIGxhcmdlIGJ1dHRvbnNcbi5idG4tZ3JvdXAgPiAuYnRuLmxhcmdlOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIC5ib3JkZXItdG9wLWxlZnQtcmFkaXVzKEBib3JkZXJSYWRpdXNMYXJnZSk7XG4gIC5ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzKEBib3JkZXJSYWRpdXNMYXJnZSk7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi5sYXJnZTpsYXN0LWNoaWxkLFxuLmJ0bi1ncm91cCA+IC5sYXJnZS5kcm9wZG93bi10b2dnbGUge1xuICAuYm9yZGVyLXRvcC1yaWdodC1yYWRpdXMoQGJvcmRlclJhZGl1c0xhcmdlKTtcbiAgLmJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzKEBib3JkZXJSYWRpdXNMYXJnZSk7XG59XG5cbi8vIE9uIGhvdmVyL2ZvY3VzL2FjdGl2ZSwgYnJpbmcgdGhlIHByb3BlciBidG4gdG8gZnJvbnRcbi5idG4tZ3JvdXAgPiAuYnRuOmhvdmVyLFxuLmJ0bi1ncm91cCA+IC5idG46Zm9jdXMsXG4uYnRuLWdyb3VwID4gLmJ0bjphY3RpdmUsXG4uYnRuLWdyb3VwID4gLmJ0bi5hY3RpdmUge1xuICB6LWluZGV4OiAyO1xufVxuXG4vLyBPbiBhY3RpdmUgYW5kIG9wZW4sIGRvbid0IHNob3cgb3V0bGluZVxuLmJ0bi1ncm91cCAuZHJvcGRvd24tdG9nZ2xlOmFjdGl2ZSxcbi5idG4tZ3JvdXAub3BlbiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgb3V0bGluZTogMDtcbn1cblxuXG5cbi8vIFNwbGl0IGJ1dHRvbiBkcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gR2l2ZSB0aGUgbGluZSBiZXR3ZWVuIGJ1dHRvbnMgc29tZSBkZXB0aFxuLmJ0bi1ncm91cCA+IC5idG4gKyAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDhweDtcbiAgLmJveC1zaGFkb3coflwiaW5zZXQgMXB4IDAgMCByZ2JhKDI1NSwyNTUsMjU1LC4xMjUpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LDI1NSwyNTUsLjIpLCAwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpXCIpO1xuICAqcGFkZGluZy10b3A6IDVweDtcbiAgKnBhZGRpbmctYm90dG9tOiA1cHg7XG59XG4uYnRuLWdyb3VwID4gLmJ0bi1taW5pICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICpwYWRkaW5nLXRvcDogMnB4O1xuICAqcGFkZGluZy1ib3R0b206IDJweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLXNtYWxsICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICpwYWRkaW5nLXRvcDogNXB4O1xuICAqcGFkZGluZy1ib3R0b206IDRweDtcbn1cbi5idG4tZ3JvdXAgPiAuYnRuLWxhcmdlICsgLmRyb3Bkb3duLXRvZ2dsZSB7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgKnBhZGRpbmctdG9wOiA3cHg7XG4gICpwYWRkaW5nLWJvdHRvbTogN3B4O1xufVxuXG4uYnRuLWdyb3VwLm9wZW4ge1xuXG4gIC8vIFRoZSBjbGlja2FibGUgYnV0dG9uIGZvciB0b2dnbGluZyB0aGUgbWVudVxuICAvLyBSZW1vdmUgdGhlIGdyYWRpZW50IGFuZCBzZXQgdGhlIHNhbWUgaW5zZXQgc2hhZG93IGFzIHRoZSA6YWN0aXZlIHN0YXRlXG4gIC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAycHggNHB4IHJnYmEoMCwwLDAsLjE1KSwgMCAxcHggMnB4IHJnYmEoMCwwLDAsLjA1KVwiKTtcbiAgfVxuXG4gIC8vIEtlZXAgdGhlIGhvdmVyJ3MgYmFja2dyb3VuZCB3aGVuIGRyb3Bkb3duIGlzIG9wZW5cbiAgLmJ0bi5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBidG5CYWNrZ3JvdW5kSGlnaGxpZ2h0O1xuICB9XG4gIC5idG4tcHJpbWFyeS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBidG5QcmltYXJ5QmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgfVxuICAuYnRuLXdhcm5pbmcuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnRuV2FybmluZ0JhY2tncm91bmRIaWdobGlnaHQ7XG4gIH1cbiAgLmJ0bi1kYW5nZXIuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnRuRGFuZ2VyQmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgfVxuICAuYnRuLXN1Y2Nlc3MuZHJvcGRvd24tdG9nZ2xlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBAYnRuU3VjY2Vzc0JhY2tncm91bmRIaWdobGlnaHQ7XG4gIH1cbiAgLmJ0bi1pbmZvLmRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJ0bkluZm9CYWNrZ3JvdW5kSGlnaGxpZ2h0O1xuICB9XG4gIC5idG4taW52ZXJzZS5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBidG5JbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgfVxufVxuXG5cbi8vIFJlcG9zaXRpb24gdGhlIGNhcmV0XG4uYnRuIC5jYXJldCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG4vLyBDYXJldHMgaW4gb3RoZXIgYnV0dG9uIHNpemVzXG4uYnRuLWxhcmdlIC5jYXJldCB7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cbi5idG4tbGFyZ2UgLmNhcmV0IHtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6ICA1cHg7XG4gIGJvcmRlci1yaWdodC13aWR0aDogNXB4O1xuICBib3JkZXItdG9wLXdpZHRoOiAgIDVweDtcbn1cbi5idG4tbWluaSAuY2FyZXQsXG4uYnRuLXNtYWxsIC5jYXJldCB7XG4gIG1hcmdpbi10b3A6IDhweDtcbn1cbi8vIFVwc2lkZSBkb3duIGNhcmV0cyBmb3IgLmRyb3B1cFxuLmRyb3B1cCAuYnRuLWxhcmdlIC5jYXJldCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDVweDtcbn1cblxuXG5cbi8vIEFjY291bnQgZm9yIG90aGVyIGNvbG9yc1xuLmJ0bi1wcmltYXJ5LFxuLmJ0bi13YXJuaW5nLFxuLmJ0bi1kYW5nZXIsXG4uYnRuLWluZm8sXG4uYnRuLXN1Y2Nlc3MsXG4uYnRuLWludmVyc2Uge1xuICAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6IEB3aGl0ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAd2hpdGU7XG4gIH1cbn1cblxuXG5cbi8vIFZlcnRpY2FsIGJ1dHRvbiBncm91cHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmJ0bi1ncm91cC12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8gbWFrZXMgYnV0dG9ucyBvbmx5IHRha2UgdXAgdGhlIHdpZHRoIHRoZXkgbmVlZFxuICAuaWU3LWlubGluZS1ibG9jaygpO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgLmJvcmRlci1yYWRpdXMoMCk7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0biArIC5idG4ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXRvcDogLTFweDtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMgQGJhc2VCb3JkZXJSYWRpdXMgMCAwKTtcbn1cbi5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuOmxhc3QtY2hpbGQge1xuICAuYm9yZGVyLXJhZGl1cygwIDAgQGJhc2VCb3JkZXJSYWRpdXMgQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuLmJ0bi1ncm91cC12ZXJ0aWNhbCA+IC5idG4tbGFyZ2U6Zmlyc3QtY2hpbGQge1xuICAuYm9yZGVyLXJhZGl1cyhAYm9yZGVyUmFkaXVzTGFyZ2UgQGJvcmRlclJhZGl1c0xhcmdlIDAgMCk7XG59XG4uYnRuLWdyb3VwLXZlcnRpY2FsID4gLmJ0bi1sYXJnZTpsYXN0LWNoaWxkIHtcbiAgLmJvcmRlci1yYWRpdXMoMCAwIEBib3JkZXJSYWRpdXNMYXJnZSBAYm9yZGVyUmFkaXVzTGFyZ2UpO1xufVxuIiwiLy9cbi8vIEFsZXJ0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCYXNlIHN0eWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uYWxlcnQge1xuICBwYWRkaW5nOiA4cHggMzVweCA4cHggMTRweDtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQHdhcm5pbmdCYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCBAd2FybmluZ0JvcmRlcjtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuLmFsZXJ0LFxuLmFsZXJ0IGg0IHtcbiAgLy8gU3BlY2lmaWVkIGZvciB0aGUgaDQgdG8gcHJldmVudCBjb25mbGljdHMgb2YgY2hhbmdpbmcgQGhlYWRpbmdzQ29sb3JcbiAgY29sb3I6IEB3YXJuaW5nVGV4dDtcbn1cbi5hbGVydCBoNCB7XG4gIG1hcmdpbjogMDtcbn1cblxuLy8gQWRqdXN0IGNsb3NlIGxpbmsgcG9zaXRpb25cbi5hbGVydCAuY2xvc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogLTJweDtcbiAgcmlnaHQ6IC0yMXB4O1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xufVxuXG5cbi8vIEFsdGVybmF0ZSBzdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmFsZXJ0LXN1Y2Nlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAc3VjY2Vzc0JhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQHN1Y2Nlc3NCb3JkZXI7XG4gIGNvbG9yOiBAc3VjY2Vzc1RleHQ7XG59XG4uYWxlcnQtc3VjY2VzcyBoNCB7XG4gIGNvbG9yOiBAc3VjY2Vzc1RleHQ7XG59XG4uYWxlcnQtZGFuZ2VyLFxuLmFsZXJ0LWVycm9yIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yQmFja2dyb3VuZDtcbiAgYm9yZGVyLWNvbG9yOiBAZXJyb3JCb3JkZXI7XG4gIGNvbG9yOiBAZXJyb3JUZXh0O1xufVxuLmFsZXJ0LWRhbmdlciBoNCxcbi5hbGVydC1lcnJvciBoNCB7XG4gIGNvbG9yOiBAZXJyb3JUZXh0O1xufVxuLmFsZXJ0LWluZm8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAaW5mb0JhY2tncm91bmQ7XG4gIGJvcmRlci1jb2xvcjogQGluZm9Cb3JkZXI7XG4gIGNvbG9yOiBAaW5mb1RleHQ7XG59XG4uYWxlcnQtaW5mbyBoNCB7XG4gIGNvbG9yOiBAaW5mb1RleHQ7XG59XG5cblxuLy8gQmxvY2sgYWxlcnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5hbGVydC1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiAxNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMTRweDtcbn1cbi5hbGVydC1ibG9jayA+IHAsXG4uYWxlcnQtYmxvY2sgPiB1bCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4uYWxlcnQtYmxvY2sgcCArIHAge1xuICBtYXJnaW4tdG9wOiA1cHg7XG59XG4iLCIvL1xuLy8gTmF2c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBCQVNFIENMQVNTXG4vLyAtLS0tLS0tLS0tXG5cbi5uYXYge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBNYWtlIGxpbmtzIGJsb2NrIGxldmVsXG4ubmF2ID4gbGkgPiBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG4ubmF2ID4gbGkgPiBhOmhvdmVyLFxuLm5hdiA+IGxpID4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXlMaWdodGVyO1xufVxuXG4vLyBQcmV2ZW50IElFOCBmcm9tIG1pc3BsYWNpbmcgaW1nc1xuLy8gU2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2lzc3Vlcy85ODQjaXNzdWVjb21tZW50LTM5ODU5ODlcbi5uYXYgPiBsaSA+IGEgPiBpbWcge1xuICBtYXgtd2lkdGg6IG5vbmU7XG59XG5cbi8vIFJlZGVjbGFyZSBwdWxsIGNsYXNzZXMgYmVjYXVzZSBvZiBzcGVjaWZpdHlcbi5uYXYgPiAucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cblxuLy8gTmF2IGhlYWRlcnMgKGZvciBkcm9wZG93bnMgYW5kIGxpc3RzKVxuLm5hdi1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogM3B4IDE1cHg7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC41KTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi8vIFNwYWNlIHRoZW0gb3V0IHdoZW4gdGhleSBmb2xsb3cgYW5vdGhlciBsaXN0IGl0ZW0gKGxpbmspXG4ubmF2IGxpICsgLm5hdi1oZWFkZXIge1xuICBtYXJnaW4tdG9wOiA5cHg7XG59XG5cblxuXG4vLyBOQVYgTElTVFxuLy8gLS0tLS0tLS1cblxuLm5hdi1saXN0IHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuLm5hdi1saXN0ID4gbGkgPiBhLFxuLm5hdi1saXN0IC5uYXYtaGVhZGVyIHtcbiAgbWFyZ2luLWxlZnQ6ICAtMTVweDtcbiAgbWFyZ2luLXJpZ2h0OiAtMTVweDtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgcmdiYSgyNTUsMjU1LDI1NSwuNSk7XG59XG4ubmF2LWxpc3QgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAzcHggMTVweDtcbn1cbi5uYXYtbGlzdCA+IC5hY3RpdmUgPiBhLFxuLm5hdi1saXN0ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LWxpc3QgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAd2hpdGU7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGxpbmtDb2xvcjtcbn1cbi5uYXYtbGlzdCBbY2xhc3NePVwiaWNvbi1cIl0sXG4ubmF2LWxpc3QgW2NsYXNzKj1cIiBpY29uLVwiXSB7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xufVxuLy8gRGl2aWRlcnMgKGJhc2ljYWxseSBhbiBocikgd2l0aGluIHRoZSBkcm9wZG93blxuLm5hdi1saXN0IC5kaXZpZGVyIHtcbiAgLm5hdi1kaXZpZGVyKCk7XG59XG5cblxuXG4vLyBUQUJTIEFORCBQSUxMU1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyBDb21tb24gc3R5bGVzXG4ubmF2LXRhYnMsXG4ubmF2LXBpbGxzIHtcbiAgLmNsZWFyZml4KCk7XG59XG4ubmF2LXRhYnMgPiBsaSxcbi5uYXYtcGlsbHMgPiBsaSB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuLm5hdi10YWJzID4gbGkgPiBhLFxuLm5hdi1waWxscyA+IGxpID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEycHg7XG4gIHBhZGRpbmctbGVmdDogMTJweDtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyAvLyBrZWVwcyB0aGUgb3ZlcmFsbCBoZWlnaHQgYW4gZXZlbiBudW1iZXJcbn1cblxuLy8gVEFCU1xuLy8gLS0tLVxuXG4vLyBHaXZlIHRoZSB0YWJzIHNvbWV0aGluZyB0byBzaXQgb25cbi5uYXYtdGFicyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGRkO1xufVxuLy8gTWFrZSB0aGUgbGlzdC1pdGVtcyBvdmVybGF5IHRoZSBib3R0b20gYm9yZGVyXG4ubmF2LXRhYnMgPiBsaSB7XG4gIG1hcmdpbi1ib3R0b206IC0xcHg7XG59XG4vLyBBY3R1YWwgdGFicyAoYXMgbGlua3MpXG4ubmF2LXRhYnMgPiBsaSA+IGEge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgLmJvcmRlci1yYWRpdXMoNHB4IDRweCAwIDApO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6IEBncmF5TGlnaHRlciBAZ3JheUxpZ2h0ZXIgI2RkZDtcbiAgfVxufVxuLy8gQWN0aXZlIHN0YXRlLCBhbmQgaXQncyA6aG92ZXIvOmZvY3VzIHRvIG92ZXJyaWRlIG5vcm1hbCA6aG92ZXIvOmZvY3VzXG4ubmF2LXRhYnMgPiAuYWN0aXZlID4gYSxcbi5uYXYtdGFicyA+IC5hY3RpdmUgPiBhOmhvdmVyLFxuLm5hdi10YWJzID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogQGdyYXk7XG4gIGJhY2tncm91bmQtY29sb3I6IEBib2R5QmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuXG4vLyBQSUxMU1xuLy8gLS0tLS1cblxuLy8gTGlua3MgcmVuZGVyZWQgYXMgcGlsbHNcbi5uYXYtcGlsbHMgPiBsaSA+IGEge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLWJvdHRvbTogOHB4O1xuICBtYXJnaW4tdG9wOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgLmJvcmRlci1yYWRpdXMoNXB4KTtcbn1cblxuLy8gQWN0aXZlIHN0YXRlXG4ubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGEsXG4ubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2LXBpbGxzID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjb2xvcjogQHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbGlua0NvbG9yO1xufVxuXG5cblxuLy8gU1RBQ0tFRCBOQVZcbi8vIC0tLS0tLS0tLS0tXG5cbi8vIFN0YWNrZWQgdGFicyBhbmQgcGlsbHNcbi5uYXYtc3RhY2tlZCA+IGxpIHtcbiAgZmxvYXQ6IG5vbmU7XG59XG4ubmF2LXN0YWNrZWQgPiBsaSA+IGEge1xuICBtYXJnaW4tcmlnaHQ6IDA7IC8vIG5vIG5lZWQgZm9yIHRoZSBnYXAgYmV0d2VlbiBuYXYgaXRlbXNcbn1cblxuLy8gVGFic1xuLm5hdi10YWJzLm5hdi1zdGFja2VkIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cbi5uYXYtdGFicy5uYXYtc3RhY2tlZCA+IGxpID4gYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gIC5ib3JkZXItcmFkaXVzKDApO1xufVxuLm5hdi10YWJzLm5hdi1zdGFja2VkID4gbGk6Zmlyc3QtY2hpbGQgPiBhIHtcbiAgLmJvcmRlci10b3AtcmFkaXVzKDRweCk7XG59XG4ubmF2LXRhYnMubmF2LXN0YWNrZWQgPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gIC5ib3JkZXItYm90dG9tLXJhZGl1cyg0cHgpO1xufVxuLm5hdi10YWJzLm5hdi1zdGFja2VkID4gbGkgPiBhOmhvdmVyLFxuLm5hdi10YWJzLm5hdi1zdGFja2VkID4gbGkgPiBhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiAjZGRkO1xuICB6LWluZGV4OiAyO1xufVxuXG4vLyBQaWxsc1xuLm5hdi1waWxscy5uYXYtc3RhY2tlZCA+IGxpID4gYSB7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cbi5uYXYtcGlsbHMubmF2LXN0YWNrZWQgPiBsaTpsYXN0LWNoaWxkID4gYSB7XG4gIG1hcmdpbi1ib3R0b206IDFweDsgLy8gZGVjcmVhc2UgbWFyZ2luIHRvIG1hdGNoIHNpemluZyBvZiBzdGFja2VkIHRhYnNcbn1cblxuXG5cbi8vIERST1BET1dOU1xuLy8gLS0tLS0tLS0tXG5cbi5uYXYtdGFicyAuZHJvcGRvd24tbWVudSB7XG4gIC5ib3JkZXItcmFkaXVzKDAgMCA2cHggNnB4KTsgLy8gcmVtb3ZlIHRoZSB0b3Agcm91bmRlZCBjb3JuZXJzIGhlcmUgc2luY2UgdGhlcmUgaXMgYSBoYXJkIGVkZ2UgYWJvdmUgdGhlIG1lbnVcbn1cbi5uYXYtcGlsbHMgLmRyb3Bkb3duLW1lbnUge1xuICAuYm9yZGVyLXJhZGl1cyg2cHgpOyAvLyBtYWtlIHJvdW5kZWQgY29ybmVycyBtYXRjaCB0aGUgcGlsbHNcbn1cblxuLy8gRGVmYXVsdCBkcm9wZG93biBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWFrZSBjYXJldHMgdXNlIGxpbmtDb2xvciB0byBzdGFydFxuLm5hdiAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBsaW5rQ29sb3I7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IEBsaW5rQ29sb3I7XG4gIG1hcmdpbi10b3A6IDZweDtcbn1cbi5uYXYgLmRyb3Bkb3duLXRvZ2dsZTpob3ZlciAuY2FyZXQsXG4ubmF2IC5kcm9wZG93bi10b2dnbGU6Zm9jdXMgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQGxpbmtDb2xvckhvdmVyO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAbGlua0NvbG9ySG92ZXI7XG59XG4vKiBtb3ZlIGRvd24gY2FyZXRzIGZvciB0YWJzICovXG4ubmF2LXRhYnMgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi8vIEFjdGl2ZSBkcm9wZG93biBsaW5rc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdiAuYWN0aXZlIC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjtcbn1cbi5uYXYtdGFicyAuYWN0aXZlIC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQGdyYXk7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IEBncmF5O1xufVxuXG4vLyBBY3RpdmU6aG92ZXIvOmZvY3VzIGRyb3Bkb3duIGxpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2ID4gLmRyb3Bkb3duLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2ID4gLmRyb3Bkb3duLmFjdGl2ZSA+IGE6Zm9jdXMge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vIE9wZW4gZHJvcGRvd25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2LXRhYnMgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXYtcGlsbHMgLm9wZW4gLmRyb3Bkb3duLXRvZ2dsZSxcbi5uYXYgPiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2ID4gbGkuZHJvcGRvd24ub3Blbi5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgY29sb3I6IEB3aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXlMaWdodDtcbiAgYm9yZGVyLWNvbG9yOiBAZ3JheUxpZ2h0O1xufVxuLm5hdiBsaS5kcm9wZG93bi5vcGVuIC5jYXJldCxcbi5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmUgLmNhcmV0LFxuLm5hdiBsaS5kcm9wZG93bi5vcGVuIGE6aG92ZXIgLmNhcmV0LFxuLm5hdiBsaS5kcm9wZG93bi5vcGVuIGE6Zm9jdXMgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQHdoaXRlO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAd2hpdGU7XG4gIC5vcGFjaXR5KDEwMCk7XG59XG5cbi8vIERyb3Bkb3ducyBpbiBzdGFja2VkIHRhYnNcbi50YWJzLXN0YWNrZWQgLm9wZW4gPiBhOmhvdmVyLFxuLnRhYnMtc3RhY2tlZCAub3BlbiA+IGE6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IEBncmF5TGlnaHQ7XG59XG5cblxuXG4vLyBUQUJCQUJMRVxuLy8gLS0tLS0tLS1cblxuXG4vLyBDT01NT04gU1RZTEVTXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vIENsZWFyIGFueSBmbG9hdHNcbi50YWJiYWJsZSB7XG4gIC5jbGVhcmZpeCgpO1xufVxuLnRhYi1jb250ZW50IHtcbiAgb3ZlcmZsb3c6IGF1dG87IC8vIHByZXZlbnQgY29udGVudCBmcm9tIHJ1bm5pbmcgYmVsb3cgdGFic1xufVxuXG4vLyBSZW1vdmUgYm9yZGVyIG9uIGJvdHRvbSwgbGVmdCwgcmlnaHRcbi50YWJzLWJlbG93ID4gLm5hdi10YWJzLFxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMsXG4udGFicy1sZWZ0ID4gLm5hdi10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbn1cblxuLy8gU2hvdy9oaWRlIHRhYmJhYmxlIGFyZWFzXG4udGFiLWNvbnRlbnQgPiAudGFiLXBhbmUsXG4ucGlsbC1jb250ZW50ID4gLnBpbGwtcGFuZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4udGFiLWNvbnRlbnQgPiAuYWN0aXZlLFxuLnBpbGwtY29udGVudCA+IC5hY3RpdmUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuXG4vLyBCT1RUT01cbi8vIC0tLS0tLVxuXG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xufVxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiBsaSB7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyA+IGxpID4gYSB7XG4gIC5ib3JkZXItcmFkaXVzKDAgMCA0cHggNHB4KTtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2RkZDtcbiAgfVxufVxuLnRhYnMtYmVsb3cgPiAubmF2LXRhYnMgPiAuYWN0aXZlID4gYSxcbi50YWJzLWJlbG93ID4gLm5hdi10YWJzID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4udGFicy1iZWxvdyA+IC5uYXYtdGFicyA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZGRkICNkZGQgI2RkZDtcbn1cblxuLy8gTEVGVCAmIFJJR0hUXG4vLyAtLS0tLS0tLS0tLS1cblxuLy8gQ29tbW9uIHN0eWxlc1xuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpLFxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgPiBsaSB7XG4gIGZsb2F0OiBub25lO1xufVxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpID4gYSxcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgbWluLXdpZHRoOiA3NHB4O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDNweDtcbn1cblxuLy8gVGFicyBvbiB0aGUgbGVmdFxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDE5cHg7XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGQ7XG59XG4udGFicy1sZWZ0ID4gLm5hdi10YWJzID4gbGkgPiBhIHtcbiAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAuYm9yZGVyLXJhZGl1cyg0cHggMCAwIDRweCk7XG59XG4udGFicy1sZWZ0ID4gLm5hdi10YWJzID4gbGkgPiBhOmhvdmVyLFxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyA+IGxpID4gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogQGdyYXlMaWdodGVyICNkZGQgQGdyYXlMaWdodGVyIEBncmF5TGlnaHRlcjtcbn1cbi50YWJzLWxlZnQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGEsXG4udGFicy1sZWZ0ID4gLm5hdi10YWJzIC5hY3RpdmUgPiBhOmhvdmVyLFxuLnRhYnMtbGVmdCA+IC5uYXYtdGFicyAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2RkZCB0cmFuc3BhcmVudCAjZGRkICNkZGQ7XG4gICpib3JkZXItcmlnaHQtY29sb3I6IEB3aGl0ZTtcbn1cblxuLy8gVGFicyBvbiB0aGUgcmlnaHRcbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tbGVmdDogMTlweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkO1xufVxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgPiBsaSA+IGEge1xuICBtYXJnaW4tbGVmdDogLTFweDtcbiAgLmJvcmRlci1yYWRpdXMoMCA0cHggNHB4IDApO1xufVxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIsXG4udGFicy1yaWdodCA+IC5uYXYtdGFicyA+IGxpID4gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogQGdyYXlMaWdodGVyIEBncmF5TGlnaHRlciBAZ3JheUxpZ2h0ZXIgI2RkZDtcbn1cbi50YWJzLXJpZ2h0ID4gLm5hdi10YWJzIC5hY3RpdmUgPiBhLFxuLnRhYnMtcmlnaHQgPiAubmF2LXRhYnMgLmFjdGl2ZSA+IGE6aG92ZXIsXG4udGFicy1yaWdodCA+IC5uYXYtdGFicyAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGJvcmRlci1jb2xvcjogI2RkZCAjZGRkICNkZGQgdHJhbnNwYXJlbnQ7XG4gICpib3JkZXItbGVmdC1jb2xvcjogQHdoaXRlO1xufVxuXG5cblxuLy8gRElTQUJMRUQgU1RBVEVTXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuLy8gR3JheSBvdXQgdGV4dFxuLm5hdiA+IC5kaXNhYmxlZCA+IGEge1xuICBjb2xvcjogQGdyYXlMaWdodDtcbn1cbi8vIE51a2UgaG92ZXIvZm9jdXMgZWZmZWN0c1xuLm5hdiA+IC5kaXNhYmxlZCA+IGE6aG92ZXIsXG4ubmF2ID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbiIsIi8vXG4vLyBOYXZiYXJzIChSZWR1eClcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQ09NTU9OIFNUWUxFU1xuLy8gLS0tLS0tLS0tLS0tLVxuXG4vLyBCYXNlIGNsYXNzIGFuZCB3cmFwcGVyXG4ubmF2YmFyIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcblxuICAvLyBGaXggZm9yIElFNydzIGJhZCB6LWluZGV4aW5nIHNvIGRyb3Bkb3ducyBkb24ndCBhcHBlYXIgYmVsb3cgY29udGVudCB0aGF0IGZvbGxvd3MgdGhlIG5hdmJhclxuICAqcG9zaXRpb246IHJlbGF0aXZlO1xuICAqei1pbmRleDogMjtcbn1cblxuLy8gSW5uZXIgZm9yIGJhY2tncm91bmQgZWZmZWN0c1xuLy8gR3JhZGllbnQgaXMgYXBwbGllZCB0byBpdHMgb3duIGVsZW1lbnQgYmVjYXVzZSBvdmVyZmxvdyB2aXNpYmxlIGlzIG5vdCBob25vcmVkIGJ5IElFIHdoZW4gZmlsdGVyIGlzIHByZXNlbnRcbi5uYXZiYXItaW5uZXIge1xuICBtaW4taGVpZ2h0OiBAbmF2YmFySGVpZ2h0O1xuICBwYWRkaW5nLWxlZnQ6ICAyMHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoQG5hdmJhckJhY2tncm91bmRIaWdobGlnaHQsIEBuYXZiYXJCYWNrZ3JvdW5kKTtcbiAgYm9yZGVyOiAxcHggc29saWQgQG5hdmJhckJvcmRlcjtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICAuYm94LXNoYWRvdygwIDFweCA0cHggcmdiYSgwLDAsMCwuMDY1KSk7XG5cbiAgLy8gUHJldmVudCBmbG9hdHMgZnJvbSBicmVha2luZyB0aGUgbmF2YmFyXG4gIC5jbGVhcmZpeCgpO1xufVxuXG4vLyBTZXQgd2lkdGggdG8gYXV0byBmb3IgZGVmYXVsdCBjb250YWluZXJcbi8vIFdlIHRoZW4gcmVzZXQgaXQgZm9yIGZpeGVkIG5hdmJhcnMgaW4gdGhlICNncmlkU3lzdGVtIG1peGluXG4ubmF2YmFyIC5jb250YWluZXIge1xuICB3aWR0aDogYXV0bztcbn1cblxuLy8gT3ZlcnJpZGUgdGhlIGRlZmF1bHQgY29sbGFwc2VkIHN0YXRlXG4ubmF2LWNvbGxhcHNlLmNvbGxhcHNlIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuXG4vLyBCcmFuZDogd2Vic2l0ZSBvciBwcm9qZWN0IG5hbWVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXZiYXIgLmJyYW5kIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciB0aGUgdGV4dCBnaXZlbiBAbmF2YmFySGVpZ2h0XG4gIHBhZGRpbmc6ICgoQG5hdmJhckhlaWdodCAtIEBiYXNlTGluZUhlaWdodCkgLyAyKSAyMHB4ICgoQG5hdmJhckhlaWdodCAtIEBiYXNlTGluZUhlaWdodCkgLyAyKTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4OyAvLyBuZWdhdGl2ZSBpbmRlbnQgdG8gbGVmdC1hbGlnbiB0aGUgdGV4dCBkb3duIHRoZSBwYWdlXG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDIwMDtcbiAgY29sb3I6IEBuYXZiYXJCcmFuZENvbG9yO1xuICB0ZXh0LXNoYWRvdzogMCAxcHggMCBAbmF2YmFyQmFja2dyb3VuZEhpZ2hsaWdodDtcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59XG5cbi8vIFBsYWluIHRleHQgaW4gdG9wYmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBsaW5lLWhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgY29sb3I6IEBuYXZiYXJUZXh0O1xufVxuXG4vLyBKYW5reSBzb2x1dGlvbiBmb3Igbm93IHRvIGFjY291bnQgZm9yIGxpbmtzIG91dHNpZGUgdGhlIC5uYXZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXZiYXItbGluayB7XG4gIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9yO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogQG5hdmJhckxpbmtDb2xvckhvdmVyO1xuICB9XG59XG5cbi8vIERpdmlkZXJzIGluIG5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdmJhciAuZGl2aWRlci12ZXJ0aWNhbCB7XG4gIGhlaWdodDogQG5hdmJhckhlaWdodDtcbiAgbWFyZ2luOiAwIDlweDtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBAbmF2YmFyQmFja2dyb3VuZDtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgQG5hdmJhckJhY2tncm91bmRIaWdobGlnaHQ7XG59XG5cbi8vIEJ1dHRvbnMgaW4gbmF2YmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyIC5idG4sXG4ubmF2YmFyIC5idG4tZ3JvdXAge1xuICAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTsgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gbmF2YmFyXG59XG4ubmF2YmFyIC5idG4tZ3JvdXAgLmJ0bixcbi5uYXZiYXIgLmlucHV0LXByZXBlbmQgLmJ0bixcbi5uYXZiYXIgLmlucHV0LWFwcGVuZCAuYnRuLFxuLm5hdmJhciAuaW5wdXQtcHJlcGVuZCAuYnRuLWdyb3VwLFxuLm5hdmJhciAuaW5wdXQtYXBwZW5kIC5idG4tZ3JvdXAge1xuICBtYXJnaW4tdG9wOiAwOyAvLyB0aGVuIHVuZG8gdGhlIG1hcmdpbiBoZXJlIHNvIHdlIGRvbid0IGFjY2lkZW50YWxseSBkb3VibGUgaXRcbn1cblxuLy8gTmF2YmFyIGZvcm1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubmF2YmFyLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyByZW1vdmUgZGVmYXVsdCBib3R0b20gbWFyZ2luXG4gIC5jbGVhcmZpeCgpO1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICAucmFkaW8sXG4gIC5jaGVja2JveCB7XG4gICAgLm5hdmJhclZlcnRpY2FsQWxpZ24oMzBweCk7IC8vIFZlcnRpY2FsbHkgY2VudGVyIGluIG5hdmJhclxuICB9XG4gIGlucHV0LFxuICBzZWxlY3QsXG4gIC5idG4ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIGlucHV0W3R5cGU9XCJpbWFnZVwiXSxcbiAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbi10b3A6IDNweDtcbiAgfVxuICAuaW5wdXQtYXBwZW5kLFxuICAuaW5wdXQtcHJlcGVuZCB7XG4gICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIHByZXZlbiB0d28gIGl0ZW1zIGZyb20gc2VwYXJhdGluZyB3aXRoaW4gYSAubmF2YmFyLWZvcm0gdGhhdCBoYXMgLnB1bGwtbGVmdFxuICAgIGlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IC8vIHJlbW92ZSB0aGUgbWFyZ2luIG9uIHRvcCBzaW5jZSBpdCdzIG9uIHRoZSBwYXJlbnRcbiAgICB9XG4gIH1cbn1cblxuLy8gTmF2YmFyIHNlYXJjaFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLm5hdmJhci1zZWFyY2gge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICAubmF2YmFyVmVydGljYWxBbGlnbigzMHB4KTsgLy8gVmVydGljYWxseSBjZW50ZXIgaW4gbmF2YmFyXG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC5zZWFyY2gtcXVlcnkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogNHB4IDE0cHg7XG4gICAgI2ZvbnQgPiAuc2Fucy1zZXJpZigxM3B4LCBub3JtYWwsIDEpO1xuICAgIC5ib3JkZXItcmFkaXVzKDE1cHgpOyAvLyByZWRlY2xhcmUgYmVjYXVzZSBvZiBzcGVjaWZpY2l0eSBvZiB0aGUgdHlwZSBhdHRyaWJ1dGVcbiAgfVxufVxuXG5cblxuLy8gU3RhdGljIG5hdmJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ubmF2YmFyLXN0YXRpYy10b3Age1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tYm90dG9tOiAwOyAvLyByZW1vdmUgMThweCBtYXJnaW4gZm9yIGRlZmF1bHQgbmF2YmFyXG4gIC5uYXZiYXItaW5uZXIge1xuICAgIC5ib3JkZXItcmFkaXVzKDApO1xuICB9XG59XG5cblxuXG4vLyBGaXhlZCBuYXZiYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU2hhcmVkICh0b3AvYm90dG9tKSBzdHlsZXNcbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1maXhlZC1ib3R0b20ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4Rml4ZWROYXZiYXI7XG4gIG1hcmdpbi1ib3R0b206IDA7IC8vIHJlbW92ZSAxOHB4IG1hcmdpbiBmb3IgZGVmYXVsdCBuYXZiYXJcbn1cbi5uYXZiYXItZml4ZWQtdG9wIC5uYXZiYXItaW5uZXIsXG4ubmF2YmFyLXN0YXRpYy10b3AgLm5hdmJhci1pbm5lciB7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweDtcbn1cbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXZiYXItaW5uZXIge1xuICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG59XG4ubmF2YmFyLWZpeGVkLXRvcCAubmF2YmFyLWlubmVyLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLm5hdmJhci1pbm5lciB7XG4gIHBhZGRpbmctbGVmdDogIDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIC5ib3JkZXItcmFkaXVzKDApO1xufVxuXG4vLyBSZXNldCBjb250YWluZXIgd2lkdGhcbi8vIFJlcXVpcmVkIGhlcmUgYXMgd2UgcmVzZXQgdGhlIHdpZHRoIGVhcmxpZXIgb24gYW5kIHRoZSBncmlkIG1peGlucyBkb24ndCBvdmVycmlkZSBlYXJseSBlbm91Z2hcbi5uYXZiYXItc3RhdGljLXRvcCAuY29udGFpbmVyLCAgXG4ubmF2YmFyLWZpeGVkLXRvcCAuY29udGFpbmVyLFxuLm5hdmJhci1maXhlZC1ib3R0b20gLmNvbnRhaW5lciB7IFxud2lkdGg6IChAZ3JpZENvbHVtbldpZHRoICogQGdyaWRDb2x1bW5zKSArIChAZ3JpZEd1dHRlcldpZHRoICogKEBncmlkQ29sdW1ucyAtIDEpKTtcbn1cblxuLy8gRml4ZWQgdG8gdG9wXG4ubmF2YmFyLWZpeGVkLXRvcCB7XG4gIHRvcDogMDtcbn1cbi5uYXZiYXItZml4ZWQtdG9wLFxuLm5hdmJhci1zdGF0aWMtdG9wIHtcbiAgLm5hdmJhci1pbm5lciB7XG4gICAgLmJveC1zaGFkb3coflwiMCAxcHggMTBweCByZ2JhKDAsMCwwLC4xKVwiKTtcbiAgfVxufVxuXG4vLyBGaXhlZCB0byBib3R0b21cbi5uYXZiYXItZml4ZWQtYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICAubmF2YmFyLWlubmVyIHtcbiAgICAuYm94LXNoYWRvdyh+XCIwIC0xcHggMTBweCByZ2JhKDAsMCwwLC4xKVwiKTtcbiAgfVxufVxuXG5cblxuLy8gTkFWSUdBVElPTlxuLy8gLS0tLS0tLS0tLVxuXG4ubmF2YmFyIC5uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDEwcHggMCAwO1xufVxuLm5hdmJhciAubmF2LnB1bGwtcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IC8vIHJlZGVjbGFyZSBkdWUgdG8gc3BlY2lmaWNpdHlcbiAgbWFyZ2luLXJpZ2h0OiAwOyAvLyByZW1vdmUgbWFyZ2luIG9uIGZsb2F0IHJpZ2h0IG5hdlxufVxuLm5hdmJhciAubmF2ID4gbGkge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8gTGlua3Ncbi5uYXZiYXIgLm5hdiA+IGxpID4gYSB7XG4gIGZsb2F0OiBub25lO1xuICAvLyBWZXJ0aWNhbGx5IGNlbnRlciB0aGUgdGV4dCBnaXZlbiBAbmF2YmFySGVpZ2h0XG4gIHBhZGRpbmc6ICgoQG5hdmJhckhlaWdodCAtIEBiYXNlTGluZUhlaWdodCkgLyAyKSAxNXB4ICgoQG5hdmJhckhlaWdodCAtIEBiYXNlTGluZUhlaWdodCkgLyAyKTtcbiAgY29sb3I6IEBuYXZiYXJMaW5rQ29sb3I7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1zaGFkb3c6IDAgMXB4IDAgQG5hdmJhckJhY2tncm91bmRIaWdobGlnaHQ7XG59XG4ubmF2YmFyIC5uYXYgLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICBtYXJnaW4tdG9wOiA4cHg7XG59XG5cbi8vIEhvdmVyL2ZvY3VzXG4ubmF2YmFyIC5uYXYgPiBsaSA+IGE6Zm9jdXMsXG4ubmF2YmFyIC5uYXYgPiBsaSA+IGE6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAbmF2YmFyTGlua0JhY2tncm91bmRIb3ZlcjsgLy8gXCJ0cmFuc3BhcmVudFwiIGlzIGRlZmF1bHQgdG8gZGlmZmVyZW50aWF0ZSA6aG92ZXIvOmZvY3VzIGZyb20gLmFjdGl2ZVxuICBjb2xvcjogQG5hdmJhckxpbmtDb2xvckhvdmVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi8vIEFjdGl2ZSBuYXYgaXRlbXNcbi5uYXZiYXIgLm5hdiA+IC5hY3RpdmUgPiBhLFxuLm5hdmJhciAubmF2ID4gLmFjdGl2ZSA+IGE6aG92ZXIsXG4ubmF2YmFyIC5uYXYgPiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAbmF2YmFyTGlua0NvbG9yQWN0aXZlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJMaW5rQmFja2dyb3VuZEFjdGl2ZTtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAzcHggOHB4IHJnYmEoMCwwLDAsLjEyNSkpO1xufVxuXG4vLyBOYXZiYXIgYnV0dG9uIGZvciB0b2dnbGluZyBuYXZiYXIgaXRlbXMgaW4gcmVzcG9uc2l2ZSBsYXlvdXRzXG4vLyBUaGVzZSBkZWZpbml0aW9ucyBuZWVkIHRvIGNvbWUgYWZ0ZXIgJy5uYXZiYXIgLmJ0bidcbi5uYXZiYXIgLmJ0bi1uYXZiYXIge1xuICBkaXNwbGF5OiBub25lO1xuICBmbG9hdDogcmlnaHQ7XG4gIHBhZGRpbmc6IDdweCAxMHB4O1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgLmJ1dHRvbkJhY2tncm91bmQoZGFya2VuKEBuYXZiYXJCYWNrZ3JvdW5kSGlnaGxpZ2h0LCA1JSksIGRhcmtlbihAbmF2YmFyQmFja2dyb3VuZCwgNSUpKTtcbiAgLmJveC1zaGFkb3coflwiaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4wNzUpXCIpO1xufVxuLm5hdmJhciAuYnRuLW5hdmJhciAuaWNvbi1iYXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIGhlaWdodDogMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAuYm9yZGVyLXJhZGl1cygxcHgpO1xuICAuYm94LXNoYWRvdygwIDFweCAwIHJnYmEoMCwwLDAsLjI1KSk7XG59XG4uYnRuLW5hdmJhciAuaWNvbi1iYXIgKyAuaWNvbi1iYXIge1xuICBtYXJnaW4tdG9wOiAzcHg7XG59XG5cblxuXG4vLyBEcm9wZG93biBtZW51c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldHNcbi5uYXZiYXIgLm5hdiA+IGxpID4gLmRyb3Bkb3duLW1lbnUge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiAgIDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQGRyb3Bkb3duQm9yZGVyO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03cHg7XG4gICAgbGVmdDogOXB4O1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3JkZXItbGVmdDogICA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAgNnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBAZHJvcGRvd25CYWNrZ3JvdW5kO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC02cHg7XG4gICAgbGVmdDogMTBweDtcbiAgfVxufVxuLy8gTWVudSBwb3NpdGlvbiBhbmQgbWVudSBjYXJldCBzdXBwb3J0IGZvciBkcm9wdXBzIHZpYSBleHRyYSBkcm9wdXAgY2xhc3Ncbi5uYXZiYXItZml4ZWQtYm90dG9tIC5uYXYgPiBsaSA+IC5kcm9wZG93bi1tZW51IHtcbiAgJjpiZWZvcmUge1xuICAgIGJvcmRlci10b3A6IDdweCBzb2xpZCAjY2NjO1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBkcm9wZG93bkJvcmRlcjtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvdHRvbTogLTdweDtcbiAgICB0b3A6IGF1dG87XG4gIH1cbiAgJjphZnRlciB7XG4gICAgYm9yZGVyLXRvcDogNnB4IHNvbGlkIEBkcm9wZG93bkJhY2tncm91bmQ7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3R0b206IC02cHg7XG4gICAgdG9wOiBhdXRvO1xuICB9XG59XG5cbi8vIENhcmV0IHNob3VsZCBtYXRjaCB0ZXh0IGNvbG9yIG9uIGhvdmVyL2ZvY3VzXG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24gPiBhOmhvdmVyIC5jYXJldCxcbi5uYXZiYXIgLm5hdiBsaS5kcm9wZG93biA+IGE6Zm9jdXMgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdmJhckxpbmtDb2xvckhvdmVyO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2YmFyTGlua0NvbG9ySG92ZXI7XG59XG5cbi8vIFJlbW92ZSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gb3BlbiBkcm9wZG93blxuLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLFxuLm5hdmJhciAubmF2IGxpLmRyb3Bkb3duLmFjdGl2ZSA+IC5kcm9wZG93bi10b2dnbGUsXG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmUgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhckxpbmtCYWNrZ3JvdW5kQWN0aXZlO1xuICBjb2xvcjogQG5hdmJhckxpbmtDb2xvckFjdGl2ZTtcbn1cbi5uYXZiYXIgLm5hdiBsaS5kcm9wZG93biA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0IHtcbiAgYm9yZGVyLXRvcC1jb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbiAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQG5hdmJhckxpbmtDb2xvcjtcbn1cbi5uYXZiYXIgLm5hdiBsaS5kcm9wZG93bi5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsXG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24uYWN0aXZlID4gLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQsXG4ubmF2YmFyIC5uYXYgbGkuZHJvcGRvd24ub3Blbi5hY3RpdmUgPiAuZHJvcGRvd24tdG9nZ2xlIC5jYXJldCB7XG4gIGJvcmRlci10b3AtY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JBY3RpdmU7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IEBuYXZiYXJMaW5rQ29sb3JBY3RpdmU7XG59XG5cbi8vIFJpZ2h0IGFsaWduZWQgbWVudXMgbmVlZCBhbHQgcG9zaXRpb25cbi5uYXZiYXIgLnB1bGwtcmlnaHQgPiBsaSA+IC5kcm9wZG93bi1tZW51LFxuLm5hdmJhciAubmF2ID4gbGkgPiAuZHJvcGRvd24tbWVudS5wdWxsLXJpZ2h0IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gICY6YmVmb3JlIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMnB4O1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEzcHg7XG4gIH1cbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4O1xuICAgIC5ib3JkZXItcmFkaXVzKDZweCAwIDZweCA2cHgpO1xuICB9XG59XG5cblxuLy8gSW52ZXJ0ZWQgbmF2YmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5uYXZiYXItaW52ZXJzZSB7XG5cbiAgLm5hdmJhci1pbm5lciB7XG4gICAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKEBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodCwgQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IEBuYXZiYXJJbnZlcnNlQm9yZGVyO1xuICB9XG5cbiAgLmJyYW5kLFxuICAubmF2ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogQG5hdmJhckludmVyc2VMaW5rQ29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9ySG92ZXI7XG4gICAgfVxuICB9XG5cbiAgLmJyYW5kIHtcbiAgICBjb2xvcjogQG5hdmJhckludmVyc2VCcmFuZENvbG9yO1xuICB9XG5cbiAgLm5hdmJhci10ZXh0IHtcbiAgICBjb2xvcjogQG5hdmJhckludmVyc2VUZXh0O1xuICB9XG5cbiAgLm5hdiA+IGxpID4gYTpmb2N1cyxcbiAgLm5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhckludmVyc2VMaW5rQmFja2dyb3VuZEhvdmVyO1xuICAgIGNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckhvdmVyO1xuICB9XG5cbiAgLm5hdiAuYWN0aXZlID4gYSxcbiAgLm5hdiAuYWN0aXZlID4gYTpob3ZlcixcbiAgLm5hdiAuYWN0aXZlID4gYTpmb2N1cyB7XG4gICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yQWN0aXZlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0JhY2tncm91bmRBY3RpdmU7XG4gIH1cblxuICAvLyBJbmxpbmUgdGV4dCBsaW5rc1xuICAubmF2YmFyLWxpbmsge1xuICAgIGNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9ySG92ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gRGl2aWRlcnMgaW4gbmF2YmFyXG4gIC5kaXZpZGVyLXZlcnRpY2FsIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kSGlnaGxpZ2h0O1xuICB9XG5cbiAgLy8gRHJvcGRvd25zXG4gIC5uYXYgbGkuZHJvcGRvd24ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUsXG4gIC5uYXYgbGkuZHJvcGRvd24uYWN0aXZlID4gLmRyb3Bkb3duLXRvZ2dsZSxcbiAgLm5hdiBsaS5kcm9wZG93bi5vcGVuLmFjdGl2ZSA+IC5kcm9wZG93bi10b2dnbGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0JhY2tncm91bmRBY3RpdmU7XG4gICAgY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yQWN0aXZlO1xuICB9XG4gIC5uYXYgbGkuZHJvcGRvd24gPiBhOmhvdmVyIC5jYXJldCxcbiAgLm5hdiBsaS5kcm9wZG93biA+IGE6Zm9jdXMgLmNhcmV0IHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTtcbiAgfVxuICAubmF2IGxpLmRyb3Bkb3duID4gLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yO1xuICB9XG4gIC5uYXYgbGkuZHJvcGRvd24ub3BlbiA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0LFxuICAubmF2IGxpLmRyb3Bkb3duLmFjdGl2ZSA+IC5kcm9wZG93bi10b2dnbGUgLmNhcmV0LFxuICAubmF2IGxpLmRyb3Bkb3duLm9wZW4uYWN0aXZlID4gLmRyb3Bkb3duLXRvZ2dsZSAuY2FyZXQge1xuICAgIGJvcmRlci10b3AtY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yQWN0aXZlO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yQWN0aXZlO1xuICB9XG5cbiAgLy8gTmF2YmFyIHNlYXJjaFxuICAubmF2YmFyLXNlYXJjaCB7XG4gICAgLnNlYXJjaC1xdWVyeSB7XG4gICAgICBjb2xvcjogQHdoaXRlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogQG5hdmJhckludmVyc2VTZWFyY2hCYWNrZ3JvdW5kO1xuICAgICAgYm9yZGVyLWNvbG9yOiBAbmF2YmFySW52ZXJzZVNlYXJjaEJvcmRlcjtcbiAgICAgIC5ib3gtc2hhZG93KH5cImluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSwgMCAxcHggMCByZ2JhKDI1NSwyNTUsMjU1LC4xNSlcIik7XG4gICAgICAudHJhbnNpdGlvbihub25lKTtcbiAgICAgIC5wbGFjZWhvbGRlcihAbmF2YmFySW52ZXJzZVNlYXJjaFBsYWNlaG9sZGVyQ29sb3IpO1xuXG4gICAgICAvLyBGb2N1cyBzdGF0ZXMgKHdlIHVzZSAuZm9jdXNlZCBzaW5jZSBJRTctOCBhbmQgZG93biBkb2Vzbid0IHN1cHBvcnQgOmZvY3VzKVxuICAgICAgJjpmb2N1cyxcbiAgICAgICYuZm9jdXNlZCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxNXB4O1xuICAgICAgICBjb2xvcjogQGdyYXlEYXJrO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAxcHggMCBAd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IEBuYXZiYXJJbnZlcnNlU2VhcmNoQmFja2dyb3VuZEZvY3VzO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIC5ib3gtc2hhZG93KDAgMCAzcHggcmdiYSgwLDAsMCwuMTUpKTtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBOYXZiYXIgY29sbGFwc2UgYnV0dG9uXG4gIC5idG4tbmF2YmFyIHtcbiAgICAuYnV0dG9uQmFja2dyb3VuZChkYXJrZW4oQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kSGlnaGxpZ2h0LCA1JSksIGRhcmtlbihAbmF2YmFySW52ZXJzZUJhY2tncm91bmQsIDUlKSk7XG4gIH1cblxufVxuIiwiLy9cbi8vIFBhZ2luYXRpb24gKG11bHRpcGxlIHBhZ2VzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gU3BhY2Ugb3V0IHBhZ2luYXRpb24gZnJvbSBzdXJyb3VuZGluZyBjb250ZW50XG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogQGJhc2VMaW5lSGVpZ2h0IDA7XG59XG5cbi5wYWdpbmF0aW9uIHVsIHtcbiAgLy8gQWxsb3cgZm9yIHRleHQtYmFzZWQgYWxpZ25tZW50XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLmllNy1pbmxpbmUtYmxvY2soKTtcbiAgLy8gUmVzZXQgZGVmYXVsdCB1bCBzdHlsZXNcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIC8vIFZpc3VhbHNcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xuICAuYm94LXNoYWRvdygwIDFweCAycHggcmdiYSgwLDAsMCwuMDUpKTtcbn1cbi5wYWdpbmF0aW9uIHVsID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7IC8vIFJlbW92ZSBsaXN0LXN0eWxlIGFuZCBibG9jay1sZXZlbCBkZWZhdWx0c1xufVxuLnBhZ2luYXRpb24gdWwgPiBsaSA+IGEsXG4ucGFnaW5hdGlvbiB1bCA+IGxpID4gc3BhbiB7XG4gIGZsb2F0OiBsZWZ0OyAvLyBDb2xsYXBzZSB3aGl0ZS1zcGFjZVxuICBwYWRkaW5nOiA0cHggMTJweDtcbiAgbGluZS1oZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcGFnaW5hdGlvbkJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkIEBwYWdpbmF0aW9uQm9yZGVyO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbn1cbi5wYWdpbmF0aW9uIHVsID4gbGkgPiBhOmhvdmVyLFxuLnBhZ2luYXRpb24gdWwgPiBsaSA+IGE6Zm9jdXMsXG4ucGFnaW5hdGlvbiB1bCA+IC5hY3RpdmUgPiBhLFxuLnBhZ2luYXRpb24gdWwgPiAuYWN0aXZlID4gc3BhbiB7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwYWdpbmF0aW9uQWN0aXZlQmFja2dyb3VuZDtcbn1cbi5wYWdpbmF0aW9uIHVsID4gLmFjdGl2ZSA+IGEsXG4ucGFnaW5hdGlvbiB1bCA+IC5hY3RpdmUgPiBzcGFuIHtcbiAgY29sb3I6IEBncmF5TGlnaHQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gc3Bhbixcbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gYSxcbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gYTpob3Zlcixcbi5wYWdpbmF0aW9uIHVsID4gLmRpc2FibGVkID4gYTpmb2N1cyB7XG4gIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuLnBhZ2luYXRpb24gdWwgPiBsaTpmaXJzdC1jaGlsZCA+IGEsXG4ucGFnaW5hdGlvbiB1bCA+IGxpOmZpcnN0LWNoaWxkID4gc3BhbiB7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuLnBhZ2luYXRpb24gdWwgPiBsaTpsYXN0LWNoaWxkID4gYSxcbi5wYWdpbmF0aW9uIHVsID4gbGk6bGFzdC1jaGlsZCA+IHNwYW4ge1xuICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG5cblxuLy8gQWxpZ25tZW50XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4ucGFnaW5hdGlvbi1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5wYWdpbmF0aW9uLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cblxuLy8gU2l6aW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBMYXJnZVxuLnBhZ2luYXRpb24tbGFyZ2Uge1xuICB1bCA+IGxpID4gYSxcbiAgdWwgPiBsaSA+IHNwYW4ge1xuICAgIHBhZGRpbmc6IEBwYWRkaW5nTGFyZ2U7XG4gICAgZm9udC1zaXplOiBAZm9udFNpemVMYXJnZTtcbiAgfVxuICB1bCA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbiAgdWwgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlclJhZGl1c0xhcmdlKTtcbiAgfVxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBhLFxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyUmFkaXVzTGFyZ2UpO1xuICB9XG59XG5cbi8vIFNtYWxsIGFuZCBtaW5pXG4ucGFnaW5hdGlvbi1taW5pLFxuLnBhZ2luYXRpb24tc21hbGwge1xuICB1bCA+IGxpOmZpcnN0LWNoaWxkID4gYSxcbiAgdWwgPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICAgIC5ib3JkZXItbGVmdC1yYWRpdXMoQGJvcmRlclJhZGl1c1NtYWxsKTtcbiAgfVxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBhLFxuICB1bCA+IGxpOmxhc3QtY2hpbGQgPiBzcGFuIHtcbiAgICAuYm9yZGVyLXJpZ2h0LXJhZGl1cyhAYm9yZGVyUmFkaXVzU21hbGwpO1xuICB9XG59XG5cbi8vIFNtYWxsXG4ucGFnaW5hdGlvbi1zbWFsbCB7XG4gIHVsID4gbGkgPiBhLFxuICB1bCA+IGxpID4gc3BhbiB7XG4gICAgcGFkZGluZzogQHBhZGRpbmdTbWFsbDtcbiAgICBmb250LXNpemU6IEBmb250U2l6ZVNtYWxsO1xuICB9XG59XG4vLyBNaW5pXG4ucGFnaW5hdGlvbi1taW5pIHtcbiAgdWwgPiBsaSA+IGEsXG4gIHVsID4gbGkgPiBzcGFuIHtcbiAgICBwYWRkaW5nOiBAcGFkZGluZ01pbmk7XG4gICAgZm9udC1zaXplOiBAZm9udFNpemVNaW5pO1xuICB9XG59XG4iLCIvL1xuLy8gUGFnZXIgcGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucGFnZXIge1xuICBtYXJnaW46IEBiYXNlTGluZUhlaWdodCAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC5jbGVhcmZpeCgpO1xufVxuLnBhZ2VyIGxpIHtcbiAgZGlzcGxheTogaW5saW5lO1xufVxuLnBhZ2VyIGxpID4gYSxcbi5wYWdlciBsaSA+IHNwYW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDVweCAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAuYm9yZGVyLXJhZGl1cygxNXB4KTtcbn1cbi5wYWdlciBsaSA+IGE6aG92ZXIsXG4ucGFnZXIgbGkgPiBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xufVxuLnBhZ2VyIC5uZXh0ID4gYSxcbi5wYWdlciAubmV4dCA+IHNwYW4ge1xuICBmbG9hdDogcmlnaHQ7XG59XG4ucGFnZXIgLnByZXZpb3VzID4gYSxcbi5wYWdlciAucHJldmlvdXMgPiBzcGFuIHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG4ucGFnZXIgLmRpc2FibGVkID4gYSxcbi5wYWdlciAuZGlzYWJsZWQgPiBhOmhvdmVyLFxuLnBhZ2VyIC5kaXNhYmxlZCA+IGE6Zm9jdXMsXG4ucGFnZXIgLmRpc2FibGVkID4gc3BhbiB7XG4gIGNvbG9yOiBAZ3JheUxpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59IiwiLy9cbi8vIE1vZGFsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gQmFja2dyb3VuZFxuLm1vZGFsLWJhY2tkcm9wIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IEB6aW5kZXhNb2RhbEJhY2tkcm9wO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBAYmxhY2s7XG4gIC8vIEZhZGUgZm9yIGJhY2tkcm9wXG4gICYuZmFkZSB7IG9wYWNpdHk6IDA7IH1cbn1cblxuLm1vZGFsLWJhY2tkcm9wLFxuLm1vZGFsLWJhY2tkcm9wLmZhZGUuaW4ge1xuICAub3BhY2l0eSg4MCk7XG59XG5cbi8vIEJhc2UgbW9kYWxcbi5tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxMCU7XG4gIGxlZnQ6IDUwJTtcbiAgei1pbmRleDogQHppbmRleE1vZGFsO1xuICB3aWR0aDogNTYwcHg7XG4gIG1hcmdpbi1sZWZ0OiAtMjgwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMyk7XG4gICpib3JkZXI6IDFweCBzb2xpZCAjOTk5OyAvKiBJRTYtNyAqL1xuICAuYm9yZGVyLXJhZGl1cyg2cHgpO1xuICAuYm94LXNoYWRvdygwIDNweCA3cHggcmdiYSgwLDAsMCwwLjMpKTtcbiAgLmJhY2tncm91bmQtY2xpcChwYWRkaW5nLWJveCk7XG4gIC8vIFJlbW92ZSBmb2N1cyBvdXRsaW5lIGZyb20gb3BlbmVkIG1vZGFsXG4gIG91dGxpbmU6IG5vbmU7XG5cbiAgJi5mYWRlIHtcbiAgICAudHJhbnNpdGlvbihlKCdvcGFjaXR5IC4zcyBsaW5lYXIsIHRvcCAuM3MgZWFzZS1vdXQnKSk7XG4gICAgdG9wOiAtMjUlO1xuICB9XG4gICYuZmFkZS5pbiB7IHRvcDogMTAlOyB9XG59XG4ubW9kYWwtaGVhZGVyIHtcbiAgcGFkZGluZzogOXB4IDE1cHg7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAvLyBDbG9zZSBpY29uXG4gIC5jbG9zZSB7IFxuXHRtYXJnaW4tdG9wOiAycHg7IFxuXHRmb250LXNpemU6IDI0cHg7XG4gICB9XG4gIC8vIEhlYWRpbmdcbiAgaDMge1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxufVxuXG4vLyBCb2R5ICh3aGVyZSBhbGwgbW9kYWwgY29udGVudCByZXNpZGVzKVxuLm1vZGFsLWJvZHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG1heC1oZWlnaHQ6IDQwMHB4O1xuICBwYWRkaW5nOiAxNXB4O1xufVxuLy8gUmVtb3ZlIGJvdHRvbSBtYXJnaW4gaWYgbmVlZCBiZVxuLm1vZGFsLWZvcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLyBGb290ZXIgKGZvciBhY3Rpb25zKVxuLm1vZGFsLWZvb3RlciB7XG4gIHBhZGRpbmc6IDE0cHggMTVweCAxNXB4O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgLy8gcmlnaHQgYWxpZ24gYnV0dG9uc1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgLmJvcmRlci1yYWRpdXMoMCAwIDZweCA2cHgpO1xuICAuYm94LXNoYWRvdyhpbnNldCAwIDFweCAwIEB3aGl0ZSk7XG4gIC5jbGVhcmZpeCgpOyAvLyBjbGVhciBpdCBpbiBjYXNlIGZvbGtzIHVzZSAucHVsbC0qIGNsYXNzZXMgb24gYnV0dG9uc1xuXG4gIC8vIFByb3Blcmx5IHNwYWNlIG91dCBidXR0b25zXG4gIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IC8vIGFjY291bnQgZm9yIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0gd2hpY2ggZ2V0cyB0aGUgYm90dG9tIG1hcmdpbiBsaWtlIGFsbCBvdGhlciBpbnB1dHNcbiAgfVxuICAvLyBidXQgb3ZlcnJpZGUgdGhhdCBmb3IgYnV0dG9uIGdyb3Vwc1xuICAuYnRuLWdyb3VwIC5idG4gKyAuYnRuIHtcbiAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgfVxuICAvLyBhbmQgb3ZlcnJpZGUgaXQgZm9yIGJsb2NrIGJ1dHRvbnMgYXMgd2VsbFxuICAuYnRuLWJsb2NrICsgLmJ0bi1ibG9jayB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbiIsIi8vXG4vLyBQb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4ucG9wb3ZlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiBAemluZGV4UG9wb3ZlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWF4LXdpZHRoOiAyNzZweDtcbiAgcGFkZGluZzogMXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0OyAvLyBSZXNldCBnaXZlbiBuZXcgaW5zZXJ0aW9uIG1ldGhvZFxuICBiYWNrZ3JvdW5kLWNvbG9yOiBAcG9wb3ZlckJhY2tncm91bmQ7XG4gIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAgLW1vei1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmc7XG4gICAgICAgICAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLDAsMCwuMik7XG4gIC5ib3JkZXItcmFkaXVzKDZweCk7XG4gIC5ib3gtc2hhZG93KDAgNXB4IDEwcHggcmdiYSgwLDAsMCwuMikpO1xuXG4gIC8vIE92ZXJyaWRlcyBmb3IgcHJvcGVyIGluc2VydGlvblxuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuXG4gIC8vIE9mZnNldCB0aGUgcG9wb3ZlciB0byBhY2NvdW50IGZvciB0aGUgcG9wb3ZlciBhcnJvd1xuICAmLnRvcCAgICAgeyBtYXJnaW4tdG9wOiAtMTBweDsgfVxuICAmLnJpZ2h0ICAgeyBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAmLmJvdHRvbSAgeyBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICYubGVmdCAgICB7IG1hcmdpbi1sZWZ0OiAtMTBweDsgfVxufVxuXG4ucG9wb3Zlci10aXRsZSB7XG4gIG1hcmdpbjogMDsgLy8gcmVzZXQgaGVhZGluZyBtYXJnaW5cbiAgcGFkZGluZzogOHB4IDE0cHg7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IEBwb3BvdmVyVGl0bGVCYWNrZ3JvdW5kO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKEBwb3BvdmVyVGl0bGVCYWNrZ3JvdW5kLCA1JSk7XG4gIC5ib3JkZXItcmFkaXVzKDVweCA1cHggMCAwKTtcblxuICAmOmVtcHR5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi5wb3BvdmVyLWNvbnRlbnQge1xuICBwYWRkaW5nOiA5cHggMTRweDtcbn1cblxuLy8gQXJyb3dzXG4vL1xuLy8gLmFycm93IGlzIG91dGVyLCAuYXJyb3c6YWZ0ZXIgaXMgaW5uZXJcblxuLnBvcG92ZXIgLmFycm93LFxuLnBvcG92ZXIgLmFycm93OmFmdGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbn1cbi5wb3BvdmVyIC5hcnJvdyB7XG4gIGJvcmRlci13aWR0aDogQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG59XG4ucG9wb3ZlciAuYXJyb3c6YWZ0ZXIge1xuICBib3JkZXItd2lkdGg6IEBwb3BvdmVyQXJyb3dXaWR0aDtcbiAgY29udGVudDogXCJcIjtcbn1cblxuLnBvcG92ZXIge1xuICAmLnRvcCAuYXJyb3cge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyQXJyb3dPdXRlcldpZHRoO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzk5OTsgLy8gSUU4IGZhbGxiYWNrXG4gICAgYm9yZGVyLXRvcC1jb2xvcjogQHBvcG92ZXJBcnJvd091dGVyQ29sb3I7XG4gICAgYm90dG9tOiAtQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgJjphZnRlciB7XG4gICAgICBib3R0b206IDFweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAtQHBvcG92ZXJBcnJvd1dpZHRoO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3AtY29sb3I6IEBwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5yaWdodCAuYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC1AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAjOTk5OyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyQXJyb3dPdXRlckNvbG9yO1xuICAgICY6YWZ0ZXIge1xuICAgICAgbGVmdDogMXB4O1xuICAgICAgYm90dG9tOiAtQHBvcG92ZXJBcnJvd1dpZHRoO1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgICBib3JkZXItcmlnaHQtY29sb3I6IEBwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICB9XG4gIH1cbiAgJi5ib3R0b20gLmFycm93IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICM5OTk7IC8vIElFOCBmYWxsYmFja1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6IEBwb3BvdmVyQXJyb3dPdXRlckNvbG9yO1xuICAgIHRvcDogLUBwb3BvdmVyQXJyb3dPdXRlcldpZHRoO1xuICAgICY6YWZ0ZXIge1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW4tbGVmdDogLUBwb3BvdmVyQXJyb3dXaWR0aDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiBAcG9wb3ZlckFycm93Q29sb3I7XG4gICAgfVxuICB9XG5cbiAgJi5sZWZ0IC5hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IC1AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDtcbiAgICBtYXJnaW4tdG9wOiAtQHBvcG92ZXJBcnJvd091dGVyV2lkdGg7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAjOTk5OyAvLyBJRTggZmFsbGJhY2tcbiAgICBib3JkZXItbGVmdC1jb2xvcjogQHBvcG92ZXJBcnJvd091dGVyQ29sb3I7XG4gICAgJjphZnRlciB7XG4gICAgICByaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IEBwb3BvdmVyQXJyb3dDb2xvcjtcbiAgICAgIGJvdHRvbTogLUBwb3BvdmVyQXJyb3dXaWR0aDtcbiAgICB9XG4gIH1cblxufVxuIiwiLy9cbi8vIFRvb2x0aXBzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIEJhc2UgY2xhc3Ncbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiBAemluZGV4VG9vbHRpcDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgLm9wYWNpdHkoMCk7XG4gICYuaW4gICAgIHsgLm9wYWNpdHkoODApOyB9XG4gICYudG9wICAgIHsgbWFyZ2luLXRvcDogIC0zcHg7IHBhZGRpbmc6IDVweCAwOyB9XG4gICYucmlnaHQgIHsgbWFyZ2luLWxlZnQ6ICAzcHg7IHBhZGRpbmc6IDAgNXB4OyB9XG4gICYuYm90dG9tIHsgbWFyZ2luLXRvcDogICAzcHg7IHBhZGRpbmc6IDVweCAwOyB9XG4gICYubGVmdCAgIHsgbWFyZ2luLWxlZnQ6IC0zcHg7IHBhZGRpbmc6IDAgNXB4OyB9XG59XG5cbi8vIFdyYXBwZXIgZm9yIHRoZSB0b29sdGlwIGNvbnRlbnRcbi50b29sdGlwLWlubmVyIHtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogOHB4O1xuICBjb2xvcjogQHRvb2x0aXBDb2xvcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IEB0b29sdGlwQmFja2dyb3VuZDtcbiAgLmJvcmRlci1yYWRpdXMoQGJhc2VCb3JkZXJSYWRpdXMpO1xufVxuXG4vLyBBcnJvd3Ncbi50b29sdGlwLWFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xufVxuLnRvb2x0aXAge1xuICAmLnRvcCAudG9vbHRpcC1hcnJvdyB7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLUB0b29sdGlwQXJyb3dXaWR0aDtcbiAgICBib3JkZXItd2lkdGg6IEB0b29sdGlwQXJyb3dXaWR0aCBAdG9vbHRpcEFycm93V2lkdGggMDtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBAdG9vbHRpcEFycm93Q29sb3I7XG4gIH1cbiAgJi5yaWdodCAudG9vbHRpcC1hcnJvdyB7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW4tdG9wOiAtQHRvb2x0aXBBcnJvd1dpZHRoO1xuICAgIGJvcmRlci13aWR0aDogQHRvb2x0aXBBcnJvd1dpZHRoIEB0b29sdGlwQXJyb3dXaWR0aCBAdG9vbHRpcEFycm93V2lkdGggMDtcbiAgICBib3JkZXItcmlnaHQtY29sb3I6IEB0b29sdGlwQXJyb3dDb2xvcjtcbiAgfVxuICAmLmxlZnQgLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbi10b3A6IC1AdG9vbHRpcEFycm93V2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiBAdG9vbHRpcEFycm93V2lkdGggMCBAdG9vbHRpcEFycm93V2lkdGggQHRvb2x0aXBBcnJvd1dpZHRoO1xuICAgIGJvcmRlci1sZWZ0LWNvbG9yOiBAdG9vbHRpcEFycm93Q29sb3I7XG4gIH1cbiAgJi5ib3R0b20gLnRvb2x0aXAtYXJyb3cge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC1AdG9vbHRpcEFycm93V2lkdGg7XG4gICAgYm9yZGVyLXdpZHRoOiAwIEB0b29sdGlwQXJyb3dXaWR0aCBAdG9vbHRpcEFycm93V2lkdGg7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogQHRvb2x0aXBBcnJvd0NvbG9yO1xuICB9XG59XG4iLCIvL1xuLy8gVGh1bWJuYWlsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBOb3RlOiBgLnRodW1ibmFpbHNgIGFuZCBgLnRodW1ibmFpbHMgPiBsaWAgYXJlIG92ZXJyaWRlbiBpbiByZXNwb25zaXZlIGZpbGVzXG5cbi8vIE1ha2Ugd3JhcHBlciB1bCBiZWhhdmUgbGlrZSB0aGUgZ3JpZFxuLnRodW1ibmFpbHMge1xuICBtYXJnaW4tbGVmdDogLUBncmlkR3V0dGVyV2lkdGg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIC5jbGVhcmZpeCgpO1xufVxuLy8gRmx1aWQgcm93cyBoYXZlIG5vIGxlZnQgbWFyZ2luXG4ucm93LWZsdWlkIC50aHVtYm5haWxzIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi8vIEZsb2F0IGxpIHRvIG1ha2UgdGh1bWJuYWlscyBhcHBlYXIgaW4gYSByb3dcbi50aHVtYm5haWxzID4gbGkge1xuICBmbG9hdDogbGVmdDsgLy8gRXhwbGljaXR5IHNldCB0aGUgZmxvYXQgc2luY2Ugd2UgZG9uJ3QgcmVxdWlyZSAuc3BhbiogY2xhc3Nlc1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG4gIG1hcmdpbi1sZWZ0OiBAZ3JpZEd1dHRlcldpZHRoO1xufVxuXG4vLyBUaGUgYWN0dWFsIHRodW1ibmFpbCAoY2FuIGJlIGBhYCBvciBgZGl2YClcbi50aHVtYm5haWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogNHB4O1xuICBsaW5lLWhlaWdodDogQGJhc2VMaW5lSGVpZ2h0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG4gIC5ib3gtc2hhZG93KDAgMXB4IDNweCByZ2JhKDAsMCwwLC4wNTUpKTtcbiAgLnRyYW5zaXRpb24oYWxsIC4ycyBlYXNlLWluLW91dCk7XG59XG4vLyBBZGQgYSBob3Zlci9mb2N1cyBzdGF0ZSBmb3IgbGlua2VkIHZlcnNpb25zIG9ubHlcbmEudGh1bWJuYWlsOmhvdmVyLFxuYS50aHVtYm5haWw6Zm9jdXMge1xuICBib3JkZXItY29sb3I6IEBsaW5rQ29sb3I7XG4gIC5ib3gtc2hhZG93KDAgMXB4IDRweCByZ2JhKDAsMTA1LDIxNCwuMjUpKTtcbn1cblxuLy8gSW1hZ2VzIGFuZCBjYXB0aW9uc1xuLnRodW1ibmFpbCA+IGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG4udGh1bWJuYWlsIC5jYXB0aW9uIHtcbiAgcGFkZGluZzogOXB4O1xuICBjb2xvcjogQGdyYXk7XG59XG4iLCIvL1xuLy8gTGFiZWxzIGFuZCBiYWRnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gQmFzZSBjbGFzc2VzXG4ubGFiZWwsXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDJweCA0cHg7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAqIC44NDY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTRweDsgLy8gZW5zdXJlIHByb3BlciBsaW5lLWhlaWdodCBpZiBmbG9hdGVkXG4gIGNvbG9yOiBAd2hpdGU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdGV4dC1zaGFkb3c6IDAgLTFweCAwIHJnYmEoMCwwLDAsLjI1KTtcbiAgYmFja2dyb3VuZC1jb2xvcjogQGdyYXlMaWdodDtcbn1cbi8vIFNldCB1bmlxdWUgcGFkZGluZyBhbmQgYm9yZGVyLXJhZGlpXG4ubGFiZWwge1xuICAuYm9yZGVyLXJhZGl1cygzcHgpO1xufVxuLmJhZGdlIHtcbiAgcGFkZGluZy1sZWZ0OiA5cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDlweDtcbiAgLmJvcmRlci1yYWRpdXMoOXB4KTtcbn1cblxuLy8gRW1wdHkgbGFiZWxzL2JhZGdlcyBjb2xsYXBzZVxuLmxhYmVsLFxuLmJhZGdlIHtcbiAgJjplbXB0eSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIb3Zlci9mb2N1cyBzdGF0ZSwgYnV0IG9ubHkgZm9yIGxpbmtzXG5hIHtcbiAgJi5sYWJlbDpob3ZlcixcbiAgJi5sYWJlbDpmb2N1cyxcbiAgJi5iYWRnZTpob3ZlcixcbiAgJi5iYWRnZTpmb2N1cyB7XG4gICAgY29sb3I6IEB3aGl0ZTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi8vIENvbG9yc1xuLy8gT25seSBnaXZlIGJhY2tncm91bmQtY29sb3IgZGlmZmVyZW5jZSB0byBsaW5rcyAoYW5kIHRvIHNpbXBsaWZ5LCB3ZSBkb24ndCBxdWFsaWZ0eSB3aXRoIGBhYCBidXQgW2hyZWZdIGF0dHJpYnV0ZSlcbi5sYWJlbCxcbi5iYWRnZSB7XG4gIC8vIEltcG9ydGFudCAocmVkKVxuICAmLWltcG9ydGFudCAgICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjogQGVycm9yVGV4dDsgfVxuICAmLWltcG9ydGFudFtocmVmXSAgIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBlcnJvclRleHQsIDEwJSk7IH1cbiAgLy8gV2FybmluZ3MgKG9yYW5nZSlcbiAgJi13YXJuaW5nICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6IEBvcmFuZ2U7IH1cbiAgJi13YXJuaW5nW2hyZWZdICAgICB7IGJhY2tncm91bmQtY29sb3I6IGRhcmtlbihAb3JhbmdlLCAxMCUpOyB9XG4gIC8vIFN1Y2Nlc3MgKGdyZWVuKVxuICAmLXN1Y2Nlc3MgICAgICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjogQHN1Y2Nlc3NUZXh0OyB9XG4gICYtc3VjY2Vzc1tocmVmXSAgICAgeyBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQHN1Y2Nlc3NUZXh0LCAxMCUpOyB9XG4gIC8vIEluZm8gKHR1cnF1b2lzZSlcbiAgJi1pbmZvICAgICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6IEBpbmZvVGV4dDsgfVxuICAmLWluZm9baHJlZl0gICAgICAgIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBpbmZvVGV4dCwgMTAlKTsgfVxuICAvLyBJbnZlcnNlIChibGFjaylcbiAgJi1pbnZlcnNlICAgICAgICAgICB7IGJhY2tncm91bmQtY29sb3I6IEBncmF5RGFyazsgfVxuICAmLWludmVyc2VbaHJlZl0gICAgIHsgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKEBncmF5RGFyaywgMTAlKTsgfVxufVxuXG4vLyBRdWljayBmaXggZm9yIGxhYmVscy9iYWRnZXMgaW4gYnV0dG9uc1xuLmJ0biB7XG4gIC5sYWJlbCxcbiAgLmJhZGdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMXB4O1xuICB9XG59XG4uYnRuLW1pbmkge1xuICAubGFiZWwsXG4gIC5iYWRnZSB7XG4gICAgdG9wOiAwO1xuICB9XG59XG4iLCIvL1xuLy8gUHJvZ3Jlc3MgYmFyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBBTklNQVRJT05TXG4vLyAtLS0tLS0tLS0tXG5cbi8vIFdlYmtpdFxuQC13ZWJraXQta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLy8gRmlyZWZveFxuQC1tb3ota2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbn1cblxuLy8gSUU5XG5ALW1zLWtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cbi8vIE9wZXJhXG5ALW8ta2V5ZnJhbWVzIHByb2dyZXNzLWJhci1zdHJpcGVzIHtcbiAgZnJvbSAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7IH1cbiAgdG8gICAgeyBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA0MHB4IDA7IH1cbn1cblxuLy8gU3BlY1xuQGtleWZyYW1lcyBwcm9ncmVzcy1iYXItc3RyaXBlcyB7XG4gIGZyb20gIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogNDBweCAwOyB9XG4gIHRvICAgIHsgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwOyB9XG59XG5cblxuXG4vLyBUSEUgQkFSU1xuLy8gLS0tLS0tLS1cblxuLy8gT3V0ZXIgY29udGFpbmVyXG4ucHJvZ3Jlc3Mge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IEBiYXNlTGluZUhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoI2Y1ZjVmNSwgI2Y5ZjlmOSk7XG4gIC5ib3gtc2hhZG93KGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLC4xKSk7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcbn1cblxuLy8gQmFyIG9mIHByb2dyZXNzXG4ucHJvZ3Jlc3MgLmJhciB7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBjb2xvcjogQHdoaXRlO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAwIC0xcHggMCByZ2JhKDAsMCwwLC4yNSk7XG4gICNncmFkaWVudCA+IC52ZXJ0aWNhbCgjMTQ5YmRmLCAjMDQ4MGJlKTtcbiAgLmJveC1zaGFkb3coaW5zZXQgMCAtMXB4IDAgcmdiYSgwLDAsMCwuMTUpKTtcbiAgLmJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gIC50cmFuc2l0aW9uKHdpZHRoIC42cyBlYXNlKTtcbn1cbi5wcm9ncmVzcyAuYmFyICsgLmJhciB7XG4gIC5ib3gtc2hhZG93KH5cImluc2V0IDFweCAwIDAgcmdiYSgwLDAsMCwuMTUpLCBpbnNldCAwIC0xcHggMCByZ2JhKDAsMCwwLC4xNSlcIik7XG59XG5cbi8vIFN0cmlwZWQgYmFyc1xuLnByb2dyZXNzLXN0cmlwZWQgLmJhciB7XG4gICNncmFkaWVudCA+IC5zdHJpcGVkKCMxNDliZGYpO1xuICAuYmFja2dyb3VuZC1zaXplKDQwcHggNDBweCk7XG59XG5cbi8vIENhbGwgYW5pbWF0aW9uIGZvciB0aGUgYWN0aXZlIG9uZVxuLnByb2dyZXNzLmFjdGl2ZSAuYmFyIHtcbiAgLXdlYmtpdC1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgLW1vei1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgIC1tcy1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAtby1hbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbiAgICAgICAgICBhbmltYXRpb246IHByb2dyZXNzLWJhci1zdHJpcGVzIDJzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuXG5cbi8vIENPTE9SU1xuLy8gLS0tLS0tXG5cbi8vIERhbmdlciAocmVkKVxuLnByb2dyZXNzLWRhbmdlciAuYmFyLCAucHJvZ3Jlc3MgLmJhci1kYW5nZXIge1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoI2VlNWY1YiwgI2M0M2MzNSk7XG59XG4ucHJvZ3Jlc3MtZGFuZ2VyLnByb2dyZXNzLXN0cmlwZWQgLmJhciwgLnByb2dyZXNzLXN0cmlwZWQgLmJhci1kYW5nZXIge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgjZWU1ZjViKTtcbn1cblxuLy8gU3VjY2VzcyAoZ3JlZW4pXG4ucHJvZ3Jlc3Mtc3VjY2VzcyAuYmFyLCAucHJvZ3Jlc3MgLmJhci1zdWNjZXNzIHtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKCM2MmM0NjIsICM1N2E5NTcpO1xufVxuLnByb2dyZXNzLXN1Y2Nlc3MucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLCAucHJvZ3Jlc3Mtc3RyaXBlZCAuYmFyLXN1Y2Nlc3Mge1xuICAjZ3JhZGllbnQgPiAuc3RyaXBlZCgjNjJjNDYyKTtcbn1cblxuLy8gSW5mbyAodGVhbClcbi5wcm9ncmVzcy1pbmZvIC5iYXIsIC5wcm9ncmVzcyAuYmFyLWluZm8ge1xuICAjZ3JhZGllbnQgPiAudmVydGljYWwoIzViYzBkZSwgIzMzOWJiOSk7XG59XG4ucHJvZ3Jlc3MtaW5mby5wcm9ncmVzcy1zdHJpcGVkIC5iYXIsIC5wcm9ncmVzcy1zdHJpcGVkIC5iYXItaW5mbyB7XG4gICNncmFkaWVudCA+IC5zdHJpcGVkKCM1YmMwZGUpO1xufVxuXG4vLyBXYXJuaW5nIChvcmFuZ2UpXG4ucHJvZ3Jlc3Mtd2FybmluZyAuYmFyLCAucHJvZ3Jlc3MgLmJhci13YXJuaW5nIHtcbiAgI2dyYWRpZW50ID4gLnZlcnRpY2FsKGxpZ2h0ZW4oQG9yYW5nZSwgMTUlKSwgQG9yYW5nZSk7XG59XG4ucHJvZ3Jlc3Mtd2FybmluZy5wcm9ncmVzcy1zdHJpcGVkIC5iYXIsIC5wcm9ncmVzcy1zdHJpcGVkIC5iYXItd2FybmluZyB7XG4gICNncmFkaWVudCA+IC5zdHJpcGVkKGxpZ2h0ZW4oQG9yYW5nZSwgMTUlKSk7XG59XG4iLCIvL1xuLy8gQWNjb3JkaW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFBhcmVudCBjb250YWluZXJcbi5hY2NvcmRpb24ge1xuICBtYXJnaW4tYm90dG9tOiBAYmFzZUxpbmVIZWlnaHQ7XG59XG5cbi8vIEdyb3VwID09IGhlYWRpbmcgKyBib2R5XG4uYWNjb3JkaW9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAuYm9yZGVyLXJhZGl1cyhAYmFzZUJvcmRlclJhZGl1cyk7XG59XG4uYWNjb3JkaW9uLWhlYWRpbmcge1xuICBib3JkZXItYm90dG9tOiAwO1xufVxuLmFjY29yZGlvbi1oZWFkaW5nIC5hY2NvcmRpb24tdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDhweCAxNXB4O1xufVxuXG4vLyBHZW5lcmFsIHRvZ2dsZSBzdHlsZXNcbi5hY2NvcmRpb24tdG9nZ2xlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4vLyBJbm5lciBuZWVkcyB0aGUgc3R5bGVzIGJlY2F1c2UgeW91IGNhbid0IGFuaW1hdGUgcHJvcGVybHkgd2l0aCBhbnkgc3R5bGVzIG9uIHRoZSBlbGVtZW50XG4uYWNjb3JkaW9uLWlubmVyIHtcbiAgcGFkZGluZzogOXB4IDE1cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTVlNWU1O1xufVxuIiwiLy9cbi8vIENhcm91c2VsXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi5jYXJvdXNlbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogQGJhc2VMaW5lSGVpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmNhcm91c2VsLWlubmVyIHtcblxuICA+IC5pdGVtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAudHJhbnNpdGlvbiguNnMgZWFzZS1pbi1vdXQgbGVmdCk7XG5cbiAgICAvLyBBY2NvdW50IGZvciBqYW5raXR1ZGUgb24gaW1hZ2VzXG4gICAgPiBpbWcsXG4gICAgPiBhID4gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuICB9XG5cbiAgPiAuYWN0aXZlLFxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHsgZGlzcGxheTogYmxvY2s7IH1cblxuICA+IC5hY3RpdmUge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5uZXh0LFxuICA+IC5wcmV2IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgPiAubmV4dCB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICA+IC5wcmV2IHtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgfVxuICA+IC5uZXh0LmxlZnQsXG4gID4gLnByZXYucmlnaHQge1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICA+IC5hY3RpdmUubGVmdCB7XG4gICAgbGVmdDogLTEwMCU7XG4gIH1cbiAgPiAuYWN0aXZlLnJpZ2h0IHtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbn1cblxuLy8gTGVmdC9yaWdodCBjb250cm9scyBmb3IgbmF2XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLmNhcm91c2VsLWNvbnRyb2wge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNDAlO1xuICBsZWZ0OiAxNXB4O1xuICB3aWR0aDogNDBweDtcbiAgaGVpZ2h0OiA0MHB4O1xuICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgZm9udC1zaXplOiA2MHB4O1xuICBmb250LXdlaWdodDogMTAwO1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6IEB3aGl0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBAZ3JheURhcmtlcjtcbiAgYm9yZGVyOiAzcHggc29saWQgQHdoaXRlO1xuICAuYm9yZGVyLXJhZGl1cygyM3B4KTtcbiAgLm9wYWNpdHkoNTApO1xuXG4gIC8vIHdlIGNhbid0IGhhdmUgdGhpcyB0cmFuc2l0aW9uIGhlcmVcbiAgLy8gYmVjYXVzZSB3ZWJraXQgY2FuY2VscyB0aGUgY2Fyb3VzZWxcbiAgLy8gYW5pbWF0aW9uIGlmIHlvdSB0cmlwIHRoaXMgd2hpbGVcbiAgLy8gaW4gdGhlIG1pZGRsZSBvZiBhbm90aGVyIGFuaW1hdGlvblxuICAvLyA7XztcbiAgLy8gLnRyYW5zaXRpb24ob3BhY2l0eSAuMnMgbGluZWFyKTtcblxuICAvLyBSZXBvc2l0aW9uIHRoZSByaWdodCBvbmVcbiAgJi5yaWdodCB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTVweDtcbiAgfVxuXG4gIC8vIEhvdmVyL2ZvY3VzIHN0YXRlXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiBAd2hpdGU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIC5vcGFjaXR5KDkwKTtcbiAgfVxufVxuXG4vLyBDYXJvdXNlbCBpbmRpY2F0b3IgcGlwc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5jYXJvdXNlbC1pbmRpY2F0b3JzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDE1cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB6LWluZGV4OiA1O1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgIHRleHQtaW5kZW50OiAtOTk5cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LC4yNSk7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICB9XG4gIC5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLy8gQ2FwdGlvbiBmb3IgdGV4dCBiZWxvdyBpbWFnZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5jYXJvdXNlbC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxNXB4O1xuICBiYWNrZ3JvdW5kOiBAZ3JheURhcms7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwwLDAsLjc1KTtcbn1cbi5jYXJvdXNlbC1jYXB0aW9uIGg0LFxuLmNhcm91c2VsLWNhcHRpb24gcCB7XG4gIGNvbG9yOiBAd2hpdGU7XG4gIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG59XG4uY2Fyb3VzZWwtY2FwdGlvbiBoNCB7XG4gIG1hcmdpbjogMCAwIDVweDtcbn1cbi5jYXJvdXNlbC1jYXB0aW9uIHAge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuIiwiLy9cbi8vIENvZGUgKGlubGluZSBhbmQgYmxvY0spXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElubGluZSBhbmQgYmxvY2sgY29kZSBzdHlsZXNcbmNvZGUsXG5wcmUge1xuICBwYWRkaW5nOiAwIDNweCAycHg7XG4gICNmb250ID4gI2ZhbWlseSA+IC5tb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSAtIDI7XG4gIGNvbG9yOiBAZ3JheURhcms7XG4gIC5ib3JkZXItcmFkaXVzKDNweCk7XG59XG5cbi8vIElubGluZSBjb2RlXG5jb2RlIHtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgY29sb3I6ICNkMTQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjk7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIEJsb2NrcyBvZiBjb2RlXG5wcmUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogKEBiYXNlTGluZUhlaWdodCAtIDEpIC8gMjtcbiAgbWFyZ2luOiAwIDAgQGJhc2VMaW5lSGVpZ2h0IC8gMjtcbiAgZm9udC1zaXplOiBAYmFzZUZvbnRTaXplIC0gMTsgLy8gMTRweCB0byAxM3B4XG4gIGxpbmUtaGVpZ2h0OiBAYmFzZUxpbmVIZWlnaHQ7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICB3aGl0ZS1zcGFjZTogcHJlO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IC8vIGZhbGxiYWNrIGZvciBJRTctOFxuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsMCwwLC4xNSk7XG4gIC5ib3JkZXItcmFkaXVzKEBiYXNlQm9yZGVyUmFkaXVzKTtcblxuICAvLyBNYWtlIHByZXR0eXByaW50IHN0eWxlcyBtb3JlIHNwYWNlZCBvdXQgZm9yIHJlYWRhYmlsaXR5XG4gICYucHJldHR5cHJpbnQge1xuICAgIG1hcmdpbi1ib3R0b206IEBiYXNlTGluZUhlaWdodDtcbiAgfVxuXG4gIC8vIEFjY291bnQgZm9yIHNvbWUgY29kZSBvdXRwdXRzIHRoYXQgcGxhY2UgY29kZSB0YWdzIGluIHByZSB0YWdzXG4gIGNvZGUge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICB9XG59XG5cbi8vIEVuYWJsZSBzY3JvbGxhYmxlIGJsb2NrcyBvZiBjb2RlXG4ucHJlLXNjcm9sbGFibGUge1xuICBtYXgtaGVpZ2h0OiAzNDBweDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufSIsIi8vXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gR2xvYmFsIHZhbHVlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBHcmF5c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJsYWNrOiAgICAgICAgICAgICAgICAgIzAwMDtcbkBncmF5RGFya2VyOiAgICAgICAgICAgICMyMjI7XG5AZ3JheURhcms6ICAgICAgICAgICAgICAjMzMzO1xuQGdyYXk6ICAgICAgICAgICAgICAgICAgIzU1NTtcbkBncmF5TGlnaHQ6ICAgICAgICAgICAgICM5OTk7XG5AZ3JheUxpZ2h0ZXI6ICAgICAgICAgICAjZWVlO1xuQHdoaXRlOiAgICAgICAgICAgICAgICAgI2ZmZjtcblxuXG4vLyBBY2NlbnQgY29sb3JzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYmx1ZTogICAgICAgICAgICAgICAgICAjMDQ5Y2RiO1xuQGJsdWVEYXJrOiAgICAgICAgICAgICAgIzAwNjRjZDtcbkBncmVlbjogICAgICAgICAgICAgICAgICM0NmE1NDY7XG5AcmVkOiAgICAgICAgICAgICAgICAgICAjOWQyNjFkO1xuQHllbGxvdzogICAgICAgICAgICAgICAgI2ZmYzQwZDtcbkBvcmFuZ2U6ICAgICAgICAgICAgICAgICNmODk0MDY7XG5AcGluazogICAgICAgICAgICAgICAgICAjYzMzMjVmO1xuQHB1cnBsZTogICAgICAgICAgICAgICAgIzdhNDNiNjtcblxuXG4vLyBTY2FmZm9sZGluZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGJvZHlCYWNrZ3JvdW5kOiAgICAgICAgQHdoaXRlO1xuQHRleHRDb2xvcjogICAgICAgICAgICAgQGdyYXlEYXJrO1xuXG5cbi8vIExpbmtzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbGlua0NvbG9yOiAgICAgICAgICAgICAjMDhjO1xuQGxpbmtDb2xvckhvdmVyOiAgICAgICAgZGFya2VuKEBsaW5rQ29sb3IsIDE1JSk7XG5cblxuLy8gVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHNhbnNGb250RmFtaWx5OiAgICAgICAgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuQHNlcmlmRm9udEZhbWlseTogICAgICAgR2VvcmdpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuQG1vbm9Gb250RmFtaWx5OiAgICAgICAgTW9uYWNvLCBNZW5sbywgQ29uc29sYXMsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xuXG5AYmFzZUZvbnRTaXplOiAgICAgICAgICAxNHB4O1xuQGJhc2VGb250RmFtaWx5OiAgICAgICAgQHNhbnNGb250RmFtaWx5O1xuQGJhc2VMaW5lSGVpZ2h0OiAgICAgICAgMjBweDtcbkBhbHRGb250RmFtaWx5OiAgICAgICAgIEBzZXJpZkZvbnRGYW1pbHk7XG5cbkBoZWFkaW5nc0ZvbnRGYW1pbHk6ICAgIGluaGVyaXQ7IC8vIGVtcHR5IHRvIHVzZSBCUyBkZWZhdWx0LCBAYmFzZUZvbnRGYW1pbHlcbkBoZWFkaW5nc0ZvbnRXZWlnaHQ6ICAgIGJvbGQ7ICAgIC8vIGluc3RlYWQgb2YgYnJvd3NlciBkZWZhdWx0LCBib2xkXG5AaGVhZGluZ3NDb2xvcjogICAgICAgICBpbmhlcml0OyAvLyBlbXB0eSB0byB1c2UgQlMgZGVmYXVsdCwgQHRleHRDb2xvclxuXG5cbi8vIENvbXBvbmVudCBzaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEJhc2VkIG9uIDE0cHggZm9udC1zaXplIGFuZCAyMHB4IGxpbmUtaGVpZ2h0XG5cbkBmb250U2l6ZUxhcmdlOiAgICAgICAgIEBiYXNlRm9udFNpemUgKiAxLjI1OyAvLyB+MThweFxuQGZvbnRTaXplU21hbGw6ICAgICAgICAgQGJhc2VGb250U2l6ZSAqIDAuODU7IC8vIH4xMnB4XG5AZm9udFNpemVNaW5pOiAgICAgICAgICBAYmFzZUZvbnRTaXplICogMC43NTsgLy8gfjExcHhcblxuQHBhZGRpbmdMYXJnZTogICAgICAgICAgMTFweCAxOXB4OyAvLyA0NHB4XG5AcGFkZGluZ1NtYWxsOiAgICAgICAgICAycHggMTBweDsgIC8vIDI2cHhcbkBwYWRkaW5nTWluaTogICAgICAgICAgIDAgNnB4OyAgIC8vIDIycHhcblxuQGJhc2VCb3JkZXJSYWRpdXM6ICAgICAgNHB4O1xuQGJvcmRlclJhZGl1c0xhcmdlOiAgICAgNnB4O1xuQGJvcmRlclJhZGl1c1NtYWxsOiAgICAgM3B4O1xuXG5cbi8vIFRhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHRhYmxlQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgdHJhbnNwYXJlbnQ7IC8vIG92ZXJhbGwgYmFja2dyb3VuZC1jb2xvclxuQHRhYmxlQmFja2dyb3VuZEFjY2VudDogICAgICAgICAgICAgI2Y5ZjlmOTsgLy8gZm9yIHN0cmlwaW5nXG5AdGFibGVCYWNrZ3JvdW5kSG92ZXI6ICAgICAgICAgICAgICAjZjVmNWY1OyAvLyBmb3IgaG92ZXJcbkB0YWJsZUJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICNkZGQ7IC8vIHRhYmxlIGFuZCBjZWxsIGJvcmRlclxuXG4vLyBCdXR0b25zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AYnRuQmFja2dyb3VuZDogICAgICAgICAgICAgICAgICAgICBAd2hpdGU7XG5AYnRuQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgICAgICBkYXJrZW4oQHdoaXRlLCAxMCUpO1xuQGJ0bkJvcmRlcjogICAgICAgICAgICAgICAgICAgICAgICAgI2NjYztcblxuQGJ0blByaW1hcnlCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgQGxpbmtDb2xvcjtcbkBidG5QcmltYXJ5QmFja2dyb3VuZEhpZ2hsaWdodDogICAgIHNwaW4oQGJ0blByaW1hcnlCYWNrZ3JvdW5kLCAyMCUpO1xuXG5AYnRuSW5mb0JhY2tncm91bmQ6ICAgICAgICAgICAgICAgICAjNWJjMGRlO1xuQGJ0bkluZm9CYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgICAgIzJmOTZiNDtcblxuQGJ0blN1Y2Nlc3NCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgIzYyYzQ2MjtcbkBidG5TdWNjZXNzQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICM1MWEzNTE7XG5cbkBidG5XYXJuaW5nQmFja2dyb3VuZDogICAgICAgICAgICAgIGxpZ2h0ZW4oQG9yYW5nZSwgMTUlKTtcbkBidG5XYXJuaW5nQmFja2dyb3VuZEhpZ2hsaWdodDogICAgIEBvcmFuZ2U7XG5cbkBidG5EYW5nZXJCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICNlZTVmNWI7XG5AYnRuRGFuZ2VyQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAjYmQzNjJmO1xuXG5AYnRuSW52ZXJzZUJhY2tncm91bmQ6ICAgICAgICAgICAgICAjNDQ0O1xuQGJ0bkludmVyc2VCYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgQGdyYXlEYXJrZXI7XG5cblxuLy8gRm9ybXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbnB1dEJhY2tncm91bmQ6ICAgICAgICAgICAgICAgQHdoaXRlO1xuQGlucHV0Qm9yZGVyOiAgICAgICAgICAgICAgICAgICAjY2NjO1xuQGlucHV0Qm9yZGVyUmFkaXVzOiAgICAgICAgICAgICBAYmFzZUJvcmRlclJhZGl1cztcbkBpbnB1dERpc2FibGVkQmFja2dyb3VuZDogICAgICAgQGdyYXlMaWdodGVyO1xuQGZvcm1BY3Rpb25zQmFja2dyb3VuZDogICAgICAgICAjZjVmNWY1O1xuQGlucHV0SGVpZ2h0OiAgICAgICAgICAgICAgICAgICBAYmFzZUxpbmVIZWlnaHQgKyAxMHB4OyAvLyBiYXNlIGxpbmUtaGVpZ2h0ICsgOHB4IHZlcnRpY2FsIHBhZGRpbmcgKyAycHggdG9wL2JvdHRvbSBib3JkZXJcblxuXG4vLyBEcm9wZG93bnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBkcm9wZG93bkJhY2tncm91bmQ6ICAgICAgICAgICAgQHdoaXRlO1xuQGRyb3Bkb3duQm9yZGVyOiAgICAgICAgICAgICAgICByZ2JhKDAsMCwwLC4yKTtcbkBkcm9wZG93bkRpdmlkZXJUb3A6ICAgICAgICAgICAgI2U1ZTVlNTtcbkBkcm9wZG93bkRpdmlkZXJCb3R0b206ICAgICAgICAgQHdoaXRlO1xuXG5AZHJvcGRvd25MaW5rQ29sb3I6ICAgICAgICAgICAgIEBncmF5RGFyaztcbkBkcm9wZG93bkxpbmtDb2xvckhvdmVyOiAgICAgICAgQHdoaXRlO1xuQGRyb3Bkb3duTGlua0NvbG9yQWN0aXZlOiAgICAgICBAd2hpdGU7XG5cbkBkcm9wZG93bkxpbmtCYWNrZ3JvdW5kQWN0aXZlOiAgQGxpbmtDb2xvcjtcbkBkcm9wZG93bkxpbmtCYWNrZ3JvdW5kSG92ZXI6ICAgQGRyb3Bkb3duTGlua0JhY2tncm91bmRBY3RpdmU7XG5cblxuXG4vLyBDT01QT05FTlQgVkFSSUFCTEVTXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIFotaW5kZXggbWFzdGVyIGxpc3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFVzZWQgZm9yIGEgYmlyZCdzIGV5ZSB2aWV3IG9mIGNvbXBvbmVudHMgZGVwZW5kZW50IG9uIHRoZSB6LWF4aXNcbi8vIFRyeSB0byBhdm9pZCBjdXN0b21pemluZyB0aGVzZSA6KVxuQHppbmRleERyb3Bkb3duOiAgICAgICAgICAxMDAwO1xuQHppbmRleFBvcG92ZXI6ICAgICAgICAgICAxMDEwO1xuQHppbmRleFRvb2x0aXA6ICAgICAgICAgICAxMDMwO1xuQHppbmRleEZpeGVkTmF2YmFyOiAgICAgICAxMDMwO1xuQHppbmRleE1vZGFsQmFja2Ryb3A6ICAgICAxMDQwO1xuQHppbmRleE1vZGFsOiAgICAgICAgICAgICAxMDUwO1xuXG5cbi8vIFNwcml0ZSBpY29ucyBwYXRoXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaWNvblNwcml0ZVBhdGg6ICAgICAgICAgIFwiLi4vaW1nL2dseXBoaWNvbnMtaGFsZmxpbmdzLnBuZ1wiO1xuQGljb25XaGl0ZVNwcml0ZVBhdGg6ICAgICBcIi4uL2ltZy9nbHlwaGljb25zLWhhbGZsaW5ncy13aGl0ZS5wbmdcIjtcblxuXG4vLyBJbnB1dCBwbGFjZWhvbGRlciB0ZXh0IGNvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AcGxhY2Vob2xkZXJUZXh0OiAgICAgICAgIEBncmF5TGlnaHQ7XG5cblxuLy8gSHIgYm9yZGVyIGNvbG9yXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaHJCb3JkZXI6ICAgICAgICAgICAgICAgIEBncmF5TGlnaHRlcjtcblxuXG4vLyBIb3Jpem9udGFsIGZvcm1zICYgbGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBob3Jpem9udGFsQ29tcG9uZW50T2Zmc2V0OiAgICAgICAxODBweDtcblxuXG4vLyBXZWxsc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHdlbGxCYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAgICNmNWY1ZjU7XG5cblxuLy8gTmF2YmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbmF2YmFyQ29sbGFwc2VXaWR0aDogICAgICAgICAgICAgOTc5cHg7XG5AbmF2YmFyQ29sbGFwc2VEZXNrdG9wV2lkdGg6ICAgICAgQG5hdmJhckNvbGxhcHNlV2lkdGggKyAxO1xuXG5AbmF2YmFySGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgNDBweDtcbkBuYXZiYXJCYWNrZ3JvdW5kSGlnaGxpZ2h0OiAgICAgICAjZmZmZmZmO1xuQG5hdmJhckJhY2tncm91bmQ6ICAgICAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyQmFja2dyb3VuZEhpZ2hsaWdodCwgNSUpO1xuQG5hdmJhckJvcmRlcjogICAgICAgICAgICAgICAgICAgIGRhcmtlbihAbmF2YmFyQmFja2dyb3VuZCwgMTIlKTtcblxuQG5hdmJhclRleHQ6ICAgICAgICAgICAgICAgICAgICAgICM3Nzc7XG5AbmF2YmFyTGlua0NvbG9yOiAgICAgICAgICAgICAgICAgIzc3NztcbkBuYXZiYXJMaW5rQ29sb3JIb3ZlcjogICAgICAgICAgICBAZ3JheURhcms7XG5AbmF2YmFyTGlua0NvbG9yQWN0aXZlOiAgICAgICAgICAgQGdyYXk7XG5AbmF2YmFyTGlua0JhY2tncm91bmRIb3ZlcjogICAgICAgdHJhbnNwYXJlbnQ7XG5AbmF2YmFyTGlua0JhY2tncm91bmRBY3RpdmU6ICAgICAgZGFya2VuKEBuYXZiYXJCYWNrZ3JvdW5kLCA1JSk7XG5cbkBuYXZiYXJCcmFuZENvbG9yOiAgICAgICAgICAgICAgICBAbmF2YmFyTGlua0NvbG9yO1xuXG4vLyBJbnZlcnRlZCBuYXZiYXJcbkBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZDogICAgICAgICAgICAgICAgIzExMTExMTtcbkBuYXZiYXJJbnZlcnNlQmFja2dyb3VuZEhpZ2hsaWdodDogICAgICAgIzIyMjIyMjtcbkBuYXZiYXJJbnZlcnNlQm9yZGVyOiAgICAgICAgICAgICAgICAgICAgIzI1MjUyNTtcblxuQG5hdmJhckludmVyc2VUZXh0OiAgICAgICAgICAgICAgICAgICAgICBAZ3JheUxpZ2h0O1xuQG5hdmJhckludmVyc2VMaW5rQ29sb3I6ICAgICAgICAgICAgICAgICBAZ3JheUxpZ2h0O1xuQG5hdmJhckludmVyc2VMaW5rQ29sb3JIb3ZlcjogICAgICAgICAgICBAd2hpdGU7XG5AbmF2YmFySW52ZXJzZUxpbmtDb2xvckFjdGl2ZTogICAgICAgICAgIEBuYXZiYXJJbnZlcnNlTGlua0NvbG9ySG92ZXI7XG5AbmF2YmFySW52ZXJzZUxpbmtCYWNrZ3JvdW5kSG92ZXI6ICAgICAgIHRyYW5zcGFyZW50O1xuQG5hdmJhckludmVyc2VMaW5rQmFja2dyb3VuZEFjdGl2ZTogICAgICBAbmF2YmFySW52ZXJzZUJhY2tncm91bmQ7XG5cbkBuYXZiYXJJbnZlcnNlU2VhcmNoQmFja2dyb3VuZDogICAgICAgICAgbGlnaHRlbihAbmF2YmFySW52ZXJzZUJhY2tncm91bmQsIDI1JSk7XG5AbmF2YmFySW52ZXJzZVNlYXJjaEJhY2tncm91bmRGb2N1czogICAgIEB3aGl0ZTtcbkBuYXZiYXJJbnZlcnNlU2VhcmNoQm9yZGVyOiAgICAgICAgICAgICAgQG5hdmJhckludmVyc2VCYWNrZ3JvdW5kO1xuQG5hdmJhckludmVyc2VTZWFyY2hQbGFjZWhvbGRlckNvbG9yOiAgICAjY2NjO1xuXG5AbmF2YmFySW52ZXJzZUJyYW5kQ29sb3I6ICAgICAgICAgICAgICAgIEBuYXZiYXJJbnZlcnNlTGlua0NvbG9yO1xuXG5cbi8vIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBwYWdpbmF0aW9uQmFja2dyb3VuZDogICAgICAgICAgICAgICAgI2ZmZjtcbkBwYWdpbmF0aW9uQm9yZGVyOiAgICAgICAgICAgICAgICAgICAgI2RkZDtcbkBwYWdpbmF0aW9uQWN0aXZlQmFja2dyb3VuZDogICAgICAgICAgI2Y1ZjVmNTtcblxuXG4vLyBIZXJvIHVuaXRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBoZXJvVW5pdEJhY2tncm91bmQ6ICAgICAgICAgICAgICBAZ3JheUxpZ2h0ZXI7XG5AaGVyb1VuaXRIZWFkaW5nQ29sb3I6ICAgICAgICAgICAgaW5oZXJpdDtcbkBoZXJvVW5pdExlYWRDb2xvcjogICAgICAgICAgICAgICBpbmhlcml0O1xuXG5cbi8vIEZvcm0gc3RhdGVzIGFuZCBhbGVydHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkB3YXJuaW5nVGV4dDogICAgICAgICAgICAgI2MwOTg1MztcbkB3YXJuaW5nQmFja2dyb3VuZDogICAgICAgI2ZjZjhlMztcbkB3YXJuaW5nQm9yZGVyOiAgICAgICAgICAgZGFya2VuKHNwaW4oQHdhcm5pbmdCYWNrZ3JvdW5kLCAtMTApLCAzJSk7XG5cbkBlcnJvclRleHQ6ICAgICAgICAgICAgICAgI2I5NGE0ODtcbkBlcnJvckJhY2tncm91bmQ6ICAgICAgICAgI2YyZGVkZTtcbkBlcnJvckJvcmRlcjogICAgICAgICAgICAgZGFya2VuKHNwaW4oQGVycm9yQmFja2dyb3VuZCwgLTEwKSwgMyUpO1xuXG5Ac3VjY2Vzc1RleHQ6ICAgICAgICAgICAgICM0Njg4NDc7XG5Ac3VjY2Vzc0JhY2tncm91bmQ6ICAgICAgICNkZmYwZDg7XG5Ac3VjY2Vzc0JvcmRlcjogICAgICAgICAgIGRhcmtlbihzcGluKEBzdWNjZXNzQmFja2dyb3VuZCwgLTEwKSwgNSUpO1xuXG5AaW5mb1RleHQ6ICAgICAgICAgICAgICAgICMzYTg3YWQ7XG5AaW5mb0JhY2tncm91bmQ6ICAgICAgICAgICNkOWVkZjc7XG5AaW5mb0JvcmRlcjogICAgICAgICAgICAgIGRhcmtlbihzcGluKEBpbmZvQmFja2dyb3VuZCwgLTEwKSwgNyUpO1xuXG5cbi8vIFRvb2x0aXBzIGFuZCBwb3BvdmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQHRvb2x0aXBDb2xvcjogICAgICAgICAgICAjZmZmO1xuQHRvb2x0aXBCYWNrZ3JvdW5kOiAgICAgICAjMDAwO1xuQHRvb2x0aXBBcnJvd1dpZHRoOiAgICAgICA1cHg7XG5AdG9vbHRpcEFycm93Q29sb3I6ICAgICAgIEB0b29sdGlwQmFja2dyb3VuZDtcblxuQHBvcG92ZXJCYWNrZ3JvdW5kOiAgICAgICAjZmZmO1xuQHBvcG92ZXJBcnJvd1dpZHRoOiAgICAgICAxMHB4O1xuQHBvcG92ZXJBcnJvd0NvbG9yOiAgICAgICAjZmZmO1xuQHBvcG92ZXJUaXRsZUJhY2tncm91bmQ6ICBkYXJrZW4oQHBvcG92ZXJCYWNrZ3JvdW5kLCAzJSk7XG5cbi8vIFNwZWNpYWwgZW5oYW5jZW1lbnQgZm9yIHBvcG92ZXJzXG5AcG9wb3ZlckFycm93T3V0ZXJXaWR0aDogIEBwb3BvdmVyQXJyb3dXaWR0aCArIDE7XG5AcG9wb3ZlckFycm93T3V0ZXJDb2xvcjogIHJnYmEoMCwwLDAsLjI1KTtcblxuXG5cbi8vIEdSSURcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gRGVmYXVsdCA5NDBweCBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZ3JpZENvbHVtbnM6ICAgICAgICAgICAgIDEyO1xuQGdyaWRDb2x1bW5XaWR0aDogICAgICAgICA2MHB4O1xuQGdyaWRHdXR0ZXJXaWR0aDogICAgICAgICAyMHB4O1xuQGdyaWRSb3dXaWR0aDogICAgICAgICAgICAoQGdyaWRDb2x1bW5zICogQGdyaWRDb2x1bW5XaWR0aCkgKyAoQGdyaWRHdXR0ZXJXaWR0aCAqIChAZ3JpZENvbHVtbnMgLSAxKSk7XG5cbi8vIDEyMDBweCBtaW5cbkBncmlkQ29sdW1uV2lkdGgxMjAwOiAgICAgNzBweDtcbkBncmlkR3V0dGVyV2lkdGgxMjAwOiAgICAgMzBweDtcbkBncmlkUm93V2lkdGgxMjAwOiAgICAgICAgKEBncmlkQ29sdW1ucyAqIEBncmlkQ29sdW1uV2lkdGgxMjAwKSArIChAZ3JpZEd1dHRlcldpZHRoMTIwMCAqIChAZ3JpZENvbHVtbnMgLSAxKSk7XG5cbi8vIDc2OHB4LTk3OXB4XG5AZ3JpZENvbHVtbldpZHRoNzY4OiAgICAgIDQycHg7XG5AZ3JpZEd1dHRlcldpZHRoNzY4OiAgICAgIDIwcHg7XG5AZ3JpZFJvd1dpZHRoNzY4OiAgICAgICAgIChAZ3JpZENvbHVtbnMgKiBAZ3JpZENvbHVtbldpZHRoNzY4KSArIChAZ3JpZEd1dHRlcldpZHRoNzY4ICogKEBncmlkQ29sdW1ucyAtIDEpKTtcblxuXG4vLyBGbHVpZCBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AZmx1aWRHcmlkQ29sdW1uV2lkdGg6ICAgIHBlcmNlbnRhZ2UoQGdyaWRDb2x1bW5XaWR0aC9AZ3JpZFJvd1dpZHRoKTtcbkBmbHVpZEdyaWRHdXR0ZXJXaWR0aDogICAgcGVyY2VudGFnZShAZ3JpZEd1dHRlcldpZHRoL0BncmlkUm93V2lkdGgpO1xuXG4vLyAxMjAwcHggbWluXG5AZmx1aWRHcmlkQ29sdW1uV2lkdGgxMjAwOiAgICAgcGVyY2VudGFnZShAZ3JpZENvbHVtbldpZHRoMTIwMC9AZ3JpZFJvd1dpZHRoMTIwMCk7XG5AZmx1aWRHcmlkR3V0dGVyV2lkdGgxMjAwOiAgICAgcGVyY2VudGFnZShAZ3JpZEd1dHRlcldpZHRoMTIwMC9AZ3JpZFJvd1dpZHRoMTIwMCk7XG5cbi8vIDc2OHB4LTk3OXB4XG5AZmx1aWRHcmlkQ29sdW1uV2lkdGg3Njg6ICAgICAgcGVyY2VudGFnZShAZ3JpZENvbHVtbldpZHRoNzY4L0BncmlkUm93V2lkdGg3NjgpO1xuQGZsdWlkR3JpZEd1dHRlcldpZHRoNzY4OiAgICAgIHBlcmNlbnRhZ2UoQGdyaWRHdXR0ZXJXaWR0aDc2OC9AZ3JpZFJvd1dpZHRoNzY4KTtcbiIsIi8vXG4vLyBVdGlsaXR5IGNsYXNzZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuLy8gUXVpY2sgZmxvYXRzXG4ucHVsbC1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbn1cbi5wdWxsLWxlZnQge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8gVG9nZ2xpbmcgY29udGVudFxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuLnNob3cge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gVmlzaWJpbGl0eVxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gRm9yIEFmZml4IHBsdWdpblxuLmFmZml4IHtcbiAgcG9zaXRpb246IGZpeGVkO1xufVxuIiwiLy9TdHlsZSB0aGUgaGlnaGxpZ2h0IGNvbG9yIFxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogQGJsYWNrO1xuICAgIGNvbG9yOiBAd2hpdGU7XG59XG5cbjo6LW1vei1zZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IEBibGFjaztcbiAgICBjb2xvcjogQHdoaXRlO1xufVxuXG5cbmJsb2NrcXVvdGUge1xuXHRib3JkZXItbGVmdDogNXB4IHNvbGlkICMwMGE3OGQ7XG5cdHAge1xuXHRcdGZvbnQtc2l6ZTogMTQvQGJhc2VFbTtcblx0XHRsaW5lLWhlaWdodDogMS41ZW07XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHR9XG59XG5cbi8vYWRkIHNlY2lmaWMgbGluayBzdHlsZXMgaGVyZSwgcmVtZW1iZXIgdGhhdCB0aGUgY29sb3IgYW5kIGhvdmVyIGNvbG9yIHNob3VsZCBiZSBkZWZpbmVkIGluIHZhcmlhYmxlcy5sZXNzXG5hIHtcblx0Jjpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cbn1cblxuLndoaXRlIHtcblx0Y29sb3I6IEB3aGl0ZTtcbn1cblxuLy9hZGQgYW55dGhpbmcgdW5pdmVyc2FsIHRvIGhlYWRpbmdzIGluIG9uZSBsYWNlXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcblx0bWFyZ2luOiAwIDAgLjVlbSAwO1xuXHRsaW5lLWhlaWdodDogMS41ZW07XG59XG5cbi8vY2FsbCBpbmRpdmlkdWFsIGhlYWRpbmcgc3R5ZXMgYmVsb3dcbmgxIHtcblx0Zm9udC1zaXplOiA0OC9AYmFzZUVtOyAvL2RpdmlkaW5nIGJ5IHRoZSBiYXNlIGVtIHRyYW5zbGF0ZXMgdGhpcyBmcm9tIDM1eCB0byBlbXNcblx0Zm9udC13ZWlnaHQ6MjAwO1xuXHRtYXJnaW4tYm90dG9tOiAuMjVlbTtcbn1cblxuaDIge1xuXHRmb250LXNpemU6IDMyL0BiYXNlRW07XG5cdGZvbnQtd2VpZ2h0OjIwMDtcbn1cblxuaDMge1xuXHRmb250LXNpemU6IDIxL0BiYXNlRW07IFxuXHRmb250LXdlaWdodDo1MDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcbn1cblxuaDQge1xuXHRmb250LXNpemU6IDE4L0BiYXNlRW07XG5cdGZvbnQtd2VpZ2h0OjUwMDtcblx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXG59XG5cbmg1IHtcblx0Zm9udC1zaXplOiAxNi9AYmFzZUVtO1xuXHRmb250LXdlaWdodDoyMDA7XG5cdGxpbmUtaGVpZ2h0OiAxLjVlbTtcblxufVxuXG5cbi8vc2VjaWZpYyBoZWFkaW5nc1xuaDEuc21hbGxlciB7XG5cdGZvbnQtc2l6ZTogMzIvQGJhc2VFbTtcbn1cbmgyLmJpZyB7XG5cdGZvbnQtc2l6ZTogNDgvQGJhc2VFbTtcbn1cbiIsIi5ibG9jayB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuLm5vbi1saW5rOmhvdmVyIHtcblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdGN1cnNvcjogZGVmYXVsdDtcblx0fVxufVxuXG4uYWxpZ25sZWZ0IHtcblx0LnB1bGwtbGVmdDtcbn1cblxuLmFsaWducmlnaHQge1xuXHQucHVsbC1yaWdodDtcbn1cblxuLm5hdmlnYXRpb24tcG9zdCB7XG5cdC5jbGVhcmZpeDtcblx0cGFkZGluZzogMjBweCAwO1xufVxuXG4vL2ljb25zXG5cbmkuaWNvbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRiYWNrZ3JvdW5kOiBAc3ByaXRlU2hlZXQ7XG59XG4gXG5pLnNlYXJjaC1pY29uIHtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjotM3B4IC01MTVweDtcblx0d2lkdGg6IDE3cHg7XG5cdGhlaWdodDogMTdweDtcbn1cblxuaS50d2l0dGVyIHtcblx0d2lkdGg6IDIwcHg7XG5cdGhlaWdodDogMjBweDtcblx0YmFja2dyb3VuZC1wb3NpdGlvbjowIC04NzVweDtcbn1cblxuaS5saW5rZWRJbiB7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJhY2tncm91bmQtcG9zaXRpb246MCAtOTI1cHg7XG59XG5cbmkuZW1haWwge1xuXHR3aWR0aDogMjJweDtcblx0aGVpZ2h0OiAxNnB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMXB4IC05ODJweDtcbn1cblxuaS5idWJibGUge1xuXHR3aWR0aDogMjNweDtcblx0aGVpZ2h0OiAyMXB4O1xuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG5cdC5wdWxsLWxlZnQ7XG5cdG1hcmdpbi1sZWZ0OiA4cHg7XG59IiwiLyoqKioqKioqKioqKioqKlxuXG4gIEJVVFRPTlNcblxuUGxlYXNlIHNlZSBhIGRldiBpZiB5b3UgbmVlZCBhbnkgaGVscCBpbiBvdmVycmlkaW5nIGJvb3RzdHJhcCBkZWZhdWx0cy4gXG5cbkJlIHN1cmUgdG8gYWRqdXN0IHBhZGRpbmcgYWNjb3JkaW5nbHkgaW4gdGhlIHJlc3BvbnNpdmUgcXVlcmllcyBpZiBuZWNlc3NhcnkuIFxuXG4qKioqKioqKioqKioqKi9cblxuLy9IZXJlIGlzIHRoZSBiYXNpYyBidXR0b24gY2xhc3MuIFRoaXMgaXMgYXBwbGllZCB0byBFVkVSWSBidXR0b24gb24gdGhlIHNpdGUsIHNvIG1ha2Ugc3VyZSB0byBrZWVwIHRoaXMgZ2VuZXJpYy4gSSB3b3VsZCBkZWZpbmUgcGFkZGluZyBhbmQgcm91bmRlZCBjb3JuZXJzIGFuZCBsZWF2ZSB0aGUgcmVzdCB0byB0aGUgb3RoZXIgYnRuIGNsYXNzZXMuIFxuLmJ0biB7XG5cdHdpZHRoOjE1NXB4O1xuXHRwYWRkaW5nOiAxMHB4IDBweCA5cHggMHB4O1xuXHQuYm9yZGVyLXJhZGl1cyg1cHgpO1xuXHRib3JkZXI6bm9uZTtcblx0Zm9udC1zaXplOiBAYmFzZUZvbnRTaXplICsgMnB4O1xuXHRmb250LWZhbWlseTpAc2Fuc0ZvbnRGYW1pbHk7XG5cdGZvbnQtd2VpZ2h0OiA1NTA7IFxuXHQvL2JveC1zaGFkb3c6IDBweCA0cHggMHB4IHJnYmEoMCwwLDAsMSk7XG5cdHRleHQtc2hhZG93OiBub25lO1xuXHRjb2xvcjogQHdoaXRlO1xuXHQmOmhvdmVyIHtcblx0XG5cdFx0Y29sb3I6IEB3aGl0ZTtcdFxuXHRcdC8vYm94LXNoYWRvdzogaW5zZXQgMHB4IDRweCAxcHggcmdiYSgwLDAsMCwxKTtcblx0fVxufVxuXG4uYnRuLXByaW1hcnkge1xuXHRwYWRkaW5nOiAxMHB4IDAgOXB4IDA7XG5cdHdpZHRoOjE3NHB4O1xuXHRiYWNrZ3JvdW5kOiBAYnRucHJpbWFyeTtcblx0Ly9ib3gtc2hhZG93OiAwcHggNHB4IDFweCBAYnVybnRvcmFuZ2U7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IEBidG5wcmltYXJ5O1xuXHRcdC8vYm94LXNoYWRvdzogaW5zZXQgMHB4IDRweCAxcHggQG5lY3RhcmluZTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRwYWRkaW5nOiAxMHB4IDAgOXB4IDA7XG5cdFx0d2lkdGg6MTc0cHg7XG5cdFx0YmFja2dyb3VuZDogQGJ0bnByaW1hcnk7XG5cdFx0Ly9ib3gtc2hhZG93OiAwcHggNHB4IDFweCBAYnVybnRvcmFuZ2U7XG5cdFx0Y29sb3I6QHdoaXRlO1xuXHRcdG91dGxpbmU6bm9uZTtcblx0fVxufVxuXG4uYnRuLXNlY29uZGFyeSB7XG5cdGJhY2tncm91bmQ6IEBidG5zZWNvbmRhcnk7XG5cdFx0cGFkZGluZzogOHB4IDBweCA3cHggMHB4O1xuXHQvL2JveC1zaGFkb3c6IDBweCA0cHggMXB4IEBjYWN0dXM7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IEBidG5zZWNvbmRhcnk7XG5cdFx0Ly9ib3gtc2hhZG93OiBpbnNldCAwcHggNHB4IDFweCBAbGltZWdyZWVuO1xuXHR9XG5cdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6IEBidG5zZWNvbmRhcnk7XG5cdFx0cGFkZGluZzogOHB4IDBweCA3cHggMHB4O1xuXHRcdC8vYm94LXNoYWRvdzogMHB4IDRweCAxcHggQGNhY3R1cztcblx0XHRjb2xvcjpAd2hpdGU7XG5cdFx0b3V0bGluZTpub25lO1xuXHR9XG59XG5cbi5idG4tdGVydGlhcnkge1xuXHR3aWR0aDoxMTVweDtcblx0cGFkZGluZzogN3B4IDBweCA2cHggMHB4O1xuXHRmb250LXNpemU6IEBiYXNlRm9udFNpemUgKyAxcHg7XG5cdGJhY2tncm91bmQ6IEBsaW1lZ3JlZW47XG5cdGJveC1zaGFkb3c6IDBweCA0cHggMXB4IEBjYWN0dXM7XG5cdCY6aG92ZXIge1xuXHRcdGJhY2tncm91bmQ6IEBjYWN0dXM7XG5cdFx0Ym94LXNoYWRvdzogaW5zZXQgMHB4IDRweCAxcHggQGxpbWVncmVlbjtcblx0fVxuXHRcblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZDogQGxpbWVncmVlbjtcblx0XHRwYWRkaW5nOiA3cHggMHB4IDZweCAwcHg7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDRweCAxcHggQGNhY3R1cztcblx0XHRjb2xvcjpAd2hpdGU7XG5cdFx0b3V0bGluZTpub25lO1xuXHR9XG59XG5cbi5idG4tc3VibWl0IHtcblx0cGFkZGluZzogN3B4IDEwcHg7XG5cdC5ib3JkZXItcmFkaXVzKDAgNHB4IDRweCAwKTtcblx0Ym9yZGVyOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBAc2t5Ymx1ZTtcblx0Y29sb3I6IEB3aGl0ZTtcbn0iLCJzZWxlY3Qge1xuXHRoZWlnaHQ6IGF1dG87XG5cdHBhZGRpbmc6IDEwcHggMDtcbn1cblxuaW5wdXRbdHlwZT10ZXh0XSwgaW5wdXRbdHlwZT1zZWFyY2hdLCBpbnB1dFt0eXBlPWVtYWlsXSwgaW5wdXRbdHlwZT11cmxdIHtcblx0cGFkZGluZzogNnB4IDIlO1xuXHRjb2xvcjogQHdldEFzcGhhbHQ7XG5cdGZvbnQtZmFtaWx5OiBAYm9keUNvcHk7XG5cdFxufVxuXG5pbnB1dFt0eXBlPXRleHRdOmZvY3VzLCBpbnB1dFt0eXBlPXNlYXJjaF06Zm9jdXMsIHRleGFyZWE6Zm9jdXMsIGlucHV0W3R5cGU9ZW1haWxdOmZvY3VzLCBpbnB1dFt0eXBlPXVybF06Zm9jdXMge1xuXHRjb2xvcjogQG1vbmFjb2JsdWUhaW1wb3J0YW50O1xuXHRib3JkZXItY29sb3I6IEBza3libHVlO1xuXHQvLy13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoNDAsMTEzLDE0MSwuMDc1KSwgMCAwIDhweCByZ2JhKDQwLDExMywxNDEsLjYpO1xuXHQvLy1tb3otYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoNDAsMTEzLDE0MSwuMDc1KSwgMCAwIDhweCByZ2JhKDQwLDExMywxNDEsLjYpO1xuXHQvL2JveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDQwLDExMywxNDEsLjA3NSksIDAgMCA4cHggcmdiYSg0MCwxMTMsMTQxLC42KTtcblx0LnBsYWNlaG9sZGVyKEB3ZXRBc3BoYWx0KTtcbn1cblxuaW5wdXQsIGJ1dHRvbiwgc2VsZWN0LCB0ZXh0YXJlYSB7XG5mb250LWZhbWlseTogQGJvZHlDb3B5O1xuXG59XG5cbnRleHRhcmVhOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRleHRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwiZGF0ZVwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJtb250aFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cIndlZWtcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInVybFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwidGVsXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImNvbG9yXCJdOmZvY3VzLFxuLnVuZWRpdGFibGUtaW5wdXQ6Zm9jdXMge1xuXHRjb2xvcjogQG1vbmFjb2JsdWUhaW1wb3J0YW50O1xuXHRmb250LWZhbWlseTogQGJvZHlDb3B5O1xuXHRib3JkZXItY29sb3I6IEBza3libHVlO1xuXHQtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDQwLDExMywxNDEsLjA3NSksIDAgMCA4cHggcmdiYSg0MCwxMTMsMTQxLC42KTtcblx0LW1vei1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSg0MCwxMTMsMTQxLC4wNzUpLCAwIDAgOHB4IHJnYmEoNDAsMTEzLDE0MSwuNik7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDQwLDExMywxNDEsLjA3NSksIDAgMCA4cHggcmdiYSg0MCwxMTMsMTQxLC42KTtcblx0LnBsYWNlaG9sZGVyKEB3ZXRBc3BoYWx0KTtcbn1cblxuLnZhbGlkYXRpb25fZXJyb3Ige1xuXHRkaXNwbGF5OiBub25lO1xufVxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XG5cdGRpc3BsYXk6IG5vbmU7XG59XG4uZ2ZpZWxkX2Vycm9yIHtcblx0aW5wdXQsIHRleHRhcmVhLCBzZWxlY3Qge1xuXHRcdGJvcmRlcjogMnB4IHNvbGlkIEBidXJudG9yYW5nZTtcblx0fVxufVxuXG4uZ2Zvcm1fd3JhcHBlciB7XG5cdG1hcmdpbi1sZWZ0Oi0yMHB4O1xuXHRtYXJnaW4tYm90dG9tOjYwcHg7XG5cdC5nZm9ybV9ib2R5e1xuXHRcdHVse1xuXHRcdFx0bGlzdC1zdHlsZS10eXBlOm5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdGxpe1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHR9XG5cdH1cblxuXHQuZ2lucHV0X2NvbnRhaW5lcntcblx0XHR0ZXh0YXJlYSB7XG5cdFx0XHR3aWR0aDogNDAwcHhcblx0XHR9XG5cdFx0LmdmaWVsZF9kZXNjcmlwdGlvbntcblx0XHRcdGNvbG9yOiNjY2NjY2M7XG5cdFx0fVxuXHR9XG5cdC5nZmllbGRfY2hlY2tib3h7XG5cdFx0aW5wdXRbdHlwZT1jaGVja2JveF0ge1xuXHRcdFx0ZmxvYXQ6bGVmdDtcblx0XHRcdH1cblx0XHRsYWJlbCB7XG5cdFx0XHRcdHBhZGRpbmctbGVmdDoyMHB4O1xuXHRcdH1cblx0fVxuXHQuZ2ZpZWxkX3JlcXVpcmVkIHtcblx0XHRjb2xvcjogI2Y1OGQ1MDtcblx0fVxufVxuXG5pbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIGlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPXVybF0ge1xuXHRcdHBhZGRpbmc6IDEwcHggNXB4O1xufVxuXG5cbmlucHV0W3R5cGU9c3VibWl0XSB7XG5cdFx0Ly8uYnRuLXN1Ym1pdDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0Ly9yaWdodDogMTcuNSU7XG5cdFx0bWFyZ2luLWxlZnQ6MjVweDtcblx0XHR3aWR0aDoxMDBweDtcblx0XHQuYm9yZGVyLXJhZGl1cyg1cHgpO1xuXHRcdGJvcmRlcjpub25lO1xuXHRcdGZvbnQtc2l6ZTogQGJhc2VGb250U2l6ZSArIDJweDtcblx0XHRmb250LWZhbWlseTpAc2Fuc0ZvbnRGYW1pbHk7XG5cdFx0Zm9udC13ZWlnaHQ6IDU1MDsgXG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0Y29sb3I6IEB3aGl0ZTtcdFxuXHRcdC8vYm94LXNoYWRvdzogaW5zZXQgMHB4IDRweCAxcHggcmdiYSgwLDAsMCwxKTtcblx0XHRiYWNrZ3JvdW5kOiBAYnRuc2Vjb25kYXJ5O1xuXHRcdHBhZGRpbmc6IDhweCAwcHggN3B4IDBweDtcblx0XHQvL2JveC1zaGFkb3c6IDBweCA0cHggMXB4IEBjYWN0dXM7XG5cdFx0XG5cdFx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogQGJ0bnNlY29uZGFyeTtcblx0XHQvL2JveC1zaGFkb3c6IGluc2V0IDBweCA0cHggMXB4IEBsaW1lZ3JlZW47XG5cdFx0fVxuXHRcdCY6Zm9jdXMge1xuXHRcdGJhY2tncm91bmQ6IEBidG5zZWNvbmRhcnk7XG5cdFx0cGFkZGluZzogOHB4IDBweCA3cHggMHB4O1xuXHRcdC8vYm94LXNoYWRvdzogMHB4IDRweCAxcHggQGNhY3R1cztcblx0XHRjb2xvcjpAd2hpdGU7XG5cdFx0b3V0bGluZTpub25lO1xuXHR9XG59XG5cblxuXG4uZ2ZpZWxkX2NoZWNrYm94e1xuXHRpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG5cdFx0ZmxvYXQ6bGVmdDtcblx0fVxuXHRsYWJlbCB7XG5cdFx0cGFkZGluZy1sZWZ0OjIwcHg7XG5cdH1cblx0XG59XG5cblxuXG5cbiNzZWFyY2hmb3JtLmF0dGFjaCB7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0aW5wdXRbdHlwZT1zZWFyY2hdIHtcblx0XHR3aWR0aDogODAlO1xuXHRcdHBhZGRpbmc6IDZweCAxJTtcblx0fVxuXHRpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDE2OHB4O1xuXHRcdHRvcDogMDtcblx0XHRwYWRkaW5nOiA2cHggMTBweDtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJhY2tncm91bmQ6ICM3ZGI1ZDI7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAjN2RiNWQyO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5maWVsZF9hZG1pbl9vbmx5IHtcblx0ZGlzcGxheTogbm9uZTtcbn1cblxuZm9vdGVyLmVudHJ5LW1ldGF7XG5cdG1hcmdpbi1sZWZ0OiA1cHhcbn1cblxuI3NlYXJjaC0ye1xuXHQjc2VhcmNoZm9ybXtcblx0aW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHJpZ2h0OiA1M3B4O1xuXHRcdHRvcDogMDtcblx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuXHRcdC1tb3otYm9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdGJhY2tncm91bmQ6ICM3ZGI1ZDI7XG5cdFx0Y29sb3I6ICNmZmZmZmY7XG5cdFx0Ym94LXNoYWRvdzogbm9uZTtcblx0XHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kOiAjN2RiNWQyO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0fVxuXHR9XG5cdH1cblxufVxuXG4uZ2ZpZWxkX3JhZGlvIHtcblx0bWFyZ2luLWxlZnQ6IDA7XG5cblx0aW5wdXQge1xuXHRcdG1hcmdpbi10b3A6IDA7XG5cdH1cblxuXHRsYWJlbCB7XG5cdFx0ZGlzcGxheTogaW5saW5lO1xuXHRcdG1hcmdpbi1sZWZ0OiA0cHg7XG5cdH1cbn1cblxuLmdmb3JtX3dyYXBwZXIge1xuXHQubW1fcGFzc3dvcmQge1xuXHRcdGlucHV0W3R5cGU9cGFzc3dvcmRdIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IDA7XG5cdFx0fVxuXHRcdHNwYW4gbGFiZWwge1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHRcdGNvbG9yOiAjODg4O1xuXHRcdH1cblxuXHR9XG59XG5cbi8qIGdyYXZpdHkgZm9ybSBvdmVycmlkZXMgKi9cblxuLmdmb3JtX3dyYXBwZXIgZm9ybSB7XG4gIGlucHV0LCBzZWxlY3Qge1xuICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgcGFkZGluZzogM3B4ICFpbXBvcnRhbnQ7XG4gICAgIGhlaWdodDogMzJweDtcbiAgfVxuICB0ZXh0YXJlYSB7XG4gICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICB9XG4gIC5nZmllbGRfcmVxdWlyZWQge1xuICAgICBjb2xvcjogI2Y1OGQ1MDtcbiAgfVxuICB1bC5nZmllbGRfcmFkaW8gbGkgbGFiZWwge1xuICAgICBtYXJnaW4tbGVmdDogMTZweCAhaW1wb3J0YW50O1xuICB9XG4gIGlucHV0W3R5cGU9cmFkaW9dIHtcbiAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgaGVpZ2h0OiAxNnB4O1xuICB9XG4gIC5vcmdfaW5kdXN0cnkgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LCAuaG93X2hlYXIgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LCAuY29udGFjdF9zdWJqIC5naW5wdXRfY29udGFpbmVyIHNlbGVjdCwgLnRpbWVsaW5lIC5naW5wdXRfY29udGFpbmVyIHNlbGVjdCB7XG4gICAgIGhlaWdodDogNDBweDtcbiAgfVxufVxuIiwiI2JyZWFkY3J1bWJzIHtcblx0cGFkZGluZzogMTBweCAwO1xuXHQuY3VycmVudCB7XG5cdFx0Zm9udC1zdHlsZTogaXRhbGljO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG59XG4uaGVybyB7XG5cdC8vYmFja2dyb3VuZC1pbWFnZTp1cmwoJ2ltYWdlcy9oZXJvLnBuZycpO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBAZm9vdGVyO1xuXHRcbn1cblxuI2hlcm90ZXh0IHtcblx0cGFkZGluZzogNTBweCAwIDA7XG5cdGNvbG9yOiBAd2hpdGU7XG5cdFx0XG5cdGgxLCBoMntcblx0XHRjb2xvcjpAd2hpdGU7XG5cdFx0bGluZS1oZWlnaHQ6IDE7XG5cdFx0XG5cdH1cblx0XHRcdFxuXHRwIHtcblx0XHRjb2xvcjpAd2hpdGU7XG5cdFx0Zm9udC1zaXplOiAxOC9AYmFzZUVtO1xuXHRcdGxpbmUtaGVpZ2h0OiAyNC9AYmFzZUVtO1xuXHRcdG1hcmdpbi10b3A6LTE1cHg7XG5cdH1cdFx0XHRcbn1cblxuI3dvcmxkIHtcblx0cGFkZGluZy10b3A6IDUwcHg7XG59XG5cbiNjYWxsb3V0LWFyZWEge1xuXHRiYWNrZ3JvdW5kOiBAY2FsbG91dGJnO1xuXHRwYWRkaW5nOiAzMHB4IDA7XG5cdHAge1xuXHRcdGNvbG9yOkByYWlueWdyZXk7XG5cdH1cbn1cblx0XG5cbi5jYWxsb3V0aW50ZXJuYWwge1xuXHRoNCB7XG5cdFx0Y29sb3I6QHdoaXRlO1xuXHRcdGZvbnQtZmFtaWx5OiBAc2Fuc0ZvbnRGYW1pbHk7XG5cdFx0cGFkZGluZy1sZWZ0OiA2MHB4O1xuXHR9XG5cdHAge1xuXHRcdGNvbG9yOkB3aGl0ZTtcblx0fVxuXHQuYnRue1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRtYXJnaW46IDEwcHggMDtcblx0fVxuXHQuaWNvbmdlYXIge1xuXHRcdGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL3NyaXRlc2hlZXQucG5nJykgbm8tcmVwZWF0IC0ycHggLTMzM3B4O1xuXHRcdHdpZHRoOiAzN3B4O1xuXHRcdGhlaWdodDogMjlweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0Lmljb25tYW4ge1xuXHRcdGJhY2tncm91bmQ6IHVybCgnaW1hZ2VzL3NyaXRlc2hlZXQucG5nJykgbm8tcmVwZWF0IC0zcHggLTM5NHB4O1xuXHRcdHdpZHRoOiA0MXB4O1xuXHRcdGhlaWdodDogMjVweDtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdH1cblx0Lmljb25jaGFydCB7XG5cdFx0YmFja2dyb3VuZDogdXJsKCdpbWFnZXMvc3JpdGVzaGVldC5wbmcnKSBuby1yZXBlYXQgLTNweCAtNDUzcHg7XG5cdFx0d2lkdGg6IDMzcHg7XG5cdFx0aGVpZ2h0OiAzMXB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0fVx0XHRcdFx0XHRcdFx0XHRcdFxufVxuXG4uYm94IHtcblx0LmJvcmRlci1yYWRpdXMoOHB4KTtcblx0cGFkZGluZzozMHB4O1xuXHRjb2xvcjogQHJhaW55Z3JleTtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcblx0aW1nIHtcblx0XHRtYXJnaW4tdG9wOi02cHg7XG5cdH1cblx0XG5cdGg0IHtcblx0XHRtYXJnaW46IDA7XG5cdFx0Zm9udC1zaXplOiAyZW07XG5cdFx0Y29sb3I6IEBuZXdibHVlO1xuXHR9XG5cdFxuXHRwIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0XG5cdC50aXRsZSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMHB4O1xuXHRcdC5jbGVhcmZpeDtcblx0fVxufVxuXG4jc3VpdGUtaW5mbyB7XG5cdGJhY2tncm91bmQtY29sb3I6QHdoaXRlO1xuXHRwYWRkaW5nOiA2MHB4IDAgMzBweDtcblx0Lnd5c2l3eWcge1xuXHRcdGEge1xuXHRcdFx0LmJ0bjtcblx0XHRcdC5idG4tc2Vjb25kYXJ5O1xuXHRcdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRcdG1hcmdpbi1ib3R0b206MTBweDtcblx0XHR9XG5cdH1cbn1cblxuLmhpZ2hsaWdodCB7XG5cdC5jbGVhcmZpeDtcblx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0cGFkZGluZy10b3A6IDA7XG5cdH1cblx0XG5cdGRpdi5wdWxsLWxlZnQge1xuXHRcdHdpZHRoOiAzMDBweDtcblx0fVxuXHRcblx0aW1nIHtcblx0XHQucHVsbC1sZWZ0O1xuXHRcdG1hcmdpbi1yaWdodDogMTVweDtcblx0fVxuXHRoM3tcblx0XHRjb2xvcjpAbW9uYWNvYmx1ZTtcblx0fVxufVxuXG4jc3VpdGUtaW5mbyAuc3BhbjEyIC5idG4tc2Vjb25kYXJ5e1xuXHRkaXNwbGF5OmJsb2NrO1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdG1hcmdpbjphdXRvO1xufVxuXG4uYm90dG9tLWNvbnRlbnR7XG5cdGJhY2tncm91bmQ6IEBsaWdodHNsYXRlO1xuXHRwYWRkaW5nLXRvcDogMzBweDtcblx0Ly9tYXJnaW4tdG86MTB4O1xuXHRwYWRkaW5nLWJvdHRvbTo0MHB4O1xuXHRcblx0LmNvbnRhaW5lciB7XG5cdFx0YmFja2dyb3VuZDogQHdoaXRlO1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblx0XG5cdC50YWItY29udGVudCB7XG5cdFx0LnRhYi1wYW5lIHtcblx0XHRcdHBhZGRpbmc6IDE4cHg7XG5cdFx0fVxuXHR9Ly9jbG9zZXMgdGFiIGNvbnRlbnRzXG5cdFxuXHRoM3tcblx0XHRwYWRkaW5nLXRvcDo1cHg7XG5cdH1cbn1cdFxuXG4ubmF2LXRhYnMge1xuXHRoZWlnaHQ6IGF1dG87XG5cdGJvcmRlci1ib3R0b206MHB4IHNvbGlkO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG5cdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdFxuXHRsaSB7XG5cdFx0d2lkdGg6IDI1JTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0Y29sb3I6QHdoaXRlO1xuXHRcdGJhY2tncm91bmQ6IEBncmF5O1x0XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFxuXHRcdGEge1xuXHRcdFx0Ym9yZGVyOjBweDtcblx0XHRcdGNvbG9yOkB3aGl0ZTtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdHBhZGRpbmc6IDE1cHggMDtcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0Ym9yZGVyOiAwcHggc29saWQ7XG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDBweDtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHRcdH1cblx0XHR9XHRcdFx0XHRcblx0fVxuXHRcblx0bGkuYWN0aXZlIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiA0NSU7XG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCBAd2hpdGU7XG5cdFx0fVxuXHR9XG5cdGxpOmhvdmVyIHtcblx0XHQmOmFmdGVyIHtcblx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRib3R0b206IDA7XG5cdFx0XHRsZWZ0OiA0NSU7XG5cdFx0XHR3aWR0aDogMDtcblx0XHRcdGhlaWdodDogMDtcblx0XHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMTBweCBzb2xpZCBAd2hpdGU7XG5cdFx0fVxuXHR9XG5cdFxuXHRsaS5mZWF0dXJlZCB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHRcblx0bGkuZmVkZXJhbCB7XG5cdFx0YmFja2dyb3VuZDogQG5lY3RhcmluZTtcblx0fVxuXHRcblx0bGkuaW50ZXJuYXRpb25hbCB7XG5cdFx0YmFja2dyb3VuZDogQGxlbW9uemVzdFxuXHR9XG5cdFxuXHRsaS5idXNpbmVzcyB7XG5cdFx0YmFja2dyb3VuZDogQHNreWJsdWU7XG5cdH1cblx0XG5cdGxpLnN0YXRlLWxvY2FsIHtcblx0XHRiYWNrZ3JvdW5kOiBAc2VhZm9hbWdyZWVuO1xuXHR9XG5cdFxuXHRsaS5wYXJ0bmVycyB7XG5cdFx0YmFja2dyb3VuZDogQGNhY3R1cztcblx0XHRkaXNwbGF5Om5vbmU7XG5cdH1cblx0XG5cdC5hcnJvdyB7XG5cdFx0YmFja2dyb3VuZDogdXJsKCdpbWFnZXMvc3JpdGVzaGVldC5wbmcnKSBuby1yZXBlYXQgLTEycHggLTExcHg7XG5cdFx0d2lkdGg6IDE1cHg7XG5cdFx0aGVpZ2h0OiA2cHg7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHotaW5kZXg6IDk5OTk7XG5cdFx0bWFyZ2luLXRvcDotNnB4O1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cdFxuXHRcdFxuXG59XG5cbi5hbGwgLnRhYi1wYW5le1xuXHRwYWRkaW5nOiAzMHB4IDA7XG5cdGltZyB7XG5cdFx0bWFyZ2luLWJvdHRvbToyMHB4O1xuXHR9XG5cdC5zcGFuNCB7XG5cdFx0bWFyZ2luLWJvdHRvbTozMHB4O1xuXHR9XG59XG5cblxuLnRhYi1jb250ZW50e1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiBAd2hpdGU7XG5cdGg0e1xuXHRcdGZvbnQtc2l6ZToxNnB4O1xuXHRcdGZvbnQtd2VpZ2h0OiAyMDA7XG5cdH1cblx0LnJvdy1mbHVpZCB7XG5cdFx0LnNwYW40IHtcblx0XHRtYXJnaW4tbGVmdDozNnB4O1xuXHRcdHdpZHRoOjI2NXB4O1xuXHRcdH1cdFxuXHRpbWcge1xuXHRcdGJvcmRlcjogI2RkZGRkZCBzb2xpZCAxcHg7XG5cdFx0fVxuXHR9XG59XG5cbi50YWItY29udGVudCBhbGx7XG5cdGJhY2tncm91bmQtY29sb3I6IEB3aGl0ZTtcblx0aDR7XG5cdFx0Zm9udC1zaXplOjE2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6IDIwMDtcblx0fVxufVxuXG4ubmF2LXRhYnMgPiBsaSA+IGE6aG92ZXIsIC5uYXYtdGFicyA+IGxpID4gYTpmb2N1cyB7XG5cdGJvcmRlcjogbm9uZTtcblx0YmFja2dyb3VuZDogbm9uZTtcblx0XG59XG5cbi5uYXYtdGFicyA+IC5hY3RpdmUgPiBhLCAubmF2LXRhYnMgPiAuYWN0aXZlID4gYTpob3ZlciwgLm5hdi10YWJzID4gLmFjdGl2ZSA+IGE6Zm9jdXMge1xuXHRib3JkZXI6IG5vbmU7XG5cdGJhY2tncm91bmQ6IG5vbmU7XG5cdFxufVxuXG4ubmF2LXRhYnMgPiAuYWN0aXZlID4gYSwgLm5hdi10YWJzID4gLmFjdGl2ZSA+IGE6aG92ZXIsIC5uYXYtdGFicyA+IC5hY3RpdmUgPiBhOmZvY3VzIHtcblx0Y29sb3I6IGluaGVyaXQ7XG5cbn1cblxuLnRhYmJlZC1uYXYge1xuXHRhIHtcblx0XHRwYWRkaW5nOiAxNXB4IDEwcHg7XG5cdH1cblx0YTpob3ZlciB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHR9XG5cdCNtZW51LW5ld3MtbWVkaWEge1xuXHRcdGxpIHtcblx0XHRcdFx0d2lkdGg6MjUlO1xuXHRcdH1cblx0fVxuXHQjbWVudS1jb250YWN0IHtcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRsaSB7XG5cdFx0XHRcdHdpZHRoOjE2JTtcblx0XHR9XG5cdH1cbn1cblxuXG4vL3RoaXMgaXMgZm9yIHRoZSBob21lYWdlIHNlY2lhbCByb2xsb3ZlclxuLmhvbWUgLm5hdmJhciB1bCBsaTpob3ZlciBhIHtcblx0YmFja2dyb3VuZC1jb2xvcjogQHNreWJsdWU7XG59XG4vKlxuI3BhZ2UtY2FsbG91dHMge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGgyIHtcblx0XHRtYXJnaW46IC41ZW0gMCAuMjVlbTtcblx0fVxuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0fVxuXHRpbWcge1xuXHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG5cdC5idG4ge1xuXHRcdG1hcmdpbi10b3A6IDEwcHg7XG5cdH1cblx0LnNwYW40IHtcblx0XHRtYXJnaW4tdG9wOjMwcHg7XG5cdFx0cHtcblx0XHRcdG1pbi1oZWlnaHQ6XHQ4MHB4O1xuXHRcdFx0Ly9tYXgtaGVpZ2h0OjEwMHB4O1xuXHRcdFx0Ly9kaXNwbGF5OmJsb2NrO1xuXHRcdH1cblx0XHQmOmhvdmVyIGEgaW1nIHtcblx0XHRcdG9wYWNpdHk6IDAuOTtcblx0XHR9XG5cdH1cbn0qL1xuXG4jcGFnZS1jYWxsb3V0cyxcbiNwYWdlLWNhbGxvdXRzLTIsXG4jcGFnZS1jYWxsb3V0cy0zIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXG5cdGgyIHtcblx0XHRtYXJnaW46IDAuNWVtIDAgMC4yNWVtO1xuXHR9XG5cdHVsIHtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xuXHR9XG5cdGltZyB7XG5cdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMDtcblx0fVxuXHQuYnRuIHtcblx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHR9XG5cdC5zcGFuNCB7XG5cdFx0bWFyZ2luLXRvcDogMTBweDtcblx0XHRwIHtcblx0XHRcdG1pbi1oZWlnaHQ6IDgwcHg7XG5cdFx0fVxuXHRcdCY6aG92ZXIgYSB7XG5cdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRoMiB7XG5cdFx0XHRcdGNvbG9yOiAjMDBhNzhkO1xuXHRcdFx0fVxuXHRcdFx0aW1nIHtcblx0XHRcdFx0b3BhY2l0eTogMC45O1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4uYWNjb3JkaW9ue1xuXHRoM3tcblx0XHRtYXJnaW4tdG9wOjIweDtcblx0fVxufVxuLmFjY29yZGlvbi10b2dnbGU6YmVmb3JlIHtcblx0Y29udGVudDogXCItXCI7XG59XG4uYWNjb3JkaW9uLXRvZ2dsZS5jb2xsYXNlZDpiZWZvcmUge1xuXHRjb250ZW50OiBcIitcIjtcbn1cblxuI21hbmFnZW1lbnQsICNkaXJlY3RvcnMsICN0cnVuY2F0ZWQtdGVhbSB7XG5cdGgyIHtcblx0XHRmb250LXNpemU6IDE4L0BiYXNlRW07XG5cdFx0Zm9udC13ZWlnaHQ6NjAwO1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjJlbTtcblx0fVxuXHRoMyB7XG5cdFx0Zm9udC1zaXplOiAxNi9AYmFzZUVtO1xuXHRcdGZvbnQtd2VpZ2h0OjIwMDtcblx0XHRsaW5lLWhlaWdodDogMWVtO1xuXHRcdGNvbG9yOiBAd2V0QXNwaGFsdDtcblx0fVxufVxuXG4jbWFuYWdlbWVudCwgI2RpcmVjdG9ycyB7XG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBsaWdodGVuKEB3ZXRBc3BoYWx0LCA1MCUpO1xuXHRwYWRkaW5nLWJvdHRvbTogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0aW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRtYXJnaW46IDAgYXV0byAxMHB4O1xuXHR9XG5cdGgyLCBoMyB7XG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHR9XG5cdC5zcGFuM3tcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cblx0LnNwYW40e1xuXHRcdG1hcmdpbi10b3A6IDMwcHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0XHRcdGF7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRcdFx0fVx0XG5cdH1cbn1cblxuI3RydW5jYXRlZC10ZWFtIHtcblx0aW1nIHtcblx0XHQucHVsbC1sZWZ0O1xuXHRcdHdpZHRoOiAxNyU7XG5cdFx0bWFyZ2luLXJpZ2h0OiAzJTtcblx0fVxuXHRkaXYucHVsbC1sZWZ0IHtcblx0XHR3aWR0aDogODAlO1xuXHR9XG5cdC5zcGFuNHtcblx0XHRtYXJnaW4tYm90dG9tOjQwcHg7XG5cdH1cblx0XG59XG5cbmNvZGUge1xuXHRmb250LWZhbWlseTogJ1NvdXJjZSBDb2RlIFBybycsIHNhbnMtc2VyaWY7XG5cdGNvbG9yOiByZ2IoODAsIDgwLCA4MCk7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0cGFkZGluZzogMHB4IDRweDtcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiByZ2IoMjUxLCAyNTEsIDI1MSk7XG5cdGJvcmRlcjogMXB4IHNvbGlkIHJnYigyMjMsIDIyMywgMjIzKTtcblx0Ym9yZGVyLWltYWdlLXNvdXJjZTogaW5pdGlhbDtcblx0Ym9yZGVyLWltYWdlLXNsaWNlOiBpbml0aWFsO1xuXHRib3JkZXItaW1hZ2Utd2lkdGg6IGluaXRpYWw7XG5cdGJvcmRlci1pbWFnZS1vdXRzZXQ6IGluaXRpYWw7XG5cdGJvcmRlci1pbWFnZS1yZXBlYXQ6IGluaXRpYWw7XG5cdGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbiNyZWxhdGVkLXN0dWRpZXMge1xuXHRtYXJnaW4tdG9wOjBweDtcblx0aW1nIHtcblx0XHRwYWRkaW5nLXRvcDoxMHB4O1xuXHRcdHBhZGRpbmctYm90dG9tOjIwcHg7XG5cdH1cbn1cblxuLy9tb2RhbFxuLm1vZGFsIHtcblx0LmJvcmRlci1yYWRpdXMoMCk7XG5cdFxuXHQuY2xvc2Uge1xuXHRcdGZvbnQtc2l6ZTogMjRweDtcblx0XHRjb2xvcjogQGxpbmtDb2xvcjtcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xuXHRcdC5vcGFjaXR5KDEwMCk7XG5cdFx0dGV4dC1zaGFkb3c6IG5vbmU7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdG1hcmdpbi10b3A6IDJweDtcblx0fVxuXHQubW9kYWwtYm9keSB7XG5cdFx0cGFkZGluZzogMzBweCA1MHB4IDMwcHggNTBweDtcblx0XHRtYXgtaGVpZ2h0OiA1MjBweDtcblx0XHRcblx0XHQuZ2Zvcm1fd3JhcHBlciB7XG5cdFx0XHRjbGVhcjogYm90aDtcblx0XHRcdC5nZm9ybV90aXRsZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMzIvQGJhc2VFbTtcblx0XHRcdFx0Zm9udC13ZWlnaHQ6MjAwO1xuXHRcdFx0XHRsaW5lLWhlaWdodDogMS4yZW07XG5cdFx0XHR9XG5cdFx0XHRcblx0XHRcdC5nZm9ybV9ib2R5IHtcblx0XHRcdFx0bWFyZ2luLXRvcDogMzBweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0dWxbaWRePVwiZ2Zvcm1fZmllbGRzXCJdIHtcblx0XHRcdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFx0XHRtYXJnaW46IDA7XG5cdFx0XHR9XG5cdFx0XHRpbnB1dFt0eXBlPXRleHRdLCBpbnB1dFt0eXBlPXNlYXJjaF0sIGlucHV0W3R5cGU9ZW1haWxdLCBpbnB1dFt0eXBlPXVybF0ge1xuXHRcdFx0XHRwYWRkaW5nOiAxMHB4IDVweDtcblx0XHRcdH1cblx0XHRcdFxuXHRcdFx0aW5wdXRbdHlwZT10ZXh0XSB7XG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHRpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblx0XHRcdFx0LmJ0bjtcblx0XHRcdFx0LmJ0bi1zZWNvbmRhcnk7XG5cdFx0XHRcdGZsb2F0OiByaWdodDtcblx0XHRcdFx0bWFyZ2luLWxlZnQ6MHB4O1xuXHRcdFx0XHRtYXJnaW4tdG9wOjIwcHg7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHR9XG59XG5cblxudGFibGV7XG5cdC5idG57XG5cdFx0bWFyZ2luLXJpZ2h0OjEwcHg7XG5cdH1cbn1cblxuXG4ucGFydG5lcnMtdGFibGUge1xuXHRpbWcge1xuXHRcdHBhZGRpbmctdG9wOjVweCAhaW1wb3J0YW50O1xuXHRcdHBhZGRpbmctYm90dG9tOjBweCAhaW1wb3J0YW50O1xuXHR9XG59XG5cbnByZSB7XG5cdHdoaXRlLXNwYWNlOiBwcmU7XG5cdHdvcmQtd3JhcDogbm9ybWFsO1xuXHRvdmVyZmxvdzogYXV0bztcbn1cbiIsImJvZHkge1xuXHRmb250LWZhbWlseTpAYm9keUNvcHk7XHRcbn1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCAuYnRuLCAubmF2LXRhYnMsIC5tZW51LW1haW4tY29udGFpbmVyLCAuc2Vjb25kYXJ5bmF2LCAuZm9vdGVyLWFib3V0LW1lbnUsIC5mb290ZXItcmVzb3VyY2VzLW1lbnUsIC5mb290ZXItc29sdXRpb25zLW1lbnUsIC5mb290ZXItc3ViLW1lbnUsIC5zb2NpYWwsIC5wcmljaW5nLW9wdGlvbi1oZWFkZXIsIC5wcmljaW5nLW9wdGlvbi1wcmljZSwgLm1lbnUtc29mdHdhcmUtcGFja2FnZXMtY29udGFpbmVyLCAubWVudS1vcGVuZ2VvLXN1aXRlLTQtY29udGFpbmVyIHtcblx0Zm9udC1mYW1pbHk6IEBzYW5zRm9udEZhbWlseTtcbn1cblxucHtcblx0bWFyZ2luOiAwIDAgMjBweCAwO1xufVxuXG5hOmZvY3VzIHtcblx0b3V0bGluZTogbm9uZTtcblx0b3V0bGluZS1vZmZzZXQ6IG5vbmU7XG59IiwiaHRtbCB7XG5cdG1pbi13aWR0aDogOTYwcHg7XG59XG5cbi5jb250YWluZXIge1xuXHRwYWRkaW5nOiAwIDEwcHg7XG59XG5cbi50cmFuc2l0aW9uIHtcblx0LXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG5cdC1tb3otdHJhbnNpdGlvbjogYWxsIDFzIGVhc2UtaW4tb3V0O1xuXHQtby10cmFuc2l0aW9uOiBhbGwgMXMgZWFzZS1pbi1vdXQ7XG5cdHRyYW5zaXRpb246IGFsbCAxcyBlYXNlLWluLW91dDsgXG59XG5cbi5zaXRlLW1haW57XG5cdGJhY2tncm91bmQtY29sb3I6I2YyZjJmMjtcbn1cblxuI2NvbnRlbnQge1xuXHRwYWRkaW5nLWJvdHRvbTo2MHB4O1xufVxuXG4ucGFnZS1oZWFkZXJ7XG5cdGNvbG9yOiBAd2hpdGU7XG5cdHdpZHRoOjEwMCU7XG5cdGJhY2tncm91bmQ6ICMwODQ1NWQ7IC8qIE9sZCBicm93c2VycyAqL1xuXHRiYWNrZ3JvdW5kOiAtbW96LWxpbmVhci1ncmFkaWVudCh0b3AsICMyMzVjNzMgMCUsICMxMTJkMzkgMTAwJSk7IC8qIEZGMy42KyAqL1xuXHRiYWNrZ3JvdW5kOiAtd2Via2l0LWdyYWRpZW50KGxpbmVhciwgbGVmdCB0b3AsIGxlZnQgYm90dG9tLCBjb2xvci1zdG9wKDAlLCMyMzVjNzMpLCBjb2xvci1zdG9wKDEwMCUsIzExMmQzOSkpOyAvKiBDaHJvbWUsU2FmYXJpNCsgKi9cblx0YmFja2dyb3VuZDogLXdlYmtpdC1saW5lYXItZ3JhZGllbnQodG9wLCAjMjM1YzczIDAlLCMxMTJkMzkgMTAwJSk7IC8qIENocm9tZTEwKyxTYWZhcmk1LjErICovXG5cdGJhY2tncm91bmQ6IC1vLWxpbmVhci1ncmFkaWVudCh0b3AsICMyMzVjNzMgMCUsIzExMmQzOSAxMDAlKTsgLyogT3BlcmEgMTEuMTArICovXG5cdGJhY2tncm91bmQ6IC1tcy1saW5lYXItZ3JhZGllbnQodG9wLCAjMjM1YzczIDAlLCMxMTJkMzkgMTAwJSk7IC8qIElFMTArICovXG5cdGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sICMyMzVjNzMgMCUsIzExMmQzOSAxMDAlKTsgLyogVzNDICovXG5cdGZpbHRlcjogcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KCBzdGFydENvbG9yc3RyPScjMjM1YzczJywgZW5kQ29sb3JzdHI9JyMxMTJkMzknLEdyYWRpZW50VHlwZT0wICk7IC8qIElFNi05ICovXG5cdGJvcmRlcjogbm9uZTtcblx0bWFyZ2luOiAwIDAgNTBweDtcblx0cGFkZGluZzogNDBweCAwO1xuXHRcblx0aDEge1xuXHRcdGNvbG9yOkB3aGl0ZTtcblx0fVxuXG5cdHAge1xuXHRcdGNvbG9yOkB3aGl0ZTtcblx0XHRmb250LXNpemU6MTgvQGJhc2VFbTtcblx0XHRtYXJnaW4tYm90dG9tOiAwcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNWVtO1xuXHR9XG59XG5cbi5wYWdlLWlkLTYxNDAsXG4ucGFnZS1pZC02MTQyLFxuLnBhZ2UtaWQtNjE0NCxcbi5wYWdlLWlkLTYxNDYsXG4ucGFnZS1pZC02MTQ4IHtcblx0LnBhZ2UtaGVhZGVyIHtcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuXG5cbi5lbXB0eS1uYXYge1xuXHRwYWRkaW5nLWJvdHRvbTo2MHB4O1xufVxuXG4ucHJldmlvdXMge1xuXHQucHVsbC1sZWZ0O1xufVxuXG4ubmV4dCB7XG5cdC5wdWxsLXJpZ2h0O1xufVxuXG4udHdvLWNvbCB7XG5cdG1hcmdpbi10b3A6IDUwcHg7XG5cdGFydGljbGUge1xuXHRcdG1hcmdpbi10b3A6MHB4O1xuXHR9XG5cdGgxIHtcblx0XHRmb250LXNpemU6IDMycHg7XG5cdH1cblx0LmJ0biB7XG5cdFx0Y29sb3I6QHdoaXRlO1xuXHRcdG1hcmdpbi10b3A6MTBweDtcblx0XHQmOmZvY3VzIHtcblx0XHRiYWNrZ3JvdW5kOiBAbGltZWdyZWVuO1xuXHRcdHBhZGRpbmc6IDhweCAwcHggN3B4IDBweDtcblx0XHRib3gtc2hhZG93OiAwcHggNHB4IDFweCBAY2FjdHVzO1xuXHRcdGNvbG9yOkB3aGl0ZTtcblx0XHRvdXRsaW5lOm5vbmU7XG5cdH1cblx0fVxufVxuXG5cblxuLndoaXRlcGFnZXMge1xuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xuXHRoNCB7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNGVtO1xuXHRcdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0XHRwYWRkaW5nLWxlZnQ6MjBweDtcblx0XHRib3JkZXItbGVmdDogI2RhZGFkYSBzb2xpZCAxcHg7XG5cdH1cblx0LmVudHJ5LWNvbnRlbnR7XG5cdFx0Ym9yZGVyLWxlZnQ6ICNkYWRhZGEgc29saWQgMXB4O1xuXHRcdHBhZGRpbmctcmlnaHQ6IDIwcHg7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdG1hcmdpbi1sZWZ0OiAtMjBweDtcblx0XHRtYXJnaW4tdG9wOi0xMHB4O1xuXHRcdHBhZGRpbmctdG9wOjEwcHg7XG5cdFx0XG5cdFx0XG5cdFx0fVxuXHRhcnRpY2xlIHtcblx0YmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBoNCwgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjpub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXHQuYnRue1xuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xuXHRcdG1hcmdpbi1yaWdodDogYXV0bztcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXHRcbn1cblxuXG5cbmFydGljbGUge1xuXHRtYXJnaW4tYm90dG9tOiA0MHB4O1xuXHRtYXJnaW4tdG9wOjEwcHg7XG5cdGltZ3tcblx0cGFkZGluZy10b3A6MzBweDtcblx0cGFkZGluZy1ib3R0b206MzBweDtcblx0fVxufVxuXG4uYmxvZyBhcnRpY2xlLFxuLnNpbmdsZS1wb3N0IC5wb3N0IHtcblx0YmFja2dyb3VuZDogQHdoaXRlO1xuXHRwYWRkaW5nOiAzMHB4O1xuXHRib3JkZXItcmFkaXVzOiAxMHB4O1xufVxuXG5cblxuLmVudHJ5LWhlYWRlcntcblx0YXtcblx0XHRjb2xvcjpAbW9uYWNvYmx1ZTtcblx0fVxufVxuXG4uZW50cnktZXhjZXJwdCB7XG5cdG1hcmdpbi10b3A6MTBweDtcblx0LnNwYW4yIGltZ3tcblx0XHRkaXNwbGF5Om5vbmU7XG5cdH1cblx0LnNwYW4xMCB7XG5cdFx0d2lkdGg6OTYwcHg7XG5cdH1cbn1cblxuLnZpZGVvLWNvbnRhaW5lciB7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tdG9wOjMwcHg7XG5cdGhlaWdodDoyOTBweDtcblx0d2lkdGg6IDMzLjMzMzMzMzMzJTtcblx0aWZyYW1lIHtcblx0d2lkdGg6IDkwJTtcblx0aGVpZ2h0Olx0MjAzcHg7XG5cdG1hcmdpbi1yaWdodDogMTAlO1xuXHRkaXNwbGF5OmJsb2NrO1xuXHR9XG5cdG9iamVjdCB7XG5cdHdpZHRoOiA5MCU7XG5cdGhlaWdodDpcdDIwM3B4O1xuXHRtYXJnaW4tcmlnaHQ6IDEwJTtcblx0ZGlzcGxheTpibG9jaztcblx0fVxufVxuXG4vL2NvbW1lbnRzXG5oMi5jb21tZW50cy10aXRsZXtcblx0Zm9udC1zaXplOiAxOC9AYmFzZUVtO1xuXHRjb2xvcjpAd2V0QXNwaGFsdDtcblx0Zm9udC13ZWlnaHQ6NjAwO1xufVxuLmNvbW1lbnQtcmVwbHktdGl0bGV7XG5cdGZvbnQtc2l6ZTogMTgvQGJhc2VFbTtcblx0Y29sb3I6QHdldEFzcGhhbHQ7XG5cdGZvbnQtd2VpZ2h0OjYwMDtcbn1cblxub2wuY29tbWVudC1saXN0e1xuXHRtYXJnaW46IC0xMHB4IDAgMzBweCAzMHB4O1xufVxuXG4uY29tbWVudC1mb3JtLWNvbW1lbnQgdGV4dGFyZWEge1xuXHR3aWR0aDo2MDBweDtcbn1cbi5jb21tZW50LW1ldGEgY29tbWVudG1ldGFkYXRhe1xuXHRtYXJnaW4tdG9wOi0xNnB4O1xufVxuXG5cbi8vZXZlbnRzXG4uZXZlbnRzIHtcblx0YXJ0aWNsZSB7XG5cdCYuaGlkZS10aGlzIHtcblx0XHRkaXNwbGF5Om5vbmU7XG5cdH1cblx0LmV2ZW50LWRhdGUge1xuXHRcdFx0aGVpZ2h0OiA1M3B4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQG1vbmFjb2JsdWU7XG5cdFx0XHR3aWR0aDogNTlweDtcblx0XHRcdG1hcmdpbi1yaWdodDoyMHB4O1xuXG5cdFx0XHQubW9udGgge1xuXHRcdFx0XHRmb250LXNpemU6IDE0L0BiYXNlRW07XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cdFx0XHRcdGNvbG9yOkB3aGl0ZTtcblx0XHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0XHR9XG5cdFx0XHQuZGF5IHtcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcblx0XHRcdFx0d2lkdGg6IDQ5cHg7XG5cdFx0XHRcdGhlaWdodDogMjRweDtcblx0XHRcdFx0bWFyZ2luOiAwIGF1dG87XG5cdFx0XHRcdGZvbnQtc2l6ZToyNC9AYmFzZUVtO1xuXHRcdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcblx0XHRcdFx0cGFkZGluZy10b3A6NHB4O1xuXHRcdFx0XHRjb2xvcjogQG1vbmFjb2JsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5ldmVudC1oZWFkZXIge1xuXHRcdFx0d2lkdGg6MjEzcHg7XG5cdFx0XHRoNCB7XG5cdFx0XHQgY29sb3I6QG1vbmFjb2JsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC5ldmVudC1jb250ZW50IHtcblx0XHR3aWR0aDoyMTNweDtcblx0XHRwe1xuXHRcdG1hcmdpbi1ib3R0b206LTEwcHg7XG5cdFx0bWFyZ2luLXRvcDotMTBweDtcblx0XHR9XG5cblx0XHR9XG5cdH1cblxufVxuXG4uZXZlbnRicml0ZS1ldmVudCB7XG5cdC5jbGVhcmZpeCgpO1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHQuZXZlbnQtZGF0ZSB7XG5cdFx0aGVpZ2h0OiA1M3B4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEBtb25hY29ibHVlO1xuXHRcdHdpZHRoOiA1OXB4O1xuXHRcdG1hcmdpbi1yaWdodDogMjBweDtcblxuXHRcdC5tb250aCB7XG5cdFx0XHRmb250LXNpemU6IDE0L0BiYXNlRW07XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXHRcdFx0Y29sb3I6QHdoaXRlO1xuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0fVxuXG5cdFx0LmRheSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuXHRcdFx0d2lkdGg6IDQ5cHg7XG5cdFx0XHRoZWlnaHQ6IDI0cHg7XG5cdFx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRcdGZvbnQtc2l6ZToyNC9AYmFzZUVtO1xuXHRcdFx0dGV4dC1hbGlnbjpjZW50ZXI7XG5cdFx0XHRwYWRkaW5nLXRvcDo0cHg7XG5cdFx0XHRjb2xvcjogQG1vbmFjb2JsdWU7XG5cdFx0fVxuXHR9XG5cdC5ldmVudC1oZWFkZXIge1xuXHRcdC5ldmVudC10aXRsZSBhIHtcblx0XHRcdGNvbG9yOiBAbW9uYWNvYmx1ZTtcblx0XHR9XG5cdFx0aDUgcCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cdC5ldmVudC1jb250ZW50IHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogMzY0cHg7XG5cdFx0cCB7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0fVxuXHR9XG5cdC5ldmVudC1saW5rIHtcblx0XHRmbG9hdDogbGVmdDtcblx0XHR3aWR0aDogNDBweDtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0fVxufVxuXG4vL3N1aXRlIGRvd25sYW9kIGJ1dHRvbnMgXG5cbi5zdWl0ZS1kb3dubG9hZHMge1xuXHRcblx0bWFyZ2luLXJpZ2h0OjEwcHg7XG5cbn1cblxuLy8gTmV3cyAmIE1lZGlhXG4uZW50cnktZXhjZXJwdC5uZXdzLWFydGljbGUsXG4uZW50cnktZXhjZXJwdC5wcmVzcy1yZWxlYXNlIHtcblx0LmVudHJ5LWhlYWRlciB7XG5cdFx0bWFyZ2luLWJvdHRvbTogLjVlbTtcblx0XHRoMyB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdH1cblx0fVxufVxuIiwiI21hc3RoZWFkIHtcblx0cGFkZGluZzogMDtcbn1cblxuW2lkPVwibG9nb1wiXSB7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xuXHR3aWR0aDogMjYwcHg7XG5cdGZsb2F0OiBsZWZ0O1xufVxuXG4ubWVudS1tYWluLWNvbnRhaW5lciB7XG5cdC5jbGVhcmZpeDtcblx0Zm9udC1zaXplOiAxNHB4O1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0Y29sb3I6IEB3ZXRBc3BoYWx0O1xuXHRmb250LXdlaWdodDogbm9ybWFsO1xuXHR3aWR0aDogNTQwcHg7XG5cdGZsb2F0OiBsZWZ0O1xuXHRtYXJnaW4tbGVmdDogNjBweDtcblxuXHQubWVudSB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRtYXJnaW4tbGVmdDogMDtcblxuXHRcdC5tZW51LWl0ZW0ge1xuXHRcdFx0YSB7XG5cdFx0XHRcdGRpc3BsYXk6IGJsb2NrO1xuXHRcdFx0XHRwYWRkaW5nOiA1cHggMTBweDtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdFx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5tZW51LWl0ZW0tZGVwdGgtMCB7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdHBhZGRpbmc6IDAgOHB4O1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0LmRyb3AtZG93biB7XG5cdFx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdFx0fVxuXHRcdFx0XHQ+IGEge1xuXHRcdFx0XHRcdGNvbG9yOiByZ2IoNDAsIDExNCwgMTQxKTtcblx0XHRcdFx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblxuXHRcdFx0PiBhIHtcblx0XHRcdFx0Y29sb3I6IEB3ZXRBc3BoYWx0O1xuXHRcdFx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0XHRcdHBhZGRpbmc6IDMwcHggMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQuZHJvcC1kb3duLWRlcHRoLTAge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdG9wYWNpdHk6IC45NTtcblx0XHRsZWZ0OiAwO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHRcdHRvcDogODBweDtcblx0XHR6LWluZGV4OiA5OTk5O1xuXG5cdFx0LmFkbWluLWJhciAmIHtcblx0XHRcdHRvcDogMTA5cHg7XG5cdFx0fVxuXHR9XG5cblx0LmRyb3AtZG93bi1pbm5lciB7XG5cdFx0LmNsZWFyZml4O1xuXHRcdG1heC13aWR0aDogOTYwcHg7XG5cdFx0bWFyZ2luOiBhdXRvO1xuXG5cdFx0Lm1lbnUtaXRlbS1kZXB0aC0xIHtcblx0XHRcdGZsb2F0OiBsZWZ0O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdFx0cGFkZGluZzogMjBweCAwcHg7XG5cdFx0XHR3aWR0aDogMTgwcHg7XG5cblx0XHRcdD4gYSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMThweDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHRhIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdH1cblx0fVxufVxuLyogXG4uc29sdXRpb25zLXByaW1hcnl7XG5cdCY6aG92ZXIge1xuXHRcdD4gYSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAc2VhZm9hbWdyZWVuO1xuXHRcdH1cblx0fVxuXG5cdC5kcm9wLWRvd24tZGVwdGgtMCB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHNlYWZvYW1ncmVlbjtcblx0fVxufVxuXG4ucmVzb3VyY2VzLXByaW1hcnl7XG5cdCY6aG92ZXIge1xuXHRcdD4gYSB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAc2t5Ymx1ZTtcblx0XHR9XG5cdH1cblxuXHQuZHJvcC1kb3duLWRlcHRoLTAge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEBza3libHVlO1xuXHR9XG59XG5cbi5hYm91dC1wcmltYXJ5e1xuXHQmOmhvdmVyIHtcblx0XHQ+IGEge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQGNhY3R1cztcblx0XHR9XG5cdH1cblxuXHQuZHJvcC1kb3duLWRlcHRoLTAge1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEBjYWN0dXM7XG5cdH1cbn1cblxuLnN1cHBvcnQtcHJpbWFyeXtcblx0Jjpob3ZlciB7XG5cdFx0PiBhIHtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBsZW1vbnplc3Q7XG5cdFx0fVxuXHR9XG5cblx0LmRyb3AtZG93bi1kZXB0aC0wIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAbGVtb256ZXN0O1xuXHR9XG59XG4qL1xuLnNlYXJjaC5kcm9wZG93biB7XG5cdC5wdWxsLWxlZnQ7XG5cdHBhZGRpbmc6IDRweCAxMnB4IDEwcHggMTJweDtcblx0bWFyZ2luOiAyNXB4IDIwcHggMCAwO1xuXHQuYm9yZGVyLXJhZGl1cyg1cHggNXB4IDAgMCk7XG5cdGZvcm0ge1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXHQuZHJvcGRvd24tbWVudSB7XG5cdFx0bGVmdDogYXV0bztcblx0XHRyaWdodDogMDtcblx0XHRtYXJnaW46IDA7XG5cdFx0YmFja2dyb3VuZDogQG1vbmFjb2JsdWU7XG5cdFx0LmJvcmRlci1yYWRpdXMoMCk7XG5cdFx0Ym9yZGVyOiBub25lO1xuXHRcdHBhZGRpbmc6IDhweDtcblx0XHRtaW4td2lkdGg6IDI3NXB4O1xuXHRcdFxuXHRcdGlucHV0W3R5cGU9c2VhcmNoXSB7XG5cdFx0XHRwYWRkaW5nOiAyJTtcblx0XHRcdHdpZHRoOiA5NiU7XG5cdFx0XHRtYXJnaW46IDA7XG5cdFx0XHQuYm9yZGVyLXJhZGl1cygwKTtcblx0XHRcdGJhY2tncm91bmQ6IEBza3libHVlO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdFx0Y29sb3I6IEB3aGl0ZSFpbXBvcnRhbnQ7XG5cdFx0XHQucGxhY2Vob2xkZXIoQHdoaXRlKTtcblx0XHR9XG5cdFx0XG5cdFx0aW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHJpZ2h0OiAyJTtcblx0XHRcdHRvcDogMTBweDtcblx0XHRcdGRpc3BsYXk6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG4uc2VhcmNoLmRyb3Bkb3duLm9wZW4ge1xuXHRiYWNrZ3JvdW5kOiBAbW9uYWNvYmx1ZTtcblx0LnNlYXJjaC1pY29uIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMzVweCAtNTE0cHg7XG5cdH1cblx0LmRyb3Bkb3duLW1lbnUge1xuXHRcdGRpc3BsYXk6IGJsb2NrO1xuXHR9XG59XG5cbi5kb3dubG9hZC1saW5rIHtcblx0cGFkZGluZy10b3A6IDE4cHg7XG5cdC5wdWxsLXJpZ2h0O1xuXHR1bCB7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRtYXJnaW46IDA7XG5cdFx0cGFkZGluZy10b3A6IDJweDtcblx0fVxuXHRhIHtcblx0XHQuYnRuO1xuXHRcdC5idG4tcHJpbWFyeTtcblx0fVxuXHQmOmZvY3VzIHtcblx0XHRwYWRkaW5nOiAxMHB4IDAgOXB4IDA7XG5cdFx0d2lkdGg6MTc0cHg7XG5cdFx0YmFja2dyb3VuZDogQG5lY3RhcmluZTtcblx0XHRib3gtc2hhZG93OiAwcHggNHB4IDFweCBAYnVybnRvcmFuZ2U7XG5cdFx0Y29sb3I6QHdoaXRlO1xuXHRcdG91dGxpbmU6bm9uZTtcblx0fVx0XG59XG5cbi8vYmVnaW5zIHN0eWxpbmcgZm9yIHNlY29uZGFyeSBuYXZcbi5zZWNvbmRhcnluYXYge1xuXHR6LWluZGV4OiAxMDA7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0Zm9udC1zaXplOiAxNi9AYmFzZUVtO1xuXHRiYWNrZ3JvdW5kOiBAbmV3Z3JleTtcblxuXHQubWVudSxcblx0LnN1Yi1tZW51IHtcblx0XHQuY2xlYXJmaXgoKTtcblx0XHRsaXN0LXN0eWxlOiBub25lO1xuXHRcdG1hcmdpbjogMDtcblx0fVxuXG5cdC5tZW51LWl0ZW0ge1xuXHRcdGZsb2F0OiBsZWZ0O1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdCY6aG92ZXIge1xuXHRcdFx0LnN1Yi1tZW51IHtcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR9XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6IEByYWlueWdyZXk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdCYuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcblx0XHRcdGNvbG9yOiBAcmFpbnlncmV5O1xuXHRcdH1cblxuXHRcdGEge1xuXHRcdFx0Y29sb3I6IEBuZXdibHVlO1xuXHRcdFx0cGFkZGluZzogMTlweCAyMHB4IDE5cHg7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGhlaWdodDogNThweDtcblx0XHRcdC5ib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5zdWItbWVudSB7XG5cdFx0YmFja2dyb3VuZDogQG5ld2dyZXk7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcblx0XHR3aWR0aDogMjAwcHg7XG5cblx0XHQubWVudS1pdGVtIHtcblx0XHRcdGZsb2F0OiBub25lO1xuXHRcdFx0d2lkdGg6IDEwMCU7XG5cdFx0XHRhIHtcblx0XHRcdFx0Y29sb3I6IEByYWlueWdyZXk7XG5cdFx0XHR9XG5cdFx0XHQmOmhvdmVyID4gYSwgLmN1cnJlbnRfcGFnZV9pdGVtID4gYSB7XG5cdFx0XHRcdGNvbG9yOiBAbmV3Ymx1ZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy9wYWdlIHNwZWNpZmljIGNvbG9yc1xuXG5cbi8qXG4ucGFnZS1zb2x1dGlvbnMsXG4uc29sdXRpb25zIHtcblx0LnNlY29uZGFyeW5hdiB7XG5cdFx0YmFja2dyb3VuZDogQHNlYWZvYW1ncmVlbjtcblx0XHQuc3ViLW1lbnUge1xuXHRcdFx0YmFja2dyb3VuZDogQHNlYWZvYW1ncmVlbjtcblx0XHR9XG5cdFx0bGk6aG92ZXIsXG5cdFx0LmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuXHRcdFx0YmFja2dyb3VuZDogZGFya2VuKEBzZWFmb2FtZ3JlZW4sIDEwJSk7XG5cdFx0fVxuXHR9XG59XG5cbi5wYWdlLXJlc291cmNlcyxcbi5yZXNvdXJjZXMsXG4uc2luZ2xlLWNhc2Utc3R1ZHksXG4uc2luZ2xlLXdoaXRlcGFwZXIge1xuXHQuc2Vjb25kYXJ5bmF2IHtcblx0XHRiYWNrZ3JvdW5kOiBAc2t5Ymx1ZTtcblx0XHQuc3ViLW1lbnUge1xuXHRcdFx0YmFja2dyb3VuZDogQHNreWJsdWU7XG5cdFx0fVxuXHRcdGxpOmhvdmVyID4gYSxcblx0XHQuY3VycmVudF9wYWdlX2l0ZW0gPiBhIHtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbihAc2t5Ymx1ZSwgNSUpO1xuXHRcdH1cblx0fVxufVxuXG4ucGFnZS1hYm91dCxcbi5hYm91dCxcbi5zaW5nbGUtbmV3cy1hcnRpY2xlLFxuLnNpbmdsZS1wcmVzcy1yZWxlYXNlLFxuLnNpbmdsZS1wb3N0IHtcblx0LnNlY29uZGFyeW5hdiB7XG5cdFx0YmFja2dyb3VuZDogQGNhY3R1cztcblx0XHQuc3ViLW1lbnUge1xuXHRcdFx0YmFja2dyb3VuZDogQGNhY3R1cztcblx0XHR9XG5cdFx0bGk6aG92ZXIgYSxcblx0XHQuY3VycmVudF9wYWdlX2l0ZW0gYXtcblx0XHRcdGJhY2tncm91bmQ6IGRhcmtlbihAY2FjdHVzLCA1JSk7XG5cdFx0fVxuXHR9XG59XG5cbi5wYWdlLWJsb2csXG4uYmxvZyxcbi5zaW5nbGUtcG9zdCB7XG4gICAgICAgIC5zZWNvbmRhcnluYXYge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBuZWN0YXJpbmU7XG4gICAgICAgICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IEBuZWN0YXJpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGxpOmhvdmVyIGEsXG4gICAgICAgICAgICAgICAgLmN1cnJlbnRfcGFnZV9pdGVtIGF7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBkYXJrZW4oQG5lY3RhcmluZSwgNSUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgfVxufVxuXG4ucGFnZS1zdXBwb3J0LFxuLnN1cHBvcnQge1xuXHQuc2Vjb25kYXJ5bmF2IHtcblx0XHRiYWNrZ3JvdW5kOiBAbGVtb256ZXN0O1xuXHRcdC5zdWItbWVudSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAbGVtb256ZXN0O1xuXHRcdH1cblx0XHRsaTpob3ZlciBhLFxuXHRcdC5jdXJyZW50X3BhZ2VfaXRlbSBhe1xuXHRcdFx0YmFja2dyb3VuZDogZGFya2VuKEBsZW1vbnplc3QsIDEwJSk7XG5cdFx0fVxuXHR9XG59XG5cbiovXG5cbi8vIFRlcnRpYXJ5IE5hdmlnYXRpb24gKFRhYnMpXG4udGFiYmVkLW5hdiB7XG5cdG1hcmdpbi10b3A6IDBweDtcblx0bWFyZ2luLWJvdHRvbTogMThweDtcblx0XG5cdHVsIHtcblx0XHQuY2xlYXJmaXgoKTtcblx0fVxuXHRsaSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0ZmxvYXQ6IGxlZnQ7XG5cdFx0YSB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0Zm9udC1mYW1pbHk6IEBzYW5zRm9udEZhbWlseTtcblx0XHRcdGZvbnQtc2l6ZTogMTZweDtcblx0XHRcdHBhZGRpbmc6IDE1cHggMzBweDtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR9XG5cblx0XHQmOm50aC1jaGlsZCg0bisxKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAbmVjdGFyaW5lO1xuXHRcdH1cblx0XHQmOm50aC1jaGlsZCg0bisyKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAc2VhZm9hbWdyZWVuO1xuXHRcdH1cblx0XHQmOm50aC1jaGlsZCg0biszKSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAbGVtb256ZXN0O1xuXHRcdH1cblx0XHQmOm50aC1jaGlsZCg0bis0KSB7XG5cdFx0XHRiYWNrZ3JvdW5kOiBAc2t5Ymx1ZTtcblx0XHR9XG5cblx0XHQmLmN1cnJlbnQtbWVudS1pdGVtLFxuXHRcdCY6aG92ZXIsXG5cdFx0JjphY3RpdmVcblx0XHQmOmZvY3VzIHtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXHRcdFx0JjphZnRlciB7XG5cdFx0XHRcdGNvbnRlbnQ6IFwiXCI7XG5cdFx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdFx0Ym90dG9tOiAwO1xuXHRcdFx0XHRsZWZ0OiA1MCU7XG5cdFx0XHRcdHdpZHRoOiAwO1xuXHRcdFx0XHRoZWlnaHQ6IDA7XG5cdFx0XHRcdGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0XHRcdGJvcmRlci1ib3R0b206IDEwcHggc29saWQgQGxpZ2h0c2xhdGU7XG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiAtMTBweDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cbiIsIi5zaXRlLWZvb3RlciB7XG5cdHBhZGRpbmctdG9wOiAzMHB4O1xuXHRwYWRkaW5nLWxlZnQ6MDtcblx0cGFkZGluZy1yaWdodDowO1xuXHRwYWRkaW5nLWJvdHRvbToyMHB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOkBmb290ZXI7XG5cdGNvbG9yOiBAd2hpdGU7XG5cdGZvbnQtc2l6ZTogMTJweDtcblx0aDUge1xuXHRcdGNvbG9yOiBsaWdodGVuKEByYWlueWdyZXksIDEwJSk7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcblx0XHRmb250LXNpemU6IDE2cHg7XG5cdFx0Zm9udC13ZWlnaHQ6NTAwO1xuXHR9XG5cdHB7XG5cdFx0Y29sb3I6QHdoaXRlO1xuXHR9XG5cdGEge1xuXHRcdGNvbG9yOiBAc2t5Ymx1ZTtcblx0fVxuXHR1bCB7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XG5cdH1cblx0bGkge1xuXHRcdHBhZGRpbmctYm90dG9tOjVweDtcblx0fVxuXHRzcGFuIHtcblx0XHQuYmxvY2s7XG5cdH1cblx0XG5cdC5nZm9ybV93cmFwcGVyIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0bWFyZ2luLXRvcDogMjBweDtcblx0XHRmb3JtIHtcblx0XHRcdG1hcmdpbjogMDtcblx0XHRcdGxhYmVsIHtcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Lmdmb3JtX2JvZHkge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0fVxuXHRpbnB1dFt0eXBlPXN1Ym1pdF0ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRyaWdodDogLTJweDtcblx0XHR0b3A6IDA7XG5cdFx0cGFkZGluZzogNnB4IDEwcHg7XG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuXHRcdGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xuXHRcdGJvcmRlcjogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiAjN2RiNWQyO1xuXHRcdGNvbG9yOiAjZmZmZmZmO1xuXHRcdGJveC1zaGFkb3c6IG5vbmU7XG5cdFx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcblx0XHRoZWlnaHQ6IDM2cHg7XG5cdFx0Jjpob3ZlciB7XG5cdFx0YmFja2dyb3VuZDogIzdkYjVkMjtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdH1cblx0fVxuXHRpbnB1dFt0eXBlPXRleHRdIHtcblx0XHR3aWR0aDogOTYlO1xuXHRcdHBhZGRpbmc6OHB4IDIlO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0fVxuXHQuZ2Zvcm1fdmFsaWRhdGlvbl9lcnJvciB7XG5cdFx0aW5wdXRbdHlwZT1zdWJtaXRdIHtcblx0XHRcdHRvcDogMnB4O1xuXHRcdFx0cmlnaHQ6IC0zcHg7XG5cdFx0XHRwYWRkaW5nOiA2cHggMTBweDtcblx0XHR9XG5cdH1cblx0LmdmaWVsZF9lcnJvciB7XG5cdFx0aW5wdXQge1xuXHRcdFx0Ym9yZGVyLXJpZ2h0OiAzcHggc29saWQgQGJ1cm50b3JhbmdlO1xuXHRcdFx0Jjpmb2N1cyB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogM3B4IHNvbGlkIEBza3libHVlO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0fVxufVxuXG4ucXVlc3Rpb24uYnRuIHtcblx0Y29sb3I6ICNmZmY7XG5cdHBvc2l0aW9uOiBmaXhlZDtcblx0cmlnaHQ6IDIwcHg7XG5cdGJvdHRvbTogLTNweDtcblx0cGFkZGluZy1sZWZ0OiA2cHg7XG5cdHBhZGRpbmctcmlnaHQ6IDZweDtcblx0cGFkZGluZy1ib3R0b206MTFweDtcblx0cGFkZGluZy10b3A6MTFweDtcbn1cblxuXG4uZm9vdGVyLWFib3V0LW1lbnUsIC5mb290ZXItcmVzb3VyY2VzLW1lbnUsIC5mb290ZXItc29sdXRpb25zLW1lbnUge1xuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAycHggMDtcblx0fVxufVxuXG4uZm9vdGVyLXN1Yi1tZW51IHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHRtYXJnaW4tdG9wOiA0NXB4O1xuXHRsaSB7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdCY6bGFzdC1jaGlsZCB7XG5cdFx0XHRhLFxuXHRcdFx0c3BhbiB7XG5cdFx0XHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0YSxcblx0c3BhbiB7XG5cdFx0Y29sb3I6ICM4ZThmOTc7XG5cdFx0cGFkZGluZzogMCAxMHB4O1xuXHRcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM4ZThmOTc7XG5cdH1cbn1cblxuLmZlZWQge1xuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHRhIHtcblx0XHRwYWRkaW5nLWxlZnQ6MTBweDtcblx0fVxufVxuXG4ubGFiZWwge1xuXHRwYWRkaW5nOiA2cHg7XG5cdC5wdWxsLWxlZnQ7XG5cdGJhY2tncm91bmQ6IEBza3libHVlO1xuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG59XG5cbi5zb2NpYWwge1xuXHRtYXJnaW46IDEwcHggMDtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHRjb2xvcjogbGlnaHRlbihAcmFpbnlncmV5LCAxMCUpOztcblx0aSB7XG5cdFx0LnB1bGwtbGVmdDtcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cdH1cbn0iLCJoMDMud2lkZ2V0LXRpdGxle1xuXHRmb250LXNpemU6IDE4L0BiYXNlRW07XG5cdGNvbG9yOkB3ZXRBc3BoYWx0O1xuXHRtYXJnaW4tYm90dG9tOjEwcHg7XG59XG5oNC53aWRnZXQtdGl0bGUge1xuXHRmb250LXNpemU6IDE2L0BiYXNlRW07XG59XG4udHdpdHRlcl90aXRsZV9saW5rIHtcblx0Y29sb3I6IEB3ZXRBc3BoYWx0O1xufVxuLndpZGdldCB7XG5cdG1hcmdpbi1ib3R0b206IDQwcHg7XG59XG5cbi8vIEdlbmVyaWMgbWVudSBzdHlsZVxuLm1lbnUge1xuXHRsaXN0LXN0eWxlOiBub25lO1xuXHRtYXJnaW46IDA7XG59XG5cbi8vIE9wZW5HZW8gU3VpdGUgTmF2aWdhdGlvbiBXaWRnZXRzXG5baWQqPSdtZW51LW9wZW5nZW8tc3VpdGUnXSB7XG5cdC5tZW51LWl0ZW0ge1xuXHRcdGZvbnQtc2l6ZTogMjFweDtcblx0XHRsaW5lLWhlaWdodDogMS41O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1hZ2VzL29wZW5nZW8tc3VpdGUtc3ByaXRlLnBuZycpO1xuXHRcdGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cdH1cblxuXHRhIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRwYWRkaW5nOiAyMXB4IDAgMjFweCA2NnB4O1xuXHRcdGNvbG9yOiNmZmY7XG5cblx0XHQmOmhvdmVyIHtcblx0XHRcdGNvbG9yOiAjZmZmO1xuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXHRcdH1cblx0fVxuXG5cdC50b3VycyB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAtMjk4cHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQG5lY3RhcmluZTtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggLTI5OHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQG1vbmFjb2JsdWU7XG5cdFx0fVxuXHR9XG5cdC5kZW1vcyB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAtMzcycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQGxlbW9uemVzdDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggLTM3MnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQG1vbmFjb2JsdWU7XG5cdFx0fVxuXHR9XG5cdC53b3Jrc2hvcHMge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggLTQ0NnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEBzZWFmb2FtZ3JlZW47XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IC00NDZweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBtb25hY29ibHVlO1xuXHRcdH1cblx0fVxuXHQuY2xvdWQtZWRpdGlvbiB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAtNTIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHNreWJsdWU7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IC01MjBweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBtb25hY29ibHVlO1xuXHRcdH1cblx0fVxufVxuXG4vLyBUcmFpbmluZyBXaWRnZXRzXG5baWQqPSdtZW51LXRyYWluaW5nJ10ge1xuXHQubWVudS1pdGVtIHtcblx0XHRmb250LXNpemU6IDIxcHg7XG5cdFx0bGluZS1oZWlnaHQ6IDEuNTtcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2ltYWdlcy9vcGVuZ2VvLXN1aXRlLXNwcml0ZS5wbmcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG5cblx0YSB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZzogMjFweCAwIDIxcHggNjZweDtcblx0XHRjb2xvcjojZmZmO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogI2ZmZjtcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0XHR9XG5cdH1cblxuXHQub25saW5lIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IC0yOThweDtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAbmVjdGFyaW5lO1xuXHRcdCY6aG92ZXIge1xuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAtMjk4cHg7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAbW9uYWNvYmx1ZTtcblx0XHR9XG5cdH1cblx0Lm9uc2l0ZSB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAtMzcycHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQGxlbW9uemVzdDtcblx0XHQmOmhvdmVyIHtcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggLTM3MnB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogQG1vbmFjb2JsdWU7XG5cdFx0fVxuXHR9XG5cdC53b3Jrc2hvcHMge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDIwcHggLTQ0NnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IEBzZWFmb2FtZ3JlZW47XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IC00NDZweDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IEBtb25hY29ibHVlO1xuXHRcdH1cblx0fVxuXHQuY2VydGlmaWNhdGlvbiB7XG5cdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCAtNTIwcHg7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogQHNreWJsdWU7XG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBAbW9uYWNvYmx1ZTtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBPcGVuR2VvIFN1aXRlIE5hdmlnYXRpb24gV2lkZ2V0cyAtIFNvZnR3YXJlIFBhdGVudHNcbiNuYXZfbWVudS0zIHtcblx0YmFja2dyb3VuZDogQG1vbmFjb2JsdWU7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHBhZGRpbmc6IDI4cHggMDtcblx0LndpZGdldC10aXRsZSB7XG5cdFx0Zm9udC1zaXplOiAyMXB4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxLjI7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0bWFyZ2luOiAwIDMwcHggMjZweDtcblx0fVxuXG59XG5baWQqPSdzb2Z0d2FyZS1wYWNrYWdlcyddIHtcblxuXHQubWVudS1pdGVtIHtcblx0XHRtYXJnaW46IDEycHggMzBweDtcblx0XHRwYWRkaW5nOiA0cHggMCA1cHg7XG5cdFx0Zm9udC1zaXplOiAxOHB4O1xuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaW1hZ2VzL3NvZnR3YXJlLXBhY2thZ2VzLXNwcml0ZS5wbmcnKTtcblx0XHRiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXHR9XG5cblx0YSB7XG5cdFx0Y29sb3I6ICNmZmY7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0cGFkZGluZy1sZWZ0OiA1MHB4O1xuXHR9XG5cblx0LnBvc3RnaXMge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgMDtcblx0fVxuXG5cdC5nZW9zZXJ2ZXIge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ4cHg7XG5cdH1cblxuXHQuZ2Vvd2ViY2FjaGUge1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IDAgLTk3cHg7XG5cdH1cblxuXHQub3BlbmxheWVycyB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMTJweDtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNDRweDtcblx0fVxuXG5cdC5vdGhlcnNvZnR3YXJlIHtcblx0XHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xOTNweDtcblx0fVxuXG5cbn1cblxuI2Nhc2Utc3R1ZHktd2lkZ2V0IHtcblx0aW1nIHtcblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDAgMCAxNXB4O1xuXHR9XG5cdGg0IHtcblx0XHRtYXJnaW4tYm90dG9tOiAzcHg7XG5cdH1cbn1cblxuLndpZGdldC1oZWFkbGluZSB7XG5cdGJhY2tncm91bmQ6ICNmZmY7XG5cdHBhZGRpbmc6IDI1cHg7XG5cdC5ib3JkZXItcmFkaXVzKDEycHgpO1xuXHQuYnRuLWNvbnRhaW5lciB7XG5cdFx0bWFyZ2luOiAxMHB4IDAgMDtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdH1cbn1cblxuLmhlYWRsaW5lLWJvZHkge1xuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4udGVhbS1tZW1iZXIge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdGltZyB7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0bWFyZ2luOiAyMHB4IGF1dG87XG5cdH1cblx0aDQge1xuXHRcdGNvbG9yOiBAbWlkbmlnaHRCbHVlO1xuXHR9XG59XG5cbi8qKiBIb21lIFBhZ2UgVHdpdGdldCBSZWNlbnQgVHdlZXRzIFNpZGViYXIgKiovXG5cbiNzaW1wbGVfdHdlZXRfd2lkZ2V0LTMge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcblx0XG5cdC53aWRnZXQtdGl0bGUge1xuXHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHR9XG5cdFxufVxuXG5cbi8qKiBVbHRpbWF0ZSBQb3N0cyBXaWRnZXQgLSBibG9nIGZpbHRlciBieSBjYXRlZ29yeSBpbiBzaWRlYmFyICoqL1xuXG5hc2lkZS53aWRnZXRfdWx0aW1hdGVfcG9zdHMge1xuXHRtYXJnaW4tdG9wOiAyMHB4O1xuXHR3aWR0aDogMTIwJTtcblxuXHQud2lkZ2V0LXRpdGxlIHtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRtYXJnaW4tdG9wOiAyMHB4O1x0XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0XHRmb250LXNpemU6IDEuNWVtO1xuXHR9XG5cdFxuXHR1bCBsaSB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOiBub25lO1xuXHRcdFxuXHRcdC51cHctY29udGVudCB7XG5cdFx0XHQucG9zdC10aXRsZSB7XG5cdFx0XHRcdGZvbnQtc2l6ZTogMS4yZW07XG5cdFx0XHRcdGxpbmUtaGVpZ2h0OiAxLjRlbTtcblx0XHRcdFx0bWFyZ2luOiAxMHB4IDA7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblxufVxuIiwiI2Jsb2ctaW5mbyB7XG5cdGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG5cdHBhZGRpbmc6IDIwcHggMCAzMHB4O1xufVxuXG4vKiogSG9tZSBQYWdlIFR3aXRnZXQgUmVjZW50IFR3ZWV0cyBTaWRlYmFyICoqL1xuXG4jc2ltcGxlX3R3ZWV0X3dpZGdldC0zIHtcblx0bWFyZ2luLWxlZnQ6IDEwcHg7XG59XG4jc2ltcGxlX3R3ZWV0X3dpZGdldC0zIC53aWRnZXQtdGl0bGUge1xuXHRtYXJnaW4tbGVmdDogMTBweDtcbn1cblxuLyoqIFVsdGltYXRlIFBvc3RzIFdpZGdldCAtIGJsb2cgZmlsdGVyIGJ5IGNhdGVnb3J5IGluIHNpZGViYXIgKiovXG5cbmFzaWRlLndpZGdldF91bHRpbWF0ZV9wb3N0cyB7XG5cdG1hcmdpbi10b3A6IDIwcHg7XG5cdHdpZHRoOiAxMjAlO1xufVxuYXNpZGUud2lkZ2V0X3VsdGltYXRlX3Bvc3RzIC53aWRnZXQtdGl0bGUge1xuXHRtYXJnaW4tbGVmdDogMjBweDtcblx0bWFyZ2luLXRvcDogMjBweDtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Zm9udC1zaXplOiAxLjVlbTtcbn1cbmFzaWRlLndpZGdldF91bHRpbWF0ZV9wb3N0cyB1bCBsaSB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cbmFzaWRlLndpZGdldF91bHRpbWF0ZV9wb3N0cyB1bCBsaSAudXB3LWNvbnRlbnQgLnBvc3QtdGl0bGUge1xuXHRmb250LXNpemU6IDEuMmVtO1xuXHRsaW5lLWhlaWdodDogMS40ZW07XG5cdG1hcmdpbjogMTBweCAwO1xufVxuXG5cblxuXG4iLCIucHJpY2luZy1vcHRpb25zIHtcblx0YmFja2dyb3VuZDogI2ZmZjtcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcblx0cGFkZGluZy10b3A6MjBweDtcblx0cGFkZGluZy1ib3R0b206MzBweDtcblx0cGFkZGluZy1sZWZ0OjIwcHg7XG59XG5cbi5wcmljaW5nLW9wdGlvbnMtdGl0bGUge1xuXHRwYWRkaW5nOiAxMHB4IDEwcHg7XG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XG5cdGgzIHtcblx0XHRsaW5lLWhlaWdodDogMS4yO1xuXHRcdGNvbG9yOiBAd2V0QXNwaGFsdDtcblx0XHRtYXJnaW46IDA7XG5cdH1cbn1cblxuLnByaWNpbmctb3B0aW9uIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xuXHQmOmZpcnN0LWNoaWxkIHtcblx0XHQucHJpY2luZy1vcHRpb24tY29udGVudCB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAwO1xuXHRcdFx0Ym9yZGVyLWxlZnQ6IG5vbmU7XG5cdFx0fVxuXHR9XG59XG5cbi5wcmljaW5nLW9wdGlvbi5zcGFuMyB7XG5cdG1hcmdpbi1sZWZ0OjA7XG5cdHBhZGRpbmctbGVmdDogN3B4O1xuXHRwYWRkaW5nLXJpZ2h0OiA3cHg7XG59XG5cbi5wcmljaW5nLW9wdGlvbi1oZWFkZXIge1xuXHRtYXJnaW4tYm90dG9tOiAxNHB4O1xuXHRoNCB7XG5cdFx0Y29sb3I6IEBtb25hY29ibHVlO1xuXHRcdG1hcmdpbi1sZWZ0OjlweDtcblx0fVxufVxuXG4ucHJpY2luZy1vcHRpb24tcHJpY2Uge1xuXHRmb250LXNpemU6IDM2L0BiYXNlRW07XG5cdGxpbmUtaGVpZ2h0OiAxLjU7XG5cdGNvbG9yOiBAbmVjdGFyaW5lO1xuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xuXHRmb250LXdlaWdodDoyMDA7XG59XG5cbi5wcmljaW5nLW9wdGlvbi1jb250ZW50IHtcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcblx0Ym9yZGVyLWxlZnQ6IHNvbGlkIDFweCAjZGFkYWRhO1xuXHRwe1xuXHRcdG1hcmdpbi1sZWZ0OjEwcHhcblx0fVxufVxuXG5cbi5wcmljaW5nLW9wdGlvbi1saW5rIHtcblx0bWFyZ2luLWxlZnQ6MTVweDtcbn1cblxuLnByaWNlX3RhYmxlIHtcbiAgYm9yZGVyLXJhZGl1czogNXB4OyBcbiAgZm9udC1mYW1pbHk6IFwiY2FudGFyZWxsXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbi5wcmljZV90YWJsZSAuZGV0YWlsX3JvdyB7IC8qIGhpZGUgYWxsICdtb3JlIGRldGFpbHMnIHJvd3MgdG8gc3RhcnQgKi9cbiAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucHJpY2VfdGFibGUgLmFjdGl2ZXtcbiAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyAgLyogc2hvdyBhbGwgJ21vcmUgZGV0YWlscycgcm93cyAqL1xufVxuLnByaWNlX3RhYmxlIHRkIHtcbiAgIGJvcmRlcjogMDtcbiAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5wcmljZV90YWJsZSB0ciB7XG4gICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5wcmljZV90YWJsZSB0aGVhZCB7XG4gICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4ucHJpY2VfdGFibGUgdGhlYWQgdHIge1xuICAgaGVpZ2h0OiA0NXB4O1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5wcmljZV90YWJsZSB0aCB7XG4gICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICBjb2xvcjogIzI4NzE4ZCAhaW1wb3J0YW50O1xuICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgYm9yZGVyOiAwO1xufVxuXG4ucHJpY2VfdGFibGUgLmNvbHVtbi0xLCAuY29sdW1uLTIsIC5jb2x1bW4tMywgLmNvbHVtbi00LCAuY29sdW1uLTUge1xuICB3aWR0aDogMTYuNSU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnByaWNlX3RhYmxlIC5jb2x1bW4tMSwgLnByaWNlX3RhYmxlIC5jb2x1bW4tMiwgLnByaWNlX3RhYmxlIC5jb2x1bW4tMywgLnByaWNlX3RhYmxlIC5jb2x1bW4tNCB7XG4gIGJvcmRlci1yaWdodDogc29saWQgMXB4ICNmMmYyZjI7XG59XG5cbi5wcmljZV90YWJsZSAucm93LTIgdGQgeyAgLyogc3VwcG9ydCAqL1xuICAgY29sb3I6ICM2NzY4NmU7XG4gICBmb250LXNpemU6IDE0cHg7XG4gICBsaW5lLWhlaWdodDogMjFweDtcbiAgIGhlaWdodDogNDJweDtcbiAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgdmVydGljYWwtYWxpZ246IHRvcDtcbn1cblxuLnByaWNlX3RhYmxlIC5idG4tcHJpY2luZyB7XG4gICB3aWR0aDogMTIwcHggIWltcG9ydGFudDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIHBhZGRpbmc6IDZweFxufVxuXG4ucHJpY2VfdGFibGUgLnJvdy00IHtcbiAgIGhlaWdodDogMzBweDtcbn1cblxuLnByaWNlX3RhYmxlIC5yb3ctNCB0ZCB7XG4gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJpY2VfdGFibGUgdGQuY29sdW1uLTEucm93c3Bhbi03IHtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG59XG5cbi5wcmljZV90YWJsZSB0ZC5jb2x1bW4tMS5yb3dzcGFuLTcgaW1nIHtcbiAgIHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbiNwcmljZV90YWJsZV9kZXRhaWxzIHtcbiAgY29sb3I6ICMyODcxOGQ7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIHNhbnMtc2VyaWY7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLyogVHdvLXRpZXIgKi9cblxuLndwLXRhYmxlLXJlbG9hZGVkLnByaWNlX3RhYmxlX3R3b3RpZXIge1xuICBib3JkZXItcmFkaXVzOiA1cHg7IFxuICBmb250LWZhbWlseTogXCJjYW50YXJlbGxcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBib3JkZXItc3BhY2luZzogMDtcbiAgbWFyZ2luOiAxMHB4IDBweCAwcHggMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLnByaWNlX3RhYmxlX3R3b3RpZXIgLmNvbHVtbi0yIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xufVxuXG4ucHJpY2VfdGFibGVfdHdvdGllciB0ZCB7XG4gICBib3JkZXI6IDA7XG4gICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4ucHJpY2VfdGFibGVfdHdvdGllciB0ciB7XG4gICBoZWlnaHQ6IDUwcHg7XG59XG5cbi5wcmljZV90YWJsZV90d290aWVyIHRoZWFkIHtcbiAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5wcmljZV90YWJsZV90d290aWVyIHRoZWFkIHRyIHtcbiAgIGhlaWdodDogNDVweDtcbiAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4ucHJpY2VfdGFibGVfdHdvdGllciB0aGVhZCB0ciB0aCxcbi5wcmljZV90YWJsZV90d290aWVyIHRoZWFkIHRyIHRoIC5jb2x1bW4tMSxcbi5wcmljZV90YWJsZV90d290aWVyIHRoZWFkIHRyIHRoIC5jb2x1bW4tMiB7XG4gICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICBjb2xvcjogIzI4NzE4ZCAhaW1wb3J0YW50O1xuICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhXCIsIGFyaWFsLCBzYW5zLXNlcmlmO1xuICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgYm9yZGVyOiAwO1xufVxuXG4ucHJpY2VfdGFibGVfdHdvdGllciAuY29sdW1uLTEsXG4ucHJpY2VfdGFibGVfdHdvdGllciAuY29sdW1uLTIge1xuICAgd2lkdGg6IDUwJTtcbn1cblxuLnByaWNlX3RhYmxlX3R3b3RpZXIgLmNvbHVtbi0xIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YyZjJmMjtcbn1cblxuLnByaWNlX3RhYmxlX3R3b3RpZXIgdHIgdGQuY29sdW1uLTEgcCwgLnByaWNlX3RhYmxlX3R3b3RpZXIgdHIgdGQuY29sdW1uLTIgcCxcbi5wcmljZV90YWJsZV90d290aWVyIHRyIHRkLmNvbHVtbi0xIGxpLCAucHJpY2VfdGFibGVfdHdvdGllciB0ciB0ZC5jb2x1bW4tMiBsaSB7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIG1heC13aWR0aDogODAlO1xuICBtYXJnaW46IDAgYXV0bztcbn1cblxuLnByaWNlX3RhYmxlX3R3b3RpZXIgdHIgdGQuY29sdW1uLTIucm93c3Bhbi0yIHtcbiAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICBwYWRkaW5nLXRvcDogMTdweDtcbn1cblxuIiwiLyogcGFydG5lci1wb3J0YWwubGVzcyAqL1xuXG5AaW1wb3J0IFwidmFyaWFibGVzLmxlc3NcIjtcblxuLm1vZGFsIC5tb2RhbC1kaWFsb2cgPiAucGFydG5lci1tb2RhbCB7XG4gIC5tb2RhbC1oZWFkZXIge1xuXHRwYWRkaW5nOiA5cHggMzBweDtcblx0Lm1vZGFsLXRpdGxlIHtcblx0XHRwYWRkaW5nLXRvcDogOXB4O1xuXHR9XG4gIH1cbiAgLm1vZGFsLWJvZHkge1xuXHRwYWRkaW5nOiAyMHB4IDMwcHg7IFxuXHRkaXYge1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cdH1cbiAgfVxuICBcbn1cblxuLnBhcnRuZXItbG9naW4ge1xuXHRwYWRkaW5nLWxlZnQ6IDM1cHg7XG5cblx0Zm9ybSNzbWFydFBXTG9naW4ge1xuXHRcdGhlaWdodDogODBweDtcblx0XHRtYXgtd2lkdGg6IDIzMHB4O1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuXHRcdGlucHV0W3R5cGU9c3VibWl0XSB7XG5cdFx0XHRtYXJnaW46IDE1cHggYXV0byAxNXB4IDY1cHg7XG5cdFx0fSAgXG5cdH1cbn1cblxuLnBhZ2UucGFydG5lcnMsXG4ucGFydG5lcnMsXG4uc2luZ2xlLWNhc2Utc3R1ZHksXG4uc2luZ2xlLXdoaXRlcGFwZXIge1xuXHQuc2Vjb25kYXJ5bmF2IHtcblx0XHRiYWNrZ3JvdW5kOiBAbmVjdGFyaW5lOyBcblx0XHQuc3ViLW1lbnUge1xuXHRcdFx0YmFja2dyb3VuZDogQG5lY3RhcmluZTtcblx0XHR9XG5cdFx0bGk6aG92ZXIgPiBhLFxuXHRcdC5jdXJyZW50X3BhZ2VfaXRlbSA+IGEge1xuXHRcdFx0YmFja2dyb3VuZDogZGFya2VuKEBuZWN0YXJpbmUsIDUlKTtcblx0XHR9XG5cdH1cbn1cblxuLnBhZ2UucGFydG5lcnMsXG4ucGFydG5lcnMge1xuXHQucGFydG5lci1tZXNzYWdlIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuXHRcdHBhZGRpbmc6IDE1cHggMjVweDtcblx0XHQtd2Via2l0LWJvcmRlci1yYWRpdXM6IDhweDtcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6IDhweDtcblx0XHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdC5wYXJ0bmVyLW1lc3NhZ2UtdGl0bGUge1xuXHRcdFx0Y29sb3I6IEBtb25hY29ibHVlO1xuXHRcdH1cblx0fVxuXG5cdC5wYXJ0bmVyLWNvbnRhY3QtdXMge1xuXHRcdC53aWRnZXQtdGl0bGUge1xuXHRcdFx0Y29sb3I6IEBtb25hY29ibHVlO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHRcblx0XHR9XG5cblx0fVxufVxuXG5cblxuIiwiLyogTWl4aXR1cCBqUXVlcnkgcGx1Z2luIENTUyAoZm9yIFBhcnRuZXJzIHBhZ2UpICovXG5cbkBpbXBvcnQgJ3ZhcmlhYmxlcy5sZXNzJztcblxuLm1peGl0dXAge1xuXG4gLmNvbnRyb2xzIHtcbiAgIHBhZGRpbmc6IDAgMCAyJSAwO1xuICAgbWFyZ2luLXJpZ2h0OiAzJTtcbiAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgbGFiZWwge1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdG1hcmdpbi1yaWdodDogMTBweDtcbiAgIH1cblxuICAgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1yaWdodDogMSU7XG5cbiAgICAgICYuYnRuLmJ0bi1zZWNvbmRhcnkge1xuXHRwYWRkaW5nLWxlZnQ6IDElO1xuXHRwYWRkaW5nLXJpZ2h0OiAxJTtcblx0cGFkZGluZy10b3A6IDdweDtcblx0cGFkZGluZy1ib3R0b206IDRweDtcblx0Zm9udC1zaXplOiAxNXB4O1xuXHR3aWR0aDogYXV0bztcblxuXHQmOmhvdmVyLCAmLmFjdGl2ZSB7XG5cdCAgYm94LXNoYWRvdzogaW5zZXQgMHB4IDVweCAycHggQGxpbWVncmVlbjtcblx0ICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oQGxpbWVncmVlbiwgMTIlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgfVxuIH1cblxuICNtaXhpdHVwLWNvbnRhaW5lciB7XG4gICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAubWl4IHtcblx0ZGlzcGxheTogbm9uZTtcblx0bWFyZ2luLWxlZnQ6IDRweDtcblx0bWFyZ2luLWJvdHRvbTogM3B4O1xuICAgfVxuIH1cbn1cbiIsIlxuLmFuaW1hdGVkLWdsb2JlIHtcblxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0MHB4KSB7XG4gICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzA4L2dsb2JlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbiAgfVxuXG4gIGgyIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gIH1cblxuICAjY2l0eSB7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIGZpbGw6ICM5NTk4OUI7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgI2NpdHkgc3ZnIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gICNtYXB7XG4gICAgbWFyZ2luOiAwIGF1dG8gNDBweCA1MHB4O1xuICAgIGhlaWdodDogMzUwcHg7XG4gIH1cblxuICAjbWFwIHN2ZyB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC5mb3JlZ3JvdW5kIHtcbiAgICBmaWxsOiAjN0VCNUQzO1xuICAgIHN0cm9rZTogIzI4NzI4RDtcbiAgICBzdHJva2Utd2lkdGg6IDFweDtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICB9XG5cbiAgLmZvcmVncm91bmQuem9vbWluZyB7XG4gIH1cblxuICAuZ3JhdGljdWxlIHtcbiAgICBmaWxsOiBub25lO1xuICAgIHN0cm9rZTogI0ZEQ0MzMjtcbiAgICBzdHJva2Utd2lkdGg6IC41cHg7XG4gICAgc3Ryb2tlLWRhc2hhcnJheTogMiwyO1xuICB9XG5cbiAgLmxhbmQge1xuICAgIGZpbGw6ICMwMEE3OEQ7XG4gICAgc3Ryb2tlOiBub25lO1xuICB9XG5cbiAgLm1lc2gge1xuICAgIHN0cm9rZTogIzUwNTc2QTtcbiAgICBzdHJva2Utd2lkdGg6IC41cHg7XG4gICAgZmlsbDogbm9uZTtcbiAgfVxuXG4gIC5jaXR5IHtcbiAgICBmaWxsOiAjRjU4RDUwO1xuICAgIGZpbGwtb3BhY2l0eTogMC43NTtcbiAgICBzdHJva2Utb3BhY2l0eTogMC44O1xuXG4gICAgJi5vZmZpY2Uge1xuXHRmaWxsOiAjRjU4RDUwOyBcbiAgICB9XG4gICAgJi5wYXJ0bmVyIHtcblx0ZmlsbDogZGFya2VuKCNCQ0Q2NEMsIDUlKTsgXG4gICAgfVxuICB9XG5cbn1cblxuLnRvdWNoIC5hbmltYXRlZC1nbG9iZSB7XG4gICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50IHVybCgnL3dwLWNvbnRlbnQvdXBsb2Fkcy8yMDEzLzA4L2dsb2JlLnBuZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTtcbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */