/**--------- Start OF Direction Mixin--------*/
/**--------- END OF Direction Mixin--------*/
/**--------- Start OF Margin & Padding Helpers--------*/
/**!**************/
/**! Contents **/
/**! 01. core **/
/**! 02. typography **/
/**! 03. helpers **/
/**! 04. spacing **/
/**! 05. Boxed layout **/
/**! 06. Pattern **/
/**! 07. colors **/
/**! 08. buttons **/
/**! 09. form **/
/**! 10. cards **/
/**! 11. social list **/
/**! 12. language selector **/
/**! 13. icons **/
/**! 14. background-holder **/
/**! 15. section overlap **/
/**! 16. blog post **/
/**! 17. blog sidebar widget **/
/**! 18. blog blockquote **/
/**! 19. blog comments **/
/**! 20. blog navigation **/
/**! 21. pagination **/
/**! 22. sticky elements **/
/**! 23. preloader **/
/**! 24. switchable **/
/**! 25. navigation **/
/**! 26. hero **/
/**! 27. features **/
/**! 28. working process **/
/**! 29. footer **/
/**! 30. themes **/
/**! 31. user custom style **/
/**!**************/
/**!**************/
/**!**************/
/*
*  Framework Components 
=================================
=================================
=================================*/
/**! 01. core **/
body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "Aileron", sans-serif, "Aileron", sans-serif;
  color: #54565a;
  margin: 0;
  overflow-x: hidden;
}

@media (max-width: 991px) {
  html {
    font-size: 87.5%;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

:focus {
  outline: none;
}

a {
  text-decoration: none;
  display: inline-block;
}

a:hover {
  text-decoration: none;
}

ul,
ol {
  list-style: none;
  padding-left: 0;
}

img {
  height: auto;
  max-width: 100%;
  vertical-align: middle;
}

button {
  cursor: pointer;
  padding: 0;
  border: 0;
}

button:focus {
  outline: 0;
}

picture {
  display: inline-block;
}

span {
  display: inline-block;
}

svg {
  display: block;
}

input,
textarea {
  padding: 0;
}

input.placeholder,
textarea.placeholder {
  color: #797c82 !important;
  font-size: 16px;
}

input:-moz-placeholder,
textarea:-moz-placeholder {
  color: #797c82 !important;
  font-size: 16px;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
  color: #797c82 !important;
  font-size: 16px;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #797c82 !important;
  font-size: 16px;
}

input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder {
  color: #797c82 !important;
  font-size: 16px;
}

input:focus,
textarea:focus {
  outline: 0;
}

table {
  border-collapse: collapse;
}

section {
  position: relative;
}

/**! 02. typography **/
h1,
h2,
h3,
h4,
h5,
h6 {
  padding: 0;
  margin: 0;
  font-weight: 700;
  font-family: "Aileron", sans-serif;
}

p {
  font-weight: 400;
  margin: 0;
  padding: 0;
}

.blockquote {
  font-family: "Noto Serif", serif;
  font-style: italic;
}

.blockquote h4 {
  line-height: 3rem;
}

.blockquote h5 {
  line-height: 2.8rem;
}

/**! ----- font Setting (size & line height, spacing etc) ---- **/
.h1-font, h1 {
  font-size: 2.125rem;
  line-height: 1.35;
}

@media (min-width: 768px) {
  .h1-font, h1 {
    font-size: 3.75rem;
    line-height: 1.2;
  }
}

.h2-font, h2 {
  font-size: 2.125rem;
  line-height: 1.35;
}

@media (min-width: 768px) {
  .h2-font, h2 {
    font-size: 3rem;
    line-height: 1.25;
  }
}

.h3-font, h3, .hero__title {
  font-size: 2.125rem;
  line-height: 1.35;
}

.h4-font, h4 {
  font-size: 1.75rem;
  line-height: 1.4;
}

.h5-font, h5 {
  font-size: 1.5rem;
  line-height: 1.6;
}

.h6-font, h6, .blockquote {
  font-size: 1.125rem;
  line-height: 1.9;
}

.lead {
  font-size: 1.125rem;
  line-height: 1.9;
  font-weight: 600;
}

.body-font, p {
  font-size: 1rem;
  line-height: 1.75;
}

.font-size-14 {
  font-size: 0.875rem;
}

.font-size-21 {
  font-size: 1.3125rem;
}

.type--underline {
  text-decoration: underline;
}

.type--fine-print {
  font-size: 0.875rem;
}

.font-space-1 {
  letter-spacing: 1.3px;
}

.bullet {
  display: list-item;
}

.form + span.type--fine-print,
.button-group + span.type--fine-print,
.btn + span.type--fine-print {
  margin-top: 0.8125rem;
}

/**! ----- Font weight ---- **/
.font-w-300 {
  font-weight: 300 !important;
}

.font-w-400 {
  font-weight: 400 !important;
}

.font-w-500 {
  font-weight: 500 !important;
}

.font-w-600 {
  font-weight: 600 !important;
}

.font-w-700 {
  font-weight: 700 !important;
}

.font-w-900 {
  font-weight: 900 !important;
}

/**! 03. helpers **/
/**! ----- overflow---- **/
.hidden {
  overflow: hidden;
}

/**! ----- Z Index---- **/
.z-index1 {
  z-index: 1;
}

.z-index2 {
  z-index: 2;
}

.z-index-1 {
  z-index: -1;
}

.z-index-2 {
  z-index: -2;
}

/**! ----- border radius---- **/
.rounded-default, .btn, .form-control, .lang-selector .lang-dropdown, .lang-selector .lang-dropdown__item, .dropdown-menu, .dropdown-menu > li {
  border-radius: 0.3125rem;
}

.rounded-sm, .dropdown-item {
  border-radius: 0.1875rem;
}

.rounded-md {
  border-radius: 0.625rem;
}

.rounded-lg {
  border-radius: 0.9375rem;
}

.rounded-full {
  border-radius: 6.25rem;
}

/**! ----- Position ---- **/
.pos-abs-top {
  position: absolute !important;
  top: 0;
  right: auto;
  bottom: auto;
  left: auto;
}

.pos-abs-bottom {
  position: absolute !important;
  top: auto;
  right: auto;
  bottom: 0;
  left: auto;
}

@media (min-width: 992px) {
  .pos-abs-lg-bottom {
    position: absolute !important;
    top: auto;
    right: auto;
    bottom: 0;
    left: auto;
  }
}

.pos-abs-bottom-left {
  position: absolute !important;
  top: auto;
  right: auto;
  bottom: 0;
  left: 0;
}

.pos-abs-bottom-right {
  position: absolute !important;
  top: auto;
  right: 0;
  bottom: 0;
  left: auto;
}

.pos-abs-top-right {
  position: absolute !important;
  top: 0;
  right: 0;
  bottom: auto;
  left: auto;
}

.pos-abs-top-left {
  position: absolute !important;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
}

.pos-center {
  position: absolute !important;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}

.pos-horizon-center {
  position: absolute !important;
  left: 50%;
  -webkit-transform: translate(-50%, 0);
      -ms-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

.pos-vertical-center {
  position: absolute !important;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
}

@media (min-width: 992px) {
  .pos-abs-lg-top-right {
    position: absolute !important;
    top: 0;
    right: 0;
    bottom: auto;
    left: auto;
  }
  .pos-abs-lg-top-left {
    position: absolute !important;
    top: 0;
    right: auto;
    bottom: auto;
    left: 0;
  }
}

.pos-fixed-bottom {
  position: fixed;
  bottom: 0;
  right: 0;
  left: 0;
}

/**! ----- Opacity ---- **/
.opacity-05 {
  opacity: .05;
}

.opacity-10 {
  opacity: .10;
}

.opacity-20 {
  opacity: .20;
}

.opacity-30 {
  opacity: .30;
}

/**! ----- Border---- **/
.border-bottom-light, .features .swipe-tabs, .features .tab-content__list {
  border-bottom: 1px solid #e7eaee;
}

[data-theme=dark] .border-bottom-light, [data-theme=dark] .features .swipe-tabs, .features [data-theme=dark] .swipe-tabs, [data-theme=dark] .features .tab-content__list, .features [data-theme=dark] .tab-content__list,
.bg-color-darkblue .border-bottom-light,
.bg-color-darkblue .features .swipe-tabs,
.features .bg-color-darkblue .swipe-tabs,
.bg-color-darkblue .features .tab-content__list,
.features .bg-color-darkblue .tab-content__list {
  border-bottom: 1px solid #151c32;
}


.bg-color-darkblue .border-bottom-light,
.bg-color-darkblue .features .swipe-tabs,
.features .bg-color-darkblue .swipe-tabs,
.bg-color-darkblue .features .tab-content__list,
.features .bg-color-darkblue .tab-content__list {
  border-bottom: 1px solid #1E2745;
}

.bg-color-primary .border-bottom-light, .bg-color-primary .features .swipe-tabs, .features .bg-color-primary .swipe-tabs, .bg-color-primary .features .tab-content__list, .features .bg-color-primary .tab-content__list {
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.border-none {
  border: 0;
}

.outline-light {
  -webkit-box-shadow: 0 0 0px 1px #e7eaee;
          box-shadow: 0 0 0px 1px #e7eaee;
}

/**! ----- height emulator---- **/
.height-emulator {
  float: left;
}

/**! ----- transition---- **/
.transition-default {
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

/**! ----- box shadow---- **/
.box-shadow-1, .form-subscription .form-control, .form-subscription .form-control:focus, .navbar-sticky--on {
  -webkit-box-shadow: 0 0.1875rem 0.3125rem 0 rgba(44, 46, 48, 0.1);
          box-shadow: 0 0.1875rem 0.3125rem 0 rgba(44, 46, 48, 0.1);
}

.box-shadow-2, .btn-3d-hover:hover, .btn-3d-hover:focus, .lang-selector .lang-dropdown, .dropdown-menu {
  -webkit-box-shadow: 0 0.5rem 1.875rem rgba(0, 0, 0, 0.15);
          box-shadow: 0 0.5rem 1.875rem rgba(0, 0, 0, 0.15);
}

/**! ----- Divider---- **/
.hr--blod {
  border-width: 2px;
}

/**! ----- Height---- **/
.h-100vh {
  height: 100vh;
}

@media (min-width: 992px) {
  .h-lg-100vh {
    height: 100vh;
  }
}

/**! 04. spacing **/
.space {
  padding-top: 8rem;
  padding-bottom: 8rem;
}

.space--md {
  padding-top: 7.27273rem;
  padding-bottom: 7.27273rem;
}

.space--lg {
  padding-top: 12rem;
  padding-bottom: 12rem;
}

.space--xl {
  padding-top: 20rem;
  padding-bottom: 20rem;
}

.space-top {
  padding-top: 8rem;
}

.space-top--md {
  padding-top: 7.27273rem;
}

.space-top--lg {
  padding-top: 12rem;
}

.space-top--xl {
  padding-top: 20rem;
}

.space-bottom {
  padding-bottom: 8rem;
}

.space-bottom--md {
  padding-bottom: 7.27273rem;
}

.space-bottom--lg {
  padding-bottom: 12rem;
}

.space-bottom--xl {
  padding-bottom: 20rem;
}

@media (max-width: 991px) {
  .space {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .space--md {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .space--lg {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .space--xl {
    padding-top: 4rem;
    padding-bottom: 4rem;
  }
  .space-top {
    padding-top: 4rem;
  }
  .space-top--md {
    padding-top: 4rem;
  }
  .space-top--lg {
    padding-top: 4rem;
  }
  .space-top--xl {
    padding-top: 4rem;
  }
  .space-bottom {
    padding-bottom: 4rem;
  }
  .space-bottom--md {
    padding-bottom: 4rem;
  }
  .space-bottom--lg {
    padding-bottom: 4rem;
  }
  .space-bottom--xl {
    padding-bottom: 5.33333rem;
  }
}

/**--------- START OF SPACING HELPER MIXINS --------*/
.mt-10 {
  margin-top: 0.625rem;
}

.pt-10 {
  padding-top: 0.625rem;
}

.mb-10 {
  margin-bottom: 0.625rem;
}

.pb-10 {
  padding-bottom: 0.625rem;
}

.mr-10 {
  margin-right: 0.625rem;
}

.pr-10 {
  padding-right: 0.625rem;
}

.ml-10 {
  margin-left: 0.625rem;
}

.pl-10 {
  padding-left: 0.625rem;
}

.mt-20 {
  margin-top: 1.25rem;
}

.pt-20 {
  padding-top: 1.25rem;
}

.mb-20 {
  margin-bottom: 1.25rem;
}

.pb-20 {
  padding-bottom: 1.25rem;
}

.mr-20 {
  margin-right: 1.25rem;
}

.pr-20 {
  padding-right: 1.25rem;
}

.ml-20 {
  margin-left: 1.25rem;
}

.pl-20 {
  padding-left: 1.25rem;
}

.mt-30 {
  margin-top: 1.875rem;
}

.pt-30 {
  padding-top: 1.875rem;
}

.mb-30 {
  margin-bottom: 1.875rem;
}

.pb-30 {
  padding-bottom: 1.875rem;
}

.mr-30 {
  margin-right: 1.875rem;
}

.pr-30 {
  padding-right: 1.875rem;
}

.ml-30 {
  margin-left: 1.875rem;
}

.pl-30 {
  padding-left: 1.875rem;
}

.mt-40 {
  margin-top: 2.5rem;
}

.pt-40 {
  padding-top: 2.5rem;
}

.mb-40 {
  margin-bottom: 2.5rem;
}

.pb-40 {
  padding-bottom: 2.5rem;
}

.mr-40 {
  margin-right: 2.5rem;
}

.pr-40 {
  padding-right: 2.5rem;
}

.ml-40 {
  margin-left: 2.5rem;
}

.pl-40 {
  padding-left: 2.5rem;
}

.mt-50 {
  margin-top: 3.125rem;
}

.pt-50 {
  padding-top: 3.125rem;
}

.mb-50 {
  margin-bottom: 3.125rem;
}

.pb-50 {
  padding-bottom: 3.125rem;
}

.mr-50 {
  margin-right: 3.125rem;
}

.pr-50 {
  padding-right: 3.125rem;
}

.ml-50 {
  margin-left: 3.125rem;
}

.pl-50 {
  padding-left: 3.125rem;
}

.mt-60 {
  margin-top: 3.75rem;
}

.pt-60 {
  padding-top: 3.75rem;
}

.mb-60 {
  margin-bottom: 3.75rem;
}

.pb-60 {
  padding-bottom: 3.75rem;
}

.mr-60 {
  margin-right: 3.75rem;
}

.pr-60 {
  padding-right: 3.75rem;
}

.ml-60 {
  margin-left: 3.75rem;
}

.pl-60 {
  padding-left: 3.75rem;
}

.mt-70 {
  margin-top: 4.375rem;
}

.pt-70 {
  padding-top: 4.375rem;
}

.mb-70 {
  margin-bottom: 4.375rem;
}

.pb-70 {
  padding-bottom: 4.375rem;
}

.mr-70 {
  margin-right: 4.375rem;
}

.pr-70 {
  padding-right: 4.375rem;
}

.ml-70 {
  margin-left: 4.375rem;
}

.pl-70 {
  padding-left: 4.375rem;
}

.mt-80 {
  margin-top: 5rem;
}

.pt-80 {
  padding-top: 5rem;
}

.mb-80 {
  margin-bottom: 5rem;
}

.pb-80 {
  padding-bottom: 5rem;
}

.mr-80 {
  margin-right: 5rem;
}

.pr-80 {
  padding-right: 5rem;
}

.ml-80 {
  margin-left: 5rem;
}

.pl-80 {
  padding-left: 5rem;
}

.mt-90 {
  margin-top: 5.625rem;
}

.pt-90 {
  padding-top: 5.625rem;
}

.mb-90 {
  margin-bottom: 5.625rem;
}

.pb-90 {
  padding-bottom: 5.625rem;
}

.mr-90 {
  margin-right: 5.625rem;
}

.pr-90 {
  padding-right: 5.625rem;
}

.ml-90 {
  margin-left: 5.625rem;
}

.pl-90 {
  padding-left: 5.625rem;
}

.mt-100 {
  margin-top: 6.25rem;
}

.pt-100 {
  padding-top: 6.25rem;
}

.mb-100 {
  margin-bottom: 6.25rem;
}

.pb-100 {
  padding-bottom: 6.25rem;
}

.mr-100 {
  margin-right: 6.25rem;
}

.pr-100 {
  padding-right: 6.25rem;
}

.ml-100 {
  margin-left: 6.25rem;
}

.pl-100 {
  padding-left: 6.25rem;
}

@media (max-width: 767px) {
  .mb-sm-50 {
    margin-bottom: 3.125rem;
  }
  .mb-sm-60 {
    margin-bottom: 3.75rem;
  }
}

/**! 05. Boxed layout **/
/*---- Boxed Layout ----*/
body.boxed-layout {
  background: #f8f9fb;
  background-repeat: repeat;
}

body.boxed-layout .main {
  max-width: 1366px;
  margin-right: auto;
  margin-left: auto;
  -webkit-box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
          box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
  position: relative;
  overflow: hidden;
}

body.boxed-layout .navbar {
  max-width: 1366px;
  margin-right: auto;
  margin-left: auto;
}

body.boxed-layout .footer--fixed {
  position: relative;
  z-index: initial;
}

body.boxed-layout .height-emulator {
  display: none;
}

/**! 06. Pattern **/
body.boxed-layout.swirl-pattern {
  background-image: url(..//img/patterns/swirl-pattern.png);
}

body.boxed-layout.circle-pattern {
  background-image: url(..//img/patterns/circle-pattern.png);
}

body.boxed-layout.x-pattern {
  background-image: url(..//img/patterns/x-pattern.png);
}

body.boxed-layout.leaf-pattern {
  background-image: url(..//img/patterns/leaf-pattern.png);
}

body.boxed-layout.tic-tac-toe {
  background-image: url(..//img/patterns/tic-tac-toe.png);
}

body.boxed-layout.circles-light {
  background-image: url(..//img/patterns/circles-light.png);
}

body.boxed-layout.spiration-light {
  background-image: url(..//img/patterns/spiration-light.png);
}

body.boxed-layout.round-pattern {
  background-image: url(..//img/patterns/round-pattern.png);
}

body.boxed-layout.dark-angles {
  background-image: url(..//img/patterns/dark-angles.png);
}

body.boxed-layout.memphis-colorful {
  background-image: url(..//img/patterns/memphis-colorful.png);
}

body.boxed-layout.spiration-dark {
  background-image: url(..//img/patterns/spiration-dark.png);
}

body.boxed-layout.curls {
  background-image: url(..//img/patterns/curls.png);
}

body.boxed-layout.darkness {
  background-image: url(..//img/patterns/darkness.png);
}

body.boxed-layout.zig-zag-wool {
  background-image: url(..//img/patterns/zig-zag-wool.png);
}

/**! 07. colors **/
/**! ----- Common colors (SCSS extend) ---- **/
.bg-color-primary, .btn--bg-primary, .navbar-sticky--on .btn, .btn--bg-grey:hover, .btn--outline:hover, .btn--outline-thick:hover, .btn-border-hover.btn--color-white:before, .card--focused, .card--outline:hover, .card--outline:focus, .social-lists li a:hover, .media-player-icon--fill-primary, .oval, .slick-active .slick-dots--long, .pagination .page-item.active .page-link {
  background: #2f5bea;
}

.color-primary, .hero-content .btn:hover .media-player-icon--fill-grey, .btn--bg-white:hover, .btn--color-primary, .btn--color-primary:hover, .btn--color-dark.btn-text-hover:hover, .btn--outline.btn--color-primary, .btn--outline-thick.btn--color-primary, .btn-text-hover:hover, .card--focused .btn__text, .lang-selector .lang-dropdown__item:focus, .lang-selector .lang-dropdown__item:hover, .icon-rounded .icon, .media-player-icon--fill-grey:hover, .btn:hover .media-player-icon--fill-grey i, .pagination .page-item .page-link:hover, .dropdown-item:focus, .dropdown-item:hover, .dropdown-item.active, .dropdown-item:active, .features--slider-2 .slick-arrow:hover i, .footer-widget ul li a:hover, .footer .nav li a:hover {
  color: #2f5bea;
}

.features .swipe-tab.active-tab .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #2f5bea;
          box-shadow: 0px 2px 0px #2f5bea;
}

.border-primary, .hr--blod, .btn--color-primary, .btn--color-dark.btn-text-hover:hover, .btn--outline:hover, .btn--outline-thick:hover, .btn-text-hover:hover {
  border-color: #2f5bea;
}

/**! ----- svg fill color ---- **/
.bg-fill-primary {
  fill: #2f5bea;
}

/**! ----- light theme theme background ---- **/
.main {
  background: #fff;
}

/**! ----- Dark theme color ---- **/
[data-theme=dark] {
  color: #7e8085;
}

[data-theme=dark] .main {
  background: #01081f;
}

/**! ----- Color palette ---- **/
.bg-color-midnight {
  background: #01081f;
}

.bg-color-darkblue {
  background: #151c32;
}

.bg-color-darkgrey {
  background: #2D3136;
}

.bg-color-grey {
  background-color: #f6f8f9;
}

.bg-color-coral {
  background-color: #fc5c42;
}

.bg-color-coral.badge {
  color: #fff;
}

.bg-gradient-1 {
  background: -webkit-linear-gradient(135deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
  background: -o-linear-gradient(135deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
  background: linear-gradient(-45deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
}

.bg-gradient-2 {
  background: -webkit-gradient(linear, left top, right top, from(#0099FF), to(#6610f2));
  background: -webkit-linear-gradient(left, #0099FF 0%, #6610f2 100%);
  background: -o-linear-gradient(left, #0099FF 0%, #6610f2 100%);
  background: linear-gradient(90deg, #0099FF 0%, #6610f2 100%);
}

.bg-gradient-3 {
  background: -webkit-linear-gradient(300deg, #2d1582 0%, #19a0ff 100%);
  background: -o-linear-gradient(300deg, #2d1582 0%, #19a0ff 100%);
  background: linear-gradient(150deg, #2d1582 0%, #19a0ff 100%);
}

.bg-gradient-4 {
  background: -webkit-gradient(linear, left top, right top, from(#642B73), to(#C6426E));
  background: -webkit-linear-gradient(left, #642B73 0%, #C6426E 100%);
  background: -o-linear-gradient(left, #642B73 0%, #C6426E 100%);
  background: linear-gradient(to right, #642B73 0%, #C6426E 100%);
}

.bg-gradient-5 {
  background: -webkit-linear-gradient(300deg, #1A6B89 0%, #2A7871 100%);
  background: -o-linear-gradient(300deg, #1A6B89 0%, #2A7871 100%);
  background: linear-gradient(150deg, #1A6B89 0%, #2A7871 100%);
}

.bg-gradient-6 {
  background: -webkit-linear-gradient(224deg, #C86DD7 0%, #3023AE 100%);
  background: -o-linear-gradient(224deg, #C86DD7 0%, #3023AE 100%);
  background: linear-gradient(-134deg, #C86DD7 0%, #3023AE 100%);
}

.color-white {
  color: #fff;
}

[data-theme=dark] .color-white {
  color: #fff;
}

.color-light-primary {
  color: #2c2e30 !important;
}

.color-light-secondary, .btn--outline, .btn--outline-thick {
  color: #54565a;
}

[data-theme=dark] .color-light-secondary, [data-theme=dark] .btn--outline, [data-theme=dark] .btn--outline-thick {
  color: #54565a;
}

.color-light-secondary-2 {
  color: #7e8085;
}

[data-theme=dark] .color-light-secondary-2 {
  color: #7e8085;
}

.icon-color-white {
  color: #fff;
}

.icon-color-white * {
  color: #fff;
}

/**! ----- Typography Color Settings ---- **/
h1,
h2,
h3,
h4,
h5,
h6 {
  color: #2c2e30;
}

.bg-color-primary h1,
[class*="bg-gradient"] h1, .bg-color-primary
h2,
[class*="bg-gradient"]
h2, .bg-color-primary
h3,
[class*="bg-gradient"]
h3 {
  color: #2c2e30;
}

[data-theme=dark] h1,
[data-theme=dark] h2,
[data-theme=dark] h3,
[data-theme=dark] h4,
.bg--dark h1,
.bg--dark h2,
.bg--dark h3,
.bg--dark h4,
.bg-color-darkblue h1,
.bg-color-darkblue h2,
.bg-color-darkblue h3,
.bg-color-darkblue h4,
.bg-color-darkgrey h1,
.bg-color-darkgrey h2,
.bg-color-darkgrey h3,
.bg-color-darkgrey h4 {
  color: #fff;
}

p {
  color: #54565a;
}

[data-theme=dark] p,
.bg--dark p,
.bg-color-darkgrey p,
.bg-color-darkblue p {
  color: #7e8085;
}

.bg-color-primary p,
[class*="bg-gradient"] p {
  color: #D2D5DA;
}

.lead {
  color: #7e8085;
}

.bg-color-primary .lead,
[class*="bg-gradient"] .lead {
  color: #e3e4e6;
}

.bg-color-primary .type--fine-print,
[class*="bg-gradient"] .type--fine-print {
  color: #D2D5DA;
}

.bg--dark .blockquote,
.bg-color-darkgrey .blockquote,
.bg-color-darkblue .blockquote {
  color: #e3e4e6;
}

.bg--dark .blockquote h4,
.bg--dark .blockquote h5,
.bg-color-darkgrey .blockquote h4,
.bg-color-darkgrey .blockquote h5,
.bg-color-darkblue .blockquote h4,
.bg-color-darkblue .blockquote h5 {
  color: #e3e4e6;
}

/**! 08. buttons **/
.btn {
  border: 0;
  outline: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 1rem;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1rem 2.375rem;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  position: relative;
  z-index: 1;
}

/**! ----- button size ---- **/
.btn--sm {
  padding: 0.8125rem 1.25rem;
  font-size: 0.8125rem;
}

/**! ----- button background color ---- **/
.btn--transparent {
  background: transparent;
  padding: 0;
  font-size: 1.0625rem;
  border-radius: 0;
  text-transform: inherit;
}

.btn--transparent:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.btn + .btn--transparent {
  margin-left: 1.5625rem;
}

.btn--bg-primary, .navbar-sticky--on .btn {
  color: #fff;
}

.btn--bg-primary:hover, .navbar-sticky--on .btn:hover {
  color: #fff;
}

.btn--bg-white {
  background: #fff;
}

.btn--bg-grey {
  background: #f6f8f9;
}

.btn--bg-grey:hover {
  color: #fff !important;
}

.btn--bg-coral {
  background: #fc5c42;
  color: #fff;
}

.btn--bg-coral:hover {
  color: #fff !important;
}

.btn--bg-yellow {
  background: #f5e658;
  color: #2c2e30;
}

.btn--bg-yellow:hover {
  color: #2c2e30 !important;
}

/**! ----- button text color ---- **/
.btn--color-primary.btn-text-hover:hover {
  opacity: .8;
}

.btn--color-dark {
  color: #2c2e30;
  border-color: #2c2e30;
}

.btn--color-white {
  color: #fff;
  border-color: #fff;
}

.btn--color-grey {
  color: #7e8085;
  border-color: #7e8085;
}

.btn--color-coral {
  color: #fc5c42;
  border-color: #fc5c42;
}

/**! ----- button outline (border all around the button) style ---- **/
.btn--outline {
  border: 1px solid #e3e4e6;
}

.btn--outline:hover {
  color: #fff !important;
}

.btn--outline-thick {
  border: 2px solid #e3e4e6;
}

.btn--outline-thick:hover {
  color: #fff !important;
}

/**! ----- button border (border bottom) style ---- **/
.btn--underline {
  padding: 0;
  font-size: 1.0625rem;
  border-bottom: 1px solid;
  border-radius: 0;
  text-transform: inherit;
}

.btn--underline:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

@media (min-width: 576px) {
  .btn + .btn--underline {
    margin-left: 1.5625rem !important;
  }
}

/**! ----- button arrow style ---- **/
.btn--arrow-after {
  background: url(../img/tail-right.svg) no-repeat center right;
}

.btn--arrow-after.btn--color-white {
  background: url(../img/tail-right-light.svg) no-repeat center right;
}

/**! ----- button badge (check pricing tab on home v2) ---- **/
.btn .badge {
  -webkit-transform: translate(50%, -50%);
      -ms-transform: translate(50%, -50%);
          transform: translate(50%, -50%);
}

/**! ----- button group (when multiple button in a row) style reset---- **/
.button-group {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

@media (max-width: 575px) {
  .button-group {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
  }
  .button-group .btn {
    margin: 0.375rem 0;
  }
}

@media (max-width: 575px) {
  .btn + .btn:last-child {
    margin-top: 0.625rem;
  }
}

@media (min-width: 576px) {
  .btn + .btn:last-child {
    margin-left: 0.625rem;
  }
}

.pricing-tab .btn + .btn:last-child {
  margin-top: 0;
}

/**! ----- button focus disable ---- **/
.btn-no-focused:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

/**! ----- button hover style ---- **/
.btn-3d-hover:hover, .btn-3d-hover:focus {
  -webkit-transform: translateY(-3px);
      -ms-transform: translateY(-3px);
          transform: translateY(-3px);
}

.btn-splash-hover {
  position: relative;
  overflow: hidden;
}

.btn-splash-hover:before {
  content: "";
  position: absolute !important;
  top: -40px;
  right: auto;
  bottom: auto;
  left: -100px;
  height: 220px;
  width: 50px;
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(1%, rgba(255, 255, 255, 0.03)), color-stop(30%, rgba(255, 255, 255, 0.6)), color-stop(50%, rgba(255, 255, 255, 0.85)), color-stop(70%, rgba(255, 255, 255, 0.85)), color-stop(71%, rgba(255, 255, 255, 0.85)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 1%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.85) 70%, rgba(255, 255, 255, 0.85) 71%, rgba(255, 255, 255, 0) 100%);
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 1%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.85) 70%, rgba(255, 255, 255, 0.85) 71%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 1%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.85) 70%, rgba(255, 255, 255, 0.85) 71%, rgba(255, 255, 255, 0) 100%);
  z-index: -1;
  opacity: .1;
  -webkit-transform: skew(-12deg, 0deg);
      -ms-transform: skew(-12deg, 0deg);
          transform: skew(-12deg, 0deg);
  -webkit-transition: .5s ease 0s;
  -o-transition: .5s ease 0s;
  transition: .5s ease 0s;
  visibility: hidden;
}

.btn-splash-hover.btn--bg-white:before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(84, 95, 117, 0)), color-stop(1%, rgba(84, 95, 117, 0.03)), color-stop(30%, rgba(84, 95, 117, 0.4)), color-stop(50%, rgba(84, 95, 117, 0.85)), color-stop(70%, rgba(84, 95, 117, 0.75)), color-stop(71%, rgba(84, 95, 117, 0.75)), to(rgba(84, 95, 117, 0)));
  background: -webkit-linear-gradient(left, rgba(84, 95, 117, 0) 0%, rgba(84, 95, 117, 0.03) 1%, rgba(84, 95, 117, 0.4) 30%, rgba(84, 95, 117, 0.85) 50%, rgba(84, 95, 117, 0.75) 70%, rgba(84, 95, 117, 0.75) 71%, rgba(84, 95, 117, 0) 100%);
  background: -o-linear-gradient(left, rgba(84, 95, 117, 0) 0%, rgba(84, 95, 117, 0.03) 1%, rgba(84, 95, 117, 0.4) 30%, rgba(84, 95, 117, 0.85) 50%, rgba(84, 95, 117, 0.75) 70%, rgba(84, 95, 117, 0.75) 71%, rgba(84, 95, 117, 0) 100%);
  background: linear-gradient(to right, rgba(84, 95, 117, 0) 0%, rgba(84, 95, 117, 0.03) 1%, rgba(84, 95, 117, 0.4) 30%, rgba(84, 95, 117, 0.85) 50%, rgba(84, 95, 117, 0.75) 70%, rgba(84, 95, 117, 0.75) 71%, rgba(84, 95, 117, 0) 100%);
}

.btn-splash-hover:hover:before {
  left: 100%;
  visibility: visible;
  -webkit-transition: .5s ease .2s;
  -o-transition: .5s ease .2s;
  transition: .5s ease .2s;
}

.btn-border-hover {
  position: relative;
}

.btn-border-hover:before {
  position: absolute !important;
  top: auto;
  right: auto;
  bottom: -2px;
  left: 0px;
  content: "";
  height: 2px;
  width: 0;
  background: #2c2e30;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.btn-border-hover.btn--color-white:hover {
  color: #fff;
}

.btn-border-hover:hover {
  color: #2c2e30;
}

.btn-border-hover:hover:before {
  width: 100%;
}

.btn-text-hover.btn--color-white:hover {
  color: #d9d9d9 !important;
  border-color: #cccccc !important;
}

/**! 09. form **/
.form-row {
  margin-right: -10px;
  margin-left: -10px;
}

.form .form-row > .col, .form .form-row > [class*="col-"] {
  padding-right: 10px;
  padding-left: 10px;
}

.form-control {
  background: #fff;
  color: #2c2e30;
  padding: 0rem 1.5625rem;
  font-size: 1.125rem;
  border: none;
  -webkit-box-shadow: 0 0 0 1px #ddd;
          box-shadow: 0 0 0 1px #ddd;
  width: 100%;
  height: 4.6875rem;
  line-height: 4.6875rem;
}

.form--sm .form-control {
  height: 3.4375rem;
  line-height: 3.4375rem;
}

.form-control:focus {
  -webkit-box-shadow: 0 0 0 1px #ddd;
          box-shadow: 0 0 0 1px #ddd;
  outline: none;
  border: none;
}

.form textarea.form-control {
  height: auto;
}

.form .label-control {
  color: #2c2e30;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 0.8125rem;
}

.form .btn:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

/**! ----- Newsletter Subscription form---- **/
.form-subscription .btn {
  height: 4.6875rem;
  border-left: 1px solid #e7eaee;
  position: absolute !important;
  top: 0;
  right: 0;
  bottom: 0;
  left: auto;
  z-index: 5;
}

@media (max-width: 575px) {
  .form-subscription .btn {
    padding-right: 1.0625rem;
    padding-left: 1.0625rem;
    font-size: 0.875rem;
  }
}

.form-subscription.form--sm .btn {
  height: 3.4375rem;
  font-size: 0.875rem;
}

/**! 10. cards **/
.card {
  -webkit-box-shadow: 0 2px 4px 0 rgba(44, 46, 48, 0.08);
          box-shadow: 0 2px 4px 0 rgba(44, 46, 48, 0.08);
}

[data-theme=dark] .card .border-bottom-light, [data-theme=dark] .card .features .swipe-tabs, .features [data-theme=dark] .card .swipe-tabs, [data-theme=dark] .card .features .tab-content__list, .features [data-theme=dark] .card .tab-content__list {
  border-bottom: 1px solid #e7eaee;
}

.card-footer {
  background: #fff;
  border-color: #e7eaee;
}

.card .avatar {
  max-width: 2.25rem;
}

.card .avatar img {
  border-radius: 100px;
}

.card .blockquote p {
  color: #7e8085;
}

/**! ----- Card Focused (for example see pricing area) ---- **/
.card--focused * {
  color: #fff;
}

[data-theme=dark] .card--focused * {
  color: #fff;
}

.card--focused .border-bottom-light, .card--focused .features .swipe-tabs, .features .card--focused .swipe-tabs, .card--focused .features .tab-content__list, .features .card--focused .tab-content__list {
  border-color: rgba(0, 0, 0, 0.15);
}

[data-theme=dark] .card--focused .border-bottom-light, [data-theme=dark] .card--focused .features .swipe-tabs, .features [data-theme=dark] .card--focused .swipe-tabs, [data-theme=dark] .card--focused .features .tab-content__list, .features [data-theme=dark] .card--focused .tab-content__list {
  border-color: rgba(0, 0, 0, 0.15);
}

.card--focused .btn {
  background: #fff !important;
}

.card--focused p {
  color: #e7eaee;
}

.card--focused .icon-rounded {
  background: rgba(255, 255, 255, 0.2);
}

.card--focused .icon-rounded .icon {
  color: #fff !important;
}

/**! ----- Card outline (for example see xPider 2.0 - Cairo hero area) ---- **/
.card--outline {
  background: transparent;
  -webkit-box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.15);
          box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.15);
}

.card--outline span {
  border-bottom: 2px solid rgba(255, 255, 255, 0.14);
}

.card--outline i {
  font-size: 3.4375rem;
}

.card--outline:hover, .card--outline:focus {
  -webkit-box-shadow: none;
          box-shadow: none;
}

.card__value--focused {
  display: none;
}

/**! 11. social list **/
.social-lists li a {
  font-size: 0.875rem;
  height: 1.875rem;
  width: 1.875rem;
  line-height: 1.875rem;
  border-radius: 100px;
  background: #545f75;
  color: #fff;
  text-align: center;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.social-lists li:not(:last-child) {
  margin-right: 0.625rem;
}

/**! 12. language selector **/
.lang-selector {
  /**! ----- language selctor dropdown---- **/
}

.lang-selector__button {
  background: transparent;
  padding: 0;
  font-size: 0.875rem;
}

.lang-selector__button .flag-image {
  margin-right: 0.625rem;
  max-height: 1.25rem;
}

.lang-selector__button span {
  margin-right: 0.3125rem;
  font-weight: 700;
  color: #54565a;
}

[data-theme=dark] .lang-selector__button span {
  color: #7e8085;
}

[data-theme=dark] .lang-selector__button i {
  color: #7e8085;
}

.lang-selector .lang-dropdown {
  border: 0;
  padding: 0.625rem;
  margin: 0;
  position: absolute !important;
  top: auto;
  right: auto;
  bottom: 40px;
  left: 0;
  background: #fff;
  display: block;
  min-width: 12.5rem;
  display: none;
}

.lang-selector .lang-dropdown:before {
  content: '';
  position: absolute !important;
  top: auto;
  right: auto;
  bottom: -10px;
  left: 20px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-top: 10px solid #fff;
}

@media (min-width: 768px) {
  .lang-selector .lang-dropdown {
    position: absolute !important;
    top: auto;
    right: auto;
    bottom: 50px;
    left: 0;
  }
}

.lang-selector .lang-dropdown__item {
  padding: 0.75rem;
  text-transform: uppercase;
  font-size: 0.875rem;
  font-weight: 700;
  color: #2c2e30;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

/**! 13. icons **/
/**! ----- Icon Dotted---- **/
.icon-dotted {
  background: #545f75;
  width: 6.125rem;
  height: 6.125rem;
  border-radius: 100px;
  text-align: center;
}

.icon-dotted:after {
  content: "";
  position: absolute !important;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  background: url(../icons/oval-dotted.svg) no-repeat center;
  width: 7.125rem;
  height: 7.125rem;
}

.icon-dotted .icon {
  font-size: 2.5rem;
  color: #fff;
  line-height: 6.125rem;
}

.icon-dotted:hover:after {
  -webkit-animation: infinite-spinning 5s infinite linear;
          animation: infinite-spinning 5s infinite linear;
}

/*---------- spinning Animation ----------*/
@-webkit-keyframes infinite-spinning {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}
@keyframes infinite-spinning {
  0% {
    -webkit-transform: translate(-50%, -50%) rotate(0deg);
            transform: translate(-50%, -50%) rotate(0deg);
  }
  100% {
    -webkit-transform: translate(-50%, -50%) rotate(360deg);
            transform: translate(-50%, -50%) rotate(360deg);
  }
}

/**! ----- Icon Rounded---- **/
.icon-rounded {
  background: rgba(47, 91, 234, 0.08);
  width: 6.125rem;
  height: 6.125rem;
  border-radius: 100px;
  text-align: center;
}

.icon-rounded--lg {
  width: 6.875rem;
  height: 6.875rem;
}

.icon-rounded .icon {
  font-size: 2.5rem;
  line-height: 6.125rem;
}

.icon-rounded.icon-rounded--lg .icon {
  font-size: 2.625rem;
  line-height: 6.875rem;
}

.rating__star i {
  color: #f5b123;
  opacity: .43;
}

.rating__star i.active {
  opacity: 1;
}

/**! ----- Media Player Icon ---- **/
.media-player-icon {
  text-align: center;
  border-radius: 100px;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.media-player-icon i {
  position: relative;
}

.media-player-icon--xs {
  font-size: 0.625rem;
  height: 1.375rem;
  width: 1.375rem;
  line-height: 1.375rem;
}

.media-player-icon--xs[class*="media-player-icon--fill-"] i {
  top: 1px;
}

.media-player-icon--sm {
  font-size: 0.9375rem;
  height: 2.1875rem;
  width: 2.1875rem;
  line-height: 2.1875rem;
}

.media-player-icon--sm[class*="media-player-icon--fill-"] i {
  top: 2.5px;
}

.media-player-icon--md, .media-player-icon--lg {
  font-size: 2rem;
  height: 6rem;
  width: 6rem;
  line-height: 6rem;
  -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
          box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
}

.media-player-icon--md:hover, .media-player-icon--lg:hover {
  -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
          box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
}

.media-player-icon--md i, .media-player-icon--lg i {
  margin-left: 0.3125rem;
  top: 0.1875rem;
}

@media (min-width: 992px) {
  .media-player-icon--lg {
    font-size: 2rem;
    height: 7.625rem;
    width: 7.625rem;
    line-height: 7.625rem;
    -webkit-box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
            box-shadow: 0 0 0 2px rgba(255, 255, 255, 0.5);
  }
  .media-player-icon--lg:hover {
    -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
            box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
  }
  .media-player-icon--lg i {
    margin-left: 0.3125rem;
    top: 0.1875rem;
  }
}

.media-player-icon--fill-primary {
  color: #fff;
}

.media-player-icon--fill-primary:hover {
  color: #fff;
}

.media-player-icon--fill-coral {
  background: #fc5c42;
  color: #fff;
  -webkit-box-shadow: 0 21px 16px 0 rgba(0, 0, 0, 0.09);
          box-shadow: 0 21px 16px 0 rgba(0, 0, 0, 0.09);
}

.media-player-icon--fill-coral:hover {
  color: #fff;
}

.media-player-icon--fill-grey {
  background: #e3e4e6;
  color: #fff;
}

.media-player-icon--fill-grey i {
  margin-left: 0.1875rem;
  top: 0.125rem !important;
}

.btn .media-player-icon--fill-grey {
  left: 6px;
}

.media-player-icon--outline-white {
  -webkit-box-shadow: 0 0 0 2px #fff;
          box-shadow: 0 0 0 2px #fff;
  color: #fff;
}

.media-player-icon--outline-white:hover {
  color: #fff;
  -webkit-box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
          box-shadow: 0 0 0 10px rgba(255, 255, 255, 0.2);
}

.media-player-icon--outline-white i {
  margin-left: 0.25rem;
  top: 0.125rem;
}

.media-player-icon--outline-white.media-player-icon--xs i {
  margin-left: 0.125rem;
  top: 0.0625rem;
}

/**! 14. background-holder **/
.background-holder {
  position: absolute !important;
  top: 0;
  right: auto;
  bottom: auto;
  left: 0;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.background-holder--circle {
  background-size: initial;
  background-position: left top;
  top: -8rem;
}

.background-holder--cover {
  background-size: cover;
}

.background-holder--contain {
  background-size: contain;
}

.background-holder--auto {
  background-size: auto;
}

.background-holder--center {
  background-position: center;
}

.background-holder--bottom {
  background-position: bottom;
}

.background-holder--left {
  background-position: left;
}

.background-holder--top {
  background-position: top;
}

.background-holder--left-top {
  background-position: left top;
}

.background-holder--right-top {
  background-position: right top;
}

.background-holder--left-bottom {
  background-position: left bottom;
}

.background-holder--right-bottom {
  background-position: right bottom;
}

.svg-shape {
  position: absolute !important;
  top: auto;
  right: 0px;
  bottom: -2px;
  left: 0;
}

.svg-shape--top {
  position: absolute !important;
  top: -2px;
  right: 0px;
  bottom: auto;
  left: 0;
}

/**! 15. section overlap **/
.overlap {
  position: absolute !important;
  top: auto;
  right: auto;
  bottom: 0;
  left: auto;
  height: 5rem;
  width: 100%;
}

@media (min-width: 768px) {
  .overlap {
    height: 7.5rem;
  }
}

@media (min-width: 768px) {
  .overlap--lg {
    height: 9.375rem;
  }
}

@media (min-width: 768px) {
  .overlap--xl {
    height: 12.5rem;
  }
}

.overlap--white {
  background: #fff;
}

.overlap--gray {
  background: #f6f8f9;
}

.overlap--darkblue {
  background: #151c32;
}

.overlap--midnight {
  background: #01081f;
}

.oval {
  height: 29.6875rem;
  width: 29.6875rem;
  border-radius: 100%;
  right: 0;
  overflow: hidden;
}

/**! 16. blog post **/
.article__thumbnail {
  display: block;
}

.article--blog-post h2, .article--blog-post p {
  max-width: 34.375rem;
}

.article--blog-post h2 {
  line-height: 1.5;
}

.article--blog-post img {
  width: 100%;
}

/**! 17. blog sidebar widget **/
.blog-main .widget .article__thumbnail {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 55px;
          flex: 0 0 55px;
}

.blog-main .widget p {
  line-height: 1.6;
}

.blog-main figure {
  margin-bottom: 2.1875rem;
  margin-top: 2.1875rem;
}

.blog-main figure img {
  border-radius: 0.3125rem;
  margin-bottom: 0.625rem;
}

.blog-main ul,
.blog-main ol,
.blog-main li {
  padding: inherit;
}

.blog-main ul {
  list-style-type: disc;
}

.blog-main ol {
  list-style-type: decimal;
}

.blog-main li {
  display: list-item;
}

.blog-details .content p {
  margin-bottom: 1.25rem;
}

.blog-details .content h5 {
  margin-bottom: 1.5625rem;
  margin-top: 1.5625rem;
}

/**! 18. blog blockquote **/
.blog-main blockquote {
  font-size: 1.25rem;
  line-height: 1.7;
  font-style: italic;
  max-width: 31.25rem;
  color: #2c2e30;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 1.875rem;
  margin-top: 1.875rem;
}

.blog-main blockquote span {
  font-size: 1rem;
  color: #54565a;
  font-style: normal;
  margin-top: 0.625rem;
}

/**! 19. blog comments **/
.comments-container ul, .comments-container ol {
  list-style: none;
}

/**! 20. blog navigation **/
.blog-main .navigations ul {
  list-style: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  padding-top: 1.875rem;
  padding-bottom: 1.875rem;
}

.blog-main .navigations li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-width: 50%;
}

.blog-main .navigations span {
  margin-bottom: 0.625rem;
}

/**! 21. pagination **/
/**! ----- carousel pagination ---- **/
.slick-dots {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1.25rem;
}

.slick-dots--long {
  height: 0.5625rem;
  width: 4.875rem;
  margin-right: 0.5625rem;
  margin-left: 0.5625rem;
  border-radius: 100px;
  background: rgba(255, 255, 255, 0.2);
}

/**! ----- Universal pagination IE. Blog post page ---- **/
.pagination {
  list-style: none !important;
}

.pagination .page-item .page-link {
  border: 0;
  color: #7e8085;
  font-weight: 700;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  border-radius: 0.3125rem;
  -webkit-box-shadow: none;
          box-shadow: none;
  padding: 0.625rem 0.9375rem;
}

.pagination .page-item.active .page-link {
  color: #fff !important;
}

.pagination .page-item:not(:first-child) .page-link {
  margin-left: 0.3125rem;
}

.pagination .page-item:not(:last-child) .page-link {
  margin-right: 0.3125rem;
}

/**! 22. sticky elements **/
@media (min-width: 768px) {
  .sticky-elements--on {
    position: fixed;
    width: 18.75rem;
    top: 1.875rem;
  }
}

@media (min-width: 992px) {
  .sticky-elements--on {
    width: 21.875rem;
  }
}

.sticky-elements .nav-link {
  color: #D2D5DA;
}

.sticky-elements .nav-link:hover, .sticky-elements .nav-link.active {
  color: #fff;
}

/**! 23. sticky elements **/
.switchable__image {
  width: 100%;
}

@media (min-width: 768px) {
  .switchable__image {
    padding-right: 0.9375rem;
  }
}

@media (min-width: 992px) {
  .switchable__image {
    padding-right: 3.125rem;
  }
}

@media (min-width: 1200px) {
  .switchable__image {
    padding-right: 7.5rem;
  }
}

@media (max-width: 767px) {
  .switchable__image {
    max-width: 540px;
    margin-right: auto;
    margin-left: auto;
  }
}

.switchable__image img {
  -webkit-box-shadow: 0 32px 54px rgba(62, 106, 161, 0.11);
          box-shadow: 0 32px 54px rgba(62, 106, 161, 0.11);
  border-radius: 5px;
  width: 100%;
}

@media (min-width: 768px) {
  .switchable__image img {
    border-radius: 0 5px 5px 0;
  }
}

@media (min-width: 768px) {
  .switchable__text {
    max-width: 475px;
  }
}

/**! 24. preloader **/
.preloader-main {
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  position: fixed;
  z-index: 99999;
  height: 100%;
  width: 100%;
}

.preloader-main .preloader-wapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100vh;
}

.preloader-main .loader-section {
  background-color: #fff;
  height: 100%;
  position: fixed;
  top: 0;
  width: calc(50% + 1px);
}

.preloader-main .loader-section.section-right {
  right: 0;
}

.preloader-main .loader-section.section-left {
  left: 0;
}

.preloader-main .preloader {
  display: block;
  width: 170px;
  height: 80px;
  position: relative;
  z-index: 99;
  top: -40px;
}

.preloader-main .loaded .section-right {
  -webkit-transform: translateX(101%);
      -ms-transform: translateX(101%);
          transform: translateX(101%);
  -webkit-transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
  -o-transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
  transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
}

.preloader-main .loaded .section-left {
  -webkit-transform: translateX(-101%);
      -ms-transform: translateX(-101%);
          transform: translateX(-101%);
  -webkit-transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
  -o-transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
  transition: 0.7s 0.3s all cubic-bezier(0.1, 0.1, 0.1, 1);
}

.preloader-main .loaded .preloader {
  opacity: 0;
  -webkit-transition: 0.3s ease-out;
  -o-transition: 0.3s ease-out;
  transition: 0.3s ease-out;
  visibility: hidden;
}

.preloader-main circle.dot:nth-of-type(1) {
  -webkit-animation: slide 2s ease infinite;
          animation: slide 2s ease infinite;
}

.preloader-main circle.dot:nth-of-type(2) {
  -webkit-transform: translateX(55px);
      -ms-transform: translateX(55px);
          transform: translateX(55px);
  -webkit-animation: slide 2s ease infinite;
          animation: slide 2s ease infinite;
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}

@-webkit-keyframes slide {
  0%,
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
  50% {
    -webkit-transform: translateX(70px);
            transform: translateX(70px);
  }
}

@keyframes slide {
  0%,
  100% {
    -webkit-transform: translateX(0px);
            transform: translateX(0px);
  }
  50% {
    -webkit-transform: translateX(70px);
            transform: translateX(70px);
  }
}

/*
*  Theme Components 
=================================
=================================
=================================*/
/**! 25. navigation **/
.navbar {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  padding-top: 0;
  padding-bottom: 0;
  z-index: 998;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  background: transparent;
}

.navbar .navbar-nav .nav-link {
  padding-right: 1.25rem;
  padding-left: 1.25rem;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media (min-width: 992px) {
  .navbar .navbar-nav .nav-link {
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
  }
}

.navbar.navbar-light .navbar-nav .nav-link {
  color: #7e8085;
}

.navbar.navbar-light .navbar-nav .nav-link:hover, .navbar.navbar-light .navbar-nav .nav-link:focus, .navbar.navbar-light .navbar-nav .nav-link.active, .navbar.navbar-light .navbar-nav .nav-link.current-menu-item {
  color: #2c2e30;
}

.navbar .navbar-brand__sticky {
  display: none;
}

.navbar-sticky {
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

.navbar-sticky--transitioned {
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.navbar-sticky--moved-up {
  position: fixed;
  top: 0;
  background: #fff;
  margin-top: -100px;
}

[data-theme=dark] .navbar-sticky--moved-up {
  background: #01081f;
  -webkit-box-shadow: 0 4px 25px rgba(30, 39, 69, 0.3), 0 1px 0px rgba(30, 39, 69, 0.4);
          box-shadow: 0 4px 25px rgba(30, 39, 69, 0.3), 0 1px 0px rgba(30, 39, 69, 0.4);
}

.navbar-sticky--on {
  margin-top: 0;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media (min-width: 992px) {
  .navbar-sticky--on .navbar-nav .nav-link {
    padding-top: 1.625rem;
    padding-bottom: 1.625rem;
  }
}

.navbar-sticky--on .navbar-brand__regular {
  display: none;
}

.navbar-sticky--on .navbar-brand__sticky {
  display: inline;
}

.navbar-sticky--on .btn {
  border: none;
}

[data-theme=dark] .navbar-sticky--on .btn {
  color: #fff !important;
}

.navbar-sticky--on .btn-splash-hover:before {
  background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 0)), color-stop(1%, rgba(255, 255, 255, 0.03)), color-stop(30%, rgba(255, 255, 255, 0.6)), color-stop(50%, rgba(255, 255, 255, 0.85)), color-stop(70%, rgba(255, 255, 255, 0.85)), color-stop(71%, rgba(255, 255, 255, 0.85)), to(rgba(255, 255, 255, 0)));
  background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 1%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.85) 70%, rgba(255, 255, 255, 0.85) 71%, rgba(255, 255, 255, 0) 100%);
  background: -o-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 1%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.85) 70%, rgba(255, 255, 255, 0.85) 71%, rgba(255, 255, 255, 0) 100%);
  background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.03) 1%, rgba(255, 255, 255, 0.6) 30%, rgba(255, 255, 255, 0.85) 50%, rgba(255, 255, 255, 0.85) 70%, rgba(255, 255, 255, 0.85) 71%, rgba(255, 255, 255, 0) 100%);
}

/*---------- Navbar Dark ----------*/
.navbar-dark .navbar-nav .nav-link {
  color: #fff;
}

.navbar-dark .btn--outline {
  color: #fff;
}

.navbar-dark.navbar-sticky--on .navbar-nav .nav-link {
  color: #7e8085;
}

[data-theme=dark] .navbar-dark.navbar-sticky--on .navbar-nav .nav-link {
  color: #e7eaee;
}

.navbar-dark.navbar-sticky--on .navbar-nav .nav-link:hover, .navbar-dark.navbar-sticky--on .navbar-nav .nav-link:focus, .navbar-dark.navbar-sticky--on .navbar-nav .nav-link.active, .navbar-dark.navbar-sticky--on .navbar-nav .nav-link.current-menu-item {
  color: #2c2e30;
}

[data-theme=dark] .navbar-dark.navbar-sticky--on .navbar-nav .nav-link:hover, [data-theme=dark] .navbar-dark.navbar-sticky--on .navbar-nav .nav-link:focus, [data-theme=dark] .navbar-dark.navbar-sticky--on .navbar-nav .nav-link.active, [data-theme=dark] .navbar-dark.navbar-sticky--on .navbar-nav .nav-link.current-menu-item {
  color: #D2D5DA;
}

/*---------- bootstrap nav custom hover ----------*/
.dropdown-menu {
  border: 0;
  padding: 0.625rem 0;
  margin: 0;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media (min-width: 992px) {
  .dropdown-menu {
    opacity: 0;
    display: block;
    visibility: hidden;
    min-width: 14.375rem;
    margin-top: 0;
    -webkit-transform: translateY(20px);
        -ms-transform: translateY(20px);
            transform: translateY(20px);
  }
}

.dropdown-menu > li {
  padding: 0 0.625rem;
}

.dropdown > .dropdown-menu:before {
  content: '';
  position: absolute !important;
  top: -10px;
  right: auto;
  bottom: auto;
  left: 10px;
  width: 0;
  height: 0;
  border-left: 10px solid transparent;
  border-right: 10px solid transparent;
  border-bottom: 10px solid #fff;
}

.dropdown-submenu > .dropdown-menu:before {
  content: '';
  position: absolute !important;
  top: 30px;
  right: auto;
  bottom: auto;
  left: -10px;
  width: 0;
  height: 0;
  border-top: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-right: 10px solid #fff;
}

@media (max-width: 991px) {
  .navbar.navbar-dark .dropdown.show > .nav-link {
    color: #2c2e30;
  }
  [data-theme=dark] .navbar.navbar-dark .dropdown.show > .nav-link {
    color: #e3e4e6;
  }
}

@media (min-width: 992px) {
  .navbar-nav li:hover > ul.dropdown-menu {
    opacity: 1;
    -webkit-transform: translateY(-10px);
        -ms-transform: translateY(-10px);
            transform: translateY(-10px);
    visibility: visible;
  }
}

.dropdown-item {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  text-transform: uppercase;
  font-size: 0.8125rem;
  font-weight: 700;
  color: #2c2e30;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

@media (max-width: 991px) {
  [data-theme=dark] .dropdown-item:focus, [data-theme=dark] .dropdown-item:hover {
    background: #01081f;
  }
}

.dropdown-item.active, .dropdown-item:active {
  background: #f8f9fa;
}

.dropdown-divider {
  border-color: #8d98b7;
}

.dropdown-submenu {
  position: relative;
}

.dropdown-submenu > .dropdown-menu {
  top: 0;
  left: 100%;
  margin-top: -6px;
}

/*  mainmenu caret */
.dropdown-toggle:after {
  margin-left: 4px;
  vertical-align: 1px;
  border-top: 5px solid;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  color: #d3d3d3;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

/*  submenu cater */
.dropdown-submenu .dropdown-toggle:after {
  position: absolute;
  right: 24px;
  top: 20px;
  color: #d3d3d3;
}

.dropdown-submenu:hover .dropdown-toggle:after {
  text-decoration: underline;
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
}

/*---------- Mobile Site nav ----------*/
@media (max-width: 991px) {
  .main:before {
    content: "";
    position: fixed;
    top: 0;
    left: 0;
    height: 100%;
    width: 0;
    background: #fff;
    z-index: 3;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
  }
  [data-theme=dark] .main:before {
    background: #01081f;
  }
  .offcanvas--open {
    overflow: hidden;
  }
  .offcanvas--open .main:before {
    width: 100%;
    opacity: .95;
    visibility: visible;
  }
  .navbar {
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
  }
  .navbar.active {
    display: block;
  }
  .navbar.active .navbar-inner {
    right: 0;
  }
  .navbar .navbar-inner {
    right: -100%;
    -webkit-transition: right 0.3s 0.2s;
    -o-transition: right 0.3s 0.2s;
    transition: right 0.3s 0.2s;
  }
  .navbar .nav-link {
    border-bottom: 1px solid #eee;
    padding-top: 0.75rem;
    padding-bottom: 0.75rem;
  }
  [data-theme=dark] .navbar .nav-link {
    border-bottom: 1px solid #1E2745;
  }
  .navbar.navbar-dark .nav-link {
    color: #54565a;
  }
  [data-theme=dark] .navbar.navbar-dark .nav-link {
    color: #f6f8f9;
  }
  .navbar.navbar-dark .nav-link:hover, .navbar.navbar-dark .nav-link:focus, .navbar.navbar-dark .nav-link.active, .navbar.navbar-dark .nav-link.current-menu-item {
    color: #2c2e30;
  }
  [data-theme=dark] .navbar.navbar-dark .nav-link {
    color: #e7eaee;
  }
  [data-theme=dark] .navbar.navbar-dark .nav-link:hover {
    background: #01081f;
  }
  .navbar-inner {
    position: fixed;
    top: 0;
    bottom: 0;
    width: 20rem;
    padding-top: 2.5rem;
    background-color: #fff;
    -webkit-box-shadow: 0 0.5rem 1.875rem rgba(0, 0, 0, 0.15);
            box-shadow: 0 0.5rem 1.875rem rgba(0, 0, 0, 0.15);
    border-radius: 0;
    overflow-y: auto;
    z-index: 1050;
  }
  [data-theme=dark] .navbar-inner {
    background: #151c32;
  }
  .navbar-inner .dropdown-menu:before {
    content: none;
  }
  .navbar-inner .dropdown-menu {
    border: medium none;
    background: none;
    border-radius: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    float: none;
    margin: 0;
    padding-top: 0;
    position: static;
  }
  [data-theme=dark] .navbar-inner .dropdown-menu .dropdown-item {
    color: #f6f8f9;
  }
  [data-theme=dark] .navbar-inner .dropdown-menu .dropdown-item:hover {
    background: #01081f;
  }
  .nav--open .main-wrapper {
    -webkit-transform: translate3d(-150px, 0, 0);
            transform: translate3d(-150px, 0, 0);
  }
  /*---------- Mobile Site nav toggler ----------*/
  .navbar-toggler {
    position: absolute !important;
    top: auto;
    right: 0;
    bottom: auto;
    left: auto;
    border: none;
    height: 100%;
    width: 3.75rem;
    background-image: none;
    border-radius: 0;
    z-index: 1;
    display: inline-block;
  }
  .navbar-inner .navbar-toggler {
    position: absolute;
    height: 2.5rem;
    top: 0;
  }
  .navbar-toggler-icon {
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    margin: auto;
    background-image: none !important;
  }
  .navbar-toggler-icon, .navbar-toggler-icon:before, .navbar-toggler-icon:after {
    -webkit-transition: .3s ease-in-out;
    -o-transition: .3s ease-in-out;
    transition: .3s ease-in-out;
  }
  .navbar-toggler-icon {
    height: 3px;
    width: 50%;
    background: #7e8085;
    display: inline-block;
  }
  .navbar-dark .navbar-toggler-icon {
    background: #fff;
  }
  .navbar-sticky--on .navbar-toggler-icon {
    background: #7e8085;
  }
  .navbar-dark .navbar-toggler-icon.active:before, .navbar-dark .navbar-toggler-icon.active:after {
    background: #7e8085;
  }
  .navbar-toggler-icon:before, .navbar-toggler-icon:after {
    content: "";
    background: #7e8085;
    left: 0;
    height: 100%;
    width: 100%;
    position: absolute;
  }
  .navbar-dark .navbar-toggler-icon:before, .navbar-dark .navbar-toggler-icon:after {
    background: #fff;
  }
  .navbar-sticky--on .navbar-toggler-icon:before, .navbar-sticky--on .navbar-toggler-icon:after {
    background: #7e8085;
  }
  .navbar-toggler-icon::before {
    top: -0.625rem;
  }
  .navbar-toggler-icon::after {
    top: 0.625rem;
  }
  .navbar-toggler-icon.active {
    background-color: transparent;
    -webkit-transform: scale(0.85) rotate(270deg);
        -ms-transform: scale(0.85) rotate(270deg);
            transform: scale(0.85) rotate(270deg);
  }
  .navbar-toggler-icon.active:before {
    top: 0;
    -webkit-transform: scale(0.65) rotate(45deg);
        -ms-transform: scale(0.65) rotate(45deg);
            transform: scale(0.65) rotate(45deg);
  }
  .navbar-toggler-icon.active:after {
    top: 0;
    -webkit-transform: scale(0.65) rotate(-45deg);
        -ms-transform: scale(0.65) rotate(-45deg);
            transform: scale(0.65) rotate(-45deg);
  }
}

/**! 26. hero **/
.hero {
  position: relative;
  padding-top: 5.33333rem;
  z-index: 1;
}

@media (min-width: 992px) {
  .hero {
    padding-top: 12.8rem;
  }
  .hero.space--lg {
    padding-top: 19.2rem;
    padding-bottom: 14.4rem;
  }
  .hero.space-top--md {
    padding-top: 9.6rem;
  }
}

.hero--dark {
  color: #fff;
}

.hero__shape {
  position: absolute !important;
  top: auto;
  right: 0;
  bottom: -1px;
  left: 0;
  z-index: -1;
}

@media only screen and (min-width: 1921px) {
  .hero__tri-svg {
    top: -18.75rem;
  }
}

.hero-content {
  max-width: 33.125rem;
}

@media (max-width: 991px) {
  .hero-content {
    margin-top: 3.125rem;
    text-align: center;
    margin: 0 auto;
  }
}

@media (min-width: 992px) {
  .hero--reverse .hero-content {
    margin-left: auto;
  }
}

.hero-content--center {
  max-width: 100%;
}

.hero-content .btn:hover .media-player-icon--fill-grey {
  background: #fff;
}

.hero__image {
  max-width: 43.75rem;
}

@media (max-width: 991px) {
  .hero__image {
    margin-left: auto;
    margin-right: auto;
  }
}

@media (min-width: 992px) {
  .hero__image.push-out-container {
    position: absolute;
    right: -21.875rem;
  }
}

@media (min-width: 1200px) {
  .hero__image.push-out-container {
    right: -12.5rem;
  }
}

@media (min-width: 992px) {
  .hero--reverse .hero__image.push-out-container {
    left: -21.875rem;
  }
}

@media (min-width: 1200px) {
  .hero--reverse .hero__image.push-out-container {
    left: -12.5rem;
  }
}

.hero__title {
  margin-bottom: 0.625rem;
  font-weight: 900;
  line-height: 1.3125rem;
}

@media (min-width: 768px) {
  .hero__title {
    font-size: 3rem;
    line-height: 1.25;
  }
}

.hero--dark .hero__title {
  color: #2c2e30;
}

.hero__description {
  margin-bottom: 0.3125rem;
}

.hero--dark .hero__description {
  color: #2c2e30;
  opacity: .75;
}

.hero--dark .type--fine-print {
  color: #D2D5DA;
}

.type--fine-print.color-white {
  color: #fff;
}

.hero__block5 .svg-clipped {
  -webkit-clip-path: url(#svgPath);
  clip-path: url(#svgPath);
  height: 100%;
}

.hero__block5-mobile {
  width: 20rem;
  height: 20rem;
  border-radius: 100%;
}

@media (min-width: 576px) {
  .hero__block5-mobile {
    width: 31.25rem;
    height: 31.25rem;
  }
}

@media (min-width: 992px) {
  .hero__block5-mobile {
    width: 27.5rem;
    height: 27.5rem;
  }
}

/**! 27. features **/
.features .sub-header {
  max-width: 57.5rem;
  margin: 0 auto;
  text-align: center;
  margin-bottom: 1.875rem;
}

@media (min-width: 992px) {
  .features .sub-header {
    margin-bottom: 4.6875rem;
  }
}

.features .tab__icon {
  min-height: 3.4375rem;
}

.features .swipe-tab {
  padding-bottom: 2px;
}

@media (max-width: 575px) {
  .features .swipe-tab {
    width: 100% !important;
    text-align: center !important;
    margin-bottom: 1.875rem;
  }
}

.features .swipe-tab__inner {
  padding-bottom: 0.9375rem;
  cursor: pointer;
}

.features--tab__image {
  position: relative;
  max-width: 31.25rem;
}

@media (max-width: 991px) {
  .features--tab__image {
    margin: 0 auto;
  }
}

.features--tab__image:after {
  content: '';
  position: absolute !important;
  top: auto;
  right: 15px;
  bottom: 10px;
  left: auto;
  background: url(../img/triangle.svg) no-repeat center center;
  height: 2.5rem;
  width: 2.5rem;
  z-index: -1;
}

.features .main-container {
  position: relative;
}

.features .main-container:before {
  content: '';
  position: absolute !important;
  top: -20px;
  right: auto;
  bottom: auto;
  left: -30px;
  background: url(../img/dots-pattern-1.svg) no-repeat top left;
  height: 10rem;
  width: 10rem;
  z-index: -1;
}

.features .swipe-tab-content {
  position: relative;
}

@media (max-width: 991px) {
  .features .swipe-tab-content {
    text-align: center;
  }
}

.features .tab-content {
  max-width: 30.625rem;
  background: #fff;
}

[data-theme=dark] .features .tab-content {
  background: #01081f;
}

@media (max-width: 991px) {
  .features .tab-content {
    margin: 0 auto;
    text-align: center;
  }
}

.features .tab-content__list {
  padding-bottom: 1.5625rem;
  margin-bottom: 1.5625rem;
}

.features .tab-content__list li {
  position: relative;
}

.features .tab-content__list li::before {
  position: absolute !important;
  top: 10px;
  right: auto;
  bottom: auto;
  left: 0;
  content: '';
  height: 0.75rem;
  width: 0.75rem;
  border-radius: 100px;
  background-color: #e3e4e6;
}

.features .tab-content__list li:not(:last-child) {
  margin-bottom: 1.5625rem;
}

.features .tab-content__list li p {
  margin-left: 1.875rem;
  text-align: left;
}

/**--------- Feature Slider 2 ---------**/
@media (max-width: 991px) {
  .features-custom-container {
    padding-bottom: 4rem;
    padding-top: 4rem;
  }
}

@media (min-width: 1200px) {
  .features-custom-container {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    padding-top: 8rem;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .features-custom-container {
    padding-bottom: 8rem;
  }
}

@media (min-width: 1200px) {
  .features-custom-container .content-wrapper {
    max-width: 770px;
    margin-left: auto;
    padding-right: 15px;
  }
}

@media only screen and (min-width: 1921px) {
  .features-custom-container .content-wrapper {
    max-width: 820px;
  }
}

@media only screen and (min-width: 1921px) {
  .features-custom-container .content-wrapper {
    max-width: 820px;
  }
}

@media (max-width: 1199px) {
  .features-custom-container .device-image {
    margin-bottom: 0.625rem;
  }
  .features-custom-container .device-image img {
    max-height: 31.25rem;
  }
}

@media (max-width: 991px) {
  .features-custom-container .device-image img {
    max-height: 28.125rem;
  }
}

.features--slider-2 {
  position: relative;
}

@media (min-width: 1200px) {
  .features--slider-2 {
    overflow: hidden;
    width: calc(41.66667% - 40px);
  }
}

.features--slider-2 .slider-tabs {
  text-align: left;
  margin-top: 0;
  margin-left: 0;
  margin-right: 0;
}

@media (min-width: 992px) {
  .features--slider-2 .slider-tabs {
    width: 950px;
  }
}

@media (min-width: 1200px) {
  .features--slider-2 .slider-tabs {
    width: 950px;
  }
}

@media only screen and (min-width: 1600px) {
  .features--slider-2 .slider-tabs {
    max-width: 950px;
  }
}

.features--slider-2 .slider-tabs .slider-tab {
  background: transparent;
  font-size: 1.3125rem;
  font-weight: 700;
  color: rgba(255, 255, 255, 0.2);
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.features--slider-2 .slider-tabs .slick-current.slick-active .slider-tab {
  color: #fff;
}

.features--slider-2 .slider-contents {
  max-width: 25rem;
}

.features--slider-2 .slick-arrow {
  background: rgba(255, 255, 255, 0.2);
  height: 3.125rem;
  width: 3.125rem;
  border-radius: 100px;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
  position: absolute;
  top: -7.5rem;
}

@media (min-width: 768px) {
  .features--slider-2 .slick-arrow {
    top: -9.375rem;
  }
}

.features--slider-2 .slick-arrow i {
  line-height: 3.125rem;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

.features--slider-2 .slick-arrow:hover {
  background: #fff;
  -webkit-box-shadow: 0 2px 34px rgba(0, 0, 0, 0.21);
          box-shadow: 0 2px 34px rgba(0, 0, 0, 0.21);
}

.features--slider-2 .slick-arrow.slick-next {
  left: 3.75rem;
}

/**! 28. working process **/
.working-process .working-process-block:hover .icon-dotted:after {
  -webkit-animation: infinite-spinning 5s infinite linear;
          animation: infinite-spinning 5s infinite linear;
}

@media (min-width: 768px) {
  .working-process div[class*='col-']:not(:last-child) .working-process-block:after {
    content: "\ea1a";
    font-family: 'xPider';
    color: #e2e6ea;
    font-size: 5.75rem;
    position: absolute !important;
    top: 0;
    right: -12%;
    bottom: auto;
    left: auto;
    text-shadow: -3px 0px 0px #fff;
    -webkit-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
  }
  [data-theme=dark] .working-process div[class*='col-']:not(:last-child) .working-process-block:after {
    text-shadow: -3px 0px 0px #01081f;
  }
}

@media (max-width: 767px) {
  .working-process div[class*='col-']:not(:last-child) .working-process-block {
    margin-bottom: 2.5rem;
  }
}

.working-process div[class*='col-']:not(:last-child) .working-process-block:hover:after {
  right: -17%;
}

.working-process p {
  max-width: 17.1875rem;
  margin: 0 auto;
}

/**! 29. footer **/
.footer {
  position: relative;
}

@media (min-width: 992px) {
  .footer--fixed {
    position: fixed;
    bottom: 0;
    right: 0;
    left: 0;
    z-index: -1;
  }
}

.footer-widget ul li a {
  color: #54565a;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

[data-theme=dark] .footer-widget ul li a {
  color: #7e8085;
}

.footer-widget ul li:not(:last-child) {
  margin-bottom: 0.9375rem;
}

.footer-widget .icon-email {
  font-size: 2.8125rem;
}

.footer .nav li a {
  font-size: 0.875rem;
  color: #54565a;
  font-weight: bold;
  -webkit-transition: .3s;
  -o-transition: .3s;
  transition: .3s;
}

[data-theme=dark] .footer .nav li a {
  color: #7e8085;
}

.footer .nav li:not(:last-child) {
  margin-right: 1.875rem;
}

/*
*  Themes 
=================================
=================================
=================================*/
/**! 30. themes **/
/**! ----- bg colors for theme ---- **/
.theme-green .bg-color-primary, .theme-green .btn--bg-primary, .theme-green .navbar-sticky--on .btn, .navbar-sticky--on .theme-green .btn, .theme-green .btn--bg-grey:hover, .theme-green .btn--outline:hover, .theme-green .btn--outline-thick:hover, .theme-green .btn-border-hover.btn--color-white:before, .theme-green .card--focused, .theme-green .card--outline:hover, .theme-green .card--outline:focus, .theme-green .social-lists li a:hover, .social-lists li .theme-green a:hover, .theme-green .media-player-icon--fill-primary, .theme-green .oval, .theme-green .slick-active .slick-dots--long, .slick-active .theme-green .slick-dots--long, .theme-green .pagination .page-item.active .page-link, .pagination .page-item.active .theme-green .page-link {
  background: #27ae60;
}

.theme-violet .bg-color-primary, .theme-violet .btn--bg-primary, .theme-violet .navbar-sticky--on .btn, .navbar-sticky--on .theme-violet .btn, .theme-violet .btn--bg-grey:hover, .theme-violet .btn--outline:hover, .theme-violet .btn--outline-thick:hover, .theme-violet .btn-border-hover.btn--color-white:before, .theme-violet .card--focused, .theme-violet .card--outline:hover, .theme-violet .card--outline:focus, .theme-violet .social-lists li a:hover, .social-lists li .theme-violet a:hover, .theme-violet .media-player-icon--fill-primary, .theme-violet .oval, .theme-violet .slick-active .slick-dots--long, .slick-active .theme-violet .slick-dots--long, .theme-violet .pagination .page-item.active .page-link, .pagination .page-item.active .theme-violet .page-link {
  background: #9b59b6;
}

.theme-firoza .bg-color-primary, .theme-firoza .btn--bg-primary, .theme-firoza .navbar-sticky--on .btn, .navbar-sticky--on .theme-firoza .btn, .theme-firoza .btn--bg-grey:hover, .theme-firoza .btn--outline:hover, .theme-firoza .btn--outline-thick:hover, .theme-firoza .btn-border-hover.btn--color-white:before, .theme-firoza .card--focused, .theme-firoza .card--outline:hover, .theme-firoza .card--outline:focus, .theme-firoza .social-lists li a:hover, .social-lists li .theme-firoza a:hover, .theme-firoza .media-player-icon--fill-primary, .theme-firoza .oval, .theme-firoza .slick-active .slick-dots--long, .slick-active .theme-firoza .slick-dots--long, .theme-firoza .pagination .page-item.active .page-link, .pagination .page-item.active .theme-firoza .page-link {
  background: #16a085;
}

.theme-red .bg-color-primary, .theme-red .btn--bg-primary, .theme-red .navbar-sticky--on .btn, .navbar-sticky--on .theme-red .btn, .theme-red .btn--bg-grey:hover, .theme-red .btn--outline:hover, .theme-red .btn--outline-thick:hover, .theme-red .btn-border-hover.btn--color-white:before, .theme-red .card--focused, .theme-red .card--outline:hover, .theme-red .card--outline:focus, .theme-red .social-lists li a:hover, .social-lists li .theme-red a:hover, .theme-red .media-player-icon--fill-primary, .theme-red .oval, .theme-red .slick-active .slick-dots--long, .slick-active .theme-red .slick-dots--long, .theme-red .pagination .page-item.active .page-link, .pagination .page-item.active .theme-red .page-link {
  background: #e74c3c;
}

.theme-orange .bg-color-primary, .theme-orange .btn--bg-primary, .theme-orange .navbar-sticky--on .btn, .navbar-sticky--on .theme-orange .btn, .theme-orange .btn--bg-grey:hover, .theme-orange .btn--outline:hover, .theme-orange .btn--outline-thick:hover, .theme-orange .btn-border-hover.btn--color-white:before, .theme-orange .card--focused, .theme-orange .card--outline:hover, .theme-orange .card--outline:focus, .theme-orange .social-lists li a:hover, .social-lists li .theme-orange a:hover, .theme-orange .media-player-icon--fill-primary, .theme-orange .oval, .theme-orange .slick-active .slick-dots--long, .slick-active .theme-orange .slick-dots--long, .theme-orange .pagination .page-item.active .page-link, .pagination .page-item.active .theme-orange .page-link {
  background: #ee8663;
}

.gradient-1 .bg-color-primary, .gradient-1 .btn--bg-primary, .gradient-1 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-1 .btn, .gradient-1 .btn--bg-grey:hover, .gradient-1 .btn--outline:hover, .gradient-1 .btn--outline-thick:hover, .gradient-1 .btn-border-hover.btn--color-white:before, .gradient-1 .card--focused, .gradient-1 .card--outline:hover, .gradient-1 .card--outline:focus, .gradient-1 .social-lists li a:hover, .social-lists li .gradient-1 a:hover, .gradient-1 .media-player-icon--fill-primary, .gradient-1 .oval, .gradient-1 .slick-active .slick-dots--long, .slick-active .gradient-1 .slick-dots--long, .gradient-1 .pagination .page-item.active .page-link, .pagination .page-item.active .gradient-1 .page-link {
  background: -webkit-linear-gradient(135deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
  background: -o-linear-gradient(135deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
  background: linear-gradient(-45deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
}

.gradient-2 .bg-color-primary, .gradient-2 .btn--bg-primary, .gradient-2 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-2 .btn, .gradient-2 .btn--bg-grey:hover, .gradient-2 .btn--outline:hover, .gradient-2 .btn--outline-thick:hover, .gradient-2 .btn-border-hover.btn--color-white:before, .gradient-2 .card--focused, .gradient-2 .card--outline:hover, .gradient-2 .card--outline:focus, .gradient-2 .social-lists li a:hover, .social-lists li .gradient-2 a:hover, .gradient-2 .media-player-icon--fill-primary, .gradient-2 .oval, .gradient-2 .slick-active .slick-dots--long, .slick-active .gradient-2 .slick-dots--long, .gradient-2 .pagination .page-item.active .page-link, .pagination .page-item.active .gradient-2 .page-link {
  background: -webkit-gradient(linear, left top, right top, from(#0099FF), to(#6610f2));
  background: -webkit-linear-gradient(left, #0099FF 0%, #6610f2 100%);
  background: -o-linear-gradient(left, #0099FF 0%, #6610f2 100%);
  background: linear-gradient(90deg, #0099FF 0%, #6610f2 100%);
}

.gradient-3 .bg-color-primary, .gradient-3 .btn--bg-primary, .gradient-3 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-3 .btn, .gradient-3 .btn--bg-grey:hover, .gradient-3 .btn--outline:hover, .gradient-3 .btn--outline-thick:hover, .gradient-3 .btn-border-hover.btn--color-white:before, .gradient-3 .card--focused, .gradient-3 .card--outline:hover, .gradient-3 .card--outline:focus, .gradient-3 .social-lists li a:hover, .social-lists li .gradient-3 a:hover, .gradient-3 .media-player-icon--fill-primary, .gradient-3 .oval, .gradient-3 .slick-active .slick-dots--long, .slick-active .gradient-3 .slick-dots--long, .gradient-3 .pagination .page-item.active .page-link, .pagination .page-item.active .gradient-3 .page-link {
  background: -webkit-linear-gradient(300deg, #2d1582 0%, #19a0ff 100%);
  background: -o-linear-gradient(300deg, #2d1582 0%, #19a0ff 100%);
  background: linear-gradient(150deg, #2d1582 0%, #19a0ff 100%);
}

.gradient-4 .bg-color-primary, .gradient-4 .btn--bg-primary, .gradient-4 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-4 .btn, .gradient-4 .btn--bg-grey:hover, .gradient-4 .btn--outline:hover, .gradient-4 .btn--outline-thick:hover, .gradient-4 .btn-border-hover.btn--color-white:before, .gradient-4 .card--focused, .gradient-4 .card--outline:hover, .gradient-4 .card--outline:focus, .gradient-4 .social-lists li a:hover, .social-lists li .gradient-4 a:hover, .gradient-4 .media-player-icon--fill-primary, .gradient-4 .oval, .gradient-4 .slick-active .slick-dots--long, .slick-active .gradient-4 .slick-dots--long, .gradient-4 .pagination .page-item.active .page-link, .pagination .page-item.active .gradient-4 .page-link {
  background: -webkit-gradient(linear, left top, right top, from(#642B73), to(#C6426E));
  background: -webkit-linear-gradient(left, #642B73 0%, #C6426E 100%);
  background: -o-linear-gradient(left, #642B73 0%, #C6426E 100%);
  background: linear-gradient(to right, #642B73 0%, #C6426E 100%);
}

.gradient-5 .bg-color-primary, .gradient-5 .btn--bg-primary, .gradient-5 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-5 .btn, .gradient-5 .btn--bg-grey:hover, .gradient-5 .btn--outline:hover, .gradient-5 .btn--outline-thick:hover, .gradient-5 .btn-border-hover.btn--color-white:before, .gradient-5 .card--focused, .gradient-5 .card--outline:hover, .gradient-5 .card--outline:focus, .gradient-5 .social-lists li a:hover, .social-lists li .gradient-5 a:hover, .gradient-5 .media-player-icon--fill-primary, .gradient-5 .oval, .gradient-5 .slick-active .slick-dots--long, .slick-active .gradient-5 .slick-dots--long, .gradient-5 .pagination .page-item.active .page-link, .pagination .page-item.active .gradient-5 .page-link {
  background: -webkit-linear-gradient(300deg, #1A6B89 0%, #2A7871 100%);
  background: -o-linear-gradient(300deg, #1A6B89 0%, #2A7871 100%);
  background: linear-gradient(150deg, #1A6B89 0%, #2A7871 100%);
}

.gradient-6 .bg-color-primary, .gradient-6 .btn--bg-primary, .gradient-6 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-6 .btn, .gradient-6 .btn--bg-grey:hover, .gradient-6 .btn--outline:hover, .gradient-6 .btn--outline-thick:hover, .gradient-6 .btn-border-hover.btn--color-white:before, .gradient-6 .card--focused, .gradient-6 .card--outline:hover, .gradient-6 .card--outline:focus, .gradient-6 .social-lists li a:hover, .social-lists li .gradient-6 a:hover, .gradient-6 .media-player-icon--fill-primary, .gradient-6 .oval, .gradient-6 .slick-active .slick-dots--long, .slick-active .gradient-6 .slick-dots--long, .gradient-6 .pagination .page-item.active .page-link, .pagination .page-item.active .gradient-6 .page-link {
  background: -webkit-linear-gradient(224deg, #C86DD7 0%, #3023AE 100%);
  background: -o-linear-gradient(224deg, #C86DD7 0%, #3023AE 100%);
  background: linear-gradient(-134deg, #C86DD7 0%, #3023AE 100%);
}

.gradient-1 .slick-active .slick-dots--long, .gradient-1 .btn--bg-primary, .gradient-1 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-1 .btn, .gradient-1
.navbar .btn--outline:hover, .gradient-1
.btn--bg-grey:hover {
  background: #5179ec;
}

.gradient-2 .slick-active .slick-dots--long, .gradient-2 .btn--bg-primary, .gradient-2 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-2 .btn, .gradient-2
.navbar .btn--outline:hover, .gradient-2
.btn--bg-grey:hover {
  background: #2f5bea;
}

.gradient-3 .slick-active .slick-dots--long, .gradient-3 .btn--bg-primary, .gradient-3 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-3 .btn, .gradient-3
.navbar .btn--outline:hover, .gradient-3
.btn--bg-grey:hover {
  background: #3A6CC5;
}

.gradient-4 .slick-active .slick-dots--long, .gradient-4 .btn--bg-primary, .gradient-4 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-4 .btn, .gradient-4
.navbar .btn--outline:hover, .gradient-4
.btn--bg-grey:hover {
  background: #a6546e;
}

.gradient-5 .slick-active .slick-dots--long, .gradient-5 .btn--bg-primary, .gradient-5 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-5 .btn, .gradient-5
.navbar .btn--outline:hover, .gradient-5
.btn--bg-grey:hover {
  background: #2A7871;
}

.gradient-6 .slick-active .slick-dots--long, .gradient-6 .btn--bg-primary, .gradient-6 .navbar-sticky--on .btn, .navbar-sticky--on .gradient-6 .btn, .gradient-6
.navbar .btn--outline:hover, .gradient-6
.btn--bg-grey:hover {
  background: #9b59b6;
}

.theme-primary [class*="bg-gradient"] {
  background: #2f5bea;
}

.theme-green [class*="bg-gradient"] {
  background: #27ae60;
}

.theme-violet [class*="bg-gradient"] {
  background: #9b59b6;
}

.theme-firoza [class*="bg-gradient"] {
  background: #16a085;
}

.theme-red [class*="bg-gradient"] {
  background: #e74c3c;
}

.theme-orange [class*="bg-gradient"] {
  background: #ee8663;
}

.gradient-1 [class*="bg-gradient"] {
  background: -webkit-linear-gradient(135deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
  background: -o-linear-gradient(135deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
  background: linear-gradient(-45deg, #2f1ce0 0%, #53a0fd 50%, #51eca5 100%);
}

.gradient-2 [class*="bg-gradient"] {
  background: -webkit-gradient(linear, left top, right top, from(#0099FF), to(#6610f2));
  background: -webkit-linear-gradient(left, #0099FF 0%, #6610f2 100%);
  background: -o-linear-gradient(left, #0099FF 0%, #6610f2 100%);
  background: linear-gradient(90deg, #0099FF 0%, #6610f2 100%);
}

.gradient-3 [class*="bg-gradient"] {
  background: -webkit-linear-gradient(300deg, #2d1582 0%, #19a0ff 100%);
  background: -o-linear-gradient(300deg, #2d1582 0%, #19a0ff 100%);
  background: linear-gradient(150deg, #2d1582 0%, #19a0ff 100%);
}

.gradient-4 [class*="bg-gradient"] {
  background: -webkit-gradient(linear, left top, right top, from(#642B73), to(#C6426E));
  background: -webkit-linear-gradient(left, #642B73 0%, #C6426E 100%);
  background: -o-linear-gradient(left, #642B73 0%, #C6426E 100%);
  background: linear-gradient(to right, #642B73 0%, #C6426E 100%);
}

.gradient-5 [class*="bg-gradient"] {
  background: -webkit-linear-gradient(300deg, #1A6B89 0%, #2A7871 100%);
  background: -o-linear-gradient(300deg, #1A6B89 0%, #2A7871 100%);
  background: linear-gradient(150deg, #1A6B89 0%, #2A7871 100%);
}

.gradient-6 [class*="bg-gradient"] {
  background: -webkit-linear-gradient(224deg, #C86DD7 0%, #3023AE 100%);
  background: -o-linear-gradient(224deg, #C86DD7 0%, #3023AE 100%);
  background: linear-gradient(-134deg, #C86DD7 0%, #3023AE 100%);
}

/**! ----- svg fill color ---- **/
.theme-primary .bg-fill-primary {
  fill: #2f5bea;
}

.theme-green .bg-fill-primary {
  fill: #27ae60;
}

.theme-violet .bg-fill-primary {
  fill: #9b59b6;
}

.theme-firoza .bg-fill-primary {
  fill: #16a085;
}

.theme-red .bg-fill-primary {
  fill: #e74c3c;
}

.theme-orange .bg-fill-primary {
  fill: #ee8663;
}

.gradient-1 .bg-fill-primary {
  fill: #5179ec;
}

.gradient-2 .bg-fill-primary {
  fill: #2f5bea;
}

.gradient-3 .bg-fill-primary {
  fill: #3A6CC5;
}

.gradient-4 .bg-fill-primary {
  fill: #a6546e;
}

.gradient-5 .bg-fill-primary {
  fill: #2A7871;
}

.gradient-6 .bg-fill-primary {
  fill: #9b59b6;
}

/**! ----- colors for theme ---- **/
.theme-green .color-primary, .theme-green .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .theme-green .media-player-icon--fill-grey, .theme-green .btn--bg-white:hover, .theme-green .btn--color-primary, .theme-green .btn-text-hover:hover, .theme-green .card--focused .btn__text, .card--focused .theme-green .btn__text, .theme-green .lang-selector .lang-dropdown__item:focus, .lang-selector .theme-green .lang-dropdown__item:focus, .theme-green .lang-selector .lang-dropdown__item:hover, .lang-selector .theme-green .lang-dropdown__item:hover, .theme-green .icon-rounded .icon, .icon-rounded .theme-green .icon, .theme-green .media-player-icon--fill-grey:hover, .theme-green .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .theme-green i, .theme-green .pagination .page-item .page-link:hover, .pagination .page-item .theme-green .page-link:hover, .theme-green .dropdown-item:focus, .theme-green .dropdown-item:hover, .theme-green .dropdown-item.active, .theme-green .dropdown-item:active, .theme-green .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .theme-green i, .theme-green .footer-widget ul li a:hover, .footer-widget ul li .theme-green a:hover, .theme-green .footer .nav li a:hover, .footer .nav li .theme-green a:hover, .theme-green
.btn--outline.btn--color-primary, .theme-green
.btn--outline-thick.btn--color-primary, .theme-green
.btn--color-dark.btn-text-hover:hover {
  color: #27ae60;
}

.theme-violet .color-primary, .theme-violet .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .theme-violet .media-player-icon--fill-grey, .theme-violet .btn--bg-white:hover, .theme-violet .btn--color-primary, .theme-violet .btn-text-hover:hover, .theme-violet .card--focused .btn__text, .card--focused .theme-violet .btn__text, .theme-violet .lang-selector .lang-dropdown__item:focus, .lang-selector .theme-violet .lang-dropdown__item:focus, .theme-violet .lang-selector .lang-dropdown__item:hover, .lang-selector .theme-violet .lang-dropdown__item:hover, .theme-violet .icon-rounded .icon, .icon-rounded .theme-violet .icon, .theme-violet .media-player-icon--fill-grey:hover, .theme-violet .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .theme-violet i, .theme-violet .pagination .page-item .page-link:hover, .pagination .page-item .theme-violet .page-link:hover, .theme-violet .dropdown-item:focus, .theme-violet .dropdown-item:hover, .theme-violet .dropdown-item.active, .theme-violet .dropdown-item:active, .theme-violet .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .theme-violet i, .theme-violet .footer-widget ul li a:hover, .footer-widget ul li .theme-violet a:hover, .theme-violet .footer .nav li a:hover, .footer .nav li .theme-violet a:hover, .theme-violet
.btn--outline.btn--color-primary, .theme-violet
.btn--outline-thick.btn--color-primary, .theme-violet
.btn--color-dark.btn-text-hover:hover {
  color: #9b59b6;
}

.theme-firoza .color-primary, .theme-firoza .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .theme-firoza .media-player-icon--fill-grey, .theme-firoza .btn--bg-white:hover, .theme-firoza .btn--color-primary, .theme-firoza .btn-text-hover:hover, .theme-firoza .card--focused .btn__text, .card--focused .theme-firoza .btn__text, .theme-firoza .lang-selector .lang-dropdown__item:focus, .lang-selector .theme-firoza .lang-dropdown__item:focus, .theme-firoza .lang-selector .lang-dropdown__item:hover, .lang-selector .theme-firoza .lang-dropdown__item:hover, .theme-firoza .icon-rounded .icon, .icon-rounded .theme-firoza .icon, .theme-firoza .media-player-icon--fill-grey:hover, .theme-firoza .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .theme-firoza i, .theme-firoza .pagination .page-item .page-link:hover, .pagination .page-item .theme-firoza .page-link:hover, .theme-firoza .dropdown-item:focus, .theme-firoza .dropdown-item:hover, .theme-firoza .dropdown-item.active, .theme-firoza .dropdown-item:active, .theme-firoza .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .theme-firoza i, .theme-firoza .footer-widget ul li a:hover, .footer-widget ul li .theme-firoza a:hover, .theme-firoza .footer .nav li a:hover, .footer .nav li .theme-firoza a:hover, .theme-firoza
.btn--outline.btn--color-primary, .theme-firoza
.btn--outline-thick.btn--color-primary, .theme-firoza
.btn--color-dark.btn-text-hover:hover {
  color: #16a085;
}

.theme-red .color-primary, .theme-red .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .theme-red .media-player-icon--fill-grey, .theme-red .btn--bg-white:hover, .theme-red .btn--color-primary, .theme-red .btn-text-hover:hover, .theme-red .card--focused .btn__text, .card--focused .theme-red .btn__text, .theme-red .lang-selector .lang-dropdown__item:focus, .lang-selector .theme-red .lang-dropdown__item:focus, .theme-red .lang-selector .lang-dropdown__item:hover, .lang-selector .theme-red .lang-dropdown__item:hover, .theme-red .icon-rounded .icon, .icon-rounded .theme-red .icon, .theme-red .media-player-icon--fill-grey:hover, .theme-red .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .theme-red i, .theme-red .pagination .page-item .page-link:hover, .pagination .page-item .theme-red .page-link:hover, .theme-red .dropdown-item:focus, .theme-red .dropdown-item:hover, .theme-red .dropdown-item.active, .theme-red .dropdown-item:active, .theme-red .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .theme-red i, .theme-red .footer-widget ul li a:hover, .footer-widget ul li .theme-red a:hover, .theme-red .footer .nav li a:hover, .footer .nav li .theme-red a:hover, .theme-red
.btn--outline.btn--color-primary, .theme-red
.btn--outline-thick.btn--color-primary, .theme-red
.btn--color-dark.btn-text-hover:hover {
  color: #e74c3c;
}

.theme-orange .color-primary, .theme-orange .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .theme-orange .media-player-icon--fill-grey, .theme-orange .btn--bg-white:hover, .theme-orange .btn--color-primary, .theme-orange .btn-text-hover:hover, .theme-orange .card--focused .btn__text, .card--focused .theme-orange .btn__text, .theme-orange .lang-selector .lang-dropdown__item:focus, .lang-selector .theme-orange .lang-dropdown__item:focus, .theme-orange .lang-selector .lang-dropdown__item:hover, .lang-selector .theme-orange .lang-dropdown__item:hover, .theme-orange .icon-rounded .icon, .icon-rounded .theme-orange .icon, .theme-orange .media-player-icon--fill-grey:hover, .theme-orange .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .theme-orange i, .theme-orange .pagination .page-item .page-link:hover, .pagination .page-item .theme-orange .page-link:hover, .theme-orange .dropdown-item:focus, .theme-orange .dropdown-item:hover, .theme-orange .dropdown-item.active, .theme-orange .dropdown-item:active, .theme-orange .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .theme-orange i, .theme-orange .footer-widget ul li a:hover, .footer-widget ul li .theme-orange a:hover, .theme-orange .footer .nav li a:hover, .footer .nav li .theme-orange a:hover, .theme-orange
.btn--outline.btn--color-primary, .theme-orange
.btn--outline-thick.btn--color-primary, .theme-orange
.btn--color-dark.btn-text-hover:hover {
  color: #ee8663;
}

.gradient-1 .color-primary, .gradient-1 .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .gradient-1 .media-player-icon--fill-grey, .gradient-1 .btn--bg-white:hover, .gradient-1 .btn--color-primary, .gradient-1 .btn-text-hover:hover, .gradient-1 .card--focused .btn__text, .card--focused .gradient-1 .btn__text, .gradient-1 .lang-selector .lang-dropdown__item:focus, .lang-selector .gradient-1 .lang-dropdown__item:focus, .gradient-1 .lang-selector .lang-dropdown__item:hover, .lang-selector .gradient-1 .lang-dropdown__item:hover, .gradient-1 .icon-rounded .icon, .icon-rounded .gradient-1 .icon, .gradient-1 .media-player-icon--fill-grey:hover, .gradient-1 .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .gradient-1 i, .gradient-1 .pagination .page-item .page-link:hover, .pagination .page-item .gradient-1 .page-link:hover, .gradient-1 .dropdown-item:focus, .gradient-1 .dropdown-item:hover, .gradient-1 .dropdown-item.active, .gradient-1 .dropdown-item:active, .gradient-1 .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .gradient-1 i, .gradient-1 .footer-widget ul li a:hover, .footer-widget ul li .gradient-1 a:hover, .gradient-1 .footer .nav li a:hover, .footer .nav li .gradient-1 a:hover, .gradient-1
.btn--outline.btn--color-primary, .gradient-1
.btn--outline-thick.btn--color-primary, .gradient-1
.btn--color-dark.btn-text-hover:hover {
  color: #5179ec;
}

.gradient-2 .color-primary, .gradient-2 .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .gradient-2 .media-player-icon--fill-grey, .gradient-2 .btn--bg-white:hover, .gradient-2 .btn--color-primary, .gradient-2 .btn-text-hover:hover, .gradient-2 .card--focused .btn__text, .card--focused .gradient-2 .btn__text, .gradient-2 .lang-selector .lang-dropdown__item:focus, .lang-selector .gradient-2 .lang-dropdown__item:focus, .gradient-2 .lang-selector .lang-dropdown__item:hover, .lang-selector .gradient-2 .lang-dropdown__item:hover, .gradient-2 .icon-rounded .icon, .icon-rounded .gradient-2 .icon, .gradient-2 .media-player-icon--fill-grey:hover, .gradient-2 .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .gradient-2 i, .gradient-2 .pagination .page-item .page-link:hover, .pagination .page-item .gradient-2 .page-link:hover, .gradient-2 .dropdown-item:focus, .gradient-2 .dropdown-item:hover, .gradient-2 .dropdown-item.active, .gradient-2 .dropdown-item:active, .gradient-2 .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .gradient-2 i, .gradient-2 .footer-widget ul li a:hover, .footer-widget ul li .gradient-2 a:hover, .gradient-2 .footer .nav li a:hover, .footer .nav li .gradient-2 a:hover, .gradient-2
.btn--outline.btn--color-primary, .gradient-2
.btn--outline-thick.btn--color-primary, .gradient-2
.btn--color-dark.btn-text-hover:hover {
  color: #2f5bea;
}

.gradient-3 .color-primary, .gradient-3 .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .gradient-3 .media-player-icon--fill-grey, .gradient-3 .btn--bg-white:hover, .gradient-3 .btn--color-primary, .gradient-3 .btn-text-hover:hover, .gradient-3 .card--focused .btn__text, .card--focused .gradient-3 .btn__text, .gradient-3 .lang-selector .lang-dropdown__item:focus, .lang-selector .gradient-3 .lang-dropdown__item:focus, .gradient-3 .lang-selector .lang-dropdown__item:hover, .lang-selector .gradient-3 .lang-dropdown__item:hover, .gradient-3 .icon-rounded .icon, .icon-rounded .gradient-3 .icon, .gradient-3 .media-player-icon--fill-grey:hover, .gradient-3 .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .gradient-3 i, .gradient-3 .pagination .page-item .page-link:hover, .pagination .page-item .gradient-3 .page-link:hover, .gradient-3 .dropdown-item:focus, .gradient-3 .dropdown-item:hover, .gradient-3 .dropdown-item.active, .gradient-3 .dropdown-item:active, .gradient-3 .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .gradient-3 i, .gradient-3 .footer-widget ul li a:hover, .footer-widget ul li .gradient-3 a:hover, .gradient-3 .footer .nav li a:hover, .footer .nav li .gradient-3 a:hover, .gradient-3
.btn--outline.btn--color-primary, .gradient-3
.btn--outline-thick.btn--color-primary, .gradient-3
.btn--color-dark.btn-text-hover:hover {
  color: #3A6CC5;
}

.gradient-4 .color-primary, .gradient-4 .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .gradient-4 .media-player-icon--fill-grey, .gradient-4 .btn--bg-white:hover, .gradient-4 .btn--color-primary, .gradient-4 .btn-text-hover:hover, .gradient-4 .card--focused .btn__text, .card--focused .gradient-4 .btn__text, .gradient-4 .lang-selector .lang-dropdown__item:focus, .lang-selector .gradient-4 .lang-dropdown__item:focus, .gradient-4 .lang-selector .lang-dropdown__item:hover, .lang-selector .gradient-4 .lang-dropdown__item:hover, .gradient-4 .icon-rounded .icon, .icon-rounded .gradient-4 .icon, .gradient-4 .media-player-icon--fill-grey:hover, .gradient-4 .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .gradient-4 i, .gradient-4 .pagination .page-item .page-link:hover, .pagination .page-item .gradient-4 .page-link:hover, .gradient-4 .dropdown-item:focus, .gradient-4 .dropdown-item:hover, .gradient-4 .dropdown-item.active, .gradient-4 .dropdown-item:active, .gradient-4 .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .gradient-4 i, .gradient-4 .footer-widget ul li a:hover, .footer-widget ul li .gradient-4 a:hover, .gradient-4 .footer .nav li a:hover, .footer .nav li .gradient-4 a:hover, .gradient-4
.btn--outline.btn--color-primary, .gradient-4
.btn--outline-thick.btn--color-primary, .gradient-4
.btn--color-dark.btn-text-hover:hover {
  color: #a6546e;
}

.gradient-5 .color-primary, .gradient-5 .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .gradient-5 .media-player-icon--fill-grey, .gradient-5 .btn--bg-white:hover, .gradient-5 .btn--color-primary, .gradient-5 .btn-text-hover:hover, .gradient-5 .card--focused .btn__text, .card--focused .gradient-5 .btn__text, .gradient-5 .lang-selector .lang-dropdown__item:focus, .lang-selector .gradient-5 .lang-dropdown__item:focus, .gradient-5 .lang-selector .lang-dropdown__item:hover, .lang-selector .gradient-5 .lang-dropdown__item:hover, .gradient-5 .icon-rounded .icon, .icon-rounded .gradient-5 .icon, .gradient-5 .media-player-icon--fill-grey:hover, .gradient-5 .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .gradient-5 i, .gradient-5 .pagination .page-item .page-link:hover, .pagination .page-item .gradient-5 .page-link:hover, .gradient-5 .dropdown-item:focus, .gradient-5 .dropdown-item:hover, .gradient-5 .dropdown-item.active, .gradient-5 .dropdown-item:active, .gradient-5 .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .gradient-5 i, .gradient-5 .footer-widget ul li a:hover, .footer-widget ul li .gradient-5 a:hover, .gradient-5 .footer .nav li a:hover, .footer .nav li .gradient-5 a:hover, .gradient-5
.btn--outline.btn--color-primary, .gradient-5
.btn--outline-thick.btn--color-primary, .gradient-5
.btn--color-dark.btn-text-hover:hover {
  color: #2A7871;
}

.gradient-6 .color-primary, .gradient-6 .hero-content .btn:hover .media-player-icon--fill-grey, .hero-content .btn:hover .gradient-6 .media-player-icon--fill-grey, .gradient-6 .btn--bg-white:hover, .gradient-6 .btn--color-primary, .gradient-6 .btn-text-hover:hover, .gradient-6 .card--focused .btn__text, .card--focused .gradient-6 .btn__text, .gradient-6 .lang-selector .lang-dropdown__item:focus, .lang-selector .gradient-6 .lang-dropdown__item:focus, .gradient-6 .lang-selector .lang-dropdown__item:hover, .lang-selector .gradient-6 .lang-dropdown__item:hover, .gradient-6 .icon-rounded .icon, .icon-rounded .gradient-6 .icon, .gradient-6 .media-player-icon--fill-grey:hover, .gradient-6 .btn:hover .media-player-icon--fill-grey i, .btn:hover .media-player-icon--fill-grey .gradient-6 i, .gradient-6 .pagination .page-item .page-link:hover, .pagination .page-item .gradient-6 .page-link:hover, .gradient-6 .dropdown-item:focus, .gradient-6 .dropdown-item:hover, .gradient-6 .dropdown-item.active, .gradient-6 .dropdown-item:active, .gradient-6 .features--slider-2 .slick-arrow:hover i, .features--slider-2 .slick-arrow:hover .gradient-6 i, .gradient-6 .footer-widget ul li a:hover, .footer-widget ul li .gradient-6 a:hover, .gradient-6 .footer .nav li a:hover, .footer .nav li .gradient-6 a:hover, .gradient-6
.btn--outline.btn--color-primary, .gradient-6
.btn--outline-thick.btn--color-primary, .gradient-6
.btn--color-dark.btn-text-hover:hover {
  color: #9b59b6;
}

/**! ----- Border Color for theme ---- **/
.theme-green .border-primary, .theme-green .hr--blod, .theme-green .btn--color-primary, .theme-green .btn--outline:hover, .theme-green .btn--outline-thick:hover, .theme-green .btn-text-hover:hover, .theme-green
.btn--color-dark.btn-text-hover:hover {
  border-color: #27ae60;
}

.theme-violet .border-primary, .theme-violet .hr--blod, .theme-violet .btn--color-primary, .theme-violet .btn--outline:hover, .theme-violet .btn--outline-thick:hover, .theme-violet .btn-text-hover:hover, .theme-violet
.btn--color-dark.btn-text-hover:hover {
  border-color: #9b59b6;
}

.theme-firoza .border-primary, .theme-firoza .hr--blod, .theme-firoza .btn--color-primary, .theme-firoza .btn--outline:hover, .theme-firoza .btn--outline-thick:hover, .theme-firoza .btn-text-hover:hover, .theme-firoza
.btn--color-dark.btn-text-hover:hover {
  border-color: #16a085;
}

.theme-red .border-primary, .theme-red .hr--blod, .theme-red .btn--color-primary, .theme-red .btn--outline:hover, .theme-red .btn--outline-thick:hover, .theme-red .btn-text-hover:hover, .theme-red
.btn--color-dark.btn-text-hover:hover {
  border-color: #e74c3c;
}

.theme-orange .border-primary, .theme-orange .hr--blod, .theme-orange .btn--color-primary, .theme-orange .btn--outline:hover, .theme-orange .btn--outline-thick:hover, .theme-orange .btn-text-hover:hover, .theme-orange
.btn--color-dark.btn-text-hover:hover {
  border-color: #ee8663;
}

.gradient-1 .border-primary, .gradient-1 .hr--blod, .gradient-1 .btn--color-primary, .gradient-1 .btn--outline:hover, .gradient-1 .btn--outline-thick:hover, .gradient-1 .btn-text-hover:hover, .gradient-1
.btn--color-dark.btn-text-hover:hover {
  border-color: #5179ec;
}

.gradient-2 .border-primary, .gradient-2 .hr--blod, .gradient-2 .btn--color-primary, .gradient-2 .btn--outline:hover, .gradient-2 .btn--outline-thick:hover, .gradient-2 .btn-text-hover:hover, .gradient-2
.btn--color-dark.btn-text-hover:hover {
  border-color: #2f5bea;
}

.gradient-3 .border-primary, .gradient-3 .hr--blod, .gradient-3 .btn--color-primary, .gradient-3 .btn--outline:hover, .gradient-3 .btn--outline-thick:hover, .gradient-3 .btn-text-hover:hover, .gradient-3
.btn--color-dark.btn-text-hover:hover {
  border-color: #3A6CC5;
}

.gradient-4 .border-primary, .gradient-4 .hr--blod, .gradient-4 .btn--color-primary, .gradient-4 .btn--outline:hover, .gradient-4 .btn--outline-thick:hover, .gradient-4 .btn-text-hover:hover, .gradient-4
.btn--color-dark.btn-text-hover:hover {
  border-color: #a6546e;
}

.gradient-5 .border-primary, .gradient-5 .hr--blod, .gradient-5 .btn--color-primary, .gradient-5 .btn--outline:hover, .gradient-5 .btn--outline-thick:hover, .gradient-5 .btn-text-hover:hover, .gradient-5
.btn--color-dark.btn-text-hover:hover {
  border-color: #2A7871;
}

.gradient-6 .border-primary, .gradient-6 .hr--blod, .gradient-6 .btn--color-primary, .gradient-6 .btn--outline:hover, .gradient-6 .btn--outline-thick:hover, .gradient-6 .btn-text-hover:hover, .gradient-6
.btn--color-dark.btn-text-hover:hover {
  border-color: #9b59b6;
}

/**! ----- Box shadow Color for theme  ---- **/
.theme-green .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .theme-green .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #27ae60;
          box-shadow: 0px 2px 0px #27ae60;
}

.theme-violet .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .theme-violet .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #9b59b6;
          box-shadow: 0px 2px 0px #9b59b6;
}

.theme-firoza .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .theme-firoza .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #16a085;
          box-shadow: 0px 2px 0px #16a085;
}

.theme-red .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .theme-red .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #e74c3c;
          box-shadow: 0px 2px 0px #e74c3c;
}

.theme-orange .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .theme-orange .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #ee8663;
          box-shadow: 0px 2px 0px #ee8663;
}

.gradient-1 .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .gradient-1 .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #5179ec;
          box-shadow: 0px 2px 0px #5179ec;
}

.gradient-2 .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .gradient-2 .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #2f5bea;
          box-shadow: 0px 2px 0px #2f5bea;
}

.gradient-3 .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .gradient-3 .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #3A6CC5;
          box-shadow: 0px 2px 0px #3A6CC5;
}

.gradient-4 .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .gradient-4 .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #a6546e;
          box-shadow: 0px 2px 0px #a6546e;
}

.gradient-5 .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .gradient-5 .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #2A7871;
          box-shadow: 0px 2px 0px #2A7871;
}

.gradient-6 .features .swipe-tab.active-tab .swipe-tab__inner, .features .swipe-tab.active-tab .gradient-6 .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #9b59b6;
          box-shadow: 0px 2px 0px #9b59b6;
}

body[class*="gradient-"] .card--focused {
  border: none;
}

body[class*="gradient-"] .navbar .btn--outline {
  -webkit-box-shadow: 0 0 1px 0 #fff;
          box-shadow: 0 0 1px 0 #fff;
  border: none;
}

body[class*="gradient-"] .navbar .btn--outline:hover {
  -webkit-box-shadow: none;
          box-shadow: none;
}

body[class*="gradient-"] .card .btn--outline {
  -webkit-box-shadow: 0 0 1px 0 #aaa;
          box-shadow: 0 0 1px 0 #aaa;
  border: none;
}

body[class*="gradient-"] .navbar-sticky--on .btn,
body[class*="theme-"] .navbar-sticky--on .btn {
  color: #fff;
}

body[class*="gradient-"] .form-subscription .btn,
body[class*="theme-"] .form-subscription .btn {
  border-left: 1px solid #e7eaee;
}

/*
*  theme overwrite 
=================================
=================================
=================================*/
/**! 31. user style **/
/**! ----- font family init ---- **/
body {
  font-family: "Aileron", sans-serif, "Aileron", sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Aileron", sans-serif;
}

.blockquote {
  font-family: "Noto Serif", serif;
}

.bg-color-primary, .btn--bg-primary, .navbar-sticky--on .btn, .btn--bg-grey:hover, .btn--outline:hover, .btn--outline-thick:hover, .btn-border-hover.btn--color-white:before, .card--focused, .card--outline:hover, .card--outline:focus, .social-lists li a:hover, .media-player-icon--fill-primary, .oval, .slick-active .slick-dots--long, .pagination .page-item.active .page-link {
  background: #2f5bea;
}

.bg-fill-primary {
  fill: #2f5bea;
}

.color-primary, .hero-content .btn:hover .media-player-icon--fill-grey, .btn--bg-white:hover, .btn--color-primary, .btn--color-primary:hover, .btn--color-dark.btn-text-hover:hover, .btn--outline.btn--color-primary, .btn--outline-thick.btn--color-primary, .btn-text-hover:hover, .card--focused .btn__text, .lang-selector .lang-dropdown__item:focus, .lang-selector .lang-dropdown__item:hover, .icon-rounded .icon, .media-player-icon--fill-grey:hover, .btn:hover .media-player-icon--fill-grey i, .pagination .page-item .page-link:hover, .dropdown-item:focus, .dropdown-item:hover, .dropdown-item.active, .dropdown-item:active, .features--slider-2 .slick-arrow:hover i, .footer-widget ul li a:hover, .footer .nav li a:hover {
  color: #2f5bea;
}

.features .swipe-tab.active-tab .swipe-tab__inner {
  -webkit-box-shadow: 0px 2px 0px #2f5bea;
          box-shadow: 0px 2px 0px #2f5bea;
}

.border-primary, .hr--blod, .btn--color-primary, .btn--color-dark.btn-text-hover:hover, .btn--outline:hover, .btn--outline-thick:hover, .btn-text-hover:hover {
  border-color: #2f5bea;
}

.bg-fill-primary {
  fill: #2f5bea;
}

/*! Place your custom styles here/ below. 
    This will make it much easier to update the template later - you'll only need to preserve "5-user" folder
===================================================================================================*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIjEtc2Nzc19oZWxwZXJzL19taXhpbnMuc2NzcyIsImFwcC5zY3NzIiwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9fY29yZS5zY3NzIiwiMS1zY3NzX2hlbHBlcnMvX3ZhcmlhYmxlcy5zY3NzIiwiYXBwLmNzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX3R5cG9ncmFwaHkuc2NzcyIsIjEtc2Nzc19oZWxwZXJzL19mdW5jdGlvbnMuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX2hlbHBlcnMuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX3NwYWNpbmcuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX2JveGVkLWxheW91dC5zY3NzIiwiNS11c2VyL19ib3hlZC1sYXlvdXQuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX3BhdHRlcm4uc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX2NvbG9ycy5zY3NzIiwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9fZm9ybS5zY3NzIiwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9fY2FyZHMuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX3NvY2lhbC1saXN0LnNjc3MiLCIyLWZyYW1ld29ya19jb21wb25lbnRzL19sYW5ndWFnZS1zZWxlY3Rvci5zY3NzIiwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX2JhY2tncm91bmQtaG9sZGVyLnNjc3MiLCIyLWZyYW1ld29ya19jb21wb25lbnRzL19zZWN0aW9uLW92ZXJsYXAuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvYmxvZy9fYmxvZy1wb3N0LnNjc3MiLCIyLWZyYW1ld29ya19jb21wb25lbnRzL2Jsb2cvX2Jsb2ctc2lkZWJhci13aWRnZXQuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvYmxvZy9fYmxvZy1ibG9ja3F1b3RlLnNjc3MiLCIyLWZyYW1ld29ya19jb21wb25lbnRzL2Jsb2cvX2Jsb2ctY29tbWVudHMuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvYmxvZy9fYmxvZy1uYXZpZ2F0aW9uLnNjc3MiLCIyLWZyYW1ld29ya19jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIyLWZyYW1ld29ya19jb21wb25lbnRzL19zdGlja3ktZWxlbWVudHMuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX3N3aXRjaGFibGUuc2NzcyIsIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvX3ByZWxvYWRlci5zY3NzIiwiMy10aGVtZV9jb21wb25lbnRzL19uYXZpZ2F0aW9uLnNjc3MiLCIzLXRoZW1lX2NvbXBvbmVudHMvX2hlcm8uc2NzcyIsIjMtdGhlbWVfY29tcG9uZW50cy9fZmVhdHVyZXMuc2NzcyIsIjMtdGhlbWVfY29tcG9uZW50cy9fd29ya2luZy1wcm9jZXNzLnNjc3MiLCIzLXRoZW1lX2NvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiNC10aGVtZXMvX3RoZW1lcy5zY3NzIiwiNS11c2VyL190eXBvZ3JhcGh5LnNjc3MiLCI1LXVzZXIvX3VzZXIuc2NzcyIsIjUtdXNlci9fY29sb3JzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsK0NBQStDO0FBOEQvQyw2Q0FBNkM7QUF3UzdDLHdEQUF3RDtBQ3ZXeEQsbUJBQW1CO0FBQ25CLGlCQUFpQjtBQUNqQixpQkFBaUI7QUFDakIsdUJBQXVCO0FBQ3ZCLG9CQUFvQjtBQUNwQixvQkFBb0I7QUFDcEIseUJBQXlCO0FBQ3pCLG9CQUFvQjtBQUNwQixtQkFBbUI7QUFDbkIsb0JBQW9CO0FBQ3BCLGlCQUFpQjtBQUNqQixrQkFBa0I7QUFDbEIsd0JBQXdCO0FBQ3hCLDhCQUE4QjtBQUM5QixrQkFBa0I7QUFDbEIsOEJBQThCO0FBQzlCLDRCQUE0QjtBQUM1QixzQkFBc0I7QUFDdEIsZ0NBQWdDO0FB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O0NBQy9EOztBQTlCTDtFQWdDUSwyREFBMEQ7Q0FDN0Q7O0FBakNMO0VBbUNRLGtEQUFpRDtDQUNwRDs7QUFwQ0w7RUFzQ1EscURBQW9EO0NBQ3ZEOztBQXZDTDtFQXlDUSx5REFBd0Q7Q0FDM0Q7O0FWdUJMLG1CQUFtQjtBV3BFbkIsK0NBQStDO0FBQy9DO0VBQ0Msb0JUR2tGO0NTRmxGOztBQUVEO0VBQ0MsZVREa0Y7Q1NFbEY7O0FBR0Q7RUFDQyx3Q1ROa0Y7VVNNbEYsZ0NUTmtGO0NTT2xGOztBQUVEO0VBQ0Msc0JUVmtGO0NTV2xGOztBQUVELGtDQUFrQztBQUNsQztFQUNDLGNUZmtGO0NTZ0JsRjs7QUFNRCxnREFBZ0Q7QUFDaEQ7RUFDQyxpQlR6QitFO0NTMEIvRTs7QUFFRCxvQ0FBb0M7QVJ3aENwQztFUXRoQ0MsZVR4QmtGO0NTNkJsRjs7QVJxaENEO0VRdmhDRSxvQlRkaUY7Q1NlakY7O0FBR0YsaUNBQWlDO0FBQ2pDO0VBQ0Msb0JUcEJrRjtDU3FCbEY7O0FBRUQ7RUFDQyxvQlR6QmtGO0NTMEJsRjs7QUFFRDtFQUNDLG9CVC9Ca0Y7Q1NnQ2xGOztBQU1EO0VBQ0MsMEJUeENrRjtDU3lDbEY7O0FBRUQ7RUFDQywwQlRoRGtGO0NTcURsRjs7QUFORDtFQUlFLFlUOUQ4RTtDUytEOUU7O0FBR0Y7RUFDQyxtRlRyQzBJO0VTcUMxSSw4RVRyQzBJO0VTcUMxSSwyRVRyQzBJO0NTc0MxSTs7QUFFRDtFQUNDLHNGVHhDNEg7RVN3QzVILG9FVHhDNEg7RVN3QzVILCtEVHhDNEg7RVN3QzVILDZEVHhDNEg7Q1N5QzVIOztBQUVEO0VBQ0Msc0VUM0M2SDtFUzJDN0gsaUVUM0M2SDtFUzJDN0gsOERUM0M2SDtDUzRDN0g7O0FBRUQ7RUFDQyxzRlQ5QytIO0VTOEMvSCxvRVQ5QytIO0VTOEMvSCwrRFQ5QytIO0VTOEMvSCxnRVQ5QytIO0NTK0MvSDs7QUFFRDtFQUNDLHNFVGpENkg7RVNpRDdILGlFVGpENkg7RVNpRDdILDhEVGpENkg7Q1NrRDdIOztBQUVEO0VBQ0Msc0VUcEQ4SDtFU29EOUgsaUVUcEQ4SDtFU29EOUgsK0RUcEQ4SDtDU3FEOUg7O0FBTUQ7RUFDQyxZVC9GK0U7Q1NvRy9FOztBUjZnQ0Q7RVEvZ0NFLFlUbEc4RTtDU21HOUU7O0FBR0Y7RUFDQywwQkFBeUM7Q0FDekM7O0FBRUQ7RUFDQyxlVHRHa0Y7Q1M0R2xGOztBUjRnQ0Q7RVEvZ0NFLGVUekdpRjtDUzBHakY7O0FBSUY7RUFDQyxlVDlHa0Y7Q1NvSGxGOztBUjJnQ0Q7RVE5Z0NFLGVUakhpRjtDU2tIakY7O0FBSUY7RUFDQyxZVDdIK0U7Q1NrSS9FOztBQU5EO0VBSUUsWVRoSThFO0NTaUk5RTs7QUFHRiw2Q0FBNkM7QVB4STdDOzs7Ozs7RU8rSUMsZVR2SWtGO0NTd0lsRjs7QUFNQTs7Ozs7Ozs7RUFFQyxlVGhKaUY7Q1NpSmpGOztBUmloQ0Y7Ozs7Ozs7Ozs7Ozs7Ozs7RVFyZ0NFLFlUaks4RTtDU2tLOUU7O0FQaklGO0VPcUlDLGVUaktrRjtDUytLbEY7O0FSeWdDRDs7OztFUWpoQ0UsZVR0S2lGO0NTdUtqRjs7QUFFRDs7RUFFQyxlVG5LaUY7Q1NvS2pGOztBUHJGRjtFTzBGQyxlVGpMa0Y7Q1N1TGxGOztBQUpBOztFQUVDLGVUbkxpRjtDU29MakY7O0FBS0Q7O0VBRUMsZVRyTGlGO0NTc0xqRjs7QUFLRDs7O0VBR0MsZVRwTWlGO0NTME1qRjs7QUFURDs7Ozs7O0VBT0UsZVR4TWdGO0NTeU1oRjs7QVg5SUgsb0JBQW9CO0FZdENwQjtFQUNJLFVBQVM7RUFDVCxXQUFVO0VBQ1YseUJBQWdCO1VBQWhCLGlCQUFnQjtFQUNoQixnQlBuQ2lDO0VPb0NqQyxpQkFBZ0I7RUFDaEIsMEJBQXlCO0VBQ3pCLHVCUHRDaUM7RU91Q2pDLHdCQUFlO0VBQWYsbUJBQWU7RUFBZixnQkFBZTtFQUNmLG1CQUFrQjtFQUNsQixXQUFVO0NBRWI7O0FBRUQsK0JBQStCO0FBQy9CO0VBQ0ksMkJQL0NpQztFT2dEakMscUJQaERpQztDT2tEcEM7O0FBRUQsMkNBQTJDO0FBRTNDO0VBQ0ksd0JBQXVCO0VBQ3ZCLFdBQVU7RUFDVixxQlB6RGlDO0VP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bUJBQWU7RUFBZixnQkFBZTtDQUlsQjs7QUFmVDtFQWtCWSx1QlZ4QnlCO0NVeUI1Qjs7QWZ3RFQsOEJBQThCO0FnQjFEOUI7RUEwQkUsNENBQTRDO0NBdUM3Qzs7QUFoRUM7RUFDRSx3QkFBdUI7RUFDdkIsV0FBVTtFQUNWLG9CWDNCaUM7Q1dnRGxDOztBQXhCQTtFQU1HLHVCWDlCK0I7RVcrQi9CLG9CWC9CK0I7Q1dnQ2hDOztBQVJGO0VBV0csd0JYbkMrQjtFV29DL0IsaUJBQWdCO0VBQ2hCLGVkOUI2RTtDY2tDOUU7O0FibW9ETDtFYXJvRFEsZWQvQjJFO0NjZ0M1RTs7QWJ3b0RQO0VhcG9EUSxlZHBDMkU7Q2NxQzVFOztBQXRCUDtFQTRCSSxVQUFTO0VBQ1Qsa0JYcERpQztFV3FEakMsVUFBUztFakJ3TVgsOEJBQTZCO0VBQzdCLFVpQnhNdUI7RWpCeU12QixZaUJ6TTZCO0VqQjBNN0IsYWlCMU1tQztFakIyTW5DLFFpQjNNc0M7RUFHcEMsaUJkdkQ0RTtFY3dENUUsZUFBYztFQUNkLG1CWDNEaUM7RVc0RGpDLGNBQWE7Q0EyQmQ7O0FBaEVIO0VBd0NNLFlBQVc7RWpCOExmLDhCQUE2QjtFQUM3QixVaUI5THlCO0VqQitMekIsWWlCL0wrQjtFakJnTS9CLGNpQmhNc0M7RWpCaU10QyxXaUJqTTRDO0VqQnVINUMsU0FBUTtFQUNSLFVBQVM7RUFlUCxvQ0FBeUM7RUFDekMscUNBQTBDO0VBQzFDLDRCaUJ4SStCO0NBQzlCOztBakJvQ0Q7RWlCL0VKO0lqQnNPRSw4QkFBNkI7SUFDN0IsVWlCekx5QjtJakIwTHpCLFlpQjFMK0I7SWpCMkwvQixhaUIzTHFDO0lqQjRMckMsUWlCNUx3QztHQWtCdkM7Q2Jrb0RGOztBYWxzREQ7RUFtRE0saUJYMUUrQjtFVzRFL0IsMEJBQXlCO0VBQ3pCLG9CWDdFK0I7RVc4RS9CLGlCQUFnQjtFQUNoQixlZHpFNkU7RWMwRTdFLHdCQUFlO0VBQWYsbUJBQWU7RUFBZixnQkFBZTtDQU1oQjs7QWhCRkwsa0JBQWtCO0FpQnRGbEIsOEJBQThCO0FBSzlCO0VBQ0ksb0JmZStFO0VlZC9FLGdCWkxpQztFWU1qQyxpQlpOaUM7RVlPakMscUJBQW9CO0VBQ3BCLG1CQUFrQjtDQXFCckI7O0FBMUJEO0VBUVEsWUFBVztFbEJvUmpCLDhCQUE2QjtFQUczQixTQUFRO0VBQ1IsVUFBYTtFQUdYLHlDQUFnQztNQUFoQyxxQ0FBZ0M7VUFBaEMsaUNBQWdDO0VrQnpSOUIsMkRBQTBEO0VBQzFELGdCWmQ2QjtFWWU3QixpQlpmNkI7Q1lnQmhDOztBQWJMO0VBZ0JRLGtCWm5CNkI7RVlvQjdCLFlmbEJ3RTtFZW1CeEUsc0JackI2QjtDWXNCaEM7O0FBbkJMO0VBdUJZLHdEQUErQztVQUEvQyxnREFBK0M7Q0FDbEQ7O0FBSVQsNENBQTRDO0FBRTVDO0VBQ0k7SUFDSSxzREFBNkM7WUFBN0MsOENBQTZDO0dkb3VEbEQ7RWM1dERDO0lBQ0ksd0RBQStDO1lBQS9DLGdEQUErQztHZDh0RHBEO0NBQ0Y7QWMxdUREO0VBQ0k7SUFDSSxzREFBNkM7WUFBN0MsOENBQTZDO0dkb3VEbEQ7RWM1dERDO0lBQ0ksd0RBQStDO1lBQS9DLGdEQUErQztHZDh0RHBEO0NBQ0Y7O0FjcnRERCwrQkFBK0I7QUFRL0I7RUFDSSxvQ2Y1RCtFO0VlNkQvRSxnQlpoRWlDO0VZaUVqQyxpQlpqRWlDO0VZa0VqQyxxQkFBb0I7RUFDcEIsbUJBQWtCO0NBcUJyQjs7QUFuQkc7RUFDSSxnQlp0RTZCO0VZdUU3QixpQlp2RTZCO0NZeUVoQzs7QUFYTDtFQWNRLGtCWjVFNkI7RVk4RTdCLHNCWjlFNkI7Q1krRWhDOztBQWpCTDtFQXFCWSxvQlpuRnlCO0VZb0Z6QixzQlpwRnlCO0NZcUY1Qjs7QUFLVDtFQUVRLGVBQWM7RUFDZCxhQUFZO0NBTWY7O0FBVEw7RUFNWSxXQUFVO0NBQ2I7O0FBTVQscUNBQXFDO0FBaUJyQztFQUNJLG1CQUFrQjtFQUNsQixxQkFBb0I7RUFDcEIsd0JBQWU7RUFBZixtQkFBZTtFQUFmLGdCQUFlO0NBOElsQjs7QUFqSkQ7RUFNUSxtQkFBa0I7Q0FDckI7O0FBR0Q7RUFDSSxvQlpuSTZCO0VZb0k3QixpQlpwSTZCO0VZcUk3QixnQlpySTZCO0VZc0k3QixzQlp0STZCO0NZOEloQzs7QUFaQTtFQVFXLFNBQVE7Q0FDWDs7QUFLVDtFQUNJLHFCWmpKNkI7RVlrSjdCLGtCWmxKNkI7RVltSjdCLGlCWm5KNkI7RVlvSjdCLHVCWnBKNkI7Q1k0SmhDOztBQVpBO0VBUVcsV0FBVTtDQUNiOztBQUtUO0VBQ0ksZ0JaL0o2QjtFWWdLN0IsYVpoSzZCO0VZaUs3QixZWmpLNkI7RVlrSzdCLGtCWmxLNkI7RVltSzdCLHVEZmpLd0U7VWVpS3hFLCtDZmpLd0U7Q2U0SzNFOztBQWhCQTtFQVFPLHdEZnBLb0U7VWVvS3BFLGdEZnBLb0U7Q2VxS3ZFOztBQVRKO0VBWU8sdUJaMUt5QjtFWTJLekIsZVozS3lCO0NZNEs1Qjs7QWxCNUVMO0VrQmdGQTtJQUlRLGdCWnBMeUI7SVlxTHpCLGlCWnJMeUI7SVlzTHpCLGdCWnRMeUI7SVl1THpCLHNCWnZMeUI7SVl3THpCLHVEZnRMb0U7WWVzTHBFLCtDZnRMb0U7R2VpTTNFO0VBbkJBO0lBV1csd0RmekxnRTtZZXlMaEUsZ0RmekxnRTtHZTBMbkU7RUFaUjtJQWVXLHVCWi9McUI7SVlnTXJCLGVaaE1xQjtHWWlNeEI7Q2Q4cURaOztBYzFxREc7RUFFSSxZZnJNd0U7Q2UyTTNFOztBQVJBO0VBS08sWWZ4TW9FO0NleU12RTs7QUFJTDtFQUNJLG9CZm5NMkU7RWVvTTNFLFlmL013RTtFZWdOeEUsc0RBQTZDO1VBQTdDLDhDQUE2QztDQU1oRDs7QUFUQTtFQU1PLFlmbk5vRTtDZW9OdkU7O0FBSUw7RUFDSSxvQmZqTjJFO0Vla04zRSxZZjFOd0U7Q2UrTzNFOztBQXZCQTtFQUtPLHVCWi9OeUI7RVlnT3pCLHlCQUFzQjtDQUN6Qjs7QUFNRDtFQUNJLFVBQWE7Q0FDaEI7O0FBVUw7RUFDSSxtQ2ZsUHdFO1Vla1B4RSwyQmZsUHdFO0VlbVB4RSxZZm5Qd0U7Q2VzUTNFOztBQXJCQTtFQUtPLFlmdFBvRTtFZXVQcEUsd0RmdlBvRTtVZXVQcEUsZ0RmdlBvRTtDZXdQdkU7O0FBUEo7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O0UvQm9PM0IsUytCcE84QjtFL0JxTzlCLGErQnJPb0M7RS9Cc09wQyxRK0J0T3VDO0VBQ2pDLFlBQVc7Q0FLZDs7QS9Cc0NIO0UrQnBDRTtJQUVRLGV6QnJDeUI7R3lCdUNoQztDM0JpeEZKOztBMkIvd0ZHO0VBQ0kscUJ6QjFDNkI7Q3lCc0VoQzs7QS9Cb0REO0UrQmpGQTtJQUlRLHFCekI3Q3lCO0l5QjhDekIsbUJBQWtCO0lBQ2xCLGVBQWM7R0F1QnJCO0MzQjh2Rko7O0FKcHVGRztFK0I3Q0k7SUFFUSxrQkFBNEI7R0FHbkM7QzNCa3hGUjs7QTJCaHhGTztFQUNJLGdCQUFlO0NBQ2xCOztBQW5CSjtFQXlCZSxpQjVCaEU0RDtDNEJpRS9EOztBQUtiO0VBQ0ksb0J6QnpFNkI7Q3lCc0doQzs7QS9Cb0JEO0UrQmxEQTtJQUlRLGtCQUFpQjtJQUNqQixtQkFBa0I7R0F5QnpCO0MzQnV2Rko7O0FKN3ZGRztFK0J4QkM7SUFXVyxtQkFBa0I7SUFDbEIsa0J6QnBGcUI7R3lCcUc1QjtDM0IrdkZSOztBSjF3Rkc7RStCbEJDO0lBZ0JXLGdCekJ4RnFCO0d5QnFHNUI7QzNCcXdGUjs7QUoxd0ZHO0UrQkxRO0lBRVEsaUJ6QjdGaUI7R3lCb0d4QjtDM0I0d0ZaOztBSnR4Rkc7RStCQ1E7SUFNUSxlekJqR2lCO0d5Qm9HeEI7QzNCa3hGWjs7QTJCOXdGRztFQUNJLHdCekJ6RzZCO0V5QjBHN0IsaUJBQWdCO0VBRWhCLHVCekI1RzZCO0N5QnVIaEM7O0EvQmpCRDtFK0JFQTtJQU9RLGdCekIvR3lCO0l5QmdIekIsa0I1QjlCb0U7RzRCcUMzRTtDM0I0d0ZKOztBMkIvd0ZPO0VBQ0ksZTVCL0d1RTtDNEJnSDFFOztBQUdMO0VBQ0kseUJ6QjFINkI7Q3lCZ0loQzs7QUFKRztFQUNJLGU1QnZIdUU7RTRCd0h2RSxhQUFZO0NBQ2Y7O0FBS0w7RUFDSSxlNUJySDJFO0M0QnNIOUU7O0FBSEw7RUFNUSxZNUJ2SXdFO0M0QndJM0U7O0FBR0w7RUFLUSxpQ0FBZ0M7RUFDaEMseUJBQXdCO0VBQ3hCLGFBQVk7Q0FDZjs7QUFFTDtFQUNJLGF6QnhKaUM7RXlCeUpqQyxjekJ6SmlDO0V5QjBKakMsb0JBQW1CO0NBWXRCOztBL0IxREc7RStCMkNKO0lBTVEsZ0J6QjdKNkI7SXlCOEo3QixpQnpCOUo2QjtHeUJzS3BDO0MzQnF3RkE7O0FKMzBGRztFK0J1REo7SUFZUSxlekJuSzZCO0l5Qm9LN0IsZ0J6QnBLNkI7R3lCc0twQztDM0I0d0ZBOztBSDl5RkQscUJBQXFCO0ErQnRJckI7RUFFUSxtQjFCQTZCO0UwQkM3QixlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLHdCMUJINkI7QzBCUWhDOztBaEN3RkQ7RWdDbEdKO0lBUVkseUIxQk55QjtHMEJRaEM7QzVCdzdGSjs7QTRCbDhGRDtFQWFRLHNCMUJYNkI7QzBCWWhDOztBQWRMO0VBb0JRLG9CQUFtQjtDQWtCdEI7O0FoQ2tHRDtFZ0N4SUo7SUF1QlksdUJBQXNCO0lBQ3RCLDhCQUE2QjtJQUM3Qix3QjFCdkJ5QjtHMEJvQ2hDO0M1QjQ2Rko7O0E0Qmw5RkQ7RUE2QlksMEIxQjNCeUI7RTBCNEJ6QixnQkFBZTtDQUNsQjs7QUFTTDtFQUNJLG1CQUFrQjtFQUNsQixvQjFCeEM2QjtDMEJ1RGhDOztBaENtRUQ7RWdDcEZBO0lBS1EsZUFBYztHQVlyQjtDNUJ5NkZKOztBNEIxN0ZJO0VBU08sWUFBVztFaEM4TXJCLDhCQUE2QjtFQUM3QixVZ0M5TStCO0VoQytNL0IsWWdDL01xQztFaENnTnJDLGFnQ2hOMkM7RWhDaU4zQyxXZ0NqTmlEO0VBQ3ZDLDZEQUE0RDtFQUM1RCxlMUJsRHlCO0UwQm1EekIsYzFCbkR5QjtFMEJvRHpCLFlBQVc7Q0FDZDs7QUF2RFQ7RUE0RFEsbUJBQWtCO0NBV3JCOztBQXZFTDtFQStEWSxZQUFXO0VoQ2dNckIsOEJBQTZCO0VBQzdCLFdnQ2hNZ0M7RWhDaU1oQyxZZ0NqTXNDO0VoQ2tNdEMsYWdDbE00QztFaENtTTVDLFlnQ25NbUQ7RUFDekMsOERoQ3BDRztFZ0NxQ0gsYzFCaEV5QjtFMEJpRXpCLGExQmpFeUI7RTBCa0V6QixZQUFXO0NBQ2Q7O0FBckVU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a0M3SW5CLHVDQUF1QztBQUV0QztFQUNDLG9CaENlaUY7Q2dDZGpGOztBQUVEO0VBQ0Msb0JoQ1lpRjtDZ0NYakY7O0FBRUQ7RUFDQyxvQmhDU2lGO0NnQ1JqRjs7QUFFRDtFQUNDLG9CaENNaUY7Q2dDTGpGOztBQUVEO0VBQ0Msb0JoQ0dpRjtDZ0NGakY7O0FBSUQ7RUFDQyxtRmhDQXlJO0VnQ0F6SSw4RWhDQXlJO0VnQ0F6SSwyRWhDQXlJO0NnQ0N6STs7QUFFRDtFQUNDLHNGaENIMkg7RWdDRzNILG9FaENIMkg7RWdDRzNILCtEaENIMkg7RWdDRzNILDZEaENIMkg7Q2dDSTNIOztBQUVEO0VBQ0Msc0VoQ040SDtFZ0NNNUgsaUVoQ040SDtFZ0NNNUgsOERoQ040SDtDZ0NPNUg7O0FBRUQ7RUFDQyxzRmhDVDhIO0VnQ1M5SCxvRWhDVDhIO0VnQ1M5SCwrRGhDVDhIO0VnQ1M5SCxnRWhDVDhIO0NnQ1U5SDs7QUFFRDtFQUNDLHNFaENaNEg7RWdDWTVILGlFaENaNEg7RWdDWTVILDhEaENaNEg7Q2dDYTVIOztBQUVEO0VBQ0Msc0VoQ2Y2SDtFZ0NlN0gsaUVoQ2Y2SDtFZ0NlN0gsK0RoQ2Y2SDtDZ0NnQjdIOztBQVFEOzs7RUFDQyxvQmhDMURpRjtDZ0M0RGpGOztBQUVEOzs7RUFDQyxvQmhDaEVpRjtDZ0NrRWpGOztBQUVEOzs7RUFDQyxvQmhDbkVpRjtDZ0NvRWpGOztBQUVEOzs7RUFDQyxvQmhDakVpRjtDZ0NrRWpGOztBQUVEOzs7RUFDQyxvQmhDcEVpRjtDZ0NxRWpGOztBQUVEOzs7RUFDQyxvQmhDMURpRjtDZ0MyRGpGOztBQVFEO0VBQ0Msb0JoQzNGaUY7Q2dDNEZqRjs7QUFFRDtFQUNDLG9CaEN6RWlGO0NnQzBFakY7O0FBRUQ7RUFDQyxvQmhDNUVpRjtDZ0M2RWpGOztBQUVEO0VBQ0Msb0JoQy9FaUY7Q2dDZ0ZqRjs7QUFFRDtFQUNDLG9CaENsRmlGO0NnQ21GakY7O0FBRUQ7RUFDQyxvQmhDckZpRjtDZ0NzRmpGOztBQUdEO0VBQ0MsbUZoQ3ZGeUk7RWdDdUZ6SSw4RWhDdkZ5STtFZ0N1RnpJLDJFaEN2RnlJO0NnQ3dGekk7O0FBRUQ7RUFDQyxzRmhDMUYySDtFZ0MwRjNILG9FaEMxRjJIO0VnQzBGM0gsK0RoQzFGMkg7RWdDMEYzSCw2RGhDMUYySDtDZ0MyRjNIOztBQUVEO0VBQ0Msc0VoQzdGNEg7RWdDNkY1SCxpRWhDN0Y0SDtFZ0M2RjVILDhEaEM3RjRIO0NnQzhGNUg7O0FBRUQ7RUFDQyxzRmhDaEc4SDtFZ0NnRzlILG9FaENoRzhIO0VnQ2dHOUgsK0RoQ2hHOEg7RWdDZ0c5SCxnRWhDaEc4SDtDZ0NpRzlIOztBQUVEO0VBQ0Msc0VoQ25HNEg7RWdDbUc1SCxpRWhDbkc0SDtFZ0NtRzVILDhEaENuRzRIO0NnQ29HNUg7O0FBRUQ7RUFDQyxzRWhDdEc2SDtFZ0NzRzdILGlFaEN0RzZIO0VnQ3NHN0gsK0RoQ3RHNkg7Q2dDd0c3SDs7QUFHRixrQ0FBa0M7QUFFakM7RUFDQyxjaENoSmlGO0NnQ2lKakY7O0FBRUQ7RUFDQyxjaEM5SGlGO0NnQytIakY7O0FBRUQ7RUFDQyxjaENqSWlGO0NnQ2tJakY7O0FBRUQ7RUFDQyxjaENwSWlGO0NnQ3FJakY7O0FBRUQ7RUFDQyxjaEN2SWlGO0NnQ3dJakY7O0FBRUQ7RUFDQyxjaEMxSWlGO0NnQzJJakY7O0FBR0Q7RUFDQyxjaEN4S2lGO0NnQ3lLakY7O0FBRUQ7RUFDQyxjaEM3S2lGO0NnQzhLakY7O0FBRUQ7RUFDQyxjaEMvS2lGO0NnQ2dMakY7O0FBRUQ7RUFDQyxjaEM3S2lGO0NnQzhLakY7O0FBRUQ7RUFDQyxjaENoTGlGO0NnQ2lMakY7O0FBRUQ7RUFDQyxjaEN0S2lGO0NnQ3VLakY7O0FBSUYsb0NBQW9DO0FBS25DOzs7O0VBQ0MsZWhDbExpRjtDZ0N1TGpGOztBQUVEOzs7O0VBQ0MsZWhDekxpRjtDZ0MwTGpGOztBQUVEOzs7O0VBQ0MsZWhDNUxpRjtDZ0M2TGpGOztBQUVEOzs7O0VBQ0MsZWhDL0xpRjtDZ0NnTWpGOztBQUVEOzs7O0VBQ0MsZWhDbE1pRjtDZ0NtTWpGOztBQUdEOzs7O0VBQ0MsZWhDaE9pRjtDZ0NpT2pGOztBQUVEOzs7O0VBQ0MsZWhDck9pRjtDZ0NzT2pGOztBQUVEOzs7O0VBQ0MsZWhDdk9pRjtDZ0N3T2pGOztBQUVEOzs7O0VBQ0MsZWhDck9pRjtDZ0NzT2pGOztBQUVEOzs7O0VBQ0MsZWhDeE9pRjtDZ0N5T2pGOztBQUVEOzs7O0VBQ0MsZWhDOU5pRjtDZ0MrTmpGOztBQUlGLDBDQUEwQztBQUd6Qzs7RUFDQyxzQmhDeE9pRjtDZ0N5T2pGOztBQUVEOztFQUNDLHNCaEMzT2lGO0NnQzRPakY7O0FBRUQ7O0VBQ0Msc0JoQzlPaUY7Q2dDK09qRjs7QUFFRDs7RUFDQyxzQmhDalBpRjtDZ0NrUGpGOztBQUVEOztFQUNDLHNCaENwUGlGO0NnQ3FQakY7O0FBSUQ7O0VBQ0Msc0JoQ25SaUY7Q2dDb1JqRjs7QUFFRDs7RUFDQyxzQmhDeFJpRjtDZ0N5UmpGOztBQUVEOztFQUNDLHNCaEMxUmlGO0NnQzJSakY7O0FBRUQ7O0VBQ0Msc0JoQ3hSaUY7Q2dDeVJqRjs7QUFFRDs7RUFDQyxzQmhDM1JpRjtDZ0M0UmpGOztBQUVEOztFQUNDLHNCaENqUmlGO0NnQ21SakY7O0FBR0YsK0NBQStDO0FBRTlDO0VBQ0Msd0NoQzFSaUY7VWdDMFJqRixnQ2hDMVJpRjtDZ0MyUmpGOztBQUVEO0VBQ0Msd0NoQzdSaUY7VWdDNlJqRixnQ2hDN1JpRjtDZ0MrUmpGOztBQUVEO0VBQ0Msd0NoQ2pTaUY7VWdDaVNqRixnQ2hDalNpRjtDZ0NtU2pGOztBQUVEO0VBQ0Msd0NoQ3JTaUY7VWdDcVNqRixnQ2hDclNpRjtDZ0NzU2pGOztBQUVEO0VBQ0Msd0NoQ3hTaUY7VWdDd1NqRixnQ2hDeFNpRjtDZ0MwU2pGOztBQUdEO0VBQ0Msd0NoQ3ZVaUY7VWdDdVVqRixnQ2hDdlVpRjtDZ0N3VWpGOztBQUVEO0VBQ0Msd0NoQzVVaUY7VWdDNFVqRixnQ2hDNVVpRjtDZ0M2VWpGOztBQUVEO0VBQ0Msd0NoQzlVaUY7VWdDOFVqRixnQ2hDOVVpRjtDZ0MrVWpGOztBQUVEO0VBQ0Msd0NoQzVVaUY7VWdDNFVqRixnQ2hDNVVpRjtDZ0M2VWpGOztBQUVEO0VBQ0Msd0NoQy9VaUY7VWdDK1VqRixnQ2hDL1VpRjtDZ0NnVmpGOztBQUVEO0VBQ0Msd0NoQ3JVaUY7VWdDcVVqRixnQ2hDclVpRjtDZ0N1VWpGOztBQU1GO0VBRUUsYUFBWTtDQUNaOztBQUhGO0VBT0csbUNBQTBCO1VBQTFCLDJCQUEwQjtFQUMxQixhQUFZO0NBS1o7O0FBYkg7RUFXSSx5QkFBZ0I7VUFBaEIsaUJBQWdCO0NBQ2hCOztBQVpKO0VBa0JHLG1DQUEwQjtVQUExQiwyQkFBMEI7RUFDMUIsYUFBWTtDQUNaOztBQUlIOztFQUdFLFloQ2hZOEU7Q2dDaVk5RTs7QUFKRjs7RUFPRSwrQkFBOEI7Q0FDOUI7O0FsQ2hQRjs7OzttQ0FJbUM7QUFDbkMsdUJBQXVCO0FtQzVJdkIsb0NBQW9DO0FsQ2xCcEM7RUZFRSwwRG9DTytGO0NBWWhHOztBL0JyQkQ7Ozs7OztFK0I0QkUsbUNBbkIrRjtDQW9CaEc7O0EvQmVEO0UrQmJFLGlDQXJCNkY7Q0FzQjlGOztBeEIvQkQ7RXlCU0Msb0JDTGtGO0NETWxGOztBekJRRDtFeUJOQyxjQ1JrRjtDRFNsRjs7QXpCVEQ7RXlCV0MsZUNYa0Y7Q0RZbEY7O0F6QlBEO0V5QlNDLHdDQ2RrRjtVRGNsRixnQ0Nka0Y7Q0RlbEY7O0F6Qk5EO0V5QlFDLHNCQ2pCa0Y7Q0RrQmxGOztBekJKRDtFeUJNQyxjQ3BCa0Y7Q0RxQmxGOztBQUVEOztxR0FFcUciLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC8qKi0tLS0tLS0tLSBGT05UIEZBTUlMWSAtLS0tLS0tLSovXG5AbWl4aW4gZm9udC1mYWNlKCRmb250KSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udDtcbn1cblxuLy8gLyoqLS0tLS0tLS0tIEVORCBGT05UIEZBTUlMWSAtLS0tLS0tLSovXG5cbi8qKi0tLS0tLS0tLSBTdGFydCBPRiBEaXJlY3Rpb24gTWl4aW4tLS0tLS0tLSovXG4kZGlyOiBsdHIgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgJGRpciBpZiBub3QgdmFsaWRcbkBpZiAkZGlyICE9bHRyIGFuZCAkZGlyICE9cnRsIHtcbiAgJGRpcjogbHRyO1xufVxuXG5AZnVuY3Rpb24gbHRyKCRpZiwgJGVsc2U6IG51bGwpIHtcbiAgQGlmICRkaXIgIT1ydGwge1xuICAgIEByZXR1cm4gJGlmO1xuICB9XG5cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJGVsc2U7XG4gIH1cbn1cblxuQGZ1bmN0aW9uIHJ0bCgkaWYsICRlbHNlOiBudWxsKSB7XG4gIEByZXR1cm4gbHRyKCRlbHNlLCAkaWYpO1xufVxuXG4kbGVmdDogbHRyKGxlZnQsIHJpZ2h0KTtcbiRyaWdodDogbHRyKHJpZ2h0LCBsZWZ0KTtcblxuQGZ1bmN0aW9uIGRpci12YWx1ZXMoJHZhbHVlcykge1xuICBAaWYgJGRpcj09cnRsIGFuZCBsZW5ndGgoJHZhbHVlcyk9PTQge1xuICAgIC8vIFJlb3JkZXIgcmlnaHQgYW5kIGxlZnQgcG9zaXRpb25zIGluIGxpc3RcbiAgICBAcmV0dXJuIG50aCgkdmFsdWVzLCAxKSBudGgoJHZhbHVlcywgNCkgbnRoKCR2YWx1ZXMsIDMpIG50aCgkdmFsdWVzLCAyKTtcbiAgfVxuXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICR2YWx1ZXM7XG4gIH1cbn1cblxuQG1peGluIGx0ciB7XG4gIEBpZiAkZGlyICE9cnRsIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gcnRsIHtcbiAgQGlmICRkaXI9PXJ0bCB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuXG4vLyAgRVhBTVBMRSBPRiBVU0FHRTpcblxuLy8gc2VjdGlvbiB7XG4vLyAgICAgLy8gZGVmaW5lIGhlcmUgaW5saW5lIHlvdXIgcnRsIGNvbmRpdGlvbnNcbi8vICAgICBtYXJnaW4tI3skbGVmdH06IDEwcHg7XG4vLyAgICAgQGluY2x1ZGUgbHRyIHtcbi8vICAgICBmbG9hdDogbGVmdDtcblxuLy8gICAgIH1cbi8vICAgICBAaW5jbHVkZSBydGwge1xuLy8gICAgICAgZmxvYXQ6IHJpZ2h0O1xuLy8gICAgIH1cbi8vICAgfVxuLyoqLS0tLS0tLS0tIEVORCBPRiBEaXJlY3Rpb24gTWl4aW4tLS0tLS0tLSovXG5cbi8vIC8qKi0tLS0tLS0tLSBTVEFSVCBPRiBNRURJQSBRVUVSWSAtLS0tLS0tLSovXG5AbWl4aW4gY3VzdG9tTWVkaWEoJHdpZHRoKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogKCR3aWR0aCtweCkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG5AbWl4aW4gY3VzdG9tTWVkaWFNYXgoJHdpZHRoKSB7XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogKCR3aWR0aCtweCkpIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAgRVhBTVBMRSBPRiBVU0FHRTpcbi8vIFxuLy8gQGluY2x1ZSBjdXN0b21NZWRpYSg5OTIpey4uLn1cbi8vIEBpbmNsdWUgY3VzdG9tTWVkaWFNYXgoOTkxKXsuLi59XG5cbi8vIEZJWEVEIFZBTFVFIE1FRElBIFFVRVJZXG5AbWl4aW4gbWVkaWEoJHF1ZXJ5KSB7XG4gIEBpZiAkcXVlcnk9PXhsIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcXVlcnk9PWxnIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRxdWVyeT09bWQge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHF1ZXJ5PT1zbSB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lZGlhTWF4KCRxdWVyeSkge1xuICBAaWYgJHF1ZXJ5PT14bCB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHF1ZXJ5PT1sZyB7XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkcXVlcnk9PW1kIHtcbiAgICBAbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICRxdWVyeT09c20ge1xuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vICBFWEFNUExFIE9GIFVTQUdFOlxuLy8gXG4vLyAgIEBpbmNsdWRlIG1lZGlhKHhsKSB7XG4vLyAgICAgYmFja2dyb3VuZDogYmx1ZTtcbi8vICAgfVxuXG4vLyAvKiotLS0tLS0tLS0gRU5EIE9GIE1FRElBIFFVRVJZIC0tLS0tLS0tKi9cblxuLy8gLyoqLS0tLS0tLS0tIFNUQVJUIE9GIFBMQUNFSE9MREVSIFRFWFQgQ09MT1IgLS0tLS0tLS0qL1xuQG1peGluIGlucHV0LXBsYWNlaG9sZGVyIHtcbiAgJi5wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBAY29udGVudDtcbiAgfVxufVxuXG4vLyAgRVhBTVBMRSBPRiBVU0FHRTpcbi8vIFxuLy8gaW5wdXR7XG4vLyAgICAgQGluY2x1ZGUgaW5wdXQtcGxhY2Vob2xkZXIge1xuLy8gICAgICAgICBjb2xvcjogIzg4ODtcbi8vICAgICB9XG4vLyB9XG5cbi8vIC8qKi0tLS0tLS0tLSBFTkQgT0YgUExBQ0VIT0xERVIgVEVYVCBDT0xPUiAtLS0tLS0tLSovXG5cbi8vIC8qKi0tLS0tLS0tLSBTVEFSVCBPRiBBUlJPVyBXSVRIIEZPVVIgT1BUSU9OQUwgRElSRUNUSU9OUyAtLS0tLS0tLSovXG5AbWl4aW4gYXJyb3coJGRpcmVjdGlvbjogZG93biwgJHNpemU6IDUsICRjb2xvcjogIzU1NSkge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIEBpZiAoJGRpcmVjdGlvbj09bGVmdCkge1xuICAgIGJvcmRlci10b3A6ICRzaXplICsgcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgKyBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItI3skcmlnaHR9OiAkc2l6ZSArIHB4IHNvbGlkICRjb2xvcjtcbiAgfVxuXG4gIEBlbHNlIGlmICgkZGlyZWN0aW9uPT1yaWdodCkge1xuICAgIGJvcmRlci10b3A6ICRzaXplICsgcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogJHNpemUgKyBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItI3skbGVmdH06ICRzaXplICsgcHggc29saWQgJGNvbG9yO1xuICB9XG5cbiAgQGVsc2UgaWYgKCRkaXJlY3Rpb249PWRvd24pIHtcbiAgICBib3JkZXItbGVmdDogJHNpemUgKyBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQ6ICRzaXplICsgcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcDogJHNpemUgKyBweCBzb2xpZCAkY29sb3I7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgYm9yZGVyLWxlZnQ6ICRzaXplICsgcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiAkc2l6ZSArIHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b206ICRzaXplICsgcHggc29saWQgJGNvbG9yO1xuICB9XG59XG5cblxuXG4vLyAgRVhBTVBMRSBPRiBVU0FHRTpcbi8vIFxuLy8gd2l0aG91dCBhcmd1bWVudHMgKGRlZmF1bHQpXG4vLyAgXG4vLyBkaXYgeyBcbi8vICAgICBAaW5jbHVkZSBhcnJvdygpOyBcbi8vICB9XG5cbi8vIHdpdGggY3VzdG9tIGFyZ3VtZW50c1xuLy8gIFxuLy8gIGRpdiB7XG4vLyAgICAgQGluY2x1ZGUgYXJyb3codXAsIDEwLCAjZWZlZmVmKTtcbi8vICB9XG5cblxuLy8gIENPTVBJTEVEIENTUzpcbi8vIHdpdGhvdXQgYXJndW1lbnRzIChkZWZhdWx0KVxuLy8gXG4vLyBkaXYge1xuLy8gICAgIHdpZHRoOiAwO1xuLy8gICAgIGhlaWdodDogMDtcbi8vICAgICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuLy8gICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuLy8gICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCAjNTU1O1xuLy8gIH1cblxuLy8gd2l0aCBjdXN0b20gYXJndW1lbnRzXG4vLyAgXG4vLyAgZGl2IHtcbi8vICAgICB3aWR0aDogMDtcbi8vICAgICBoZWlnaHQ6IDA7XG4vLyAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4vLyAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuLy8gICAgIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgI2VmZWZlZjtcbi8vICB9XG4vLy0tLS0tLS0tLSBFTkQgT0YgQVJST1cgV0lUSCBGT1VSIE9QVElPTkFMIERJUkVDVElPTlMgLS0tLS0tLS0vL1xuXG5cbi8vLS0tLS0tLS0tIFNUQVJUIE9GIEFCU09MVVRFIFBPU0lUSU9OSU5HIC0tLS0tLS0tLy9cbkBtaXhpbiBwb3MtYWJzICgkdG9wLCAkcmlnaHQsICRib3R0b20sICRsZWZ0KSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6ICR0b3A7XG4gIHJpZ2h0OiAkcmlnaHQ7XG4gIGJvdHRvbTogJGJvdHRvbTtcbiAgbGVmdDogJGxlZnQ7XG5cbiAgQGluY2x1ZGUgcnRsIHtcbiAgICByaWdodDogJGxlZnQ7XG4gICAgbGVmdDogJHJpZ2h0O1xuXG4gIH1cbn1cblxuXG4vLyAgRVhBTVBMRSBPRiBVU0FHRTpcbi8vIFxuLy8gLmNsYXNzLW5hbWUge1xuLy8gICAgIEBpbmNsdWRlIHBvcy1hYnMoMTAwcHgsIDEwMHB4LCBhdXRvLCBhdXRvKTtcbi8vICB9XG5cbi8vICBDT01QSUxFRCBDU1M6XG4vLyBcbi8vIC5jbGFzcy1uYW1lIHtcbi8vICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgIHRvcDogMTAwcHg7XG4vLyAgICByaWdodDogMTAwcHg7XG4vLyAgICBib3R0b206IGF1dG87XG4vLyAgICBsZWZ0OiBhdXRvO1xuLy8gfVxuLy8gLyoqLS0tLS0tLS0tIEVORCBPRiBBQlNPTFVURSBQT1NJVElPTklORyAtLS0tLS0tLSovXG5cblxuLy8gLyoqLS0tLS0tLS0tIFNUQVJUIE9GIENFTlRFUiBQT1NJVElPTklORyAtLS0tLS0tLSovXG5AbWl4aW4gY2VudGVyZXIoJGhvcml6b250YWw6IHRydWUsICR2ZXJ0aWNhbDogdHJ1ZSkge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcblxuICBAaWYgKCRob3Jpem9udGFsIGFuZCAkdmVydGljYWwpIHtcbiAgICB0b3A6IDUwJTtcbiAgICAjeyRsZWZ0fTogNTAlO1xuXG4gICAgQGluY2x1ZGUgbHRyIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuXG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgKCRob3Jpem9udGFsKSB7XG4gICAgI3skbGVmdH06IDUwJTtcblxuICAgIEBpbmNsdWRlIGx0ciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAwKTtcblxuICAgIH1cbiAgfVxuXG4gIEBlbHNlIGlmICgkdmVydGljYWwpIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgfVxufVxuXG4vLyAgRVhBTVBMRSBPRiBVU0FHRTpcbi8vIFxuLy8gICAucGFyZW50IHtcbi8vICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgfVxuLy8gLmNoaWxkIHtcbi8vICAgICAmLmJvdGgge1xuLy8gICAgICAgQGluY2x1ZGUgY2VudGVyZXI7XG4vLyAgICAgfVxuLy8gICAgICYuaG9yaXpvbnRhbCB7XG4vLyAgICAgICBAaW5jbHVkZSBjZW50ZXJlcih0cnVlLCBmYWxzZSk7XG4vLyAgICAgfVxuLy8gICAgICYudmVydGljYWwge1xuLy8gICAgICAgQGluY2x1ZGUgY2VudGVyZXIoZmFsc2UsIHRydWUpO1xuLy8gICAgIH1cbi8vICAgfVxuXG5cbi8vICBDT01QSUxFRCBDU1M6XG4vLyBcbi8vIC5wYXJlbnQge1xuLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbi8vICAgfVxuLy8gICAuY2hpbGQuYm90aCB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIHRvcDogNTAlO1xuLy8gICAgIGxlZnQ6IDUwJTtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbi8vICAgfVxuLy8gICAuY2hpbGQuaG9yaXpvbnRhbCB7XG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xuLy8gICAgIGxlZnQ6IDUwJTtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbi8vICAgfVxuLy8gICAuY2hpbGQudmVydGljYWwge1xuLy8gICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbi8vICAgICB0b3A6IDUwJTtcbi8vICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbi8vICAgfVxuLy8gLyoqLS0tLS0tLS0tIEVORCBPRiBDRU5URVIgUE9TSVRJT05JTkcgLS0tLS0tLS0qL1xuXG4vKiotLS0tLS0tLS0gU3RhcnQgT0YgTWFyZ2luICYgUGFkZGluZyBIZWxwZXJzLS0tLS0tLS0qL1xuLy8gVGhpcyAuc2NzcyBsb29wIHdpbGwgY3JlYXRlIFwibWFyZ2luIGhlbHBlcnNcIiBhbmQgXCJwYWRkaW5nIGhlbHBlcnNcIiBmb3IgdXNlIGluIHlvdXIgd2ViIHByb2plY3RzLlxuLy8gSXQgd2lsbCBnZW5lcmF0ZSBzZXZlcmFsIGNsYXNzZXMgc3VjaCBhczpcbi8vIC5tci0xMCB3aGljaCBnaXZlcyBtYXJnaW4tcmlnaHQgMTAgcGl4ZWxzLlxuLy8gLnBiLTUwIGdpdmVzIFBBRERJTkcgdG8gdGhlIEJPVFRPTSBvZiA1MCBwaXhlbHNcbi8vIFRoZSBmaXJzdCBsZXR0ZXIgaXMgXCJtXCIgb3IgXCJwXCIgZm9yIE1BUkdJTiBvciBQQURESU5HXG4vLyBTZWNvbmQgbGV0dGVyIGlzIFwidFwiLCBcImJcIiwgXCJsXCIsIG9yIFwiclwiIGZvciBUT1AsIEJPVFRPTSwgTEVGVCwgb3IgUklHSFRcbi8vIFRoaXJkIGxldHRlciBpcyB0aGUgbnVtYmVyIG9mIHNwYWNpbmcgaW4gcGl4ZWxzLiBBZGp1c3QgdGhlIGFtb3VudHMgZ2VuZXJhdGVkIGJ5IGVkaXRpbmcgdGhlICRzcGFjZWFtb3VudHMgdmFyaWFibGUgYmVsb3cuXG5cblxuQG1peGluIG1hcmdpbi1wYWRkaW5nLWhlbHBlciB7XG4gICRzcGFjZWFtb3VudHM6ICgxMCwgMjAsIDMwLCA0MCwgNTAsIDYwLCA3MCwgODAsIDkwLCAxMDApOyAvLyBBZGp1c3QgdGhpcyB0byBpbmNsdWRlIHRoZSBwaXhlbCBhbW91bnRzIHlvdSBuZWVkLlxuICAkc2lkZXM6ICh0b3AsIGJvdHRvbSk7IC8vIExlYXZlIHRoaXMgdmFyaWFibGUgYWxvbmVcblxuICBAZWFjaCAkc3BhY2UgaW4gJHNwYWNlYW1vdW50cyB7XG5cbiAgICAvLyB0b3AgYW5kIGJvdHRvbVxuICAgIEBlYWNoICRzaWRlIGluICRzaWRlcyB7XG4gICAgICAubSN7c3RyLXNsaWNlKCRzaWRlLCAwLCAxKX0tI3skc3BhY2V9IHtcbiAgICAgICAgbWFyZ2luLSN7JHNpZGV9OiAjeyRzcGFjZSAvJGJhc2UtdW5pdH1yZW07XG4gICAgICB9XG5cbiAgICAgIC5wI3tzdHItc2xpY2UoJHNpZGUsIDAsIDEpfS0jeyRzcGFjZX0ge1xuICAgICAgICBwYWRkaW5nLSN7JHNpZGV9OiAjeyRzcGFjZSAvJGJhc2UtdW5pdH1yZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gcmlnaHRcbiAgICBAZWFjaCAkc2lkZSBpbiByaWdodCB7XG4gICAgICAubSN7c3RyLXNsaWNlKHJpZ2h0LCAwLCAxKX0tI3skc3BhY2V9IHtcbiAgICAgICAgbWFyZ2luLSN7JHJpZ2h0fTogI3skc3BhY2UgLyRiYXNlLXVuaXR9cmVtO1xuICAgICAgfVxuXG4gICAgICAucCN7c3RyLXNsaWNlKHJpZ2h0LCAwLCAxKX0tI3skc3BhY2V9IHtcbiAgICAgICAgcGFkZGluZy0jeyRyaWdodH06ICN7JHNwYWNlIC8kYmFzZS11bml0fXJlbTtcbiAgICAgIH1cblxuICAgIH1cblxuICAgIC8vIGxlZnRcbiAgICBAZWFjaCAkc2lkZSBpbiBsZWZ0IHtcbiAgICAgIC5tI3tzdHItc2xpY2UobGVmdCwgMCwgMSl9LSN7JHNwYWNlfSB7XG4gICAgICAgIG1hcmdpbi0jeyRsZWZ0fTogI3skc3BhY2UgLyRiYXNlLXVuaXR9cmVtO1xuICAgICAgfVxuXG4gICAgICAucCN7c3RyLXNsaWNlKGxlZnQsIDAsIDEpfS0jeyRzcGFjZX0ge1xuICAgICAgICBwYWRkaW5nLSN7JGxlZnR9OiAjeyRzcGFjZSAvJGJhc2UtdW5pdH1yZW07XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn0iLCJAaW1wb3J0ICcxLXNjc3NfaGVscGVycy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnMS1zY3NzX2hlbHBlcnMvdmFyaWFibGVzJztcbkBpbXBvcnQgJzUtdXNlci9ib3hlZC1sYXlvdXQnO1xuQGltcG9ydCAnNS11c2VyL2RpcmVjdGlvbic7XG5AaW1wb3J0ICcxLXNjc3NfaGVscGVycy9taXhpbnMnO1xuXG4vKiohKioqKioqKioqKioqKiovXG4vKiohIENvbnRlbnRzICoqL1xuLyoqISAwMS4gY29yZSAqKi9cbi8qKiEgMDIuIHR5cG9ncmFwaHkgKiovXG4vKiohIDAzLiBoZWxwZXJzICoqL1xuLyoqISAwNC4gc3BhY2luZyAqKi9cbi8qKiEgMDUuIEJveGVkIGxheW91dCAqKi9cbi8qKiEgMDYuIFBhdHRlcm4gKiovXG4vKiohIDA3LiBjb2xvcnMgKiovXG4vKiohIDA4LiBidXR0b25zICoqL1xuLyoqISAwOS4gZm9ybSAqKi9cbi8qKiEgMTAuIGNhcmRzICoqL1xuLyoqISAxMS4gc29jaWFsIGxpc3QgKiovXG4vKiohIDEyLiBsYW5ndWFnZSBzZWxlY3RvciAqKi9cbi8qKiEgMTMuIGljb25zICoqL1xuLyoqISAxNC4gYmFja2dyb3VuZC1ob2xkZXIgKiovXG4vKiohIDE1LiBzZWN0aW9uIG92ZXJsYXAgKiovXG4vKiohIDE2LiBibG9nIHBvc3QgKiovXG4vKiohIDE3LiBibG9nIHNpZGViYXIgd2lkZ2V0ICoqL1xuLyoqISAxOC4gYmxvZyBibG9ja3F1b3RlICoqL1xuLyoqISAxOS4gYmxvZyBjb21tZW50cyAqKi9cbi8qKiEgMjAuIGJsb2cgbmF2aWdhdGlvbiAqKi9cbi8qKiEgMjEuIHBhZ2luYXRpb24gKiovXG4vKiohIDIyLiBzdGlja3kgZWxlbWVudHMgKiovXG4vKiohIDIzLiBwcmVsb2FkZXIgKiovXG4vKiohIDI0LiBzd2l0Y2hhYmxlICoqL1xuLyoqISAyNS4gbmF2aWdhdGlvbiAqKi9cbi8qKiEgMjYuIGhlcm8gKiovXG4vKiohIDI3LiBmZWF0dXJlcyAqKi9cbi8qKiEgMjguIHdvcmtpbmcgcHJvY2VzcyAqKi9cbi8qKiEgMjkuIGZvb3RlciAqKi9cbi8qKiEgMzAuIHRoZW1lcyAqKi9cbi8qKiEgMzEuIHVzZXIgY3VzdG9tIHN0eWxlICoqL1xuLyoqISoqKioqKioqKioqKioqL1xuLyoqISoqKioqKioqKioqKioqL1xuLyoqISoqKioqKioqKioqKioqL1xuXG5cbi8qXG4qICBGcmFtZXdvcmsgQ29tcG9uZW50cyBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4vKiohIDAxLiBjb3JlICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvY29yZVwiO1xuXG4vKiohIDAyLiB0eXBvZ3JhcGh5ICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvdHlwb2dyYXBoeVwiO1xuXG4vKiohIDAzLiBoZWxwZXJzICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvaGVscGVyc1wiO1xuXG4vKiohIDA0LiBzcGFjaW5nICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvc3BhY2luZy5zY3NzXCI7XG5cbi8qKiEgMDUuIEJveGVkIGxheW91dCAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL2JveGVkLWxheW91dFwiO1xuXG4vKiohIDA2LiBQYXR0ZXJuICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvcGF0dGVyblwiO1xuXG4vKiohIDA3LiBjb2xvcnMgKiovXG5AaW1wb3J0IFwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9jb2xvcnNcIjtcblxuLyoqISAwOC4gYnV0dG9ucyAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL2J1dHRvbnNcIjtcblxuLyoqISAwOS4gZm9ybSAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL2Zvcm1cIjtcblxuLyoqISAxMC4gY2FyZHMgKiovXG5AaW1wb3J0IFwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9jYXJkc1wiO1xuXG4vKiohIDExLiBzb2NpYWwgbGlzdCAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL3NvY2lhbC1saXN0XCI7XG5cbi8qKiEgMTIuIGxhbmd1YWdlIHNlbGVjdG9yICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvbGFuZ3VhZ2Utc2VsZWN0b3JcIjtcblxuLyoqISAxMy4gaWNvbnMgKiovXG5AaW1wb3J0IFwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9pY29uc1wiO1xuXG4vKiohIDE0LiBiYWNrZ3JvdW5kLWhvbGRlciAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL2JhY2tncm91bmQtaG9sZGVyXCI7XG5cbi8qKiEgMTUuIHNlY3Rpb24gb3ZlcmxhcCAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL3NlY3Rpb24tb3ZlcmxhcFwiO1xuXG4vKiohIDE2LiBibG9nIHBvc3QgKiovXG5AaW1wb3J0IFwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9ibG9nL2Jsb2ctcG9zdFwiO1xuXG4vKiohIDE3LiBibG9nIHNpZGViYXIgd2lkZ2V0ICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvYmxvZy9ibG9nLXNpZGViYXItd2lkZ2V0XCI7XG5cbi8qKiEgMTguIGJsb2cgYmxvY2txdW90ZSAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL2Jsb2cvYmxvZy1ibG9ja3F1b3RlXCI7XG5cbi8qKiEgMTkuIGJsb2cgY29tbWVudHMgKiovXG5AaW1wb3J0IFwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9ibG9nL2Jsb2ctY29tbWVudHNcIjtcblxuLyoqISAyMC4gYmxvZyBuYXZpZ2F0aW9uICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvYmxvZy9ibG9nLW5hdmlnYXRpb25cIjtcblxuLyoqISAyMS4gcGFnaW5hdGlvbiAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL3BhZ2luYXRpb25cIjtcblxuLyoqISAyMi4gc3RpY2t5IGVsZW1lbnRzICoqL1xuQGltcG9ydCBcIjItZnJhbWV3b3JrX2NvbXBvbmVudHMvc3RpY2t5LWVsZW1lbnRzXCI7XG5cbi8qKiEgMjMuIHN0aWNreSBlbGVtZW50cyAqKi9cbkBpbXBvcnQgXCIyLWZyYW1ld29ya19jb21wb25lbnRzL3N3aXRjaGFibGUuc2Nzc1wiO1xuXG4vKiohIDI0LiBwcmVsb2FkZXIgKiovXG5AaW1wb3J0IFwiMi1mcmFtZXdvcmtfY29tcG9uZW50cy9wcmVsb2FkZXJcIjtcblxuLypcbiogIFRoZW1lIENvbXBvbmVudHMgXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLyoqISAyNS4gbmF2aWdhdGlvbiAqKi9cbkBpbXBvcnQgXCIzLXRoZW1lX2NvbXBvbmVudHMvbmF2aWdhdGlvblwiO1xuXG4vKiohIDI2LiBoZXJvICoqL1xuQGltcG9ydCBcIjMtdGhlbWVfY29tcG9uZW50cy9oZXJvXCI7XG5cbi8qKiEgMjcuIGZlYXR1cmVzICoqL1xuQGltcG9ydCBcIjMtdGhlbWVfY29tcG9uZW50cy9mZWF0dXJlc1wiO1xuXG4vKiohIDI4LiB3b3JraW5nIHByb2Nlc3MgKiovXG5AaW1wb3J0IFwiMy10aGVtZV9jb21wb25lbnRzL3dvcmtpbmctcHJvY2Vzc1wiO1xuXG4vKiohIDI5LiBmb290ZXIgKiovXG5AaW1wb3J0IFwiMy10aGVtZV9jb21wb25lbnRzL2Zvb3RlclwiO1xuXG5cbi8qXG4qICBUaGVtZXMgXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cblxuLyoqISAzMC4gdGhlbWVzICoqL1xuQGltcG9ydCBcIjQtdGhlbWVzL3RoZW1lc1wiO1xuXG4vKlxuKiAgdGhlbWUgb3ZlcndyaXRlIFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiohIDMxLiB1c2VyIHN0eWxlICoqL1xuQGltcG9ydCBcIjUtdXNlci91c2VyXCI7XG5cbiIsImJvZHkge1xyXG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcclxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4gICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWFsbCk7XHJcblx0Y29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnk7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XHJcblxyXG59XHJcblxyXG5odG1sIHtcclxuICAgIEBpbmNsdWRlIG1lZGlhTWF4KGxnKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiA4Ny41JTtcclxuICAgIH1cclxufVxyXG5AaW5jbHVkZSBydGwge1xyXG4gICAgaHRtbCB7XHJcbiAgICAgICAgZGlyZWN0aW9uOiAkZGlyO1xyXG5cclxuICAgIH1cclxufVxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcbjpmb2N1cyB7XHJcbiAgICBvdXRsaW5lOiBub25lO1xyXG59XHJcblxyXG5hIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxudWwsXHJcbm9sIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBwYWRkaW5nLSN7JGxlZnR9OiAwO1xyXG59XHJcblxyXG5pbWcge1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxufVxyXG5cclxuYnV0dG9uIHtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAwO1xyXG4gICAgfVxyXG59XHJcblxyXG5waWN0dXJlIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuc3BhbiB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbn1cclxuXHJcbnN2ZyB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuaW5wdXQsXHJcbnRleHRhcmVhIHtcclxuICAgIEBpbmNsdWRlIGlucHV0LXBsYWNlaG9sZGVyIHtcclxuICAgICAgICBjb2xvcjogbGlnaHRlbigkY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnksICRhbW91bnQ6IDE1KSFpbXBvcnRhbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgfVxyXG4gICAgcGFkZGluZzogMDtcclxuICAgICY6Zm9jdXMge1xyXG4gICAgICAgIG91dGxpbmU6IDA7XHJcbiAgICB9XHJcbn1cclxuXHJcbnRhYmxlIHtcclxuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XHJcbn1cclxuc2VjdGlvbntcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4iLCIvLyAgQ29sb3IgcGFsZXR0ZSBcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gTWFpbiBDb2xvcnNcbiRjb2xvci13aGl0ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZmZmIWRlZmF1bHQ7XG4kY29sb3ItcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzJmNWJlYSFkZWZhdWx0O1xuJGNvbG9yLWJsdWUtMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1MTc5ZWMhZGVmYXVsdDtcbiRjb2xvci1pbmRpZ286ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjM0E2Q0M1IWRlZmF1bHQ7XG4kY29sb3Itb24tbGlnaHQtcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzJjMmUzMCFkZWZhdWx0O1xuJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1NDU2NWEhZGVmYXVsdDtcbiRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjN2U4MDg1IWRlZmF1bHQ7XG4kZGFyay1ibHVlLWdyZXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2M1ZDBlNiFkZWZhdWx0O1xuJGxpZ2h0LWJsdWUtZ3JleTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlM2U0ZTYhZGVmYXVsdDtcbiRjYWRpbGxhYzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYTY1NDZlIWRlZmF1bHQ7XG4kcGFyYWRpc286ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzJBNzg3MSFkZWZhdWx0O1xuJGNvcmFsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmYzVjNDIhZGVmYXVsdDtcbiRicmlnaHQteWVsbG93OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZjVlNjU4IWRlZmF1bHQ7XG4kdmVyeS1saWdodC1ibHVlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2U3ZWFlZSFkZWZhdWx0O1xuJGlyb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNEMkQ1REEhZGVmYXVsdDtcbiRwYWxlLWdyZXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZjZmOGY5IWRlZmF1bHQ7XG4kZGFyay1ncmV5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzJEMzEzNiFkZWZhdWx0O1xuJHNsYXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1NDVmNzUhZGVmYXVsdDtcbiRkYXJrYmx1ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMTUxYzMyIWRlZmF1bHQ7XG4kbWlkbmlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzAxMDgxZiFkZWZhdWx0O1xuJGNsb3VkLWJ1cnN0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMxRTI3NDUhZGVmYXVsdDtcblxuLy8gVGhlbWUgY29sb3JzXG4kdGhlbWUtZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzI3YWU2MCFkZWZhdWx0O1xuJHRoZW1lLXZpb2xldDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM5YjU5YjYhZGVmYXVsdDtcbiR0aGVtZS1maXJvemE6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMTZhMDg1IWRlZmF1bHQ7XG4kdGhlbWUtcmVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2U3NGMzYyFkZWZhdWx0O1xuJHRoZW1lLW9yYW5nZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlZTg2NjMhZGVmYXVsdDtcblxuLy8gVGhlbWUgZ3JhZGllbnRzXG4kZ3JhZGllbnQtMTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMyZjFjZTAgMCUsICM1M2EwZmQgNTAlLCAjNTFlY2E1IDEwMCUpIWRlZmF1bHQ7XG4kZ3JhZGllbnQtMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwOTlGRiAwJSwgIzY2MTBmMiAxMDAlKSFkZWZhdWx0O1xuJGdyYWRpZW50LTM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMmQxNTgyIDAlLCAjMTlhMGZmIDEwMCUpIWRlZmF1bHQ7XG4kZ3JhZGllbnQtNDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzY0MkI3MyAwJSwgI0M2NDI2RSAxMDAlKSFkZWZhdWx0O1xuJGdyYWRpZW50LTU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMUE2Qjg5IDAlLCAjMkE3ODcxIDEwMCUpIWRlZmF1bHQ7XG4kZ3JhZGllbnQtNjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCgtMTM0ZGVnLCAjQzg2REQ3IDAlLCAjMzAyM0FFIDEwMCUpIWRlZmF1bHQ7XG5cbi8vIGRhcmsgdGhlbWVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJHRoZW1lLWRhcms6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwiW2RhdGEtdGhlbWU9XCJkYXJrXCJdXCIhZGVmYXVsdDtcblxuLy8gYmFzZSBmb250IHNldHRpbmdzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRiYXNlLXVuaXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxNiFkZWZhdWx0O1xuJGJhc2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFyZW0hZGVmYXVsdDtcblxuLy8gaWNvbiBmb250IHBhdGhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRmYS1mb250LXBhdGg6IFwiLi4vaWNvbnNcIjtcbiRpY29uLWZvbnQtcGF0aDogXCIuLi9pY29uc1wiO1xuXG4vLyBmb250cyBmYW1pbHlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvbnQtcHJpbWFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdBaWxlcm9uJywgc2Fucy1zZXJpZiFkZWZhdWx0O1xuJGZvbnQtc2Vjb25kYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RvIFNlcmlmJywgc2VyaWYhZGVmYXVsdDtcbiRmb250LWJvZHk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnQWlsZXJvbicsIHNhbnMtc2VyaWYhZGVmYXVsdDtcblxuLy8gZm9udCBmYW1pbHkgYWxsXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiRmb250LWFsbDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1ib2R5LCAkZm9udC1wcmltYXJ5IWRlZmF1bHQ7XG5cbi8vIGZvbnQgc2l6ZVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kaDEtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtKDYwKSFkZWZhdWx0O1xuJGgyLXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbSg0OCkhZGVmYXVsdDtcbiRoMy1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW0oMzQpIWRlZmF1bHQ7XG4kaDQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtKDI4KSFkZWZhdWx0O1xuJGg1LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbSgyNCkhZGVmYXVsdDtcbiRoNi1zaXplOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW0oMTgpIWRlZmF1bHQ7XG4kYm9keS1mb250LXNpemU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtKDE2KSFkZWZhdWx0O1xuJGZpbmUtcHJpbnQtc2l6ZTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlbSgxNCkhZGVmYXVsdDtcbiRmb250LXNpemUtMTQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZW0oMTQpIWRlZmF1bHQ7XG4kZm9udC1zaXplLTIxOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVtKDIxKSFkZWZhdWx0O1xuXG4kaDEtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4yIWRlZmF1bHQ7XG4kaDItbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMS4yNSFkZWZhdWx0O1xuJGgzLWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEuMzUhZGVmYXVsdDtcbiRoNC1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjQhZGVmYXVsdDtcbiRoNS1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjYhZGVmYXVsdDtcbiRoNi1saW5lLWhlaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjkhZGVmYXVsdDtcbiRib2R5LWxpbmUtaGVpZ2h0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLjc1IWRlZmF1bHQ7XG5cbi8vIFNwYWNlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc3RhbmRhcmQtc3BhY2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJGJhc2UtbGluZS1oZWlnaHQgKiA4IWRlZmF1bHQ7XG5cbi8vIEJveCBsYXlvdXQgd2lkdGhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRib3gtbGF5b3V0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzNjZweCFkZWZhdWx0OyIsIi8qKi0tLS0tLS0tLSBTdGFydCBPRiBEaXJlY3Rpb24gTWl4aW4tLS0tLS0tLSovXG4vKiotLS0tLS0tLS0gRU5EIE9GIERpcmVjdGlvbiBNaXhpbi0tLS0tLS0tKi9cbi8qKi0tLS0tLS0tLSBTdGFydCBPRiBNYXJnaW4gJiBQYWRkaW5nIEhlbHBlcnMtLS0tLS0tLSovXG4vKiohKioqKioqKioqKioqKiovXG4vKiohIENvbnRlbnRzICoqL1xuLyoqISAwMS4gY29yZSAqKi9cbi8qKiEgMDIuIHR5cG9ncmFwaHkgKiovXG4vKiohIDAzLiBoZWxwZXJzICoqL1xuLyoqISAwNC4gc3BhY2luZyAqKi9cbi8qKiEgMDUuIEJveGVkIGxheW91dCAqKi9cbi8qKiEgMDYuIFBhdHRlcm4gKiovXG4vKiohIDA3LiBjb2xvcnMgKiovXG4vKiohIDA4LiBidXR0b25zICoqL1xuLyoqISAwOS4gZm9ybSAqKi9cbi8qKiEgMTAuIGNhcmRzICoqL1xuLyoqISAxMS4gc29jaWFsIGxpc3QgKiovXG4vKiohIDEyLiBsYW5ndWFnZSBzZWxlY3RvciAqKi9cbi8qKiEgMTMuIGljb25zICoqL1xuLyoqISAxNC4gYmFja2dyb3VuZC1ob2xkZXIgKiovXG4vKiohIDE1LiBzZWN0aW9uIG92ZXJsYXAgKiovXG4vKiohIDE2LiBibG9nIHBvc3QgKiovXG4vKiohIDE3LiBibG9nIHNpZGViYXIgd2lkZ2V0ICoqL1xuLyoqISAxOC4gYmxvZyBibG9ja3F1b3RlICoqL1xuLyoqISAxOS4gYmxvZyBjb21tZW50cyAqKi9cbi8qKiEgMjAuIGJsb2cgbmF2aWdhdGlvbiAqKi9cbi8qKiEgMjEuIHBhZ2luYXRpb24gKiovXG4vKiohIDIyLiBzdGlja3kgZWxlbWVudHMgKiovXG4vKiohIDIzLiBwcmVsb2FkZXIgKiovXG4vKiohIDI0LiBzd2l0Y2hhYmxlICoqL1xuLyoqISAyNS4gbmF2aWdhdGlvbiAqKi9cbi8qKiEgMjYuIGhlcm8gKiovXG4vKiohIDI3LiBmZWF0dXJlcyAqKi9cbi8qKiEgMjguIHdvcmtpbmcgcHJvY2VzcyAqKi9cbi8qKiEgMjkuIGZvb3RlciAqKi9cbi8qKiEgMzAuIHRoZW1lcyAqKi9cbi8qKiEgMzEuIHVzZXIgY3VzdG9tIHN0eWxlICoqL1xuLyoqISoqKioqKioqKioqKioqL1xuLyoqISoqKioqKioqKioqKioqL1xuLyoqISoqKioqKioqKioqKioqL1xuLypcbiogIEZyYW1ld29yayBDb21wb25lbnRzIFxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4vKiohIDAxLiBjb3JlICoqL1xuYm9keSB7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICBmb250LWZhbWlseTogXCJBaWxlcm9uXCIsIHNhbnMtc2VyaWYsIFwiQWlsZXJvblwiLCBzYW5zLXNlcmlmO1xuICBjb2xvcjogIzU0NTY1YTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDg3LjUlO1xuICB9XG59XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG59XG5cbmEge1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxudWwsXG5vbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuaW1nIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xufVxuXG5idXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG5waWN0dXJlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zcGFuIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG5zdmcge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmlucHV0LnBsYWNlaG9sZGVyLFxudGV4dGFyZWEucGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc5N2M4MiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmlucHV0Oi1tb3otcGxhY2Vob2xkZXIsXG50ZXh0YXJlYTotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTdjODIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5pbnB1dDo6LW1vei1wbGFjZWhvbGRlcixcbnRleHRhcmVhOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICM3OTdjODIgIWltcG9ydGFudDtcbiAgZm9udC1zaXplOiAxNnB4O1xufVxuXG5pbnB1dDotbXMtaW5wdXQtcGxhY2Vob2xkZXIsXG50ZXh0YXJlYTotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc5N2M4MiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxudGV4dGFyZWE6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzc5N2M4MiAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE2cHg7XG59XG5cbmlucHV0OmZvY3VzLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiAwO1xufVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG59XG5cbnNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qKiEgMDIuIHR5cG9ncmFwaHkgKiovXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtZmFtaWx5OiBcIkFpbGVyb25cIiwgc2Fucy1zZXJpZjtcbn1cblxucCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmJsb2NrcXVvdGUge1xuICBmb250LWZhbWlseTogXCJOb3RvIFNlcmlmXCIsIHNlcmlmO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5ibG9ja3F1b3RlIGg0IHtcbiAgbGluZS1oZWlnaHQ6IDNyZW07XG59XG5cbi5ibG9ja3F1b3RlIGg1IHtcbiAgbGluZS1oZWlnaHQ6IDIuOHJlbTtcbn1cblxuLyoqISAtLS0tLSBmb250IFNldHRpbmcgKHNpemUgJiBsaW5lIGhlaWdodCwgc3BhY2luZyBldGMpIC0tLS0gKiovXG4uaDEtZm9udCwgaDEge1xuICBmb250LXNpemU6IDIuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5oMS1mb250LCBoMSB7XG4gICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIH1cbn1cblxuLmgyLWZvbnQsIGgyIHtcbiAgZm9udC1zaXplOiAyLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuaDItZm9udCwgaDIge1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgfVxufVxuXG4uaDMtZm9udCwgaDMsIC5oZXJvX190aXRsZSB7XG4gIGZvbnQtc2l6ZTogMi4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4uaDQtZm9udCwgaDQge1xuICBmb250LXNpemU6IDEuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5oNS1mb250LCBoNSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS42O1xufVxuXG4uaDYtZm9udCwgaDYsIC5ibG9ja3F1b3RlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuOTtcbn1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS45O1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYm9keS1mb250LCBwIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS43NTtcbn1cblxuLmZvbnQtc2l6ZS0xNCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5mb250LXNpemUtMjEge1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbn1cblxuLnR5cGUtLXVuZGVybGluZSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4udHlwZS0tZmluZS1wcmludCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG59XG5cbi5mb250LXNwYWNlLTEge1xuICBsZXR0ZXItc3BhY2luZzogMS4zcHg7XG59XG5cbi5idWxsZXQge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi5mb3JtICsgc3Bhbi50eXBlLS1maW5lLXByaW50LFxuLmJ1dHRvbi1ncm91cCArIHNwYW4udHlwZS0tZmluZS1wcmludCxcbi5idG4gKyBzcGFuLnR5cGUtLWZpbmUtcHJpbnQge1xuICBtYXJnaW4tdG9wOiAwLjgxMjVyZW07XG59XG5cbi8qKiEgLS0tLS0gRm9udCB3ZWlnaHQgLS0tLSAqKi9cbi5mb250LXctMzAwIHtcbiAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13LTQwMCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtdy01MDAge1xuICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG59XG5cbi5mb250LXctNjAwIHtcbiAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xufVxuXG4uZm9udC13LTcwMCB7XG4gIGZvbnQtd2VpZ2h0OiA3MDAgIWltcG9ydGFudDtcbn1cblxuLmZvbnQtdy05MDAge1xuICBmb250LXdlaWdodDogOTAwICFpbXBvcnRhbnQ7XG59XG5cbi8qKiEgMDMuIGhlbHBlcnMgKiovXG4vKiohIC0tLS0tIG92ZXJmbG93LS0tLSAqKi9cbi5oaWRkZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiohIC0tLS0tIFogSW5kZXgtLS0tICoqL1xuLnotaW5kZXgxIHtcbiAgei1pbmRleDogMTtcbn1cblxuLnotaW5kZXgyIHtcbiAgei1pbmRleDogMjtcbn1cblxuLnotaW5kZXgtMSB7XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uei1pbmRleC0yIHtcbiAgei1pbmRleDogLTI7XG59XG5cbi8qKiEgLS0tLS0gYm9yZGVyIHJhZGl1cy0tLS0gKiovXG4ucm91bmRlZC1kZWZhdWx0LCAuYnRuLCAuZm9ybS1jb250cm9sLCAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93biwgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW0sIC5kcm9wZG93bi1tZW51LCAuZHJvcGRvd24tbWVudSA+IGxpIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xufVxuXG4ucm91bmRlZC1zbSwgLmRyb3Bkb3duLWl0ZW0ge1xuICBib3JkZXItcmFkaXVzOiAwLjE4NzVyZW07XG59XG5cbi5yb3VuZGVkLW1kIHtcbiAgYm9yZGVyLXJhZGl1czogMC42MjVyZW07XG59XG5cbi5yb3VuZGVkLWxnIHtcbiAgYm9yZGVyLXJhZGl1czogMC45Mzc1cmVtO1xufVxuXG4ucm91bmRlZC1mdWxsIHtcbiAgYm9yZGVyLXJhZGl1czogNi4yNXJlbTtcbn1cblxuLyoqISAtLS0tLSBQb3NpdGlvbiAtLS0tICoqL1xuLnBvcy1hYnMtdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbn1cblxuLnBvcy1hYnMtYm90dG9tIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5wb3MtYWJzLWxnLWJvdHRvbSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG59XG5cbi5wb3MtYWJzLWJvdHRvbS1sZWZ0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLnBvcy1hYnMtYm90dG9tLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogYXV0bztcbn1cblxuLnBvcy1hYnMtdG9wLXJpZ2h0IHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogYXV0bztcbn1cblxuLnBvcy1hYnMtdG9wLWxlZnQge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAwO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4ucG9zLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLnBvcy1ob3Jpem9uLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xufVxuXG4ucG9zLXZlcnRpY2FsLWNlbnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAucG9zLWFicy1sZy10b3AtcmlnaHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAucG9zLWFicy1sZy10b3AtbGVmdCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi5wb3MtZml4ZWQtYm90dG9tIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiAwO1xufVxuXG4vKiohIC0tLS0tIE9wYWNpdHkgLS0tLSAqKi9cbi5vcGFjaXR5LTA1IHtcbiAgb3BhY2l0eTogLjA1O1xufVxuXG4ub3BhY2l0eS0xMCB7XG4gIG9wYWNpdHk6IC4xMDtcbn1cblxuLm9wYWNpdHktMjAge1xuICBvcGFjaXR5OiAuMjA7XG59XG5cbi5vcGFjaXR5LTMwIHtcbiAgb3BhY2l0eTogLjMwO1xufVxuXG4vKiohIC0tLS0tIEJvcmRlci0tLS0gKiovXG4uYm9yZGVyLWJvdHRvbS1saWdodCwgLmZlYXR1cmVzIC5zd2lwZS10YWJzLCAuZmVhdHVyZXMgLnRhYi1jb250ZW50X19saXN0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2VhZWU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5ib3JkZXItYm90dG9tLWxpZ2h0LCBbZGF0YS10aGVtZT1kYXJrXSAuZmVhdHVyZXMgLnN3aXBlLXRhYnMsIC5mZWF0dXJlcyBbZGF0YS10aGVtZT1kYXJrXSAuc3dpcGUtdGFicywgW2RhdGEtdGhlbWU9ZGFya10gLmZlYXR1cmVzIC50YWItY29udGVudF9fbGlzdCwgLmZlYXR1cmVzIFtkYXRhLXRoZW1lPWRhcmtdIC50YWItY29udGVudF9fbGlzdCxcbi5iZy1jb2xvci1kYXJrYmx1ZSAuYm9yZGVyLWJvdHRvbS1saWdodCxcbi5iZy1jb2xvci1kYXJrYmx1ZSAuZmVhdHVyZXMgLnN3aXBlLXRhYnMsXG4uZmVhdHVyZXMgLmJnLWNvbG9yLWRhcmtibHVlIC5zd2lwZS10YWJzLFxuLmJnLWNvbG9yLWRhcmtibHVlIC5mZWF0dXJlcyAudGFiLWNvbnRlbnRfX2xpc3QsXG4uZmVhdHVyZXMgLmJnLWNvbG9yLWRhcmtibHVlIC50YWItY29udGVudF9fbGlzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMTUxYzMyO1xufVxuXG5cbi5iZy1jb2xvci1kYXJrYmx1ZSAuYm9yZGVyLWJvdHRvbS1saWdodCxcbi5iZy1jb2xvci1kYXJrYmx1ZSAuZmVhdHVyZXMgLnN3aXBlLXRhYnMsXG4uZmVhdHVyZXMgLmJnLWNvbG9yLWRhcmtibHVlIC5zd2lwZS10YWJzLFxuLmJnLWNvbG9yLWRhcmtibHVlIC5mZWF0dXJlcyAudGFiLWNvbnRlbnRfX2xpc3QsXG4uZmVhdHVyZXMgLmJnLWNvbG9yLWRhcmtibHVlIC50YWItY29udGVudF9fbGlzdCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMUUyNzQ1O1xufVxuXG4uYmctY29sb3ItcHJpbWFyeSAuYm9yZGVyLWJvdHRvbS1saWdodCwgLmJnLWNvbG9yLXByaW1hcnkgLmZlYXR1cmVzIC5zd2lwZS10YWJzLCAuZmVhdHVyZXMgLmJnLWNvbG9yLXByaW1hcnkgLnN3aXBlLXRhYnMsIC5iZy1jb2xvci1wcmltYXJ5IC5mZWF0dXJlcyAudGFiLWNvbnRlbnRfX2xpc3QsIC5mZWF0dXJlcyAuYmctY29sb3ItcHJpbWFyeSAudGFiLWNvbnRlbnRfX2xpc3Qge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4uYm9yZGVyLW5vbmUge1xuICBib3JkZXI6IDA7XG59XG5cbi5vdXRsaW5lLWxpZ2h0IHtcbiAgYm94LXNoYWRvdzogMCAwIDBweCAxcHggI2U3ZWFlZTtcbn1cblxuLyoqISAtLS0tLSBoZWlnaHQgZW11bGF0b3ItLS0tICoqL1xuLmhlaWdodC1lbXVsYXRvciB7XG4gIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiohIC0tLS0tIHRyYW5zaXRpb24tLS0tICoqL1xuLnRyYW5zaXRpb24tZGVmYXVsdCB7XG4gIHRyYW5zaXRpb246IC4zcztcbn1cblxuLyoqISAtLS0tLSBib3ggc2hhZG93LS0tLSAqKi9cbi5ib3gtc2hhZG93LTEsIC5mb3JtLXN1YnNjcmlwdGlvbiAuZm9ybS1jb250cm9sLCAuZm9ybS1zdWJzY3JpcHRpb24gLmZvcm0tY29udHJvbDpmb2N1cywgLm5hdmJhci1zdGlja3ktLW9uIHtcbiAgYm94LXNoYWRvdzogMCAwLjE4NzVyZW0gMC4zMTI1cmVtIDAgcmdiYSg0NCwgNDYsIDQ4LCAwLjEpO1xufVxuXG4uYm94LXNoYWRvdy0yLCAuYnRuLTNkLWhvdmVyOmhvdmVyLCAuYnRuLTNkLWhvdmVyOmZvY3VzLCAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93biwgLmRyb3Bkb3duLW1lbnUge1xuICBib3gtc2hhZG93OiAwIDAuNXJlbSAxLjg3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuXG4vKiohIC0tLS0tIERpdmlkZXItLS0tICoqL1xuLmhyLS1ibG9kIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG59XG5cbi8qKiEgLS0tLS0gSGVpZ2h0LS0tLSAqKi9cbi5oLTEwMHZoIHtcbiAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oLWxnLTEwMHZoIHtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICB9XG59XG5cbi8qKiEgMDQuIHNwYWNpbmcgKiovXG4uc3BhY2Uge1xuICBwYWRkaW5nLXRvcDogOHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDhyZW07XG59XG5cbi5zcGFjZS0tbWQge1xuICBwYWRkaW5nLXRvcDogNy4yNzI3M3JlbTtcbiAgcGFkZGluZy1ib3R0b206IDcuMjcyNzNyZW07XG59XG5cbi5zcGFjZS0tbGcge1xuICBwYWRkaW5nLXRvcDogMTJyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxMnJlbTtcbn1cblxuLnNwYWNlLS14bCB7XG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcbiAgcGFkZGluZy1ib3R0b206IDIwcmVtO1xufVxuXG4uc3BhY2UtdG9wIHtcbiAgcGFkZGluZy10b3A6IDhyZW07XG59XG5cbi5zcGFjZS10b3AtLW1kIHtcbiAgcGFkZGluZy10b3A6IDcuMjcyNzNyZW07XG59XG5cbi5zcGFjZS10b3AtLWxnIHtcbiAgcGFkZGluZy10b3A6IDEycmVtO1xufVxuXG4uc3BhY2UtdG9wLS14bCB7XG4gIHBhZGRpbmctdG9wOiAyMHJlbTtcbn1cblxuLnNwYWNlLWJvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiA4cmVtO1xufVxuXG4uc3BhY2UtYm90dG9tLS1tZCB7XG4gIHBhZGRpbmctYm90dG9tOiA3LjI3MjczcmVtO1xufVxuXG4uc3BhY2UtYm90dG9tLS1sZyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMnJlbTtcbn1cblxuLnNwYWNlLWJvdHRvbS0teGwge1xuICBwYWRkaW5nLWJvdHRvbTogMjByZW07XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuc3BhY2Uge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG4gIC5zcGFjZS0tbWQge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG4gIC5zcGFjZS0tbGcge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG4gIC5zcGFjZS0teGwge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG4gIC5zcGFjZS10b3Age1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICB9XG4gIC5zcGFjZS10b3AtLW1kIHtcbiAgICBwYWRkaW5nLXRvcDogNHJlbTtcbiAgfVxuICAuc3BhY2UtdG9wLS1sZyB7XG4gICAgcGFkZGluZy10b3A6IDRyZW07XG4gIH1cbiAgLnNwYWNlLXRvcC0teGwge1xuICAgIHBhZGRpbmctdG9wOiA0cmVtO1xuICB9XG4gIC5zcGFjZS1ib3R0b20ge1xuICAgIHBhZGRpbmctYm90dG9tOiA0cmVtO1xuICB9XG4gIC5zcGFjZS1ib3R0b20tLW1kIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNHJlbTtcbiAgfVxuICAuc3BhY2UtYm90dG9tLS1sZyB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gIH1cbiAgLnNwYWNlLWJvdHRvbS0teGwge1xuICAgIHBhZGRpbmctYm90dG9tOiA1LjMzMzMzcmVtO1xuICB9XG59XG5cbi8qKi0tLS0tLS0tLSBTVEFSVCBPRiBTUEFDSU5HIEhFTFBFUiBNSVhJTlMgLS0tLS0tLS0qL1xuLm10LTEwIHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG59XG5cbi5wdC0xMCB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcbn1cblxuLm1iLTEwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5cbi5wYi0xMCB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLm1yLTEwIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbn1cblxuLnByLTEwIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG59XG5cbi5tbC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbn1cblxuLnBsLTEwIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbn1cblxuLm10LTIwIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cblxuLnB0LTIwIHtcbiAgcGFkZGluZy10b3A6IDEuMjVyZW07XG59XG5cbi5tYi0yMCB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG59XG5cbi5wYi0yMCB7XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xufVxuXG4ubXItMjAge1xuICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5wci0yMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5tbC0yMCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xufVxuXG4ucGwtMjAge1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG59XG5cbi5tdC0zMCB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtO1xufVxuXG4ucHQtMzAge1xuICBwYWRkaW5nLXRvcDogMS44NzVyZW07XG59XG5cbi5tYi0zMCB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xufVxuXG4ucGItMzAge1xuICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG59XG5cbi5tci0zMCB7XG4gIG1hcmdpbi1yaWdodDogMS44NzVyZW07XG59XG5cbi5wci0zMCB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xufVxuXG4ubWwtMzAge1xuICBtYXJnaW4tbGVmdDogMS44NzVyZW07XG59XG5cbi5wbC0zMCB7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07XG59XG5cbi5tdC00MCB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTtcbn1cblxuLnB0LTQwIHtcbiAgcGFkZGluZy10b3A6IDIuNXJlbTtcbn1cblxuLm1iLTQwIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xufVxuXG4ucGItNDAge1xuICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xufVxuXG4ubXItNDAge1xuICBtYXJnaW4tcmlnaHQ6IDIuNXJlbTtcbn1cblxuLnByLTQwIHtcbiAgcGFkZGluZy1yaWdodDogMi41cmVtO1xufVxuXG4ubWwtNDAge1xuICBtYXJnaW4tbGVmdDogMi41cmVtO1xufVxuXG4ucGwtNDAge1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbn1cblxuLm10LTUwIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG59XG5cbi5wdC01MCB7XG4gIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbn1cblxuLm1iLTUwIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG59XG5cbi5wYi01MCB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbn1cblxuLm1yLTUwIHtcbiAgbWFyZ2luLXJpZ2h0OiAzLjEyNXJlbTtcbn1cblxuLnByLTUwIHtcbiAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07XG59XG5cbi5tbC01MCB7XG4gIG1hcmdpbi1sZWZ0OiAzLjEyNXJlbTtcbn1cblxuLnBsLTUwIHtcbiAgcGFkZGluZy1sZWZ0OiAzLjEyNXJlbTtcbn1cblxuLm10LTYwIHtcbiAgbWFyZ2luLXRvcDogMy43NXJlbTtcbn1cblxuLnB0LTYwIHtcbiAgcGFkZGluZy10b3A6IDMuNzVyZW07XG59XG5cbi5tYi02MCB7XG4gIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG59XG5cbi5wYi02MCB7XG4gIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xufVxuXG4ubXItNjAge1xuICBtYXJnaW4tcmlnaHQ6IDMuNzVyZW07XG59XG5cbi5wci02MCB7XG4gIHBhZGRpbmctcmlnaHQ6IDMuNzVyZW07XG59XG5cbi5tbC02MCB7XG4gIG1hcmdpbi1sZWZ0OiAzLjc1cmVtO1xufVxuXG4ucGwtNjAge1xuICBwYWRkaW5nLWxlZnQ6IDMuNzVyZW07XG59XG5cbi5tdC03MCB7XG4gIG1hcmdpbi10b3A6IDQuMzc1cmVtO1xufVxuXG4ucHQtNzAge1xuICBwYWRkaW5nLXRvcDogNC4zNzVyZW07XG59XG5cbi5tYi03MCB7XG4gIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtO1xufVxuXG4ucGItNzAge1xuICBwYWRkaW5nLWJvdHRvbTogNC4zNzVyZW07XG59XG5cbi5tci03MCB7XG4gIG1hcmdpbi1yaWdodDogNC4zNzVyZW07XG59XG5cbi5wci03MCB7XG4gIHBhZGRpbmctcmlnaHQ6IDQuMzc1cmVtO1xufVxuXG4ubWwtNzAge1xuICBtYXJnaW4tbGVmdDogNC4zNzVyZW07XG59XG5cbi5wbC03MCB7XG4gIHBhZGRpbmctbGVmdDogNC4zNzVyZW07XG59XG5cbi5tdC04MCB7XG4gIG1hcmdpbi10b3A6IDVyZW07XG59XG5cbi5wdC04MCB7XG4gIHBhZGRpbmctdG9wOiA1cmVtO1xufVxuXG4ubWItODAge1xuICBtYXJnaW4tYm90dG9tOiA1cmVtO1xufVxuXG4ucGItODAge1xuICBwYWRkaW5nLWJvdHRvbTogNXJlbTtcbn1cblxuLm1yLTgwIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cmVtO1xufVxuXG4ucHItODAge1xuICBwYWRkaW5nLXJpZ2h0OiA1cmVtO1xufVxuXG4ubWwtODAge1xuICBtYXJnaW4tbGVmdDogNXJlbTtcbn1cblxuLnBsLTgwIHtcbiAgcGFkZGluZy1sZWZ0OiA1cmVtO1xufVxuXG4ubXQtOTAge1xuICBtYXJnaW4tdG9wOiA1LjYyNXJlbTtcbn1cblxuLnB0LTkwIHtcbiAgcGFkZGluZy10b3A6IDUuNjI1cmVtO1xufVxuXG4ubWItOTAge1xuICBtYXJnaW4tYm90dG9tOiA1LjYyNXJlbTtcbn1cblxuLnBiLTkwIHtcbiAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtO1xufVxuXG4ubXItOTAge1xuICBtYXJnaW4tcmlnaHQ6IDUuNjI1cmVtO1xufVxuXG4ucHItOTAge1xuICBwYWRkaW5nLXJpZ2h0OiA1LjYyNXJlbTtcbn1cblxuLm1sLTkwIHtcbiAgbWFyZ2luLWxlZnQ6IDUuNjI1cmVtO1xufVxuXG4ucGwtOTAge1xuICBwYWRkaW5nLWxlZnQ6IDUuNjI1cmVtO1xufVxuXG4ubXQtMTAwIHtcbiAgbWFyZ2luLXRvcDogNi4yNXJlbTtcbn1cblxuLnB0LTEwMCB7XG4gIHBhZGRpbmctdG9wOiA2LjI1cmVtO1xufVxuXG4ubWItMTAwIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbn1cblxuLnBiLTEwMCB7XG4gIHBhZGRpbmctYm90dG9tOiA2LjI1cmVtO1xufVxuXG4ubXItMTAwIHtcbiAgbWFyZ2luLXJpZ2h0OiA2LjI1cmVtO1xufVxuXG4ucHItMTAwIHtcbiAgcGFkZGluZy1yaWdodDogNi4yNXJlbTtcbn1cblxuLm1sLTEwMCB7XG4gIG1hcmdpbi1sZWZ0OiA2LjI1cmVtO1xufVxuXG4ucGwtMTAwIHtcbiAgcGFkZGluZy1sZWZ0OiA2LjI1cmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLm1iLXNtLTUwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgfVxuICAubWItc20tNjAge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07XG4gIH1cbn1cblxuLyoqISAwNS4gQm94ZWQgbGF5b3V0ICoqL1xuLyotLS0tIEJveGVkIExheW91dCAtLS0tKi9cbmJvZHkuYm94ZWQtbGF5b3V0IHtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcbn1cblxuYm9keS5ib3hlZC1sYXlvdXQgLm1haW4ge1xuICBtYXgtd2lkdGg6IDEzNjZweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgYm94LXNoYWRvdzogMCAwIDIwcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG5ib2R5LmJveGVkLWxheW91dCAubmF2YmFyIHtcbiAgbWF4LXdpZHRoOiAxMzY2cHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0IC5mb290ZXItLWZpeGVkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiBpbml0aWFsO1xufVxuXG5ib2R5LmJveGVkLWxheW91dCAuaGVpZ2h0LWVtdWxhdG9yIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqISAwNi4gUGF0dGVybiAqKi9cbmJvZHkuYm94ZWQtbGF5b3V0LnN3aXJsLXBhdHRlcm4ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy9zd2lybC1wYXR0ZXJuLnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0LmNpcmNsZS1wYXR0ZXJuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvY2lyY2xlLXBhdHRlcm4ucG5nKTtcbn1cblxuYm9keS5ib3hlZC1sYXlvdXQueC1wYXR0ZXJuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMveC1wYXR0ZXJuLnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0LmxlYWYtcGF0dGVybiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL2xlYWYtcGF0dGVybi5wbmcpO1xufVxuXG5ib2R5LmJveGVkLWxheW91dC50aWMtdGFjLXRvZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL3RpYy10YWMtdG9lLnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0LmNpcmNsZXMtbGlnaHQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy9jaXJjbGVzLWxpZ2h0LnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0LnNwaXJhdGlvbi1saWdodCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL3NwaXJhdGlvbi1saWdodC5wbmcpO1xufVxuXG5ib2R5LmJveGVkLWxheW91dC5yb3VuZC1wYXR0ZXJuIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvcm91bmQtcGF0dGVybi5wbmcpO1xufVxuXG5ib2R5LmJveGVkLWxheW91dC5kYXJrLWFuZ2xlcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL2RhcmstYW5nbGVzLnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0Lm1lbXBoaXMtY29sb3JmdWwge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy9tZW1waGlzLWNvbG9yZnVsLnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0LnNwaXJhdGlvbi1kYXJrIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvc3BpcmF0aW9uLWRhcmsucG5nKTtcbn1cblxuYm9keS5ib3hlZC1sYXlvdXQuY3VybHMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy9jdXJscy5wbmcpO1xufVxuXG5ib2R5LmJveGVkLWxheW91dC5kYXJrbmVzcyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL2RhcmtuZXNzLnBuZyk7XG59XG5cbmJvZHkuYm94ZWQtbGF5b3V0LnppZy16YWctd29vbCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL3ppZy16YWctd29vbC5wbmcpO1xufVxuXG4vKiohIDA3LiBjb2xvcnMgKiovXG4vKiohIC0tLS0tIENvbW1vbiBjb2xvcnMgKFNDU1MgZXh0ZW5kKSAtLS0tICoqL1xuLmJnLWNvbG9yLXByaW1hcnksIC5idG4tLWJnLXByaW1hcnksIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAuYnRuLS1iZy1ncmV5OmhvdmVyLCAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAuYnRuLWJvcmRlci1ob3Zlci5idG4tLWNvbG9yLXdoaXRlOmJlZm9yZSwgLmNhcmQtLWZvY3VzZWQsIC5jYXJkLS1vdXRsaW5lOmhvdmVyLCAuY2FyZC0tb3V0bGluZTpmb2N1cywgLnNvY2lhbC1saXN0cyBsaSBhOmhvdmVyLCAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLm92YWwsIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjMmY1YmVhO1xufVxuXG4uY29sb3ItcHJpbWFyeSwgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuYnRuLS1iZy13aGl0ZTpob3ZlciwgLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmJ0bi0tY29sb3ItcHJpbWFyeTpob3ZlciwgLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLmJ0bi0tb3V0bGluZS5idG4tLWNvbG9yLXByaW1hcnksIC5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93bl9faXRlbTpob3ZlciwgLmljb24tcm91bmRlZCAuaWNvbiwgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXk6aG92ZXIsIC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkgaSwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAucGFnZS1saW5rOmhvdmVyLCAuZHJvcGRvd24taXRlbTpmb2N1cywgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciB7XG4gIGNvbG9yOiAjMmY1YmVhO1xufVxuXG4uZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5zd2lwZS10YWJfX2lubmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggIzJmNWJlYTtcbn1cblxuLmJvcmRlci1wcmltYXJ5LCAuaHItLWJsb2QsIC5idG4tLWNvbG9yLXByaW1hcnksIC5idG4tLWNvbG9yLWRhcmsuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5idG4tLW91dGxpbmU6aG92ZXIsIC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzJmNWJlYTtcbn1cblxuLyoqISAtLS0tLSBzdmcgZmlsbCBjb2xvciAtLS0tICoqL1xuLmJnLWZpbGwtcHJpbWFyeSB7XG4gIGZpbGw6ICMyZjViZWE7XG59XG5cbi8qKiEgLS0tLS0gbGlnaHQgdGhlbWUgdGhlbWUgYmFja2dyb3VuZCAtLS0tICoqL1xuLm1haW4ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4vKiohIC0tLS0tIERhcmsgdGhlbWUgY29sb3IgLS0tLSAqKi9cbltkYXRhLXRoZW1lPWRhcmtdIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5tYWluIHtcbiAgYmFja2dyb3VuZDogIzAxMDgxZjtcbn1cblxuLyoqISAtLS0tLSBDb2xvciBwYWxldHRlIC0tLS0gKiovXG4uYmctY29sb3ItbWlkbmlnaHQge1xuICBiYWNrZ3JvdW5kOiAjMDEwODFmO1xufVxuXG4uYmctY29sb3ItZGFya2JsdWUge1xuICBiYWNrZ3JvdW5kOiAjMTUxYzMyO1xufVxuXG4uYmctY29sb3ItZGFya2dyZXkge1xuICBiYWNrZ3JvdW5kOiAjMkQzMTM2O1xufVxuXG4uYmctY29sb3ItZ3JleSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmY4Zjk7XG59XG5cbi5iZy1jb2xvci1jb3JhbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYzVjNDI7XG59XG5cbi5iZy1jb2xvci1jb3JhbC5iYWRnZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uYmctZ3JhZGllbnQtMSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtNDVkZWcsICMyZjFjZTAgMCUsICM1M2EwZmQgNTAlLCAjNTFlY2E1IDEwMCUpO1xufVxuXG4uYmctZ3JhZGllbnQtMiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwOTlGRiAwJSwgIzY2MTBmMiAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LTMge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMmQxNTgyIDAlLCAjMTlhMGZmIDEwMCUpO1xufVxuXG4uYmctZ3JhZGllbnQtNCB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgIzY0MkI3MyAwJSwgI0M2NDI2RSAxMDAlKTtcbn1cblxuLmJnLWdyYWRpZW50LTUge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMUE2Qjg5IDAlLCAjMkE3ODcxIDEwMCUpO1xufVxuXG4uYmctZ3JhZGllbnQtNiB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgtMTM0ZGVnLCAjQzg2REQ3IDAlLCAjMzAyM0FFIDEwMCUpO1xufVxuXG4uY29sb3Itd2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmNvbG9yLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5jb2xvci1saWdodC1wcmltYXJ5IHtcbiAgY29sb3I6ICMyYzJlMzAgIWltcG9ydGFudDtcbn1cblxuLmNvbG9yLWxpZ2h0LXNlY29uZGFyeSwgLmJ0bi0tb3V0bGluZSwgLmJ0bi0tb3V0bGluZS10aGljayB7XG4gIGNvbG9yOiAjNTQ1NjVhO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAuY29sb3ItbGlnaHQtc2Vjb25kYXJ5LCBbZGF0YS10aGVtZT1kYXJrXSAuYnRuLS1vdXRsaW5lLCBbZGF0YS10aGVtZT1kYXJrXSAuYnRuLS1vdXRsaW5lLXRoaWNrIHtcbiAgY29sb3I6ICM1NDU2NWE7XG59XG5cbi5jb2xvci1saWdodC1zZWNvbmRhcnktMiB7XG4gIGNvbG9yOiAjN2U4MDg1O1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAuY29sb3ItbGlnaHQtc2Vjb25kYXJ5LTIge1xuICBjb2xvcjogIzdlODA4NTtcbn1cblxuLmljb24tY29sb3Itd2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmljb24tY29sb3Itd2hpdGUgKiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKiohIC0tLS0tIFR5cG9ncmFwaHkgQ29sb3IgU2V0dGluZ3MgLS0tLSAqKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGNvbG9yOiAjMmMyZTMwO1xufVxuXG4uYmctY29sb3ItcHJpbWFyeSBoMSxcbltjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSBoMSwgLmJnLWNvbG9yLXByaW1hcnlcbmgyLFxuW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdXG5oMiwgLmJnLWNvbG9yLXByaW1hcnlcbmgzLFxuW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdXG5oMyB7XG4gIGNvbG9yOiAjMmMyZTMwO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSBoMSxcbltkYXRhLXRoZW1lPWRhcmtdIGgyLFxuW2RhdGEtdGhlbWU9ZGFya10gaDMsXG5bZGF0YS10aGVtZT1kYXJrXSBoNCxcbi5iZy0tZGFyayBoMSxcbi5iZy0tZGFyayBoMixcbi5iZy0tZGFyayBoMyxcbi5iZy0tZGFyayBoNCxcbi5iZy1jb2xvci1kYXJrYmx1ZSBoMSxcbi5iZy1jb2xvci1kYXJrYmx1ZSBoMixcbi5iZy1jb2xvci1kYXJrYmx1ZSBoMyxcbi5iZy1jb2xvci1kYXJrYmx1ZSBoNCxcbi5iZy1jb2xvci1kYXJrZ3JleSBoMSxcbi5iZy1jb2xvci1kYXJrZ3JleSBoMixcbi5iZy1jb2xvci1kYXJrZ3JleSBoMyxcbi5iZy1jb2xvci1kYXJrZ3JleSBoNCB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG5wIHtcbiAgY29sb3I6ICM1NDU2NWE7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIHAsXG4uYmctLWRhcmsgcCxcbi5iZy1jb2xvci1kYXJrZ3JleSBwLFxuLmJnLWNvbG9yLWRhcmtibHVlIHAge1xuICBjb2xvcjogIzdlODA4NTtcbn1cblxuLmJnLWNvbG9yLXByaW1hcnkgcCxcbltjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSBwIHtcbiAgY29sb3I6ICNEMkQ1REE7XG59XG5cbi5sZWFkIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbi5iZy1jb2xvci1wcmltYXJ5IC5sZWFkLFxuW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIC5sZWFkIHtcbiAgY29sb3I6ICNlM2U0ZTY7XG59XG5cbi5iZy1jb2xvci1wcmltYXJ5IC50eXBlLS1maW5lLXByaW50LFxuW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIC50eXBlLS1maW5lLXByaW50IHtcbiAgY29sb3I6ICNEMkQ1REE7XG59XG5cbi5iZy0tZGFyayAuYmxvY2txdW90ZSxcbi5iZy1jb2xvci1kYXJrZ3JleSAuYmxvY2txdW90ZSxcbi5iZy1jb2xvci1kYXJrYmx1ZSAuYmxvY2txdW90ZSB7XG4gIGNvbG9yOiAjZTNlNGU2O1xufVxuXG4uYmctLWRhcmsgLmJsb2NrcXVvdGUgaDQsXG4uYmctLWRhcmsgLmJsb2NrcXVvdGUgaDUsXG4uYmctY29sb3ItZGFya2dyZXkgLmJsb2NrcXVvdGUgaDQsXG4uYmctY29sb3ItZGFya2dyZXkgLmJsb2NrcXVvdGUgaDUsXG4uYmctY29sb3ItZGFya2JsdWUgLmJsb2NrcXVvdGUgaDQsXG4uYmctY29sb3ItZGFya2JsdWUgLmJsb2NrcXVvdGUgaDUge1xuICBjb2xvcjogI2UzZTRlNjtcbn1cblxuLyoqISAwOC4gYnV0dG9ucyAqKi9cbi5idG4ge1xuICBib3JkZXI6IDA7XG4gIG91dGxpbmU6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMXJlbSAyLjM3NXJlbTtcbiAgdHJhbnNpdGlvbjogLjNzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE7XG59XG5cbi8qKiEgLS0tLS0gYnV0dG9uIHNpemUgLS0tLSAqKi9cbi5idG4tLXNtIHtcbiAgcGFkZGluZzogMC44MTI1cmVtIDEuMjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG4vKiohIC0tLS0tIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yIC0tLS0gKiovXG4uYnRuLS10cmFuc3BhcmVudCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdGV4dC10cmFuc2Zvcm06IGluaGVyaXQ7XG59XG5cbi5idG4tLXRyYW5zcGFyZW50OmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLmJ0biArIC5idG4tLXRyYW5zcGFyZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDEuNTYyNXJlbTtcbn1cblxuLmJ0bi0tYmctcHJpbWFyeSwgLm5hdmJhci1zdGlja3ktLW9uIC5idG4ge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi0tYmctcHJpbWFyeTpob3ZlciwgLm5hdmJhci1zdGlja3ktLW9uIC5idG46aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi0tYmctd2hpdGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYnRuLS1iZy1ncmV5IHtcbiAgYmFja2dyb3VuZDogI2Y2ZjhmOTtcbn1cblxuLmJ0bi0tYmctZ3JleTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5idG4tLWJnLWNvcmFsIHtcbiAgYmFja2dyb3VuZDogI2ZjNWM0MjtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5idG4tLWJnLWNvcmFsOmhvdmVyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJ0bi0tYmcteWVsbG93IHtcbiAgYmFja2dyb3VuZDogI2Y1ZTY1ODtcbiAgY29sb3I6ICMyYzJlMzA7XG59XG5cbi5idG4tLWJnLXllbGxvdzpob3ZlciB7XG4gIGNvbG9yOiAjMmMyZTMwICFpbXBvcnRhbnQ7XG59XG5cbi8qKiEgLS0tLS0gYnV0dG9uIHRleHQgY29sb3IgLS0tLSAqKi9cbi5idG4tLWNvbG9yLXByaW1hcnkuYnRuLXRleHQtaG92ZXI6aG92ZXIge1xuICBvcGFjaXR5OiAuODtcbn1cblxuLmJ0bi0tY29sb3ItZGFyayB7XG4gIGNvbG9yOiAjMmMyZTMwO1xuICBib3JkZXItY29sb3I6ICMyYzJlMzA7XG59XG5cbi5idG4tLWNvbG9yLXdoaXRlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi0tY29sb3ItZ3JleSB7XG4gIGNvbG9yOiAjN2U4MDg1O1xuICBib3JkZXItY29sb3I6ICM3ZTgwODU7XG59XG5cbi5idG4tLWNvbG9yLWNvcmFsIHtcbiAgY29sb3I6ICNmYzVjNDI7XG4gIGJvcmRlci1jb2xvcjogI2ZjNWM0Mjtcbn1cblxuLyoqISAtLS0tLSBidXR0b24gb3V0bGluZSAoYm9yZGVyIGFsbCBhcm91bmQgdGhlIGJ1dHRvbikgc3R5bGUgLS0tLSAqKi9cbi5idG4tLW91dGxpbmUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTNlNGU2O1xufVxuXG4uYnRuLS1vdXRsaW5lOmhvdmVyIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmJ0bi0tb3V0bGluZS10aGljayB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlM2U0ZTY7XG59XG5cbi5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIge1xuICBjb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xufVxuXG4vKiohIC0tLS0tIGJ1dHRvbiBib3JkZXIgKGJvcmRlciBib3R0b20pIHN0eWxlIC0tLS0gKiovXG4uYnRuLS11bmRlcmxpbmUge1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcbn1cblxuLmJ0bi0tdW5kZXJsaW5lOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDU3NnB4KSB7XG4gIC5idG4gKyAuYnRuLS11bmRlcmxpbmUge1xuICAgIG1hcmdpbi1sZWZ0OiAxLjU2MjVyZW0gIWltcG9ydGFudDtcbiAgfVxufVxuXG4vKiohIC0tLS0tIGJ1dHRvbiBhcnJvdyBzdHlsZSAtLS0tICoqL1xuLmJ0bi0tYXJyb3ctYWZ0ZXIge1xuICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RhaWwtcmlnaHQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xufVxuXG4uYnRuLS1hcnJvdy1hZnRlci5idG4tLWNvbG9yLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90YWlsLXJpZ2h0LWxpZ2h0LnN2Zykgbm8tcmVwZWF0IGNlbnRlciByaWdodDtcbn1cblxuLyoqISAtLS0tLSBidXR0b24gYmFkZ2UgKGNoZWNrIHByaWNpbmcgdGFiIG9uIGhvbWUgdjIpIC0tLS0gKiovXG4uYnRuIC5iYWRnZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG59XG5cbi8qKiEgLS0tLS0gYnV0dG9uIGdyb3VwICh3aGVuIG11bHRpcGxlIGJ1dHRvbiBpbiBhIHJvdykgc3R5bGUgcmVzZXQtLS0tICoqL1xuLmJ1dHRvbi1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICB9XG4gIC5idXR0b24tZ3JvdXAgLmJ0biB7XG4gICAgbWFyZ2luOiAwLjM3NXJlbSAwO1xuICB9XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuYnRuICsgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmJ0biArIC5idG46bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICB9XG59XG5cbi5wcmljaW5nLXRhYiAuYnRuICsgLmJ0bjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLyoqISAtLS0tLSBidXR0b24gZm9jdXMgZGlzYWJsZSAtLS0tICoqL1xuLmJ0bi1uby1mb2N1c2VkOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqISAtLS0tLSBidXR0b24gaG92ZXIgc3R5bGUgLS0tLSAqKi9cbi5idG4tM2QtaG92ZXI6aG92ZXIsIC5idG4tM2QtaG92ZXI6Zm9jdXMge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG59XG5cbi5idG4tc3BsYXNoLWhvdmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uYnRuLXNwbGFzaC1ob3ZlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogLTEwMHB4O1xuICBoZWlnaHQ6IDIyMHB4O1xuICB3aWR0aDogNTBweDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpIDElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSA3MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgNzElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICB6LWluZGV4OiAtMTtcbiAgb3BhY2l0eTogLjE7XG4gIHRyYW5zZm9ybTogc2tldygtMTJkZWcsIDBkZWcpO1xuICB0cmFuc2l0aW9uOiAuNXMgZWFzZSAwcztcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uYnRuLXNwbGFzaC1ob3Zlci5idG4tLWJnLXdoaXRlOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSg4NCwgOTUsIDExNywgMCkgMCUsIHJnYmEoODQsIDk1LCAxMTcsIDAuMDMpIDElLCByZ2JhKDg0LCA5NSwgMTE3LCAwLjQpIDMwJSwgcmdiYSg4NCwgOTUsIDExNywgMC44NSkgNTAlLCByZ2JhKDg0LCA5NSwgMTE3LCAwLjc1KSA3MCUsIHJnYmEoODQsIDk1LCAxMTcsIDAuNzUpIDcxJSwgcmdiYSg4NCwgOTUsIDExNywgMCkgMTAwJSk7XG59XG5cbi5idG4tc3BsYXNoLWhvdmVyOmhvdmVyOmJlZm9yZSB7XG4gIGxlZnQ6IDEwMCU7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHRyYW5zaXRpb246IC41cyBlYXNlIC4ycztcbn1cblxuLmJ0bi1ib3JkZXItaG92ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5idG4tYm9yZGVyLWhvdmVyOmJlZm9yZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IC0ycHg7XG4gIGxlZnQ6IDBweDtcbiAgY29udGVudDogXCJcIjtcbiAgaGVpZ2h0OiAycHg7XG4gIHdpZHRoOiAwO1xuICBiYWNrZ3JvdW5kOiAjMmMyZTMwO1xuICB0cmFuc2l0aW9uOiAuM3M7XG59XG5cbi5idG4tYm9yZGVyLWhvdmVyLmJ0bi0tY29sb3Itd2hpdGU6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmJ0bi1ib3JkZXItaG92ZXI6aG92ZXIge1xuICBjb2xvcjogIzJjMmUzMDtcbn1cblxuLmJ0bi1ib3JkZXItaG92ZXI6aG92ZXI6YmVmb3JlIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5idG4tdGV4dC1ob3Zlci5idG4tLWNvbG9yLXdoaXRlOmhvdmVyIHtcbiAgY29sb3I6ICNkOWQ5ZDkgIWltcG9ydGFudDtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjICFpbXBvcnRhbnQ7XG59XG5cbi8qKiEgMDkuIGZvcm0gKiovXG4uZm9ybS1yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG59XG5cbi5mb3JtIC5mb3JtLXJvdyA+IC5jb2wsIC5mb3JtIC5mb3JtLXJvdyA+IFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xufVxuXG4uZm9ybS1jb250cm9sIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMyYzJlMzA7XG4gIHBhZGRpbmc6IDByZW0gMS41NjI1cmVtO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCAjZGRkO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0LjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiA0LjY4NzVyZW07XG59XG5cbi5mb3JtLS1zbSAuZm9ybS1jb250cm9sIHtcbiAgaGVpZ2h0OiAzLjQzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAzLjQzNzVyZW07XG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggI2RkZDtcbiAgb3V0bGluZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4uZm9ybSB0ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5mb3JtIC5sYWJlbC1jb250cm9sIHtcbiAgY29sb3I6ICMyYzJlMzA7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xufVxuXG4uZm9ybSAuYnRuOmZvY3VzIHtcbiAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLyoqISAtLS0tLSBOZXdzbGV0dGVyIFN1YnNjcmlwdGlvbiBmb3JtLS0tLSAqKi9cbi5mb3JtLXN1YnNjcmlwdGlvbiAuYnRuIHtcbiAgaGVpZ2h0OiA0LjY4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U3ZWFlZTtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogYXV0bztcbiAgei1pbmRleDogNTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDU3NXB4KSB7XG4gIC5mb3JtLXN1YnNjcmlwdGlvbiAuYnRuIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjA2MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjA2MjVyZW07XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgfVxufVxuXG4uZm9ybS1zdWJzY3JpcHRpb24uZm9ybS0tc20gLmJ0biB7XG4gIGhlaWdodDogMy40Mzc1cmVtO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4vKiohIDEwLiBjYXJkcyAqKi9cbi5jYXJkIHtcbiAgYm94LXNoYWRvdzogMCAycHggNHB4IDAgcmdiYSg0NCwgNDYsIDQ4LCAwLjA4KTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmNhcmQgLmJvcmRlci1ib3R0b20tbGlnaHQsIFtkYXRhLXRoZW1lPWRhcmtdIC5jYXJkIC5mZWF0dXJlcyAuc3dpcGUtdGFicywgLmZlYXR1cmVzIFtkYXRhLXRoZW1lPWRhcmtdIC5jYXJkIC5zd2lwZS10YWJzLCBbZGF0YS10aGVtZT1kYXJrXSAuY2FyZCAuZmVhdHVyZXMgLnRhYi1jb250ZW50X19saXN0LCAuZmVhdHVyZXMgW2RhdGEtdGhlbWU9ZGFya10gLmNhcmQgLnRhYi1jb250ZW50X19saXN0IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlN2VhZWU7XG59XG5cbi5jYXJkLWZvb3RlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2U3ZWFlZTtcbn1cblxuLmNhcmQgLmF2YXRhciB7XG4gIG1heC13aWR0aDogMi4yNXJlbTtcbn1cblxuLmNhcmQgLmF2YXRhciBpbWcge1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbn1cblxuLmNhcmQgLmJsb2NrcXVvdGUgcCB7XG4gIGNvbG9yOiAjN2U4MDg1O1xufVxuXG4vKiohIC0tLS0tIENhcmQgRm9jdXNlZCAoZm9yIGV4YW1wbGUgc2VlIHByaWNpbmcgYXJlYSkgLS0tLSAqKi9cbi5jYXJkLS1mb2N1c2VkICoge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmNhcmQtLWZvY3VzZWQgKiB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uY2FyZC0tZm9jdXNlZCAuYm9yZGVyLWJvdHRvbS1saWdodCwgLmNhcmQtLWZvY3VzZWQgLmZlYXR1cmVzIC5zd2lwZS10YWJzLCAuZmVhdHVyZXMgLmNhcmQtLWZvY3VzZWQgLnN3aXBlLXRhYnMsIC5jYXJkLS1mb2N1c2VkIC5mZWF0dXJlcyAudGFiLWNvbnRlbnRfX2xpc3QsIC5mZWF0dXJlcyAuY2FyZC0tZm9jdXNlZCAudGFiLWNvbnRlbnRfX2xpc3Qge1xuICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5jYXJkLS1mb2N1c2VkIC5ib3JkZXItYm90dG9tLWxpZ2h0LCBbZGF0YS10aGVtZT1kYXJrXSAuY2FyZC0tZm9jdXNlZCAuZmVhdHVyZXMgLnN3aXBlLXRhYnMsIC5mZWF0dXJlcyBbZGF0YS10aGVtZT1kYXJrXSAuY2FyZC0tZm9jdXNlZCAuc3dpcGUtdGFicywgW2RhdGEtdGhlbWU9ZGFya10gLmNhcmQtLWZvY3VzZWQgLmZlYXR1cmVzIC50YWItY29udGVudF9fbGlzdCwgLmZlYXR1cmVzIFtkYXRhLXRoZW1lPWRhcmtdIC5jYXJkLS1mb2N1c2VkIC50YWItY29udGVudF9fbGlzdCB7XG4gIGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcbn1cblxuLmNhcmQtLWZvY3VzZWQgLmJ0biB7XG4gIGJhY2tncm91bmQ6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLmNhcmQtLWZvY3VzZWQgcCB7XG4gIGNvbG9yOiAjZTdlYWVlO1xufVxuXG4uY2FyZC0tZm9jdXNlZCAuaWNvbi1yb3VuZGVkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4uY2FyZC0tZm9jdXNlZCAuaWNvbi1yb3VuZGVkIC5pY29uIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLyoqISAtLS0tLSBDYXJkIG91dGxpbmUgKGZvciBleGFtcGxlIHNlZSB4UGlkZXIgMi4wIC0gQ2Fpcm8gaGVybyBhcmVhKSAtLS0tICoqL1xuLmNhcmQtLW91dGxpbmUge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm94LXNoYWRvdzogMCAwIDAgM3B4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG59XG5cbi5jYXJkLS1vdXRsaW5lIHNwYW4ge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE0KTtcbn1cblxuLmNhcmQtLW91dGxpbmUgaSB7XG4gIGZvbnQtc2l6ZTogMy40Mzc1cmVtO1xufVxuXG4uY2FyZC0tb3V0bGluZTpob3ZlciwgLmNhcmQtLW91dGxpbmU6Zm9jdXMge1xuICBib3gtc2hhZG93OiBub25lO1xufVxuXG4uY2FyZF9fdmFsdWUtLWZvY3VzZWQge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiohIDExLiBzb2NpYWwgbGlzdCAqKi9cbi5zb2NpYWwtbGlzdHMgbGkgYSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGhlaWdodDogMS44NzVyZW07XG4gIHdpZHRoOiAxLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgYmFja2dyb3VuZDogIzU0NWY3NTtcbiAgY29sb3I6ICNmZmY7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG4uc29jaWFsLWxpc3RzIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xufVxuXG4vKiohIDEyLiBsYW5ndWFnZSBzZWxlY3RvciAqKi9cbi5sYW5nLXNlbGVjdG9yIHtcbiAgLyoqISAtLS0tLSBsYW5ndWFnZSBzZWxjdG9yIGRyb3Bkb3duLS0tLSAqKi9cbn1cblxuLmxhbmctc2VsZWN0b3JfX2J1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xufVxuXG4ubGFuZy1zZWxlY3Rvcl9fYnV0dG9uIC5mbGFnLWltYWdlIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgbWF4LWhlaWdodDogMS4yNXJlbTtcbn1cblxuLmxhbmctc2VsZWN0b3JfX2J1dHRvbiBzcGFuIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjNTQ1NjVhO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAubGFuZy1zZWxlY3Rvcl9fYnV0dG9uIHNwYW4ge1xuICBjb2xvcjogIzdlODA4NTtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLmxhbmctc2VsZWN0b3JfX2J1dHRvbiBpIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbi5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiA0MHB4O1xuICBsZWZ0OiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWluLXdpZHRoOiAxMi41cmVtO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93bjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogYXV0bztcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogLTEwcHg7XG4gIGxlZnQ6IDIwcHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgI2ZmZjtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgYm90dG9tOiA1MHB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cbn1cblxuLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW0ge1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzJjMmUzMDtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG4vKiohIDEzLiBpY29ucyAqKi9cbi8qKiEgLS0tLS0gSWNvbiBEb3R0ZWQtLS0tICoqL1xuLmljb24tZG90dGVkIHtcbiAgYmFja2dyb3VuZDogIzU0NWY3NTtcbiAgd2lkdGg6IDYuMTI1cmVtO1xuICBoZWlnaHQ6IDYuMTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uaWNvbi1kb3R0ZWQ6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9vdmFsLWRvdHRlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gIHdpZHRoOiA3LjEyNXJlbTtcbiAgaGVpZ2h0OiA3LjEyNXJlbTtcbn1cblxuLmljb24tZG90dGVkIC5pY29uIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBsaW5lLWhlaWdodDogNi4xMjVyZW07XG59XG5cbi5pY29uLWRvdHRlZDpob3ZlcjphZnRlciB7XG4gIGFuaW1hdGlvbjogaW5maW5pdGUtc3Bpbm5pbmcgNXMgaW5maW5pdGUgbGluZWFyO1xufVxuXG4vKi0tLS0tLS0tLS0gc3Bpbm5pbmcgQW5pbWF0aW9uIC0tLS0tLS0tLS0qL1xuQGtleWZyYW1lcyBpbmZpbml0ZS1zcGlubmluZyB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cblxuLyoqISAtLS0tLSBJY29uIFJvdW5kZWQtLS0tICoqL1xuLmljb24tcm91bmRlZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoNDcsIDkxLCAyMzQsIDAuMDgpO1xuICB3aWR0aDogNi4xMjVyZW07XG4gIGhlaWdodDogNi4xMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pY29uLXJvdW5kZWQtLWxnIHtcbiAgd2lkdGg6IDYuODc1cmVtO1xuICBoZWlnaHQ6IDYuODc1cmVtO1xufVxuXG4uaWNvbi1yb3VuZGVkIC5pY29uIHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiA2LjEyNXJlbTtcbn1cblxuLmljb24tcm91bmRlZC5pY29uLXJvdW5kZWQtLWxnIC5pY29uIHtcbiAgZm9udC1zaXplOiAyLjYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDYuODc1cmVtO1xufVxuXG4ucmF0aW5nX19zdGFyIGkge1xuICBjb2xvcjogI2Y1YjEyMztcbiAgb3BhY2l0eTogLjQzO1xufVxuXG4ucmF0aW5nX19zdGFyIGkuYWN0aXZlIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLyoqISAtLS0tLSBNZWRpYSBQbGF5ZXIgSWNvbiAtLS0tICoqL1xuLm1lZGlhLXBsYXllci1pY29uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24gaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm1lZGlhLXBsYXllci1pY29uLS14cyB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIGhlaWdodDogMS4zNzVyZW07XG4gIHdpZHRoOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLXhzW2NsYXNzKj1cIm1lZGlhLXBsYXllci1pY29uLS1maWxsLVwiXSBpIHtcbiAgdG9wOiAxcHg7XG59XG5cbi5tZWRpYS1wbGF5ZXItaWNvbi0tc20ge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07XG4gIHdpZHRoOiAyLjE4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG59XG5cbi5tZWRpYS1wbGF5ZXItaWNvbi0tc21bY2xhc3MqPVwibWVkaWEtcGxheWVyLWljb24tLWZpbGwtXCJdIGkge1xuICB0b3A6IDIuNXB4O1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLW1kLCAubWVkaWEtcGxheWVyLWljb24tLWxnIHtcbiAgZm9udC1zaXplOiAycmVtO1xuICBoZWlnaHQ6IDZyZW07XG4gIHdpZHRoOiA2cmVtO1xuICBsaW5lLWhlaWdodDogNnJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KTtcbn1cblxuLm1lZGlhLXBsYXllci1pY29uLS1tZDpob3ZlciwgLm1lZGlhLXBsYXllci1pY29uLS1sZzpob3ZlciB7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLW1kIGksIC5tZWRpYS1wbGF5ZXItaWNvbi0tbGcgaSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG4gIHRvcDogMC4xODc1cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm1lZGlhLXBsYXllci1pY29uLS1sZyB7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIGhlaWdodDogNy42MjVyZW07XG4gICAgd2lkdGg6IDcuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA3LjYyNXJlbTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICB9XG4gIC5tZWRpYS1wbGF5ZXItaWNvbi0tbGc6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICB9XG4gIC5tZWRpYS1wbGF5ZXItaWNvbi0tbGcgaSB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICB0b3A6IDAuMTg3NXJlbTtcbiAgfVxufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeTpob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLWZpbGwtY29yYWwge1xuICBiYWNrZ3JvdW5kOiAjZmM1YzQyO1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAyMXB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDkpO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLWZpbGwtY29yYWw6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkge1xuICBiYWNrZ3JvdW5kOiAjZTNlNGU2O1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkgaSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjE4NzVyZW07XG4gIHRvcDogMC4xMjVyZW0gIWltcG9ydGFudDtcbn1cblxuLmJ0biAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSB7XG4gIGxlZnQ6IDZweDtcbn1cblxuLm1lZGlhLXBsYXllci1pY29uLS1vdXRsaW5lLXdoaXRlIHtcbiAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZmY7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubWVkaWEtcGxheWVyLWljb24tLW91dGxpbmUtd2hpdGU6aG92ZXIge1xuICBjb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi5tZWRpYS1wbGF5ZXItaWNvbi0tb3V0bGluZS13aGl0ZSBpIHtcbiAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gIHRvcDogMC4xMjVyZW07XG59XG5cbi5tZWRpYS1wbGF5ZXItaWNvbi0tb3V0bGluZS13aGl0ZS5tZWRpYS1wbGF5ZXItaWNvbi0teHMgaSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjEyNXJlbTtcbiAgdG9wOiAwLjA2MjVyZW07XG59XG5cbi8qKiEgMTQuIGJhY2tncm91bmQtaG9sZGVyICoqL1xuLmJhY2tncm91bmQtaG9sZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xufVxuXG4uYmFja2dyb3VuZC1ob2xkZXItLWNpcmNsZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCB0b3A7XG4gIHRvcDogLThyZW07XG59XG5cbi5iYWNrZ3JvdW5kLWhvbGRlci0tY292ZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4uYmFja2dyb3VuZC1ob2xkZXItLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5iYWNrZ3JvdW5kLWhvbGRlci0tYXV0byB7XG4gIGJhY2tncm91bmQtc2l6ZTogYXV0bztcbn1cblxuLmJhY2tncm91bmQtaG9sZGVyLS1jZW50ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG59XG5cbi5iYWNrZ3JvdW5kLWhvbGRlci0tYm90dG9tIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xufVxuXG4uYmFja2dyb3VuZC1ob2xkZXItLWxlZnQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0O1xufVxuXG4uYmFja2dyb3VuZC1ob2xkZXItLXRvcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcDtcbn1cblxuLmJhY2tncm91bmQtaG9sZGVyLS1sZWZ0LXRvcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgdG9wO1xufVxuXG4uYmFja2dyb3VuZC1ob2xkZXItLXJpZ2h0LXRvcCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IHRvcDtcbn1cblxuLmJhY2tncm91bmQtaG9sZGVyLS1sZWZ0LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgYm90dG9tO1xufVxuXG4uYmFja2dyb3VuZC1ob2xkZXItLXJpZ2h0LWJvdHRvbSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbn1cblxuLnN2Zy1zaGFwZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiAwcHg7XG4gIGJvdHRvbTogLTJweDtcbiAgbGVmdDogMDtcbn1cblxuLnN2Zy1zaGFwZS0tdG9wIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTJweDtcbiAgcmlnaHQ6IDBweDtcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAwO1xufVxuXG4vKiohIDE1LiBzZWN0aW9uIG92ZXJsYXAgKiovXG4ub3ZlcmxhcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IGF1dG87XG4gIGhlaWdodDogNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAub3ZlcmxhcCB7XG4gICAgaGVpZ2h0OiA3LjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5vdmVybGFwLS1sZyB7XG4gICAgaGVpZ2h0OiA5LjM3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm92ZXJsYXAtLXhsIHtcbiAgICBoZWlnaHQ6IDEyLjVyZW07XG4gIH1cbn1cblxuLm92ZXJsYXAtLXdoaXRlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbn1cblxuLm92ZXJsYXAtLWdyYXkge1xuICBiYWNrZ3JvdW5kOiAjZjZmOGY5O1xufVxuXG4ub3ZlcmxhcC0tZGFya2JsdWUge1xuICBiYWNrZ3JvdW5kOiAjMTUxYzMyO1xufVxuXG4ub3ZlcmxhcC0tbWlkbmlnaHQge1xuICBiYWNrZ3JvdW5kOiAjMDEwODFmO1xufVxuXG4ub3ZhbCB7XG4gIGhlaWdodDogMjkuNjg3NXJlbTtcbiAgd2lkdGg6IDI5LjY4NzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiohIDE2LiBibG9nIHBvc3QgKiovXG4uYXJ0aWNsZV9fdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5hcnRpY2xlLS1ibG9nLXBvc3QgaDIsIC5hcnRpY2xlLS1ibG9nLXBvc3QgcCB7XG4gIG1heC13aWR0aDogMzQuMzc1cmVtO1xufVxuXG4uYXJ0aWNsZS0tYmxvZy1wb3N0IGgyIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmFydGljbGUtLWJsb2ctcG9zdCBpbWcge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLyoqISAxNy4gYmxvZyBzaWRlYmFyIHdpZGdldCAqKi9cbi5ibG9nLW1haW4gLndpZGdldCAuYXJ0aWNsZV9fdGh1bWJuYWlsIHtcbiAgZmxleDogMCAwIDU1cHg7XG59XG5cbi5ibG9nLW1haW4gLndpZGdldCBwIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbn1cblxuLmJsb2ctbWFpbiBmaWd1cmUge1xuICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07XG4gIG1hcmdpbi10b3A6IDIuMTg3NXJlbTtcbn1cblxuLmJsb2ctbWFpbiBmaWd1cmUgaW1nIHtcbiAgYm9yZGVyLXJhZGl1czogMC4zMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbn1cblxuLmJsb2ctbWFpbiB1bCxcbi5ibG9nLW1haW4gb2wsXG4uYmxvZy1tYWluIGxpIHtcbiAgcGFkZGluZzogaW5oZXJpdDtcbn1cblxuLmJsb2ctbWFpbiB1bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbn1cblxuLmJsb2ctbWFpbiBvbCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbn1cblxuLmJsb2ctbWFpbiBsaSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLmJsb2ctZGV0YWlscyAuY29udGVudCBwIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbn1cblxuLmJsb2ctZGV0YWlscyAuY29udGVudCBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgbWFyZ2luLXRvcDogMS41NjI1cmVtO1xufVxuXG4vKiohIDE4LiBibG9nIGJsb2NrcXVvdGUgKiovXG4uYmxvZy1tYWluIGJsb2NrcXVvdGUge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbWF4LXdpZHRoOiAzMS4yNXJlbTtcbiAgY29sb3I6ICMyYzJlMzA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbn1cblxuLmJsb2ctbWFpbiBibG9ja3F1b3RlIHNwYW4ge1xuICBmb250LXNpemU6IDFyZW07XG4gIGNvbG9yOiAjNTQ1NjVhO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xufVxuXG4vKiohIDE5LiBibG9nIGNvbW1lbnRzICoqL1xuLmNvbW1lbnRzLWNvbnRhaW5lciB1bCwgLmNvbW1lbnRzLWNvbnRhaW5lciBvbCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qKiEgMjAuIGJsb2cgbmF2aWdhdGlvbiAqKi9cbi5ibG9nLW1haW4gLm5hdmlnYXRpb25zIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2VlZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtO1xufVxuXG4uYmxvZy1tYWluIC5uYXZpZ2F0aW9ucyBsaSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC13aWR0aDogNTAlO1xufVxuXG4uYmxvZy1tYWluIC5uYXZpZ2F0aW9ucyBzcGFuIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG59XG5cbi8qKiEgMjEuIHBhZ2luYXRpb24gKiovXG4vKiohIC0tLS0tIGNhcm91c2VsIHBhZ2luYXRpb24gLS0tLSAqKi9cbi5zbGljay1kb3RzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG59XG5cbi5zbGljay1kb3RzLS1sb25nIHtcbiAgaGVpZ2h0OiAwLjU2MjVyZW07XG4gIHdpZHRoOiA0Ljg3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjU2MjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwLjU2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG59XG5cbi8qKiEgLS0tLS0gVW5pdmVyc2FsIHBhZ2luYXRpb24gSUUuIEJsb2cgcG9zdCBwYWdlIC0tLS0gKiovXG4ucGFnaW5hdGlvbiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAucGFnZS1saW5rIHtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogIzdlODA4NTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgdHJhbnNpdGlvbjogLjNzO1xuICBib3JkZXItcmFkaXVzOiAwLjMxMjVyZW07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbn1cblxuLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluayB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7XG59XG5cbi5wYWdpbmF0aW9uIC5wYWdlLWl0ZW06bm90KDpmaXJzdC1jaGlsZCkgLnBhZ2UtbGluayB7XG4gIG1hcmdpbi1sZWZ0OiAwLjMxMjVyZW07XG59XG5cbi5wYWdpbmF0aW9uIC5wYWdlLWl0ZW06bm90KDpsYXN0LWNoaWxkKSAucGFnZS1saW5rIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG59XG5cbi8qKiEgMjIuIHN0aWNreSBlbGVtZW50cyAqKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RpY2t5LWVsZW1lbnRzLS1vbiB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxOC43NXJlbTtcbiAgICB0b3A6IDEuODc1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuc3RpY2t5LWVsZW1lbnRzLS1vbiB7XG4gICAgd2lkdGg6IDIxLjg3NXJlbTtcbiAgfVxufVxuXG4uc3RpY2t5LWVsZW1lbnRzIC5uYXYtbGluayB7XG4gIGNvbG9yOiAjRDJENURBO1xufVxuXG4uc3RpY2t5LWVsZW1lbnRzIC5uYXYtbGluazpob3ZlciwgLnN0aWNreS1lbGVtZW50cyAubmF2LWxpbmsuYWN0aXZlIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qKiEgMjMuIHN0aWNreSBlbGVtZW50cyAqKi9cbi5zd2l0Y2hhYmxlX19pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnN3aXRjaGFibGVfX2ltYWdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zd2l0Y2hhYmxlX19pbWFnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMy4xMjVyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuc3dpdGNoYWJsZV9faW1hZ2Uge1xuICAgIHBhZGRpbmctcmlnaHQ6IDcuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnN3aXRjaGFibGVfX2ltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4uc3dpdGNoYWJsZV9faW1hZ2UgaW1nIHtcbiAgYm94LXNoYWRvdzogMCAzMnB4IDU0cHggcmdiYSg2MiwgMTA2LCAxNjEsIDAuMTEpO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnN3aXRjaGFibGVfX2ltYWdlIGltZyB7XG4gICAgYm9yZGVyLXJhZGl1czogMCA1cHggNXB4IDA7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zd2l0Y2hhYmxlX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDQ3NXB4O1xuICB9XG59XG5cbi8qKiEgMjQuIHByZWxvYWRlciAqKi9cbi5wcmVsb2FkZXItbWFpbiB7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk5OTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLnByZWxvYWRlci1tYWluIC5wcmVsb2FkZXItd2FwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGhlaWdodDogMTAwdmg7XG59XG5cbi5wcmVsb2FkZXItbWFpbiAubG9hZGVyLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogY2FsYyg1MCUgKyAxcHgpO1xufVxuXG4ucHJlbG9hZGVyLW1haW4gLmxvYWRlci1zZWN0aW9uLnNlY3Rpb24tcmlnaHQge1xuICByaWdodDogMDtcbn1cblxuLnByZWxvYWRlci1tYWluIC5sb2FkZXItc2VjdGlvbi5zZWN0aW9uLWxlZnQge1xuICBsZWZ0OiAwO1xufVxuXG4ucHJlbG9hZGVyLW1haW4gLnByZWxvYWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTcwcHg7XG4gIGhlaWdodDogODBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTtcbiAgdG9wOiAtNDBweDtcbn1cblxuLnByZWxvYWRlci1tYWluIC5sb2FkZWQgLnNlY3Rpb24tcmlnaHQge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAxJSk7XG4gIHRyYW5zaXRpb246IDAuN3MgMC4zcyBhbGwgY3ViaWMtYmV6aWVyKDAuMSwgMC4xLCAwLjEsIDEpO1xufVxuXG4ucHJlbG9hZGVyLW1haW4gLmxvYWRlZCAuc2VjdGlvbi1sZWZ0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDElKTtcbiAgdHJhbnNpdGlvbjogMC43cyAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC4xLCAwLjEsIDAuMSwgMSk7XG59XG5cbi5wcmVsb2FkZXItbWFpbiAubG9hZGVkIC5wcmVsb2FkZXIge1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2Utb3V0O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5wcmVsb2FkZXItbWFpbiBjaXJjbGUuZG90Om50aC1vZi10eXBlKDEpIHtcbiAgYW5pbWF0aW9uOiBzbGlkZSAycyBlYXNlIGluZmluaXRlO1xufVxuXG4ucHJlbG9hZGVyLW1haW4gY2lyY2xlLmRvdDpudGgtb2YtdHlwZSgyKSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg1NXB4KTtcbiAgYW5pbWF0aW9uOiBzbGlkZSAycyBlYXNlIGluZmluaXRlO1xuICBhbmltYXRpb24tZGVsYXk6IDFzO1xufVxuXG5ALXdlYmtpdC1rZXlmcmFtZXMgc2xpZGUge1xuICAwJSxcbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gIH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNzBweCk7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBzbGlkZSB7XG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMHB4KTtcbiAgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3MHB4KTtcbiAgfVxufVxuXG4vKlxuKiAgVGhlbWUgQ29tcG9uZW50cyBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyoqISAyNS4gbmF2aWdhdGlvbiAqKi9cbi5uYXZiYXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgei1pbmRleDogOTk4O1xuICB0cmFuc2l0aW9uOiAuM3M7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4ubmF2YmFyIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLm5hdmJhciAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07XG4gIH1cbn1cblxuLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbi5uYXZiYXIubmF2YmFyLWxpZ2h0IC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci5uYXZiYXItbGlnaHQgLm5hdmJhci1uYXYgLm5hdi1saW5rOmZvY3VzLCAubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuYWN0aXZlLCAubmF2YmFyLm5hdmJhci1saWdodCAubmF2YmFyLW5hdiAubmF2LWxpbmsuY3VycmVudC1tZW51LWl0ZW0ge1xuICBjb2xvcjogIzJjMmUzMDtcbn1cblxuLm5hdmJhciAubmF2YmFyLWJyYW5kX19zdGlja3kge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4ubmF2YmFyLXN0aWNreSB7XG4gIHRyYW5zaXRpb246IG5vbmU7XG59XG5cbi5uYXZiYXItc3RpY2t5LS10cmFuc2l0aW9uZWQge1xuICB0cmFuc2l0aW9uOiAuM3M7XG59XG5cbi5uYXZiYXItc3RpY2t5LS1tb3ZlZC11cCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW4tdG9wOiAtMTAwcHg7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5uYXZiYXItc3RpY2t5LS1tb3ZlZC11cCB7XG4gIGJhY2tncm91bmQ6ICMwMTA4MWY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDI1cHggcmdiYSgzMCwgMzksIDY5LCAwLjMpLCAwIDFweCAwcHggcmdiYSgzMCwgMzksIDY5LCAwLjQpO1xufVxuXG4ubmF2YmFyLXN0aWNreS0tb24ge1xuICBtYXJnaW4tdG9wOiAwO1xuICB0cmFuc2l0aW9uOiAuM3M7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAubmF2YmFyLXN0aWNreS0tb24gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEuNjI1cmVtO1xuICB9XG59XG5cbi5uYXZiYXItc3RpY2t5LS1vbiAubmF2YmFyLWJyYW5kX19yZWd1bGFyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItYnJhbmRfX3N0aWNreSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLm5hdmJhci1zdGlja3ktLW9uIC5idG4ge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDtcbn1cblxuLm5hdmJhci1zdGlja3ktLW9uIC5idG4tc3BsYXNoLWhvdmVyOmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAzKSAxJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpIDMwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSA1MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgNzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDcxJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwKSAxMDAlKTtcbn1cblxuLyotLS0tLS0tLS0tIE5hdmJhciBEYXJrIC0tLS0tLS0tLS0qL1xuLm5hdmJhci1kYXJrIC5uYXZiYXItbmF2IC5uYXYtbGluayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubmF2YmFyLWRhcmsgLmJ0bi0tb3V0bGluZSB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4ubmF2YmFyLWRhcmsubmF2YmFyLXN0aWNreS0tb24gLm5hdmJhci1uYXYgLm5hdi1saW5rIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5uYXZiYXItZGFyay5uYXZiYXItc3RpY2t5LS1vbiAubmF2YmFyLW5hdiAubmF2LWxpbmsge1xuICBjb2xvcjogI2U3ZWFlZTtcbn1cblxuLm5hdmJhci1kYXJrLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgLm5hdmJhci1kYXJrLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgLm5hdmJhci1kYXJrLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsIC5uYXZiYXItZGFyay5uYXZiYXItc3RpY2t5LS1vbiAubmF2YmFyLW5hdiAubmF2LWxpbmsuY3VycmVudC1tZW51LWl0ZW0ge1xuICBjb2xvcjogIzJjMmUzMDtcbn1cblxuW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci1kYXJrLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItbmF2IC5uYXYtbGluazpob3ZlciwgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci1kYXJrLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItbmF2IC5uYXYtbGluazpmb2N1cywgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci1kYXJrLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItbmF2IC5uYXYtbGluay5hY3RpdmUsIFtkYXRhLXRoZW1lPWRhcmtdIC5uYXZiYXItZGFyay5uYXZiYXItc3RpY2t5LS1vbiAubmF2YmFyLW5hdiAubmF2LWxpbmsuY3VycmVudC1tZW51LWl0ZW0ge1xuICBjb2xvcjogI0QyRDVEQTtcbn1cblxuLyotLS0tLS0tLS0tIGJvb3RzdHJhcCBuYXYgY3VzdG9tIGhvdmVyIC0tLS0tLS0tLS0qL1xuLmRyb3Bkb3duLW1lbnUge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmRyb3Bkb3duLW1lbnUge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG1pbi13aWR0aDogMTQuMzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuICB9XG59XG5cbi5kcm9wZG93bi1tZW51ID4gbGkge1xuICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xufVxuXG4uZHJvcGRvd24gPiAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogLTEwcHg7XG4gIHJpZ2h0OiBhdXRvO1xuICBib3R0b206IGF1dG87XG4gIGxlZnQ6IDEwcHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgI2ZmZjtcbn1cblxuLmRyb3Bkb3duLXN1Ym1lbnUgPiAuZHJvcGRvd24tbWVudTpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHRvcDogMzBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogLTEwcHg7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodDogMTBweCBzb2xpZCAjZmZmO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLm5hdmJhci5uYXZiYXItZGFyayAuZHJvcGRvd24uc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICMyYzJlMzA7XG4gIH1cbiAgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci5uYXZiYXItZGFyayAuZHJvcGRvd24uc2hvdyA+IC5uYXYtbGluayB7XG4gICAgY29sb3I6ICNlM2U0ZTY7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5uYXZiYXItbmF2IGxpOmhvdmVyID4gdWwuZHJvcGRvd24tbWVudSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzJjMmUzMDtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgW2RhdGEtdGhlbWU9ZGFya10gLmRyb3Bkb3duLWl0ZW06Zm9jdXMsIFtkYXRhLXRoZW1lPWRhcmtdIC5kcm9wZG93bi1pdGVtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDEwODFmO1xuICB9XG59XG5cbi5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmRyb3Bkb3duLWl0ZW06YWN0aXZlIHtcbiAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbn1cblxuLmRyb3Bkb3duLWRpdmlkZXIge1xuICBib3JkZXItY29sb3I6ICM4ZDk4Yjc7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZHJvcGRvd24tc3VibWVudSA+IC5kcm9wZG93bi1tZW51IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtNnB4O1xufVxuXG4vKiAgbWFpbm1lbnUgY2FyZXQgKi9cbi5kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogMXB4O1xuICBib3JkZXItdG9wOiA1cHggc29saWQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2QzZDNkMztcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG4vKiAgc3VibWVudSBjYXRlciAqL1xuLmRyb3Bkb3duLXN1Ym1lbnUgLmRyb3Bkb3duLXRvZ2dsZTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDI0cHg7XG4gIHRvcDogMjBweDtcbiAgY29sb3I6ICNkM2QzZDM7XG59XG5cbi5kcm9wZG93bi1zdWJtZW51OmhvdmVyIC5kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbn1cblxuLyotLS0tLS0tLS0tIE1vYmlsZSBTaXRlIG5hdiAtLS0tLS0tLS0tKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAubWFpbjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHotaW5kZXg6IDM7XG4gICAgb3BhY2l0eTogMDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogLjNzO1xuICB9XG4gIFtkYXRhLXRoZW1lPWRhcmtdIC5tYWluOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogIzAxMDgxZjtcbiAgfVxuICAub2ZmY2FudmFzLS1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC5vZmZjYW52YXMtLW9wZW4gLm1haW46YmVmb3JlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvcGFjaXR5OiAuOTU7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAubmF2YmFyIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtO1xuICB9XG4gIC5uYXZiYXIuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuICAubmF2YmFyLmFjdGl2ZSAubmF2YmFyLWlubmVyIHtcbiAgICByaWdodDogMDtcbiAgfVxuICAubmF2YmFyIC5uYXZiYXItaW5uZXIge1xuICAgIHJpZ2h0OiAtMTAwJTtcbiAgICB0cmFuc2l0aW9uOiByaWdodCAwLjNzIDAuMnM7XG4gIH1cbiAgLm5hdmJhciAubmF2LWxpbmsge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZWVlO1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICB9XG4gIFtkYXRhLXRoZW1lPWRhcmtdIC5uYXZiYXIgLm5hdi1saW5rIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFFMjc0NTtcbiAgfVxuICAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXYtbGluayB7XG4gICAgY29sb3I6ICM1NDU2NWE7XG4gIH1cbiAgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci5uYXZiYXItZGFyayAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAjZjZmOGY5O1xuICB9XG4gIC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdi1saW5rOmhvdmVyLCAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXYtbGluazpmb2N1cywgLm5hdmJhci5uYXZiYXItZGFyayAubmF2LWxpbmsuYWN0aXZlLCAubmF2YmFyLm5hdmJhci1kYXJrIC5uYXYtbGluay5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgY29sb3I6ICMyYzJlMzA7XG4gIH1cbiAgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci5uYXZiYXItZGFyayAubmF2LWxpbmsge1xuICAgIGNvbG9yOiAjZTdlYWVlO1xuICB9XG4gIFtkYXRhLXRoZW1lPWRhcmtdIC5uYXZiYXIubmF2YmFyLWRhcmsgLm5hdi1saW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDEwODFmO1xuICB9XG4gIC5uYXZiYXItaW5uZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHdpZHRoOiAyMHJlbTtcbiAgICBwYWRkaW5nLXRvcDogMi41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMCAwLjVyZW0gMS44NzVyZW0gcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogMTA1MDtcbiAgfVxuICBbZGF0YS10aGVtZT1kYXJrXSAubmF2YmFyLWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTUxYzMyO1xuICB9XG4gIC5uYXZiYXItaW5uZXIgLmRyb3Bkb3duLW1lbnU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xuICB9XG4gIC5uYXZiYXItaW5uZXIgLmRyb3Bkb3duLW1lbnUge1xuICAgIGJvcmRlcjogbWVkaXVtIG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci1pbm5lciAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbSB7XG4gICAgY29sb3I6ICNmNmY4Zjk7XG4gIH1cbiAgW2RhdGEtdGhlbWU9ZGFya10gLm5hdmJhci1pbm5lciAuZHJvcGRvd24tbWVudSAuZHJvcGRvd24taXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzAxMDgxZjtcbiAgfVxuICAubmF2LS1vcGVuIC5tYWluLXdyYXBwZXIge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTE1MHB4LCAwLCAwKTtcbiAgfVxuICAvKi0tLS0tLS0tLS0gTW9iaWxlIFNpdGUgbmF2IHRvZ2dsZXIgLS0tLS0tLS0tLSovXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gICAgdG9wOiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDMuNzVyZW07XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG4gIC5uYXZiYXItaW5uZXIgLm5hdmJhci10b2dnbGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAyLjVyZW07XG4gICAgdG9wOiAwO1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLm5hdmJhci10b2dnbGVyLWljb24sIC5uYXZiYXItdG9nZ2xlci1pY29uOmJlZm9yZSwgLm5hdmJhci10b2dnbGVyLWljb246YWZ0ZXIge1xuICAgIHRyYW5zaXRpb246IC4zcyBlYXNlLWluLW91dDtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZXItaWNvbiB7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjN2U4MDg1O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gIH1cbiAgLm5hdmJhci1zdGlja3ktLW9uIC5uYXZiYXItdG9nZ2xlci1pY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2U4MDg1O1xuICB9XG4gIC5uYXZiYXItZGFyayAubmF2YmFyLXRvZ2dsZXItaWNvbi5hY3RpdmU6YmVmb3JlLCAubmF2YmFyLWRhcmsgLm5hdmJhci10b2dnbGVyLWljb24uYWN0aXZlOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2U4MDg1O1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlci1pY29uOmJlZm9yZSwgLm5hdmJhci10b2dnbGVyLWljb246YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYmFja2dyb3VuZDogIzdlODA4NTtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cbiAgLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uOmJlZm9yZSwgLm5hdmJhci1kYXJrIC5uYXZiYXItdG9nZ2xlci1pY29uOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB9XG4gIC5uYXZiYXItc3RpY2t5LS1vbiAubmF2YmFyLXRvZ2dsZXItaWNvbjpiZWZvcmUsIC5uYXZiYXItc3RpY2t5LS1vbiAubmF2YmFyLXRvZ2dsZXItaWNvbjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzdlODA4NTtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZXItaWNvbjo6YmVmb3JlIHtcbiAgICB0b3A6IC0wLjYyNXJlbTtcbiAgfVxuICAubmF2YmFyLXRvZ2dsZXItaWNvbjo6YWZ0ZXIge1xuICAgIHRvcDogMC42MjVyZW07XG4gIH1cbiAgLm5hdmJhci10b2dnbGVyLWljb24uYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODUpIHJvdGF0ZSgyNzBkZWcpO1xuICB9XG4gIC5uYXZiYXItdG9nZ2xlci1pY29uLmFjdGl2ZTpiZWZvcmUge1xuICAgIHRvcDogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjUpIHJvdGF0ZSg0NWRlZyk7XG4gIH1cbiAgLm5hdmJhci10b2dnbGVyLWljb24uYWN0aXZlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY1KSByb3RhdGUoLTQ1ZGVnKTtcbiAgfVxufVxuXG4vKiohIDI2LiBoZXJvICoqL1xuLmhlcm8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiA1LjMzMzMzcmVtO1xuICB6LWluZGV4OiAxO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8ge1xuICAgIHBhZGRpbmctdG9wOiAxMi44cmVtO1xuICB9XG4gIC5oZXJvLnNwYWNlLS1sZyB7XG4gICAgcGFkZGluZy10b3A6IDE5LjJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDE0LjRyZW07XG4gIH1cbiAgLmhlcm8uc3BhY2UtdG9wLS1tZCB7XG4gICAgcGFkZGluZy10b3A6IDkuNnJlbTtcbiAgfVxufVxuXG4uaGVyby0tZGFyayB7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4uaGVyb19fc2hhcGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiBhdXRvO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAtMXB4O1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAtMTtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgLmhlcm9fX3RyaS1zdmcge1xuICAgIHRvcDogLTE4Ljc1cmVtO1xuICB9XG59XG5cbi5oZXJvLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDMzLjEyNXJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5oZXJvLWNvbnRlbnQge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tLXJldmVyc2UgLmhlcm8tY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cbn1cblxuLmhlcm8tY29udGVudC0tY2VudGVyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uaGVyby1jb250ZW50IC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uaGVyb19faW1hZ2Uge1xuICBtYXgtd2lkdGg6IDQzLjc1cmVtO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmhlcm9fX2ltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5oZXJvX19pbWFnZS5wdXNoLW91dC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTIxLjg3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZXJvX19pbWFnZS5wdXNoLW91dC1jb250YWluZXIge1xuICAgIHJpZ2h0OiAtMTIuNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmhlcm8tLXJldmVyc2UgLmhlcm9fX2ltYWdlLnB1c2gtb3V0LWNvbnRhaW5lciB7XG4gICAgbGVmdDogLTIxLjg3NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oZXJvLS1yZXZlcnNlIC5oZXJvX19pbWFnZS5wdXNoLW91dC1jb250YWluZXIge1xuICAgIGxlZnQ6IC0xMi41cmVtO1xuICB9XG59XG5cbi5oZXJvX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICBmb250LXdlaWdodDogOTAwO1xuICBsaW5lLWhlaWdodDogMS4zMTI1cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmhlcm9fX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gIH1cbn1cblxuLmhlcm8tLWRhcmsgLmhlcm9fX3RpdGxlIHtcbiAgY29sb3I6ICMyYzJlMzA7XG59XG5cbi5oZXJvX19kZXNjcmlwdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbn1cblxuLmhlcm8tLWRhcmsgLmhlcm9fX2Rlc2NyaXB0aW9uIHtcbiAgY29sb3I6ICMyYzJlMzA7XG4gIG9wYWNpdHk6IC43NTtcbn1cblxuLmhlcm8tLWRhcmsgLnR5cGUtLWZpbmUtcHJpbnQge1xuICBjb2xvcjogI0QyRDVEQTtcbn1cblxuLnR5cGUtLWZpbmUtcHJpbnQuY29sb3Itd2hpdGUge1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLmhlcm9fX2Jsb2NrNSAuc3ZnLWNsaXBwZWQge1xuICAtd2Via2l0LWNsaXAtcGF0aDogdXJsKCNzdmdQYXRoKTtcbiAgY2xpcC1wYXRoOiB1cmwoI3N2Z1BhdGgpO1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbi5oZXJvX19ibG9jazUtbW9iaWxlIHtcbiAgd2lkdGg6IDIwcmVtO1xuICBoZWlnaHQ6IDIwcmVtO1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTc2cHgpIHtcbiAgLmhlcm9fX2Jsb2NrNS1tb2JpbGUge1xuICAgIHdpZHRoOiAzMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDMxLjI1cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuaGVyb19fYmxvY2s1LW1vYmlsZSB7XG4gICAgd2lkdGg6IDI3LjVyZW07XG4gICAgaGVpZ2h0OiAyNy41cmVtO1xuICB9XG59XG5cbi8qKiEgMjcuIGZlYXR1cmVzICoqL1xuLmZlYXR1cmVzIC5zdWItaGVhZGVyIHtcbiAgbWF4LXdpZHRoOiA1Ny41cmVtO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5mZWF0dXJlcyAuc3ViLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtO1xuICB9XG59XG5cbi5mZWF0dXJlcyAudGFiX19pY29uIHtcbiAgbWluLWhlaWdodDogMy40Mzc1cmVtO1xufVxuXG4uZmVhdHVyZXMgLnN3aXBlLXRhYiB7XG4gIHBhZGRpbmctYm90dG9tOiAycHg7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA1NzVweCkge1xuICAuZmVhdHVyZXMgLnN3aXBlLXRhYiB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgfVxufVxuXG4uZmVhdHVyZXMgLnN3aXBlLXRhYl9faW5uZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5mZWF0dXJlcy0tdGFiX19pbWFnZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWF4LXdpZHRoOiAzMS4yNXJlbTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5mZWF0dXJlcy0tdGFiX19pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLmZlYXR1cmVzLS10YWJfX2ltYWdlOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0b3A6IGF1dG87XG4gIHJpZ2h0OiAxNXB4O1xuICBib3R0b206IDEwcHg7XG4gIGxlZnQ6IGF1dG87XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvdHJpYW5nbGUuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHdpZHRoOiAyLjVyZW07XG4gIHotaW5kZXg6IC0xO1xufVxuXG4uZmVhdHVyZXMgLm1haW4tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmVhdHVyZXMgLm1haW4tY29udGFpbmVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAtMjBweDtcbiAgcmlnaHQ6IGF1dG87XG4gIGJvdHRvbTogYXV0bztcbiAgbGVmdDogLTMwcHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvZG90cy1wYXR0ZXJuLTEuc3ZnKSBuby1yZXBlYXQgdG9wIGxlZnQ7XG4gIGhlaWdodDogMTByZW07XG4gIHdpZHRoOiAxMHJlbTtcbiAgei1pbmRleDogLTE7XG59XG5cbi5mZWF0dXJlcyAuc3dpcGUtdGFiLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuZmVhdHVyZXMgLnN3aXBlLXRhYi1jb250ZW50IHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuLmZlYXR1cmVzIC50YWItY29udGVudCB7XG4gIG1heC13aWR0aDogMzAuNjI1cmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAuZmVhdHVyZXMgLnRhYi1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogIzAxMDgxZjtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5mZWF0dXJlcyAudGFiLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uZmVhdHVyZXMgLnRhYi1jb250ZW50X19saXN0IHtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xufVxuXG4uZmVhdHVyZXMgLnRhYi1jb250ZW50X19saXN0IGxpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZmVhdHVyZXMgLnRhYi1jb250ZW50X19saXN0IGxpOjpiZWZvcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdG9wOiAxMHB4O1xuICByaWdodDogYXV0bztcbiAgYm90dG9tOiBhdXRvO1xuICBsZWZ0OiAwO1xuICBjb250ZW50OiAnJztcbiAgaGVpZ2h0OiAwLjc1cmVtO1xuICB3aWR0aDogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlM2U0ZTY7XG59XG5cbi5mZWF0dXJlcyAudGFiLWNvbnRlbnRfX2xpc3QgbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbn1cblxuLmZlYXR1cmVzIC50YWItY29udGVudF9fbGlzdCBsaSBwIHtcbiAgbWFyZ2luLWxlZnQ6IDEuODc1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKiotLS0tLS0tLS0gRmVhdHVyZSBTbGlkZXIgMiAtLS0tLS0tLS0qKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuZmVhdHVyZXMtY3VzdG9tLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDRyZW07XG4gICAgcGFkZGluZy10b3A6IDRyZW07XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuZmVhdHVyZXMtY3VzdG9tLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBwYWRkaW5nLXRvcDogOHJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLmZlYXR1cmVzLWN1c3RvbS1jb250YWluZXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA4cmVtO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmZlYXR1cmVzLWN1c3RvbS1jb250YWluZXIgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA3NzBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTkyMXB4KSB7XG4gIC5mZWF0dXJlcy1jdXN0b20tY29udGFpbmVyIC5jb250ZW50LXdyYXBwZXIge1xuICAgIG1heC13aWR0aDogODIwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxOTIxcHgpIHtcbiAgLmZlYXR1cmVzLWN1c3RvbS1jb250YWluZXIgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgbWF4LXdpZHRoOiA4MjBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5mZWF0dXJlcy1jdXN0b20tY29udGFpbmVyIC5kZXZpY2UtaW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICB9XG4gIC5mZWF0dXJlcy1jdXN0b20tY29udGFpbmVyIC5kZXZpY2UtaW1hZ2UgaW1nIHtcbiAgICBtYXgtaGVpZ2h0OiAzMS4yNXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmZlYXR1cmVzLWN1c3RvbS1jb250YWluZXIgLmRldmljZS1pbWFnZSBpbWcge1xuICAgIG1heC1oZWlnaHQ6IDI4LjEyNXJlbTtcbiAgfVxufVxuXG4uZmVhdHVyZXMtLXNsaWRlci0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mZWF0dXJlcy0tc2xpZGVyLTIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IGNhbGMoNDEuNjY2NjclIC0gNDBweCk7XG4gIH1cbn1cblxuLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpZGVyLXRhYnMge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIHtcbiAgLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpZGVyLXRhYnMge1xuICAgIHdpZHRoOiA5NTBweDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWRlci10YWJzIHtcbiAgICB3aWR0aDogOTUwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpZGVyLXRhYnMge1xuICAgIG1heC13aWR0aDogOTUwcHg7XG4gIH1cbn1cblxuLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpZGVyLXRhYnMgLnNsaWRlci10YWIge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gIHRyYW5zaXRpb246IC4zcztcbn1cblxuLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpZGVyLXRhYnMgLnNsaWNrLWN1cnJlbnQuc2xpY2stYWN0aXZlIC5zbGlkZXItdGFiIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWRlci1jb250ZW50cyB7XG4gIG1heC13aWR0aDogMjVyZW07XG59XG5cbi5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93IHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICB3aWR0aDogMy4xMjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICB0cmFuc2l0aW9uOiAuM3M7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNy41cmVtO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpY2stYXJyb3cge1xuICAgIHRvcDogLTkuMzc1cmVtO1xuICB9XG59XG5cbi5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93IGkge1xuICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gIHRyYW5zaXRpb246IC4zcztcbn1cblxuLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpY2stYXJyb3c6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDJweCAzNHB4IHJnYmEoMCwgMCwgMCwgMC4yMSk7XG59XG5cbi5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICBsZWZ0OiAzLjc1cmVtO1xufVxuXG4vKiohIDI4LiB3b3JraW5nIHByb2Nlc3MgKiovXG4ud29ya2luZy1wcm9jZXNzIC53b3JraW5nLXByb2Nlc3MtYmxvY2s6aG92ZXIgLmljb24tZG90dGVkOmFmdGVyIHtcbiAgYW5pbWF0aW9uOiBpbmZpbml0ZS1zcGlubmluZyA1cyBpbmZpbml0ZSBsaW5lYXI7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAud29ya2luZy1wcm9jZXNzIGRpdltjbGFzcyo9J2NvbC0nXTpub3QoOmxhc3QtY2hpbGQpIC53b3JraW5nLXByb2Nlc3MtYmxvY2s6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlYTFhXCI7XG4gICAgZm9udC1mYW1pbHk6ICd4UGlkZXInO1xuICAgIGNvbG9yOiAjZTJlNmVhO1xuICAgIGZvbnQtc2l6ZTogNS43NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IC0xMiU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdGV4dC1zaGFkb3c6IC0zcHggMHB4IDBweCAjZmZmO1xuICAgIHRyYW5zaXRpb246IC4zcztcbiAgfVxuICBbZGF0YS10aGVtZT1kYXJrXSAud29ya2luZy1wcm9jZXNzIGRpdltjbGFzcyo9J2NvbC0nXTpub3QoOmxhc3QtY2hpbGQpIC53b3JraW5nLXByb2Nlc3MtYmxvY2s6YWZ0ZXIge1xuICAgIHRleHQtc2hhZG93OiAtM3B4IDBweCAwcHggIzAxMDgxZjtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLndvcmtpbmctcHJvY2VzcyBkaXZbY2xhc3MqPSdjb2wtJ106bm90KDpsYXN0LWNoaWxkKSAud29ya2luZy1wcm9jZXNzLWJsb2NrIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gIH1cbn1cblxuLndvcmtpbmctcHJvY2VzcyBkaXZbY2xhc3MqPSdjb2wtJ106bm90KDpsYXN0LWNoaWxkKSAud29ya2luZy1wcm9jZXNzLWJsb2NrOmhvdmVyOmFmdGVyIHtcbiAgcmlnaHQ6IC0xNyU7XG59XG5cbi53b3JraW5nLXByb2Nlc3MgcCB7XG4gIG1heC13aWR0aDogMTcuMTg3NXJlbTtcbiAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi8qKiEgMjkuIGZvb3RlciAqKi9cbi5mb290ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuZm9vdGVyLS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IC0xO1xuICB9XG59XG5cbi5mb290ZXItd2lkZ2V0IHVsIGxpIGEge1xuICBjb2xvcjogIzU0NTY1YTtcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG5bZGF0YS10aGVtZT1kYXJrXSAuZm9vdGVyLXdpZGdldCB1bCBsaSBhIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbi5mb290ZXItd2lkZ2V0IHVsIGxpOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG59XG5cbi5mb290ZXItd2lkZ2V0IC5pY29uLWVtYWlsIHtcbiAgZm9udC1zaXplOiAyLjgxMjVyZW07XG59XG5cbi5mb290ZXIgLm5hdiBsaSBhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgY29sb3I6ICM1NDU2NWE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0cmFuc2l0aW9uOiAuM3M7XG59XG5cbltkYXRhLXRoZW1lPWRhcmtdIC5mb290ZXIgLm5hdiBsaSBhIHtcbiAgY29sb3I6ICM3ZTgwODU7XG59XG5cbi5mb290ZXIgLm5hdiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTtcbn1cblxuLypcbiogIFRoZW1lcyBcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLyoqISAzMC4gdGhlbWVzICoqL1xuLyoqISAtLS0tLSBiZyBjb2xvcnMgZm9yIHRoZW1lIC0tLS0gKiovXG4udGhlbWUtZ3JlZW4gLmJnLWNvbG9yLXByaW1hcnksIC50aGVtZS1ncmVlbiAuYnRuLS1iZy1wcmltYXJ5LCAudGhlbWUtZ3JlZW4gLm5hdmJhci1zdGlja3ktLW9uIC5idG4sIC5uYXZiYXItc3RpY2t5LS1vbiAudGhlbWUtZ3JlZW4gLmJ0biwgLnRoZW1lLWdyZWVuIC5idG4tLWJnLWdyZXk6aG92ZXIsIC50aGVtZS1ncmVlbiAuYnRuLS1vdXRsaW5lOmhvdmVyLCAudGhlbWUtZ3JlZW4gLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLnRoZW1lLWdyZWVuIC5idG4tYm9yZGVyLWhvdmVyLmJ0bi0tY29sb3Itd2hpdGU6YmVmb3JlLCAudGhlbWUtZ3JlZW4gLmNhcmQtLWZvY3VzZWQsIC50aGVtZS1ncmVlbiAuY2FyZC0tb3V0bGluZTpob3ZlciwgLnRoZW1lLWdyZWVuIC5jYXJkLS1vdXRsaW5lOmZvY3VzLCAudGhlbWUtZ3JlZW4gLnNvY2lhbC1saXN0cyBsaSBhOmhvdmVyLCAuc29jaWFsLWxpc3RzIGxpIC50aGVtZS1ncmVlbiBhOmhvdmVyLCAudGhlbWUtZ3JlZW4gLm1lZGlhLXBsYXllci1pY29uLS1maWxsLXByaW1hcnksIC50aGVtZS1ncmVlbiAub3ZhbCwgLnRoZW1lLWdyZWVuIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5zbGljay1hY3RpdmUgLnRoZW1lLWdyZWVuIC5zbGljay1kb3RzLS1sb25nLCAudGhlbWUtZ3JlZW4gLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnRoZW1lLWdyZWVuIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjMjdhZTYwO1xufVxuXG4udGhlbWUtdmlvbGV0IC5iZy1jb2xvci1wcmltYXJ5LCAudGhlbWUtdmlvbGV0IC5idG4tLWJnLXByaW1hcnksIC50aGVtZS12aW9sZXQgLm5hdmJhci1zdGlja3ktLW9uIC5idG4sIC5uYXZiYXItc3RpY2t5LS1vbiAudGhlbWUtdmlvbGV0IC5idG4sIC50aGVtZS12aW9sZXQgLmJ0bi0tYmctZ3JleTpob3ZlciwgLnRoZW1lLXZpb2xldCAuYnRuLS1vdXRsaW5lOmhvdmVyLCAudGhlbWUtdmlvbGV0IC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC50aGVtZS12aW9sZXQgLmJ0bi1ib3JkZXItaG92ZXIuYnRuLS1jb2xvci13aGl0ZTpiZWZvcmUsIC50aGVtZS12aW9sZXQgLmNhcmQtLWZvY3VzZWQsIC50aGVtZS12aW9sZXQgLmNhcmQtLW91dGxpbmU6aG92ZXIsIC50aGVtZS12aW9sZXQgLmNhcmQtLW91dGxpbmU6Zm9jdXMsIC50aGVtZS12aW9sZXQgLnNvY2lhbC1saXN0cyBsaSBhOmhvdmVyLCAuc29jaWFsLWxpc3RzIGxpIC50aGVtZS12aW9sZXQgYTpob3ZlciwgLnRoZW1lLXZpb2xldCAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLnRoZW1lLXZpb2xldCAub3ZhbCwgLnRoZW1lLXZpb2xldCAuc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLCAuc2xpY2stYWN0aXZlIC50aGVtZS12aW9sZXQgLnNsaWNrLWRvdHMtLWxvbmcsIC50aGVtZS12aW9sZXQgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnRoZW1lLXZpb2xldCAucGFnZS1saW5rIHtcbiAgYmFja2dyb3VuZDogIzliNTliNjtcbn1cblxuLnRoZW1lLWZpcm96YSAuYmctY29sb3ItcHJpbWFyeSwgLnRoZW1lLWZpcm96YSAuYnRuLS1iZy1wcmltYXJ5LCAudGhlbWUtZmlyb3phIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLnRoZW1lLWZpcm96YSAuYnRuLCAudGhlbWUtZmlyb3phIC5idG4tLWJnLWdyZXk6aG92ZXIsIC50aGVtZS1maXJvemEgLmJ0bi0tb3V0bGluZTpob3ZlciwgLnRoZW1lLWZpcm96YSAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAudGhlbWUtZmlyb3phIC5idG4tYm9yZGVyLWhvdmVyLmJ0bi0tY29sb3Itd2hpdGU6YmVmb3JlLCAudGhlbWUtZmlyb3phIC5jYXJkLS1mb2N1c2VkLCAudGhlbWUtZmlyb3phIC5jYXJkLS1vdXRsaW5lOmhvdmVyLCAudGhlbWUtZmlyb3phIC5jYXJkLS1vdXRsaW5lOmZvY3VzLCAudGhlbWUtZmlyb3phIC5zb2NpYWwtbGlzdHMgbGkgYTpob3ZlciwgLnNvY2lhbC1saXN0cyBsaSAudGhlbWUtZmlyb3phIGE6aG92ZXIsIC50aGVtZS1maXJvemEgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLXByaW1hcnksIC50aGVtZS1maXJvemEgLm92YWwsIC50aGVtZS1maXJvemEgLnNsaWNrLWFjdGl2ZSAuc2xpY2stZG90cy0tbG9uZywgLnNsaWNrLWFjdGl2ZSAudGhlbWUtZmlyb3phIC5zbGljay1kb3RzLS1sb25nLCAudGhlbWUtZmlyb3phIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC50aGVtZS1maXJvemEgLnBhZ2UtbGluayB7XG4gIGJhY2tncm91bmQ6ICMxNmEwODU7XG59XG5cbi50aGVtZS1yZWQgLmJnLWNvbG9yLXByaW1hcnksIC50aGVtZS1yZWQgLmJ0bi0tYmctcHJpbWFyeSwgLnRoZW1lLXJlZCAubmF2YmFyLXN0aWNreS0tb24gLmJ0biwgLm5hdmJhci1zdGlja3ktLW9uIC50aGVtZS1yZWQgLmJ0biwgLnRoZW1lLXJlZCAuYnRuLS1iZy1ncmV5OmhvdmVyLCAudGhlbWUtcmVkIC5idG4tLW91dGxpbmU6aG92ZXIsIC50aGVtZS1yZWQgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLnRoZW1lLXJlZCAuYnRuLWJvcmRlci1ob3Zlci5idG4tLWNvbG9yLXdoaXRlOmJlZm9yZSwgLnRoZW1lLXJlZCAuY2FyZC0tZm9jdXNlZCwgLnRoZW1lLXJlZCAuY2FyZC0tb3V0bGluZTpob3ZlciwgLnRoZW1lLXJlZCAuY2FyZC0tb3V0bGluZTpmb2N1cywgLnRoZW1lLXJlZCAuc29jaWFsLWxpc3RzIGxpIGE6aG92ZXIsIC5zb2NpYWwtbGlzdHMgbGkgLnRoZW1lLXJlZCBhOmhvdmVyLCAudGhlbWUtcmVkIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1wcmltYXJ5LCAudGhlbWUtcmVkIC5vdmFsLCAudGhlbWUtcmVkIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5zbGljay1hY3RpdmUgLnRoZW1lLXJlZCAuc2xpY2stZG90cy0tbG9uZywgLnRoZW1lLXJlZCAucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLCAucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAudGhlbWUtcmVkIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjZTc0YzNjO1xufVxuXG4udGhlbWUtb3JhbmdlIC5iZy1jb2xvci1wcmltYXJ5LCAudGhlbWUtb3JhbmdlIC5idG4tLWJnLXByaW1hcnksIC50aGVtZS1vcmFuZ2UgLm5hdmJhci1zdGlja3ktLW9uIC5idG4sIC5uYXZiYXItc3RpY2t5LS1vbiAudGhlbWUtb3JhbmdlIC5idG4sIC50aGVtZS1vcmFuZ2UgLmJ0bi0tYmctZ3JleTpob3ZlciwgLnRoZW1lLW9yYW5nZSAuYnRuLS1vdXRsaW5lOmhvdmVyLCAudGhlbWUtb3JhbmdlIC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC50aGVtZS1vcmFuZ2UgLmJ0bi1ib3JkZXItaG92ZXIuYnRuLS1jb2xvci13aGl0ZTpiZWZvcmUsIC50aGVtZS1vcmFuZ2UgLmNhcmQtLWZvY3VzZWQsIC50aGVtZS1vcmFuZ2UgLmNhcmQtLW91dGxpbmU6aG92ZXIsIC50aGVtZS1vcmFuZ2UgLmNhcmQtLW91dGxpbmU6Zm9jdXMsIC50aGVtZS1vcmFuZ2UgLnNvY2lhbC1saXN0cyBsaSBhOmhvdmVyLCAuc29jaWFsLWxpc3RzIGxpIC50aGVtZS1vcmFuZ2UgYTpob3ZlciwgLnRoZW1lLW9yYW5nZSAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLnRoZW1lLW9yYW5nZSAub3ZhbCwgLnRoZW1lLW9yYW5nZSAuc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLCAuc2xpY2stYWN0aXZlIC50aGVtZS1vcmFuZ2UgLnNsaWNrLWRvdHMtLWxvbmcsIC50aGVtZS1vcmFuZ2UgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnBhZ2UtbGluaywgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbS5hY3RpdmUgLnRoZW1lLW9yYW5nZSAucGFnZS1saW5rIHtcbiAgYmFja2dyb3VuZDogI2VlODY2Mztcbn1cblxuLmdyYWRpZW50LTEgLmJnLWNvbG9yLXByaW1hcnksIC5ncmFkaWVudC0xIC5idG4tLWJnLXByaW1hcnksIC5ncmFkaWVudC0xIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLmdyYWRpZW50LTEgLmJ0biwgLmdyYWRpZW50LTEgLmJ0bi0tYmctZ3JleTpob3ZlciwgLmdyYWRpZW50LTEgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTEgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLmdyYWRpZW50LTEgLmJ0bi1ib3JkZXItaG92ZXIuYnRuLS1jb2xvci13aGl0ZTpiZWZvcmUsIC5ncmFkaWVudC0xIC5jYXJkLS1mb2N1c2VkLCAuZ3JhZGllbnQtMSAuY2FyZC0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTEgLmNhcmQtLW91dGxpbmU6Zm9jdXMsIC5ncmFkaWVudC0xIC5zb2NpYWwtbGlzdHMgbGkgYTpob3ZlciwgLnNvY2lhbC1saXN0cyBsaSAuZ3JhZGllbnQtMSBhOmhvdmVyLCAuZ3JhZGllbnQtMSAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLmdyYWRpZW50LTEgLm92YWwsIC5ncmFkaWVudC0xIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5zbGljay1hY3RpdmUgLmdyYWRpZW50LTEgLnNsaWNrLWRvdHMtLWxvbmcsIC5ncmFkaWVudC0xIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5ncmFkaWVudC0xIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTQ1ZGVnLCAjMmYxY2UwIDAlLCAjNTNhMGZkIDUwJSwgIzUxZWNhNSAxMDAlKTtcbn1cblxuLmdyYWRpZW50LTIgLmJnLWNvbG9yLXByaW1hcnksIC5ncmFkaWVudC0yIC5idG4tLWJnLXByaW1hcnksIC5ncmFkaWVudC0yIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLmdyYWRpZW50LTIgLmJ0biwgLmdyYWRpZW50LTIgLmJ0bi0tYmctZ3JleTpob3ZlciwgLmdyYWRpZW50LTIgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTIgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLmdyYWRpZW50LTIgLmJ0bi1ib3JkZXItaG92ZXIuYnRuLS1jb2xvci13aGl0ZTpiZWZvcmUsIC5ncmFkaWVudC0yIC5jYXJkLS1mb2N1c2VkLCAuZ3JhZGllbnQtMiAuY2FyZC0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTIgLmNhcmQtLW91dGxpbmU6Zm9jdXMsIC5ncmFkaWVudC0yIC5zb2NpYWwtbGlzdHMgbGkgYTpob3ZlciwgLnNvY2lhbC1saXN0cyBsaSAuZ3JhZGllbnQtMiBhOmhvdmVyLCAuZ3JhZGllbnQtMiAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLmdyYWRpZW50LTIgLm92YWwsIC5ncmFkaWVudC0yIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5zbGljay1hY3RpdmUgLmdyYWRpZW50LTIgLnNsaWNrLWRvdHMtLWxvbmcsIC5ncmFkaWVudC0yIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5ncmFkaWVudC0yIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICMwMDk5RkYgMCUsICM2NjEwZjIgMTAwJSk7XG59XG5cbi5ncmFkaWVudC0zIC5iZy1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMyAuYnRuLS1iZy1wcmltYXJ5LCAuZ3JhZGllbnQtMyAubmF2YmFyLXN0aWNreS0tb24gLmJ0biwgLm5hdmJhci1zdGlja3ktLW9uIC5ncmFkaWVudC0zIC5idG4sIC5ncmFkaWVudC0zIC5idG4tLWJnLWdyZXk6aG92ZXIsIC5ncmFkaWVudC0zIC5idG4tLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC0zIC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC5ncmFkaWVudC0zIC5idG4tYm9yZGVyLWhvdmVyLmJ0bi0tY29sb3Itd2hpdGU6YmVmb3JlLCAuZ3JhZGllbnQtMyAuY2FyZC0tZm9jdXNlZCwgLmdyYWRpZW50LTMgLmNhcmQtLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC0zIC5jYXJkLS1vdXRsaW5lOmZvY3VzLCAuZ3JhZGllbnQtMyAuc29jaWFsLWxpc3RzIGxpIGE6aG92ZXIsIC5zb2NpYWwtbGlzdHMgbGkgLmdyYWRpZW50LTMgYTpob3ZlciwgLmdyYWRpZW50LTMgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLXByaW1hcnksIC5ncmFkaWVudC0zIC5vdmFsLCAuZ3JhZGllbnQtMyAuc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLCAuc2xpY2stYWN0aXZlIC5ncmFkaWVudC0zIC5zbGljay1kb3RzLS1sb25nLCAuZ3JhZGllbnQtMyAucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLCAucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAuZ3JhZGllbnQtMyAucGFnZS1saW5rIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgIzJkMTU4MiAwJSwgIzE5YTBmZiAxMDAlKTtcbn1cblxuLmdyYWRpZW50LTQgLmJnLWNvbG9yLXByaW1hcnksIC5ncmFkaWVudC00IC5idG4tLWJnLXByaW1hcnksIC5ncmFkaWVudC00IC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLmdyYWRpZW50LTQgLmJ0biwgLmdyYWRpZW50LTQgLmJ0bi0tYmctZ3JleTpob3ZlciwgLmdyYWRpZW50LTQgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTQgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLmdyYWRpZW50LTQgLmJ0bi1ib3JkZXItaG92ZXIuYnRuLS1jb2xvci13aGl0ZTpiZWZvcmUsIC5ncmFkaWVudC00IC5jYXJkLS1mb2N1c2VkLCAuZ3JhZGllbnQtNCAuY2FyZC0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTQgLmNhcmQtLW91dGxpbmU6Zm9jdXMsIC5ncmFkaWVudC00IC5zb2NpYWwtbGlzdHMgbGkgYTpob3ZlciwgLnNvY2lhbC1saXN0cyBsaSAuZ3JhZGllbnQtNCBhOmhvdmVyLCAuZ3JhZGllbnQtNCAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLmdyYWRpZW50LTQgLm92YWwsIC5ncmFkaWVudC00IC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5zbGljay1hY3RpdmUgLmdyYWRpZW50LTQgLnNsaWNrLWRvdHMtLWxvbmcsIC5ncmFkaWVudC00IC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5ncmFkaWVudC00IC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICM2NDJCNzMgMCUsICNDNjQyNkUgMTAwJSk7XG59XG5cbi5ncmFkaWVudC01IC5iZy1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNSAuYnRuLS1iZy1wcmltYXJ5LCAuZ3JhZGllbnQtNSAubmF2YmFyLXN0aWNreS0tb24gLmJ0biwgLm5hdmJhci1zdGlja3ktLW9uIC5ncmFkaWVudC01IC5idG4sIC5ncmFkaWVudC01IC5idG4tLWJnLWdyZXk6aG92ZXIsIC5ncmFkaWVudC01IC5idG4tLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC01IC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC5ncmFkaWVudC01IC5idG4tYm9yZGVyLWhvdmVyLmJ0bi0tY29sb3Itd2hpdGU6YmVmb3JlLCAuZ3JhZGllbnQtNSAuY2FyZC0tZm9jdXNlZCwgLmdyYWRpZW50LTUgLmNhcmQtLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC01IC5jYXJkLS1vdXRsaW5lOmZvY3VzLCAuZ3JhZGllbnQtNSAuc29jaWFsLWxpc3RzIGxpIGE6aG92ZXIsIC5zb2NpYWwtbGlzdHMgbGkgLmdyYWRpZW50LTUgYTpob3ZlciwgLmdyYWRpZW50LTUgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLXByaW1hcnksIC5ncmFkaWVudC01IC5vdmFsLCAuZ3JhZGllbnQtNSAuc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLCAuc2xpY2stYWN0aXZlIC5ncmFkaWVudC01IC5zbGljay1kb3RzLS1sb25nLCAuZ3JhZGllbnQtNSAucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAucGFnZS1saW5rLCAucGFnaW5hdGlvbiAucGFnZS1pdGVtLmFjdGl2ZSAuZ3JhZGllbnQtNSAucGFnZS1saW5rIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgIzFBNkI4OSAwJSwgIzJBNzg3MSAxMDAlKTtcbn1cblxuLmdyYWRpZW50LTYgLmJnLWNvbG9yLXByaW1hcnksIC5ncmFkaWVudC02IC5idG4tLWJnLXByaW1hcnksIC5ncmFkaWVudC02IC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLmdyYWRpZW50LTYgLmJ0biwgLmdyYWRpZW50LTYgLmJ0bi0tYmctZ3JleTpob3ZlciwgLmdyYWRpZW50LTYgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTYgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLmdyYWRpZW50LTYgLmJ0bi1ib3JkZXItaG92ZXIuYnRuLS1jb2xvci13aGl0ZTpiZWZvcmUsIC5ncmFkaWVudC02IC5jYXJkLS1mb2N1c2VkLCAuZ3JhZGllbnQtNiAuY2FyZC0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTYgLmNhcmQtLW91dGxpbmU6Zm9jdXMsIC5ncmFkaWVudC02IC5zb2NpYWwtbGlzdHMgbGkgYTpob3ZlciwgLnNvY2lhbC1saXN0cyBsaSAuZ3JhZGllbnQtNiBhOmhvdmVyLCAuZ3JhZGllbnQtNiAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLmdyYWRpZW50LTYgLm92YWwsIC5ncmFkaWVudC02IC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5zbGljay1hY3RpdmUgLmdyYWRpZW50LTYgLnNsaWNrLWRvdHMtLWxvbmcsIC5ncmFkaWVudC02IC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmssIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5ncmFkaWVudC02IC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNGRlZywgI0M4NkRENyAwJSwgIzMwMjNBRSAxMDAlKTtcbn1cblxuLmdyYWRpZW50LTEgLnNsaWNrLWFjdGl2ZSAuc2xpY2stZG90cy0tbG9uZywgLmdyYWRpZW50LTEgLmJ0bi0tYmctcHJpbWFyeSwgLmdyYWRpZW50LTEgLm5hdmJhci1zdGlja3ktLW9uIC5idG4sIC5uYXZiYXItc3RpY2t5LS1vbiAuZ3JhZGllbnQtMSAuYnRuLCAuZ3JhZGllbnQtMVxuLm5hdmJhciAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuZ3JhZGllbnQtMVxuLmJ0bi0tYmctZ3JleTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICM1MTc5ZWM7XG59XG5cbi5ncmFkaWVudC0yIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5ncmFkaWVudC0yIC5idG4tLWJnLXByaW1hcnksIC5ncmFkaWVudC0yIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLmdyYWRpZW50LTIgLmJ0biwgLmdyYWRpZW50LTJcbi5uYXZiYXIgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTJcbi5idG4tLWJnLWdyZXk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMmY1YmVhO1xufVxuXG4uZ3JhZGllbnQtMyAuc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLCAuZ3JhZGllbnQtMyAuYnRuLS1iZy1wcmltYXJ5LCAuZ3JhZGllbnQtMyAubmF2YmFyLXN0aWNreS0tb24gLmJ0biwgLm5hdmJhci1zdGlja3ktLW9uIC5ncmFkaWVudC0zIC5idG4sIC5ncmFkaWVudC0zXG4ubmF2YmFyIC5idG4tLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC0zXG4uYnRuLS1iZy1ncmV5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzNBNkNDNTtcbn1cblxuLmdyYWRpZW50LTQgLnNsaWNrLWFjdGl2ZSAuc2xpY2stZG90cy0tbG9uZywgLmdyYWRpZW50LTQgLmJ0bi0tYmctcHJpbWFyeSwgLmdyYWRpZW50LTQgLm5hdmJhci1zdGlja3ktLW9uIC5idG4sIC5uYXZiYXItc3RpY2t5LS1vbiAuZ3JhZGllbnQtNCAuYnRuLCAuZ3JhZGllbnQtNFxuLm5hdmJhciAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuZ3JhZGllbnQtNFxuLmJ0bi0tYmctZ3JleTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICNhNjU0NmU7XG59XG5cbi5ncmFkaWVudC01IC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5ncmFkaWVudC01IC5idG4tLWJnLXByaW1hcnksIC5ncmFkaWVudC01IC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAubmF2YmFyLXN0aWNreS0tb24gLmdyYWRpZW50LTUgLmJ0biwgLmdyYWRpZW50LTVcbi5uYXZiYXIgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTVcbi5idG4tLWJnLWdyZXk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjMkE3ODcxO1xufVxuXG4uZ3JhZGllbnQtNiAuc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLCAuZ3JhZGllbnQtNiAuYnRuLS1iZy1wcmltYXJ5LCAuZ3JhZGllbnQtNiAubmF2YmFyLXN0aWNreS0tb24gLmJ0biwgLm5hdmJhci1zdGlja3ktLW9uIC5ncmFkaWVudC02IC5idG4sIC5ncmFkaWVudC02XG4ubmF2YmFyIC5idG4tLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC02XG4uYnRuLS1iZy1ncmV5OmhvdmVyIHtcbiAgYmFja2dyb3VuZDogIzliNTliNjtcbn1cblxuLnRoZW1lLXByaW1hcnkgW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcbiAgYmFja2dyb3VuZDogIzJmNWJlYTtcbn1cblxuLnRoZW1lLWdyZWVuIFtjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSB7XG4gIGJhY2tncm91bmQ6ICMyN2FlNjA7XG59XG5cbi50aGVtZS12aW9sZXQgW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcbiAgYmFja2dyb3VuZDogIzliNTliNjtcbn1cblxuLnRoZW1lLWZpcm96YSBbY2xhc3MqPVwiYmctZ3JhZGllbnRcIl0ge1xuICBiYWNrZ3JvdW5kOiAjMTZhMDg1O1xufVxuXG4udGhlbWUtcmVkIFtjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSB7XG4gIGJhY2tncm91bmQ6ICNlNzRjM2M7XG59XG5cbi50aGVtZS1vcmFuZ2UgW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcbiAgYmFja2dyb3VuZDogI2VlODY2Mztcbn1cblxuLmdyYWRpZW50LTEgW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzJmMWNlMCAwJSwgIzUzYTBmZCA1MCUsICM1MWVjYTUgMTAwJSk7XG59XG5cbi5ncmFkaWVudC0yIFtjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSB7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwOTlGRiAwJSwgIzY2MTBmMiAxMDAlKTtcbn1cblxuLmdyYWRpZW50LTMgW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgIzJkMTU4MiAwJSwgIzE5YTBmZiAxMDAlKTtcbn1cblxuLmdyYWRpZW50LTQgW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNjQyQjczIDAlLCAjQzY0MjZFIDEwMCUpO1xufVxuXG4uZ3JhZGllbnQtNSBbY2xhc3MqPVwiYmctZ3JhZGllbnRcIl0ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMUE2Qjg5IDAlLCAjMkE3ODcxIDEwMCUpO1xufVxuXG4uZ3JhZGllbnQtNiBbY2xhc3MqPVwiYmctZ3JhZGllbnRcIl0ge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoLTEzNGRlZywgI0M4NkRENyAwJSwgIzMwMjNBRSAxMDAlKTtcbn1cblxuLyoqISAtLS0tLSBzdmcgZmlsbCBjb2xvciAtLS0tICoqL1xuLnRoZW1lLXByaW1hcnkgLmJnLWZpbGwtcHJpbWFyeSB7XG4gIGZpbGw6ICMyZjViZWE7XG59XG5cbi50aGVtZS1ncmVlbiAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogIzI3YWU2MDtcbn1cblxuLnRoZW1lLXZpb2xldCAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogIzliNTliNjtcbn1cblxuLnRoZW1lLWZpcm96YSAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogIzE2YTA4NTtcbn1cblxuLnRoZW1lLXJlZCAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogI2U3NGMzYztcbn1cblxuLnRoZW1lLW9yYW5nZSAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogI2VlODY2Mztcbn1cblxuLmdyYWRpZW50LTEgLmJnLWZpbGwtcHJpbWFyeSB7XG4gIGZpbGw6ICM1MTc5ZWM7XG59XG5cbi5ncmFkaWVudC0yIC5iZy1maWxsLXByaW1hcnkge1xuICBmaWxsOiAjMmY1YmVhO1xufVxuXG4uZ3JhZGllbnQtMyAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogIzNBNkNDNTtcbn1cblxuLmdyYWRpZW50LTQgLmJnLWZpbGwtcHJpbWFyeSB7XG4gIGZpbGw6ICNhNjU0NmU7XG59XG5cbi5ncmFkaWVudC01IC5iZy1maWxsLXByaW1hcnkge1xuICBmaWxsOiAjMkE3ODcxO1xufVxuXG4uZ3JhZGllbnQtNiAuYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogIzliNTliNjtcbn1cblxuLyoqISAtLS0tLSBjb2xvcnMgZm9yIHRoZW1lIC0tLS0gKiovXG4udGhlbWUtZ3JlZW4gLmNvbG9yLXByaW1hcnksIC50aGVtZS1ncmVlbiAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5oZXJvLWNvbnRlbnQgLmJ0bjpob3ZlciAudGhlbWUtZ3JlZW4gLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC50aGVtZS1ncmVlbiAuYnRuLS1iZy13aGl0ZTpob3ZlciwgLnRoZW1lLWdyZWVuIC5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1ncmVlbiAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC50aGVtZS1ncmVlbiAuY2FyZC0tZm9jdXNlZCAuYnRuX190ZXh0LCAuY2FyZC0tZm9jdXNlZCAudGhlbWUtZ3JlZW4gLmJ0bl9fdGV4dCwgLnRoZW1lLWdyZWVuIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAudGhlbWUtZ3JlZW4gLmxhbmctZHJvcGRvd25fX2l0ZW06Zm9jdXMsIC50aGVtZS1ncmVlbiAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93bl9faXRlbTpob3ZlciwgLmxhbmctc2VsZWN0b3IgLnRoZW1lLWdyZWVuIC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAudGhlbWUtZ3JlZW4gLmljb24tcm91bmRlZCAuaWNvbiwgLmljb24tcm91bmRlZCAudGhlbWUtZ3JlZW4gLmljb24sIC50aGVtZS1ncmVlbiAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLnRoZW1lLWdyZWVuIC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkgaSwgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSAudGhlbWUtZ3JlZW4gaSwgLnRoZW1lLWdyZWVuIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAudGhlbWUtZ3JlZW4gLnBhZ2UtbGluazpob3ZlciwgLnRoZW1lLWdyZWVuIC5kcm9wZG93bi1pdGVtOmZvY3VzLCAudGhlbWUtZ3JlZW4gLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC50aGVtZS1ncmVlbiAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC50aGVtZS1ncmVlbiAuZHJvcGRvd24taXRlbTphY3RpdmUsIC50aGVtZS1ncmVlbiAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAudGhlbWUtZ3JlZW4gaSwgLnRoZW1lLWdyZWVuIC5mb290ZXItd2lkZ2V0IHVsIGxpIGE6aG92ZXIsIC5mb290ZXItd2lkZ2V0IHVsIGxpIC50aGVtZS1ncmVlbiBhOmhvdmVyLCAudGhlbWUtZ3JlZW4gLmZvb3RlciAubmF2IGxpIGE6aG92ZXIsIC5mb290ZXIgLm5hdiBsaSAudGhlbWUtZ3JlZW4gYTpob3ZlciwgLnRoZW1lLWdyZWVuXG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLnRoZW1lLWdyZWVuXG4uYnRuLS1vdXRsaW5lLXRoaWNrLmJ0bi0tY29sb3ItcHJpbWFyeSwgLnRoZW1lLWdyZWVuXG4uYnRuLS1jb2xvci1kYXJrLmJ0bi10ZXh0LWhvdmVyOmhvdmVyIHtcbiAgY29sb3I6ICMyN2FlNjA7XG59XG5cbi50aGVtZS12aW9sZXQgLmNvbG9yLXByaW1hcnksIC50aGVtZS12aW9sZXQgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLnRoZW1lLXZpb2xldCAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSwgLnRoZW1lLXZpb2xldCAuYnRuLS1iZy13aGl0ZTpob3ZlciwgLnRoZW1lLXZpb2xldCAuYnRuLS1jb2xvci1wcmltYXJ5LCAudGhlbWUtdmlvbGV0IC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLnRoZW1lLXZpb2xldCAuY2FyZC0tZm9jdXNlZCAuYnRuX190ZXh0LCAuY2FyZC0tZm9jdXNlZCAudGhlbWUtdmlvbGV0IC5idG5fX3RleHQsIC50aGVtZS12aW9sZXQgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06Zm9jdXMsIC5sYW5nLXNlbGVjdG9yIC50aGVtZS12aW9sZXQgLmxhbmctZHJvcGRvd25fX2l0ZW06Zm9jdXMsIC50aGVtZS12aW9sZXQgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC50aGVtZS12aW9sZXQgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC50aGVtZS12aW9sZXQgLmljb24tcm91bmRlZCAuaWNvbiwgLmljb24tcm91bmRlZCAudGhlbWUtdmlvbGV0IC5pY29uLCAudGhlbWUtdmlvbGV0IC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5OmhvdmVyLCAudGhlbWUtdmlvbGV0IC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkgaSwgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSAudGhlbWUtdmlvbGV0IGksIC50aGVtZS12aW9sZXQgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAucGFnZS1saW5rOmhvdmVyLCAucGFnaW5hdGlvbiAucGFnZS1pdGVtIC50aGVtZS12aW9sZXQgLnBhZ2UtbGluazpob3ZlciwgLnRoZW1lLXZpb2xldCAuZHJvcGRvd24taXRlbTpmb2N1cywgLnRoZW1lLXZpb2xldCAuZHJvcGRvd24taXRlbTpob3ZlciwgLnRoZW1lLXZpb2xldCAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC50aGVtZS12aW9sZXQgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAudGhlbWUtdmlvbGV0IC5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93OmhvdmVyIGksIC5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93OmhvdmVyIC50aGVtZS12aW9sZXQgaSwgLnRoZW1lLXZpb2xldCAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAudGhlbWUtdmlvbGV0IGE6aG92ZXIsIC50aGVtZS12aW9sZXQgLmZvb3RlciAubmF2IGxpIGE6aG92ZXIsIC5mb290ZXIgLm5hdiBsaSAudGhlbWUtdmlvbGV0IGE6aG92ZXIsIC50aGVtZS12aW9sZXRcbi5idG4tLW91dGxpbmUuYnRuLS1jb2xvci1wcmltYXJ5LCAudGhlbWUtdmlvbGV0XG4uYnRuLS1vdXRsaW5lLXRoaWNrLmJ0bi0tY29sb3ItcHJpbWFyeSwgLnRoZW1lLXZpb2xldFxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjOWI1OWI2O1xufVxuXG4udGhlbWUtZmlyb3phIC5jb2xvci1wcmltYXJ5LCAudGhlbWUtZmlyb3phIC5oZXJvLWNvbnRlbnQgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSwgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC50aGVtZS1maXJvemEgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC50aGVtZS1maXJvemEgLmJ0bi0tYmctd2hpdGU6aG92ZXIsIC50aGVtZS1maXJvemEgLmJ0bi0tY29sb3ItcHJpbWFyeSwgLnRoZW1lLWZpcm96YSAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC50aGVtZS1maXJvemEgLmNhcmQtLWZvY3VzZWQgLmJ0bl9fdGV4dCwgLmNhcmQtLWZvY3VzZWQgLnRoZW1lLWZpcm96YSAuYnRuX190ZXh0LCAudGhlbWUtZmlyb3phIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAudGhlbWUtZmlyb3phIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAudGhlbWUtZmlyb3phIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAubGFuZy1zZWxlY3RvciAudGhlbWUtZmlyb3phIC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAudGhlbWUtZmlyb3phIC5pY29uLXJvdW5kZWQgLmljb24sIC5pY29uLXJvdW5kZWQgLnRoZW1lLWZpcm96YSAuaWNvbiwgLnRoZW1lLWZpcm96YSAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLnRoZW1lLWZpcm96YSAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IGksIC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkgLnRoZW1lLWZpcm96YSBpLCAudGhlbWUtZmlyb3phIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAudGhlbWUtZmlyb3phIC5wYWdlLWxpbms6aG92ZXIsIC50aGVtZS1maXJvemEgLmRyb3Bkb3duLWl0ZW06Zm9jdXMsIC50aGVtZS1maXJvemEgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC50aGVtZS1maXJvemEgLmRyb3Bkb3duLWl0ZW0uYWN0aXZlLCAudGhlbWUtZmlyb3phIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSwgLnRoZW1lLWZpcm96YSAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAudGhlbWUtZmlyb3phIGksIC50aGVtZS1maXJvemEgLmZvb3Rlci13aWRnZXQgdWwgbGkgYTpob3ZlciwgLmZvb3Rlci13aWRnZXQgdWwgbGkgLnRoZW1lLWZpcm96YSBhOmhvdmVyLCAudGhlbWUtZmlyb3phIC5mb290ZXIgLm5hdiBsaSBhOmhvdmVyLCAuZm9vdGVyIC5uYXYgbGkgLnRoZW1lLWZpcm96YSBhOmhvdmVyLCAudGhlbWUtZmlyb3phXG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLnRoZW1lLWZpcm96YVxuLmJ0bi0tb3V0bGluZS10aGljay5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1maXJvemFcbi5idG4tLWNvbG9yLWRhcmsuYnRuLXRleHQtaG92ZXI6aG92ZXIge1xuICBjb2xvcjogIzE2YTA4NTtcbn1cblxuLnRoZW1lLXJlZCAuY29sb3ItcHJpbWFyeSwgLnRoZW1lLXJlZCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5oZXJvLWNvbnRlbnQgLmJ0bjpob3ZlciAudGhlbWUtcmVkIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAudGhlbWUtcmVkIC5idG4tLWJnLXdoaXRlOmhvdmVyLCAudGhlbWUtcmVkIC5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1yZWQgLmJ0bi10ZXh0LWhvdmVyOmhvdmVyLCAudGhlbWUtcmVkIC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC50aGVtZS1yZWQgLmJ0bl9fdGV4dCwgLnRoZW1lLXJlZCAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmxhbmctc2VsZWN0b3IgLnRoZW1lLXJlZCAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLnRoZW1lLXJlZCAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93bl9faXRlbTpob3ZlciwgLmxhbmctc2VsZWN0b3IgLnRoZW1lLXJlZCAubGFuZy1kcm9wZG93bl9faXRlbTpob3ZlciwgLnRoZW1lLXJlZCAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC50aGVtZS1yZWQgLmljb24sIC50aGVtZS1yZWQgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXk6aG92ZXIsIC50aGVtZS1yZWQgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC50aGVtZS1yZWQgaSwgLnRoZW1lLXJlZCAucGFnaW5hdGlvbiAucGFnZS1pdGVtIC5wYWdlLWxpbms6aG92ZXIsIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnRoZW1lLXJlZCAucGFnZS1saW5rOmhvdmVyLCAudGhlbWUtcmVkIC5kcm9wZG93bi1pdGVtOmZvY3VzLCAudGhlbWUtcmVkIC5kcm9wZG93bi1pdGVtOmhvdmVyLCAudGhlbWUtcmVkIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLnRoZW1lLXJlZCAuZHJvcGRvd24taXRlbTphY3RpdmUsIC50aGVtZS1yZWQgLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpY2stYXJyb3c6aG92ZXIgaSwgLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpY2stYXJyb3c6aG92ZXIgLnRoZW1lLXJlZCBpLCAudGhlbWUtcmVkIC5mb290ZXItd2lkZ2V0IHVsIGxpIGE6aG92ZXIsIC5mb290ZXItd2lkZ2V0IHVsIGxpIC50aGVtZS1yZWQgYTpob3ZlciwgLnRoZW1lLXJlZCAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC50aGVtZS1yZWQgYTpob3ZlciwgLnRoZW1lLXJlZFxuLmJ0bi0tb3V0bGluZS5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1yZWRcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAudGhlbWUtcmVkXG4uYnRuLS1jb2xvci1kYXJrLmJ0bi10ZXh0LWhvdmVyOmhvdmVyIHtcbiAgY29sb3I6ICNlNzRjM2M7XG59XG5cbi50aGVtZS1vcmFuZ2UgLmNvbG9yLXByaW1hcnksIC50aGVtZS1vcmFuZ2UgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLnRoZW1lLW9yYW5nZSAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSwgLnRoZW1lLW9yYW5nZSAuYnRuLS1iZy13aGl0ZTpob3ZlciwgLnRoZW1lLW9yYW5nZSAuYnRuLS1jb2xvci1wcmltYXJ5LCAudGhlbWUtb3JhbmdlIC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLnRoZW1lLW9yYW5nZSAuY2FyZC0tZm9jdXNlZCAuYnRuX190ZXh0LCAuY2FyZC0tZm9jdXNlZCAudGhlbWUtb3JhbmdlIC5idG5fX3RleHQsIC50aGVtZS1vcmFuZ2UgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06Zm9jdXMsIC5sYW5nLXNlbGVjdG9yIC50aGVtZS1vcmFuZ2UgLmxhbmctZHJvcGRvd25fX2l0ZW06Zm9jdXMsIC50aGVtZS1vcmFuZ2UgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC50aGVtZS1vcmFuZ2UgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC50aGVtZS1vcmFuZ2UgLmljb24tcm91bmRlZCAuaWNvbiwgLmljb24tcm91bmRlZCAudGhlbWUtb3JhbmdlIC5pY29uLCAudGhlbWUtb3JhbmdlIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5OmhvdmVyLCAudGhlbWUtb3JhbmdlIC5idG46aG92ZXIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXkgaSwgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSAudGhlbWUtb3JhbmdlIGksIC50aGVtZS1vcmFuZ2UgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAucGFnZS1saW5rOmhvdmVyLCAucGFnaW5hdGlvbiAucGFnZS1pdGVtIC50aGVtZS1vcmFuZ2UgLnBhZ2UtbGluazpob3ZlciwgLnRoZW1lLW9yYW5nZSAuZHJvcGRvd24taXRlbTpmb2N1cywgLnRoZW1lLW9yYW5nZSAuZHJvcGRvd24taXRlbTpob3ZlciwgLnRoZW1lLW9yYW5nZSAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC50aGVtZS1vcmFuZ2UgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAudGhlbWUtb3JhbmdlIC5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93OmhvdmVyIGksIC5mZWF0dXJlcy0tc2xpZGVyLTIgLnNsaWNrLWFycm93OmhvdmVyIC50aGVtZS1vcmFuZ2UgaSwgLnRoZW1lLW9yYW5nZSAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAudGhlbWUtb3JhbmdlIGE6aG92ZXIsIC50aGVtZS1vcmFuZ2UgLmZvb3RlciAubmF2IGxpIGE6aG92ZXIsIC5mb290ZXIgLm5hdiBsaSAudGhlbWUtb3JhbmdlIGE6aG92ZXIsIC50aGVtZS1vcmFuZ2Vcbi5idG4tLW91dGxpbmUuYnRuLS1jb2xvci1wcmltYXJ5LCAudGhlbWUtb3JhbmdlXG4uYnRuLS1vdXRsaW5lLXRoaWNrLmJ0bi0tY29sb3ItcHJpbWFyeSwgLnRoZW1lLW9yYW5nZVxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjZWU4NjYzO1xufVxuXG4uZ3JhZGllbnQtMSAuY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTEgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLmdyYWRpZW50LTEgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5ncmFkaWVudC0xIC5idG4tLWJnLXdoaXRlOmhvdmVyLCAuZ3JhZGllbnQtMSAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMSAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC0xIC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC5ncmFkaWVudC0xIC5idG5fX3RleHQsIC5ncmFkaWVudC0xIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAuZ3JhZGllbnQtMSAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmdyYWRpZW50LTEgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC5ncmFkaWVudC0xIC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAuZ3JhZGllbnQtMSAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC5ncmFkaWVudC0xIC5pY29uLCAuZ3JhZGllbnQtMSAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLmdyYWRpZW50LTEgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC5ncmFkaWVudC0xIGksIC5ncmFkaWVudC0xIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAuZ3JhZGllbnQtMSAucGFnZS1saW5rOmhvdmVyLCAuZ3JhZGllbnQtMSAuZHJvcGRvd24taXRlbTpmb2N1cywgLmdyYWRpZW50LTEgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5ncmFkaWVudC0xIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmdyYWRpZW50LTEgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZ3JhZGllbnQtMSAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAuZ3JhZGllbnQtMSBpLCAuZ3JhZGllbnQtMSAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAuZ3JhZGllbnQtMSBhOmhvdmVyLCAuZ3JhZGllbnQtMSAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC5ncmFkaWVudC0xIGE6aG92ZXIsIC5ncmFkaWVudC0xXG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTFcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMVxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjNTE3OWVjO1xufVxuXG4uZ3JhZGllbnQtMiAuY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTIgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLmdyYWRpZW50LTIgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5ncmFkaWVudC0yIC5idG4tLWJnLXdoaXRlOmhvdmVyLCAuZ3JhZGllbnQtMiAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMiAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC0yIC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC5ncmFkaWVudC0yIC5idG5fX3RleHQsIC5ncmFkaWVudC0yIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAuZ3JhZGllbnQtMiAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmdyYWRpZW50LTIgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC5ncmFkaWVudC0yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAuZ3JhZGllbnQtMiAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC5ncmFkaWVudC0yIC5pY29uLCAuZ3JhZGllbnQtMiAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLmdyYWRpZW50LTIgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC5ncmFkaWVudC0yIGksIC5ncmFkaWVudC0yIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAuZ3JhZGllbnQtMiAucGFnZS1saW5rOmhvdmVyLCAuZ3JhZGllbnQtMiAuZHJvcGRvd24taXRlbTpmb2N1cywgLmdyYWRpZW50LTIgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5ncmFkaWVudC0yIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmdyYWRpZW50LTIgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZ3JhZGllbnQtMiAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAuZ3JhZGllbnQtMiBpLCAuZ3JhZGllbnQtMiAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAuZ3JhZGllbnQtMiBhOmhvdmVyLCAuZ3JhZGllbnQtMiAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC5ncmFkaWVudC0yIGE6aG92ZXIsIC5ncmFkaWVudC0yXG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTJcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMlxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjMmY1YmVhO1xufVxuXG4uZ3JhZGllbnQtMyAuY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTMgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLmdyYWRpZW50LTMgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5ncmFkaWVudC0zIC5idG4tLWJnLXdoaXRlOmhvdmVyLCAuZ3JhZGllbnQtMyAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMyAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC0zIC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC5ncmFkaWVudC0zIC5idG5fX3RleHQsIC5ncmFkaWVudC0zIC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAuZ3JhZGllbnQtMyAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmdyYWRpZW50LTMgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC5ncmFkaWVudC0zIC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAuZ3JhZGllbnQtMyAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC5ncmFkaWVudC0zIC5pY29uLCAuZ3JhZGllbnQtMyAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLmdyYWRpZW50LTMgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC5ncmFkaWVudC0zIGksIC5ncmFkaWVudC0zIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAuZ3JhZGllbnQtMyAucGFnZS1saW5rOmhvdmVyLCAuZ3JhZGllbnQtMyAuZHJvcGRvd24taXRlbTpmb2N1cywgLmdyYWRpZW50LTMgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5ncmFkaWVudC0zIC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmdyYWRpZW50LTMgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZ3JhZGllbnQtMyAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAuZ3JhZGllbnQtMyBpLCAuZ3JhZGllbnQtMyAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAuZ3JhZGllbnQtMyBhOmhvdmVyLCAuZ3JhZGllbnQtMyAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC5ncmFkaWVudC0zIGE6aG92ZXIsIC5ncmFkaWVudC0zXG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTNcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtM1xuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjM0E2Q0M1O1xufVxuXG4uZ3JhZGllbnQtNCAuY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTQgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLmdyYWRpZW50LTQgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5ncmFkaWVudC00IC5idG4tLWJnLXdoaXRlOmhvdmVyLCAuZ3JhZGllbnQtNCAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNCAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC00IC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC5ncmFkaWVudC00IC5idG5fX3RleHQsIC5ncmFkaWVudC00IC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAuZ3JhZGllbnQtNCAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmdyYWRpZW50LTQgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC5ncmFkaWVudC00IC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAuZ3JhZGllbnQtNCAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC5ncmFkaWVudC00IC5pY29uLCAuZ3JhZGllbnQtNCAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLmdyYWRpZW50LTQgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC5ncmFkaWVudC00IGksIC5ncmFkaWVudC00IC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAuZ3JhZGllbnQtNCAucGFnZS1saW5rOmhvdmVyLCAuZ3JhZGllbnQtNCAuZHJvcGRvd24taXRlbTpmb2N1cywgLmdyYWRpZW50LTQgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5ncmFkaWVudC00IC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmdyYWRpZW50LTQgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZ3JhZGllbnQtNCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAuZ3JhZGllbnQtNCBpLCAuZ3JhZGllbnQtNCAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAuZ3JhZGllbnQtNCBhOmhvdmVyLCAuZ3JhZGllbnQtNCAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC5ncmFkaWVudC00IGE6aG92ZXIsIC5ncmFkaWVudC00XG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTRcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNFxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjYTY1NDZlO1xufVxuXG4uZ3JhZGllbnQtNSAuY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTUgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLmdyYWRpZW50LTUgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5ncmFkaWVudC01IC5idG4tLWJnLXdoaXRlOmhvdmVyLCAuZ3JhZGllbnQtNSAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNSAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC01IC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC5ncmFkaWVudC01IC5idG5fX3RleHQsIC5ncmFkaWVudC01IC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAuZ3JhZGllbnQtNSAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmdyYWRpZW50LTUgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC5ncmFkaWVudC01IC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAuZ3JhZGllbnQtNSAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC5ncmFkaWVudC01IC5pY29uLCAuZ3JhZGllbnQtNSAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLmdyYWRpZW50LTUgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC5ncmFkaWVudC01IGksIC5ncmFkaWVudC01IC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAuZ3JhZGllbnQtNSAucGFnZS1saW5rOmhvdmVyLCAuZ3JhZGllbnQtNSAuZHJvcGRvd24taXRlbTpmb2N1cywgLmdyYWRpZW50LTUgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5ncmFkaWVudC01IC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmdyYWRpZW50LTUgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZ3JhZGllbnQtNSAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAuZ3JhZGllbnQtNSBpLCAuZ3JhZGllbnQtNSAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAuZ3JhZGllbnQtNSBhOmhvdmVyLCAuZ3JhZGllbnQtNSAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC5ncmFkaWVudC01IGE6aG92ZXIsIC5ncmFkaWVudC01XG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTVcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNVxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjMkE3ODcxO1xufVxuXG4uZ3JhZGllbnQtNiAuY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTYgLmhlcm8tY29udGVudCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5LCAuaGVyby1jb250ZW50IC5idG46aG92ZXIgLmdyYWRpZW50LTYgLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWdyZXksIC5ncmFkaWVudC02IC5idG4tLWJnLXdoaXRlOmhvdmVyLCAuZ3JhZGllbnQtNiAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNiAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC02IC5jYXJkLS1mb2N1c2VkIC5idG5fX3RleHQsIC5jYXJkLS1mb2N1c2VkIC5ncmFkaWVudC02IC5idG5fX3RleHQsIC5ncmFkaWVudC02IC5sYW5nLXNlbGVjdG9yIC5sYW5nLWRyb3Bkb3duX19pdGVtOmZvY3VzLCAubGFuZy1zZWxlY3RvciAuZ3JhZGllbnQtNiAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmdyYWRpZW50LTYgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5sYW5nLXNlbGVjdG9yIC5ncmFkaWVudC02IC5sYW5nLWRyb3Bkb3duX19pdGVtOmhvdmVyLCAuZ3JhZGllbnQtNiAuaWNvbi1yb3VuZGVkIC5pY29uLCAuaWNvbi1yb3VuZGVkIC5ncmFkaWVudC02IC5pY29uLCAuZ3JhZGllbnQtNiAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleTpob3ZlciwgLmdyYWRpZW50LTYgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSBpLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC5ncmFkaWVudC02IGksIC5ncmFkaWVudC02IC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLnBhZ2luYXRpb24gLnBhZ2UtaXRlbSAuZ3JhZGllbnQtNiAucGFnZS1saW5rOmhvdmVyLCAuZ3JhZGllbnQtNiAuZHJvcGRvd24taXRlbTpmb2N1cywgLmdyYWRpZW50LTYgLmRyb3Bkb3duLWl0ZW06aG92ZXIsIC5ncmFkaWVudC02IC5kcm9wZG93bi1pdGVtLmFjdGl2ZSwgLmdyYWRpZW50LTYgLmRyb3Bkb3duLWl0ZW06YWN0aXZlLCAuZ3JhZGllbnQtNiAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciBpLCAuZmVhdHVyZXMtLXNsaWRlci0yIC5zbGljay1hcnJvdzpob3ZlciAuZ3JhZGllbnQtNiBpLCAuZ3JhZGllbnQtNiAuZm9vdGVyLXdpZGdldCB1bCBsaSBhOmhvdmVyLCAuZm9vdGVyLXdpZGdldCB1bCBsaSAuZ3JhZGllbnQtNiBhOmhvdmVyLCAuZ3JhZGllbnQtNiAuZm9vdGVyIC5uYXYgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIC5ncmFkaWVudC02IGE6aG92ZXIsIC5ncmFkaWVudC02XG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTZcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNlxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGNvbG9yOiAjOWI1OWI2O1xufVxuXG4vKiohIC0tLS0tIEJvcmRlciBDb2xvciBmb3IgdGhlbWUgLS0tLSAqKi9cbi50aGVtZS1ncmVlbiAuYm9yZGVyLXByaW1hcnksIC50aGVtZS1ncmVlbiAuaHItLWJsb2QsIC50aGVtZS1ncmVlbiAuYnRuLS1jb2xvci1wcmltYXJ5LCAudGhlbWUtZ3JlZW4gLmJ0bi0tb3V0bGluZTpob3ZlciwgLnRoZW1lLWdyZWVuIC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC50aGVtZS1ncmVlbiAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC50aGVtZS1ncmVlblxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzI3YWU2MDtcbn1cblxuLnRoZW1lLXZpb2xldCAuYm9yZGVyLXByaW1hcnksIC50aGVtZS12aW9sZXQgLmhyLS1ibG9kLCAudGhlbWUtdmlvbGV0IC5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS12aW9sZXQgLmJ0bi0tb3V0bGluZTpob3ZlciwgLnRoZW1lLXZpb2xldCAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAudGhlbWUtdmlvbGV0IC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLnRoZW1lLXZpb2xldFxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzliNTliNjtcbn1cblxuLnRoZW1lLWZpcm96YSAuYm9yZGVyLXByaW1hcnksIC50aGVtZS1maXJvemEgLmhyLS1ibG9kLCAudGhlbWUtZmlyb3phIC5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1maXJvemEgLmJ0bi0tb3V0bGluZTpob3ZlciwgLnRoZW1lLWZpcm96YSAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAudGhlbWUtZmlyb3phIC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLnRoZW1lLWZpcm96YVxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzE2YTA4NTtcbn1cblxuLnRoZW1lLXJlZCAuYm9yZGVyLXByaW1hcnksIC50aGVtZS1yZWQgLmhyLS1ibG9kLCAudGhlbWUtcmVkIC5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1yZWQgLmJ0bi0tb3V0bGluZTpob3ZlciwgLnRoZW1lLXJlZCAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAudGhlbWUtcmVkIC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLnRoZW1lLXJlZFxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2U3NGMzYztcbn1cblxuLnRoZW1lLW9yYW5nZSAuYm9yZGVyLXByaW1hcnksIC50aGVtZS1vcmFuZ2UgLmhyLS1ibG9kLCAudGhlbWUtb3JhbmdlIC5idG4tLWNvbG9yLXByaW1hcnksIC50aGVtZS1vcmFuZ2UgLmJ0bi0tb3V0bGluZTpob3ZlciwgLnRoZW1lLW9yYW5nZSAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAudGhlbWUtb3JhbmdlIC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLnRoZW1lLW9yYW5nZVxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2VlODY2Mztcbn1cblxuLmdyYWRpZW50LTEgLmJvcmRlci1wcmltYXJ5LCAuZ3JhZGllbnQtMSAuaHItLWJsb2QsIC5ncmFkaWVudC0xIC5idG4tLWNvbG9yLXByaW1hcnksIC5ncmFkaWVudC0xIC5idG4tLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC0xIC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC5ncmFkaWVudC0xIC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLmdyYWRpZW50LTFcbi5idG4tLWNvbG9yLWRhcmsuYnRuLXRleHQtaG92ZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICM1MTc5ZWM7XG59XG5cbi5ncmFkaWVudC0yIC5ib3JkZXItcHJpbWFyeSwgLmdyYWRpZW50LTIgLmhyLS1ibG9kLCAuZ3JhZGllbnQtMiAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtMiAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuZ3JhZGllbnQtMiAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAuZ3JhZGllbnQtMiAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC0yXG4uYnRuLS1jb2xvci1kYXJrLmJ0bi10ZXh0LWhvdmVyOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMmY1YmVhO1xufVxuXG4uZ3JhZGllbnQtMyAuYm9yZGVyLXByaW1hcnksIC5ncmFkaWVudC0zIC5oci0tYmxvZCwgLmdyYWRpZW50LTMgLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTMgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTMgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLmdyYWRpZW50LTMgLmJ0bi10ZXh0LWhvdmVyOmhvdmVyLCAuZ3JhZGllbnQtM1xuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzNBNkNDNTtcbn1cblxuLmdyYWRpZW50LTQgLmJvcmRlci1wcmltYXJ5LCAuZ3JhZGllbnQtNCAuaHItLWJsb2QsIC5ncmFkaWVudC00IC5idG4tLWNvbG9yLXByaW1hcnksIC5ncmFkaWVudC00IC5idG4tLW91dGxpbmU6aG92ZXIsIC5ncmFkaWVudC00IC5idG4tLW91dGxpbmUtdGhpY2s6aG92ZXIsIC5ncmFkaWVudC00IC5idG4tdGV4dC1ob3Zlcjpob3ZlciwgLmdyYWRpZW50LTRcbi5idG4tLWNvbG9yLWRhcmsuYnRuLXRleHQtaG92ZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICNhNjU0NmU7XG59XG5cbi5ncmFkaWVudC01IC5ib3JkZXItcHJpbWFyeSwgLmdyYWRpZW50LTUgLmhyLS1ibG9kLCAuZ3JhZGllbnQtNSAuYnRuLS1jb2xvci1wcmltYXJ5LCAuZ3JhZGllbnQtNSAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuZ3JhZGllbnQtNSAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAuZ3JhZGllbnQtNSAuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5ncmFkaWVudC01XG4uYnRuLS1jb2xvci1kYXJrLmJ0bi10ZXh0LWhvdmVyOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjMkE3ODcxO1xufVxuXG4uZ3JhZGllbnQtNiAuYm9yZGVyLXByaW1hcnksIC5ncmFkaWVudC02IC5oci0tYmxvZCwgLmdyYWRpZW50LTYgLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmdyYWRpZW50LTYgLmJ0bi0tb3V0bGluZTpob3ZlciwgLmdyYWRpZW50LTYgLmJ0bi0tb3V0bGluZS10aGljazpob3ZlciwgLmdyYWRpZW50LTYgLmJ0bi10ZXh0LWhvdmVyOmhvdmVyLCAuZ3JhZGllbnQtNlxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogIzliNTliNjtcbn1cblxuLyoqISAtLS0tLSBCb3ggc2hhZG93IENvbG9yIGZvciB0aGVtZSAgLS0tLSAqKi9cbi50aGVtZS1ncmVlbiAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5zd2lwZS10YWJfX2lubmVyLCAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC50aGVtZS1ncmVlbiAuc3dpcGUtdGFiX19pbm5lciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMHB4ICMyN2FlNjA7XG59XG5cbi50aGVtZS12aW9sZXQgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuc3dpcGUtdGFiX19pbm5lciwgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAudGhlbWUtdmlvbGV0IC5zd2lwZS10YWJfX2lubmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggIzliNTliNjtcbn1cblxuLnRoZW1lLWZpcm96YSAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5zd2lwZS10YWJfX2lubmVyLCAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC50aGVtZS1maXJvemEgLnN3aXBlLXRhYl9faW5uZXIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDBweCAjMTZhMDg1O1xufVxuXG4udGhlbWUtcmVkIC5mZWF0dXJlcyAuc3dpcGUtdGFiLmFjdGl2ZS10YWIgLnN3aXBlLXRhYl9faW5uZXIsIC5mZWF0dXJlcyAuc3dpcGUtdGFiLmFjdGl2ZS10YWIgLnRoZW1lLXJlZCAuc3dpcGUtdGFiX19pbm5lciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMHB4ICNlNzRjM2M7XG59XG5cbi50aGVtZS1vcmFuZ2UgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuc3dpcGUtdGFiX19pbm5lciwgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAudGhlbWUtb3JhbmdlIC5zd2lwZS10YWJfX2lubmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggI2VlODY2Mztcbn1cblxuLmdyYWRpZW50LTEgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuc3dpcGUtdGFiX19pbm5lciwgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuZ3JhZGllbnQtMSAuc3dpcGUtdGFiX19pbm5lciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMHB4ICM1MTc5ZWM7XG59XG5cbi5ncmFkaWVudC0yIC5mZWF0dXJlcyAuc3dpcGUtdGFiLmFjdGl2ZS10YWIgLnN3aXBlLXRhYl9faW5uZXIsIC5mZWF0dXJlcyAuc3dpcGUtdGFiLmFjdGl2ZS10YWIgLmdyYWRpZW50LTIgLnN3aXBlLXRhYl9faW5uZXIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDBweCAjMmY1YmVhO1xufVxuXG4uZ3JhZGllbnQtMyAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5zd2lwZS10YWJfX2lubmVyLCAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5ncmFkaWVudC0zIC5zd2lwZS10YWJfX2lubmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggIzNBNkNDNTtcbn1cblxuLmdyYWRpZW50LTQgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuc3dpcGUtdGFiX19pbm5lciwgLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuZ3JhZGllbnQtNCAuc3dpcGUtdGFiX19pbm5lciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMHB4ICNhNjU0NmU7XG59XG5cbi5ncmFkaWVudC01IC5mZWF0dXJlcyAuc3dpcGUtdGFiLmFjdGl2ZS10YWIgLnN3aXBlLXRhYl9faW5uZXIsIC5mZWF0dXJlcyAuc3dpcGUtdGFiLmFjdGl2ZS10YWIgLmdyYWRpZW50LTUgLnN3aXBlLXRhYl9faW5uZXIge1xuICBib3gtc2hhZG93OiAwcHggMnB4IDBweCAjMkE3ODcxO1xufVxuXG4uZ3JhZGllbnQtNiAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5zd2lwZS10YWJfX2lubmVyLCAuZmVhdHVyZXMgLnN3aXBlLXRhYi5hY3RpdmUtdGFiIC5ncmFkaWVudC02IC5zd2lwZS10YWJfX2lubmVyIHtcbiAgYm94LXNoYWRvdzogMHB4IDJweCAwcHggIzliNTliNjtcbn1cblxuYm9keVtjbGFzcyo9XCJncmFkaWVudC1cIl0gLmNhcmQtLWZvY3VzZWQge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmJvZHlbY2xhc3MqPVwiZ3JhZGllbnQtXCJdIC5uYXZiYXIgLmJ0bi0tb3V0bGluZSB7XG4gIGJveC1zaGFkb3c6IDAgMCAxcHggMCAjZmZmO1xuICBib3JkZXI6IG5vbmU7XG59XG5cbmJvZHlbY2xhc3MqPVwiZ3JhZGllbnQtXCJdIC5uYXZiYXIgLmJ0bi0tb3V0bGluZTpob3ZlciB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG59XG5cbmJvZHlbY2xhc3MqPVwiZ3JhZGllbnQtXCJdIC5jYXJkIC5idG4tLW91dGxpbmUge1xuICBib3gtc2hhZG93OiAwIDAgMXB4IDAgI2FhYTtcbiAgYm9yZGVyOiBub25lO1xufVxuXG5ib2R5W2NsYXNzKj1cImdyYWRpZW50LVwiXSAubmF2YmFyLXN0aWNreS0tb24gLmJ0bixcbmJvZHlbY2xhc3MqPVwidGhlbWUtXCJdIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuIHtcbiAgY29sb3I6ICNmZmY7XG59XG5cbmJvZHlbY2xhc3MqPVwiZ3JhZGllbnQtXCJdIC5mb3JtLXN1YnNjcmlwdGlvbiAuYnRuLFxuYm9keVtjbGFzcyo9XCJ0aGVtZS1cIl0gLmZvcm0tc3Vic2NyaXB0aW9uIC5idG4ge1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlN2VhZWU7XG59XG5cbi8qXG4qICB0aGVtZSBvdmVyd3JpdGUgXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi8qKiEgMzEuIHVzZXIgc3R5bGUgKiovXG4vKiohIC0tLS0tIGZvbnQgZmFtaWx5IGluaXQgLS0tLSAqKi9cbmJvZHkge1xuICBmb250LWZhbWlseTogXCJBaWxlcm9uXCIsIHNhbnMtc2VyaWYsIFwiQWlsZXJvblwiLCBzYW5zLXNlcmlmO1xufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJBaWxlcm9uXCIsIHNhbnMtc2VyaWY7XG59XG5cbi5ibG9ja3F1b3RlIHtcbiAgZm9udC1mYW1pbHk6IFwiTm90byBTZXJpZlwiLCBzZXJpZjtcbn1cblxuLmJnLWNvbG9yLXByaW1hcnksIC5idG4tLWJnLXByaW1hcnksIC5uYXZiYXItc3RpY2t5LS1vbiAuYnRuLCAuYnRuLS1iZy1ncmV5OmhvdmVyLCAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAuYnRuLWJvcmRlci1ob3Zlci5idG4tLWNvbG9yLXdoaXRlOmJlZm9yZSwgLmNhcmQtLWZvY3VzZWQsIC5jYXJkLS1vdXRsaW5lOmhvdmVyLCAuY2FyZC0tb3V0bGluZTpmb2N1cywgLnNvY2lhbC1saXN0cyBsaSBhOmhvdmVyLCAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSwgLm92YWwsIC5zbGljay1hY3RpdmUgLnNsaWNrLWRvdHMtLWxvbmcsIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0uYWN0aXZlIC5wYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kOiAjMmY1YmVhO1xufVxuXG4uYmctZmlsbC1wcmltYXJ5IHtcbiAgZmlsbDogIzJmNWJlYTtcbn1cblxuLmNvbG9yLXByaW1hcnksIC5oZXJvLWNvbnRlbnQgLmJ0bjpob3ZlciAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSwgLmJ0bi0tYmctd2hpdGU6aG92ZXIsIC5idG4tLWNvbG9yLXByaW1hcnksIC5idG4tLWNvbG9yLXByaW1hcnk6aG92ZXIsIC5idG4tLWNvbG9yLWRhcmsuYnRuLXRleHQtaG92ZXI6aG92ZXIsIC5idG4tLW91dGxpbmUuYnRuLS1jb2xvci1wcmltYXJ5LCAuYnRuLS1vdXRsaW5lLXRoaWNrLmJ0bi0tY29sb3ItcHJpbWFyeSwgLmJ0bi10ZXh0LWhvdmVyOmhvdmVyLCAuY2FyZC0tZm9jdXNlZCAuYnRuX190ZXh0LCAubGFuZy1zZWxlY3RvciAubGFuZy1kcm9wZG93bl9faXRlbTpmb2N1cywgLmxhbmctc2VsZWN0b3IgLmxhbmctZHJvcGRvd25fX2l0ZW06aG92ZXIsIC5pY29uLXJvdW5kZWQgLmljb24sIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5OmhvdmVyLCAuYnRuOmhvdmVyIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IGksIC5wYWdpbmF0aW9uIC5wYWdlLWl0ZW0gLnBhZ2UtbGluazpob3ZlciwgLmRyb3Bkb3duLWl0ZW06Zm9jdXMsIC5kcm9wZG93bi1pdGVtOmhvdmVyLCAuZHJvcGRvd24taXRlbS5hY3RpdmUsIC5kcm9wZG93bi1pdGVtOmFjdGl2ZSwgLmZlYXR1cmVzLS1zbGlkZXItMiAuc2xpY2stYXJyb3c6aG92ZXIgaSwgLmZvb3Rlci13aWRnZXQgdWwgbGkgYTpob3ZlciwgLmZvb3RlciAubmF2IGxpIGE6aG92ZXIge1xuICBjb2xvcjogIzJmNWJlYTtcbn1cblxuLmZlYXR1cmVzIC5zd2lwZS10YWIuYWN0aXZlLXRhYiAuc3dpcGUtdGFiX19pbm5lciB7XG4gIGJveC1zaGFkb3c6IDBweCAycHggMHB4ICMyZjViZWE7XG59XG5cbi5ib3JkZXItcHJpbWFyeSwgLmhyLS1ibG9kLCAuYnRuLS1jb2xvci1wcmltYXJ5LCAuYnRuLS1jb2xvci1kYXJrLmJ0bi10ZXh0LWhvdmVyOmhvdmVyLCAuYnRuLS1vdXRsaW5lOmhvdmVyLCAuYnRuLS1vdXRsaW5lLXRoaWNrOmhvdmVyLCAuYnRuLXRleHQtaG92ZXI6aG92ZXIge1xuICBib3JkZXItY29sb3I6ICMyZjViZWE7XG59XG5cbi5iZy1maWxsLXByaW1hcnkge1xuICBmaWxsOiAjMmY1YmVhO1xufVxuXG4vKiEgUGxhY2UgeW91ciBjdXN0b20gc3R5bGVzIGhlcmUvIGJlbG93LiBcbiAgICBUaGlzIHdpbGwgbWFrZSBpdCBtdWNoIGVhc2llciB0byB1cGRhdGUgdGhlIHRlbXBsYXRlIGxhdGVyIC0geW91J2xsIG9ubHkgbmVlZCB0byBwcmVzZXJ2ZSBcIjUtdXNlclwiIGZvbGRlclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbiIsImgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG5oNSxcclxuaDYge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LXByaW1hcnk7XHJcbn1cclxuXHJcbmgxIHtcclxuICBAZXh0ZW5kIC5oMS1mb250O1xyXG59XHJcblxyXG5oMiB7XHJcbiAgQGV4dGVuZCAuaDItZm9udDtcclxufVxyXG5cclxuaDMge1xyXG4gIEBleHRlbmQgLmgzLWZvbnQ7XHJcblxyXG59XHJcblxyXG5oNCB7XHJcbiAgQGV4dGVuZCAuaDQtZm9udDtcclxufVxyXG5cclxuaDUge1xyXG4gIEBleHRlbmQgLmg1LWZvbnQ7XHJcbn1cclxuXHJcbmg2IHtcclxuICBAZXh0ZW5kIC5oNi1mb250O1xyXG59XHJcblxyXG5wIHtcclxuICBAZXh0ZW5kIC5ib2R5LWZvbnQ7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxufVxyXG5cclxuLmJsb2NrcXVvdGUge1xyXG4gIGZvbnQtZmFtaWx5OiAkZm9udC1zZWNvbmRhcnk7XHJcbiAgZm9udC1zdHlsZTogaXRhbGljO1xyXG4gIEBleHRlbmQgLmg2LWZvbnQ7XHJcbiAgaDQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XHJcbiAgfVxyXG4gIGg1IHtcclxuICAgIGxpbmUtaGVpZ2h0OiAyLjhyZW07XHJcbiAgfVxyXG5cclxufVxyXG4vKiohIC0tLS0tIGZvbnQgU2V0dGluZyAoc2l6ZSAmIGxpbmUgaGVpZ2h0LCBzcGFjaW5nIGV0YykgLS0tLSAqKi9cclxuLmgxLWZvbnQge1xyXG4gIGZvbnQtc2l6ZTogJGgzLXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoMy1saW5lLWhlaWdodDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEobWQpIHtcclxuICAgIGZvbnQtc2l6ZTogJGgxLXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGgxLWxpbmUtaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLmgyLWZvbnQge1xyXG4gIGZvbnQtc2l6ZTogJGgzLXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoMy1saW5lLWhlaWdodDtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEobWQpIHtcclxuICAgIGZvbnQtc2l6ZTogJGgyLXNpemU7XHJcbiAgICBsaW5lLWhlaWdodDogJGgyLWxpbmUtaGVpZ2h0O1xyXG4gIH1cclxufVxyXG5cclxuLmgzLWZvbnQge1xyXG4gIGZvbnQtc2l6ZTogJGgzLXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoMy1saW5lLWhlaWdodDtcclxufVxyXG5cclxuLmg0LWZvbnQge1xyXG4gIGZvbnQtc2l6ZTogJGg0LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoNC1saW5lLWhlaWdodDtcclxufVxyXG5cclxuLmg1LWZvbnQge1xyXG4gIGZvbnQtc2l6ZTogJGg1LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoNS1saW5lLWhlaWdodDtcclxufVxyXG5cclxuLmg2LWZvbnQge1xyXG4gIGZvbnQtc2l6ZTogJGg2LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoNi1saW5lLWhlaWdodDtcclxufVxyXG5cclxuLmxlYWQge1xyXG4gIGZvbnQtc2l6ZTogJGg2LXNpemU7XHJcbiAgbGluZS1oZWlnaHQ6ICRoNi1saW5lLWhlaWdodDtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG59XHJcblxyXG4uYm9keS1mb250IHtcclxuICBmb250LXNpemU6ICRib2R5LWZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGJvZHktbGluZS1oZWlnaHQ7XHJcbn1cclxuXHJcbi5mb250LXNpemUtMTQge1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS0xNDtcclxufVxyXG5cclxuLmZvbnQtc2l6ZS0yMSB7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLTIxO1xyXG59XHJcblxyXG4udHlwZS0tdW5kZXJsaW5lIHtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLnR5cGUtLWZpbmUtcHJpbnQge1xyXG4gIGZvbnQtc2l6ZTogJGZpbmUtcHJpbnQtc2l6ZTtcclxufVxyXG5cclxuLmZvbnQtc3BhY2UtMSB7XHJcbiAgbGV0dGVyLXNwYWNpbmc6IDEuM3B4O1xyXG59XHJcblxyXG4uYnVsbGV0IHtcclxuICBkaXNwbGF5OiBsaXN0LWl0ZW07XHJcbn1cclxuXHJcbi5mb3JtLFxyXG4uYnV0dG9uLWdyb3VwLFxyXG4uYnRuIHtcclxuICArc3Bhbi50eXBlLS1maW5lLXByaW50IHtcclxuICAgIG1hcmdpbi10b3A6IHJlbSgxMyk7XHJcblxyXG4gIH1cclxufVxyXG5cclxuLyoqISAtLS0tLSBGb250IHdlaWdodCAtLS0tICoqL1xyXG4uZm9udC13IHtcclxuICAmLTMwMCB7XHJcbiAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLTQwMCB7XHJcbiAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLTUwMCB7XHJcbiAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLTYwMCB7XHJcbiAgICBmb250LXdlaWdodDogNjAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxuICAmLTcwMCB7XHJcbiAgICBmb250LXdlaWdodDogNzAwICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gICYtOTAwIHtcclxuICAgIGZvbnQtd2VpZ2h0OiA5MDAgIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbiIsIi8vIFBpeGVsIHRvIFJlbVxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzLCAkY29udGV4dDogJGJhc2UtdW5pdCkge1xuICAgIEByZXR1cm4gI3skcGl4ZWxzLyRjb250ZXh0fXJlbTtcbiAgfVxuXG4iLCIvKiohIC0tLS0tIG92ZXJmbG93LS0tLSAqKi9cbi5oaWRkZW4ge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiohIC0tLS0tIFogSW5kZXgtLS0tICoqL1xuLnotaW5kZXgxIHtcbiAgICAgICAgei1pbmRleDogMTtcbn1cblxuLnotaW5kZXgyIHtcbiAgICAgICAgei1pbmRleDogMjtcbn1cblxuLnotaW5kZXgtMSB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xufVxuXG4uei1pbmRleC0yIHtcbiAgICAgICAgei1pbmRleDogLTI7XG59XG5cbi8qKiEgLS0tLS0gYm9yZGVyIHJhZGl1cy0tLS0gKiovXG4ucm91bmRlZC1kZWZhdWx0IHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDUpXG59XG5cbi5yb3VuZGVkLXNtIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDMpXG59XG5cbi5yb3VuZGVkLW1kIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDEwKVxufVxuXG4ucm91bmRlZC1sZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxNSlcbn1cblxuLnJvdW5kZWQtZnVsbCB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbSgxMDApXG59XG5cbi8qKiEgLS0tLS0gUG9zaXRpb24gLS0tLSAqKi9cbi5wb3MtYWJzLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcy1hYnMoMCwgYXV0bywgYXV0bywgYXV0bylcbn1cblxuLnBvcy1hYnMtYm90dG9tIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zLWFicyhhdXRvLCBhdXRvLCAwLCBhdXRvKVxufVxuXG4ucG9zLWFicy1sZy1ib3R0b20ge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSAobGcpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKGF1dG8sIGF1dG8sIDAsIGF1dG8pXG4gICAgICAgIH1cbn1cblxuLnBvcy1hYnMtYm90dG9tLWxlZnQge1xuICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKGF1dG8sIGF1dG8sIDAsIDApXG59XG5cbi5wb3MtYWJzLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcy1hYnMoYXV0bywgMCwgMCwgYXV0bylcbn1cblxuLnBvcy1hYnMtdG9wLXJpZ2h0IHtcbiAgICAgICAgQGluY2x1ZGUgcG9zLWFicygwLCAwLCBhdXRvLCBhdXRvKVxufVxuXG4ucG9zLWFicy10b3AtbGVmdCB7XG4gICAgICAgIEBpbmNsdWRlIHBvcy1hYnMoMCwgYXV0bywgYXV0bywgMClcbn1cblxuLnBvcy1jZW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBjZW50ZXJlcjtcbn1cblxuLnBvcy1ob3Jpem9uLWNlbnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNlbnRlcmVyICh0cnVlLCBmYWxzZSk7XG59XG5cbi5wb3MtdmVydGljYWwtY2VudGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyZXIgKGZhbHNlLCB0dXJlKTtcbiAgICAgICAgXG59XG5AaW5jbHVkZSBtZWRpYShsZyl7XG4gICAgICAgIC5wb3MtYWJzLWxnLXRvcC1yaWdodCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcG9zLWFicygwLCAwLCBhdXRvLCBhdXRvKVxuICAgICAgICB9ICAgICAgXG4gICAgICAgIC5wb3MtYWJzLWxnLXRvcC1sZWZ0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKDAsIGF1dG8sIGF1dG8sIDApXG4gICAgICAgIH0gICAgICBcbn1cblxuLnBvcy1maXhlZC1ib3R0b20ge1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG59XG5cbi8qKiEgLS0tLS0gT3BhY2l0eSAtLS0tICoqL1xuLm9wYWNpdHktMDUge1xuICAgICAgICBvcGFjaXR5OiAuMDU7XG59XG5cbi5vcGFjaXR5LTEwIHtcbiAgICAgICAgb3BhY2l0eTogLjEwO1xufVxuXG4ub3BhY2l0eS0yMCB7XG4gICAgICAgIG9wYWNpdHk6IC4yMDtcbn1cblxuLm9wYWNpdHktMzAge1xuICAgICAgICBvcGFjaXR5OiAuMzA7XG59XG5cbi8qKiEgLS0tLS0gQm9yZGVyLS0tLSAqKi9cblxuLmJvcmRlci1ib3R0b20tbGlnaHQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJHZlcnktbGlnaHQtYmx1ZTtcblxuICAgICAgICAjeyR0aGVtZS1kYXJrfSAmLFxuICAgICAgICAuYmctY29sb3ItZGFya2JsdWUgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRkYXJrYmx1ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5iZy1jb2xvci1kYXJrYmx1ZSAmIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGNsb3VkLWJ1cnN0O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJnLWNvbG9yLXByaW1hcnkgJiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoJGNvbG9yLXdoaXRlLCAkYWxwaGE6IC4yKTtcbiAgICAgICAgfVxufVxuXG4uYm9yZGVyLW5vbmUge1xuICAgICAgICBib3JkZXI6IDA7XG59XG5cbi5vdXRsaW5lLWxpZ2h0IHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDBweCAxcHggJHZlcnktbGlnaHQtYmx1ZTtcbn1cblxuLyoqISAtLS0tLSBoZWlnaHQgZW11bGF0b3ItLS0tICoqL1xuLmhlaWdodC1lbXVsYXRvciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xufVxuXG4vKiohIC0tLS0tIHRyYW5zaXRpb24tLS0tICoqL1xuLnRyYW5zaXRpb24tZGVmYXVsdCB7XG4gICAgICAgIHRyYW5zaXRpb246IC4zcztcbn1cblxuLyoqISAtLS0tLSBib3ggc2hhZG93LS0tLSAqKi9cbi5ib3gtc2hhZG93LTEge1xuICAgICAgICBib3gtc2hhZG93OiAwIHJlbSgzKSByZW0oNSkgMCByZ2JhKDQ0LCA0NiwgNDgsIDAuMSk7XG59XG5cbi5ib3gtc2hhZG93LTIge1xuICAgICAgICBib3gtc2hhZG93OiAwIHJlbSg4KSByZW0oMzApIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG59XG5cbi8qKiEgLS0tLS0gRGl2aWRlci0tLS0gKiovXG5cbi5ociB7XG4gICAgICAgICYtLWJsb2Qge1xuICAgICAgICAgICAgICAgIEBleHRlbmQgLmJvcmRlci1wcmltYXJ5O1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICB9XG59XG5cbi8qKiEgLS0tLS0gSGVpZ2h0LS0tLSAqKi9cbi5oLTEwMHZoIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbn1cblxuQGluY2x1ZGUgbWVkaWEobGcpIHtcbiAgICAgICAgLmgtbGctMTAwdmgge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIH1cbn1cblxuIiwiLnNwYWNlIHtcblx0cGFkZGluZy10b3A6ICRzdGFuZGFyZC1zcGFjZTtcblx0cGFkZGluZy1ib3R0b206ICRzdGFuZGFyZC1zcGFjZTtcblxuXHQmLS1tZCB7XG5cdFx0cGFkZGluZy10b3A6ICRzdGFuZGFyZC1zcGFjZSAvIDEuMTtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8gMS4xO1xuXHR9XG5cblx0Ji0tbGcge1xuXHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgKjEuNTtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlICoxLjU7XG5cdH1cblxuXHQmLS14bCB7XG5cdFx0cGFkZGluZy10b3A6ICRzdGFuZGFyZC1zcGFjZSAqMi41O1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc3RhbmRhcmQtc3BhY2UgKjIuNTtcblxuXHR9XG5cbn1cblxuLnNwYWNlLXRvcCB7XG5cdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2U7XG5cblx0Ji0tbWQge1xuXHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLyAxLjE7XG5cdH1cblxuXHQmLS1sZyB7XG5cdFx0cGFkZGluZy10b3A6ICRzdGFuZGFyZC1zcGFjZSAqMS41O1xuXHR9XG5cblx0Ji0teGwge1xuXHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgKjIuNTtcblx0fVxuXG59XG5cbi5zcGFjZS1ib3R0b20ge1xuXHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlO1xuXG5cdCYtLW1kIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8gMS4xO1xuXHR9XG5cblx0Ji0tbGcge1xuXHRcdHBhZGRpbmctYm90dG9tOiAkc3RhbmRhcmQtc3BhY2UgKjEuNTtcblx0fVxuXG5cdCYtLXhsIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlICoyLjU7XG5cdH1cbn1cblxuXG5AaW5jbHVkZSBtZWRpYU1heChsZykge1xuXHQuc3BhY2Uge1xuXHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG5cdFx0cGFkZGluZy1ib3R0b206ICRzdGFuZGFyZC1zcGFjZSAvMjtcblxuXHRcdCYtLW1kIHtcblx0XHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXHRcdH1cblxuXHRcdCYtLWxnIHtcblx0XHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXHRcdH1cblxuXHRcdCYtLXhsIHtcblx0XHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXG5cdFx0fVxuXG5cdH1cblxuXHQuc3BhY2UtdG9wIHtcblx0XHRwYWRkaW5nLXRvcDogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXG5cdFx0Ji0tbWQge1xuXHRcdFx0cGFkZGluZy10b3A6ICRzdGFuZGFyZC1zcGFjZSAvMjtcblx0XHR9XG5cblx0XHQmLS1sZyB7XG5cdFx0XHRwYWRkaW5nLXRvcDogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXHRcdH1cblxuXHRcdCYtLXhsIHtcblx0XHRcdHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG5cdFx0fVxuXG5cdH1cblxuXHQuc3BhY2UtYm90dG9tIHtcblx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXG5cdFx0Ji0tbWQge1xuXHRcdFx0cGFkZGluZy1ib3R0b206ICRzdGFuZGFyZC1zcGFjZSAvMjtcblx0XHR9XG5cblx0XHQmLS1sZyB7XG5cdFx0XHRwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlIC8yO1xuXHRcdH1cblxuXHRcdCYtLXhsIHtcblx0XHRcdHBhZGRpbmctYm90dG9tOiAkc3RhbmRhcmQtc3BhY2UgLzEuNTtcblx0XHR9XG5cblx0fVxuXG59XG5cbi8qKi0tLS0tLS0tLSBTVEFSVCBPRiBTUEFDSU5HIEhFTFBFUiBNSVhJTlMgLS0tLS0tLS0qL1xuQGluY2x1ZGUgbWFyZ2luLXBhZGRpbmctaGVscGVyO1xuXG5AaW5jbHVkZSBtZWRpYU1heChtZCkge1xuXHQubWItc20tNTAge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg1MCk7XG5cdH1cblxuXHQubWItc20tNjAge1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbSg2MCk7XG5cdH1cbn1cbiIsIi8vIERFU0NSSVBUSU9OOlxyXG4vLyBBZGQgdGhlIGNsYXNzIFwiYm94ZWQtbGF5b3V0XCIgdG8gdGhlIDxib2R5PiBlbGVtZW50LlxyXG4vKi0tLS0gQm94ZWQgTGF5b3V0IC0tLS0qL1xyXG5ib2R5LmJveGVkLWxheW91dCB7XHJcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOWZiO1xyXG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDtcclxuICAgIC5tYWluIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRib3gtbGF5b3V0LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIC4xNSk7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgICB9XHJcbiAgICAubmF2YmFyIHtcclxuICAgICAgICBtYXgtd2lkdGg6ICRib3gtbGF5b3V0LXdpZHRoO1xyXG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcclxuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcclxuICAgIH1cclxuICAgIC5mb290ZXItLWZpeGVke1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICB6LWluZGV4OiBpbml0aWFsO1xyXG5cclxuICAgIH1cclxuICAgIC5oZWlnaHQtZW11bGF0b3J7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbn0iLCJcbi8vIEJveCBsYXlvdXQgd2lkdGhcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRib3gtbGF5b3V0LXdpZHRoOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEzNjZweDtcbiIsIi8vIERFU0NSSVBUSU9OOlxyXG4vLyBBZGQgdGhlIHBhdHRlcm4gY2xhc3MgbmFtZSB0byB0aGUgPGJvZHk+IGVsZW1lbnQuIGV4YW1wbGUgXCJzd2lybC1wYXR0ZXJuXCIgLlxyXG5cclxuYm9keS5ib3hlZC1sYXlvdXQge1xyXG4gICAgJi5zd2lybC1wYXR0ZXJuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy9zd2lybC1wYXR0ZXJuLnBuZylcclxuICAgIH1cclxuICAgICYuY2lyY2xlLXBhdHRlcm4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL2NpcmNsZS1wYXR0ZXJuLnBuZylcclxuICAgIH1cclxuICAgICYueC1wYXR0ZXJuIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy94LXBhdHRlcm4ucG5nKVxyXG4gICAgfVxyXG4gICAgJi5sZWFmLXBhdHRlcm4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL2xlYWYtcGF0dGVybi5wbmcpXHJcbiAgICB9XHJcbiAgICAmLnRpYy10YWMtdG9lIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vL2ltZy9wYXR0ZXJucy90aWMtdGFjLXRvZS5wbmcpXHJcbiAgICB9XHJcbiAgICAmLmNpcmNsZXMtbGlnaHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL2NpcmNsZXMtbGlnaHQucG5nKVxyXG4gICAgfVxyXG4gICAgJi5zcGlyYXRpb24tbGlnaHQge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL3NwaXJhdGlvbi1saWdodC5wbmcpXHJcbiAgICB9XHJcbiAgICAmLnJvdW5kLXBhdHRlcm4ge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL3JvdW5kLXBhdHRlcm4ucG5nKVxyXG4gICAgfVxyXG4gICAgJi5kYXJrLWFuZ2xlcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvZGFyay1hbmdsZXMucG5nKVxyXG4gICAgfVxyXG4gICAgJi5tZW1waGlzLWNvbG9yZnVse1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL21lbXBoaXMtY29sb3JmdWwucG5nKVxyXG4gICAgfVxyXG4gICAgJi5zcGlyYXRpb24tZGFyayB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvc3BpcmF0aW9uLWRhcmsucG5nKVxyXG4gICAgfVxyXG4gICAgJi5jdXJscyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvY3VybHMucG5nKVxyXG4gICAgfVxyXG4gICAgJi5kYXJrbmVzcyB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uLy9pbWcvcGF0dGVybnMvZGFya25lc3MucG5nKVxyXG4gICAgfVxyXG4gICAgJi56aWctemFnLXdvb2wge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi8vaW1nL3BhdHRlcm5zL3ppZy16YWctd29vbC5wbmcpXHJcbiAgICB9XHJcbn0iLCIvKiohIC0tLS0tIENvbW1vbiBjb2xvcnMgKFNDU1MgZXh0ZW5kKSAtLS0tICoqL1xuJWJnLWNvbG9yLXByaW1hcnkge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcbn1cblxuJWNvbG9yLXByaW1hcnkge1xuXHRjb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG5cblxuJWJveC1zaGFkb3ctcHJpbWFyeSB7XG5cdGJveC1zaGFkb3c6IDBweCAycHggMHB4ICRjb2xvci1wcmltYXJ5O1xufVxuXG4uYm9yZGVyLXByaW1hcnkge1xuXHRib3JkZXItY29sb3I6ICRjb2xvci1wcmltYXJ5O1xufVxuXG4vKiohIC0tLS0tIHN2ZyBmaWxsIGNvbG9yIC0tLS0gKiovXG4lZmlsbC1wcmltYXJ5IHtcblx0ZmlsbDogJGNvbG9yLXByaW1hcnk7XG59XG5cbi5iZy1maWxsLXByaW1hcnkge1xuXHRAZXh0ZW5kICVmaWxsLXByaW1hcnk7XG59XG5cbi8qKiEgLS0tLS0gbGlnaHQgdGhlbWUgdGhlbWUgYmFja2dyb3VuZCAtLS0tICoqL1xuLm1haW4ge1xuXHRiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG59XG5cbi8qKiEgLS0tLS0gRGFyayB0aGVtZSBjb2xvciAtLS0tICoqL1xuI3skdGhlbWUtZGFya30ge1xuXHRjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeS0yO1xuXG5cdC5tYWluIHtcblx0XHRiYWNrZ3JvdW5kOiAkbWlkbmlnaHQ7XG5cdH1cbn1cblxuLyoqISAtLS0tLSBDb2xvciBwYWxldHRlIC0tLS0gKiovXG4uYmctY29sb3ItbWlkbmlnaHQge1xuXHRiYWNrZ3JvdW5kOiAkbWlkbmlnaHQ7XG59XG5cbi5iZy1jb2xvci1kYXJrYmx1ZSB7XG5cdGJhY2tncm91bmQ6ICRkYXJrYmx1ZTtcbn1cblxuLmJnLWNvbG9yLWRhcmtncmV5IHtcblx0YmFja2dyb3VuZDogJGRhcmstZ3JleTtcbn1cblxuLmJnLWNvbG9yLXByaW1hcnkge1xuXHRAZXh0ZW5kICViZy1jb2xvci1wcmltYXJ5O1xufVxuXG4uYmctY29sb3ItZ3JleSB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLWdyZXk7XG59XG5cbi5iZy1jb2xvci1jb3JhbCB7XG5cdGJhY2tncm91bmQtY29sb3I6ICRjb3JhbDtcblxuXHQmLmJhZGdlIHtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR9XG59XG5cbi5iZy1ncmFkaWVudC0xIHtcblx0YmFja2dyb3VuZDogJGdyYWRpZW50LTE7XG59XG5cbi5iZy1ncmFkaWVudC0yIHtcblx0YmFja2dyb3VuZDogJGdyYWRpZW50LTI7XG59XG5cbi5iZy1ncmFkaWVudC0zIHtcblx0YmFja2dyb3VuZDogJGdyYWRpZW50LTM7XG59XG5cbi5iZy1ncmFkaWVudC00IHtcblx0YmFja2dyb3VuZDogJGdyYWRpZW50LTQ7XG59XG5cbi5iZy1ncmFkaWVudC01IHtcblx0YmFja2dyb3VuZDogJGdyYWRpZW50LTU7XG59XG5cbi5iZy1ncmFkaWVudC02IHtcblx0YmFja2dyb3VuZDogJGdyYWRpZW50LTY7XG59XG5cbi5jb2xvci1wcmltYXJ5IHtcblx0QGV4dGVuZCAlY29sb3ItcHJpbWFyeTtcbn1cblxuLmNvbG9yLXdoaXRlIHtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHQjeyR0aGVtZS1kYXJrfSAmIHtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR9XG59XG5cbi5jb2xvci1saWdodC1wcmltYXJ5IHtcblx0Y29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5ICFpbXBvcnRhbnQ7XG59XG5cbi5jb2xvci1saWdodC1zZWNvbmRhcnkge1xuXHRjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeTtcblxuXHQjeyR0aGVtZS1kYXJrfSAmIHtcblx0XHRjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeTtcblx0fVxuXG59XG5cbi5jb2xvci1saWdodC1zZWNvbmRhcnktMiB7XG5cdGNvbG9yOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG5cblx0I3skdGhlbWUtZGFya30gJiB7XG5cdFx0Y29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcblx0fVxuXG59XG5cbi5pY29uLWNvbG9yLXdoaXRlIHtcblx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHQqIHtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR9XG59XG5cbi8qKiEgLS0tLS0gVHlwb2dyYXBoeSBDb2xvciBTZXR0aW5ncyAtLS0tICoqL1xuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0Y29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xufVxuXG5oMSxcbmgyLFxuaDMge1xuXG5cdC5iZy1jb2xvci1wcmltYXJ5ICYsXG5cdFtjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSAmIHtcblx0XHRjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG5cdH1cbn1cblxuI3skdGhlbWUtZGFya30sXG4uYmctLWRhcmssXG4uYmctY29sb3ItZGFya2JsdWUsXG4uYmctY29sb3ItZGFya2dyZXkge1xuXG5cdGgxLFxuXHRoMixcblx0aDMsXG5cdGg0IHtcblx0XHRjb2xvcjogJGNvbG9yLXdoaXRlO1xuXHR9XG59XG5cbnAge1xuXHRjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeTtcblxuXHQjeyR0aGVtZS1kYXJrfSAmLFxuXHQuYmctLWRhcmsgJixcblx0LmJnLWNvbG9yLWRhcmtncmV5ICYsXG5cdC5iZy1jb2xvci1kYXJrYmx1ZSAmIHtcblx0XHRjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeS0yO1xuXHR9XG5cblx0LmJnLWNvbG9yLXByaW1hcnkgJixcblx0W2NsYXNzKj1cImJnLWdyYWRpZW50XCJdICYge1xuXHRcdGNvbG9yOiAkaXJvbjtcblx0fVxuXG59XG5cbi5sZWFkIHtcblx0Y29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcblxuXHQuYmctY29sb3ItcHJpbWFyeSAmLFxuXHRbY2xhc3MqPVwiYmctZ3JhZGllbnRcIl0gJiB7XG5cdFx0Y29sb3I6ICRsaWdodC1ibHVlLWdyZXk7XG5cdH1cbn1cblxuLnR5cGUtLWZpbmUtcHJpbnQge1xuXG5cdC5iZy1jb2xvci1wcmltYXJ5ICYsXG5cdFtjbGFzcyo9XCJiZy1ncmFkaWVudFwiXSAmIHtcblx0XHRjb2xvcjogJGlyb247XG5cdH1cbn1cblxuLmJsb2NrcXVvdGUge1xuXG5cdC5iZy0tZGFyayAmLFxuXHQuYmctY29sb3ItZGFya2dyZXkgJixcblx0LmJnLWNvbG9yLWRhcmtibHVlICYge1xuXHRcdGNvbG9yOiAkbGlnaHQtYmx1ZS1ncmV5O1xuXG5cdFx0aDQsXG5cdFx0aDUge1xuXHRcdFx0Y29sb3I6ICRsaWdodC1ibHVlLWdyZXk7XG5cdFx0fVxuXHR9XG5cbn1cbiIsIi8vIE1BUktVUDpcbi8vXG4vLyA8YSBjbGFzcz1cImJ0blwiIGhyZWY9XCIjXCI+XG4vLyAgIDxzcGFuIGNsYXNzPVwiYnRuX190ZXh0XCI+QnV0dG9uIFRpdGxlPC9zcGFuPlxuLy8gPC9hPlxuLy9cbi8vIE1PRElGSUVSUzpcbi8vIFxuLy8gYnRuLS1zbSAtIHNtYWxsZXIgc2l6ZSBidXR0b25cbi8vIGJ0bi0tdHJhbnNwYXJlbnQgLSBmb3IgdGhlIHRyYW5zcGFyZW50IGJ1dHRvbiB3aGljaCBhbHNvIHJlbW92ZSBwYWRkaW5nIGluc2lkZSB0aGUgYnV0dG9uXG4vLyBidG4tLWJnLXByaW1hcnkgLSB3ZSBoYXZlIHVzZWQgdGhlIHN5bnRheCBwcmltYXJ5IGFzIGEgdGhlbWUgZGVmYXVsdCBzdGF0ZS4gU3VjaCBhcyBvdXIgdGhlbWUgZGVmYXVsdCBjb2xvciBpcyBibHVlIHdoaWNoIG1lYW5zIGJ0bi0tYmctcHJpbWFyeSA9IGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yIGlzIGJsdWUuIFRoZSBjb2xvcnMgYXJlIGZ1bGx5IHVwZGF0ZWFibGUgZnJvbSB0aGUgdmFyaWFibGUuc2NzcyBmaWxlLlxuXG4vLyBidG4tLWJnLXdoaXRlIC0gd2hpdGUgYmFja2dyb3VuZCBmb3IgYnV0dG9uLiB3aWxsIHdvcmsgd2l0aCBkYXJrIHRleHQgY29sb3IuIHN1Y2ggYXM6IGJ0bi0tY29sb3ItZGFya1xuLy8gYnRuLS1iZy1jb3JhbCAtIGNvcmFsIGJhY2tncm91bmQgZm9yIGJ1dHRvbi4gd2lsbCB3b3JrIHdpdGggZGFyayB0ZXh0IGNvbG9yLiBzdWNoIGFzOiBidG4tLWNvbG9yLWRhcmtcbi8vIGJ0bi0tY29sb3ItcHJpbWFyeSAtIHNpbWlsYXIgdG8gYnRuLS1iZy1wcmltYXJ5IGJ1dCBpdCB3aWxsIGNoYW5nZSB0aGUgdGV4dC8gaWNvbiBjb2xvci5cbi8vIGJ0bi0tY29sb3ItZGFyayAtIGRhcmsgY29sb3IgZm9yIHRleHQvaWNvblxuLy8gYnRuLS1jb2xvci13aGl0ZSAgLSB3aGl0ZSBjb2xvciBmb3IgdGV4dC9pY29uLiB3aWxsIHdvcmsgd2l0aCBkYXJrIGJnIGNvbG9yLiBzdWNoIGFzOiBidG4tLWJnLXByaW1hcnlcbi8vIGJ0bi0tY29sb3ItZ3JleSAtIGdyZXkgY29sb3IgZm9yIHRleHQvaWNvblxuLy8gYnRuLS1jb2xvci1jb3JhbCAtIGNvcmFsIGNvbG9yIGZvciB0ZXh0L2ljb25cbi8vIGJ0bi0tb3V0bGluZSAtIEJvcmRlciBhbGwgYXJvdW5kIHRoZSBidXR0b25cbi8vIGJ0bi0tb3V0bGluZS10aGljayAtIHRoaWNrZXIgYm9yZGVyIHRoYW4gXCJidG4tLW91dGxpbmVcIiBcbi8vIGJ0bi0tdW5kZXJsaW5lIC0gYm90ZGVyIGJvdHRvbVxuLy8gYnRuLS1hcnJvdy1hZnRlciAtIGFycm93IHdpdGggdGhlIGJ1dHRvbi4gWW91IGNhbiBhbHNvIGNyZWF0ZSB0aGlzIHN0eWxlIHlvdXIgb3duIHdheSB1c2luZyBpY29uIGZvbnRzLiBXZSBjcmVhdGUgdGhpcyB3YXkgYmVjYXVzZSB0aGUgYXJyb3cgaWNvbiB3ZSBoYXZlIHVzZWQgZm9yIGJ1dHRvbiBpcyBub3QgYXZhaWxhYmxlIGluIHRoZSBpY29uIGZvbnQgbGlzdFxuXG4vLyBIT1ZFUiBFRkZFQ1QgQ0xBU1NFUzpcbi8vIFxuLy8gYnRuLTNkLWhvdmVyXG4vLyBidG4tc3BsYXNoLWhvdmVyXG4vLyBidG4tYm9yZGVyLWhvdmVyXG4vLyBidG4tdGV4dC1ob3ZlclxuXG4vLyBidG4tbm8tZm9jdXNlZCAtIHJlbW92ZSBmb2N1c2VkIGNvbXBsZXRlbHlcblxuLmJ0biB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBmb250LXNpemU6IHJlbSgxNik7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHBhZGRpbmc6IHJlbSgxNikgcmVtKDM4KTtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gICAgQGV4dGVuZCAucm91bmRlZC1kZWZhdWx0O1xufVxuXG4vKiohIC0tLS0tIGJ1dHRvbiBzaXplIC0tLS0gKiovXG4uYnRuLS1zbSB7XG4gICAgcGFkZGluZzogcmVtKDEzKSByZW0oMjApO1xuICAgIGZvbnQtc2l6ZTogcmVtKDEzKTtcblxufVxuXG4vKiohIC0tLS0tIGJ1dHRvbiBiYWNrZ3JvdW5kIGNvbG9yIC0tLS0gKiovXG5cbi5idG4tLXRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBpbmhlcml0O1xuXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgfVxufVxuXG4uYnRuKy5idG4tLXRyYW5zcGFyZW50IHtcbiAgICBtYXJnaW4tI3skbGVmdH06IHJlbSgyNSk7XG59XG5cbi5idG4tLWJnLXByaW1hcnkge1xuICAgIEBleHRlbmQgJWJnLWNvbG9yLXByaW1hcnk7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbn1cblxuLmJ0bi0tYmctd2hpdGUge1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgIH1cbn1cblxuLmJ0bi0tYmctZ3JleSB7XG4gICAgYmFja2dyb3VuZDogJHBhbGUtZ3JleTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kICViZy1jb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cbi5idG4tLWJnLWNvcmFsIHtcbiAgICBiYWNrZ3JvdW5kOiAkY29yYWw7XG4gICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG4gICAgfVxuXG59XG5cbi5idG4tLWJnLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZDogJGJyaWdodC15ZWxsb3c7XG4gICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtcHJpbWFyeSAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG4vKiohIC0tLS0tIGJ1dHRvbiB0ZXh0IGNvbG9yIC0tLS0gKiovXG4uYnRuLS1jb2xvci1wcmltYXJ5IHtcbiAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgIEBleHRlbmQgLmJvcmRlci1wcmltYXJ5O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBleHRlbmQgJWNvbG9yLXByaW1hcnk7XG4gICAgfVxuXG4gICAgJi5idG4tdGV4dC1ob3ZlciB7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogLjg7XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLmJ0bi0tY29sb3ItZGFyayB7XG4gICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG5cbiAgICAmLmJ0bi10ZXh0LWhvdmVyIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgQGV4dGVuZCAuYm9yZGVyLXByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4tLWNvbG9yLXdoaXRlIHtcbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLXdoaXRlO1xufVxuXG4uYnRuLS1jb2xvci1ncmV5IHtcbiAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeS0yO1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeS0yO1xufVxuXG4uYnRuLS1jb2xvci1jb3JhbCB7XG4gICAgY29sb3I6ICRjb3JhbDtcbiAgICBib3JkZXItY29sb3I6ICRjb3JhbDtcbn1cblxuLyoqISAtLS0tLSBidXR0b24gb3V0bGluZSAoYm9yZGVyIGFsbCBhcm91bmQgdGhlIGJ1dHRvbikgc3R5bGUgLS0tLSAqKi9cbi5idG4tLW91dGxpbmUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ibHVlLWdyZXk7XG4gICAgQGV4dGVuZCAuY29sb3ItbGlnaHQtc2Vjb25kYXJ5O1xuXG4gICAgJi5idG4tLWNvbG9yLXByaW1hcnkge1xuICAgICAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgICAgICAvLyAmOmhvdmVyIHtcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIC8vIH1cblxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBAZXh0ZW5kICViZy1jb2xvci1wcmltYXJ5O1xuICAgICAgICBAZXh0ZW5kIC5ib3JkZXItcHJpbWFyeTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZSFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uYnRuLS1vdXRsaW5lLXRoaWNrIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbGlnaHQtYmx1ZS1ncmV5O1xuICAgIEBleHRlbmQgLmNvbG9yLWxpZ2h0LXNlY29uZGFyeTtcblxuICAgICYuYnRuLS1jb2xvci1wcmltYXJ5IHtcbiAgICAgICAgQGV4dGVuZCAlY29sb3ItcHJpbWFyeTtcblxuICAgICAgICAvLyAmOmhvdmVyIHtcbiAgICAgICAgLy8gICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIC8vIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgQGV4dGVuZCAlYmctY29sb3ItcHJpbWFyeTtcbiAgICAgICAgQGV4dGVuZCAuYm9yZGVyLXByaW1hcnk7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGUhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyoqISAtLS0tLSBidXR0b24gYm9yZGVyIChib3JkZXIgYm90dG9tKSBzdHlsZSAtLS0tICoqL1xuLmJ0bi0tdW5kZXJsaW5lIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGZvbnQtc2l6ZTogcmVtKDE3KTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogaW5oZXJpdDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgIH1cbn1cblxuLmJ0bisuYnRuLS11bmRlcmxpbmUge1xuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIG1hcmdpbi0jeyRsZWZ0fTogcmVtKDI1KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyoqISAtLS0tLSBidXR0b24gYXJyb3cgc3R5bGUgLS0tLSAqKi9cbi5idG4tLWFycm93LWFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RhaWwtcmlnaHQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xuXG4gICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90YWlsLWxlZnQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIGxlZnQ7XG4gICAgfVxuXG5cbiAgICAmLmJ0bi0tY29sb3Itd2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RhaWwtcmlnaHQtbGlnaHQuc3ZnKSBuby1yZXBlYXQgY2VudGVyIHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL3RhaWwtbGVmdC1saWdodC5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgbGVmdDtcbiAgICAgICAgfVxuXG5cbiAgICB9XG59XG5cbi8qKiEgLS0tLS0gYnV0dG9uIGJhZGdlIChjaGVjayBwcmljaW5nIHRhYiBvbiBob21lIHYyKSAtLS0tICoqL1xuLmJ0biB7XG4gICAgLmJhZGdlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTtcblxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyoqISAtLS0tLSBidXR0b24gZ3JvdXAgKHdoZW4gbXVsdGlwbGUgYnV0dG9uIGluIGEgcm93KSBzdHlsZSByZXNldC0tLS0gKiovXG4uYnV0dG9uLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBtZWRpYU1heChzbSkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtKDYpIDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4rLmJ0bjpsYXN0LWNoaWxkIHtcblxuICAgIEBpbmNsdWRlIG1lZGlhTWF4KHNtKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbSgxMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoc20pIHtcbiAgICAgICAgbWFyZ2luLSN7JGxlZnR9OiByZW0oMTApO1xuXG4gICAgfVxuXG4gICAgLnByaWNpbmctdGFiICYge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbn1cblxuLyoqISAtLS0tLSBidXR0b24gZm9jdXMgZGlzYWJsZSAtLS0tICoqL1xuLmJ0bi1uby1mb2N1c2VkIHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICB9XG59XG5cbi8qKiEgLS0tLS0gYnV0dG9uIGhvdmVyIHN0eWxlIC0tLS0gKiovXG5cbi5idG4tM2QtaG92ZXIge1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zcHgpO1xuICAgICAgICBAZXh0ZW5kIC5ib3gtc2hhZG93LTI7XG4gICAgfVxuXG59XG5cbi5idG4tc3BsYXNoLWhvdmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgcG9zLWFicygtNDBweCwgYXV0bywgYXV0bywgLTEwMHB4KTtcbiAgICAgICAgaGVpZ2h0OiAyMjBweDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byAkcmlnaHQsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4wMykgMSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42KSAzMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgNTAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDcwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSA3MSUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJSk7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvcGFjaXR5OiAuMTtcbiAgICAgICAgdHJhbnNmb3JtOiBza2V3KC0xMmRlZywgMGRlZyk7XG4gICAgICAgIHRyYW5zaXRpb246IC41cyBlYXNlIDBzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2tldygxMmRlZywgMGRlZyk7XG5cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5idG4tLWJnLXdoaXRlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvICRyaWdodCwgcmdiYSgkc2xhdGUsIDApIDAlLCByZ2JhKCRzbGF0ZSwgMC4wMykgMSUsIHJnYmEoJHNsYXRlLCAwLjQpIDMwJSwgcmdiYSgkc2xhdGUsIDAuODUpIDUwJSwgcmdiYSgkc2xhdGUsIDAuNzUpIDcwJSwgcmdiYSgkc2xhdGUsIDAuNzUpIDcxJSwgcmdiYSgkc2xhdGUsIDApIDEwMCUpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgI3skbGVmdH06IDEwMCU7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogLjVzIGVhc2UgLjJzO1xuXG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLmJ0bi1ib3JkZXItaG92ZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgcG9zLWFicyhhdXRvLCBhdXRvLCAtMnB4LCAwcHgpO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xuICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgfVxuXG4gICAgJi5idG4tLWNvbG9yLXdoaXRlIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgQGV4dGVuZCAlYmctY29sb3ItcHJpbWFyeTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5idG4tdGV4dC1ob3ZlciB7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIEBleHRlbmQgJWNvbG9yLXByaW1hcnk7XG4gICAgICAgIEBleHRlbmQgLmJvcmRlci1wcmltYXJ5O1xuXG4gICAgfVxuXG4gICAgJi5idG4tLWNvbG9yLXdoaXRlIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRjb2xvci13aGl0ZSwgJGFtb3VudDogMTUpIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogZGFya2VuKCRjb2xvci13aGl0ZSwgJGFtb3VudDogMjApIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvLyBNQVJLVVA6XG4vLyBcbi8vIDxmb3JtIGNsYXNzPVwiZm9ybSBmb3JtLS1zbVwiPlxuLy8gICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJvdyBtYi0yMFwiPlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBjb2wtc20tMTIgY29sLW1kLTZcIj5cbi8vICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImxhYmVsLWNvbnRyb2wgbWItMTBcIiBmb3I9XCJuYW1lXCI+WW91ciBOYW1lKjwvbGFiZWw+XG4vLyAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwibmFtZVwiIHBsYWNlaG9sZGVyPVwiaS5lLiBKb2huIERvZVwiIHJlcXVpcmVkPlxuLy8gICAgICAgICA8L2Rpdj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLXNtLTEyIGNvbC1tZC02XCI+XG4vLyAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJsYWJlbC1jb250cm9sIG1iLTEwXCIgZm9yPVwicGhvbmVcIj5Zb3VyIFBob25lIE51bWJlcjwvbGFiZWw+XG4vLyAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwicGhvbmVcIiBwbGFjZWhvbGRlcj1cIisoMTIzKTEyMyA0NTZcIj5cbi8vICAgICAgICAgPC9kaXY+XG4vLyAgICAgPC9kaXY+XG4vLyAgICAgPGRpdiBjbGFzcz1cImZvcm0tcm93IG1iLTIwXCI+XG4vLyAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwIGNvbC1zbS0xMlwiPlxuLy8gICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwibGFiZWwtY29udHJvbCBtYi0xMFwiIGZvcj1cIm1lc3NhZ2VcIj5Zb3VyIE1lc3NhZ2U8L2xhYmVsPlxuLy8gICAgICAgICAgICAgPHRleHRhcmVhIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJtZXNzYWdlXCIgcm93cz1cIjRcIiBwbGFjZWhvbGRlcj1cImkuZS4gVGhlIGRlc2lnbiBpcy4uLi5cIiByZXF1aXJlZD48L3RleHRhcmVhPlxuLy8gICAgICAgICA8L2Rpdj5cbi8vICAgICA8L2Rpdj5cbi8vICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1yb3dcIj5cbi8vICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgY29sLXNtLTEyIHRleHQtY2VudGVyXCI+XG4vLyAgICAgICAgICAgICA8YnV0dG9uIHR5cGU9XCJzdWJtaXRcIiBjbGFzcz1cImJ0biBidG4tLWJnLXByaW1hcnkgYnRuLXNwbGFzaC1ob3ZlciBidG4tM2QtaG92ZXJcIj5cbi8vICAgICAgICAgICAgICAgICA8c3BhbmNsYXNzPVwiYnRuX190ZXh0XCI+U3VibWl0PC9zcGFuPlxuLy8gICAgICAgICAgICAgPC9idXR0b24+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gPC9mb3JtPlxuLy8gXG4vLyBNT0RJRklFUlM6IGZvcm0tLXNtIC0gdG8gcmVkdWNlIHRoZSBpbnB1dCBmaWVsZCBoZWlnaHRcblxuXG4uZm9ybSB7XG4gICAgJi1yb3d7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICB9XG4gICAgLmZvcm0tcm93Pi5jb2wsIC5mb3JtLXJvdz5bY2xhc3MqPVwiY29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICB9XG4gICAgJi1jb250cm9sIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG4gICAgICAgIHBhZGRpbmc6IHJlbSgwKSByZW0oMjUpO1xuICAgICAgICBmb250LXNpemU6IHJlbSgxOCk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkZGQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IHJlbSg3NSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oNzUpO1xuICAgICAgICBAZXh0ZW5kIC5yb3VuZGVkLWRlZmF1bHQ7XG5cbiAgICAgICAgLmZvcm0tLXNtICYge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg1NSk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMXB4ICNkZGQ7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhLmZvcm0tY29udHJvbHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5sYWJlbC1jb250cm9se1xuICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDEzKVxuXG4gICAgfVxuXG4gICAgLmJ0biB7XG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgfVxuICAgIFxufVxuXG4vKiohIC0tLS0tIE5ld3NsZXR0ZXIgU3Vic2NyaXB0aW9uIGZvcm0tLS0tICoqL1xuLmZvcm0tc3Vic2NyaXB0aW9uIHtcbiAgICAuZm9ybS1jb250cm9sIHtcbiAgICAgICAgQGV4dGVuZCAuYm94LXNoYWRvdy0xO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIEBleHRlbmQgLmJveC1zaGFkb3ctMTtcbiAgICB9XG5cbiAgICB9XG5cbiAgICAuYnRuIHtcbiAgICAgICAgaGVpZ2h0OiByZW0oNzUpO1xuICAgICAgICBib3JkZXItI3skbGVmdH06IDFweCBzb2xpZCAkdmVyeS1saWdodC1ibHVlO1xuICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKDAsIDAsIDAsIGF1dG8pO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heChzbSkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtKDE3KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtKDE3KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuZm9ybS0tc217XG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNTUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMTQpO1xuICAgICAgICB9XG5cbiAgICB9XG59IiwiLy8gREVTQ1JJUFRJT046XG4vLyBcbi8vIEFuIGVhc3kgd2F5IHRvIGNyZWF0ZSAnY2FyZCcgbGlrZSBjb250ZW50XG4vLyB0aGF0IGFwcGVhcnMgaW5zaWRlIGEgcGFkZGVkIGJveC5cbi8vXG4vL1xuLy8gTUFSS1VQOlxuLy9cbi8vIDxkaXYgY2xhc3M9XCJjYXJkXCI+XG4vLyAgIC4uLlxuLy8gPC9kaXY+XG4vL1xuLy8gTU9ESUZJRVJTOlxuLy8gXG4vLyBjYXJkLS1mb2N1c2VkIC0gZm9yIGV4YW1wbGUgcGxlYXNlIGNoZWNrIHByaWNpbmcgdGFibGUgY2FyZCB0aGF0IGlzIHdpdGggcHJpbWFyeSBiZyBjb2xvci5cbi8vIGNhcmQtLW91dGxpbmUgLSBib3JkZXIgYWxsIGFyb3VuZCB0aGUgY2FyZFxuXG4uY2FyZCB7XG5cdGJveC1zaGFkb3c6IDAgMnB4IDRweCAwIHJnYmEoNDQsIDQ2LCA0OCwgMC4wOCk7XG5cblx0LmJvcmRlci1ib3R0b20tbGlnaHQge1xuXHRcdCN7JHRoZW1lLWRhcmt9ICYge1xuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR2ZXJ5LWxpZ2h0LWJsdWU7XG5cdFx0fVxuXHR9XG5cblx0Ji1mb290ZXIge1xuXHRcdGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblx0XHRib3JkZXItY29sb3I6ICR2ZXJ5LWxpZ2h0LWJsdWU7XG5cdH1cblxuXHQuYXZhdGFyIHtcblx0XHRtYXgtd2lkdGg6IHJlbSgzNik7XG5cblx0XHRpbWcge1xuXHRcdFx0Ym9yZGVyLXJhZGl1czogMTAwcHg7XG5cdFx0fVxuXHR9XG5cblx0LmJsb2NrcXVvdGUge1xuXHRcdHAge1xuXHRcdFx0Y29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcblx0XHR9XG5cdH1cbn1cblxuLyoqISAtLS0tLSBDYXJkIEZvY3VzZWQgKGZvciBleGFtcGxlIHNlZSBwcmljaW5nIGFyZWEpIC0tLS0gKiovXG4uY2FyZC0tZm9jdXNlZCB7XG5cdEBleHRlbmQgJWJnLWNvbG9yLXByaW1hcnk7XG5cblx0KiB7XG5cdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblxuXHRcdCN7JHRoZW1lLWRhcmt9ICYge1xuXHRcdFx0Y29sb3I6ICRjb2xvci13aGl0ZTtcblx0XHR9XG5cblx0fVxuXG5cdC5ib3JkZXItYm90dG9tLWxpZ2h0IHtcblx0XHRib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG5cblx0XHQjeyR0aGVtZS1kYXJrfSAmIHtcblx0XHRcdGJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTtcblx0XHR9XG5cdH1cblxuXHQuYnRuIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGUgIWltcG9ydGFudDtcblxuXHRcdCZfX3RleHQge1xuXHRcdFx0QGV4dGVuZCAlY29sb3ItcHJpbWFyeTtcblx0XHR9XG5cdH1cblxuXHRwIHtcblx0XHRjb2xvcjogJHZlcnktbGlnaHQtYmx1ZTtcblx0fVxuXG5cdC5pY29uLXJvdW5kZWQge1xuXHRcdGJhY2tncm91bmQ6IHJnYmEoJGNvbG9yLXdoaXRlLCAuMik7XG5cblx0XHQuaWNvbiB7XG5cdFx0XHRjb2xvcjogJGNvbG9yLXdoaXRlICFpbXBvcnRhbnQ7XG5cdFx0fVxuXHR9XG59XG5cbi8qKiEgLS0tLS0gQ2FyZCBvdXRsaW5lIChmb3IgZXhhbXBsZSBzZWUgeFBpZGVyIDIuMCAtIENhaXJvIGhlcm8gYXJlYSkgLS0tLSAqKi9cbi5jYXJkLS1vdXRsaW5lIHtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJveC1zaGFkb3c6IDAgMCAwIDNweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpO1xuXG5cdHNwYW4ge1xuXHRcdGJvcmRlci1ib3R0b206IDJweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTQpO1xuXHR9XG5cblx0aSB7XG5cdFx0Zm9udC1zaXplOiByZW0oNTUpO1xuXHR9XG5cblx0Jjpob3Zlcixcblx0Jjpmb2N1cyB7XG5cdFx0QGV4dGVuZCAlYmctY29sb3ItcHJpbWFyeTtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXG5cdH1cbn1cblxuLmNhcmRfX3ZhbHVlLS1mb2N1c2VkIHtcblx0ZGlzcGxheTogbm9uZTtcbn0iLCIvLyBNQVJLVVA6XG4vLyBcbi8vIDx1bCBjbGFzcz1cInNvY2lhbC1saXN0cyBkLWZsZXhcIj5cbi8vICAgICA8bGk+PGEgaHJlZj1cIiNcIj48aSBjbGFzcz1cImZhIGZhLWZhY2Vib29rXCI+PC9pPjwvYT48L2xpPlxuLy8gICAgIDxsaT48YSBocmVmPVwiI1wiPjxpIGNsYXNzPVwiZmEgZmEtdHdpdHRlclwiPjwvaT48L2E+PC9saT5cbi8vICAgICA8bGk+PGEgaHJlZj1cIiNcIj48aSBjbGFzcz1cImZhIGZhLWRyaWJiYmxlXCI+PC9pPjwvYT48L2xpPlxuLy8gPC91bD5cblxuLnNvY2lhbC1saXN0cyB7XG4gICAgbGkge1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE0KTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDMwKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMzApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzMCk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzbGF0ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgICAgIEBleHRlbmQgJWJnLWNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgbWFyZ2luLSN7JHJpZ2h0fTogcmVtKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIi8vIE1BUktVUDpcbi8vIFxuLy8gPGRpdiBjbGFzcz1cImxhbmctc2VsZWN0b3IgbXItMzAgcG9zaXRpb24tcmVsYXRpdmVcIj5cbi8vICAgPGJ1dHRvbiBjbGFzcz1cImxhbmctc2VsZWN0b3JfX2J1dHRvblwiIHR5cGU9XCJidXR0b25cIj5cbi8vICAgICAgIDxpbWcgc3JjPVwiaW1nL2ZsYWctdXNhLnBuZ1wiIGFsdD1cIlVuaXRlZCBTdGF0ZXNcIiBjbGFzcz1cImZsYWctaW1hZ2VcIj5cbi8vICAgICAgIDxzcGFuPkVuZ2xpc2g8L3NwYW4+XG4vLyAgICAgICA8aSBjbGFzcz1cImZhIGZhLWFuZ2xlLXVwXCI+PC9pPlxuLy8gICA8L2J1dHRvbj5cblxuLy8gICA8dWwgY2xhc3M9XCJsYW5nLWRyb3Bkb3duIG1iLTBcIj5cbi8vICAgICAgIDxsaT5cbi8vICAgICAgICAgICA8YSBjbGFzcz1cImxhbmctZHJvcGRvd25fX2l0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIGhyZWY9XCIjXCI+PGltZyBzcmM9XCJpbWcvZmxhZy11c2EucG5nXCIgYWx0PVwiVW5pdGVkIFN0YXRlc1wiIGNsYXNzPVwiZmxhZy1pbWFnZSBtci0xMFwiPkVuZ2xpc2g8L2E+XG4vLyAgICAgICA8L2xpPlxuLy8gICAgICAgPGxpPlxuLy8gICAgICAgICAgIDxhIGNsYXNzPVwibGFuZy1kcm9wZG93bl9faXRlbSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCIgaHJlZj1cIiNcIj48aW1nIHNyYz1cImltZy9mbGFnLXNwYWluLnBuZ1wiIGFsdD1cIlVuaXRlZCBTdGF0ZXNcIiBjbGFzcz1cImZsYWctaW1hZ2UgbXItMTBcIj5TcGFuaXNoPC9hPlxuLy8gICAgICAgPC9saT5cbi8vICAgICAgIDxsaT5cbi8vICAgICAgICAgICA8YSBjbGFzcz1cImxhbmctZHJvcGRvd25fX2l0ZW0gZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiIGhyZWY9XCIjXCI+PGltZyBzcmM9XCJpbWcvZmxhZy1mcmFuY2UucG5nXCIgYWx0PVwiVW5pdGVkIFN0YXRlc1wiIGNsYXNzPVwiZmxhZy1pbWFnZSBtci0xMFwiPkZyYW5jZTwvYT5cbi8vICAgICAgIDwvbGk+XG4vLyAgICAgICA8bGk+XG4vLyAgICAgICAgICAgPGEgY2xhc3M9XCJsYW5nLWRyb3Bkb3duX19pdGVtIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIiBocmVmPVwiI1wiPjxpbWcgc3JjPVwiaW1nL2ZsYWctYmFuZ2xhZGVzaC5wbmdcIiBhbHQ9XCJVbml0ZWQgU3RhdGVzXCIgY2xhc3M9XCJmbGFnLWltYWdlIG1yLTEwXCI+QmVuZ2FsaTwvYT5cbi8vICAgICAgIDwvbGk+XG4vLyAgIDwvdWw+XG4vLyA8L2Rpdj5cblxuLmxhbmctc2VsZWN0b3Ige1xuICAmX19idXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1zaXplOiByZW0oMTQpO1xuXG4gICAgLmZsYWctaW1hZ2Uge1xuICAgICAgbWFyZ2luLSN7JHJpZ2h0fTogcmVtKDEwKTtcbiAgICAgIG1heC1oZWlnaHQ6IHJlbSgyMCk7XG4gICAgfVxuXG4gICAgc3BhbiB7XG4gICAgICBtYXJnaW4tI3skcmlnaHR9OiByZW0oNSk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnk7XG4gICAgICAjeyR0aGVtZS1kYXJrfSAme1xuICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeS0yO1xuICAgICAgfVxuICAgIH1cbiAgICBpe1xuICAgICAgI3skdGhlbWUtZGFya30gJntcbiAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcbiAgICAgIH1cblxuICAgIH1cbiAgfVxuICAvKiohIC0tLS0tIGxhbmd1YWdlIHNlbGN0b3IgZHJvcGRvd24tLS0tICoqL1xuICAubGFuZy1kcm9wZG93biB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IHJlbSgxMCk7XG4gICAgbWFyZ2luOiAwO1xuICAgIEBpbmNsdWRlIHBvcy1hYnMoYXV0bywgYXV0bywgNDBweCwgMCk7XG4gICAgQGV4dGVuZCAuYm94LXNoYWRvdy0yO1xuICAgIEBleHRlbmQgLnJvdW5kZWQtZGVmYXVsdDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiByZW0oMjAwKTtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBwb3MtYWJzKGF1dG8sIGF1dG8sIC0xMHB4LCAyMHB4KTtcbiAgICAgIEBpbmNsdWRlIGFycm93KGRvd24sIDEwLCAjZmZmKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYShtZCkge1xuICAgICAgQGluY2x1ZGUgcG9zLWFicyhhdXRvLCBhdXRvLCA1MHB4LCAwKTtcblxuICAgIH1cblxuICAgICZfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogcmVtKDEyKTtcbiAgICAgIEBleHRlbmQgLnJvdW5kZWQtZGVmYXVsdDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBmb250LXNpemU6IHJlbSgxNCk7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIEBleHRlbmQgJWNvbG9yLXByaW1hcnk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqISAtLS0tLSBJY29uIERvdHRlZC0tLS0gKiovXG4vLyBNQVJLVVA6XG4vLyA8c3BhbiBjbGFzcz1cImljb24tZG90dGVkIHBvc2l0aW9uLXJlbGF0aXZlXCI+XG4vLyA8aSBjbGFzcz1cImljb24gaWNvbi1waW4tMlwiPjwvaT5cbi8vIDwvc3Bhbj5cbi5pY29uLWRvdHRlZCB7XG4gICAgYmFja2dyb3VuZDogJHNsYXRlO1xuICAgIHdpZHRoOiByZW0oOTgpO1xuICAgIGhlaWdodDogcmVtKDk4KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgQGluY2x1ZGUgY2VudGVyZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybCguLi9pY29ucy9vdmFsLWRvdHRlZC5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiByZW0oMTE0KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMTE0KTtcbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDQwKTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSg5OCk7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBpbmZpbml0ZS1zcGlubmluZyA1cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qLS0tLS0tLS0tLSBzcGlubmluZyBBbmltYXRpb24gLS0tLS0tLS0tLSovXG5cbkBrZXlmcmFtZXMgaW5maW5pdGUtc3Bpbm5pbmcge1xuICAgIDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDBkZWcpO1xuXG4gICAgICAgIEBpbmNsdWRlIHJ0bCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpIHJvdGF0ZSgzNjBkZWcpO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgcm90YXRlKDM2MGRlZyk7XG5cbiAgICAgICAgQGluY2x1ZGUgcnRsIHtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSkgcm90YXRlKDBkZWcpO1xuXG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLyoqISAtLS0tLSBJY29uIFJvdW5kZWQtLS0tICoqL1xuLy8gTUFSS1VQOlxuLy8gPHNwYW4gY2xhc3M9XCJpY29uLXJvdW5kZWQgcG9zaXRpb24tcmVsYXRpdmVcIj5cbi8vIDxpIGNsYXNzPVwiaWNvbiBpY29uLXBpbi0yXCI+PC9pPlxuLy8gPC9zcGFuPlxuXG4vLyBNT0RJRklFUjpcbi8vIGljb24tcm91bmRlZC0tbGcgOiBMYXJnZXIgaWNvblxuLmljb24tcm91bmRlZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgkY29sb3I6ICRjb2xvci1wcmltYXJ5LCAkYWxwaGE6IC4wOCk7XG4gICAgd2lkdGg6IHJlbSg5OCk7XG4gICAgaGVpZ2h0OiByZW0oOTgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICYtLWxnIHtcbiAgICAgICAgd2lkdGg6IHJlbSgxMTApO1xuICAgICAgICBoZWlnaHQ6IHJlbSgxMTApO1xuXG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbSg0MCk7XG4gICAgICAgIEBleHRlbmQgJWNvbG9yLXByaW1hcnk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oOTgpO1xuICAgIH1cblxuICAgICYuaWNvbi1yb3VuZGVkLS1sZyB7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDQyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTEwKTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ucmF0aW5nX19zdGFyIHtcbiAgICBpIHtcbiAgICAgICAgY29sb3I6ICNmNWIxMjM7XG4gICAgICAgIG9wYWNpdHk6IC40MztcblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICB9XG59XG5cblxuLyoqISAtLS0tLSBNZWRpYSBQbGF5ZXIgSWNvbiAtLS0tICoqL1xuXG4vLyBNQVJLVVA6XG4vLyA8c3BhbiBjbGFzcz1cIm1lZGlhLXBsYXllci1pY29uIG1lZGlhLXBsYXllci1pY29uIG1lZGlhLXBsYXllci1pY29uLS1zbSBtZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5XCI+XG4vLyA8aSBjbGFzcz1cImljb24gaWNvbi10cmlhbmdsZS1yaWdodC0xN1wiPjwvaT4gXG4vLyA8L3NwYW4+XG5cbi8vIE1PRElGSUVSUzpcbi8vIC5tZWRpYS1wbGF5ZXItaWNvbi0tbGcgIC0gZm9yIExhcmdlciBpY29uXG4vLyAubWVkaWEtcGxheWVyLWljb24tLW1kIC0gZm9yIG1lZGl1bSBpY29uXG4vLyAubWVkaWEtcGxheWVyLWljb24tLXNtIC0gZm9yIHNtYWxsZXIgaWNvblxuLy8gLm1lZGlhLXBsYXllci1pY29uLS14cyAtIGZvciBleHRyYSBzbWFsbCBpY29uXG4vLyAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtcHJpbWFyeSAtIGZvciBiYWNrZ3JvdW5kIHByaW1hcnlcbi8vIC5tZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1ncmV5IC0gZm9yIGJhY2tncm91bmQgZ3JleVxuLy8gLm1lZGlhLXBsYXllci1pY29uLS1maWxsLWNvcmFsIC0gZm9yIGJhY2tncm91bmQgY29yYWxcbi8vIC5tZWRpYS1wbGF5ZXItaWNvbi0tb3V0bGluZS13aGl0ZSAtIGZvciBvdXRsaW5lIHdoaXRlIGFuZCBiYWNrZ3JvdW5kIHRyYW5zcGFyZW50LiBJdCB3aWxsIG9ubHkgdmlzaWJsZSBvbiBkYXJrIGJnLlxuXG4ubWVkaWEtcGxheWVyLWljb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICBpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuXG4gICAgJi0teHMge1xuICAgICAgICBmb250LXNpemU6IHJlbSgxMCk7XG4gICAgICAgIGhlaWdodDogcmVtKDIyKTtcbiAgICAgICAgd2lkdGg6IHJlbSgyMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMjIpO1xuXG4gICAgICAgICZbY2xhc3MqPVwibWVkaWEtcGxheWVyLWljb24tLWZpbGwtXCJdIHtcbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIHRvcDogMXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLS1zbSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtKDE1KTtcbiAgICAgICAgaGVpZ2h0OiByZW0oMzUpO1xuICAgICAgICB3aWR0aDogcmVtKDM1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbSgzNSk7XG5cbiAgICAgICAgJltjbGFzcyo9XCJtZWRpYS1wbGF5ZXItaWNvbi0tZmlsbC1cIl0ge1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgdG9wOiAyLjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi0tbWQge1xuICAgICAgICBmb250LXNpemU6IHJlbSgzMik7XG4gICAgICAgIGhlaWdodDogcmVtKDk2KTtcbiAgICAgICAgd2lkdGg6IHJlbSg5Nik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oOTYpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggcmdiYSgkY29sb3Itd2hpdGUsIC41KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgkY29sb3Itd2hpdGUsIC4yKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbSg1KTtcbiAgICAgICAgICAgIHRvcDogcmVtKDMpO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLS1sZyB7XG4gICAgICAgIEBleHRlbmQgLm1lZGlhLXBsYXllci1pY29uLS1tZDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShsZykge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0oMzIpO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTIyKTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0oMTIyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0oMTIyKTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCByZ2JhKCRjb2xvci13aGl0ZSwgLjUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxMHB4IHJnYmEoJGNvbG9yLXdoaXRlLCAuMik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oNSk7XG4gICAgICAgICAgICAgICAgdG9wOiByZW0oMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1maWxsLXByaW1hcnkge1xuICAgICAgICBAZXh0ZW5kICViZy1jb2xvci1wcmltYXJ5O1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi0tZmlsbC1jb3JhbCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb3JhbDtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgYm94LXNoYWRvdzogMCAyMXB4IDE2cHggMCByZ2JhKDAsIDAsIDAsIDAuMDkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi0tZmlsbC1ncmV5IHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWJsdWUtZ3JleTtcbiAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0oMyk7XG4gICAgICAgICAgICB0b3A6IHJlbSgyKSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biAmIHtcbiAgICAgICAgICAgICN7JGxlZnR9OiA2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuOmhvdmVyICYge1xuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tb3V0bGluZS13aGl0ZSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCAkY29sb3Itd2hpdGU7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMTBweCByZ2JhKCRjb2xvci13aGl0ZSwgLjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDQpO1xuICAgICAgICAgICAgdG9wOiByZW0oMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLm1lZGlhLXBsYXllci1pY29uLS14cyB7XG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDIpO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtKDEpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG59IiwiLy8gREVTQ1JJUFRJT046XG4vLyBXZSBoYXZlIHVzZWQgdGhlIGJhY2tncm91bmQgaW1hZ2VzIGRpcmVjdGx5IGFzIGlubGluZSBjc3MgaW4gSFRNTC4gQWN0YXVsbHkgaXQgZ2l2ZXMgdXMgbW9yZSBjb250cm9sIHRvIGhhbmRsZSB0aGUgaW1hZ2UgZm9yIFdvcmRwcmVzcyBjb252ZXJzaW9uLiBcblxuLy8gTUFSS1VQOlxuLy8gPGRpdiBjbGFzcz1cImJhY2tncm91bmQtaG9sZGVyIGJhY2tncm91bmQtaG9sZGVyLS1jaXJjbGVcIj5cbi8vICAgIDxpbWcgc3JjPVwiaW1nL292YWwuc3ZnXCIgYWx0PVwib3ZhbFwiIGNsYXNzPVwiYmFja2dyb3VuZC1pbWFnZS1ob2xkZXJcIj5cbi8vIDwvZGl2PlxuXG4vLyA8YSBjbGFzcz1cImJ0blwiIGhyZWY9XCIjXCI+XG4vLyAgIDxzcGFuIGNsYXNzPVwiYnRuX190ZXh0XCI+QnV0dG9uIFRpdGxlPC9zcGFuPlxuLy8gPC9hPlxuLy9cbi8vIE1PRElGSUVSUzpcbi8vIGJhY2tncm91bmQtaG9sZGVyLS1jb3ZlciAtIGNzcyBiYWNrZ3JvdW5kIHNpemUgY292ZXJcbi8vIGJhY2tncm91bmQtaG9sZGVyLS1jb250YWluIC0gY3NzIGJhY2tncm91bmQgc2l6ZSBjb250YWluXG4vLyBiYWNrZ3JvdW5kLWhvbGRlci0tYXV0byAtIGNzcyBiYWNrZ3JvdW5kIHNpemUgYXV0b1xuLy8gYmFja2dyb3VuZC1ob2xkZXItLWNlbnRlciAtIGNzcyBiYWNrZ3JvdW5kIHBvc2l0aW9uIGNlbnRlclxuLy8gYmFja2dyb3VuZC1ob2xkZXItLWJvdHRvbSAtIGNzcyBiYWNrZ3JvdW5kIHBvc2l0aW9uIGJvdHRvbVxuLy8gYmFja2dyb3VuZC1ob2xkZXItLWxlZnQgLSBjc3MgYmFja2dyb3VuZCBwb3NpdGlvbiBsZWZ0XG4vLyBiYWNrZ3JvdW5kLWhvbGRlci0tdG9wIC0gY3NzIGJhY2tncm91bmQgcG9zaXRpb24gdG9wXG4vLyBiYWNrZ3JvdW5kLWhvbGRlci0tbGVmdC10b3AgLSBjc3MgYmFja2dyb3VuZCBwb3NpdGlvbiBsZWZ0LXRvcFxuLy8gYmFja2dyb3VuZC1ob2xkZXItLXJpZ2h0LXRvcCAtIGNzcyBiYWNrZ3JvdW5kIHBvc2l0aW9uIHJpZ2h0LXRvcFxuXG5cbi5iYWNrZ3JvdW5kLWhvbGRlciB7XG4gIEBpbmNsdWRlIHBvcy1hYnMoMCwgYXV0bywgYXV0bywgMCk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcblxuICAmLS1jaXJjbGUge1xuICAgIGJhY2tncm91bmQtc2l6ZTogaW5pdGlhbDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkbGVmdCB0b3A7XG4gICAgdG9wOiByZW0oLTEyOCk7XG4gIH1cblxuICAmLS1jb3ZlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgfVxuICAmLS1jb250YWluIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIH1cbiAgJi0tYXV0byB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBhdXRvO1xuICB9XG4gICYtLWNlbnRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICB9XG4gICYtLWJvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tO1xuICB9XG4gICYtLWxlZnQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRsZWZ0O1xuICB9XG4gICYtLXRvcCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xuICB9XG4gICYtLWxlZnQtdG9wIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkbGVmdCB0b3A7XG4gIH1cbiAgJi0tcmlnaHQtdG9wIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcmlnaHQgdG9wO1xuICB9XG4gICYtLWxlZnQtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkbGVmdCBib3R0b207XG4gIH1cbiAgJi0tcmlnaHQtYm90dG9tIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkcmlnaHQgYm90dG9tO1xuICB9XG59XG5cbi5zdmctc2hhcGUge1xuICBAaW5jbHVkZSBwb3MtYWJzKGF1dG8sIDBweCwgLTJweCwgMCk7XG5cbiAgJi0tdG9wIHtcbiAgICBAaW5jbHVkZSBwb3MtYWJzKC0ycHgsIDBweCwgYXV0bywgMCk7XG4gIH1cblxuICBAaW5jbHVkZSBydGwge1xuICAgIHRyYW5zZm9ybTogc2NhbGVYKC0xKTtcbiAgfVxufSIsIi8vIERFU0NSSVBUSU9OXG4vLyBcbi8vIFRoZXJlIGFyZSBzb21lIHNlY3Rpb25zIGVzcGVjaWFsbHkgaW4gaG9tZSB2YXJpYXRpb24gLTIgd2hlcmUgb25lIHNlY3Rpb24gaXMgb3ZlcmxhcHBlZCB3aXRoIGFub3RoZXIuIFRoaXMgbWFya3VwIGhlbHBzIHRvIGJyaW5nIHRoZSBzZWN0aW9uIGluIHZpc3VhbCBlYXNpbHkuIEJhc2ljYWxseSB0aGUgbWFya3VwIHNpbXBseSBvY2N1cHkgdGhlIHNwYWNlIGFuZCBmaWxsIHVwIHdpdGggYSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8gXG4vLyBNQVJLVVA6XG4vLyBcbi8vIDxkaXYgY2xhc3M9XCJvdmVybGFwIG92ZXJsYXAtLXdoaXRlIHotaW5kZXgxXCI+PC9kaXY+XG4vLyBcbi8vIE1PRElGSUVSUzpcbi8vIG92ZXJsYXAtLXhsIC0gZm9yIG1heGltdW0gaGVpZ2h0XG4vLyBvdmVybGFwLS1sZyAtIGZvciBsYXJnZXIgaGVpZ2h0XG4vLyBvdmVybGFwLS13aGl0ZSAtIFdoaXRlIGJnIG9mIHRoZSBzaGFwZVxuLy8gb3ZlcmxhcC0tZ3JheSAtIGdyYXkgYmcgb2YgdGhlIHNoYXBlXG4vLyBvdmVybGFwLS1kYXJrYmx1ZSAtIGRhcmtibHVlIGJnIG9mIHRoZSBzaGFwZVxuLy8gb3ZlcmxhcC0tbWlkbmlnaHQgLSBtaWRuaWdodCBiZyBvZiB0aGUgc2hhcGVcblxuLm92ZXJsYXAge1xuICAgIEBpbmNsdWRlIHBvcy1hYnMoYXV0bywgYXV0bywgMCwgYXV0bywgKTtcbiAgICBoZWlnaHQ6IHJlbSg4MCk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShtZCkge1xuICAgICAgICBoZWlnaHQ6IHJlbSgxMjApO1xuICAgIH1cblxuICAgICYtLWxnIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobWQpIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtKDE1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS14bCB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1kKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgyMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0td2hpdGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgJi0tZ3JheSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRwYWxlLWdyZXk7XG4gICAgfVxuXG4gICAgJi0tZGFya2JsdWUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZGFya2JsdWU7XG4gICAgfVxuXG4gICAgJi0tbWlkbmlnaHQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWlkbmlnaHQ7XG4gICAgfVxufVxuXG4ub3ZhbCB7XG4gICAgaGVpZ2h0OiByZW0oNDc1KTtcbiAgICB3aWR0aDogcmVtKDQ3NSk7XG4gICAgQGV4dGVuZCAlYmctY29sb3ItcHJpbWFyeTtcbiAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICN7JHJpZ2h0fTogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufSIsIi5hcnRpY2xlIHtcbiAgICAmX190aHVtYm5haWx7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAmLS1ibG9nLXBvc3Qge1xuICAgICAgICBoMiwgcHtcbiAgICAgICAgICAgIG1heC13aWR0aDogcmVtKDU1MCk7XG4gICAgICAgIH1cbiAgICAgICAgaDJ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICB9XG4gICAgICAgIGltZ3tcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufSIsIi5ibG9nLW1haW4ge1xuICAgIC53aWRnZXQge1xuICAgICAgICAuYXJ0aWNsZV9fdGh1bWJuYWlsIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgZmlndXJlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDM1KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDM1KTtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtKDUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsLFxuICAgIG9sLFxuICAgIGxpIHtcbiAgICAgICAgcGFkZGluZzogaW5oZXJpdDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICB9XG5cbiAgICBvbCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGVjaW1hbDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG59XG5cbi5ibG9nLWRldGFpbHMge1xuICAgIC5jb250ZW50IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMjApO1xuICAgICAgICB9XG5cbiAgICAgICAgaDUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbSgyNSk7XG4gICAgICAgIH1cblxuICAgIH1cbn0iLCIuYmxvZy1tYWluIHtcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0oMjApO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDUwMCk7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtcHJpbWFyeTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtKDMwKTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDE2KTtcbiAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDEwKTtcblxuICAgICAgICB9XG4gICAgfVxufSIsIi5jb21tZW50cy1jb250YWluZXJ7XG4gICAgdWwsIG9se1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIH1cbn0iLCIuYmxvZy1tYWlue1xuICAgIC5uYXZpZ2F0aW9uc3tcbiAgICAgICAgdWx7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZWVlO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDMwKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMzApO1xuICAgICAgICB9XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgICAgICBzcGFue1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIvKiohIC0tLS0tIGNhcm91c2VsIHBhZ2luYXRpb24gLS0tLSAqKi9cbi5zbGljay1kb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXRvcDogcmVtKDIwKTtcblxuICAgICYtLWxvbmcge1xuICAgICAgICBoZWlnaHQ6IHJlbSg5KTtcbiAgICAgICAgd2lkdGg6IHJlbSg3OCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtKDkpO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtKDkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuXG4gICAgICAgIC5zbGljay1hY3RpdmUgJiB7XG4gICAgICAgICAgICBAZXh0ZW5kICViZy1jb2xvci1wcmltYXJ5O1xuXG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKiEgLS0tLS0gVW5pdmVyc2FsIHBhZ2luYXRpb24gSUUuIEJsb2cgcG9zdCBwYWdlIC0tLS0gKiovXG4vLyBNQVJLVVA6XG4vLyBcbi8vIDxuYXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlclwiIGFyaWEtbGFiZWw9XCJQYWdlIG5hdmlnYXRpb25cIj5cbi8vIDx1bCBjbGFzcz1cInBhZ2luYXRpb25cIj5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCI+PGkgY2xhc3M9XCJmYSBmYS1sb25nLWFycm93LWxlZnQgbXItMTBcIj48L2k+UHJldmlvdXM8L2E+PC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCI+MTwvYT48L2xpPlxuLy8gICAgIDxsaSBjbGFzcz1cInBhZ2UtaXRlbVwiPjxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIiNcIj4yPC9hPjwvbGk+XG4vLyAgICAgPGxpIGNsYXNzPVwicGFnZS1pdGVtIGFjdGl2ZVwiPjxhIGNsYXNzPVwicGFnZS1saW5rXCIgaHJlZj1cIiNcIj4uLi48L2E+PC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCI+MTA8L2E+PC9saT5cbi8vICAgICA8bGkgY2xhc3M9XCJwYWdlLWl0ZW1cIj48YSBjbGFzcz1cInBhZ2UtbGlua1wiIGhyZWY9XCIjXCI+TmV4dDxpIGNsYXNzPVwiZmEgZmEtbG9uZy1hcnJvdy1yaWdodCBtbC0xMFwiPjwvaT48L2E+PC9saT5cbi8vIDwvdWw+XG4vLyA8L25hdj5cblxuXG4ucGFnaW5hdGlvbiB7XG4gICAgbGlzdC1zdHlsZTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgLnBhZ2UtaXRlbSB7XG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0oNSk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtKDEwKSByZW0oMTUpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgICAgICAgICAgQGV4dGVuZCAlYmctY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tI3skbGVmdH06IHJlbSg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAucGFnZS1saW5rIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tI3skcmlnaHR9OiByZW0oNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc3RpY2t5LWVsZW1lbnRzIHtcbiAgICAmLS1vbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShtZCkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0oMzAwKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiByZW0oMzApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsZykge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDM1MCk7XG4gICAgICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hdi1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaXJvbjtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICB9XG5cbn0iLCIvLyBNQVJLVVA6XG4vLyA8c2VjdGlvbiBjbGFzcz1cInNwYWNlLWJvdHRvbSBzd2l0Y2hhYmxlIGQtbWQtZmxleCBhbGlnbi1pdGVtcy1tZC1jZW50ZXJcIj5cbi8vIDxkaXYgY2xhc3M9XCJjb2wtbWQtNiBwbC1tZC0wIG1iLTQwIG1iLW1kLTAgdGV4dC1jZW50ZXIgdGV4dC1tZC1sZWZ0XCI+XG4vLyAgICAgPHBpY3R1cmUgY2xhc3M9XCJzd2l0Y2hhYmxlX19pbWFnZVwiPlxuLy8gICAgICAgICAuLi5cbi8vICAgICA8L3BpY3R1cmU+XG4vLyA8L2Rpdj5cbi8vIDxkaXYgY2xhc3M9XCJzd2l0Y2hhYmxlX190ZXh0XCI+XG4vLyAgICAgPGRpdiBjbGFzcz1cImNvbnRhaW5lclwiPlxuLy8gICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XG4vLyAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIHRleHQtY2VudGVyIHRleHQtbWQtbGVmdCBtbC1tZC1hdXRvXCI+XG4vLyAgICAgICAgICAgICAgICAgLi4uLlxuLy8gICAgICAgICAgICAgPC9kaXY+XG4vLyAgICAgICAgIDwvZGl2PlxuLy8gICAgIDwvZGl2PlxuLy8gPC9kaXY+XG4vLyA8L3NlY3Rpb24+XG5cblxuLnN3aXRjaGFibGUge1xuXHQmX19pbWFnZSB7XG5cdFx0d2lkdGg6IDEwMCU7XG5cblx0XHRAaW5jbHVkZSBtZWRpYShtZCkge1xuXHRcdFx0cGFkZGluZy0jeyRyaWdodH06IHJlbSgxNSk7XG5cblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYShsZykge1xuXHRcdFx0cGFkZGluZy0jeyRyaWdodH06IHJlbSg1MCk7XG5cdFx0fVxuXG5cdFx0QGluY2x1ZGUgbWVkaWEoeGwpIHtcblx0XHRcdHBhZGRpbmctI3skcmlnaHR9OiByZW0oMTIwKTtcblx0XHR9XG5cblx0XHRAaW5jbHVkZSBtZWRpYU1heChtZCkge1xuXHRcdFx0bWF4LXdpZHRoOiA1NDBweDtcblx0XHRcdG1hcmdpbi0jeyRyaWdodH06IGF1dG87XG5cdFx0XHRtYXJnaW4tI3skbGVmdH06IGF1dG87XG5cdFx0fVxuXG5cdFx0aW1nIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMzJweCA1NHB4IHJnYmEoNjIsIDEwNiwgMTYxLCAwLjExKTtcblx0XHRcdGJvcmRlci1yYWRpdXM6IDVweDtcblx0XHRcdHdpZHRoOiAxMDAlO1xuXG5cdFx0XHRAaW5jbHVkZSBtZWRpYShtZCkge1xuXHRcdFx0XHRib3JkZXItcmFkaXVzOiAwIDVweCA1cHggMDtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Jl9fdGV4dCB7XG5cdFx0QGluY2x1ZGUgbWVkaWEobWQpIHtcblx0XHRcdG1heC13aWR0aDogNDc1cHg7XG5cdFx0fVxuXHR9XG59IiwiLnByZWxvYWRlci1tYWluIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDk5OTk5O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5wcmVsb2FkZXItd2FwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG5cbiAgICB9XG5cbiAgICAubG9hZGVyLXNlY3Rpb24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSArIDFweCk7XG5cbiAgICAgICAgJi5zZWN0aW9uLXJpZ2h0IHtcbiAgICAgICAgICAgICN7JHJpZ2h0fTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc2VjdGlvbi1sZWZ0IHtcbiAgICAgICAgICAgICN7JGxlZnR9OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByZWxvYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTcwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA5OTtcbiAgICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG5cbiAgICAubG9hZGVkIHtcbiAgICAgICAgLnNlY3Rpb24tcmlnaHQge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMSUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC43cyAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC4xLCAwLjEsIDAuMSwgMS4wMDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRse1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAxJSk7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tbGVmdCB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMSUpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC43cyAwLjNzIGFsbCBjdWJpYy1iZXppZXIoMC4xLCAwLjEsIDAuMSwgMS4wMDApO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRse1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDElKTtcblxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAucHJlbG9hZGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2Utb3V0O1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBjaXJjbGUuZG90IHtcbiAgICAgICAgJjpudGgtb2YtdHlwZSgxKSB7XG4gICAgICAgICAgICBhbmltYXRpb246IHNsaWRlIDJzIGVhc2UgaW5maW5pdGU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDU1cHgpO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzbGlkZSAycyBlYXNlIGluZmluaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uLWRlbGF5OiAxcztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyBzbGlkZSB7XG5cbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDcwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGtleWZyYW1lcyBzbGlkZSB7XG5cbiAgICAgICAgMCUsXG4gICAgICAgIDEwMCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDBweCk7XG4gICAgICAgIH1cblxuICAgICAgICA1MCUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDcwcHgpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLm5hdmJhciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB6LWluZGV4OiA5OTg7XG4gIHRyYW5zaXRpb246IC4zcztcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0oMjApO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0oMjApO1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYShsZykge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtKDMwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgzMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5uYXZiYXItbGlnaHQge1xuICAgIC5uYXZiYXItbmF2IHtcbiAgICAgIC5uYXYtbGluayB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5uYXZiYXItYnJhbmRfX3N0aWNreSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICYtc3RpY2t5IHtcbiAgICB0cmFuc2l0aW9uOiBub25lO1xuXG4gICAgJi0tdHJhbnNpdGlvbmVkIHtcbiAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICB9XG5cbiAgICAmLS1tb3ZlZC11cCB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICB0b3A6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itd2hpdGU7XG4gICAgICBtYXJnaW4tdG9wOiAtMTAwcHg7XG5cbiAgICAgICN7JHRoZW1lLWRhcmt9ICYge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWlkbmlnaHQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNHB4IDI1cHggcmdiYSgkY2xvdWQtYnVyc3QsIC4zKSwgMCAxcHggMHB4IHJnYmEoJGNsb3VkLWJ1cnN0LCAuNCk7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLS1vbiB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgQGV4dGVuZCAuYm94LXNoYWRvdy0xO1xuXG4gICAgICAubmF2YmFyLW5hdiB7XG4gICAgICAgIC5uYXYtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGcpIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0oMjYpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbSgyNik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5uYXZiYXItYnJhbmRfX3JlZ3VsYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAubmF2YmFyLWJyYW5kX19zdGlja3kge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICB9XG5cbiAgICAgIC5idG4ge1xuICAgICAgICBAZXh0ZW5kIC5idG4tLWJnLXByaW1hcnk7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcblxuICAgICAgICAjeyR0aGVtZS1kYXJrfSAmIHtcbiAgICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtc3BsYXNoLWhvdmVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gJHJpZ2h0LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDMpIDElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNikgMzAlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDUwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSA3MCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSkgNzElLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8qLS0tLS0tLS0tLSBOYXZiYXIgRGFyayAtLS0tLS0tLS0tKi9cblxuLm5hdmJhci1kYXJrIHtcbiAgLm5hdmJhci1uYXYge1xuICAgIC5uYXYtbGluayB7XG4gICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cbiAgfVxuXG4gIC5idG4tLW91dGxpbmUge1xuICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gIH1cblxuICAmLm5hdmJhci1zdGlja3ktLW9uIHtcbiAgICAubmF2YmFyLW5hdiB7XG4gICAgICAubmF2LWxpbmsge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeS0yO1xuXG4gICAgICAgICN7JHRoZW1lLWRhcmt9ICYge1xuICAgICAgICAgIGNvbG9yOiAkdmVyeS1saWdodC1ibHVlO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICYuY3VycmVudC1tZW51LWl0ZW0ge1xuICAgICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtcHJpbWFyeTtcblxuICAgICAgICAgICN7JHRoZW1lLWRhcmt9ICYge1xuICAgICAgICAgICAgY29sb3I6ICRpcm9uO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyAuYnRuLS1vdXRsaW5lIHtcbiAgICAvLyAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtcHJpbWFyeTtcblxuICAgIC8vICAgJjpob3ZlciB7XG4gICAgLy8gICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgLy8gICB9XG4gICAgLy8gfVxuXG4gIH1cbn1cblxuXG4vKi0tLS0tLS0tLS0gYm9vdHN0cmFwIG5hdiBjdXN0b20gaG92ZXIgLS0tLS0tLS0tLSovXG4uZHJvcGRvd24ge1xuICAmLW1lbnUge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiByZW0oMTApIDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IC4zcztcbiAgICBAZXh0ZW5kIC5ib3gtc2hhZG93LTI7XG4gICAgQGV4dGVuZCAucm91bmRlZC1kZWZhdWx0O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEobGcpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIG1pbi13aWR0aDogcmVtKDIzMCk7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xuXG4gICAgfVxuXG4gICAgPmxpIHtcbiAgICAgIHBhZGRpbmc6IDAgcmVtKDEwKTtcbiAgICAgIEBleHRlbmQgLnJvdW5kZWQtZGVmYXVsdDtcbiAgICB9XG4gIH1cblxuICA+LmRyb3Bkb3duLW1lbnUge1xuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgcG9zLWFicygtMTBweCwgYXV0bywgYXV0bywgMTBweCk7XG4gICAgICBAaW5jbHVkZSBhcnJvdyh1cCwgMTAsICNmZmYpO1xuICAgIH1cbiAgfVxuXG4gICYtc3VibWVudSB7XG4gICAgPi5kcm9wZG93bi1tZW51IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIEBpbmNsdWRlIHBvcy1hYnMoMzBweCwgYXV0bywgYXV0bywgLTEwcHgpO1xuICAgICAgICBAaW5jbHVkZSBhcnJvdyhsZWZ0LCAxMCwgI2ZmZik7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLm5hdmJhci5uYXZiYXItZGFyayB7XG4gIC5kcm9wZG93biB7XG4gICAgJi5zaG93Pi5uYXYtbGluayB7XG4gICAgICBAaW5jbHVkZSBtZWRpYU1heChsZykge1xuICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG5cbiAgICAgICAgI3skdGhlbWUtZGFya30gJiB7XG4gICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlLWdyZXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm5hdmJhci1uYXYgbGk6aG92ZXI+dWwuZHJvcGRvd24tbWVudSB7XG4gIEBpbmNsdWRlIG1lZGlhKGxnKSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwcHgpO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuLmRyb3Bkb3duLWl0ZW0ge1xuICBwYWRkaW5nLXRvcDogcmVtKDEwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbSgxMCk7XG4gIHBhZGRpbmctbGVmdDogcmVtKDEwKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgZm9udC1zaXplOiByZW0oMTMpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG4gIHRyYW5zaXRpb246IC4zcztcbiAgQGV4dGVuZCAucm91bmRlZC1zbTtcblxuICAmOmZvY3VzLFxuICAmOmhvdmVyIHtcbiAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuXG4gICAgI3skdGhlbWUtZGFya30gJiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYU1heChsZykge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbWlkbmlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAmLmFjdGl2ZSxcbiAgJjphY3RpdmUge1xuICAgIEBleHRlbmQgJWNvbG9yLXByaW1hcnk7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjlmYTtcbiAgfVxuXG59XG5cbi5kcm9wZG93bi1kaXZpZGVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjOGQ5OGI3O1xufVxuXG4uZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICA+LmRyb3Bkb3duLW1lbnUge1xuICAgIHRvcDogMDtcbiAgICAjeyRsZWZ0fTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICB9XG59XG5cbi8qICBtYWlubWVudSBjYXJldCAqL1xuLmRyb3Bkb3duLXRvZ2dsZTphZnRlciB7XG4gIG1hcmdpbi0jeyRsZWZ0fTogNHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogMXB4O1xuICBib3JkZXItdG9wOiA1cHggc29saWQ7XG4gIGJvcmRlci1yaWdodDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb2xvcjogI2QzZDNkMztcbiAgdHJhbnNpdGlvbjogLjNzO1xufVxuXG4vKiAgc3VibWVudSBjYXRlciAqL1xuLmRyb3Bkb3duLXN1Ym1lbnUge1xuICAuZHJvcGRvd24tdG9nZ2xlOmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgI3skcmlnaHR9OiAyNHB4O1xuICAgIHRvcDogMjBweDtcbiAgICBjb2xvcjogI2QzZDNkMztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgQGluY2x1ZGUgcnRse1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLyotLS0tLS0tLS0tIE1vYmlsZSBTaXRlIG5hdiAtLS0tLS0tLS0tKi9cbkBpbmNsdWRlIG1lZGlhTWF4KGxnKSB7XG4gIC5tYWluIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgI3skbGVmdH06IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbjogLjNzO1xuXG4gICAgICAjeyR0aGVtZS1kYXJrfSAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG1pZG5pZ2h0O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5vZmZjYW52YXMtLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAubWFpbiB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAuOTU7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdmJhciB7XG4gICAgcGFkZGluZy10b3A6IHJlbSgxMCk7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbSgxMCk7XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgLm5hdmJhci1pbm5lciB7XG4gICAgICAgICN7JHJpZ2h0fTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2YmFyLWlubmVyIHtcbiAgICAgICN7JHJpZ2h0fTogLTEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiAkcmlnaHQgLjNzIC4ycztcbiAgICB9XG5cbiAgICAubmF2LWxpbmsge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZWU7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtKDEyKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTIpO1xuXG4gICAgICAjeyR0aGVtZS1kYXJrfSAmIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjbG91ZC1idXJzdDtcbiAgICAgIH1cblxuICAgIH1cblxuICAgICYubmF2YmFyLWRhcmsge1xuICAgICAgLm5hdi1saW5rIHtcbiAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnk7XG5cbiAgICAgICAgI3skdGhlbWUtZGFya30gJiB7XG4gICAgICAgICAgY29sb3I6ICRwYWxlLWdyZXk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSB7XG4gICAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgI3skdGhlbWUtZGFya30gJiB7XG4gICAgICAgICAgY29sb3I6ICR2ZXJ5LWxpZ2h0LWJsdWU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAjeyR0aGVtZS1kYXJrfSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaWRuaWdodDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAubmF2YmFyLWlubmVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogcmVtKDMyMCk7XG4gICAgcGFkZGluZy10b3A6IHJlbSg0MCk7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJveC1zaGFkb3c6IDAgcmVtKDgpIHJlbSgzMCkgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgei1pbmRleDogMTA1MDtcblxuICAgICN7JHRoZW1lLWRhcmt9ICYge1xuICAgICAgYmFja2dyb3VuZDogJGRhcmtibHVlO1xuICAgIH1cblxuICAgIC5kcm9wZG93bi1tZW51IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuZHJvcGRvd24tbWVudSB7XG4gICAgICBib3JkZXI6IG1lZGl1bSBub25lO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgIC5kcm9wZG93bi1pdGVtIHtcbiAgICAgICAgI3skdGhlbWUtZGFya30gJiB7XG4gICAgICAgICAgY29sb3I6ICRwYWxlLWdyZXk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAjeyR0aGVtZS1kYXJrfSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaWRuaWdodDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm5hdi0tb3BlbiB7XG4gICAgLm1haW4td3JhcHBlciB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xNTBweCwgMCwgMCk7XG5cbiAgICB9XG4gIH1cblxuICAvKi0tLS0tLS0tLS0gTW9iaWxlIFNpdGUgbmF2IHRvZ2dsZXIgLS0tLS0tLS0tLSovXG4gIC5uYXZiYXItdG9nZ2xlciB7XG4gICAgQGluY2x1ZGUgcG9zLWFicyhhdXRvLCAwLCBhdXRvLCBhdXRvKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiByZW0oNjApO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIC5uYXZiYXItaW5uZXIgJiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBoZWlnaHQ6IHJlbSg0MCk7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmLWljb24sXG4gICAgJi1pY29uOmJlZm9yZSxcbiAgICAmLWljb246YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogLjNzIGVhc2UtaW4tb3V0O1xuICAgIH1cblxuICAgICYtaWNvbiB7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIC5uYXZiYXItZGFyayAmIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgfVxuXG4gICAgICAubmF2YmFyLXN0aWNreS0tb24gJiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAubmF2YmFyLWRhcmsgJiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG4gICAgICAgICN7JGxlZnR9OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgLm5hdmJhci1kYXJrICYge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uYXZiYXItc3RpY2t5LS1vbiAmIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG4gICAgICAgIH1cblxuICAgICAgfVxuICAgIH1cblxuICAgICYtaWNvbjo6YmVmb3JlIHtcbiAgICAgIHRvcDogcmVtKC0xMCk7XG4gICAgfVxuXG4gICAgJi1pY29uOjphZnRlciB7XG4gICAgICB0b3A6IHJlbSgxMCk7XG4gICAgfVxuXG4gICAgJi1pY29uIHtcbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44NSkgcm90YXRlKDI3MGRlZyk7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNjUpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjY1KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi8vIE1PRElGSUVSUzpcbi8vLi4uLi4uLi4uLi4uXG4vLyAuaGVyby0tcmV2ZXJzZSAtIHRvIGNoYW5nZSB0aGUgY29udGVudCBkaXJlY3Rpb25cblxuLmhlcm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXRvcDogJHN0YW5kYXJkLXNwYWNlLzEuNTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEobGcpIHtcbiAgICAgICAgcGFkZGluZy10b3A6ICRzdGFuZGFyZC1zcGFjZSAqMS42O1xuXG4gICAgICAgICYuc3BhY2UtLWxnIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgKjIuNDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3RhbmRhcmQtc3BhY2UgKjEuODtcblxuICAgICAgICB9XG5cbiAgICAgICAgJi5zcGFjZS10b3AtLW1kIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgKjEuMjtcblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi0tZGFyayB7XG4gICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG4gICAgfVxuXG4gICAgJl9fc2hhcGUge1xuICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKGF1dG8sIDAsIC0xcHgsIDApO1xuICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVgoLTEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdHJpLXN2ZyB7XG4gICAgICAgIEBpbmNsdWRlIGN1c3RvbU1lZGlhKDE5MjEpIHtcbiAgICAgICAgICAgIHRvcDogcmVtKC0zMDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi1jb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0oNTMwKTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heChsZykge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtKDUwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuXG4gICAgICAgIH1cblxuICAgICAgICAuaGVyby0tcmV2ZXJzZSAmIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKGxnKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLSN7JGxlZnR9OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLS1jZW50ZXIge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ0biB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAubWVkaWEtcGxheWVyLWljb24tLWZpbGwtZ3JleSB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgLmNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDcwMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWFNYXgobGcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5wdXNoLW91dC1jb250YWluZXIge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShsZykge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAjeyRyaWdodH06IHJlbSgtMzUwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGwpIHtcbiAgICAgICAgICAgICAgICAjeyRyaWdodH06IHJlbSgtMjAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhlcm8tLXJldmVyc2UgJiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobGcpIHtcbiAgICAgICAgICAgICAgICAgICAgI3skbGVmdH06IHJlbSgtMzUwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSh4bCkge1xuICAgICAgICAgICAgICAgICAgICAjeyRsZWZ0fTogcmVtKC0yMDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMTApO1xuICAgICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgICBAZXh0ZW5kIC5oMy1mb250O1xuICAgICAgICBsaW5lLWhlaWdodDogJGZvbnQtc2l6ZS0yMTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYShtZCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkaDItc2l6ZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkaDItbGluZS1oZWlnaHQ7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5oZXJvLS1kYXJrICYge1xuICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1wcmltYXJ5O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNSk7XG5cbiAgICAgICAgLmhlcm8tLWRhcmsgJiB7XG4gICAgICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXByaW1hcnk7XG4gICAgICAgICAgICBvcGFjaXR5OiAuNzU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50eXBlLS1maW5lLXByaW50IHtcbiAgICAuaGVyby0tZGFyayAmIHtcbiAgICAgICAgY29sb3I6ICRpcm9uO1xuICAgIH1cblxuICAgICYuY29sb3Itd2hpdGUge1xuICAgICAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIH1cblxufVxuLmhlcm9fX2Jsb2NrNXtcbiAgICBAaW5jbHVkZSBydGwge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgtMSk7XG4gICAgfVxuICAgIC5zdmctY2xpcHBlZCB7XG4gICAgICAgIC13ZWJraXQtY2xpcC1wYXRoOiB1cmwoI3N2Z1BhdGgpO1xuICAgICAgICBjbGlwLXBhdGg6IHVybCgjc3ZnUGF0aCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG59XG4uaGVyb19fYmxvY2s1LW1vYmlsZSB7XG4gICAgd2lkdGg6IHJlbSgzMjApO1xuICAgIGhlaWdodDogcmVtKDMyMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKHNtKSB7XG4gICAgICAgIHdpZHRoOiByZW0oNTAwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNTAwKTtcblxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKGxnKSB7XG4gICAgICAgIHdpZHRoOiByZW0oNDQwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0oNDQwKTtcbiAgICB9XG59XG5cbiIsIi5mZWF0dXJlcyB7XG4gICAgLnN1Yi1oZWFkZXIge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg5MjApO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oMzApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKGxnKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNzUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYl9faWNvbiB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbSg1NSk7XG4gICAgfVxuXG4gICAgLnN3aXBlLXRhYnMge1xuICAgICAgICBAZXh0ZW5kIC5ib3JkZXItYm90dG9tLWxpZ2h0O1xuICAgIH1cbiAgICAuc3dpcGUtdGFiIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDJweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heChzbSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2lubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMTUpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUtdGFiIHtcbiAgICAgICAgICAgIC5zd2lwZS10YWJfX2lubmVyIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVib3gtc2hhZG93LXByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLS10YWJfX2ltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg1MDApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KGxnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICBAaW5jbHVkZSBwb3MtYWJzKGF1dG8sIDE1cHgsIDEwcHgsIGF1dG8pO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy90cmlhbmdsZS5zdmcpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0oNDApO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSg0MCk7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm1haW4tY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgQGluY2x1ZGUgcG9zLWFicygtMjBweCwgYXV0bywgYXV0bywgLTMwcHgpO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC4uL2ltZy9kb3RzLXBhdHRlcm4tMS5zdmcpIG5vLXJlcGVhdCB0b3AgJGxlZnQ7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbSgxNjApO1xuICAgICAgICAgICAgd2lkdGg6IHJlbSgxNjApO1xuICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zd2lwZS10YWItY29udGVudCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heChsZykge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cblxuICAgIH1cblxuICAgIC50YWItY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDQ5MCk7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcblxuICAgICAgICAjeyR0aGVtZS1kYXJrfSAmIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRtaWRuaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KGxnKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgICAgQGV4dGVuZCAuYm9yZGVyLWJvdHRvbS1saWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0oMjUpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcy1hYnMgKDEwcHgsIGF1dG8sIGF1dG8sIDApO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0oMTIpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtKDEyKTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwcHg7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ibHVlLWdyZXk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDI1KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLSN7JGxlZnR9OiByZW0oMzApO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiAkbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qKi0tLS0tLS0tLSBGZWF0dXJlIFNsaWRlciAyIC0tLS0tLS0tLSoqL1xuLmZlYXR1cmVzLWN1c3RvbS1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG1lZGlhTWF4KGxnKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkc3RhbmRhcmQtc3BhY2UgLzI7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEoeGwpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBwYWRkaW5nLXRvcDogJHN0YW5kYXJkLXNwYWNlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKGxnKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KHhsKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogJHN0YW5kYXJkLXNwYWNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKHhsKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDc3MHB4O1xuICAgICAgICAgICAgbWFyZ2luLSN7JGxlZnR9OiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZy0jeyRyaWdodH06IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBjdXN0b21NZWRpYSgxOTIxKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDgyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgY3VzdG9tTWVkaWEoMTkyMSkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4MjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kZXZpY2UtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYU1heCh4bCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDEwKTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0oNTAwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhTWF4KGxnKSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IHJlbSg0NTApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG59XG5cbi5mZWF0dXJlcy0tc2xpZGVyLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKHhsKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiBjYWxjKDQxLjY2NjY3JSAtIDQwcHgpO1xuXG4gICAgfVxuXG4gICAgLnNsaWRlci10YWJzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogJGxlZnQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEobGcpIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NTBweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoeGwpIHtcbiAgICAgICAgICAgIHdpZHRoOiA5NTBweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgY3VzdG9tTWVkaWEoMTYwMCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5NTBweDtcblxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWRlci10YWIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtMjE7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoJGNvbG9yLXdoaXRlLCAuMik7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stY3VycmVudC5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgLnNsaWRlci10YWIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbGlkZXItY29udGVudHMge1xuICAgICAgICBtYXgtd2lkdGg6IHJlbSg0MDApO1xuICAgIH1cblxuICAgIC8vIGFycm93XG4gICAgLnNsaWNrLWFycm93IHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICBoZWlnaHQ6IHJlbSg1MCk7XG4gICAgICAgIHdpZHRoOiByZW0oNTApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDBweDtcbiAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtKC0xMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKG1kKSB7XG4gICAgICAgICAgICB0b3A6IHJlbSgtMTUwKTtcblxuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtKDUwKTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IC4zcztcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yLXdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAycHggMzRweCByZ2JhKDAsIDAsIDAsIDAuMjEpO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBAZXh0ZW5kICVjb2xvci1wcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgJGxlZnQ6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBydGx7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbSg2MCk7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICBsZWZ0OiByZW0oNjApO1xuICAgICAgICAgICAgQGluY2x1ZGUgcnRse1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0oMCk7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG59XG4iLCIud29ya2luZy1wcm9jZXNzIHtcbiAgICAud29ya2luZy1wcm9jZXNzLWJsb2NrIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuaWNvbi1kb3R0ZWQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBhbmltYXRpb246IGluZmluaXRlLXNwaW5uaW5nIDVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBkaXZbY2xhc3MqPSdjb2wtJ10ge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgLndvcmtpbmctcHJvY2Vzcy1ibG9jayB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEobWQpIHtcblxuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlYTFhXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ3hQaWRlcic7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2UyZTZlYTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtKDkyKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHBvcy1hYnMoMCwgLTEyJSwgYXV0bywgYXV0byk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LXNoYWRvdzogLTNweCAwcHggMHB4ICNmZmY7XG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAuM3M7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHRoZW1lLWRhcmt9ICYge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtc2hhZG93OiAtM3B4IDBweCAwcHggJG1pZG5pZ2h0O1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcnRse1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlYTE5XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYU1heChtZCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0oNDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICN7JHJpZ2h0fTogLTE3JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1heC13aWR0aDogcmVtKDI3NSk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbn1cblxuIiwiLmZvb3RlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG1lZGlhKGxnKXtcbiAgICAgICAgJi0tZml4ZWR7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgIFxuICAgIH1cblxuICAgICYtd2lkZ2V0IHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICAgICAgICAgICAgICAjeyR0aGVtZS1kYXJrfSAme1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnktMjtcbiAgICAgICAgICAgICAgICAgICAgfSAgICBcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJWNvbG9yLXByaW1hcnk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICBcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtKDE1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmljb24tZW1haWx7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbSg0NSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IHtcbiAgICAgICAgbGl7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRmb250LXNpemUtMTQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRjb2xvci1vbi1saWdodC1zZWNvbmRhcnk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogLjNzO1xuICAgICAgICAgICAgICAgICN7JHRoZW1lLWRhcmt9ICZ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlY29sb3ItcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi0jeyRyaWdodH06IHJlbSgzMCk7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgIH1cbiAgICB9XG59XG5cbiIsIi8vIERFU0NSSVBUSU9OOlxuLy8gVGhlc2UgYXJlIHRoZSB0aGVtZSBjb2xvcnMgdGhhdCB3ZSBoYXZlIHVzZWQgaW4gdGhlIGRlbW8gY29sb3Igc3dpdGNoZXIgY29udHJvbGxlci5cblxuLy8vLyBVc2luZyBtZXRob2Qgb2YgdGhlIGRlbW8gY29sb3JzOlxuLy8gQWRkIGFueSBvZiB0aGUgXCJ0aGVtZS1cIiBjbGFzcyB0byB0aGUgPGJvZHk+IGVsZW1lbnQuIGV4YW1wbGUgXCJ0aGVtZS1ncmVlblwiXG5cbi8vIFJlbWFtYmVyIHRoZSBjb3JlIGNvbG9ycyBjb2RlIGFyZSBkZWNsYXJlZCBpbiB0aGUgdmFyaWFibGVzIGZpbGUuIFxuLy8gWW91IGNhbiBkZWxldGUgdGhlbWUgSWYgeW91IGRvbid0IHdhbnQgdG8gdXNlIGFueSBvZiBvdXIgZ2l2ZW4gY29sb3JzLiBBbmQgaWYgeW91IHdhbnQgdG8gdXNlIHlvdXIgb3duIGNvbG9yIHRoZW4ganVzdCBvcGVuIHRoZSB2YXJpYWJsZSBmaWxlIGFuZCBjaGFuZ2UgdGhlIHZhcmlhYmxlIGNvbG9yIG9mIFwiJGNvbG9yLXByaW1hcnlcIiAhISBTSU1QTEUhISEgSXNuJ3Q/IVxuXG4vKiohIC0tLS0tIGJnIGNvbG9ycyBmb3IgdGhlbWUgLS0tLSAqKi9cbiViZy1jb2xvci1wcmltYXJ5IHtcblx0LnRoZW1lLWdyZWVuICYge1xuXHRcdGJhY2tncm91bmQ6ICR0aGVtZS1ncmVlbjtcblx0fVxuXG5cdC50aGVtZS12aW9sZXQgJiB7XG5cdFx0YmFja2dyb3VuZDogJHRoZW1lLXZpb2xldDtcblx0fVxuXG5cdC50aGVtZS1maXJvemEgJiB7XG5cdFx0YmFja2dyb3VuZDogJHRoZW1lLWZpcm96YTtcblx0fVxuXG5cdC50aGVtZS1yZWQgJiB7XG5cdFx0YmFja2dyb3VuZDogJHRoZW1lLXJlZDtcblx0fVxuXG5cdC50aGVtZS1vcmFuZ2UgJiB7XG5cdFx0YmFja2dyb3VuZDogJHRoZW1lLW9yYW5nZTtcblx0fVxuXG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gR3JhZGllbnQgYmdcblx0LmdyYWRpZW50LTEgJiB7XG5cdFx0YmFja2dyb3VuZDogJGdyYWRpZW50LTE7XG5cdH1cblxuXHQuZ3JhZGllbnQtMiAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtMjtcblx0fVxuXG5cdC5ncmFkaWVudC0zICYge1xuXHRcdGJhY2tncm91bmQ6ICRncmFkaWVudC0zO1xuXHR9XG5cblx0LmdyYWRpZW50LTQgJiB7XG5cdFx0YmFja2dyb3VuZDogJGdyYWRpZW50LTQ7XG5cdH1cblxuXHQuZ3JhZGllbnQtNSAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtNTtcblx0fVxuXG5cdC5ncmFkaWVudC02ICYge1xuXHRcdGJhY2tncm91bmQ6ICRncmFkaWVudC02O1xuXHR9XG59XG5cbi8vIGJ1dHRvbiBiZyBjb2xvciBtaXh1cCB3aXRoIEdyYWRpZW50IHRoZW1lXG4uc2xpY2stYWN0aXZlIC5zbGljay1kb3RzLS1sb25nLFxuLmJ0bi0tYmctcHJpbWFyeSxcbi5uYXZiYXIgLmJ0bi0tb3V0bGluZTpob3Zlcixcbi5idG4tLWJnLWdyZXk6aG92ZXIge1xuXHQuZ3JhZGllbnQtMSAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItYmx1ZS0yO1xuXG5cdH1cblxuXHQuZ3JhZGllbnQtMiAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkY29sb3ItcHJpbWFyeTtcblxuXHR9XG5cblx0LmdyYWRpZW50LTMgJiB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLWluZGlnbztcblx0fVxuXG5cdC5ncmFkaWVudC00ICYge1xuXHRcdGJhY2tncm91bmQ6ICRjYWRpbGxhYztcblx0fVxuXG5cdC5ncmFkaWVudC01ICYge1xuXHRcdGJhY2tncm91bmQ6ICRwYXJhZGlzbztcblx0fVxuXG5cdC5ncmFkaWVudC02ICYge1xuXHRcdGJhY2tncm91bmQ6ICR0aGVtZS12aW9sZXQ7XG5cdH1cblxufVxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIEdyYWRpZW50IGJnIG92ZXJyaWRlIHdoZW4gdGhlcmUgaXMgY2xhc3NcblxuW2NsYXNzKj1cImJnLWdyYWRpZW50XCJdIHtcblx0LnRoZW1lLXByaW1hcnkgJiB7XG5cdFx0YmFja2dyb3VuZDogJGNvbG9yLXByaW1hcnk7XG5cdH1cblxuXHQudGhlbWUtZ3JlZW4gJiB7XG5cdFx0YmFja2dyb3VuZDogJHRoZW1lLWdyZWVuO1xuXHR9XG5cblx0LnRoZW1lLXZpb2xldCAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkdGhlbWUtdmlvbGV0O1xuXHR9XG5cblx0LnRoZW1lLWZpcm96YSAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkdGhlbWUtZmlyb3phO1xuXHR9XG5cblx0LnRoZW1lLXJlZCAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkdGhlbWUtcmVkO1xuXHR9XG5cblx0LnRoZW1lLW9yYW5nZSAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkdGhlbWUtb3JhbmdlO1xuXHR9XG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gR3JhZGllbnQgYmdcblx0LmdyYWRpZW50LTEgJiB7XG5cdFx0YmFja2dyb3VuZDogJGdyYWRpZW50LTE7XG5cdH1cblxuXHQuZ3JhZGllbnQtMiAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtMjtcblx0fVxuXG5cdC5ncmFkaWVudC0zICYge1xuXHRcdGJhY2tncm91bmQ6ICRncmFkaWVudC0zO1xuXHR9XG5cblx0LmdyYWRpZW50LTQgJiB7XG5cdFx0YmFja2dyb3VuZDogJGdyYWRpZW50LTQ7XG5cdH1cblxuXHQuZ3JhZGllbnQtNSAmIHtcblx0XHRiYWNrZ3JvdW5kOiAkZ3JhZGllbnQtNTtcblx0fVxuXG5cdC5ncmFkaWVudC02ICYge1xuXHRcdGJhY2tncm91bmQ6ICRncmFkaWVudC02O1xuXG5cdH1cbn1cblxuLyoqISAtLS0tLSBzdmcgZmlsbCBjb2xvciAtLS0tICoqL1xuJWZpbGwtcHJpbWFyeSB7XG5cdC50aGVtZS1wcmltYXJ5ICYge1xuXHRcdGZpbGw6ICRjb2xvci1wcmltYXJ5O1xuXHR9XG5cblx0LnRoZW1lLWdyZWVuICYge1xuXHRcdGZpbGw6ICR0aGVtZS1ncmVlbjtcblx0fVxuXG5cdC50aGVtZS12aW9sZXQgJiB7XG5cdFx0ZmlsbDogJHRoZW1lLXZpb2xldDtcblx0fVxuXG5cdC50aGVtZS1maXJvemEgJiB7XG5cdFx0ZmlsbDogJHRoZW1lLWZpcm96YTtcblx0fVxuXG5cdC50aGVtZS1yZWQgJiB7XG5cdFx0ZmlsbDogJHRoZW1lLXJlZDtcblx0fVxuXG5cdC50aGVtZS1vcmFuZ2UgJiB7XG5cdFx0ZmlsbDogJHRoZW1lLW9yYW5nZTtcblx0fVxuXG5cdC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vIGZpbGwgbWl4dXAgd2l0aCBHcmFkaWVudCB0aGVtZVxuXHQuZ3JhZGllbnQtMSAmIHtcblx0XHRmaWxsOiAkY29sb3ItYmx1ZS0yO1xuXHR9XG5cblx0LmdyYWRpZW50LTIgJiB7XG5cdFx0ZmlsbDogJGNvbG9yLXByaW1hcnk7XG5cdH1cblxuXHQuZ3JhZGllbnQtMyAmIHtcblx0XHRmaWxsOiAkY29sb3ItaW5kaWdvO1xuXHR9XG5cblx0LmdyYWRpZW50LTQgJiB7XG5cdFx0ZmlsbDogJGNhZGlsbGFjO1xuXHR9XG5cblx0LmdyYWRpZW50LTUgJiB7XG5cdFx0ZmlsbDogJHBhcmFkaXNvO1xuXHR9XG5cblx0LmdyYWRpZW50LTYgJiB7XG5cdFx0ZmlsbDogJHRoZW1lLXZpb2xldDtcblx0fVxuXG59XG5cbi8qKiEgLS0tLS0gY29sb3JzIGZvciB0aGVtZSAtLS0tICoqL1xuJWNvbG9yLXByaW1hcnksXG4uYnRuLS1vdXRsaW5lLmJ0bi0tY29sb3ItcHJpbWFyeSxcbi5idG4tLW91dGxpbmUtdGhpY2suYnRuLS1jb2xvci1wcmltYXJ5LFxuLmJ0bi0tY29sb3ItZGFyay5idG4tdGV4dC1ob3Zlcjpob3ZlciB7XG5cdC50aGVtZS1ncmVlbiAmIHtcblx0XHRjb2xvcjogJHRoZW1lLWdyZWVuO1xuXHRcdC8vICN7JHRoZW1lLWRhcmt9ICYge1xuXHRcdC8vIFx0Y29sb3I6ICR0aGVtZS1ncmVlbjtcblxuXHRcdC8vIH1cblx0fVxuXG5cdC50aGVtZS12aW9sZXQgJiB7XG5cdFx0Y29sb3I6ICR0aGVtZS12aW9sZXQ7XG5cdH1cblxuXHQudGhlbWUtZmlyb3phICYge1xuXHRcdGNvbG9yOiAkdGhlbWUtZmlyb3phO1xuXHR9XG5cblx0LnRoZW1lLXJlZCAmIHtcblx0XHRjb2xvcjogJHRoZW1lLXJlZDtcblx0fVxuXG5cdC50aGVtZS1vcmFuZ2UgJiB7XG5cdFx0Y29sb3I6ICR0aGVtZS1vcmFuZ2U7XG5cdH1cblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBDb2xvciBtaXh1cCB3aXRoIEdyYWRpZW50IHRoZW1lXG5cdC5ncmFkaWVudC0xICYge1xuXHRcdGNvbG9yOiAkY29sb3ItYmx1ZS0yO1xuXHR9XG5cblx0LmdyYWRpZW50LTIgJiB7XG5cdFx0Y29sb3I6ICRjb2xvci1wcmltYXJ5O1xuXHR9XG5cblx0LmdyYWRpZW50LTMgJiB7XG5cdFx0Y29sb3I6ICRjb2xvci1pbmRpZ287XG5cdH1cblxuXHQuZ3JhZGllbnQtNCAmIHtcblx0XHRjb2xvcjogJGNhZGlsbGFjO1xuXHR9XG5cblx0LmdyYWRpZW50LTUgJiB7XG5cdFx0Y29sb3I6ICRwYXJhZGlzbztcblx0fVxuXG5cdC5ncmFkaWVudC02ICYge1xuXHRcdGNvbG9yOiAkdGhlbWUtdmlvbGV0O1xuXHR9XG5cbn1cblxuLyoqISAtLS0tLSBCb3JkZXIgQ29sb3IgZm9yIHRoZW1lIC0tLS0gKiovXG4uYm9yZGVyLXByaW1hcnksXG4uYnRuLS1jb2xvci1kYXJrLmJ0bi10ZXh0LWhvdmVyOmhvdmVyIHtcblx0LnRoZW1lLWdyZWVuICYge1xuXHRcdGJvcmRlci1jb2xvcjogJHRoZW1lLWdyZWVuO1xuXHR9XG5cblx0LnRoZW1lLXZpb2xldCAmIHtcblx0XHRib3JkZXItY29sb3I6ICR0aGVtZS12aW9sZXQ7XG5cdH1cblxuXHQudGhlbWUtZmlyb3phICYge1xuXHRcdGJvcmRlci1jb2xvcjogJHRoZW1lLWZpcm96YTtcblx0fVxuXG5cdC50aGVtZS1yZWQgJiB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkdGhlbWUtcmVkO1xuXHR9XG5cblx0LnRoZW1lLW9yYW5nZSAmIHtcblx0XHRib3JkZXItY29sb3I6ICR0aGVtZS1vcmFuZ2U7XG5cdH1cblxuXHQvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLyBib3JkZXIgY29sb3IgbWl4dXAgd2l0aCBHcmFkaWVudCB0aGVtZVxuXG5cdC5ncmFkaWVudC0xICYge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLWJsdWUtMjtcblx0fVxuXG5cdC5ncmFkaWVudC0yICYge1xuXHRcdGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG5cdH1cblxuXHQuZ3JhZGllbnQtMyAmIHtcblx0XHRib3JkZXItY29sb3I6ICRjb2xvci1pbmRpZ287XG5cdH1cblxuXHQuZ3JhZGllbnQtNCAmIHtcblx0XHRib3JkZXItY29sb3I6ICRjYWRpbGxhYztcblx0fVxuXG5cdC5ncmFkaWVudC01ICYge1xuXHRcdGJvcmRlci1jb2xvcjogJHBhcmFkaXNvO1xuXHR9XG5cblx0LmdyYWRpZW50LTYgJiB7XG5cdFx0Ym9yZGVyLWNvbG9yOiAkdGhlbWUtdmlvbGV0O1xuXG5cdH1cbn1cblxuLyoqISAtLS0tLSBCb3ggc2hhZG93IENvbG9yIGZvciB0aGVtZSAgLS0tLSAqKi9cbiVib3gtc2hhZG93LXByaW1hcnkge1xuXHQudGhlbWUtZ3JlZW4gJiB7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCAwcHggJHRoZW1lLWdyZWVuO1xuXHR9XG5cblx0LnRoZW1lLXZpb2xldCAmIHtcblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDBweCAkdGhlbWUtdmlvbGV0O1xuXG5cdH1cblxuXHQudGhlbWUtZmlyb3phICYge1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggMHB4ICR0aGVtZS1maXJvemE7XG5cblx0fVxuXG5cdC50aGVtZS1yZWQgJiB7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCAwcHggJHRoZW1lLXJlZDtcblx0fVxuXG5cdC50aGVtZS1vcmFuZ2UgJiB7XG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCAwcHggJHRoZW1lLW9yYW5nZTtcblxuXHR9XG5cblx0Ly8vLy8vLy8vLy8vLy8vLy8vLy8vLy8gYm94IHNoYWRvdyBtaXh1cCB3aXRoIEdyYWRpZW50IHRoZW1lXG5cdC5ncmFkaWVudC0xICYge1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggMHB4ICRjb2xvci1ibHVlLTI7XG5cdH1cblxuXHQuZ3JhZGllbnQtMiAmIHtcblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDBweCAkY29sb3ItcHJpbWFyeTtcblx0fVxuXG5cdC5ncmFkaWVudC0zICYge1xuXHRcdGJveC1zaGFkb3c6IDBweCAycHggMHB4ICRjb2xvci1pbmRpZ287XG5cdH1cblxuXHQuZ3JhZGllbnQtNCAmIHtcblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDBweCAkY2FkaWxsYWM7XG5cdH1cblxuXHQuZ3JhZGllbnQtNSAmIHtcblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDBweCAkcGFyYWRpc287XG5cdH1cblxuXHQuZ3JhZGllbnQtNiAmIHtcblx0XHRib3gtc2hhZG93OiAwcHggMnB4IDBweCAkdGhlbWUtdmlvbGV0O1xuXG5cdH1cblxufVxuXG4vLyBhZGRpdGlvbmFsIHRoZW1lIGFkanVzdG1lbnQgc3R5bGVzXG5cbmJvZHlbY2xhc3MqPVwiZ3JhZGllbnQtXCJdIHtcblx0LmNhcmQtLWZvY3VzZWQge1xuXHRcdGJvcmRlcjogbm9uZTtcblx0fVxuXG5cdC5uYXZiYXIge1xuXHRcdC5idG4tLW91dGxpbmUge1xuXHRcdFx0Ym94LXNoYWRvdzogMCAwIDFweCAwICNmZmY7XG5cdFx0XHRib3JkZXI6IG5vbmU7XG5cblx0XHRcdCY6aG92ZXIge1xuXHRcdFx0XHRib3gtc2hhZG93OiBub25lO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC5jYXJkIHtcblx0XHQuYnRuLS1vdXRsaW5lIHtcblx0XHRcdGJveC1zaGFkb3c6IDAgMCAxcHggMCAjYWFhO1xuXHRcdFx0Ym9yZGVyOiBub25lO1xuXHRcdH1cblx0fVxufVxuXG5ib2R5W2NsYXNzKj1cImdyYWRpZW50LVwiXSxcbmJvZHlbY2xhc3MqPVwidGhlbWUtXCJdIHtcblx0Lm5hdmJhci1zdGlja3ktLW9uIC5idG4ge1xuXHRcdGNvbG9yOiAkY29sb3Itd2hpdGU7XG5cdH1cblxuXHQuZm9ybS1zdWJzY3JpcHRpb24gLmJ0biB7XG5cdFx0Ym9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTdlYWVlO1xuXHR9XG59XG4iLCJcbi8vIGJhc2UgZm9udCBzZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGJhc2UtdW5pdDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDE2O1xuJGJhc2UtbGluZS1oZWlnaHQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDFyZW07XG5cbi8vIGZvbnRzIGZhbWlseVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kZm9udC1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FpbGVyb24nLCBzYW5zLXNlcmlmO1xuJGZvbnQtc2Vjb25kYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICdOb3RvIFNlcmlmJywgc2VyaWY7XG4kZm9udC1ib2R5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ0FpbGVyb24nLCBzYW5zLXNlcmlmO1xuXG4vLyBmb250IGZhbWlseSBhbGxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuJGZvbnQtYWxsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICRmb250LWJvZHksICRmb250LXByaW1hcnk7XG5cbi8qKiEgLS0tLS0gZm9udCBmYW1pbHkgaW5pdCAtLS0tICoqL1xuYm9keSB7XG4gICAgQGluY2x1ZGUgZm9udC1mYWNlKCRmb250LWFsbCk7XG59XG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1wcmltYXJ5O1xufVxuLmJsb2NrcXVvdGUge1xuICBmb250LWZhbWlseTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAkZm9udC1zZWNvbmRhcnk7XG59IiwiXG4vLyBTQ1NTIEltcG9ydFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcInR5cG9ncmFwaHkuc2Nzc1wiO1xuQGltcG9ydCBcImNvbG9yc1wiO1xuQGltcG9ydCBcImJveGVkLWxheW91dFwiO1xuXG4vLyBJbml0XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4lYmctY29sb3ItcHJpbWFyeSB7XG5cdGJhY2tncm91bmQ6ICRjb2xvci1wcmltYXJ5O1xufVxuJWZpbGwtcHJpbWFyeXtcblx0ZmlsbDogJGNvbG9yLXByaW1hcnk7XG59XG4lY29sb3ItcHJpbWFyeSB7XG5cdGNvbG9yOiAkY29sb3ItcHJpbWFyeTtcbn1cbiVib3gtc2hhZG93LXByaW1hcnkge1xuXHRib3gtc2hhZG93OiAwcHggMnB4IDBweCAkY29sb3ItcHJpbWFyeTtcbn1cbi5ib3JkZXItcHJpbWFyeSB7XG5cdGJvcmRlci1jb2xvcjogJGNvbG9yLXByaW1hcnk7XG59XG4lZmlsbC1wcmltYXJ5IHtcblx0ZmlsbDogJGNvbG9yLXByaW1hcnk7XG59XG5cbi8qISBQbGFjZSB5b3VyIGN1c3RvbSBzdHlsZXMgaGVyZS8gYmVsb3cuIFxuICAgIFRoaXMgd2lsbCBtYWtlIGl0IG11Y2ggZWFzaWVyIHRvIHVwZGF0ZSB0aGUgdGVtcGxhdGUgbGF0ZXIgLSB5b3UnbGwgb25seSBuZWVkIHRvIHByZXNlcnZlIFwiNS11c2VyXCIgZm9sZGVyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuIiwiLy8gIENvbG9yIHBhbGV0dGUgXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIE1haW4gQ29sb3JzXG4kY29sb3Itd2hpdGU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2ZmZjtcbiRjb2xvci1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMmY1YmVhO1xuJGNvbG9yLWJsdWUtMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1MTc5ZWM7XG4kY29sb3ItaW5kaWdvOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzNBNkNDNTtcbiRjb2xvci1vbi1saWdodC1wcmltYXJ5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMmMyZTMwO1xuJGNvbG9yLW9uLWxpZ2h0LXNlY29uZGFyeTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1NDU2NWE7XG4kY29sb3Itb24tbGlnaHQtc2Vjb25kYXJ5LTI6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzdlODA4NTtcbiRkYXJrLWJsdWUtZ3JleTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjYzVkMGU2O1xuJGxpZ2h0LWJsdWUtZ3JleTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNlM2U0ZTY7XG4kY2FkaWxsYWM6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2E2NTQ2ZTtcbiRwYXJhZGlzbzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMkE3ODcxO1xuJGNvcmFsOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNmYzVjNDI7XG4kYnJpZ2h0LXllbGxvdzogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Y1ZTY1ODtcbiR2ZXJ5LWxpZ2h0LWJsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZTdlYWVlO1xuJGlyb246ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNEMkQ1REE7XG4kcGFsZS1ncmV5OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2Y2ZjhmOTtcbiRkYXJrLWdyZXk6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMkQzMTM2O1xuJHNsYXRlOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICM1NDVmNzU7XG4kZGFya2JsdWU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzE1MWMzMjtcbiRtaWRuaWdodDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjMDEwODFmO1xuJGNsb3VkLWJ1cnN0OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMxRTI3NDU7XG5cblxuLy8gIFRoZW1lIERlbW8gQ29sb3JzIFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBTaW1wbHkgYWRkIGFueSBvZiBiZWxvdyBDbGFzc2VzIHRvIHRoZSA8Ym9keT4gdGFnXG4vLyBFWEFNUExFOiA8Ym9keSBjbGFzcz1cInRoZW1lLWdyZWVuXCIgZGF0YS1zcHk9XCJzY3JvbGxcIiBkYXRhLXRhcmdldD1cIiNuYXZiYXItbmF2XCI+XG5cblxuLy8gU29saWQgY29sb3JzXG4kdGhlbWUtZ3JlZW46ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIzI3YWU2MDtcbiR0aGVtZS12aW9sZXQ6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjOWI1OWI2O1xuJHRoZW1lLWZpcm96YTogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMxNmEwODU7XG4kdGhlbWUtcmVkOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2U3NGMzYztcbiR0aGVtZS1vcmFuZ2U6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjZWU4NjYzO1xuXG4vLyBncmFkaWVudCBjb2xvcnNcbiRncmFkaWVudC0xOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KC00NWRlZywgIzJmMWNlMCAwJSwgIzUzYTBmZCA1MCUsICM1MWVjYTUgMTAwJSk7XG4kZ3JhZGllbnQtMjogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVhci1ncmFkaWVudCg5MGRlZywgIzAwOTlGRiAwJSwgIzY2MTBmMiAxMDAlKTtcbiRncmFkaWVudC0zOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KDE1MGRlZywgIzJkMTU4MiAwJSwgIzE5YTBmZiAxMDAlKTtcbiRncmFkaWVudC00OiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCAjNjQyQjczIDAlLCAjQzY0MjZFIDEwMCUpO1xuJGdyYWRpZW50LTU6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCAjMUE2Qjg5IDAlLCAjMkE3ODcxIDEwMCUpO1xuJGdyYWRpZW50LTY6ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lYXItZ3JhZGllbnQoLTEzNGRlZywgI0M4NkRENyAwJSwgIzMwMjNBRSAxMDAlKTsiXX0= */
