@font-face {
  font-family: 'futura';
  src: url("../fonts/FTN45.eot");
  src: local('☺'), url("../fonts/FTN45.woff") format('woff'), url("../fonts/FTN45.ttf") format('truetype'), url("../fonts/FTN45.svg") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'default';
  src: url("../fonts/MinionPro-Regular.eot");
  src: local('☺'), url("../fonts/MinionPro-Regular.woff") format('woff'), url("../fonts/MinionPro-Regular.ttf") format('truetype'), url("../fonts/MinionPro-Regular.svg") format('svg');
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'title';
  src: url("../fonts/a_ModernoCapsRg Regular.eot");
  src: local('☺'), url("../fonts/a_ModernoCapsRg Regular.woff") format('woff'), url("../fonts/a_ModernoCapsRg Regular.ttf") format('truetype'), url("../fonts/a_ModernoCapsRg Regular.svg") format('svg');
  font-weight: normal;
  font-style: normal;
}
html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-weight: inherit;
  font-style: inherit;
  font-family: inherit;
  font-size: 100%;
  vertical-align: baseline;
}
body {
  line-height: 1;
  color: #000;
  background: #fff;
}
ol,
ul {
  list-style: none;
}
table {
  border-collapse: separate;
  border-spacing: 0;
  vertical-align: middle;
}
caption,
th,
td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle;
}
a img {
  border: none;
}
:focus {
  outline: none;
}
body {
  color: #333;
  font: 16.67px/1.2 'default', Sans-Serif;
}
.guestbook,
.container,
.page-news .main-block {
  margin: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  max-width: 970px;
  padding: 0 10px;
  position: relative;
}
@media (max-width: 1025px) {
  .guestbook,
  .container,
  .page-news .main-block {
    max-width: 790px;
  }
}
@media (max-width: 759px) {
  .guestbook,
  .container,
  .page-news .main-block {
    max-width: 320px;
    padding: 0 5px;
  }
}
.rubl {
  font-family: $font-r;
  text-transform: none;
}
.btn {
  display: inline-block;
  border: 2px solid #2c625d;
  cursor: pointer;
  background: #2c625d;
  padding: 9px 25px;
  -webkit-transition: all 0.2s;
  -moz-transition: all 0.2s;
  -ms-transition: all 0.2s;
  -o-transition: all 0.2s;
  transition: all 0.2s;
  color: #fff;
  font: 21px 'title';
}
.btn:hover {
  background: #fff;
  color: #2c625d;
}
.response {
  margin-top: 15px;
  color: #cb4848;
}
strong,
.strong {
  font-weight: bold;
  color: #2c625d;
}
h3,
.h3 {
  font: 33px 'title';
  color: #2c625d;
  margin-top: 25px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
@media (max-width: 759px) {
  h3,
  .h3 {
    font-size: 24px;
  }
}
h4,
.h4 {
  font: 21px 'title';
  line-height: 33px;
  color: #2c625d;
  margin-top: 25px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
@media (max-width: 759px) {
  h4,
  .h4 {
    font-size: 19px;
  }
}
@media (max-width: 759px) {
  .page-header,
  .main-title {
    margin-left: auto;
    margin-right: auto;
    max-width: 320px;
    padding: 0 5px;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    margin-bottom: 10px;
  }
}
.page-header h1,
.page-header h2,
.page-header h3,
.main-title {
  font: 33px 'title';
  color: #2c625d;
  text-align: center;
  margin-top: 25px;
  text-transform: uppercase;
  margin-bottom: 20px;
}
@media (max-width: 759px) {
  .page-header h1,
  .page-header h2,
  .page-header h3,
  .main-title {
    font-size: 24px;
  }
}
.page-header h1:before,
.page-header h2:before,
.page-header h3:before,
.main-title:before,
.page-header h1:after,
.page-header h2:after,
.page-header h3:after,
.main-title:after {
  content: '–';
  display: inline-block;
  padding: 0 10px;
}
@media (max-width: 759px) {
  .page-header h1:before,
  .page-header h2:before,
  .page-header h3:before,
  .main-title:before,
  .page-header h1:after,
  .page-header h2:after,
  .page-header h3:after,
  .main-title:after {
    content: none;
  }
}
.page-header h2 a,
.page-header h3 a {
  color: #2c625d;
  text-decoration: none;
}
.displayname {
  font: 33px 'title';
  color: #2c625d;
  margin-top: 25px;
  text-transform: uppercase;
  margin-top: 50px;
  margin-bottom: 20px;
}
@media (max-width: 759px) {
  .displayname {
    font-size: 24px;
  }
}
.main-block p {
  margin-bottom: 12px;
}
.main-block {
  margin-bottom: 20px;
}
.main-block img {
  max-width: 1260px;
  width: 100%;
  display: block;
  margin: 20px auto 25px;
}
.main-block p {
  margin-bottom: 25px;
}
.blog-news img {
  max-width: 1260px;
  width: 100%;
  margin: 0;
}
.blog-news .item,
.blog-news .items-leading {
  overflow: hidden;
  margin-bottom: 40px;
}
.blog-news .page-header {
  width: 60%;
  margin-left: auto;
}
@media (max-width: 759px) {
  .blog-news .page-header {
    width: 100%;
  }
}
.blog-news .pull-left {
  width: 40%;
  float: left;
  margin-top: -50px;
  margin-right: 40px;
}
@media (max-width: 759px) {
  .blog-news .pull-left {
    margin-top: 0;
    margin-right: 0;
    width: 100%;
    margin-bottom: 20px;
  }
}
.mCS-ultratel .mCSB_scrollTools .mCSB_draggerRail {
  background: none;
}
.mCS-ultratel .mCSB_scrollTools .mCSB_buttonUp {
  background-position: -80px 0;
}
.mCS-ultratel .mCSB_scrollTools .mCSB_buttonDown {
  background-position: -80px -20px;
}
.mCS-ultratel .mCSB_scrollTools .mCSB_buttonLeft {
  background-position: -80px -40px;
}
.mCS-ultratel .mCSB_scrollTools .mCSB_buttonRight {
  background-position: -80px -56px;
}
.mCS-ultratel .mCSB_dragger .mCSB_dragger_bar {
  background-color: #47c5f6;
  border: 1px solid #47c5f6;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
  width: 10px;
}
.mCS-ultratel .mCSB_dragger:hover .mCSB_dragger_bar {
  background-color: #fff;
}
.mCS-ultratel .mCSB_dragger:active .mCSB_dragger_bar .mCSB_dragger.mCSB_dragger_onDrag .mCSB_dragger_bar {
  background-color: #0f0;
}
.item-page a {
  color: #2c625d;
  text-decoration: none;
  border-bottom: 1px dotted;
}
.checkbox {
  vertical-align: top;
  margin: 0 3px 0 0;
  width: 17px;
  height: 17px;
}
.checkbox:not(checked) {
  position: absolute;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-filter: alpha(opacity=0);
  -moz-filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -o-filter: alpha(opacity=0);
  filter: alpha(opacity=0);
}
.checkbox:not(checked).is-error + label:before {
  border: 2px solid #f44 !important;
}
.checkbox:not(checked) + label {
  position: relative;
  display: block;
  padding: 0 0 0 30px;
}
@media phone {
  .checkbox:not(checked) + label {
    width: 100%;
    margin-bottom: 20px;
  }
}
.checkbox:not(checked) + label a {
  color: #fff;
}
.checkbox:not(checked) + label a:hover {
  text-decoration: underlin;
}
.checkbox:not(checked) + label:before {
  content: '';
  position: absolute;
  top: 0px;
  left: 0px;
  width: 15px;
  height: 15px;
  background: none;
  border: 2px solid #2c625d;
}
.checkbox:not(checked) + label:after {
  font-size: 24px;
  font-weight: bold;
  position: absolute;
  left: 5px;
  top: -7px;
  cursor: pointer;
  line-height: 1.2;
  color: #2c625d;
}
.checkbox:checked + label:after {
  content: '✓';
}
.checkbox + label span {
  color: #2c625d;
  text-decoration: underline;
  cursor: pointer;
}
.aside {
  width: 255px;
  display: inline-block;
  vertical-align: top;
  margin-top: 50px;
  position: relative;
}
.component_right {
  max-width: 685px;
  display: inline-block;
  vertical-align: top;
  margin-bottom: 65px;
}
@media (max-width: 1025px) {
  .component_right {
    display: block;
    max-width: 100%;
  }
}
.event-thumbnail:before,
.event-thumbnail:after {
  position: absolute;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-filter: alpha(opacity=0);
  -moz-filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -o-filter: alpha(opacity=0);
  filter: alpha(opacity=0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.event-thumbnail:before {
  content: '';
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255,255,255,0.5);
}
.event-thumbnail:after {
  content: '+';
  width: 35px;
  height: 35px;
  border-radius: 50%;
  border: 7px solid #2c625d;
  top: 50%;
  left: 50%;
  margin-left: -24px;
  margin-top: -24px;
  color: #2c625d;
  font-size: 40px;
  font-weight: bold;
  text-align: center;
  line-height: 31px;
}
.event-thumbnail:hover:before,
.event-thumbnail:hover:after {
  opacity: 1;
  -ms-filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -ms-filter: none;
  -o-filter: none;
  filter: none;
}
.block_wrapper {
  font-size: 0;
  position: relative;
  width: 100%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
}
.block_6 {
  font-size: 1rem;
  width: 50%;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top;
}
@media (max-width: 759px) {
  .block_6 {
    width: 100%;
  }
}
.block_pr-50 {
  padding-right: 50px;
}
.popup {
  background: #fff;
  position: absolute;
  min-height: 0;
  width: 800px;
  max-width: 96%;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -moz-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  -o-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  border-radius: 3px;
  padding: 40px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  margin: 20px auto;
}
@media (max-width: 759px) {
  .popup {
    padding: 40px 20px;
  }
}
.popup.is-large {
  position: relative;
  top: auto;
  left: auto;
  -webkit-transform: none;
  -moz-transform: none;
  -ms-transform: none;
  -o-transform: none;
  transform: none;
}
.popup__close {
  width: 30px;
  height: 30px;
  position: absolute;
  top: 10px;
  right: 10px;
  cursor: pointer;
}
.popup__close:before,
.popup__close:after {
  position: absolute;
  content: '';
  height: 30px;
  width: 2px;
  left: 14px;
  top: 0;
  background: #2c625d;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.popup__close:before {
  -webkit-transform: rotateZ(45deg);
  -moz-transform: rotateZ(45deg);
  -ms-transform: rotateZ(45deg);
  -o-transform: rotateZ(45deg);
  transform: rotateZ(45deg);
}
.popup__close:after {
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}
.popup__close:hover:before,
.popup__close:hover:after {
  background: $red;
}
.popup__overlay {
  display: none;
  background: rgba(0,0,0,0.8);
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  width: 100vw;
  height: 100%;
  height: 100vh;
  z-index: 550;
  overflow: auto;
}
.popup p {
  margin-bottom: 10px;
}
.popup__title {
  font: 26px 'title';
  color: #2c625d;
  text-align: center;
  margin-bottom: 15px;
}
@media (max-width: 759px) {
  .popup__title {
    font-size: 20px;
  }
}
.header {
  background: #2c625d;
}
.header_main {
  background: url("../image/header-bg-main.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
  position: relative;
  height: 425px;
}
.header__logo {
  display: block;
  margin: 0 auto;
  background: url("../image/header-logo.png") center top no-repeat;
  width: 238px;
  height: 73px;
}
@media (max-width: 759px) {
  .header__logo {
    position: absolute;
    top: 0;
    left: 50%;
    margin-left: -119px;
  }
}
.header__logo_main {
  background: url("../image/header-logo-main.png") center top no-repeat;
  width: 370px;
  height: 112px;
  position: absolute;
  left: 50%;
  margin-left: -175px;
}
@media (max-width: 759px) {
  .header__logo_main {
    top: 0;
    width: 320px;
    margin-left: -160px;
  }
}
.header__top-line {
  background: #2c625d;
  color: #fff;
  height: 68px;
  font-size: 19px;
}
@media (max-width: 759px) {
  .header__top-line {
    height: auto;
  }
}
.header__left {
  float: left;
  padding-top: 14px;
  text-align: left;
}
@media (max-width: 759px) {
  .header__left {
    float: none;
    text-align: center;
    padding-top: 125px;
  }
}
.header__right {
  float: right;
  padding-top: 14px;
  text-align: right;
}
@media (max-width: 759px) {
  .header__right {
    float: none;
    text-align: center;
    padding-bottom: 15px;
  }
}
.header p {
  margin-bottom: 5px;
  line-height: 0.9;
}
.header a {
  color: #fff;
  text-decoration: none;
}
.header sup {
  font-size: 0.7em;
  vertical-align: top;
}
.header__slogan {
  text-align: center;
  color: #fff;
  font: 33.5px 'title';
  text-transform: uppercase;
  margin-top: 80px;
}
@media (max-width: 759px) {
  .header__slogan {
    margin: 0;
    font-size: 30px;
    padding-top: 15px;
  }
}
.header__mask {
  position: absolute;
  bottom: 0;
  left: 0;
  height: 63px;
  width: 100%;
  background: url("../image/header-mask.png") center bottom no-repeat;
}
@media (max-width: 759px) {
  .header__mask {
    background: url("../image/header-mask.png") center bottom no-repeat;
    -webkit-background-size: 1100px auto;
    -moz-background-size: 1100px auto;
    -ms-background-size: 1100px auto;
    -o-background-size: 1100px auto;
    background-size: 1100px auto;
  }
}
.main-menu {
  margin-top: 20px;
  padding-top: 15px;
  padding-bottom: 15px;
  border-top: 2px solid #fff;
}
@media (max-width: 759px) {
  .main-menu {
    position: absolute;
    top: 10px;
    right: 20px;
    width: 50px;
    margin: 0px;
    border: none;
  }
  .main-menu:after {
    content: '';
    display: block;
    background-image: url("../image/sprite.png");
    background-position: 0px -186px;
    width: 50px;
    height: 50px;
    z-index: 10;
    position: absolute;
    top: 0;
    right: 0;
  }
  .main-menu .menu {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    width: 100%;
    max-width: 400px;
    background: #fff;
    padding-top: 10px;
    z-index: 100;
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    -moz-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    -ms-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    -o-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
  }
}
.main-menu li {
  display: inline-block;
  margin-right: 54px;
  font: 21px 'title';
  text-transform: uppercase;
  position: relative;
}
.main-menu li:last-child {
  margin-right: 0;
}
.main-menu li:after {
  content: '';
  width: 9px;
  height: 9px;
  background: #fff;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -4.5px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-filter: alpha(opacity=0);
  -moz-filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -o-filter: alpha(opacity=0);
  filter: alpha(opacity=0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
.main-menu li:hover:after,
.main-menu li.current:after {
  top: -20px;
  opacity: 1;
  -ms-filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -ms-filter: none;
  -o-filter: none;
  filter: none;
}
@media (max-width: 759px) {
  .main-menu li {
    display: block;
    margin: 0;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
  }
  .main-menu li a {
    color: #333;
    display: block;
    padding: 10px 15px;
    border-bottom: 1px solid #eee;
  }
}
.main-menu_main {
  height: 70px;
  margin-top: 75px;
  padding-top: 0;
  padding-bottom: 0;
  border-top: none;
}
@media (max-width: 759px) {
  .main-menu_main {
    top: -310px;
  }
}
.second-menu {
  text-align: center;
  margin-top: 65px;
  margin-bottom: 40px;
}
@media (max-width: 759px) {
  .second-menu {
    margin-top: 40px;
  }
}
.second-menu li {
  display: inline-block;
  vertical-align: top;
  font: 21px 'title';
  color: #777;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  position: relative;
  margin-right: 140px;
  text-transform: uppercase;
}
@media (max-width: 1025px) {
  .second-menu li {
    margin-right: 30px;
  }
}
@media (max-width: 759px) {
  .second-menu li {
    margin: 0 auto 10px;
    max-width: 250px;
    text-align: left;
    display: block;
  }
}
.second-menu li:last-child {
  margin-right: 0;
}
@media (max-width: 759px) {
  .second-menu li:last-child {
    margin-right: auto;
  }
}
.second-menu li:after {
  content: '';
  width: 9px;
  height: 9px;
  background: #2c625d;
  border-radius: 5px;
  position: absolute;
  top: 0;
  left: 50%;
  margin-left: -4.5px;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-filter: alpha(opacity=0);
  -moz-filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -o-filter: alpha(opacity=0);
  filter: alpha(opacity=0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
}
@media (max-width: 759px) {
  .second-menu li:after {
    left: 0px;
    top: 7px;
  }
}
.second-menu li:hover:after,
.second-menu li.current:after {
  top: -20px;
  opacity: 1;
  -ms-filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -ms-filter: none;
  -o-filter: none;
  filter: none;
}
@media (max-width: 759px) {
  .second-menu li:hover:after,
  .second-menu li.current:after {
    top: 7px;
    left: -10px;
  }
}
.second-menu li:hover a,
.second-menu li.current a {
  color: #2c625d;
}
.second-menu li a {
  color: #777;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;
}
.aside-menu {
  padding-right: 30px;
}
@media (max-width: 759px) {
  .aside-menu {
    display: none;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -ms-box-sizing: border-box;
    -o-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: 31px;
    left: 0;
    width: 100%;
    z-index: 10;
    -webkit-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    -moz-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    -ms-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    -o-box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    box-shadow: 1px 1px 3px 0 rgba(0,0,0,0.1);
    background: #fff;
  }
  .is-opened .aside-menu {
    display: block;
  }
}
.aside-menu li {
  font: 21px 'title';
  margin-bottom: 25px;
}
.aside-menu li:hover a,
.aside-menu li.current a {
  color: #2c625d;
}
@media (max-width: 759px) {
  .aside-menu li {
    margin: 0;
    font: 18px 'default';
  }
}
.aside-menu a {
  color: #777;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;
}
@media (max-width: 759px) {
  .aside-menu a {
    display: block;
    padding: 3px 5px;
    border-bottom: 1px solid #eee;
  }
}
.aside-menu__current {
  display: none;
  border: 1px solid #2c625d;
  position: relative;
  padding: 5px 10px;
}
.aside-menu__current:after {
  content: '';
  width: 6px;
  height: 6px;
  border-top: 1px solid #2c625d;
  border-right: 1px solid #2c625d;
  -webkit-transform: rotateZ(-225deg);
  -moz-transform: rotateZ(-225deg);
  -ms-transform: rotateZ(-225deg);
  -o-transform: rotateZ(-225deg);
  transform: rotateZ(-225deg);
  position: absolute;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  top: 12px;
  right: 10px;
}
.is-opened .aside-menu__current:after {
  -webkit-transform: rotateZ(-45deg);
  -moz-transform: rotateZ(-45deg);
  -ms-transform: rotateZ(-45deg);
  -o-transform: rotateZ(-45deg);
  transform: rotateZ(-45deg);
}
@media (max-width: 759px) {
  .aside-menu__current {
    display: block;
  }
}
.text-block {
  width: 100%;
}
.main-catalog__list {
  font-size: 0;
  text-align: center;
  padding-top: 75px;
}
@media (max-width: 1025px) {
  .main-catalog__list {
    padding-top: 25px;
    max-width: 750px;
    margin: 0 auto;
  }
}
@media (max-width: 759px) {
  .main-catalog__list {
    max-width: 500px;
  }
}
.main-catalog__item {
  display: inline-block;
  vertical-align: top;
  width: 15.9%;
  max-width: 210px;
  height: 315px;
  font-size: 16px;
  position: relative;
  cursor: pointer;
  margin: 0 2px;
  text-decoration: none;
}
.main-catalog__item:after {
  content: '';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  -webkit-filter: alpha(opacity=0);
  -moz-filter: alpha(opacity=0);
  -ms-filter: alpha(opacity=0);
  -o-filter: alpha(opacity=0);
  filter: alpha(opacity=0);
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  background: rgba(0,0,0,0.4);
}
.main-catalog__item:hover:after {
  opacity: 1;
  -ms-filter: none;
  -webkit-filter: none;
  -moz-filter: none;
  -ms-filter: none;
  -o-filter: none;
  filter: none;
}
@media (max-width: 1025px) {
  .main-catalog__item {
    width: 32%;
    margin-top: 60px;
  }
}
@media (max-width: 759px) {
  .main-catalog__item {
    width: 100%;
  }
}
.main-catalog__item_1 {
  background: url("/images/catalog/1.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_2 {
  background: url("/images/catalog/2.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_3 {
  background: url("/images/catalog/3.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_4 {
  background: url("/images/catalog/4.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_5 {
  background: url("/images/catalog/5.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_6 {
  background: url("/images/catalog/6.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_7 {
  background: url("/images/catalog/7.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_8 {
  background: url("/images/catalog/8.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_9 {
  background: url("/images/catalog/9.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_10 {
  background: url("/images/catalog/10.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_11 {
  background: url("/images/catalog/11.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__item_12 {
  background: url("/images/catalog/12.jpg") center center no-repeat;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  -ms-background-size: cover;
  -o-background-size: cover;
  background-size: cover;
}
.main-catalog__title {
  font: 21px 'title';
  text-align: center;
  position: absolute;
  color: #2c625d;
  width: 100%;
  left: 0;
  bottom: 100%;
  margin-bottom: 16px;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  z-index: 10;
}
.main-catalog__title:after {
  content: '';
  display: block;
  position: absolute;
  width: 9px;
  height: 9px;
  border-radius: 5px;
  bottom: -23px;
  left: 50%;
  margin-left: -4px;
  background: #2c625d;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}
.main-catalog__item:hover .main-catalog__title {
  color: #fff;
  bottom: 135px;
}
.main-catalog__item:hover .main-catalog__title:after {
  background: #fff;
}
.main-services {
  background: #ebebeb;
  padding-top: 140px;
  padding-bottom: 215px;
  margin-top: -100px;
  margin-bottom: -160px;
}
.main-services__list {
  text-align: center;
}
.main-services__item {
  width: 280px;
  height: 190px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0 20px;
  display: inline-block;
  vertical-align: top;
  position: relative;
  color: #2c625d;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  text-decoration: none;
}
.main-services__item:hover {
  background: #2c625d;
  color: #fff;
}
.main-services__icon {
  margin: 30px auto 10px;
}
.main-services__icon_design {
  background-image: url("../image/sprite.png");
  background-position: -136px -124px;
  width: 136px;
  height: 62px;
}
.main-services__item:hover .main-services__icon_design {
  background-image: url("../image/sprite.png");
  background-position: 0px -124px;
  width: 136px;
  height: 62px;
}
.main-services__icon_delivery {
  background-image: url("../image/sprite.png");
  background-position: 0px -62px;
  width: 136px;
  height: 62px;
}
.main-services__item:hover .main-services__icon_delivery {
  background-image: url("../image/sprite.png");
  background-position: 0px 0px;
  width: 136px;
  height: 62px;
}
.main-services__icon_create {
  background-image: url("../image/sprite.png");
  background-position: -136px -62px;
  width: 136px;
  height: 62px;
}
.main-services__item:hover .main-services__icon_create {
  background-image: url("../image/sprite.png");
  background-position: -136px 0px;
  width: 136px;
  height: 62px;
}
.main-services__title {
  font: 21px/28px 'title';
  text-transform: uppercase;
}
.main-services__mask {
  background: url("../image/main-services-mask.png") center center no-repeat;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 10;
}
.page-form__form {
  padding-bottom: 60px;
}
.page-form__wrapper {
  font-size: 0;
}
.page-form__input,
.page-form__textarea {
  padding: 7px 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  border: 2px solid #2c625d;
  margin-bottom: 20px;
}
.page-form__input::-webkit-input-placeholder,
.page-form__textarea::-webkit-input-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.page-form__input:-moz-placeholder,
.page-form__textarea:-moz-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.page-form__input::-moz-placeholder,
.page-form__textarea::-moz-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.page-form__input:-ms-input-placeholder,
.page-form__textarea:-ms-input-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
@media (max-width: 759px) {
  .page-form__input,
  .page-form__textarea {
    margin-bottom: 10px;
  }
}
.page-form__input.is-error,
.page-form__textarea.is-error {
  border-color: #f44;
}
.page-form__input {
  width: 49.3%;
  display: inline-block;
  vertical-align: top;
}
@media (max-width: 759px) {
  .page-form__input {
    width: 100%;
  }
}
.page-form__input:first-child {
  margin-right: 1.4%;
}
@media (max-width: 759px) {
  .page-form__input:first-child {
    margin-right: 0;
  }
}
.page-form__form_contacts .page-form__input {
  width: 100%;
  margin-right: 0;
}
.page-form__textarea {
  width: 100%;
  height: 86px;
}
.page-form__form_contacts .page-form__textarea {
  height: 120px;
}
.page-form__submit {
  float: right;
  width: 49.3%;
  z-index: 10;
  position: relative;
}
.contacts__right-block {
  padding-right: 50px;
  line-height: 1.5;
}
#contacts-map {
  width: 100%;
  height: 500px;
  position: relative;
}
@media (max-width: 759px) {
  #contacts-map {
    height: 300px;
  }
}
.map-btn {
  width: 140px;
  position: absolute;
  left: 48px;
  background: #2c625d;
  color: #fff;
  font-size: 17px;
  z-index: 100;
  padding: 10px 20px;
  border: 1px solid #2c625d;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  cursor: pointer;
}
.map-btn:hover {
  background: #fff;
  color: #2c625d;
}
@media (max-width: 759px) {
  .map-btn {
    width: 120px;
    padding: 5px 10px;
    font-size: 15px;
    left: 11px;
  }
}
.map-btn-1 {
  top: 52px;
}
@media (max-width: 759px) {
  .map-btn-1 {
    top: 43px;
  }
}
.map-btn-2 {
  top: 109px;
}
@media (max-width: 759px) {
  .map-btn-2 {
    top: 75px;
  }
}
.guestbook {
  font-size: 1rem;
}
.guestbook input,
.guestbook textarea {
  padding: 7px 15px;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -ms-box-sizing: border-box;
  -o-box-sizing: border-box;
  box-sizing: border-box;
  font-size: 16px;
  border: 2px solid #2c625d;
  margin-bottom: 20px;
}
.guestbook input::-webkit-input-placeholder,
.guestbook textarea::-webkit-input-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.guestbook input:-moz-placeholder,
.guestbook textarea:-moz-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.guestbook input::-moz-placeholder,
.guestbook textarea::-moz-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.guestbook input:-ms-input-placeholder,
.guestbook textarea:-ms-input-placeholder {
  font: 16px 'default';
  color: #3a3a3a;
}
.guestbook input {
  width: 100%;
}
.guestbook textarea {
  width: 100%;
  height: 80px;
}
.guestbook .control-group {
  width: 100%;
}
.guestbook .pgtitle {
  font: 21px 'title';
  line-height: 1;
  color: #2c625d;
  margin-top: 5px;
  text-transform: uppercase;
  margin-bottom: 5px;
}
.guestbook .well {
  margin-bottom: 30px;
  font-size: 17px;
}
.guestbook .pgb-content-inside {
  overflow: visible;
}
.guestbook p {
  margin-bottom: 5px;
}
.guestbook .btn {
  width: 50%;
  display: block;
  margin-left: auto;
}
.guestbook h4.pgb_font {
  font-size: 28px;
  text-align: center;
  text-decoration: underline;
  cursor: pointer;
}
.guestbook .control-label {
  display: none;
}
.guestbook .pagination-start,
.guestbook .pagecounter,
.guestbook .pagination-prev,
.guestbook .pagination-next,
.guestbook .pagination-end {
  display: none !important;
}
.guestbook .pagination li {
  display: inline-block;
  vertical-align: top;
  font-size: 21px;
  padding: 0 10px;
}
.guestbook .pagination a {
  color: #777;
  text-decoration: none;
}
.guestbook .pagination span {
  color: #2c625d;
}
.main-block .sketches img {
  margin: 0;
}
.footer {
  background: #2c625d;
  text-align: center;
  color: #fff;
  padding-bottom: 10px;
  margin-top: 100px;
}
.footer__mask {
  height: 58px;
  position: relative;
  top: -57px;
  margin: 0 auto -85px;
  max-width: 633px;
  background: url("../image/footer-mask.png") center top no-repeat;
}
.footer__logo {
  width: 62px;
  height: 39px;
  background: url("../image/footer-logo.png") center top no-repeat;
  -webkit-background-size: contain;
  -moz-background-size: contain;
  -ms-background-size: contain;
  -o-background-size: contain;
  background-size: contain;
  margin: 0 auto 20px;
}
.footer__slogan {
  font-size: 33px;
  font-family: 'title', "Helvetica Neue", Helvetica, sans-serif;
  margin-bottom: 35px;
}
.footer__content {
  font-size: 21px;
  margin-bottom: 25px;
}
.footer__copy {
  font-size: 16.7px;
  font-family: 'futura';
}
.footer__agreement {
  padding: 10px 0;
  font-size: 16.7px;
  font-family: 'futura';
  text-decoration: underline;
  cursor: pointer;
}
.footer a {
  color: #fff;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInZhcmlhYmxlcy5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL3Jlc2V0LnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvYm9yZGVyLnN0eWwiLCIuLi8uLi9ub2RlX21vZHVsZXMvbmliL2xpYi9uaWIvdmVuZG9yLnN0eWwiLCJiYXNlLnN0eWwiLCJtaXhpbi5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2ZsZXguc3R5bCIsIi4uLy4uL25vZGVfbW9kdWxlcy9uaWIvbGliL25pYi9vdmVyZmxvdy5zdHlsIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25pYi9saWIvbmliL2JvcmRlci1yYWRpdXMuc3R5bCIsImJsb2Nrcy9oZWFkZXIuc3R5bCIsImJsb2Nrcy9tYWluLW1lbnUuc3R5bCIsImJsb2Nrcy90ZXh0LWJsb2NrLnN0eWwiLCJibG9ja3MvbWFpbi1jYXRhbG9nLnN0eWwiLCJibG9ja3MvbWFpbi1zZXJ2aWNlcy5zdHlsIiwiYmxvY2tzL3BhZ2UtZm9ybS5zdHlsIiwiYmxvY2tzL2NvbnRhY3RzLnN0eWwiLCJibG9ja3MvZ3Vlc3Rib29rLnN0eWwiLCJibG9ja3MvZm9vdGVyLnN0eWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBUUE7RUFDQyxhQUFhLFNBQWI7RUFDQSxLQUE2QiwwQkFBN0I7RUFDQSxLQUFlLDZJQUFmO0VBQ0EsYUFBYSxPQUFiO0VBQ0EsWUFBWSxPQUFaOztBQUVEO0VBQ0MsYUFBYSxVQUFiO0VBQ0EsS0FBeUMsc0NBQXpDO0VBQ0EsS0FBZSxpTEFBZjtFQUNBLGFBQWEsT0FBYjtFQUNBLFlBQVksT0FBWjs7QUFFRDtFQUNDLGFBQWEsUUFBYjtFQUNBLEtBQStDLDRDQUEvQztFQUNBLEtBQWUsbU1BQWY7RUFDQSxhQUFhLE9BQWI7RUFDQSxZQUFZLE9BQVo7O0FDeEJDO0FBQU07QUFBTTtBQUFLO0FBQU07QUFBUTtBQUFRO0FBQU87QUFDSztBQUFJO0FBQUk7QUFBSTtB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QWQ7O0FBRUQ7RUFDQyxXQUFVLEtBQVY7RUFDQSxlQUFjLEtBQWQ7O0FBRUQ7RUFDQyxXQUFVLE9BQVY7RUFDQSxhQUFZLFNBQVo7O0FBRUQ7RUFDQyxTQUFRLE9BQVI7RUFDQSxXQUFVLE9BQVY7RUFDQSxhQUFZLFNBQVo7RUFDQSxpQkFBZ0IsVUFBaEI7RWR3ZEUsUUFBTyxRQUFQOztBY3RkSDtFQUNDLE9BQU0sS0FBTiIsImZpbGUiOiJzdHlsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyIkYmx1ZSA9ICM0N2M1ZjZcclxuXHJcblxyXG4kZnVsbC1oZCA9IFwiKG1pbi13aWR0aCAxNDAwcHgpXCJcclxuJGRlc2t0b3AgPSBcIihtYXgtd2lkdGggMTQwMHB4KVwiXHJcbiR0YWJsZXQgPSBcIihtYXgtd2lkdGggMTAyNXB4KVwiXHJcbiRwaG9uZSA9IFwiKG1heC13aWR0aCA3NTlweClcIlxyXG5cclxuQGZvbnQtZmFjZVxyXG5cdGZvbnQtZmFtaWx5OiAnZnV0dXJhJ1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9GVE40NS5lb3QnKVxyXG5cdHNyYzogbG9jYWwoJ+KYuicpLCB1cmwoJy4uL2ZvbnRzL0ZUTjQ1LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSwgdXJsKCcuLi9mb250cy9GVE40NS50dGYnKSBmb3JtYXQoJ3RydWV0eXBlJyksIHVybCgnLi4vZm9udHMvRlRONDUuc3ZnJykgZm9ybWF0KCdzdmcnKVxyXG5cdGZvbnQtd2VpZ2h0OiBub3JtYWxcclxuXHRmb250LXN0eWxlOiBub3JtYWxcclxuXHJcbkBmb250LWZhY2VcclxuXHRmb250LWZhbWlseTogJ2RlZmF1bHQnXHJcblx0c3JjOiB1cmwoJy4uL2ZvbnRzL01pbmlvblByby1SZWd1bGFyLmVvdCcpXHJcblx0c3JjOiBsb2NhbCgn4pi6JyksIHVybCgnLi4vZm9udHMvTWluaW9uUHJvLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpLCB1cmwoJy4uL2ZvbnRzL01pbmlvblByby1SZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSwgdXJsKCcuLi9mb250cy9NaW5pb25Qcm8tUmVndWxhci5zdmcnKSBmb3JtYXQoJ3N2ZycpXHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbFxyXG5cdGZvbnQtc3R5bGU6IG5vcm1hbFxyXG5cclxuQGZvbnQtZmFjZVxyXG5cdGZvbnQtZmFtaWx5OiAndGl0bGUnO1xyXG5cdHNyYzogdXJsKCcuLi9mb250cy9hX01vZGVybm9DYXBzUmcgUmVndWxhci5lb3QnKTtcclxuXHRzcmM6IGxvY2FsKCfimLonKSwgdXJsKCcuLi9mb250cy9hX01vZGVybm9DYXBzUmcgUmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksIHVybCgnLi4vZm9udHMvYV9Nb2Rlcm5vQ2Fwc1JnIFJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLCB1cmwoJy4uL2ZvbnRzL2FfTW9kZXJub0NhcHNSZyBSZWd1bGFyLnN2ZycpIGZvcm1hdCgnc3ZnJyk7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRmb250LXN0eWxlOiBub3JtYWw7XHJcblxyXG5cclxuJGdyZWVuID0gIzJjNjI1ZFxyXG5cclxuXHJcbiIsIi8vIEJhc2VkIG9uIFtFcmljIE1leWVyJ3MgcmVzZXRdKGh0dHA6Ly9tZXllcndlYi5jb20vZXJpYy90aG91Z2h0cy8yMDA3LzA1LzAxL3Jlc2V0LXJlbG9hZGVkLylcblxuZ2xvYmFsLXJlc2V0KClcbiAgaHRtbCwgYm9keSwgZGl2LCBzcGFuLCBhcHBsZXQsIG9iamVjdCwgaWZyYW1lLFxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBibG9ja3F1b3RlLCBwcmUsXG4gIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGJpZywgY2l0ZSwgY29kZSxcbiAgZGVsLCBkZm4sIGVtLCBpbWcsIGlucywga2JkLCBxLCBzLCBzYW1wLFxuICBzbWFsbCwgc3RyaWtlLCBzdHJvbmcsIHN1Yiwgc3VwLCB0dCwgdmFyLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLFxuICBmaWVsZHNldCwgZm9ybSwgbGFiZWwsIGxlZ2VuZCxcbiAgdGFibGUsIGNhcHRpb24sIHRib2R5LCB0Zm9vdCwgdGhlYWQsIHRyLCB0aCwgdGRcbiAgICByZXNldC1ib3gtbW9kZWwoKVxuICAgIHJlc2V0LWZvbnQoKVxuICBib2R5XG4gICAgcmVzZXQtYm9keSgpXG4gIG9sLCB1bFxuICAgIGxpc3Qtc3R5bGU6IG5vbmVcbiAgdGFibGVcbiAgICByZXNldC10YWJsZSgpXG4gIGNhcHRpb24sIHRoLCB0ZFxuICAgIHJlc2V0LXRhYmxlLWNlbGwoKVxuICBhIGltZ1xuICAgIGJvcmRlcjogbm9uZVxuXG5uZXN0ZWQtcmVzZXQoKVxuICBkaXYsIHNwYW4sIG9iamVjdCwgaWZyYW1lLCBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLFxuICBwcmUsIGEsIGFiYnIsIGFjcm9ueW0sIGFkZHJlc3MsIGNvZGUsIGRlbCwgZGZuLCBlbSwgaW1nLFxuICBkbCwgZHQsIGRkLCBvbCwgdWwsIGxpLCBmaWVsZHNldCwgZm9ybSwgbGFiZWwsXG4gIGxlZ2VuZCwgY2FwdGlvbiwgdGJvZHksIHRmb290LCB0aGVhZCwgdHJcbiAgICByZXNldC1ib3gtbW9kZWwoKVxuICAgIHJlc2V0LWZvbnQoKVxuICB0YWJsZVxuICAgIHJlc2V0LXRhYmxlKClcbiAgY2FwdGlvbiwgdGgsIHRkXG4gICAgcmVzZXQtdGFibGUtY2VsbCgpXG4gIGEgaW1nXG4gICAgYm9yZGVyOiBub25lXG5cbnJlc2V0LWJveC1tb2RlbCgpXG4gIG1hcmdpbjogMFxuICBwYWRkaW5nOiAwXG4gIGJvcmRlcjogMFxuICBvdXRsaW5lOiAwXG5cbnJlc2V0LWZvbnQoKVxuICBmb250LXdlaWdodDogaW5oZXJpdFxuICBmb250LXN0eWxlOiBpbmhlcml0XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0XG4gIGZvbnQtc2l6ZTogMTAwJVxuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmVcblxucmVzZXQtYm9keSgpXG4gIGxpbmUtaGVpZ2h0OiAxXG4gIGNvbG9yOiBibGFja1xuICBiYWNrZ3JvdW5kOiB3aGl0ZVxuXG5yZXNldC10YWJsZSgpXG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGVcbiAgYm9yZGVyLXNwYWNpbmc6IDBcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZVxuXG5yZXNldC10YWJsZS1jZWxsKClcbiAgdGV4dC1hbGlnbjogbGVmdFxuICBmb250LXdlaWdodDogbm9ybWFsXG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGVcblxucmVzZXQtaHRtbDUoKVxuICBhcnRpY2xlLCBhc2lkZSwgY2FudmFzLCBkZXRhaWxzLCBmaWdjYXB0aW9uLFxuICBmaWd1cmUsIGZvb3RlciwgaGVhZGVyLCBoZ3JvdXAsIG1lbnUsIG5hdixcbiAgc2VjdGlvbiwgc3VtbWFyeSwgbWFpblxuICAgIHJlc2V0LWJveC1tb2RlbCgpXG4gICAgZGlzcGxheTogYmxvY2tcbiAgYXVkaW8sIGNhbnZhcywgdmlkZW9cbiAgICBkaXNwbGF5IGlubGluZS1ibG9ja1xuICAgICpkaXNwbGF5IGlubGluZVxuICAgICp6b29tIDFcbiAgYXVkaW86bm90KFtjb250cm9sc10pLFtoaWRkZW5dXG4gICAgZGlzcGxheSBub25lXG4iLCIvKlxuICogYm9yZGVyOiA8Y29sb3I+XG4gKiBib3JkZXI6IC4uLlxuICovXG5cbmJvcmRlcihjb2xvciwgYXJncy4uLilcbiAgaWYgY29sb3IgaXMgYSAnY29sb3InXG4gICAgYm9yZGVyOiAxcHggc29saWQgY29sb3IgYXJnc1xuICBlbHNlXG4gICAgYm9yZGVyOiBhcmd1bWVudHNcbiIsInVzZSgnLi4vbm9kZXMvdmVuZG9yLWhlbHBlcnMuanMnKVxuQGltcG9ydCAnY29uZmlnJ1xuXG4vKlxuICogQWxpYXMgXCJub3dyYXBcIiBhcyBcIm5vLXdyYXBcIi5cbiAqL1xuXG5uby13cmFwID0gdW5xdW90ZSgnbm93cmFwJylcblxuLypcbiAqIEhlbHBlciB0byBmaW5kIG91dCBpZiBhIGdpdmVuIHZhbHVlIGlzIGEgd2lkdGhcbiAqL1xuXG5pcy13aWR0aCh2YWwpXG4gIGlmIGF1dG8gPT0gdmFsXG4gICAgcmV0dXJuIHRydWVcbiAgZWxzZSBpZiB2YWwgJiYgJ3VuaXQnID09IHR5cGUodmFsKVxuICAgIC8vIFN0eWx1cyBkb2VzIG5vdCBzaG9ydCBjaXJjdWl0IHNvIHdlIG5lZWQgdG8gcGVyZm9ybSB0aGlzIGFzIGEgZGlzdGluY3RcbiAgICAvLyBvcGVyYXRpb24gdG8gcHJldmVudCBlcnJvcnNcbiAgICByZXR1cm4gJycgIT0gdW5pdCh2YWwpXG4gIHJldHVybiBmYWxzZVxuXG4vKlxuICogVmVuZG9yIHN1cHBvcnQgZm9yIHRoZSBnaXZlbiBwcm9wIC8gYXJndW1lbnRzLCBvcHRpb25hbGx5IHNwZWNpZnlpbmcgdGhlXG4gKiBvbmx5IHByZWZpeGVzIHRvIHV0aWxpemUsIG9yIHRob3NlIHdoaWNoIHNob3VsZCBiZSBpZ25vcmVkLlxuICovXG5cbnZlbmRvcihwcm9wLCBhcmdzLCBvbmx5ID0gbnVsbCwgaWdub3JlID0gbnVsbCwgdmVuZG9yLXByb3BlcnR5ID0gdHJ1ZSlcbiAgbmVlZF9ub3JtYWxpemUgPSAhdmVuZG9yLXByb3BlcnR5IG9yIHByb3AgaW4gKCd0cmFuc2l0aW9uJyAndHJhbnNpdGlvbi1wcm9wZXJ0eScgJ2JvcmRlci1pbWFnZScgJ2JvcmRlci1pbWFnZS1zbGljZScpXG4gIGZvciBwcmVmaXggaW4gdmVuZG9yLXByZWZpeGVzXG4gICAgdW5sZXNzIChvbmx5IGFuZCAhKHByZWZpeCBpbiBvbmx5KSkgb3IgKGlnbm9yZSBhbmQgcHJlZml4IGluIGlnbm9yZSlcbiAgICAgIGlmIG9mZmljaWFsID09IHByZWZpeFxuICAgICAgICBpZiBuZWVkX25vcm1hbGl6ZVxuICAgICAgICAgIHtwcm9wfTogbm9ybWFsaXplKHByb3AsKCclcycgJSBhcmdzKSlcbiAgICAgICAgZWxzZVxuICAgICAgICAgIHtwcm9wfTogYXJnc1xuICAgICAgZWxzZVxuICAgICAgICBuZXdwcm9wID0gcHJvcFxuICAgICAgICBuZXdwcm9wID0gJy0nICsgcHJlZml4ICsgJy0nICsgcHJvcCBpZiB2ZW5kb3ItcHJvcGVydHlcblxuICAgICAgICBpZiBuZWVkX25vcm1hbGl6ZVxuICAgICAgICAgIHtuZXdwcm9wfTogbm9ybWFsaXplKHByb3AsKCclcycgJSBhcmdzKSxwcmVmaXgpXG4gICAgICAgIGVsc2VcbiAgICAgICAgICB7bmV3cHJvcH06IGFyZ3Ncbi8qXG4gKiBWZW5kb3JpemUgdGhlIGdpdmVuIHZhbHVlLlxuICovXG5cbnZlbmRvci12YWx1ZShhcmcsIG9ubHkgPSBudWxsLCBpZ25vcmUgPSBudWxsKVxuICBwcm9wID0gY3VycmVudC1wcm9wZXJ0eVswXVxuICBmb3IgcHJlZml4IGluIHZlbmRvci1wcmVmaXhlc1xuICAgIHVubGVzcyAob25seSBhbmQgIShwcmVmaXggaW4gb25seSkpIG9yIChpZ25vcmUgYW5kIHByZWZpeCBpbiBpZ25vcmUpIG9yIG9mZmljaWFsID09IHByZWZpeFxuICAgICAgYWRkLXByb3BlcnR5KHByb3AsICctJXMtJXMnICUgKHByZWZpeCBhcmcpKVxuICBhcmdcblxuLypcbiAqIFZlbmRvciBcImJveC1zaGFkb3dcIiBzdXBwb3J0LlxuICovXG5cbmJveC1zaGFkb3coKVxuICB2ZW5kb3IoJ2JveC1zaGFkb3cnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInVzZXItc2VsZWN0XCIgc3VwcG9ydC5cbiAqL1xuXG51c2VyLXNlbGVjdCgpXG4gIHZlbmRvcigndXNlci1zZWxlY3QnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tY291bnRcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1jb3VudCgpXG4gIHZlbmRvcignY29sdW1uLWNvdW50JywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWdhcFwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLWdhcCgpXG4gIHZlbmRvcignY29sdW1uLWdhcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZSgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4tcnVsZS1jb2xvclwiIHN1cHBvcnQuXG4gKi9cblxuY29sdW1uLXJ1bGUtY29sb3IoKVxuICB2ZW5kb3IoJ2NvbHVtbi1ydWxlLWNvbG9yJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXJ1bGUtd2lkdGhcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1ydWxlLXdpZHRoKClcbiAgdmVuZG9yKCdjb2x1bW4tcnVsZS13aWR0aCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImNvbHVtbi1ydWxlLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG5jb2x1bW4tcnVsZS1zdHlsZSgpXG4gIHZlbmRvcignY29sdW1uLXJ1bGUtc3R5bGUnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJjb2x1bW4td2lkdGhcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi13aWR0aCgpXG4gIHZlbmRvcignY29sdW1uLXdpZHRoJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLXNwYW5cIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1zcGFuKClcbiAgdmVuZG9yKCdjb2x1bW4tc3BhbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiY29sdW1uLWZpbGxcIiBzdXBwb3J0LlxuICovXG5cbmNvbHVtbi1maWxsKClcbiAgdmVuZG9yKCdjb2x1bW4tZmlsbCcsIGFyZ3VtZW50cywgb25seTogbW96KVxuXG4vKlxuICogTGVnYWN5IHN5bnRheCBzdXBwb3J0IGZvciBiYWNrZ3JvdW5kLWNsaXAgYW5kIGJhY2tncm91bmQtb3JpZ2luXG4gKi9cblxubGVnYWN5LWJnLXZhbHVlcyhwcm9wZXJ0eSwgYXJncylcbiAgbGVnYWN5X2FyZ3MgPSAoKVxuICBpbXBvcnRhbmNlID0gdW5xdW90ZSgnJylcbiAgZm9yIHN1YmFyZ3MgaW4gYXJnc1xuICAgIGZvciBhcmcgaW4gc3ViYXJnc1xuICAgICAgaWYgYXJnIGluIChib3JkZXItYm94IHBhZGRpbmctYm94IGNvbnRlbnQtYm94KVxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdib3JkZXInKSAgaWYgYXJnID09IGJvcmRlci1ib3hcbiAgICAgICAgYXJnID0gdW5xdW90ZSgncGFkZGluZycpIGlmIGFyZyA9PSBwYWRkaW5nLWJveFxuICAgICAgICBhcmcgPSB1bnF1b3RlKCdjb250ZW50JykgaWYgYXJnID09IGNvbnRlbnQtYm94XG4gICAgICBpZiBhcmcgIT0gJyFpbXBvcnRhbnQnXG4gICAgICAgIHB1c2gobGVnYWN5X2FyZ3MsYXJnKVxuICAgICAgZWxzZVxuICAgICAgICBpbXBvcnRhbmNlID0gIWltcG9ydGFudFxuICB2ZW5kb3IocHJvcGVydHksIHVucXVvdGUoam9pbignLCAnLGxlZ2FjeV9hcmdzKSkgaW1wb3J0YW5jZSwgb25seTogbW96IHdlYmtpdClcblxuLypcbiAqIFZlbmRvciBcImJhY2tncm91bmQtY2xpcFwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1jbGlwKClcbiAgaWYgYXJndW1lbnRzWzBdID09IHRleHRcbiAgICB2ZW5kb3IoJ2JhY2tncm91bmQtY2xpcCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0KVxuICBlbHNlXG4gICAgbGVnYWN5LWJnLXZhbHVlcygnYmFja2dyb3VuZC1jbGlwJywgYXJndW1lbnRzKVxuICAgIGJhY2tncm91bmQtY2xpcDogYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJiYWNrZ3JvdW5kLW9yaWdpblwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2dyb3VuZC1vcmlnaW4oKVxuICBsZWdhY3ktYmctdmFsdWVzKCdiYWNrZ3JvdW5kLW9yaWdpbicsIGFyZ3VtZW50cylcbiAgYmFja2dyb3VuZC1vcmlnaW46IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYmFja2dyb3VuZC1zaXplXCIgc3VwcG9ydC5cbiAqL1xuXG5iYWNrZ3JvdW5kLXNpemUoKVxuICB2ZW5kb3IoJ2JhY2tncm91bmQtc2l6ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zZm9ybVwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNmb3JtKClcbiAgdmVuZG9yKCd0cmFuc2Zvcm0nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2Zvcm0tb3JpZ2luXCIgc3VwcG9ydC5cbiAqL1xudHJhbnNmb3JtLW9yaWdpbigpXG4gICAgdmVuZG9yKCd0cmFuc2Zvcm0tb3JpZ2luJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNmb3JtLXN0eWxlXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2Zvcm0tc3R5bGUoKVxuICB2ZW5kb3IoJ3RyYW5zZm9ybS1zdHlsZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImJvcmRlci1pbWFnZVwiIHN1cHBvcnQuXG4gKi9cblxuYm9yZGVyLWltYWdlKClcbiAgdmVuZG9yKCdib3JkZXItaW1hZ2UnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb25cIiBzdXBwb3J0LlxuICovXG5cbnRyYW5zaXRpb24oKVxuICB2ZW5kb3IoJ3RyYW5zaXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLXByb3BlcnR5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXByb3BlcnR5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLXByb3BlcnR5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwidHJhbnNpdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxudHJhbnNpdGlvbi1kdXJhdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi1kdXJhdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcInRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbigpXG4gIHZlbmRvcigndHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJ0cmFuc2l0aW9uLWRlbGF5XCIgc3VwcG9ydC5cbiAqL1xuXG50cmFuc2l0aW9uLWRlbGF5KClcbiAgdmVuZG9yKCd0cmFuc2l0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYmFja2ZhY2UtdmlzaWJpbGl0eVwiIHN1cHBvcnQuXG4gKi9cblxuYmFja2ZhY2UtdmlzaWJpbGl0eSgpXG4gIHZlbmRvcignYmFja2ZhY2UtdmlzaWJpbGl0eScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInBlcnNwZWN0aXZlXCIgc3VwcG9ydC5cbiAqL1xuXG5wZXJzcGVjdGl2ZSgpXG4gIGlmIG1peGluXG4gICAgdmVuZG9yKCdwZXJzcGVjdGl2ZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcbiAgZWxzZVxuICAgICdwZXJzcGVjdGl2ZSglcyknICUgYXJndW1lbnRzXG5cbi8qXG4gKiBWZW5kb3IgXCJwZXJzcGVjdGl2ZS1vcmlnaW5cIiBzdXBwb3J0LlxuICovXG5cbnBlcnNwZWN0aXZlLW9yaWdpbigpXG4gIHZlbmRvcigncGVyc3BlY3RpdmUtb3JpZ2luJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogT3BhY2l0eSB3aXRoIGNvbmRpdGlvbmFsIElFIHN1cHBvcnQuXG4gKi9cblxub3BhY2l0eShuLCBhcmdzLi4uKVxuICBvcGFjaXR5OiBuIGFyZ3NcbiAgaWYgc3VwcG9ydC1mb3ItaWVcbiAgICBpZiBuID09IGluaGVyaXQgb3IgbiA9PSBpbml0aWFsXG4gICAgICAtbXMtZmlsdGVyOiBuIGFyZ3NcbiAgICAgIGZpbHRlcjogbiBhcmdzXG4gICAgZWxzZVxuICAgICAgdmFsID0gcm91bmQobiAqIDEwMClcbiAgICAgIGlmIHZhbCA9PSAxMDBcbiAgICAgICAgLW1zLWZpbHRlcjogbm9uZSBhcmdzXG4gICAgICAgIGZpbHRlcjogbm9uZSBhcmdzXG4gICAgICBlbHNlXG4gICAgICAgIC1tcy1maWx0ZXI6ICdcInByb2dpZDpEWEltYWdlVHJhbnNmb3JtLk1pY3Jvc29mdC5BbHBoYShPcGFjaXR5PSVzKVwiJyAlIHZhbCBhcmdzXG4gICAgICAgIGZpbHRlcjogJ2FscGhhKG9wYWNpdHk9JXMpJyAlIHZhbCBhcmdzXG5cbi8qXG4gKiBWZW5kb3IgXCJ0ZXh0LXNpemUtYWRqdXN0XCJcbiAqL1xuXG50ZXh0LXNpemUtYWRqdXN0KClcbiAgdmVuZG9yKCd0ZXh0LXNpemUtYWRqdXN0JywgYXJndW1lbnRzKVxuXG4vKlxuICogQWxpYXMgdGhlIFwid2hpdGUtc3BhY2VcIiBwcm9wZXJ0eS5cbiAqL1xuXG53aGl0ZXNwYWNlKClcbiAgd2hpdGUtc3BhY2U6IGFyZ3VtZW50c1xuXG4vKlxuICogVmVuZG9yIFwiYm94LXNpemluZ1wiIHN1cHBvcnQuXG4gKi9cblxuYm94LXNpemluZygpXG4gIHZlbmRvcignYm94LXNpemluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1vcmllbnRcIiBzdXBwb3J0LlxuICovXG5cbmJveC1vcmllbnQoKVxuICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtZmxleC1ncm91cFwiIHN1cHBvcnQuXG4gKi9cblxuYm94LWZsZXgtZ3JvdXAoKVxuICB2ZW5kb3IoJ2JveC1mbGV4LWdyb3VwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYm94LW9yZGluYWwtZ3JvdXBcIiBzdXBwb3J0LlxuICovXG5cbmJveC1vcmRpbmFsLWdyb3VwKClcbiAgdmVuZG9yKCdib3gtb3JkaW5hbC1ncm91cCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuXG4vKlxuICogVmVuZG9yIFwiYm94LWFsaWduXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtYWxpZ24oKVxuICB2ZW5kb3IoJ2JveC1hbGlnbicsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBtcyBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcImJveC1wYWNrXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtcGFjaygpXG4gIHZlbmRvcignYm94LXBhY2snLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBtb3ogbXMgb2ZmaWNpYWwpXG5cbi8qXG4gKiBWZW5kb3IgXCJib3gtZGlyZWN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5ib3gtZGlyZWN0aW9uKClcbiAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24oKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbicsIGFyZ3VtZW50cylcblxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLW5hbWVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1uYW1lKClcbiAgdmVuZG9yKCdhbmltYXRpb24tbmFtZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1kdXJhdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWR1cmF0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tZHVyYXRpb24nLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tZGVsYXlcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1kZWxheSgpXG4gIHZlbmRvcignYW5pbWF0aW9uLWRlbGF5JywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLWRpcmVjdGlvblwiIHN1cHBvcnQuXG4gKi9cblxuYW5pbWF0aW9uLWRpcmVjdGlvbigpXG4gIHZlbmRvcignYW5pbWF0aW9uLWRpcmVjdGlvbicsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1pdGVyYXRpb24tY291bnRcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1pdGVyYXRpb24tY291bnQnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uXCIgc3VwcG9ydC5cbiAqL1xuXG5hbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uKClcbiAgdmVuZG9yKCdhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uJywgYXJndW1lbnRzKVxuXG4vKlxuICogVmVuZG9yIFwiYW5pbWF0aW9uLXBsYXktc3RhdGVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1wbGF5LXN0YXRlKClcbiAgdmVuZG9yKCdhbmltYXRpb24tcGxheS1zdGF0ZScsIGFyZ3VtZW50cylcblxuLypcbiAqIFZlbmRvciBcImFuaW1hdGlvbi1maWxsLW1vZGVcIiBzdXBwb3J0LlxuICovXG5cbmFuaW1hdGlvbi1maWxsLW1vZGUoKVxuICB2ZW5kb3IoJ2FuaW1hdGlvbi1maWxsLW1vZGUnLCBhcmd1bWVudHMpXG5cbi8qXG4gKiBWZW5kb3IgXCJoeXBoZW5zXCIgc3VwcG9ydC5cbiAqL1xuXG5oeXBoZW5zKClcbiAgdmVuZG9yKCdoeXBoZW5zJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbW96IG1zIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwiYXBwZWFyYW5jZVwiIHN1cHBvcnQuXG4gKi9cblxuYXBwZWFyYW5jZSgpXG4gIHZlbmRvcignYXBwZWFyYW5jZScsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1veiBvZmZpY2lhbClcblxuLypcbiAqIFZlbmRvciBcInRhYi1zaXplXCIgc3VwcG9ydC5cbiAqL1xuXG50YWItc2l6ZSgpXG4gIHZlbmRvcigndGFiLXNpemUnLCBhcmd1bWVudHMsIG9ubHk6IG1veiBvIG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwib3ZlcmZsb3ctc2Nyb2xsaW5nXCIgc3VwcG9ydC5cbiAqL1xuXG5vdmVyZmxvdy1zY3JvbGxpbmcoKVxuICB2ZW5kb3IoJ292ZXJmbG93LXNjcm9sbGluZycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG4vKlxuICogVmVuZG9yIFwidGV4dC1vdmVyZmxvd1wiIHN1cHBvcnQsICwgLW8tIGZvciBvcGVyYSA5LiogLSAxMC4qXG4gKi9cblxudGV4dC1vdmVyZmxvdygpXG4gIHZlbmRvcigndGV4dC1vdmVyZmxvdycsIGFyZ3VtZW50cywgb25seTogb2ZmaWNpYWwgbylcblxuLypcbiAqIFZlbmRvciBcInRleHQtc2l6ZS1hZGp1c3RcIiBzdXBwb3J0LlxuICovXG50ZXh0LXNpemUtYWRqdXN0KClcbiAgdmVuZG9yKCd0ZXh0LXNpemUtYWRqdXN0JywgYXJndW1lbnRzLCBvbmx5OiBvZmZpY2lhbCB3ZWJraXQgbXMpXG5cbi8qXG4gKiBWZW5kb3IgXCJmb250LXNtb290aGluZ1wiIHN1cHBvcnQsIHdlYmtpdCBvbmx5LlxuICovXG5mb250LXNtb290aGluZygpXG4gIHZlbmRvcignZm9udC1zbW9vdGhpbmcnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdClcblxuXG4vKipcbiAqIFZlbmRvciBpbnB1dC1wbGFjZWhvbGRlci9wbGFjZWhvbGRlciBzdXBwb3J0LlxuICpcbiAqIEV4YW1wbGVzOlxuICogICAgLy8gRGVmYXVsdCBzeW50YXhcbiAqICAgIGJvZHlcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgIzMzMywgZm9udC13ZWlnaHQgbm9ybWFsKVxuICpcbiAqICAgIC8vIFRoZSBjb21tYSBpcyBpbXBvcnRhbnRcbiAqICAgIC5wbGFjZWhvbGRlci1yZWRcbiAqICAgICAgcGxhY2Vob2xkZXIoY29sb3IgcmVkLClcbiAqXG4gKiAgICAvLyBXZSBjYW4gcGFzcyBhIGZ1bmN0aW9uXG4gKiAgICBncmVlbi1wbGFjZWhvbGRlcigpXG4gKiAgICAgIGNvbG9yIGdyZWVuXG4gKiAgICAucGxhY2Vob2xkZXItZ3JlZW5cbiAqICAgICAgcGxhY2Vob2xkZXIoZ3JlZW4tcGxhY2Vob2xkZXIpXG4gKlxuICogICAgLy8gV2UgY2FuIHBhc3MgYSBoYXNoXG4gKiAgICB0ZXh0YXJlYVxuICogICAgICBwbGFjZWhvbGRlcigoZm9udC1zdHlsZSBpdGFsaWMpIChmb250LXdlaWdodCBib2xkKSAocGFkZGluZyAnNHB4IDEwcHgnKSlcbiAqL1xucGxhY2Vob2xkZXIoKVxuICBmb3IgdiBpbiAnOi13ZWJraXQtaW5wdXQnICctbW96JyAnOi1tb3onICctbXMtaW5wdXQnXG4gICAgJjp7dn0tcGxhY2Vob2xkZXJcbiAgICAgIGZvciBwYWlyIGluIGFyZ3VtZW50c1xuICAgICAgICBpZiB0eXBlb2YocGFpcikgPT0gJ2Z1bmN0aW9uJ1xuICAgICAgICAgIHBhaXIoKVxuICAgICAgICBlbHNlIGlmIHBhaXIgaXMgbm90IG51bGwgJiYgcGFpclswXSBpcyBub3QgbnVsbFxuICAgICAgICAgIHtwYWlyWzBdfTogdHlwZShwYWlyWzFdKSA9PSAnc3RyaW5nJyA/IHMocGFpclsxXSkgOiBwYWlyWzFdXG5pbnB1dC1wbGFjZWhvbGRlciA9IHBsYWNlaG9sZGVyXG5cbi8qXG4gKiBWZW5kb3IgYmFja2dyb3VuZCBzdXBwb3J0IChncmFkaWVudHMpLlxuICovXG5cbmJhY2tncm91bmQoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZCcsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQgYXJndW1lbnRzXG5cbmJhY2tncm91bmQtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignYmFja2dyb3VuZC1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGJhY2tncm91bmQtaW1hZ2UgYXJndW1lbnRzXG5cbmN1cnNvcigpXG4gIGlmIG1hdGNoKCctZ3JhZGllbnRcXCgnLCAnJythcmd1bWVudHMpXG4gICAgdmVuZG9yKCdjdXJzb3InLCBhcmd1bWVudHMsIHZlbmRvci1wcm9wZXJ0eTogZmFsc2UpXG4gIGVsc2VcbiAgICBjdXJzb3IgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUgYXJndW1lbnRzXG5cbmxpc3Qtc3R5bGUtaW1hZ2UoKVxuICBpZiBtYXRjaCgnLWdyYWRpZW50XFwoJywgJycrYXJndW1lbnRzKVxuICAgIHZlbmRvcignbGlzdC1zdHlsZS1pbWFnZScsIGFyZ3VtZW50cywgdmVuZG9yLXByb3BlcnR5OiBmYWxzZSlcbiAgZWxzZVxuICAgIGxpc3Qtc3R5bGUtaW1hZ2UgYXJndW1lbnRzXG4iLCI6Zm9jdXNcclxuXHRvdXRsaW5lIG5vbmVcclxuXHJcbmJvZHlcclxuXHRjb2xvciAjMzMzMzMzXHJcblx0Ly8gYmFja2dyb3VuZCAjZWVlXHJcblx0Zm9udCAxNi42N3B4LzEuMiAnZGVmYXVsdCcsIFNhbnMtU2VyaWZcclxuXHJcbi5ndWVzdGJvb2tcclxuLmNvbnRhaW5lclxyXG4ucGFnZS1uZXdzIC5tYWluLWJsb2NrXHJcblx0bWFyZ2luIGF1dG9cclxuXHRib3gtc2l6aW5nIGJvcmRlci1ib3hcclxuXHRtYXgtd2lkdGggOTcwcHhcclxuXHRwYWRkaW5nIDAgMTBweFxyXG5cdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0QG1lZGlhICR0YWJsZXRcclxuXHRcdG1heC13aWR0aCA3OTBweFxyXG5cdEBtZWRpYSAkcGhvbmVcclxuXHRcdG1heC13aWR0aCAzMjBweFxyXG5cdFx0cGFkZGluZyAwIDVweFxyXG5cclxuLnJ1YmxcclxuXHRmb250LWZhbWlseSAkZm9udC1yXHJcblx0dGV4dC10cmFuc2Zvcm0gbm9uZVxyXG5cclxuLmJ0blxyXG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXHJcblx0Ym9yZGVyIDJweCBzb2xpZCAkZ3JlZW5cclxuXHRjdXJzb3IgcG9pbnRlclxyXG5cdGJhY2tncm91bmQgJGdyZWVuXHJcblx0cGFkZGluZyA5cHggMjVweFxyXG5cdHRyYW5zaXRpb24gYWxsIC4yc1xyXG5cdGNvbG9yICNmZmZcclxuXHRmb250IDIxcHggJ3RpdGxlJ1xyXG5cdCY6aG92ZXJcclxuXHRcdGJhY2tncm91bmQgI2ZmZlxyXG5cdFx0Y29sb3IgJGdyZWVuXHJcblxyXG5cclxuLnJlc3BvbnNlXHJcblx0bWFyZ2luLXRvcCAxNXB4XHJcblx0Y29sb3IgI2NiNDg0OFxyXG5cclxuXHJcbnN0cm9uZ1xyXG4uc3Ryb25nXHJcblx0Zm9udC13ZWlnaHQgYm9sZFxyXG5cdGNvbG9yICRncmVlblxyXG5cclxuXHJcbmgzXHJcbi5oM1xyXG5cdGZvbnQgMzNweCAndGl0bGUnXHJcblx0Y29sb3IgJGdyZWVuXHJcblx0bWFyZ2luLXRvcCAyNXB4XHJcblx0dGV4dC10cmFuc2Zvcm0gdXBwZXJjYXNlXHJcblx0bWFyZ2luLWJvdHRvbSAyMHB4XHJcblx0QG1lZGlhICRwaG9uZVxyXG5cdFx0Zm9udC1zaXplIDI0cHhcclxuXHJcbmg0XHJcbi5oNFxyXG5cdGZvbnQgMjFweCAndGl0bGUnXHJcblx0bGluZS1oZWlnaHQgMzNweFxyXG5cdGNvbG9yICRncmVlblxyXG5cdG1hcmdpbi10b3AgMjVweFxyXG5cdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdG1hcmdpbi1ib3R0b20gMjBweFxyXG5cdEBtZWRpYSAkcGhvbmVcclxuXHRcdGZvbnQtc2l6ZSAxOXB4XHJcblxyXG5cclxuLnBhZ2UtaGVhZGVyXHJcbi5wYWdlLWhlYWRlclxyXG4ubWFpbi10aXRsZVxyXG5cdEBtZWRpYSAkcGhvbmVcclxuXHRcdG1hcmdpbi1sZWZ0IGF1dG9cclxuXHRcdG1hcmdpbi1yaWdodCBhdXRvXHJcblx0XHRtYXgtd2lkdGggMzIwcHhcclxuXHRcdHBhZGRpbmcgMCA1cHhcclxuXHRcdGJveC1zaXppbmcgYm9yZGVyLWJveFxyXG5cdFx0bWFyZ2luLWJvdHRvbSAxMHB4XHJcblxyXG4ucGFnZS1oZWFkZXIgaDFcclxuLnBhZ2UtaGVhZGVyIGgyXHJcbi5wYWdlLWhlYWRlciBoM1xyXG4ubWFpbi10aXRsZVxyXG5cdGZvbnQgMzNweCAndGl0bGUnXHJcblx0Y29sb3IgJGdyZWVuXHJcblx0dGV4dC1hbGlnbiBjZW50ZXJcclxuXHRtYXJnaW4tdG9wIDI1cHhcclxuXHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcclxuXHRtYXJnaW4tYm90dG9tIDIwcHhcclxuXHRAbWVkaWEgJHBob25lXHJcblx0XHRmb250LXNpemUgMjRweFxyXG5cdCY6YmVmb3JlXHJcblx0JjphZnRlclxyXG5cdFx0Y29udGVudCAn4oCTJ1xyXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcclxuXHRcdHBhZGRpbmcgMCAxMHB4XHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdGNvbnRlbnQgbm9uZVxyXG5cdFx0XHJcbi5wYWdlLWhlYWRlciBoMiBhXHJcbi5wYWdlLWhlYWRlciBoMyBhXHJcblx0Y29sb3IgJGdyZWVuXHJcblx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcclxuXHJcblxyXG4uZGlzcGxheW5hbWVcclxuXHRmb250IDMzcHggJ3RpdGxlJ1xyXG5cdGNvbG9yICRncmVlblxyXG5cdG1hcmdpbi10b3AgMjVweFxyXG5cdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdG1hcmdpbi10b3AgNTBweFxyXG5cdG1hcmdpbi1ib3R0b20gMjBweFxyXG5cdEBtZWRpYSAkcGhvbmVcclxuXHRcdGZvbnQtc2l6ZSAyNHB4XHJcblxyXG4ubWFpbi1ibG9ja1xyXG5cdHBcclxuXHRcdG1hcmdpbi1ib3R0b20gMTJweFxyXG5cclxuXHJcblxyXG4ubWFpbi1ibG9ja1xyXG5cdG1hcmdpbi1ib3R0b20gMjBweFxyXG5cdGltZ1xyXG5cdFx0bWF4LXdpZHRoIDEyNjBweFxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0ZGlzcGxheSBibG9ja1xyXG5cdFx0bWFyZ2luIDIwcHggYXV0byAyNXB4XHJcblx0XHJcblx0cFxyXG5cdFx0bWFyZ2luLWJvdHRvbSAyNXB4XHJcblxyXG4uYmxvZy1uZXdzXHJcblx0aW1nXHJcblx0XHRtYXgtd2lkdGggMTI2MHB4XHJcblx0XHR3aWR0aCAxMDAlXHJcblx0XHRtYXJnaW4gMFxyXG5cdFxyXG5cdC5pdGVtXHJcblx0Lml0ZW1zLWxlYWRpbmdcclxuXHRcdG92ZXJmbG93IGhpZGRlblxyXG5cdFx0bWFyZ2luLWJvdHRvbSA0MHB4XHJcblx0LnBhZ2UtaGVhZGVyXHJcblx0XHR3aWR0aCA2MCVcclxuXHRcdG1hcmdpbi1sZWZ0IGF1dG9cclxuXHRcdEBtZWRpYSAkcGhvbmVcclxuXHRcdFx0d2lkdGggMTAwJVxyXG5cclxuXHJcblx0LnB1bGwtbGVmdFxyXG5cdFx0d2lkdGggNDAlXHJcblx0XHRmbG9hdCBsZWZ0XHJcblx0XHRtYXJnaW4tdG9wIC01MHB4XHJcblx0XHRtYXJnaW4tcmlnaHQgNDBweFxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRtYXJnaW4tdG9wIDBcclxuXHRcdFx0bWFyZ2luLXJpZ2h0IDBcclxuXHRcdFx0d2lkdGggMTAwJVxyXG5cdFx0XHRtYXJnaW4tYm90dG9tIDIwcHhcclxuXHJcblxyXG5cclxuLyogdGhlbWU6IFwiZGFya1wiICovXHJcbi5tQ1MtdWx0cmF0ZWxcclxuXHQubUNTQl9zY3JvbGxUb29sc1xyXG5cclxuXHRcdC5tQ1NCX2RyYWdnZXJSYWlsXHJcblx0XHRcdGJhY2tncm91bmQgbm9uZVxyXG5cdFx0Lm1DU0JfYnV0dG9uVXBcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggMDtcclxuXHJcblx0XHQubUNTQl9idXR0b25Eb3duXHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IC04MHB4IC0yMHB4O1xyXG5cclxuXHRcdC5tQ1NCX2J1dHRvbkxlZnRcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTQwcHg7XHJcblxyXG5cdFx0Lm1DU0JfYnV0dG9uUmlnaHRcclxuXHRcdFx0YmFja2dyb3VuZC1wb3NpdGlvbjogLTgwcHggLTU2cHg7XHJcblxyXG5cdC5tQ1NCX2RyYWdnZXJcclxuXHRcdC5tQ1NCX2RyYWdnZXJfYmFyXHJcblx0XHRcdGJhY2tncm91bmQtY29sb3IgJGJsdWVcclxuXHRcdFx0Ym9yZGVyIDFweCBzb2xpZCAkYmx1ZVxyXG5cdFx0XHRib3gtc2l6aW5nIGJvcmRlci1ib3hcclxuXHRcdFx0Ym9yZGVyLXJhZGl1cyAwXHJcblx0XHRcdHdpZHRoIDEwcHhcclxuXHRcdCY6aG92ZXJcclxuXHRcdFx0Lm1DU0JfZHJhZ2dlcl9iYXJcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmXHJcblx0XHQmOmFjdGl2ZSAubUNTQl9kcmFnZ2VyX2JhclxyXG5cdFx0XHQubUNTQl9kcmFnZ2VyLm1DU0JfZHJhZ2dlcl9vbkRyYWcgLm1DU0JfZHJhZ2dlcl9iYXJcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjMGYwXHJcblxyXG4uaXRlbS1wYWdlXHJcblx0YVxyXG5cdFx0Y29sb3IgJGdyZWVuXHJcblx0XHR0ZXh0LWRlY29yYXRpb24gbm9uZVxyXG5cdFx0Ym9yZGVyLWJvdHRvbSAxcHggZG90dGVkXHJcblx0XHJcbi5jaGVja2JveFxyXG5cdHZlcnRpY2FsLWFsaWduIHRvcFxyXG5cdG1hcmdpbiAwIDNweCAwIDBcclxuXHR3aWR0aCAxN3B4XHJcblx0aGVpZ2h0IDE3cHhcclxuXHQmOm5vdChjaGVja2VkKVxyXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdG9wYWNpdHkgMFxyXG5cdFx0Ji5pcy1lcnJvciArIGxhYmVsOmJlZm9yZVxyXG5cdFx0XHRib3JkZXIgMnB4IHNvbGlkICNmNDQgIWltcG9ydGFudFxyXG5cdCY6bm90KGNoZWNrZWQpICsgbGFiZWxcclxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHRwYWRkaW5nIDAgMCAwIDMwcHhcclxuXHRcdEBtZWRpYSBwaG9uZVxyXG5cdFx0XHR3aWR0aCAxMDAlXHJcblx0XHRcdG1hcmdpbi1ib3R0b20gMjBweFxyXG5cdFx0YVxyXG5cdFx0XHRjb2xvciAjZmZmXHJcblx0XHRcdCY6aG92ZXJcclxuXHRcdFx0XHR0ZXh0LWRlY29yYXRpb24gdW5kZXJsaW5cclxuXHQmOm5vdChjaGVja2VkKSArIGxhYmVsOmJlZm9yZVxyXG5cdFx0Y29udGVudCAnJ1xyXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdHRvcCAwcHhcclxuXHRcdGxlZnQgMHB4XHJcblx0XHR3aWR0aCAxNXB4XHJcblx0XHRoZWlnaHQgMTVweFxyXG5cdFx0YmFja2dyb3VuZCBub25lXHJcblx0XHRib3JkZXIgMnB4IHNvbGlkICRncmVlblxyXG5cdCY6bm90KGNoZWNrZWQpICsgbGFiZWw6YWZ0ZXJcclxuXHRcdGZvbnQtc2l6ZSAyNHB4XHJcblx0XHRmb250LXdlaWdodCBib2xkXHJcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0bGVmdCA1cHhcclxuXHRcdHRvcCAtN3B4XHJcblx0XHRjdXJzb3IgcG9pbnRlclxyXG5cdFx0bGluZS1oZWlnaHQ6IDEuMlxyXG5cdFx0Y29sb3IgJGdyZWVuXHJcblx0JjpjaGVja2VkICsgbGFiZWw6YWZ0ZXJcclxuXHRcdGNvbnRlbnQgJ+KckydcclxuXHJcblx0JiArIGxhYmVsXHJcblx0XHRzcGFuXHJcblx0XHRcdGNvbG9yICRncmVlblxyXG5cdFx0XHR0ZXh0LWRlY29yYXRpb24gdW5kZXJsaW5lXHJcblx0XHRcdGN1cnNvciBwb2ludGVyXHJcbi5hc2lkZVxyXG5cdHdpZHRoIDI1NXB4XHJcblx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcclxuXHR2ZXJ0aWNhbC1hbGlnbiB0b3BcclxuXHRtYXJnaW4tdG9wIDUwcHhcclxuXHRwb3NpdGlvbiByZWxhdGl2ZVxyXG5cclxuLmNvbXBvbmVudF9yaWdodFxyXG5cdG1heC13aWR0aCA2ODVweFxyXG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXHJcblx0dmVydGljYWwtYWxpZ24gdG9wXHJcblx0bWFyZ2luLWJvdHRvbSA2NXB4XHJcblx0QG1lZGlhICR0YWJsZXRcclxuXHRcdGRpc3BsYXkgYmxvY2tcclxuXHRcdG1heC13aWR0aCAxMDAlXHJcblxyXG5cclxuLmV2ZW50LXRodW1ibmFpbFxyXG5cdCY6YmVmb3JlXHJcblx0JjphZnRlclxyXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdG9wYWNpdHkgMFxyXG5cdFx0dHJhbnNpdGlvbiBhbGwgLjNzXHJcblx0JjpiZWZvcmVcclxuXHRcdGNvbnRlbnQgJydcclxuXHRcdHRvcCAwXHJcblx0XHRsZWZ0IDBcclxuXHRcdHdpZHRoIDEwMCVcclxuXHRcdGhlaWdodCAxMDAlXHJcblx0XHRiYWNrZ3JvdW5kIHJnYmEoMjU1LDI1NSwyNTUsLjUpXHJcblx0XHJcblx0JjphZnRlclxyXG5cdFx0Y29udGVudCAnKydcclxuXHRcdHdpZHRoIDM1cHhcclxuXHRcdGhlaWdodCAzNXB4XHJcblx0XHRib3JkZXItcmFkaXVzIDUwJVxyXG5cdFx0Ym9yZGVyIDdweCBzb2xpZCAkZ3JlZW5cclxuXHRcdHRvcCA1MCVcclxuXHRcdGxlZnQgNTAlXHJcblx0XHRtYXJnaW4tbGVmdCAtMjRweFxyXG5cdFx0bWFyZ2luLXRvcCAtMjRweFxyXG5cdFx0Y29sb3IgJGdyZWVuXHJcblx0XHRmb250LXNpemUgNDBweFxyXG5cdFx0Zm9udC13ZWlnaHQgYm9sZFxyXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcclxuXHRcdGxpbmUtaGVpZ2h0IDMxcHhcclxuXHRcclxuXHQmOmhvdmVyXHJcblx0XHQmOmJlZm9yZVxyXG5cdFx0JjphZnRlclxyXG5cdFx0XHRvcGFjaXR5IDFcclxuXHJcblxyXG5cclxuXHJcbi5ibG9ja193cmFwcGVyXHJcblx0Zm9udC1zaXplIDBcclxuXHRwb3NpdGlvbiByZWxhdGl2ZVxyXG5cdHdpZHRoIDEwMCVcclxuXHRib3gtc2l6aW5nIGJvcmRlci1ib3hcclxuXHRcclxuLmJsb2NrXzZcclxuXHRmb250LXNpemUgMXJlbVxyXG5cdHdpZHRoIDUwJVxyXG5cdGJveC1zaXppbmcgYm9yZGVyLWJveFxyXG5cdGRpc3BsYXkgaW5saW5lLWJsb2NrXHJcblx0dmVydGljYWwtYWxpZ24gdG9wXHJcblx0QG1lZGlhICRwaG9uZVxyXG5cdFx0d2lkdGggMTAwJVxyXG5cclxuLmJsb2NrX3ByLTUwXHJcblx0cGFkZGluZy1yaWdodCA1MHB4XHJcblx0XHJcblxyXG5cclxuLnBvcHVwXHJcblx0YmFja2dyb3VuZCAjZmZmXHJcblx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRtaW4taGVpZ2h0IDBcclxuXHR3aWR0aCA4MDBweFxyXG5cdG1heC13aWR0aCA5NiVcclxuXHRsZWZ0IDUwJVxyXG5cdHRvcCA1MCVcclxuXHR0cmFuc2Zvcm0gdHJhbnNsYXRlKC01MCUsLTUwJSlcclxuXHRib3JkZXItcmFkaXVzIDNweFxyXG5cdHBhZGRpbmcgNDBweFxyXG5cdGJveC1zaXppbmcgYm9yZGVyLWJveFxyXG5cdG1hcmdpbiAyMHB4IGF1dG9cclxuXHRAbWVkaWEgJHBob25lXHJcblx0XHRwYWRkaW5nIDQwcHggMjBweFxyXG5cdFxyXG5cdCYuaXMtbGFyZ2VcclxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0XHR0b3AgYXV0b1xyXG5cdFx0bGVmdCBhdXRvXHJcblx0XHR0cmFuc2Zvcm0gbm9uZVxyXG5cclxuXHQmX19jbG9zZVxyXG5cdFx0d2lkdGggMzBweFxyXG5cdFx0aGVpZ2h0IDMwcHhcclxuXHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHR0b3AgMTBweFxyXG5cdFx0cmlnaHQgMTBweFxyXG5cdFx0Y3Vyc29yIHBvaW50ZXJcclxuXHRcdCY6YmVmb3JlXHJcblx0XHQmOmFmdGVyXHJcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRcdGNvbnRlbnQgJydcclxuXHRcdFx0aGVpZ2h0IDMwcHhcclxuXHRcdFx0d2lkdGggMnB4XHJcblx0XHRcdGxlZnQgMTRweFxyXG5cdFx0XHR0b3AgMFxyXG5cdFx0XHRiYWNrZ3JvdW5kICRncmVlblxyXG5cdFx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdCY6YmVmb3JlXHJcblx0XHRcdHRyYW5zZm9ybSByb3RhdGVaKDQ1ZGVnKVxyXG5cdFx0JjphZnRlclxyXG5cdFx0XHR0cmFuc2Zvcm0gcm90YXRlWigtNDVkZWcpXHJcblx0XHJcblx0XHQmOmhvdmVyXHJcblx0XHRcdCY6YmVmb3JlXHJcblx0XHRcdCY6YWZ0ZXJcclxuXHRcdFx0XHRiYWNrZ3JvdW5kICRyZWRcclxuXHRcdFxyXG5cclxuXHQmX19vdmVybGF5XHJcblx0XHRkaXNwbGF5IG5vbmVcclxuXHRcdGJhY2tncm91bmQgcmdiYSgwLCAwLCAwLCAwLjgpXHJcblx0XHRwb3NpdGlvbiBmaXhlZFxyXG5cdFx0bGVmdCAwXHJcblx0XHR0b3AgMFxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0d2lkdGggMTAwdndcclxuXHRcdGhlaWdodCAxMDAlXHJcblx0XHRoZWlnaHQgMTAwdmhcclxuXHRcdHotaW5kZXggNTUwXHJcblx0XHRvdmVyZmxvdyBhdXRvXHJcblx0XHJcblx0cFxyXG5cdFx0bWFyZ2luLWJvdHRvbSAxMHB4XHJcblx0XHJcblx0Jl9fdGl0bGVcclxuXHRcdGZvbnQgMjZweCAndGl0bGUnXHJcblx0XHRjb2xvciAkZ3JlZW5cclxuXHRcdHRleHQtYWxpZ24gY2VudGVyXHJcblx0XHRtYXJnaW4tYm90dG9tIDE1cHhcclxuXHRcdEBtZWRpYSAkcGhvbmVcclxuXHRcdFx0Zm9udC1zaXplIDIwcHgiLCJ2ZW5kb3IocHJvcCwgYXJncylcclxuXHQtd2Via2l0LXtwcm9wfSBhcmdzXHJcblx0LW1vei17cHJvcH0gYXJnc1xyXG5cdC1tcy17cHJvcH0gYXJnc1xyXG5cdC1vLXtwcm9wfSBhcmdzXHJcblx0e3Byb3B9IGFyZ3NcclxuXHJcbmZpbHRlcigpXHJcblx0dmVuZG9yKCdmaWx0ZXInLCBhcmd1bWVudHMpXHJcblxyXG5wbGFjZWhvbGRlcigpXHJcblx0Jjo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlclxyXG5cdFx0e2Jsb2NrfVxyXG5cdCY6LW1vei1wbGFjZWhvbGRlclxyXG5cdFx0e2Jsb2NrfVxyXG5cdCY6Oi1tb3otcGxhY2Vob2xkZXJcclxuXHRcdHtibG9ja31cclxuXHQmOi1tcy1pbnB1dC1wbGFjZWhvbGRlclxyXG5cdFx0e2Jsb2NrfVxyXG5cdFx0XHJcblxyXG5zcHJpdGVXaWR0aCgkc3ByaXRlKSB7XHJcblx0d2lkdGg6ICRzcHJpdGVbNF07XHJcbn1cclxuc3ByaXRlSGVpZ2h0KCRzcHJpdGUpIHtcclxuXHRoZWlnaHQ6ICRzcHJpdGVbNV07XHJcbn1cclxuc3ByaXRlUG9zaXRpb24oJHNwcml0ZSkge1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246ICRzcHJpdGVbMl0gJHNwcml0ZVszXTtcclxufVxyXG5zcHJpdGVJbWFnZSgkc3ByaXRlKSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltYWdlLyRzcHJpdGVbOF0pO1xyXG59XHJcbnNwcml0ZSgkc3ByaXRlKSB7XHJcblx0c3ByaXRlSW1hZ2UoJHNwcml0ZSlcclxuXHRzcHJpdGVQb3NpdGlvbigkc3ByaXRlKVxyXG5cdHNwcml0ZVdpZHRoKCRzcHJpdGUpXHJcblx0c3ByaXRlSGVpZ2h0KCRzcHJpdGUpXHJcbn0iLCIvKlxuICogVmVuZG9yIFwiZGlzcGxheTogZmxleFwiIHN1cHBvcnQgd2l0aCBmYWxsYmFjayB0byBvYnNvbGV0ZSB2ZXJzaW9ucy5cbiAqL1xuXG5mbGV4LXZlcnNpb24gPz0gYm94IGZsZXhcblxuLy9cbi8vIDEuIERpc3BsYXkgdmFsdWVzXG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleC1jb250YWluZXJzXG4vL1xuZGlzcGxheSh0eXBlLCBhcmdzLi4uKVxuICBpZiBmbGV4ID09IHR5cGUgfHwgaW5saW5lLWZsZXggPT0gdHlwZVxuICAgIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICAgIGlmIGZsZXggPT0gdHlwZVxuICAgICAgICBkaXNwbGF5OiAtbXMtZmxleGJveCBhcmdzXG4gICAgICAgIGRpc3BsYXk6IHZlbmRvci12YWx1ZShib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICAgIGVsc2VcbiAgICAgICAgZGlzcGxheTogLW1zLWlubGluZS1mbGV4Ym94IGFyZ3NcbiAgICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGlubGluZS1ib3ggYXJncywgb25seTogbW96IHdlYmtpdClcbiAgICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgICAgZGlzcGxheTogdmVuZG9yLXZhbHVlKGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKSAvLyBvdmVyd3JpdGVzIG9sZCB3ZWJraXRcbiAgZWxzZVxuICAgIGRpc3BsYXk6IGFyZ3VtZW50c1xuXG4vKlxuICogTmV3IHN5bnRheCBmb3IgYnJvd3NlcnMgbGlrZSBHb29nbGUgQ2hyb21lLlxuICogUGx1cyBhIHRyYW5zbGF0aW9uIHRvIHRoZSBvbGQgc3ludGF4LCBpZiBwb3NzaWJsZS5cbiAqL1xuXG5cbi8vXG4vLyA1LiBPcmRlcmluZyBhbmQgT3JpZW50YXRpb25cbi8vICAgIC0gaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy1mbGV4Ym94LyNvcmRlcmluZy1hbmQtb3JpZW50YXRpb25cbi8vXG4tZmxleC1vYnNvbGV0ZS1kaXJlY3Rpb24oZGlyZWN0aW9uKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgaWYgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uIHx8IGNvbHVtbi1yZXZlcnNlID09IGRpcmVjdGlvblxuICAgICAgdmVuZG9yKCdib3gtZGlyZWN0aW9uJywgcmV2ZXJzZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAgIGlmIHJvdyA9PSBkaXJlY3Rpb24gfHwgcm93LXJldmVyc2UgPT0gZGlyZWN0aW9uXG4gICAgICB2ZW5kb3IoJ2JveC1vcmllbnQnLCBob3Jpem9udGFsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuICAgIGVsc2UgaWYgY29sdW1uID09IGRpcmVjdGlvbiB8fCBjb2x1bW4tcmV2ZXJzZSA9PSBkaXJlY3Rpb25cbiAgICAgIHZlbmRvcignYm94LW9yaWVudCcsIHZlcnRpY2FsLCBpZ25vcmU6IG1zIG9mZmljaWFsKVxuXG4tZmxleC1vYnNvbGV0ZS13cmFwKHZhbHVlKVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgLy8gV0FSTjogd3JhcC1yZXZlcnNlIGRvZXMgbm90IGhhdmUgYSBib3ggZXF1aXZhbGVudC4gVGhpcyB3aWxsIHJlbmRlciBpbiBkaWZmZXJlbnQgbWFubmVyc1xuICAgIC8vICAgIG9uIGJveCB2cy4gZmxleCB2YWx1ZXMuXG4gICAgaWYgJ3dyYXAnID09IHZhbHVlIHx8IHdyYXAtcmV2ZXJzZSA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBtdWx0aXBsZSwgaWdub3JlOiBtcyBvZmZpY2lhbClcbiAgICBlbHNlIGlmIG5vd3JhcCA9PSB2YWx1ZVxuICAgICAgdmVuZG9yKCdib3gtbGluZXMnLCBzaW5nbGUsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZGlyZWN0aW9uKGRpcmVjdGlvbilcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtZGlyZWN0aW9uKGRpcmVjdGlvbilcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZGlyZWN0aW9uJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtd3JhcCh2YWx1ZSlcbiAgLy8gb2Jzb2xldGVcbiAgLWZsZXgtb2Jzb2xldGUtd3JhcCh2YWx1ZSlcblxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC13cmFwJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgbXMgb2ZmaWNpYWwpXG5cbmZsZXgtZmxvdygpXG4gIC8vIG9ic29sZXRlXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMF0pXG4gIC1mbGV4LW9ic29sZXRlLWRpcmVjdGlvbihhcmd1bWVudHNbMV0pXG4gIC1mbGV4LW9ic29sZXRlLXdyYXAoYXJndW1lbnRzWzBdKVxuICAtZmxleC1vYnNvbGV0ZS13cmFwKGFyZ3VtZW50c1sxXSlcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZmxvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbm9yZGVyKClcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LW9yZGluYWwtZ3JvdXAnLCBhcmd1bWVudHMsIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LW9yZGVyJywgYXJndW1lbnRzLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ29yZGVyJywgYXJndW1lbnRzLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cblxuLy9cbi8vIDcuIEZsZXhpYmlsaXR5XG4vLyAgICAtIGh0dHA6Ly93d3cudzMub3JnL1RSL2NzczMtZmxleGJveC8jZmxleGliaWxpdHlcbi8vXG5mbGV4LWdyb3coZ3Jvd3RoKVxuICAvLyBvYnNvbGV0ZVxuICBpZiBib3ggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdib3gtZmxleCcsIGdyb3d0aClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtZ3JvdycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5mbGV4LWJhc2lzKClcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtYmFzaXMnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleC1zaHJpbmsoKVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1zaHJpbmsnLCBhcmd1bWVudHMsIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuZmxleChncm93dGgpXG5cbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHNocmluayA9IDFcblxuICAgIGlmIG5vbmUgPT0gZ3Jvd3RoIHx8IGluaXRpYWwgPT0gZ3Jvd3RoXG4gICAgICAvLyBXZWxsIGtub3duIHZhbHVlc1xuICAgICAgc2hyaW5rID0gMCBpZiBub25lID09IGdyb3d0aFxuICAgICAgZ3Jvd3RoID0gMFxuICAgIGVsc2UgaWYgaXMtd2lkdGgoZ3Jvd3RoKSA9PSB0cnVlXG4gICAgICAvLyBCYXNpcyBpcyBkZWZpbmVkIGFzIHRoZSBmaXJzdCBwYXJhbWV0ZXJcbiAgICAgIGdyb3d0aCA9IGFyZ3VtZW50c1sxXSB8fCAwXG4gICAgICBzaHJpbmsgPSBhcmd1bWVudHNbMl0gaWYgMyA8PSBsZW5ndGgoYXJndW1lbnRzKVxuICAgIGVsc2UgaWYgYXJndW1lbnRzWzFdICYmIGlzLXdpZHRoKGFyZ3VtZW50c1sxXSkgPT0gZmFsc2VcbiAgICAgIC8vIEdyb3d0aCBpcyBmaXJzdCBhbmQgc2hyaW5rIGlzIHNlY29uZFxuICAgICAgc2hyaW5rID0gYXJndW1lbnRzWzFdXG5cbiAgICAvLyBTaW5jZSB3ZSBjYW4ndCBtYWtlIHRoZSBkaXN0aW5jdGlvbiBiZXR3ZWVuIGdyb3dpbmcgYW5kIHNocmlua2luZyBpbiB0aGUgYm94IG1vZGVsLCB0YWtlXG4gICAgLy8gdGhlIG9uZSB0aGF0IHByb3ZpZGVzIHRoZSBtb3N0IGZsZXhpYmlsaXR5LlxuICAgIHZlbmRvcignYm94LWZsZXgnLCBtYXgoZ3Jvd3RoLCBzaHJpbmspLCBpZ25vcmU6IG1zKVxuXG4gIC8vIG5ld1xuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleCcsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG1zIG9mZmljaWFsKVxuXG5cbi8vIGNvbnZlcnRzIHRoZSBqdXN0aWZpY2F0aW9uIGFsaWdubWVudFxuLWNvbnZlcnQtanVzdGlmeShhbGlnbilcbiAgaWYgZmxleC1zdGFydCA9PSBhbGlnblxuICAgIHJldHVybiBzdGFydFxuICBlbHNlIGlmIGZsZXgtZW5kID09IGFsaWduXG4gICAgcmV0dXJuIGVuZFxuICBlbHNlIGlmIHNwYWNlLWFyb3VuZCA9PSBhbGlnblxuICAgIHJldHVybiBkaXN0cmlidXRlXG4gIGVsc2UgaWYgc3BhY2UtYmV0d2VlbiA9PSBhbGlnblxuICAgIHJldHVybiBqdXN0aWZ5XG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuLy9cbi8vIDguIEFsaWdubWVudFxuLy8gICAgLSBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLWZsZXhib3gvI2FsaWdubWVudFxuLy9cbmp1c3RpZnktY29udGVudChhbGlnbilcbiAgLy8gb2Jzb2xldGVcbiAgaWYgYm94IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYm94LXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgaWdub3JlOiBtcyBvZmZpY2lhbClcblxuICAvLyBuZXdcbiAgaWYgZmxleCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2ZsZXgtcGFjaycsIC1jb252ZXJ0LWp1c3RpZnkoYWxpZ24pLCBvbmx5OiBtcylcbiAgICB2ZW5kb3IoJ2p1c3RpZnktY29udGVudCcsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG5cbmFsaWduLWNvbnRlbnQoYWxpZ24pXG4gIC8vIFdBUk46IE9ic29sZXRlIHNwZWMgZG9lcyBub3QgYWxsb3cgZm9yIGFkanVzdG1lbnQgaGVyZVxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignZmxleC1saW5lLXBhY2snLCAtY29udmVydC1qdXN0aWZ5KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1jb250ZW50JywgYWxpZ24sIG9ubHk6IHdlYmtpdCBvZmZpY2lhbClcblxuLy8gY29udmVydHMgYWxpZ25tZW50IGZyb20gJ2ZsZXgnIHRvIG5vcm1hbCB2YWx1ZVxuLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKVxuICBpZiBmbGV4LXN0YXJ0ID09IGFsaWduXG4gICAgcmV0dXJuIHN0YXJ0XG4gIGVsc2UgaWYgZmxleC1lbmQgPT0gYWxpZ25cbiAgICByZXR1cm4gZW5kXG4gIGVsc2VcbiAgICByZXR1cm4gYWxpZ25cblxuYWxpZ24taXRlbXMoYWxpZ24pXG4gIC8vIG9ic29sZXRlXG4gIGlmIGJveCBpbiBmbGV4LXZlcnNpb25cbiAgICB2ZW5kb3IoJ2JveC1hbGlnbicsIC1jb252ZXJ0LWFsaWdubWVudChhbGlnbiksIGlnbm9yZTogbXMgb2ZmaWNpYWwpXG5cbiAgLy8gbmV3XG4gIGlmIGZsZXggaW4gZmxleC12ZXJzaW9uXG4gICAgdmVuZG9yKCdmbGV4LWFsaWduJywgLWNvbnZlcnQtYWxpZ25tZW50KGFsaWduKSwgb25seTogbXMpXG4gICAgdmVuZG9yKCdhbGlnbi1pdGVtcycsIGFyZ3VtZW50cywgb25seTogd2Via2l0IG9mZmljaWFsKVxuXG5hbGlnbi1zZWxmKGFsaWduKVxuICAvLyBXQVJOOiBPYnNvbGV0ZSBzcGVjIGRvZXMgbm90IGFsbG93IGZvciBvdmVycmlkaW5nIGFsaWdubWVudCBvbiBpbmRpdmlkdWFsIGl0ZW1zLlxuICBpZiBmbGV4IGluIGZsZXgtdmVyc2lvblxuICAgIHZlbmRvcignYWxpZ24tc2VsZicsIGFsaWduLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgdmVuZG9yKCdmbGV4LWl0ZW0tYWxpZ24nLCAtY29udmVydC1hbGlnbm1lbnQoYWxpZ24pLCBvbmx5OiBtcylcbiIsIi8qXG4gKiBPdmVyZmxvdyB1dGlsaXR5LiBNYXBzIHRvIHJlZ3VsYXIgb3ZlcmZsb3csIGFuZCBhZGRzIGFuIGVsbGlwc2lzIHZhbHVlLlxuICpcbiAqIFN5bm9wc2lzOlxuICpcbiAqICAgb3ZlcmZsb3c6IDx0eXBlPlxuICpcbiAqIEV4YW1wbGVzOlxuICpcbiAqICAgICBvdmVyZmxvdzogYXV0b1xuICogICAgIG92ZXJmbG93OiBoaWRkZW5cbiAqICAgICBvdmVyZmxvdzogZWxsaXBzaXNcbiAqXG4gKi9cblxub3ZlcmZsb3coKVxuICBpZiBhcmd1bWVudHNbMF0gPT0gZWxsaXBzaXNcbiAgICBlbGxpcHNpcygpXG4gIGVsc2VcbiAgICBvdmVyZmxvdzogYXJndW1lbnRzXG4iLCIvKlxuICogSGVscGVyIGZvciBib3JkZXItcmFkaXVzKCkuXG4gKi9cblxuLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuICBpZiBsZW5ndGgocG9zKSA9PSAzXG4gICAgLy8gYm9yZGVyLXJhZGl1czogPHRvcCB8IGJvdHRvbT4gPGxlZnQgfCByaWdodD4gPG4+XG4gICAgeSA9IHBvc1swXVxuICAgIHggPSBwb3NbMV1cbiAgICAvLyBXZSBkb24ndCB1c2UgdmVuZG9yIGZvciBib2Rlci1yYWRpdXMgYW55bW9yZVxuICAgIC8vIHZlbmRvcignYm9yZGVyLXJhZGl1cy0lcyVzJyAlIHBvcywgcG9zWzJdLCBvbmx5OiB3ZWJraXQgb2ZmaWNpYWwpXG4gICAgeydib3JkZXItJXMtJXMtcmFkaXVzJyAlIHBvc306IHBvc1syXSBpbXBvcnRhbmNlXG4gIGVsc2UgaWYgcG9zWzBdIGluICh0b3AgYm90dG9tKVxuICAgIC8vIGJvcmRlci1yYWRpdXM6IDx0b3AgfCBib3R0b20+IDxuPlxuICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvc1swXSBsZWZ0IHBvc1sxXSwgaW1wb3J0YW5jZSlcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3NbMF0gcmlnaHQgcG9zWzFdLCBpbXBvcnRhbmNlKVxuICBlbHNlIGlmIHBvc1swXSBpbiAobGVmdCByaWdodClcbiAgICAvLyBib3JkZXItcmFkaXVzOiA8bGVmdCB8IHJpZ2h0PiA8bj5cbiAgICB1bnNoaWZ0KHBvcywgdG9wKTtcbiAgICAtYXBwbHktYm9yZGVyLXJhZGl1cyhwb3MsIGltcG9ydGFuY2UpXG4gICAgcG9zWzBdID0gYm90dG9tXG4gICAgLWFwcGx5LWJvcmRlci1yYWRpdXMocG9zLCBpbXBvcnRhbmNlKVxuXG4vKlxuICogYm9yZGVyLXJhZGl1cyBzdXBwb3J0aW5nIGF1Z21lbnRlZCBiZWhhdmlvci5cbiAqXG4gKiBFeGFtcGxlczpcbiAqXG4gKiAgICBib3JkZXItcmFkaXVzOiAycHggNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgNXB4IGJvdHRvbSAxMHB4XG4gKiAgICBib3JkZXItcmFkaXVzOiBsZWZ0IDVweFxuICogICAgYm9yZGVyLXJhZGl1czogdG9wIGxlZnQgNXB4XG4gKiAgICBib3JkZXItcmFkaXVzOiB0b3AgbGVmdCAxMHB4IGJvdHRvbSByaWdodCA1cHhcbiAqICAgIGJvcmRlci1yYWRpdXM6IHRvcCBsZWZ0IDEwcHgsIGJvdHRvbSByaWdodCA1cHhcbiAqXG4gKi9cblxuYm9yZGVyLXJhZGl1cygpXG4gIHBvcyA9ICgpXG4gIGF1Z21lbnRlZCA9IGZhbHNlXG4gIGltcG9ydGFuY2UgPSBhcmd1bWVudHNbbGVuZ3RoKGFyZ3VtZW50cykgLSAxXSA9PSAhaW1wb3J0YW50ID8gIWltcG9ydGFudCA6IHVucXVvdGUoJycpXG5cbiAgZm9yIGFyZ3MgaW4gYXJndW1lbnRzXG4gICAgZm9yIGFyZyBpbiBhcmdzXG4gICAgICBpZiBhcmcgaXMgYSAnaWRlbnQnXG4gICAgICAgIGFwcGVuZChwb3MsIGFyZylcbiAgICAgICAgYXVnbWVudGVkID0gdHJ1ZVxuICAgICAgZWxzZVxuICAgICAgICBhcHBlbmQocG9zLCBhcmcpXG4gICAgICAgIGlmIGF1Z21lbnRlZFxuICAgICAgICAgIC1hcHBseS1ib3JkZXItcmFkaXVzKHBvcywgaW1wb3J0YW5jZSlcbiAgICAgICAgICBwb3MgPSAoKVxuICBib3JkZXItcmFkaXVzIHBvcyB1bmxlc3MgYXVnbWVudGVkXG4iLCIvL0hFQURFUiBCRUdJTlxyXG4uaGVhZGVyXHJcblx0YmFja2dyb3VuZCAkZ3JlZW5cclxuXHQmX21haW5cclxuXHRcdGJhY2tncm91bmQgdXJsKC4uL2ltYWdlL2hlYWRlci1iZy1tYWluLmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXRcclxuXHRcdGJhY2tncm91bmQtc2l6ZSBjb3ZlclxyXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHRcdGhlaWdodCA0MjVweFxyXG5cdFxyXG5cdCZfX2xvZ29cclxuXHRcdGRpc3BsYXkgYmxvY2tcclxuXHRcdG1hcmdpbiAwIGF1dG9cclxuXHRcdGJhY2tncm91bmQgdXJsKC4uL2ltYWdlL2hlYWRlci1sb2dvLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXRcclxuXHRcdHdpZHRoIDIzOHB4XHJcblx0XHRoZWlnaHQgNzNweFxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0XHR0b3AgMFxyXG5cdFx0XHRsZWZ0IDUwJVxyXG5cdFx0XHRtYXJnaW4tbGVmdCAtMTE5cHhcclxuXHJcblx0Jl9fbG9nb19tYWluXHJcblx0XHRiYWNrZ3JvdW5kIHVybCguLi9pbWFnZS9oZWFkZXItbG9nby1tYWluLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXRcclxuXHRcdHdpZHRoIDM3MHB4XHJcblx0XHRoZWlnaHQgMTEycHhcclxuXHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRsZWZ0IDUwJVxyXG5cdFx0bWFyZ2luLWxlZnQgLTE3NXB4XHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdHRvcCAwXHJcblx0XHRcdHdpZHRoIDMyMHB4XHJcblx0XHRcdG1hcmdpbi1sZWZ0IC0xNjBweFxyXG5cdFxyXG5cdCZfX3RvcC1saW5lXHJcblx0XHRiYWNrZ3JvdW5kICRncmVlblxyXG5cdFx0Y29sb3IgI2ZmZlxyXG5cdFx0aGVpZ2h0IDY4cHhcclxuXHRcdGZvbnQtc2l6ZSAxOXB4XHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdGhlaWdodCBhdXRvXHJcblx0XHRcdFxyXG5cdCZfX2xlZnRcclxuXHRcdGZsb2F0IGxlZnRcclxuXHRcdHBhZGRpbmctdG9wIDE0cHhcclxuXHRcdHRleHQtYWxpZ24gbGVmdFxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRmbG9hdCBub25lXHJcblx0XHRcdHRleHQtYWxpZ24gY2VudGVyXHJcblx0XHRcdHBhZGRpbmctdG9wIDEyNXB4XHJcblx0Jl9fcmlnaHRcclxuXHRcdGZsb2F0IHJpZ2h0XHJcblx0XHRwYWRkaW5nLXRvcCAxNHB4XHJcblx0XHR0ZXh0LWFsaWduIHJpZ2h0XHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdGZsb2F0IG5vbmVcclxuXHRcdFx0dGV4dC1hbGlnbiBjZW50ZXJcclxuXHRcdFx0cGFkZGluZy1ib3R0b20gMTVweFxyXG5cdHBcclxuXHRcdG1hcmdpbi1ib3R0b20gNXB4XHJcblx0XHRsaW5lLWhlaWdodCAuOVxyXG5cdFxyXG5cdGFcclxuXHRcdGNvbG9yICNmZmZcclxuXHRcdHRleHQtZGVjb3JhdGlvbiBub25lXHJcblx0XHJcblx0c3VwXHJcblx0XHRmb250LXNpemUgLjdlbVxyXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXHJcblx0XHRcclxuXHQmX19zbG9nYW5cclxuXHRcdHRleHQtYWxpZ24gY2VudGVyXHJcblx0XHRjb2xvciAjZmZmXHJcblx0XHRmb250IDMzLjVweCAndGl0bGUnXHJcblx0XHR0ZXh0LXRyYW5zZm9ybSB1cHBlcmNhc2VcclxuXHRcdG1hcmdpbi10b3AgODBweFxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRtYXJnaW4gMFxyXG5cdFx0XHRmb250LXNpemUgMzBweFxyXG5cdFx0XHRwYWRkaW5nLXRvcCAxNXB4XHJcblxyXG5cclxuXHQmX19tYXNrXHJcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0Ym90dG9tIDBcclxuXHRcdGxlZnQgMFxyXG5cdFx0aGVpZ2h0IDYzcHhcclxuXHRcdHdpZHRoIDEwMCVcclxuXHRcdGJhY2tncm91bmQgdXJsKC4uL2ltYWdlL2hlYWRlci1tYXNrLnBuZykgY2VudGVyIGJvdHRvbSBuby1yZXBlYXRcclxuXHRcdFxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRiYWNrZ3JvdW5kIHVybCguLi9pbWFnZS9oZWFkZXItbWFzay5wbmcpIGNlbnRlciBib3R0b20gbm8tcmVwZWF0XHJcblx0XHRcdGJhY2tncm91bmQtc2l6ZSAxMTAwcHggYXV0byIsIi5tYWluLW1lbnVcclxuXHRtYXJnaW4tdG9wIDIwcHhcclxuXHRwYWRkaW5nLXRvcCAxNXB4XHJcblx0cGFkZGluZy1ib3R0b20gMTVweFxyXG5cdGJvcmRlci10b3AgMnB4IHNvbGlkICNmZmZcclxuXHRAbWVkaWEgJHBob25lXHJcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0dG9wIDEwcHhcclxuXHRcdHJpZ2h0IDIwcHhcclxuXHRcdHdpZHRoIDUwcHhcclxuXHRcdG1hcmdpbiAwcHhcclxuXHRcdGJvcmRlciBub25lXHJcblx0XHQmOmFmdGVyXHJcblx0XHRcdGNvbnRlbnQgJydcclxuXHRcdFx0ZGlzcGxheSBibG9ja1xyXG5cdFx0XHRzcHJpdGUgJHMtYnVyZ2VyXHJcblx0XHRcdHotaW5kZXggMTBcclxuXHRcdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdFx0dG9wIDBcclxuXHRcdFx0cmlnaHQgMFxyXG5cdFx0XHJcblx0XHQubWVudVxyXG5cdFx0XHRkaXNwbGF5IG5vbmVcclxuXHRcdFx0cG9zaXRpb24gZml4ZWRcclxuXHRcdFx0dG9wIDBcclxuXHRcdFx0cmlnaHQgMFxyXG5cdFx0XHR3aWR0aCAxMDAlXHJcblx0XHRcdG1heC13aWR0aCA0MDBweFxyXG5cdFx0XHRiYWNrZ3JvdW5kICNmZmZcclxuXHRcdFx0cGFkZGluZy10b3AgMTBweFxyXG5cdFx0XHR6LWluZGV4IDEwMFxyXG5cdFx0XHRib3gtc2hhZG93IDFweCAxcHggM3B4IDAgcmdiYSgwLDAsMCwwLjEpXHJcblx0bGlcclxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXHJcblx0XHRtYXJnaW4tcmlnaHQgNTRweFxyXG5cdFx0Zm9udCAyMXB4ICd0aXRsZSdcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHRcdCY6bGFzdC1jaGlsZFxyXG5cdFx0XHRtYXJnaW4tcmlnaHQgMFxyXG5cdFx0XHJcblx0XHQmOmFmdGVyXHJcblx0XHRcdGNvbnRlbnQgJydcclxuXHRcdFx0d2lkdGggOXB4XHJcblx0XHRcdGhlaWdodCA5cHhcclxuXHRcdFx0YmFja2dyb3VuZCAjZmZmXHJcblx0XHRcdGJvcmRlci1yYWRpdXMgNXB4XHJcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRcdHRvcCAwXHJcblx0XHRcdGxlZnQgNTAlXHJcblx0XHRcdG1hcmdpbi1sZWZ0IC00LjVweFxyXG5cdFx0XHRvcGFjaXR5IDBcclxuXHRcdFx0dHJhbnNpdGlvbiBhbGwgLjNzXHJcblx0XHQmOmhvdmVyXHJcblx0XHQmLmN1cnJlbnRcclxuXHRcdFx0JjphZnRlclxyXG5cdFx0XHRcdHRvcCAtMjBweFxyXG5cdFx0XHRcdG9wYWNpdHkgMVxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHRcdG1hcmdpbiAwXHJcblx0XHRcdGJveC1zaXppbmcgYm9yZGVyLWJveFxyXG5cdFx0XHRcclxuXHRcdFx0YVxyXG5cdFx0XHRcdGNvbG9yICMzMzNcclxuXHRcdFx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHRcdFx0cGFkZGluZyAxMHB4IDE1cHhcclxuXHRcdFx0XHRib3JkZXItYm90dG9tIDFweCBzb2xpZCAjZWVlXHJcblx0Jl9tYWluXHJcblx0XHRoZWlnaHQgNzBweFxyXG5cdFx0bWFyZ2luLXRvcCA3NXB4XHJcblx0XHRwYWRkaW5nLXRvcCAwXHJcblx0XHRwYWRkaW5nLWJvdHRvbSAwXHJcblx0XHRib3JkZXItdG9wIG5vbmVcclxuXHRcdEBtZWRpYSAkcGhvbmVcclxuXHRcdFx0dG9wIC0zMTBweFxyXG5cdFx0XHRcclxuXHJcbi5zZWNvbmQtbWVudVxyXG5cdHRleHQtYWxpZ24gY2VudGVyXHJcblx0bWFyZ2luLXRvcCA2NXB4XHJcblx0bWFyZ2luLWJvdHRvbSA0MHB4XHJcblx0QG1lZGlhICRwaG9uZVxyXG5cdFx0bWFyZ2luLXRvcCA0MHB4XHJcblx0bGlcclxuXHRcdGRpc3BsYXkgaW5saW5lLWJsb2NrXHJcblx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3BcclxuXHRcdGZvbnQgMjFweCAndGl0bGUnXHJcblx0XHRjb2xvciAjNzc3Nzc3XHJcblx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdHBvc2l0aW9uIHJlbGF0aXZlXHJcblx0XHRtYXJnaW4tcmlnaHQgMTQwcHhcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdFx0QG1lZGlhICR0YWJsZXRcclxuXHRcdFx0bWFyZ2luLXJpZ2h0IDMwcHhcclxuXHRcdEBtZWRpYSAkcGhvbmVcclxuXHRcdFx0bWFyZ2luIDAgYXV0byAxMHB4XHJcblx0XHRcdG1heC13aWR0aCAyNTBweFxyXG5cdFx0XHR0ZXh0LWFsaWduIGxlZnRcclxuXHRcdFx0ZGlzcGxheSBibG9ja1xyXG5cdFx0JjpsYXN0LWNoaWxkXHJcblx0XHRcdG1hcmdpbi1yaWdodCAwXHJcblx0XHRcdEBtZWRpYSAkcGhvbmVcclxuXHRcdFx0XHRtYXJnaW4tcmlnaHQgYXV0b1xyXG5cdFx0JjphZnRlclxyXG5cdFx0XHRjb250ZW50ICcnXHJcblx0XHRcdHdpZHRoIDlweFxyXG5cdFx0XHRoZWlnaHQgOXB4XHJcblx0XHRcdGJhY2tncm91bmQgJGdyZWVuXHJcblx0XHRcdGJvcmRlci1yYWRpdXMgNXB4XHJcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRcdHRvcCAwXHJcblx0XHRcdGxlZnQgNTAlXHJcblx0XHRcdG1hcmdpbi1sZWZ0IC00LjVweFxyXG5cdFx0XHRvcGFjaXR5IDBcclxuXHRcdFx0dHJhbnNpdGlvbiBhbGwgLjNzXHJcblx0XHRcdFxyXG5cdFx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdFx0bGVmdCAwcHhcclxuXHRcdFx0XHR0b3AgN3B4XHJcblx0XHRcdFxyXG5cdFx0Jjpob3ZlclxyXG5cdFx0Ji5jdXJyZW50XHJcblx0XHRcdFxyXG5cdFx0XHQmOmFmdGVyXHJcblx0XHRcdFx0dG9wIC0yMHB4XHJcblx0XHRcdFx0b3BhY2l0eSAxXHJcblx0XHRcdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRcdFx0dG9wIDdweFxyXG5cdFx0XHRcdFx0bGVmdCAtMTBweFxyXG5cdFx0XHRhXHJcblx0XHRcdFx0Y29sb3IgJGdyZWVuXHJcblx0XHRcclxuXHRcdGFcclxuXHRcdFx0Y29sb3IgIzc3Nzc3N1xyXG5cdFx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcclxuXHJcblxyXG4uYXNpZGUtbWVudVxyXG5cdHBhZGRpbmctcmlnaHQgMzBweFxyXG5cdEBtZWRpYSAkcGhvbmVcclxuXHRcdGRpc3BsYXkgbm9uZVxyXG5cdFx0Ym94LXNpemluZyBib3JkZXItYm94XHJcblx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0dG9wIDMxcHhcclxuXHRcdGxlZnQgMFxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0ei1pbmRleCAxMFxyXG5cdFx0Ym94LXNoYWRvdyAxcHggMXB4IDNweCAwIHJnYmEoMCwwLDAsMC4xKVxyXG5cdFx0YmFja2dyb3VuZCAjZmZmXHJcblx0XHQuaXMtb3BlbmVkICZcclxuXHRcdFx0ZGlzcGxheSBibG9ja1xyXG5cdGxpXHJcblx0XHRmb250IDIxcHggJ3RpdGxlJ1xyXG5cdFx0bWFyZ2luLWJvdHRvbSAyNXB4XHJcblx0XHQmOmhvdmVyXHJcblx0XHQmLmN1cnJlbnRcclxuXHRcdFx0YVxyXG5cdFx0XHRcdGNvbG9yICRncmVlblxyXG5cdFx0XHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdG1hcmdpbiAwXHJcblx0XHRcdGZvbnQgMThweCAnZGVmYXVsdCdcclxuXHRhXHJcblx0XHRjb2xvciAjNzc3Nzc3XHJcblx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdHRleHQtZGVjb3JhdGlvbiBub25lXHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdGRpc3BsYXkgYmxvY2tcclxuXHRcdFx0cGFkZGluZyAzcHggNXB4XHJcblx0XHRcdGJvcmRlci1ib3R0b20gMXB4IHNvbGlkICNlZWVcclxuXHRcclxuXHQmX19jdXJyZW50XHJcblx0XHRkaXNwbGF5IG5vbmVcclxuXHRcdGJvcmRlciAxcHggc29saWQgJGdyZWVuXHJcblx0XHRwb3NpdGlvbiByZWxhdGl2ZVxyXG5cdFx0cGFkZGluZyA1cHggMTBweFxyXG5cdFx0JjphZnRlclxyXG5cdFx0XHRjb250ZW50ICcnXHJcblx0XHRcdHdpZHRoIDZweFxyXG5cdFx0XHRoZWlnaHQgNnB4XHJcblx0XHRcdGJvcmRlci10b3AgMXB4IHNvbGlkICRncmVlblxyXG5cdFx0XHRib3JkZXItcmlnaHQgMXB4IHNvbGlkICRncmVlblxyXG5cdFx0XHR0cmFuc2Zvcm0gcm90YXRlWigtMjI1ZGVnKVxyXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdFx0dG9wIDEycHhcclxuXHRcdFx0cmlnaHQgMTBweFxyXG5cdFx0XHRcclxuXHRcdFx0LmlzLW9wZW5lZCAmXHJcblx0XHRcdFx0dHJhbnNmb3JtIHJvdGF0ZVooLTQ1ZGVnKVxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHQiLCIudGV4dC1ibG9ja1xyXG5cdHdpZHRoIDEwMCUiLCIubWFpbi1jYXRhbG9nXHJcblx0XHJcblxyXG5cdCZfX2xpc3RcclxuXHRcdGZvbnQtc2l6ZSAwXHJcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxyXG5cdFx0cGFkZGluZy10b3AgNzVweFxyXG5cdFx0QG1lZGlhICR0YWJsZXRcclxuXHRcdFx0cGFkZGluZy10b3AgMjVweFxyXG5cdFx0XHRtYXgtd2lkdGggNzUwcHhcclxuXHRcdFx0bWFyZ2luIDAgYXV0b1xyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRtYXgtd2lkdGggNTAwcHhcclxuXHQmX19pdGVtXHJcblx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xyXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXHJcblx0XHR3aWR0aCAxNS45JVxyXG5cdFx0bWF4LXdpZHRoIDIxMHB4XHJcblx0XHRoZWlnaHQgMzE1cHhcclxuXHRcdGZvbnQtc2l6ZSAxNnB4XHJcblx0XHRwb3NpdGlvbiByZWxhdGl2ZVxyXG5cdFx0Y3Vyc29yIHBvaW50ZXJcclxuXHRcdG1hcmdpbiAwIDJweFxyXG5cdFx0dGV4dC1kZWNvcmF0aW9uIG5vbmVcclxuXHRcclxuXHRcdFx0XHJcblx0XHQmOmFmdGVyXHJcblx0XHRcdGNvbnRlbnQgJydcclxuXHRcdFx0ZGlzcGxheSBibG9ja1xyXG5cdFx0XHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdFx0XHR0b3AgMFxyXG5cdFx0XHRsZWZ0IDBcclxuXHRcdFx0d2lkdGggMTAwJVxyXG5cdFx0XHRoZWlnaHQgMTAwJVxyXG5cdFx0XHRvcGFjaXR5IDBcclxuXHRcdFx0dHJhbnNpdGlvbiBhbGwgLjNzXHJcblx0XHRcdGJhY2tncm91bmQgcmdiYSgwLDAsMCwuNClcclxuXHRcdCY6aG92ZXJcclxuXHRcdFx0JjphZnRlclxyXG5cdFx0XHRcdG9wYWNpdHkgMVxyXG5cdFx0XHJcblx0XHRAbWVkaWEgJHRhYmxldFxyXG5cdFx0XHR3aWR0aCAzMiVcclxuXHRcdFx0bWFyZ2luLXRvcCA2MHB4XHJcblx0XHRcclxuXHRcdEBtZWRpYSAkcGhvbmVcclxuXHRcdFx0d2lkdGggMTAwJVxyXG5cdFx0XHJcblx0Jl9faXRlbV8xXHJcblx0XHRiYWNrZ3JvdW5kIHVybCgvaW1hZ2VzL2NhdGFsb2cvMS5qcGcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0XHJcblx0XHRiYWNrZ3JvdW5kLXNpemUgY292ZXJcclxuXHQmX19pdGVtXzJcclxuXHRcdGJhY2tncm91bmQgdXJsKC9pbWFnZXMvY2F0YWxvZy8yLmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXRcclxuXHRcdGJhY2tncm91bmQtc2l6ZSBjb3ZlclxyXG5cdCZfX2l0ZW1fM1xyXG5cdFx0YmFja2dyb3VuZCB1cmwoL2ltYWdlcy9jYXRhbG9nLzMuanBnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdFxyXG5cdFx0YmFja2dyb3VuZC1zaXplIGNvdmVyXHJcblx0Jl9faXRlbV80XHJcblx0XHRiYWNrZ3JvdW5kIHVybCgvaW1hZ2VzL2NhdGFsb2cvNC5qcGcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0XHJcblx0XHRiYWNrZ3JvdW5kLXNpemUgY292ZXJcclxuXHQmX19pdGVtXzVcclxuXHRcdGJhY2tncm91bmQgdXJsKC9pbWFnZXMvY2F0YWxvZy81LmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXRcclxuXHRcdGJhY2tncm91bmQtc2l6ZSBjb3ZlclxyXG5cdCZfX2l0ZW1fNlxyXG5cdFx0YmFja2dyb3VuZCB1cmwoL2ltYWdlcy9jYXRhbG9nLzYuanBnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdFxyXG5cdFx0YmFja2dyb3VuZC1zaXplIGNvdmVyXHJcblx0Jl9faXRlbV83XHJcblx0XHRiYWNrZ3JvdW5kIHVybCgvaW1hZ2VzL2NhdGFsb2cvNy5qcGcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0XHJcblx0XHRiYWNrZ3JvdW5kLXNpemUgY292ZXJcclxuXHQmX19pdGVtXzhcclxuXHRcdGJhY2tncm91bmQgdXJsKC9pbWFnZXMvY2F0YWxvZy84LmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXRcclxuXHRcdGJhY2tncm91bmQtc2l6ZSBjb3ZlclxyXG5cdCZfX2l0ZW1fOVxyXG5cdFx0YmFja2dyb3VuZCB1cmwoL2ltYWdlcy9jYXRhbG9nLzkuanBnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdFxyXG5cdFx0YmFja2dyb3VuZC1zaXplIGNvdmVyXHJcblx0Jl9faXRlbV8xMFxyXG5cdFx0YmFja2dyb3VuZCB1cmwoL2ltYWdlcy9jYXRhbG9nLzEwLmpwZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXRcclxuXHRcdGJhY2tncm91bmQtc2l6ZSBjb3ZlclxyXG5cdCZfX2l0ZW1fMTFcclxuXHRcdGJhY2tncm91bmQgdXJsKC9pbWFnZXMvY2F0YWxvZy8xMS5qcGcpIGNlbnRlciBjZW50ZXIgbm8tcmVwZWF0XHJcblx0XHRiYWNrZ3JvdW5kLXNpemUgY292ZXJcclxuXHQmX19pdGVtXzEyXHJcblx0XHRiYWNrZ3JvdW5kIHVybCgvaW1hZ2VzL2NhdGFsb2cvMTIuanBnKSBjZW50ZXIgY2VudGVyIG5vLXJlcGVhdFxyXG5cdFx0YmFja2dyb3VuZC1zaXplIGNvdmVyXHJcblx0XHJcblx0Jl9fdGl0bGVcclxuXHRcdGZvbnQgMjFweCAndGl0bGUnXHJcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxyXG5cdFx0cG9zaXRpb24gYWJzb2x1dGVcclxuXHRcdGNvbG9yICRncmVlblxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0bGVmdCAwXHJcblx0XHRib3R0b20gMTAwJVxyXG5cdFx0bWFyZ2luLWJvdHRvbSAxNnB4XHJcblx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdHotaW5kZXggMTBcclxuXHRcdCY6YWZ0ZXJcclxuXHRcdFx0Y29udGVudCAnJ1xyXG5cdFx0XHRkaXNwbGF5IGJsb2NrXHJcblx0XHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHRcdHdpZHRoIDlweFxyXG5cdFx0XHRoZWlnaHQgOXB4XHJcblx0XHRcdGJvcmRlci1yYWRpdXMgNXB4XHJcblx0XHRcdGJvdHRvbSAtMjNweFxyXG5cdFx0XHRsZWZ0IDUwJVxyXG5cdFx0XHRtYXJnaW4tbGVmdCAtNHB4XHJcblx0XHRcdGJhY2tncm91bmQgJGdyZWVuXHJcblx0XHRcdHRyYW5zaXRpb24gYWxsIC41c1xyXG5cdFx0XHJcblx0XHQubWFpbi1jYXRhbG9nX19pdGVtOmhvdmVyICZcclxuXHRcdFx0Y29sb3IgI2ZmZlxyXG5cdFx0XHRib3R0b20gMTM1cHhcclxuXHRcdFx0JjphZnRlclxyXG5cdFx0XHRcdGJhY2tncm91bmQgI2ZmZiIsIi5tYWluLXNlcnZpY2VzXHJcblx0YmFja2dyb3VuZCAjZWJlYmViXHJcblx0XHJcblx0cGFkZGluZy10b3AgMTQwcHhcclxuXHRwYWRkaW5nLWJvdHRvbSAyMTVweFxyXG5cdG1hcmdpbi10b3AgLTEwMHB4XHJcblx0bWFyZ2luLWJvdHRvbSAtMTYwcHhcclxuXHRcclxuXHQmX19saXN0XHJcblx0XHR0ZXh0LWFsaWduIGNlbnRlclxyXG5cclxuXHQmX19pdGVtXHJcblx0XHR3aWR0aCAyODBweFxyXG5cdFx0aGVpZ2h0IDE5MHB4XHJcblx0XHRib3gtc2l6aW5nIGJvcmRlci1ib3hcclxuXHRcdHBhZGRpbmcgMCAyMHB4XHJcblx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xyXG5cdFx0dmVydGljYWwtYWxpZ24gdG9wXHJcblx0XHRwb3NpdGlvbiByZWxhdGl2ZVxyXG5cdFx0Y29sb3IgJGdyZWVuXHJcblx0XHR0cmFuc2l0aW9uIGFsbCAuM3NcclxuXHRcdHRleHQtZGVjb3JhdGlvbiBub25lXHJcblx0XHQmOmhvdmVyXHJcblx0XHRcdGJhY2tncm91bmQgJGdyZWVuXHJcblx0XHRcdGNvbG9yICNmZmZcclxuXHRcdFxyXG5cdCZfX2ljb25cclxuXHRcdG1hcmdpbiAzMHB4IGF1dG8gMTBweFxyXG5cdFxyXG5cdCZfX2ljb25fZGVzaWduXHJcblx0XHRzcHJpdGUgJHMtZGVzaWduXHJcblx0XHQubWFpbi1zZXJ2aWNlc19faXRlbTpob3ZlciAmXHJcblx0XHRcdHNwcml0ZSAkcy1kZXNpZ24td1xyXG5cdCZfX2ljb25fZGVsaXZlcnlcclxuXHRcdHNwcml0ZSAkcy1jYXJcclxuXHRcdC5tYWluLXNlcnZpY2VzX19pdGVtOmhvdmVyICZcclxuXHRcdFx0c3ByaXRlICRzLWNhci13XHJcblx0Jl9faWNvbl9jcmVhdGVcclxuXHRcdHNwcml0ZSAkcy1jcmVhdGVcclxuXHRcdC5tYWluLXNlcnZpY2VzX19pdGVtOmhvdmVyICZcclxuXHRcdFx0c3ByaXRlICRzLWNyZWF0ZS13XHJcblx0XHJcblx0Jl9fdGl0bGVcclxuXHRcdGZvbnQgMjFweC8yOHB4ICd0aXRsZSdcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cclxuXHJcblx0Jl9fbWFza1xyXG5cdFx0YmFja2dyb3VuZCB1cmwoLi4vaW1hZ2UvbWFpbi1zZXJ2aWNlcy1tYXNrLnBuZykgY2VudGVyIGNlbnRlciBuby1yZXBlYXRcclxuXHRcdHBvc2l0aW9uIGFic29sdXRlXHJcblx0XHR0b3AgMFxyXG5cdFx0bGVmdCAwXHJcblx0XHR3aWR0aCAxMDAlXHJcblx0XHRoZWlnaHQgMTAwJVxyXG5cdFx0ei1pbmRleCAxMCIsIi5wYWdlLWZvcm1cclxuXHQmX19mb3JtXHJcblx0XHRwYWRkaW5nLWJvdHRvbSA2MHB4XHJcblx0Jl9fd3JhcHBlclxyXG5cdFx0Zm9udC1zaXplIDBcclxuXHRcdFxyXG5cclxuXHQmX19pbnB1dFxyXG5cdCZfX3RleHRhcmVhXHJcblx0XHRwYWRkaW5nIDdweCAxNXB4XHJcblx0XHRib3gtc2l6aW5nIGJvcmRlci1ib3hcclxuXHRcdGZvbnQtc2l6ZSAxNnB4XHJcblx0XHRib3JkZXIgMnB4IHNvbGlkICRncmVlblxyXG5cdFx0bWFyZ2luLWJvdHRvbSAyMHB4XHJcblx0XHQrcGxhY2Vob2xkZXIoKVxyXG5cdFx0XHRmb250IDE2cHggJ2RlZmF1bHQnXHJcblx0XHRcdGNvbG9yICMzYTNhM2FcclxuXHRcdFxyXG5cdFx0QG1lZGlhICRwaG9uZVxyXG5cdFx0XHRtYXJnaW4tYm90dG9tIDEwcHhcclxuXHRcdFxyXG5cdFx0Ji5pcy1lcnJvclxyXG5cdFx0XHRib3JkZXItY29sb3IgI2Y0NFxyXG5cdFxyXG5cdCZfX2lucHV0XHJcblx0XHR3aWR0aCA0OS4zJVxyXG5cdFx0ZGlzcGxheSBpbmxpbmUtYmxvY2tcclxuXHRcdHZlcnRpY2FsLWFsaWduIHRvcFxyXG5cdFx0XHJcblx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdHdpZHRoIDEwMCVcclxuXHRcdFxyXG5cdFx0JjpmaXJzdC1jaGlsZFxyXG5cdFx0XHRtYXJnaW4tcmlnaHQgMS40JVxyXG5cdFx0XHRAbWVkaWEgJHBob25lXHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0IDBcclxuXHRcdFxyXG5cdFx0LnBhZ2UtZm9ybV9fZm9ybV9jb250YWN0cyAmXHJcblx0XHRcdHdpZHRoIDEwMCVcclxuXHRcdFx0bWFyZ2luLXJpZ2h0IDBcclxuXHRcclxuXHQmX190ZXh0YXJlYVxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0aGVpZ2h0IDg2cHhcclxuXHRcdC5wYWdlLWZvcm1fX2Zvcm1fY29udGFjdHMgJlxyXG5cdFx0XHRoZWlnaHQgMTIwcHhcclxuXHRcclxuXHQmX19zdWJtaXRcclxuXHRcdGZsb2F0IHJpZ2h0XHJcblx0XHR3aWR0aCA0OS4zJVxyXG5cdFx0ei1pbmRleCAxMFxyXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHJcbi5jb250YWN0c1xyXG5cdCZfX3JpZ2h0LWJsb2NrXHJcblx0XHRwYWRkaW5nLXJpZ2h0IDUwcHhcclxuXHRcdGxpbmUtaGVpZ2h0IDEuNSIsIiNjb250YWN0cy1tYXBcclxuXHR3aWR0aCAxMDAlXHJcblx0aGVpZ2h0IDUwMHB4XHJcblx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHRAbWVkaWEgJHBob25lXHJcblx0XHRoZWlnaHQgMzAwcHhcclxuXHJcbi5tYXAtYnRuXHJcblx0d2lkdGggMTQwcHhcclxuXHRwb3NpdGlvbiBhYnNvbHV0ZVxyXG5cdGxlZnQgNDhweFxyXG5cdGJhY2tncm91bmQgJGdyZWVuXHJcblx0Y29sb3IgI2ZmZlxyXG5cdGZvbnQtc2l6ZSAxN3B4XHJcblx0ei1pbmRleCAxMDBcclxuXHRwYWRkaW5nIDEwcHggMjBweFxyXG5cdGJvcmRlciAxcHggc29saWQgJGdyZWVuXHJcblx0dHJhbnNpdGlvbiBhbGwgLjNzXHJcblx0Y3Vyc29yIHBvaW50ZXJcclxuXHQmOmhvdmVyXHJcblx0XHRiYWNrZ3JvdW5kICNmZmZcclxuXHRcdGNvbG9yICRncmVlblxyXG5cdFxyXG5cdEBtZWRpYSAkcGhvbmVcclxuXHRcdHdpZHRoIDEyMHB4XHJcblx0XHRwYWRkaW5nIDVweCAxMHB4XHJcblx0XHRmb250LXNpemUgMTVweFxyXG5cdFx0bGVmdCAxMXB4XHJcblxyXG4ubWFwLWJ0bi0xXHJcblx0dG9wIDUycHhcclxuXHRAbWVkaWEgJHBob25lXHJcblx0XHR0b3AgNDNweFxyXG4ubWFwLWJ0bi0yXHJcblx0dG9wIDEwOXB4XHJcblx0QG1lZGlhICRwaG9uZVxyXG5cdFx0dG9wIDc1cHgiLCIuZ3Vlc3Rib29rXHJcblx0Zm9udC1zaXplIDFyZW1cclxuXHRcclxuXHRpbnB1dFxyXG5cdHRleHRhcmVhXHJcblx0XHRwYWRkaW5nIDdweCAxNXB4XHJcblx0XHRib3gtc2l6aW5nIGJvcmRlci1ib3hcclxuXHRcdGZvbnQtc2l6ZSAxNnB4XHJcblx0XHRib3JkZXIgMnB4IHNvbGlkICRncmVlblxyXG5cdFx0bWFyZ2luLWJvdHRvbSAyMHB4XHJcblx0XHQrcGxhY2Vob2xkZXIoKVxyXG5cdFx0XHRmb250IDE2cHggJ2RlZmF1bHQnXHJcblx0XHRcdGNvbG9yICMzYTNhM2FcclxuXHRcclxuXHRpbnB1dFxyXG5cdFx0d2lkdGggMTAwJVxyXG5cclxuXHR0ZXh0YXJlYVxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0aGVpZ2h0IDgwcHhcclxuXHRcclxuXHQuY29udHJvbC1ncm91cFxyXG5cdFx0d2lkdGggMTAwJVxyXG5cdFx0Ly8gZmxvYXQgbGVmdFxyXG5cdFx0Ly8gd2lkdGggNDkuMyVcclxuXHRcdC8vICY6Zmlyc3QtY2hpbGRcclxuXHRcdFx0Ly8gbWFyZ2luLXJpZ2h0IDEuNCVcclxuXHRcclxuXHRcdC8vIC5jb250cm9sLWdyb3VwX3RleHRhcmVhXHJcblx0XHQvLyBcdHdpZHRoIDEwMCVcclxuXHRcclxuXHQucGd0aXRsZVxyXG5cdFx0Zm9udCAyMXB4ICd0aXRsZSdcclxuXHRcdGxpbmUtaGVpZ2h0IDFcclxuXHRcdGNvbG9yICRncmVlblxyXG5cdFx0bWFyZ2luLXRvcCA1cHhcclxuXHRcdHRleHQtdHJhbnNmb3JtIHVwcGVyY2FzZVxyXG5cdFx0bWFyZ2luLWJvdHRvbSA1cHhcclxuXHRcclxuXHQud2VsbFxyXG5cdFx0bWFyZ2luLWJvdHRvbSAzMHB4XHJcblx0XHRmb250LXNpemUgMTdweFxyXG5cdFx0XHJcblx0LnBnYi1jb250ZW50LWluc2lkZVxyXG5cdFx0b3ZlcmZsb3cgdmlzaWJsZVxyXG5cdFxyXG5cdHBcclxuXHRcdG1hcmdpbi1ib3R0b20gNXB4XHJcblx0XHJcblxyXG5cdC5idG5cclxuXHRcdHdpZHRoIDUwJVxyXG5cdFx0ZGlzcGxheSBibG9ja1xyXG5cdFx0bWFyZ2luLWxlZnQgYXV0b1xyXG5cdFxyXG5cdGg0LnBnYl9mb250XHJcblx0XHRmb250LXNpemUgMjhweFxyXG5cdFx0dGV4dC1hbGlnbiBjZW50ZXJcclxuXHRcdHRleHQtZGVjb3JhdGlvbiB1bmRlcmxpbmVcclxuXHRcdGN1cnNvciBwb2ludGVyXHJcblx0XHJcblx0LmNvbnRyb2wtbGFiZWxcclxuXHRcdGRpc3BsYXkgbm9uZVxyXG5cdFxyXG5cdC5wYWdpbmF0aW9uLXN0YXJ0XHJcblx0LnBhZ2Vjb3VudGVyXHJcblx0LnBhZ2luYXRpb24tcHJldlxyXG5cdC5wYWdpbmF0aW9uLW5leHRcclxuXHQucGFnaW5hdGlvbi1lbmRcclxuXHRcdGRpc3BsYXkgbm9uZSAhaW1wb3J0YW50XHJcblx0XHJcblxyXG5cdC5wYWdpbmF0aW9uXHJcblx0XHRsaVxyXG5cdFx0XHRkaXNwbGF5IGlubGluZS1ibG9ja1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbiB0b3BcclxuXHRcdFx0Zm9udC1zaXplIDIxcHhcclxuXHRcdFx0cGFkZGluZyAwIDEwcHhcclxuXHRcdFxyXG5cdFx0YVxyXG5cdFx0XHRjb2xvciAjNzc3Nzc3XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbiBub25lXHJcblx0XHRcclxuXHRcdHNwYW5cclxuXHRcdFx0Y29sb3IgJGdyZWVuXHJcblxyXG5cclxuLm1haW4tYmxvY2sgLnNrZXRjaGVzIGltZ1xyXG5cdG1hcmdpbiAwIiwiLmZvb3RlclxyXG5cdGJhY2tncm91bmQgJGdyZWVuXHJcblx0dGV4dC1hbGlnbiBjZW50ZXJcclxuXHRjb2xvciAjZmZmXHJcblx0cGFkZGluZy1ib3R0b20gMTBweFxyXG5cdG1hcmdpbi10b3AgMTAwcHhcclxuXHQmX19tYXNrXHJcblx0XHRoZWlnaHQgNThweFxyXG5cdFx0cG9zaXRpb24gcmVsYXRpdmVcclxuXHRcdHRvcCAtNTdweFxyXG5cdFx0bWFyZ2luIDAgYXV0byAtODVweFxyXG5cdFx0bWF4LXdpZHRoIDYzM3B4XHJcblx0XHRiYWNrZ3JvdW5kIHVybCguLi9pbWFnZS9mb290ZXItbWFzay5wbmcpIGNlbnRlciB0b3Agbm8tcmVwZWF0XHJcblx0XHJcblx0Jl9fbG9nb1xyXG5cdFx0d2lkdGggNjJweFxyXG5cdFx0aGVpZ2h0IDM5cHhcclxuXHRcdGJhY2tncm91bmQgdXJsKC4uL2ltYWdlL2Zvb3Rlci1sb2dvLnBuZykgY2VudGVyIHRvcCBuby1yZXBlYXRcclxuXHRcdGJhY2tncm91bmQtc2l6ZSBjb250YWluXHJcblx0XHRtYXJnaW4gMCBhdXRvIDIwcHhcclxuXHJcblx0Jl9fc2xvZ2FuXHJcblx0XHRmb250LXNpemUgMzNweFxyXG5cdFx0Zm9udC1mYW1pbHkgJ3RpdGxlJywgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWZcclxuXHRcdG1hcmdpbi1ib3R0b20gMzVweFxyXG5cdFxyXG5cdCZfX2NvbnRlbnRcclxuXHRcdGZvbnQtc2l6ZSAyMXB4XHJcblx0XHRtYXJnaW4tYm90dG9tIDI1cHhcclxuXHJcblx0Jl9fY29weVxyXG5cdFx0Zm9udC1zaXplIDE2LjdweFxyXG5cdFx0Zm9udC1mYW1pbHkgJ2Z1dHVyYSdcclxuXHRcclxuXHQmX19hZ3JlZW1lbnRcclxuXHRcdHBhZGRpbmcgMTBweCAwXHJcblx0XHRmb250LXNpemUgMTYuN3B4XHJcblx0XHRmb250LWZhbWlseSAnZnV0dXJhJ1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uIHVuZGVybGluZVxyXG5cdFx0Y3Vyc29yIHBvaW50ZXJcclxuXHRhXHJcblx0XHRjb2xvciAjZmZmIl19 */
