@charset "UTF-8";
@import url("https://fonts.googleapis.com/css?family=Quicksand:300,400,700");
/* MAIN COLOR */
/* SECONDARY COLOR */
/* DARK GRAY, REASON WHY IT'S SET TO #333 IS SO YOU CAN DARKEN IT IF NEEDED USING darken($blk, 10%); FOR EXAMPLE. YOU COULD ALSO USE 2 VARIABLES INSTEAD */
/* USE THIS TO SET THE BORDER RADIUS FOR BUTTONS */
html,
body {
  height: 100%;
}

html {
  font-family: 'Quicksand', sans-serif;
}

html {
  font-size: 15px;
}

@media screen and (min-width: 320px) {
  html {
    font-size: calc(15px + 7 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  html {
    font-size: 22px;
  }
}

body {
  font-family: 'Quicksand', sans-serif;
}

p {
  font-size: 1rem;
  font-family: 'Quicksand', sans-serif;
  font-weight: 400;
}

h1 {
  margin: 1rem 0;
  font-size: 2.0736rem;
}

h1 {
  font-size: 25.92px;
}

@media screen and (min-width: 320px) {
  h1 {
    font-size: calc(25.92px + 24.705 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  h1 {
    font-size: 50.625px;
  }
}

h2 {
  font-size: 1.728rem;
  margin: 1rem 0;
}

h2 {
  font-size: 25.92px;
}

@media screen and (min-width: 320px) {
  h2 {
    font-size: calc(25.92px + 24.705 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  h2 {
    font-size: 50.625px;
  }
}

h3 {
  font-size: 1.44rem;
}

h3 {
  font-size: 21.6px;
}

@media screen and (min-width: 320px) {
  h3 {
    font-size: calc(21.6px + 12.15 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  h3 {
    font-size: 33.75px;
  }
}

body {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

.flash {
  display: none;
}

q,
blockquote {
  quotes: "“" "”";
}

.navbar-default {
  background: white;
}

.navbarFixed {
  position: fixed;
  width: 100%;
  top: 0;
  z-index: 999;
}

/* Change autocomplete styles in WebKit */
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus input:-webkit-autofill,
textarea:-webkit-autofill,
textarea:-webkit-autofill:hover textarea:-webkit-autofill:focus,
select:-webkit-autofill,
select:-webkit-autofill:hover,
select:-webkit-autofill:focus {
  border: 1px solid #0065dd;
  -webkit-text-fill-color: #0065dd;
  -webkit-box-shadow: 0 0 0px 1000px #000 inset;
  transition: background-color 5000s ease-in-out 0s;
}

nav.navbar {
  z-index: 1000;
  border: none;
  border-radius: 0px;
}

nav.navbar .navbar-nav > li > a {
  text-align: center;
  margin-top: 18px;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  color: #333;
}

@media (max-width: 767px) {
  nav.navbar .navbar-nav > li > a {
    margin-top: 0;
    padding: 6px 0px;
    display: inline-block;
  }
}

nav.navbar .navbar-nav > li > a:focus, nav.navbar .navbar-nav > li > a:active {
  background: transparent;
  color: #333;
  outline: 0;
}

nav.navbar .navbar-nav > li > a:hover {
  background: #006cb5;
  color: #fafafa;
}

@media (max-width: 1280px) {
  nav.navbar .navbar-nav > li > a:hover {
    background: transparent;
    color: #333;
    outline: 0;
  }
}

.navbar-right {
  margin-top: 0px;
}

.navbar-toggle {
  margin-top: 8px;
}

/** LOGIN FORM **/
.btn-default {
  border: none;
  border-radius: 0px;
  background: #006cb5;
  color: #fafafa;
  padding: 0.5em 2em;
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  margin: 2em 0em;
  transition: 0.7s ease all;
}

.btn-default:hover {
  background: #008ae8;
  color: white;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .btn-default:hover {
    background: #55c4cf;
    color: #fafafa;
    box-shadow: 0px 0px 5px #333;
  }
}

.modal-dialog {
  max-width: 500px;
  width: 100%;
  text-align: center;
  margin: 6em auto;
}

.modal-dialog .close {
  display: none;
}

.modal-dialog .modal-content {
  color: #006cb5;
}

.modal-dialog .modal-content h2 {
  text-align: center;
  font-size: 25px;
}

.modal-dialog a.btn,
.modal-dialog a.btn-default,
.modal-dialog button {
  border: none;
  border-radius: 0px;
  background: #006cb5;
  color: #fafafa;
  padding: 0.5em 2em;
  font-size: 1.25em;
  font-weight: bold;
  text-align: center;
  text-transform: uppercase;
  letter-spacing: 1px;
  display: inline-block;
  margin: 2em 0em;
  transition: 0.7s ease all;
  margin: 0;
  display: block;
}

.modal-dialog a.btn:hover,
.modal-dialog a.btn-default:hover,
.modal-dialog button:hover {
  background: #008ae8;
  color: white;
  text-decoration: none;
}

@media (max-width: 1024px) {
  .modal-dialog a.btn:hover,
  .modal-dialog a.btn-default:hover,
  .modal-dialog button:hover {
    background: #55c4cf;
    color: #fafafa;
    box-shadow: 0px 0px 5px #333;
  }
}

.modal-header,
.modal-footer {
  background: #006cb5;
  color: #fafafa;
}

.modal-open {
  overflow: auto;
  padding-right: 0px !important;
}

/** END LOGIN FORM **/
footer {
  padding: 50px 0px 20px;
  background: #55c4cf;
  color: #fafafa;
  font-size: 15px;
}

footer a {
  color: #fafafa;
  white-space: nowrap;
  font-size: 15px;
}

@media (max-width: 990px) {
  footer a {
    font-size: 13px;
  }
}

footer a:hover {
  color: white;
  outline: 0 !important;
  text-decoration: none;
}

footer a:focus {
  color: #fafafa;
  outline: 0 !important;
  text-decoration: none;
}

footer p {
  font-size: 15px;
}

@media (max-width: 990px) {
  footer p {
    font-size: 13px;
  }
}

input#username,
input#password {
  width: 100%;
}

@media (max-width: 1024px) {
  input#username,
  input#password {
    font-size: 16px;
  }
}

select {
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: '';
}

a,
a:hover,
a:focus,
a:active {
  outline: 0 !important;
}

.logo {
  max-height: 100px;
  padding: 0.5em;
}

@media (max-width: 767px) {
  .logo {
    max-height: 70px;
  }
  .navbar-header a {
    float: left;
  }
}

.top-pad {
  padding: 3em;
  background: white;
}

@media (max-width: 990px) {
  .top-pad {
    padding: 1em;
  }
}

.flex {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
}

@media (max-width: 1024px) {
  .flex {
    display: block;
    /* may need to be inline-block */
  }
}

.terms p,
.privacy p {
  font-size: 1rem;
}

.terms ol li,
.privacy ol li {
  font-size: 1rem;
}

.terms ol ol li,
.privacy ol ol li {
  font-size: 0.85rem;
}

.banner {
  background: linear-gradient(rgba(0, 0, 0, 0.3), rgba(0, 0, 0, 0.3)), url(../img/banner.jpg) no-repeat;
  background-size: cover;
  background-attachment: fixed;
  background-position: 50% 0%;
  padding: 14rem 0;
}

@media (max-width: 1024px) {
  .banner {
    background-attachment: scroll;
  }
}

@media (max-width: 991px) {
  .banner {
    padding: 8rem 0;
  }
}

.banner h1,
.banner h2 {
  color: white;
  background: rgba(51, 51, 51, 0.2);
  line-height: 3em;
}

.banner h1 {
  font-weight: 700;
  text-transform: uppercase;
}

.banner h2 {
  font-weight: 400;
  padding: 0 1rem;
}

.banner h2 {
  font-size: 20px;
}

@media screen and (min-width: 320px) {
  .banner h2 {
    font-size: calc(20px + 20 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .banner h2 {
    font-size: 40px;
  }
}

.iconContain .iconBox {
  background: #006cb5;
  display: inline-block;
  padding: 1rem;
  border-radius: 50%;
}

.iconContain .iconBox span[class*="ti"] {
  font-size: 2rem;
  color: white;
}

.iconContain h1 {
  font-size: 1rem;
  color: #006cb5;
}

.margTopBtm {
  margin-top: 5rem;
  margin-bottom: 5rem;
}

.midSection {
  padding: 0;
  margin: 0;
}

.midSection h1 {
  color: #fafafa;
}

.midSection p {
  color: #fafafa;
}

.midSection p {
  font-size: 17px;
}

@media screen and (min-width: 320px) {
  .midSection p {
    font-size: calc(17px + 13 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .midSection p {
    font-size: 30px;
  }
}

.midSection .bg {
  background: url(../img/analysis.jpg) no-repeat;
  background-size: cover;
  padding: 12rem 0;
}

@media (max-width: 991px) {
  .midSection .bg {
    padding: 9rem 0;
    background-position: 50% 60%;
  }
}

.midSection .tble {
  display: table;
  table-layout: fixed;
  width: 100%;
  margin: 0;
  padding: 0;
}

@media (max-width: 767px) {
  .midSection .tble {
    display: block;
  }
}

.midSection .tble-cell {
  display: table-cell;
  vertical-align: middle;
  float: none;
}

@media (max-width: 767px) {
  .midSection .tble-cell {
    display: block;
  }
}

.midSection .txtBox {
  padding-left: 3rem;
  padding-right: 3rem;
  margin: 0;
  background: #006cb5;
}

@media (max-width: 767px) {
  .midSection .txtBox {
    padding: 3rem 15px;
  }
}

.services h1 {
  color: #006cb5;
  text-transform: uppercase;
  border-bottom: 1px solid #000;
}

.services h2 {
  font-size: 1.2rem;
  color: #006cb5;
}

@media (max-width: 767px) {
  .services p {
    text-align: center;
  }
}

@media (max-width: 767px) {
  .services [class*="col-sm-4"].imgBox img {
    max-width: 300px;
    width: 100%;
    display: block;
    margin: 0 auto;
  }
}

.solidBg {
  background: #55c4cf;
  padding: 3rem 15px;
}

.solidBg h2 {
  color: #fafafa;
}

.solidBg h2 {
  font-size: 17px;
}

@media screen and (min-width: 320px) {
  .solidBg h2 {
    font-size: calc(17px + 13 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .solidBg h2 {
    font-size: 30px;
  }
}

.contact {
  background: #006cb5;
  color: #fafafa;
}

.contact a {
  color: #fafafa;
}

.contact a:focus, .contact a:hover {
  color: #fafafa;
  text-decoration: none;
}

.contact h1,
.contact h2 {
  font-size: 17px;
}

@media screen and (min-width: 320px) {
  .contact h1,
  .contact h2 {
    font-size: calc(17px + 17 * ((100vw - 320px) / 1600));
  }
}

@media screen and (min-width: 1920px) {
  .contact h1,
  .contact h2 {
    font-size: 34px;
  }
}

.padTopBtm {
  padding: 3rem 15px;
}

br.visible-600 {
  display: none;
}

@media (max-width: 600px) {
  br.visible-600 {
    display: block;
  }
}

@media (max-width: 600px) {
  .hidden-small {
    display: none;
  }
}

.show-600 {
  display: none;
}

@media (max-width: 600px) {
  .show-600 {
    display: block;
  }
}

.navbar-default .navbar-toggle:focus,
.navbar-default .navbar-toggle:hover {
  background: transparent;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm1vZHVsZXMvcmVzcG9uc2l2ZS10eXBlLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiQGltcG9ydCB1cmwoJ2h0dHBzOi8vZm9udHMuZ29vZ2xlYXBpcy5jb20vY3NzP2ZhbWlseT1RdWlja3NhbmQ6MzAwLDQwMCw3MDAnKTtcclxuQGltcG9ydCBcIm1vZHVsZXMvcmVzcG9uc2l2ZS10eXBlLnNjc3NcIjtcclxuXHJcbiRwcmltYXJ5OiAjMDA2Y2I1O1xyXG4vKiBNQUlOIENPTE9SICovXHJcbiRzZWNvbmRhcnk6ICM1NWM0Y2Y7XHJcbi8qIFNFQ09OREFSWSBDT0xPUiAqL1xyXG4kYmxrOiAjMzMzO1xyXG4vKiBEQVJLIEdSQVksIFJFQVNPTiBXSFkgSVQnUyBTRVQgVE8gIzMzMyBJUyBTTyBZT1UgQ0FOIERBUktFTiBJVCBJRiBORUVERUQgVVNJTkcgZGFya2VuKCRibGssIDEwJSk7IEZPUiBFWEFNUExFLiBZT1UgQ09VTEQgQUxTTyBVU0UgMiBWQVJJQUJMRVMgSU5TVEVBRCAqL1xyXG4kd2h0OiAjZmFmYWZhO1xyXG4kYm9yZGVyLXJhZGl1czogMHB4O1xyXG4vKiBVU0UgVEhJUyBUTyBTRVQgVEhFIEJPUkRFUiBSQURJVVMgRk9SIEJVVFRPTlMgKi9cclxuJGZvb3RlckxpbmtzOiAjZmFmYWZhO1xyXG5cclxuLy8gU2V0IHlvdXIgbWF4aW11bSBhbmQgbWluaW11bSBzY3JlZW4gc2l6ZXMuXHJcbiRtaW5fd2lkdGg6IDMyMHB4O1xyXG4kbWF4X3dpZHRoOiAxOTIwcHg7XHJcblxyXG4vLyBGb250IHNpemVzIHdpbGwgcmFuZ2UgYmV0d2VlbiB0aGUgJG1pbl9mb250IGFuZCAkbWF4X2ZvbnQuXHJcbiRtaW5fZm9udDogMTVweDtcclxuJG1heF9mb250OiAyMnB4O1xyXG5cclxuLy8gQ2hhbmdlIHRoZXNlIHZhbHVlcyB0byBjaGFuZ2UgdGhlIFwic2NhbGVcIiBiZXR3ZWVuIGRpZmZlcmVudCBoZWFkZXJzXHJcbi8vIChoMSxoMixoMywgZXRjLikuIExhcmdlciBudW1iZXJzID0gbGFyZ2VyIGZvbnQtc2l6ZXMuIFxyXG5cclxuJG1vZF8xOiAxLjI7IC8vIG1vYmlsZVxyXG4kbW9kXzI6IDEuNTsgLy8gZGVza3RvcFxyXG5cclxuaHRtbCxcclxuYm9keSB7XHJcblxyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG59XHJcblxyXG4vLyBib2R5IHtcclxuLy8gICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcclxuLy8gfVxyXG5cclxuaHRtbCB7XHJcbiAgICBAaW5jbHVkZSBmbHVpZC10eXBlKCRtaW5fd2lkdGgsICRtYXhfd2lkdGgsICRtaW5fZm9udCwgJG1heF9mb250KTtcclxuICAgIGZvbnQtZmFtaWx5OiAnUXVpY2tzYW5kJyxcclxuICAgICAgICBzYW5zLXNlcmlmO1xyXG5cclxufVxyXG5cclxuYm9keSB7XHJcbiAgICBmb250LWZhbWlseTogJ1F1aWNrc2FuZCcsXHJcbiAgICAgICAgc2Fucy1zZXJpZjtcclxuXHJcbn1cclxuXHJcbnAge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC1mYW1pbHk6ICdRdWlja3NhbmQnLFxyXG4gICAgICAgIHNhbnMtc2VyaWY7XHJcbiAgICBmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG5cclxuaDEge1xyXG4gICAgbWFyZ2luOiAxcmVtIDA7XHJcbiAgICBmb250LXNpemU6ICRtb2RfMSokbW9kXzEqJG1vZF8xKiRtb2RfMSAqMXJlbTtcclxuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoJG1pbl93aWR0aCwgJG1heF93aWR0aCwgJG1vZF8xKiRtb2RfMSokbW9kXzEgKiRtaW5fZm9udCwgJG1vZF8yKiRtb2RfMiokbW9kXzIgKiRtaW5fZm9udCk7XHJcbn1cclxuXHJcbmgyIHtcclxuICAgIGZvbnQtc2l6ZTogJG1vZF8xKiRtb2RfMSokbW9kXzEgKjFyZW07XHJcbiAgICBtYXJnaW46IDFyZW0gMDtcclxuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoJG1pbl93aWR0aCwgJG1heF93aWR0aCwgJG1vZF8xKiRtb2RfMSokbW9kXzEgKiRtaW5fZm9udCwgJG1vZF8yKiRtb2RfMiokbW9kXzIgKiRtaW5fZm9udCk7XHJcbn1cclxuXHJcbmgzIHtcclxuICAgIGZvbnQtc2l6ZTogJG1vZF8xKiRtb2RfMSAqMXJlbTtcclxuICAgIEBpbmNsdWRlIGZsdWlkLXR5cGUoJG1pbl93aWR0aCwgJG1heF93aWR0aCwgJG1vZF8xKiRtb2RfMSAqJG1pbl9mb250LCAkbW9kXzIqJG1vZF8yICokbWluX2ZvbnQpO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcclxufVxyXG5cclxuLmZsYXNoIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuXHJcbnEsXHJcbmJsb2NrcXVvdGUge1xyXG4gICAgcXVvdGVzOiBcIuKAnFwiXCLigJ1cIjtcclxufVxyXG5cclxuLm5hdmJhci1kZWZhdWx0IHtcclxuICAgIGJhY2tncm91bmQ6IHdoaXRlO1xyXG59XHJcblxyXG4ubmF2YmFyRml4ZWQge1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICB6LWluZGV4OiA5OTk7XHJcbn1cclxuXHJcbi8qIENoYW5nZSBhdXRvY29tcGxldGUgc3R5bGVzIGluIFdlYktpdCAqL1xyXG5cclxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbCxcclxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpob3ZlcixcclxuaW5wdXQ6LXdlYmtpdC1hdXRvZmlsbDpmb2N1cyBpbnB1dDotd2Via2l0LWF1dG9maWxsLFxyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsLFxyXG50ZXh0YXJlYTotd2Via2l0LWF1dG9maWxsOmhvdmVyIHRleHRhcmVhOi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMsXHJcbnNlbGVjdDotd2Via2l0LWF1dG9maWxsLFxyXG5zZWxlY3Q6LXdlYmtpdC1hdXRvZmlsbDpob3Zlcixcclxuc2VsZWN0Oi13ZWJraXQtYXV0b2ZpbGw6Zm9jdXMge1xyXG4gICAgYm9yZGVyOiAxcHggc29saWQgIzAwNjVkZDtcclxuICAgIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiAjMDA2NWRkO1xyXG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMHB4IDEwMDBweCAjMDAwIGluc2V0O1xyXG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciA1MDAwcyBlYXNlLWluLW91dCAwcztcclxufVxyXG5cclxubmF2Lm5hdmJhciB7XHJcbiAgICB6LWluZGV4OiAxMDAwO1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcblxyXG4gICAgLm5hdmJhci1uYXYge1xyXG4gICAgICAgID5saT5hIHtcclxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxOHB4O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgICAgICBjb2xvcjogJGJsaztcclxuXHJcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCAwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6Zm9jdXMsXHJcbiAgICAgICAgICAgICY6YWN0aXZlIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGs7XHJcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5O1xyXG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aHQ7XHJcblxyXG4gICAgICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDEyODBweCkge1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxrO1xyXG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZiYXItcmlnaHQge1xyXG4gICAgbWFyZ2luLXRvcDogMHB4O1xyXG59XHJcblxyXG4ubmF2YmFyLXRvZ2dsZSB7XHJcbiAgICBtYXJnaW4tdG9wOiA4cHg7XHJcbn1cclxuXHJcblxyXG4vKiogTE9HSU4gRk9STSAqKi9cclxuXHJcbkBtaXhpbiBidG4ge1xyXG4gICAgYm9yZGVyOiBub25lO1xyXG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgIGNvbG9yOiAkd2h0O1xyXG4gICAgcGFkZGluZzogMC41ZW0gMmVtO1xyXG4gICAgZm9udC1zaXplOiAxLjI1ZW07XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgbWFyZ2luOiAyZW0gMGVtO1xyXG4gICAgdHJhbnNpdGlvbjogMC43cyBlYXNlIGFsbDtcclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiBsaWdodGVuKCRwcmltYXJ5LCAxMCUpO1xyXG4gICAgICAgIGNvbG9yOiBsaWdodGVuKCR3aHQsIDEwJSk7XHJcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICAgICAgICAgIGNvbG9yOiAkd2h0O1xyXG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDVweCAkYmxrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJ0bi1kZWZhdWx0IHtcclxuICAgIEBpbmNsdWRlIGJ0bjtcclxufVxyXG5cclxuLm1vZGFsLWRpYWxvZyB7XHJcbiAgICBtYXgtd2lkdGg6IDUwMHB4O1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBtYXJnaW46IDZlbSBhdXRvO1xyXG5cclxuICAgIC5jbG9zZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAubW9kYWwtY29udGVudCB7XHJcbiAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xyXG5cclxuICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhLmJ0bixcclxuICAgIGEuYnRuLWRlZmF1bHQsXHJcbiAgICBidXR0b24ge1xyXG4gICAgICAgIEBpbmNsdWRlIGJ0biBtYXJnaW46IDA7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tb2RhbC1oZWFkZXIsXHJcbi5tb2RhbC1mb290ZXIge1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICBjb2xvcjogJHdodDtcclxufVxyXG5cclxuLm1vZGFsLW9wZW4ge1xyXG4gICAgb3ZlcmZsb3c6IGF1dG87XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcblxyXG4vKiogRU5EIExPR0lOIEZPUk0gKiovXHJcblxyXG5mb290ZXIge1xyXG4gICAgcGFkZGluZzogNTBweCAwcHggMjBweDtcclxuICAgIGJhY2tncm91bmQ6ICRzZWNvbmRhcnk7XHJcbiAgICBjb2xvcjogJGZvb3RlckxpbmtzO1xyXG4gICAgZm9udC1zaXplOiAxNXB4O1xyXG5cclxuICAgIGEge1xyXG4gICAgICAgIGNvbG9yOiAkZm9vdGVyTGlua3M7XHJcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuICAgICAgICBmb250LXNpemU6IDE1cHg7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTBweCkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6IGxpZ2h0ZW4oJGZvb3RlckxpbmtzLCAxMCUpO1xyXG4gICAgICAgICAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdodDtcclxuICAgICAgICAgICAgb3V0bGluZTogMCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHAge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MHB4KSB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuXHJcbmlucHV0I3VzZXJuYW1lLFxyXG5pbnB1dCNwYXNzd29yZCB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICBAbWVkaWEgKG1heC13aWR0aDogMTAyNHB4KSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG59XHJcblxyXG5zZWxlY3Qge1xyXG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xyXG4gICAgdGV4dC1pbmRlbnQ6IDAuMDFweDtcclxuICAgIHRleHQtb3ZlcmZsb3c6ICcnO1xyXG59XHJcblxyXG5hLFxyXG5hOmhvdmVyLFxyXG5hOmZvY3VzLFxyXG5hOmFjdGl2ZSB7XHJcbiAgICBvdXRsaW5lOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi5sb2dvIHtcclxuICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xyXG4gICAgcGFkZGluZzogMC41ZW07XHJcbn1cclxuXHJcbkBtZWRpYShtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAubG9nbyB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNzBweDtcclxuICAgIH1cclxuXHJcbiAgICAubmF2YmFyLWhlYWRlciBhIHtcclxuICAgICAgICBmbG9hdDogbGVmdDtcclxuICAgIH1cclxufVxyXG5cclxuLnRvcC1wYWQge1xyXG4gICAgcGFkZGluZzogM2VtO1xyXG4gICAgYmFja2dyb3VuZDogd2hpdGU7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MHB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogMWVtO1xyXG4gICAgfVxyXG59XHJcblxyXG4uZmxleCB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiAxMDI0cHgpIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAvKiBtYXkgbmVlZCB0byBiZSBpbmxpbmUtYmxvY2sgKi9cclxuICAgIH1cclxufVxyXG5cclxuLnRlcm1zLFxyXG4ucHJpdmFjeSB7XHJcbiAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgJiBvbCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmIG9sIGxpIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg1cmVtO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmJhbm5lciB7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQocmdiYSgwLCAwLCAwLCAwLjMpLFxyXG4gICAgICAgIHJnYmEoMCwgMCwgMCwgMC4zKSksIHVybCguLi9pbWcvYmFubmVyLmpwZykgbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDEwMjRweCkge1xyXG4gICAgICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogc2Nyb2xsO1xyXG4gICAgfVxyXG5cclxuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwJTtcclxuICAgIHBhZGRpbmc6IDE0cmVtIDA7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XHJcbiAgICAgICAgcGFkZGluZzogOHJlbSAwO1xyXG4gICAgfVxyXG5cclxuICAgIGgxLFxyXG4gICAgaDIge1xyXG4gICAgICAgIGNvbG9yOiB3aGl0ZTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRibGssIC4yKTtcclxuICAgICAgICBsaW5lLWhlaWdodDogM2VtIDtcclxuICAgIH1cclxuXHJcbiAgICBoMSB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gICAgICAgIFxyXG5cclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICBwYWRkaW5nOiAwIDFyZW07XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAyMHB4LCA0MHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmljb25Db250YWluIHtcclxuICAgIC5pY29uQm94IHtcclxuICAgICAgICBzcGFuW2NsYXNzKj1cInRpXCJdIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xyXG4gICAgICAgICAgICBjb2xvcjogd2hpdGU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcclxuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgcGFkZGluZzogMXJlbTtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICB9XHJcblxyXG4gICAgaDEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5tYXJnVG9wQnRtIHtcclxuICAgIG1hcmdpbi10b3A6IDVyZW07XHJcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xyXG59XHJcblxyXG4ubWlkU2VjdGlvbiB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gICAgbWFyZ2luOiAwO1xyXG5cclxuICAgIGgxIHtcclxuICAgICAgICBjb2xvcjogJHdodDtcclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgICBAaW5jbHVkZSBmbHVpZC10eXBlKCRtaW5fd2lkdGgsICRtYXhfd2lkdGgsIDE3cHgsIDMwcHgpO1xyXG4gICAgICAgIGNvbG9yOiAkd2h0O1xyXG4gICAgfVxyXG5cclxuICAgIC5iZyB7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9hbmFseXNpcy5qcGcpIG5vLXJlcGVhdDtcclxuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDEycmVtIDA7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiA5cmVtIDA7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA2MCU7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YmxlIHtcclxuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcclxuICAgICAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcclxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIC50YmxlLWNlbGwge1xyXG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XHJcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICAgICAgICBmbG9hdDogbm9uZTtcclxuXHJcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAudHh0Qm94IHtcclxuICAgICAgICBwYWRkaW5nLWxlZnQ6IDNyZW07XHJcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcblxyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAzcmVtIDE1cHg7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59XHJcblxyXG4uc2VydmljZXMge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgICAgICAvLyBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwO1xyXG4gICAgfVxyXG4gICAgaDIge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcclxuICAgIH1cclxuICAgIHAge1xyXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIFtjbGFzcyo9XCJjb2wtc20tNFwiXS5pbWdCb3gge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xyXG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMDBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLnNvbGlkQmcge1xyXG4gICAgYmFja2dyb3VuZDogJHNlY29uZGFyeTtcclxuICAgIHBhZGRpbmc6IDNyZW0gMTVweDtcclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICR3aHQ7XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAxN3B4LCAzMHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3Qge1xyXG4gICAgYmFja2dyb3VuZDogJHByaW1hcnk7XHJcbiAgICBjb2xvcjogJHdodDtcclxuXHJcbiAgICBhIHtcclxuICAgICAgICBjb2xvcjogJHdodDtcclxuXHJcbiAgICAgICAgJjpmb2N1cyxcclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgY29sb3I6ICR3aHQ7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaDEsXHJcbiAgICBoMiB7XHJcbiAgICAgICAgQGluY2x1ZGUgZmx1aWQtdHlwZSgkbWluX3dpZHRoLCAkbWF4X3dpZHRoLCAxN3B4LCAzNHB4KTtcclxuICAgIH1cclxufVxyXG5cclxuLnBhZFRvcEJ0bSB7XHJcbiAgICBwYWRkaW5nOiAzcmVtIDE1cHg7XHJcbn1cclxuXHJcbmJyLnZpc2libGUtNjAwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5oaWRkZW4tc21hbGwge1xyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnNob3ctNjAwIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDYwMHB4KSB7XHJcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB9XHJcbn1cclxuXHJcbi5uYXZiYXItZGVmYXVsdCAubmF2YmFyLXRvZ2dsZTpmb2N1cyxcclxuLm5hdmJhci1kZWZhdWx0IC5uYXZiYXItdG9nZ2xlOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG59IiwiQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJHZhbHVlKSB7XG4gIEByZXR1cm4gJHZhbHVlIC8gKCR2YWx1ZSAqIDAgKyAxKTtcbn1cblxuQG1peGluIGZsdWlkLXR5cGUoJG1pbi12dywgJG1heC12dywgJG1pbi1mb250LXNpemUsICRtYXgtZm9udC1zaXplKSB7XG4gICR1MTogdW5pdCgkbWluLXZ3KTtcbiAgJHUyOiB1bml0KCRtYXgtdncpO1xuICAkdTM6IHVuaXQoJG1pbi1mb250LXNpemUpO1xuICAkdTQ6IHVuaXQoJG1heC1mb250LXNpemUpO1xuXG4gIEBpZiAkdTEgPT0gJHUyIGFuZCAkdTEgPT0gJHUzIGFuZCAkdTEgPT0gJHU0IHtcbiAgICAmIHtcbiAgICAgIGZvbnQtc2l6ZTogJG1pbi1mb250LXNpemU7XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluLXZ3KSB7XG4gICAgICAgIGZvbnQtc2l6ZTogY2FsYygjeyRtaW4tZm9udC1zaXplfSArICN7c3RyaXAtdW5pdCgkbWF4LWZvbnQtc2l6ZSAtICRtaW4tZm9udC1zaXplKX0gKiAoKDEwMHZ3IC0gI3skbWluLXZ3fSkgLyAje3N0cmlwLXVuaXQoJG1heC12dyAtICRtaW4tdncpfSkpO1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJG1heC12dykge1xuICAgICAgICBmb250LXNpemU6ICRtYXgtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLENBQUMsb0VBQUk7QUFJWixnQkFBZ0I7QUFFaEIscUJBQXFCO0FBRXJCLDJKQUEySjtBQUczSixtREFBbUQ7QUFpQm5ELEFBQUEsSUFBSTtBQUNKLEFBQUEsSUFBSSxDQUFDO0VBRUQsTUFBTSxFQUFFLElBQUs7Q0FDaEI7O0FBTUQsQUFBQSxJQUFJLENBQUM7RUFFRCxXQUFXLEVBQUUsd0JBQ0U7Q0FFbEI7O0FBTEQsQUFBQSxJQUFJLENDM0JFO0VBQ0EsU0FB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 */
