@charset "UTF-8";
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
@import url("https://fonts.googleapis.com/css2?family=Alexandria:wght@100;200;300;400;500;600;700;800;900&family=Open+Sans:ital,wght@0,300;0,400;0,500;0,600;0,700;0,800;1,300;1,400;1,500;1,600;1,700;1,800&display=swap");
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

@font-face {
  font-family: 'Brownhill Script';
  src: url("https://fonts.ocozzio.com/Brownhill-Script/BrownhillScript.woff2") format("woff2"), url("https://fonts.ocozzio.com/Brownhill-Script/BrownhillScript.woff") format("woff");
  font-weight: normal;
  font-style: normal;
  font-display: swap; }

html, body {
  font-family: "Open Sans", sans-serif;
  font-size: 16px;
  font-weight: 400;
  color: #212121;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  background: #FFFFFF;
  scroll-behavior: smooth; }

#body-wrapper {
  margin: 0 auto; }

.container-responsive {
  width: 100%;
  max-width: 1010px;
  margin-right: auto;
  margin-left: auto; }

#page-header {
  padding: 60px;
  padding-bottom: 0 !important; }
  @media (max-width: 992px) {
    #page-header {
      padding: 40px; } }
  @media (max-width: 767px) {
    #page-header {
      padding: 20px; } }
  #page-header h1 {
    margin: 0;
    padding: 0; }

#page-content section,
#page-footer {
  padding: 60px; }
  #page-content section .container-responsive,
  #page-footer .container-responsive {
    max-width: 1010px; }
  #page-content section .row,
  #page-footer .row {
    padding: 0 20px; }
  @media (max-width: 992px) {
    #page-content section,
    #page-footer {
      padding: 40px; } }
  @media (max-width: 767px) {
    #page-content section,
    #page-footer {
      padding: 20px; } }

a {
  color: inherit;
  transition: color 0.2s; }
  a:hover {
    text-decoration: none;
    color: #97A83A; }

p {
  font-size: inherit; }
  p a {
    font-weight: bolder;
    color: #97A83A; }
    p a:hover {
      text-decoration: underline; }

hr {
  margin-top: 2rem;
  margin-bottom: 2rem; }

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

/*
|---------------
| Helper Classes
|---------------
*/
.serif {
  font-family: "Cardo", serif; }

.sans,
.sansserif,
.sans-serif {
  font-family: "Open Sans", sans-serif; }

.bg {
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
  padding-bottom: 40%; }

.embed-container {
  position: relative;
  padding-bottom: 56.25%;
  overflow: hidden;
  max-width: 100%;
  height: auto; }

.embed-container iframe,
.embed-container object,
.embed-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.fill-right, .fill-left {
  position: relative; }

.fill-right:after, .fill-left:before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  width: 50vw;
  background: inherit; }

.fill-right:after {
  left: 100%; }

.fill-left:before {
  right: 100%; }

#body-wrapper .btn, #body-wrapper .hs-button {
  font-size: 1rem;
  border-radius: 3.3rem;
  padding: 0.75em 3em;
  line-height: 1.3em;
  box-shadow: none;
  font-family: "Open Sans", sans-serif;
  font-weight: 700;
  border: 2px solid transparent;
  background-clip: border-box;
  text-transform: uppercase;
  will-change: transform;
  background-color: #97A83A; }
  #body-wrapper .btn, #body-wrapper .btn span, #body-wrapper .btn .fl-button-text, #body-wrapper .btn *, #body-wrapper .hs-button, #body-wrapper .hs-button span, #body-wrapper .hs-button .fl-button-text, #body-wrapper .hs-button * {
    transition: all 0.5s cubic-bezier(0.19, 1, 0.12, 1); }
  #body-wrapper .btn:hover, #body-wrapper .hs-button:hover {
    transform: translatey(-0.125rem);
    box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.2); }
  #body-wrapper .btn, #body-wrapper .btn span, #body-wrapper .btn .fl-button-text, #body-wrapper .btn *, #body-wrapper .hs-button, #body-wrapper .hs-button span, #body-wrapper .hs-button .fl-button-text, #body-wrapper .hs-button * {
    color: #FFFFFF; }
  #body-wrapper .btn:hover, #body-wrapper .hs-button:hover {
    background-color: #a8bb41; }
    #body-wrapper .btn:hover, #body-wrapper .btn:hover span, #body-wrapper .btn:hover .fl-button-text, #body-wrapper .btn:hover *, #body-wrapper .hs-button:hover, #body-wrapper .hs-button:hover span, #body-wrapper .hs-button:hover .fl-button-text, #body-wrapper .hs-button:hover * {
      color: #FFFFFF; }
  #body-wrapper .btn.btn-hollow, #body-wrapper .hs-button.btn-hollow {
    background-color: transparent;
    border-color: inherit; }
    #body-wrapper .btn.btn-hollow, #body-wrapper .btn.btn-hollow span, #body-wrapper .btn.btn-hollow .fl-button-text, #body-wrapper .btn.btn-hollow *, #body-wrapper .hs-button.btn-hollow, #body-wrapper .hs-button.btn-hollow span, #body-wrapper .hs-button.btn-hollow .fl-button-text, #body-wrapper .hs-button.btn-hollow * {
      color: inherit; }
    #body-wrapper .btn.btn-hollow:hover, #body-wrapper .hs-button.btn-hollow:hover {
      background-color: white;
      border-color: white; }
      #body-wrapper .btn.btn-hollow:hover, #body-wrapper .btn.btn-hollow:hover span, #body-wrapper .btn.btn-hollow:hover .fl-button-text, #body-wrapper .btn.btn-hollow:hover *, #body-wrapper .hs-button.btn-hollow:hover, #body-wrapper .hs-button.btn-hollow:hover span, #body-wrapper .hs-button.btn-hollow:hover .fl-button-text, #body-wrapper .hs-button.btn-hollow:hover * {
        color: #97A83A; }
  #body-wrapper .btn.btn-large, #body-wrapper .hs-button.btn-large {
    font-size: 20px; }

.navbar-toggler {
  padding: 0.75rem 0.531rem !important;
  transition: background 0.2s;
  background: transparent !important;
  border-radius: 0;
  border: 0 !important; }

.burger-icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .burger-icon, .burger-icon::before, .burger-icon::after {
    display: block;
    width: 23px;
    height: 2px;
    background-color: #212121;
    outline: 1px solid transparent;
    border-radius: 10px;
    -webkit-transition-property: background-color, -webkit-transform;
    -moz-transition-property: background-color, -moz-transform;
    -o-transition-property: background-color, -o-transform;
    transition-property: background-color, transform;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  .burger-icon::before, .burger-icon::after {
    position: absolute;
    content: ""; }
  .burger-icon::before {
    top: -7px; }
  .burger-icon::after {
    top: 7px; }

.navbar-toggler:not(.collapsed) .burger-icon {
  position: relative;
  margin-top: 7px;
  margin-bottom: 7px;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  .navbar-toggler:not(.collapsed) .burger-icon, .navbar-toggler:not(.collapsed) .burger-icon::before, .navbar-toggler:not(.collapsed) .burger-icon::after {
    display: block;
    width: 23px;
    height: 2px;
    background-color: #212121;
    outline: 1px solid transparent;
    border-radius: 10px;
    -webkit-transition-property: background-color, -webkit-transform;
    -moz-transition-property: background-color, -moz-transform;
    -o-transition-property: background-color, -o-transform;
    transition-property: background-color, transform;
    -webkit-transition-duration: 0.3s;
    -moz-transition-duration: 0.3s;
    -o-transition-duration: 0.3s;
    transition-duration: 0.3s; }
  .navbar-toggler:not(.collapsed) .burger-icon::before, .navbar-toggler:not(.collapsed) .burger-icon::after {
    position: absolute;
    content: ""; }
  .navbar-toggler:not(.collapsed) .burger-icon::before {
    top: -7px; }
  .navbar-toggler:not(.collapsed) .burger-icon::after {
    top: 7px; }
  .navbar-toggler:not(.collapsed) .burger-icon {
    background-color: transparent; }
  .navbar-toggler:not(.collapsed) .burger-icon::before {
    -webkit-transform: translateY(7px) rotate(45deg);
    -moz-transform: translateY(7px) rotate(45deg);
    -ms-transform: translateY(7px) rotate(45deg);
    -o-transform: translateY(7px) rotate(45deg);
    transform: translateY(7px) rotate(45deg); }
  .navbar-toggler:not(.collapsed) .burger-icon::after {
    -webkit-transform: translateY(-7px) rotate(-45deg);
    -moz-transform: translateY(-7px) rotate(-45deg);
    -ms-transform: translateY(-7px) rotate(-45deg);
    -o-transform: translateY(-7px) rotate(-45deg);
    transform: translateY(-7px) rotate(-45deg); }

nav.navbar {
  padding: 0; }
  nav.navbar > .container-responsive {
    padding: 20px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between; }
  nav.navbar .navbar-nav {
    margin-left: auto; }
  @media (min-width: 767px) {
    nav.navbar {
      padding: 0 20px; } }

#body-wrapper h1 {
  color: #FFFFFF;
  font-size: 2.375rem; }

#body-wrapper h2 {
  color: #97A83A;
  font-size: 1.5rem;
  font-weight: bold; }

#body-wrapper h3 {
  font-size: 1.875rem;
  color: #FFFFFF; }

#body-wrapper h4 {
  color: #385888; }

#body-wrapper .h2-blue {
  color: #385888; }

#body-wrapper .blue-italic {
  font-style: italic;
  color: #4F82C3;
  font-weight: bold; }

#body-wrapper .carousel-control {
  display: none;
  background-color: #97A83A;
  height: 50px;
  width: 50px;
  display: flex;
  align-items: center;
  margin-top: 200px;
  border-radius: 50px; }
  #body-wrapper .carousel-control-prev {
    margin-left: 10px;
    display: none; }
  #body-wrapper .carousel-control-next {
    margin-right: 10px;
    display: none; }

#body-wrapper .carousel-control-next-icon,
#body-wrapper .carousel-control-prev-icon {
  background-color: #97A83A;
  border-radius: 50px; }

#body-wrapper #top-header {
  background-image: url(../images/hero-banner.webp);
  background-position: top;
  background-repeat: no-repeat;
  background-size: cover;
  overflow: hidden; }
  @media (min-width: 991px) {
    #body-wrapper #top-header {
      min-height: 611px; } }
  #body-wrapper #top-header .navbar {
    color: #fff;
    background: linear-gradient(to bottom, rgba(56, 88, 136, 0.9) 0%, rgba(56, 88, 136, 0) 100%); }
  #body-wrapper #top-header .navbar-nav {
    gap: 1em 2em; }
  #body-wrapper #top-header .nav-link {
    text-transform: uppercase;
    padding: 0; }
  #body-wrapper #top-header .navbar-toggler:not(.collapsed) .burger-icon {
    background-color: transparent; }
  #body-wrapper #top-header b {
    font-size: 1.3em;
    filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.16)); }
  #body-wrapper #top-header .row {
    width: 100%; }
  #body-wrapper #top-header .logo {
    max-width: 200px; }
  #body-wrapper #top-header .container-responsive {
    max-width: 1200px; }
  #body-wrapper #top-header .col-lg-7 {
    padding-bottom: 60px; }
  #body-wrapper #top-header .row {
    align-items: center; }
  #body-wrapper #top-header h1 {
    position: relative;
    z-index: 1;
    color: #fff;
    font-family: 'Brownhill Script';
    font-size: 7.375rem;
    margin: 0;
    line-height: 1.5em; }
  #body-wrapper #top-header .gradient-bg {
    position: relative;
    font-size: 1.25rem;
    font-weight: bold;
    line-height: 1.35;
    color: #fff;
    filter: drop-shadow(0 3px 6px rgba(0, 0, 0, 0.16)); }
    #body-wrapper #top-header .gradient-bg p {
      position: relative;
      z-index: 2; }
    #body-wrapper #top-header .gradient-bg::before {
      content: '';
      position: absolute;
      z-index: 0;
      top: 50%;
      left: 20%;
      transform: translate(-50%, -50%);
      width: 150%;
      height: 200%;
      background: radial-gradient(Ellipse closest-side, #6b913d 0%, rgba(107, 145, 61, 0.76) 67%, rgba(107, 145, 61, 0) 100%); }
  #body-wrapper #top-header .tight {
    width: 100%;
    font-weight: 400;
    font-size: 1.125rem;
    max-width: 400px; }
  @media (max-width: 991px) {
    #body-wrapper #top-header .responsive-br {
      display: none; } }
  #body-wrapper #top-header .burger-icon, #body-wrapper #top-header .burger-icon::before, #body-wrapper #top-header .burger-icon::after {
    background-color: #fff; }
  @media (max-width: 1200px) {
    #body-wrapper #top-header .gradient-bg::before {
      left: 40%; } }
  @media (max-width: 992px) {
    #body-wrapper #top-header h1 {
      font-size: 8rem; }
    #body-wrapper #top-header p {
      font-size: 1rem; } }
  @media (max-width: 767px) {
    #body-wrapper #top-header h1 {
      font-size: 6rem; }
    #body-wrapper #top-header .show .navbar-nav {
      margin-top: 0em;
      flex-direction: row;
      justify-content: space-between;
      background: linear-gradient(to bottom, rgba(56, 88, 136, 0) 0%, rgba(56, 88, 136, 0.5) 25%, rgba(56, 88, 136, 0.9) 50%, rgba(56, 88, 136, 0.5) 75%, rgba(56, 88, 136, 0) 100%);
      padding-block: 1em;
      gap: 1em;
      padding-inline: 1em;
      margin-inline: -20px; } }
  @media (max-width: 576px) {
    #body-wrapper #top-header h1 {
      font-size: 4rem; } }

#body-wrapper #experince {
  text-align: center;
  padding-bottom: 0; }
  #body-wrapper #experince .col-lg-4 {
    margin-block: 30px; }
  #body-wrapper #experince .row {
    align-items: flex-start; }
  #body-wrapper #experince .icon-container {
    margin-bottom: 0; }
  #body-wrapper #experince .icon-container img {
    width: 100%;
    max-width: 30px;
    height: auto;
    margin-bottom: 1.5em; }
  #body-wrapper #experince p {
    text-wrap: balance;
    font-weight: bold;
    line-height: 1.375em; }

#body-wrapper #discover {
  color: #FFFFFF; }
  #body-wrapper #discover h3 {
    text-wrap: balance; }
  #body-wrapper #discover .cursive {
    font-size: 2em;
    font-family: 'Brownhill Script'; }
  #body-wrapper #discover .container-responsive {
    background: #9db41e;
    background: linear-gradient(90deg, #9db41e 0%, #65942c 100%);
    display: flex;
    justify-content: center;
    border-radius: 10px;
    padding: 50px 70px; }
  #body-wrapper #discover .row {
    width: 100%; }
  #body-wrapper #discover a.btn {
    background-color: #FFFFFF;
    color: #4F82C3; }
  #body-wrapper #discover .btn-icon-star::after {
    content: "";
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    line-height: 1em;
    border: 0;
    margin-left: 0;
    padding-left: 1em;
    color: #97A83A; }

#body-wrapper #poster-top .row {
  align-items: center; }

#body-wrapper #poster-top a {
  margin-top: 30px;
  margin-bottom: 30px; }

#body-wrapper #what-clients-say {
  background-color: #f5f5f5; }
  #body-wrapper #what-clients-say h2 {
    font-size: 1.875rem;
    color: #6B913D;
    text-align: center; }
  #body-wrapper #what-clients-say .testimonial-flex {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: center;
    background-color: white;
    padding: 0 30px 30px;
    margin-top: 65px; }
  #body-wrapper #what-clients-say .quoter {
    text-align: center;
    margin-top: 36px;
    padding-bottom: 60px; }
    #body-wrapper #what-clients-say .quoter p {
      margin-bottom: 0; }
  #body-wrapper #what-clients-say .carousel-inner {
    filter: drop-shadow(0px 5px 8px rgba(0, 0, 0, 0.16));
    min-height: 500px; }
  #body-wrapper #what-clients-say .testimonial-slider .carousel-indicators li {
    background-color: #FFFFFF;
    border: 1px solid #97A83A;
    padding-top: 5px;
    border-radius: 33px;
    width: 13px;
    height: 13px; }
  #body-wrapper #what-clients-say .testimonial-slider .carousel-indicators .active {
    background-color: #97A83A; }
  #body-wrapper #what-clients-say img {
    width: 54px;
    margin-bottom: 30px;
    margin-top: -20px; }
  #body-wrapper #what-clients-say .testimonial-text {
    padding: 0 34px; }
  @media only screen and (max-width: 600px) {
    #body-wrapper #what-clients-say .carousel-item.active {
      min-height: 90vh !important; } }

#body-wrapper #contact-form {
  background-color: #385888;
  padding-top: 50px;
  padding-bottom: 50px;
  color: #FFFFFF;
  text-align: center; }
  #body-wrapper #contact-form .boldened {
    font-size: 1.5rem;
    margin: 1em 0 2em; }
  #body-wrapper #contact-form p {
    margin-bottom: 0; }
  #body-wrapper #contact-form h2 {
    font-size: 1.875rem;
    color: #FFFFFF; }
  #body-wrapper #contact-form .form-container {
    max-width: 620px;
    margin: 20px auto 0; }
  #body-wrapper #contact-form #message {
    height: 150px; }
  #body-wrapper #contact-form button.btn.btn-primary {
    margin-top: 30px; }
  #body-wrapper #contact-form .hs-input {
    background-color: #fff;
    border-radius: 13px;
    padding: 1.25em 1em;
    border: 1px transparent; }
  #body-wrapper #contact-form textarea {
    overflow: auto;
    width: 100%;
    height: 20vh; }
  #body-wrapper #contact-form input {
    width: 100%;
    padding: 10px; }
  #body-wrapper #contact-form .hs-button {
    border-radius: 50px;
    max-width: 372px; }

#body-wrapper #page-footer {
  background-color: #264a74;
  text-align: center;
  padding: 30px; }
  #body-wrapper #page-footer * {
    color: #FFFFFF; }
  #body-wrapper #page-footer img {
    width: 24px; }
  #body-wrapper #page-footer a {
    font-weight: inherit; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsImJhc2UvX3ZhcmlhYmxlcy5zY3NzIiwiYmFzZS9fbWl4aW5zLnNjc3MiLCJiYXNlL19mb250cy5zY3NzIiwiYmFzZS9fZ2xvYmFscy5zY3NzIiwiYmFzZS9fb3ZlcnJpZGVzLnNjc3MiLCJwYXJ0cy9fYnV0dG9ucy5zY3NzIiwicGFydHMvX25hdi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIkBpbXBvcnQgJy4uLy4uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZSc7XHJcblxyXG5AaW1wb3J0ICdiYXNlL3ZhcmlhYmxlcy5zY3NzJztcclxuQGltcG9ydCAnYmFzZS9taXhpbnMuc2Nzcyc7XHJcbkBpbXBvcnQgJ2Jhc2UvZm9udHMnO1xyXG5cclxuLy8gdmVuZG9yc1xyXG5cclxuLy8gZ2xvYmFscyBhbmQgb3ZlcnJpZGVzXHJcbkBpbXBvcnQgJ2Jhc2UvZ2xvYmFscy5zY3NzJztcclxuQGltcG9ydCAnYmFzZS9vdmVycmlkZXMuc2Nzcyc7XHJcblxyXG4vLyBwYXJ0c1xyXG5AaW1wb3J0ICdwYXJ0cy9idXR0b25zJztcclxuQGltcG9ydCAncGFydHMvbmF2JztcclxuXHJcbiNib2R5LXdyYXBwZXIge1xyXG4gICAgaDEge1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAyLjM3NXJlbTtcclxuICAgIH1cclxuXHJcbiAgICBoMiB7XHJcbiAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcblxyXG4gICAgaDMge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XHJcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgIH1cclxuXHJcbiAgICBoNCB7XHJcbiAgICAgICAgY29sb3I6ICRibHVlO1xyXG4gICAgfVxyXG5cclxuICAgIC5oMi1ibHVlIHtcclxuICAgICAgICBjb2xvcjogJGJsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgLmJsdWUtaXRhbGljIHtcclxuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgfVxyXG5cclxuICAgIC5jYXJvdXNlbC1jb250cm9sIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5N0E4M0E7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIHdpZHRoOiA1MHB4O1xyXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBtYXJnaW4tdG9wOiAyMDBweDtcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG5cclxuICAgICAgICAmLXByZXYge1xyXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcclxuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLW5leHQge1xyXG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgLmNhcm91c2VsLWNvbnRyb2wtbmV4dC1pY29uLFxyXG4gICAgLmNhcm91c2VsLWNvbnRyb2wtcHJldi1pY29uIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTdBODNBO1xyXG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwcHg7XHJcbiAgICB9XHJcblxyXG4gICAgI3RvcC1oZWFkZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWFnZXMvaGVyby1iYW5uZXIud2VicCk7XHJcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wO1xyXG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA5OTFweCkge1xyXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2MTFweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXZiYXIge1xyXG4gICAgICAgICAgICBjb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSg1Niw4OCwxMzYsMC45KSAwJSwgcmdiYSg1Niw4OCwxMzYsMCkgMTAwJSk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgICAgIGdhcDogMWVtIDJlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5uYXYtbGluayB7XHJcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAubmF2YmFyLXRvZ2dsZXI6bm90KC5jb2xsYXBzZWQpIC5idXJnZXItaWNvbiB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgYiB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4zZW07XHJcbiAgICAgICAgICAgIGZpbHRlcjogZHJvcC1zaGFkb3coJGJveC1zaGFkb3cpO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmxvZ28ge1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmNvbnRhaW5lci1yZXNwb25zaXZlIHtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMjAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY29sLWxnLTcge1xyXG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yb3cge1xyXG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaDEge1xyXG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0Jyb3duaGlsbCBTY3JpcHQnO1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDcuMzc1cmVtO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVlbTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ncmFkaWVudC1iZyB7XHJcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzU7XHJcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgM3B4IDZweCByZ2JhKDAsMCwwLDAuMTYpKTtcclxuXHJcbiAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDIwJTtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE1MCU7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwMCU7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiByYWRpYWwtZ3JhZGllbnQoRWxsaXBzZSBjbG9zZXN0LXNpZGUsIHJnYmEoMTA3LDE0NSw2MSwxKSAwJSwgcmdiYSgxMDcsMTQ1LDYxLDAuNzYpIDY3JSwgcmdiYSgxMDcsMTQ1LDYxLDApIDEwMCUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGlnaHQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcclxuICAgICAgICAgICAgbWF4LXdpZHRoOiA0MDBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5yZXNwb25zaXZlLWJyIHtcclxuICAgICAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDk5MXB4KSB7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnVyZ2VyLWljb24sIC5idXJnZXItaWNvbjo6YmVmb3JlLCAuYnVyZ2VyLWljb246OmFmdGVyIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYSggbWF4LXdpZHRoOiAxMjAwcHgpIHtcclxuICAgICAgICAgICAgLmdyYWRpZW50LWJnOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogNDAlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA5OTJweCkge1xyXG4gICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDhyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBtZWRpYShtYXgtd2lkdGg6NzY3cHgpIHtcclxuICAgICAgICAgICAgaDEge1xyXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2cmVtO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAuc2hvdyAubmF2YmFyLW5hdiB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwZW07XHJcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSg1Niw4OCwxMzYsMCkgMCUsIHJnYmEoNTYsODgsMTM2LDAuNSkgMjUlLCByZ2JhKDU2LDg4LDEzNiwwLjkpIDUwJSwgcmdiYSg1Niw4OCwxMzYsMC41KSA3NSUsICByZ2JhKDU2LDg4LDEzNiwwKSAxMDAlKTtcclxuICAgICAgICAgICAgICAgIHBhZGRpbmctYmxvY2s6IDFlbTtcclxuICAgICAgICAgICAgICAgIGdhcDogMWVtO1xyXG4gICAgICAgICAgICAgICAgcGFkZGluZy1pbmxpbmU6IDFlbTtcclxuICAgICAgICAgICAgICAgIG1hcmdpbi1pbmxpbmU6IC0yMHB4O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAbWVkaWEobWF4LXdpZHRoOiA1NzZweCkge1xyXG4gICAgICAgICAgICBoMSB7XHJcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDRyZW07XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICAgICNleHBlcmluY2Uge1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcclxuXHJcbiAgICAgICAgLmNvbC1sZy00IHtcclxuICAgICAgICAgICAgbWFyZ2luLWJsb2NrOiAzMHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLnJvdyB7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgLmljb24tY29udGFpbmVyIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLmljb24tY29udGFpbmVyIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMwcHg7XHJcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgICB0ZXh0LXdyYXA6IGJhbGFuY2U7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zNzVlbTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgI2Rpc2NvdmVyIHtcclxuICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG5cclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICAgIHRleHQtd3JhcDogYmFsYW5jZTtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmN1cnNpdmUge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDJlbTtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdCcm93bmhpbGwgU2NyaXB0JztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5jb250YWluZXItcmVzcG9uc2l2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYigxNTcsIDE4MCwgMzApO1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHJnYmEoMTU3LCAxODAsIDMwLCAxKSAwJSwgcmdiYSgxMDEsIDE0OCwgNDQsIDEpIDEwMCUpO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICAgICAgICAgICAgcGFkZGluZzogNTBweCA3MHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhLmJ0biB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICAgICAgY29sb3I6ICRsaWdodC1ibHVlXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuYnRuLWljb24tc3Rhcjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWF3ZXNvbWUoJ1xcZjE0NCcpO1xyXG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxuICAgICAgICAgICAgY29sb3I6ICRhY2NlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxuXHJcbiAgICAjcG9zdGVyLXRvcHtcclxuICAgICAgICAucm93IHtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcblxyXG4gICAgI3doYXQtY2xpZW50cy1zYXkge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICM2QjkxM0Q7XHJcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXN0aW1vbmlhbC1mbGV4IHtcclxuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XHJcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMzBweDtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogNjVweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5xdW90ZXIge1xyXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM2cHg7XHJcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xyXG5cclxuICAgICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAuY2Fyb3VzZWwtaW5uZXIge1xyXG4gICAgICAgICAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KCRib3gtc2hhZG93KTtcclxuICAgICAgICAgICAgbWluLWhlaWdodDogNTAwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAudGVzdGltb25pYWwtc2xpZGVyIC5jYXJvdXNlbC1pbmRpY2F0b3JzIGxpIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xyXG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYWNjZW50O1xyXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNXB4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzM3B4O1xyXG4gICAgICAgICAgICB3aWR0aDogMTNweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxM3B4O1xyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXN0aW1vbmlhbC1zbGlkZXIgLmNhcm91c2VsLWluZGljYXRvcnMgLmFjdGl2ZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NlbnRcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtMjBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC50ZXN0aW1vbmlhbC10ZXh0IHtcclxuICAgICAgICAgICAgcGFkZGluZzogMCAzNHB4O1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2MDBweCkge1xyXG4gICAgICAgICAgICAuY2Fyb3VzZWwtaXRlbS5hY3RpdmUge1xyXG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogOTB2aCAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICNjb250YWN0LWZvcm0ge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG4gICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA1MHB4O1xyXG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICAgICAgICAuYm9sZGVuZWQge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgICAgICAgICAgbWFyZ2luOiAxZW0gMCAyZW07XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBwIHtcclxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcclxuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5mb3JtLWNvbnRhaW5lciB7XHJcbiAgICAgICAgICAgIG1heC13aWR0aDogNjIwcHg7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAjbWVzc2FnZSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMTUwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBidXR0b24uYnRuLmJ0bi1wcmltYXJ5IHtcclxuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgXHJcbiAgICAgICAgLmhzLWlucHV0IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTNweDtcclxuICAgICAgICAgICAgcGFkZGluZzogMS4yNWVtIDFlbTtcclxuICAgICAgICAgICAgYm9yZGVyOiAxcHggdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0ZXh0YXJlYSB7XHJcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiAyMHZoO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5ocy1idXR0b24ge1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xyXG4gICAgICAgICAgICBtYXgtd2lkdGg6IDM3MnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAjcGFnZS1mb290ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjRhNzQ7XHJcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XHJcblxyXG4gICAgICAgICoge1xyXG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaW1nIHtcclxuICAgICAgICAgICAgd2lkdGg6IDI0cHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBhIHtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbiAgICAgICAgfVxyXG5cclxuICAgIH1cclxufSIsIi8qISBub3JtYWxpemUuY3NzIHY4LjAuMSB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpbiBpT1MuXG4gKi9cblxuaHRtbCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKiBTZWN0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBSZW5kZXIgdGhlIGBtYWluYCBlbGVtZW50IGNvbnNpc3RlbnRseSBpbiBJRS5cbiAqL1xuXG5tYWluIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIENocm9tZSA1Ny1cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcblt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cImJ1dHRvblwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gKi9cblxuYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJidXR0b25cIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmZpZWxkc2V0IHtcbiAgcGFkZGluZzogMC4zNWVtIDAuNzVlbSAwLjYyNWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDEgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgMTArLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAuXG4gKi9cblxuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gKi9cblxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAqL1xuXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xufVxuXG4vKiBJbnRlcmFjdGl2ZVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFIDEwKywgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIE1pc2NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTArLlxuICovXG5cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC5cbiAqL1xuXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvL0NvbG9yc1xyXG4kd2hpdGU6ICNGRkZGRkY7XHJcbiRibGFjazogIzIxMjEyMTtcclxuJGJsYWNrMjogIzEzMUIyODtcclxuJGdyYXk6ICNGM0YzRjM7XHJcbiRibHVlOiAjMzg1ODg4OyBcclxuJGxpZ2h0LWJsdWU6ICM0RjgyQzM7XHJcbiRncmVlbjogIzZCOTEzRDtcclxuJGdyZWVuMjogIzk3QTgzQTtcclxuXHJcbiR0ZXh0OiAkYmxhY2s7XHJcblxyXG4kYWNjZW50OiAjOTdBODNBO1xyXG5cclxuLy8gVHlwZVxyXG4kc2FuczogJ09wZW4gU2FucycsIHNhbnMtc2VyaWY7XHJcbiRzZXJpZjogJ0NhcmRvJywgc2VyaWY7XHJcblxyXG4kcHJpbWFyeTogJHNhbnM7XHJcblxyXG4vLyBPdGhlciB2YXJzXHJcbiR0cmFuc2l0aW9uOiBhbGwgMC4ycztcclxuJGJveC1zaGFkb3c6IDBweCA1cHggOHB4IHJnYmEoMCwwLDAsMC4xNik7XHJcbiRlYXNlLW91dDogY3ViaWMtYmV6aWVyKDAuMTksIDEsIDAuMTIsIDEpO1xyXG4kZWFzZS1vdXQtZXh0cmVtZTogY3ViaWMtYmV6aWVyKDAuMTUsMC45LDAuMTUsMSk7XHJcbiRlYXNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzcsIDAsIDAuMTc1LCAxKTtcclxuJHJhZGl1czogMy4zcmVtO1xyXG5cclxuLy8gc2VsZWN0b3JzIFxyXG4kaGVhZGVyczogXCJoMSwgaDIsIGgzLCBoNCwgaDUsIGg2XCI7IiwiXHJcbi8vIGZvbnQgYXdlc29tZSBwc3Vkb1xyXG5AbWl4aW4gZm9udC1hd2Vzb21lKCRpY29uOiAnJykge1xyXG5cdGNvbnRlbnQ6ICRpY29uO1xyXG5cdGZvbnQtZmFtaWx5OiAnRm9udCBBd2Vzb21lIDUgRnJlZSc7XHJcblx0Zm9udC13ZWlnaHQ6IDkwMDtcclxuXHRsaW5lLWhlaWdodDogMWVtO1xyXG5cdGJvcmRlcjogMDtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxufVxyXG5cclxuLy8gQnVyZ2VyIHBhcnRzXHJcbi8vXHJcbi8vICgtLS0pIHRvcCAgICAtPiAmOjpiZWZvcmVcclxuLy8gWy0tLV0gbWlkZGxlIC0+ICZcclxuLy8gKC0tLSkgYm90dG9tIC0+ICY6OmFmdGVyXHJcblxyXG5cclxuLy8gVmVuZG9yIHByZWZpeGVzXHJcbiRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzOiB0cnVlICFkZWZhdWx0O1xyXG5cclxuLy8gQnVyZ2VyXHJcbkBtaXhpbiBidXJnZXIoJHdpZHRoOiAzMHB4LCAkaGVpZ2h0OiA1cHgsICRndXR0ZXI6IDNweCwgJGNvbG9yOiAjMDAwLCAkYm9yZGVyLXJhZGl1czogMCwgJHRyYW5zaXRpb24tZHVyYXRpb246IC4zcykge1xyXG5cdCRidXJnZXItaGVpZ2h0OiAkaGVpZ2h0ICFnbG9iYWw7XHJcblx0JGJ1cmdlci1ndXR0ZXI6ICRndXR0ZXIgIWdsb2JhbDtcclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi10b3A6ICRoZWlnaHQgKyAkZ3V0dGVyO1xyXG5cdG1hcmdpbi1ib3R0b206ICRoZWlnaHQgKyAkZ3V0dGVyO1xyXG5cclxuXHRAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xyXG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuXHRcdC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0XHQtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XHJcblx0fVxyXG5cdHVzZXItc2VsZWN0OiBub25lO1xyXG5cclxuXHQvLyAxLiBGaXhlcyBqYWdnZWQgZWRnZXMgaW4gRmlyZWZveCwgc2VlIGlzc3VlICMxMC5cclxuXHQmLCAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuXHRcdG91dGxpbmU6IDFweCBzb2xpZCB0cmFuc3BhcmVudDsgLy8gMVxyXG5cdFx0QGlmICRib3JkZXItcmFkaXVzICE9IDAge1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAkYm9yZGVyLXJhZGl1cztcclxuXHRcdH1cclxuXHJcblx0XHRAaWYgJHNhc3MtYnVyZ2VyLWFkZC12ZW5kb3ItcHJlZml4ZXMge1xyXG5cdFx0XHQtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC13ZWJraXQtdHJhbnNmb3JtO1xyXG5cdFx0XHQtbW96LXRyYW5zaXRpb24tcHJvcGVydHk6IGJhY2tncm91bmQtY29sb3IsIC1tb3otdHJhbnNmb3JtO1xyXG5cdFx0XHQtby10cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCAtby10cmFuc2Zvcm07XHJcblx0XHR9XHJcblx0XHR0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLWNvbG9yLCB0cmFuc2Zvcm07XHJcblxyXG5cdFx0QGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcclxuXHRcdFx0LXdlYmtpdC10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuXHRcdFx0LW1vei10cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuXHRcdFx0LW8tdHJhbnNpdGlvbi1kdXJhdGlvbjogJHRyYW5zaXRpb24tZHVyYXRpb247XHJcblx0XHR9XHJcblx0XHR0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdHJhbnNpdGlvbi1kdXJhdGlvbjtcclxuXHR9XHJcblxyXG5cdCY6OmJlZm9yZSwgJjo6YWZ0ZXIge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0Y29udGVudDogXCJcIjtcclxuXHR9XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHR0b3A6IC0oJGhlaWdodCArICRndXR0ZXIpO1xyXG5cdH1cclxuXHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0dG9wOiAkaGVpZ2h0ICsgJGd1dHRlcjtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vLyBTZWxlY3QgcGFydHMgb2YgdGhlIGJ1cmdlclxyXG5AbWl4aW4gYnVyZ2VyLXBhcnRzIHtcclxuXHQmLCAmOjpiZWZvcmUsICY6OmFmdGVyIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGJ1cmdlci10b3Age1xyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRAY29udGVudDtcclxuXHR9XHJcbn1cclxuXHJcbkBtaXhpbiBidXJnZXItbWlkZGxlIHtcclxuXHQmIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG5cclxuQG1peGluIGJ1cmdlci1ib3R0b20ge1xyXG5cdCY6OmFmdGVyIHtcclxuXHRcdEBjb250ZW50O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8vIEJ1cmdlciBhbmltYXRpb25zXHJcbkBtaXhpbiBidXJnZXItdG8tY3Jvc3MoJGNvbG9yOiBhdXRvKSB7XHJcblx0JiB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblx0QGlmICgkY29sb3IgIT0gYXV0bykge1xyXG5cdFx0Jjo6YmVmb3JlLCAmOjphZnRlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcclxuXHRcdH1cclxuXHR9XHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdEBpZiAkc2Fzcy1idXJnZXItYWRkLXZlbmRvci1wcmVmaXhlcyB7XHJcblx0XHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcblx0XHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcblx0XHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcclxuXHRcdFx0LW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRidXJnZXItZ3V0dGVyICsgJGJ1cmdlci1oZWlnaHQpIHJvdGF0ZSg0NWRlZyk7XHJcblx0XHR9XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkgcm90YXRlKDQ1ZGVnKTtcclxuXHR9XHJcblx0Jjo6YWZ0ZXIge1xyXG5cdFx0QGlmICRzYXNzLWJ1cmdlci1hZGQtdmVuZG9yLXByZWZpeGVzIHtcclxuXHRcdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcblx0XHRcdC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHQtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0oJGJ1cmdlci1ndXR0ZXIgKyAkYnVyZ2VyLWhlaWdodCkpIHJvdGF0ZSgtNDVkZWcpO1xyXG5cdFx0XHQtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcblx0XHR9XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSgkYnVyZ2VyLWd1dHRlciArICRidXJnZXItaGVpZ2h0KSkgcm90YXRlKC00NWRlZyk7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gaXRlbS1zaG93ICgkZGVsYXk6IDAsICRzcGVlZDogMC40LCAkY3VydmU6ICRlYXNlLW91dCApIHtcclxuXHR2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cdG9wYWNpdHk6IDE7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwwKTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgI3skc3BlZWR9cyAkY3VydmUgI3skZGVsYXl9cywgdmlzaWJpbGl0eSAwcyAjeyRkZWxheX1zO1xyXG59XHJcblxyXG5AbWl4aW4gaXRlbS1oaWRlICgkZGVsYXk6IDAsICRzcGVlZDogMC40LCAkY3VydmU6ICRlYXNlLW91dCApIHtcclxuXHR2aXNpYmlsaXR5OiBoaWRkZW47XHJcblx0b3BhY2l0eTogMDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgI3skc3BlZWR9cyAkY3VydmUgI3skZGVsYXl9cywgdmlzaWJpbGl0eSAwcyAjeyRkZWxheSArICRzcGVlZH1zO1xyXG59XHJcblxyXG4iLCJAaW1wb3J0IHVybCgnaHR0cHM6Ly9mb250cy5nb29nbGVhcGlzLmNvbS9jc3MyP2ZhbWlseT1BbGV4YW5kcmlhOndnaHRAMTAwOzIwMDszMDA7NDAwOzUwMDs2MDA7NzAwOzgwMDs5MDAmZmFtaWx5PU9wZW4rU2FuczppdGFsLHdnaHRAMCwzMDA7MCw0MDA7MCw1MDA7MCw2MDA7MCw3MDA7MCw4MDA7MSwzMDA7MSw0MDA7MSw1MDA7MSw2MDA7MSw3MDA7MSw4MDAmZGlzcGxheT1zd2FwJyk7XHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdCcm93bmhpbGwgU2NyaXB0JztcclxuICAgIHNyYzogdXJsKCdodHRwczovL2ZvbnRzLm9jb3p6aW8uY29tL0Jyb3duaGlsbC1TY3JpcHQvQnJvd25oaWxsU2NyaXB0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgIHVybCgnaHR0cHM6Ly9mb250cy5vY296emlvLmNvbS9Ccm93bmhpbGwtU2NyaXB0L0Jyb3duaGlsbFNjcmlwdC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4gICAgZm9udC1kaXNwbGF5OiBzd2FwO1xyXG59IiwiaHRtbCwgYm9keSB7XHJcblx0Zm9udC1mYW1pbHk6ICRwcmltYXJ5O1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGNvbG9yOiAkdGV4dDtcclxuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcclxuXHQtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRzY3JvbGwtYmVoYXZpb3I6IHNtb290aDtcclxufVxyXG5cclxuI2JvZHktd3JhcHBlciB7XHJcblx0Ly8gbWF4LXdpZHRoOiAxNDQwcHg7XHJcblx0bWFyZ2luOiAwIGF1dG87XHJcbn1cclxuXHJcbi5jb250YWluZXItcmVzcG9uc2l2ZSB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiAxMDEwcHg7XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvO1xyXG5cdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG59XHJcblxyXG5AbWl4aW4gc2VjdGlvbi1zcGFjaW5nIHtcclxuXHRwYWRkaW5nOiA2MHB4O1xyXG5cdEBtZWRpYSAobWF4LXdpZHRoOiA5OTJweCkgeyBwYWRkaW5nOiA0MHB4OyB9XHJcblx0QG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7IHBhZGRpbmc6IDIwcHg7IH1cclxufVxyXG5cclxuI3BhZ2UtaGVhZGVyIHtcclxuXHRAaW5jbHVkZSBzZWN0aW9uLXNwYWNpbmc7XHJcblx0cGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcclxuXHRoMSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxufVxyXG5cclxuI3BhZ2UtY29udGVudCBzZWN0aW9uLFxyXG4jcGFnZS1mb290ZXIge1xyXG5cdC5jb250YWluZXItcmVzcG9uc2l2ZSB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMTBweDtcclxuXHR9XHJcblx0LnJvdyB7IHBhZGRpbmc6IDAgMjBweDsgfVxyXG5cdEBpbmNsdWRlIHNlY3Rpb24tc3BhY2luZztcclxufVxyXG5cclxuYSB7XHJcblx0Y29sb3I6IGluaGVyaXQ7XHJcblx0dHJhbnNpdGlvbjogY29sb3IgMC4ycztcclxuXHQmOmhvdmVyIHtcclxuXHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdGNvbG9yOiAkYWNjZW50O1xyXG5cdH1cclxufVxyXG5cclxucCB7XHJcblx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdGEge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IGJvbGRlcjtcclxuXHRcdGNvbG9yOiAkYWNjZW50O1xyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuaHIge1xyXG5cdG1hcmdpbi10b3A6IDJyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMnJlbTtcclxufVxyXG5cclxuaW1nIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4vKlxyXG58LS0tLS0tLS0tLS0tLS0tXHJcbnwgSGVscGVyIENsYXNzZXNcclxufC0tLS0tLS0tLS0tLS0tLVxyXG4qL1xyXG5cclxuLy8gZm9udHNcclxuLnNlcmlmIHtcclxuXHRmb250LWZhbWlseTogJHNlcmlmO1xyXG59XHJcbi5zYW5zLFxyXG4uc2Fuc3NlcmlmLFxyXG4uc2Fucy1zZXJpZiB7XHJcblx0Zm9udC1mYW1pbHk6ICRzYW5zO1xyXG59XHJcblxyXG4vLyBCYWNrZ3JvdW5kIEltYWdlc1xyXG4uYmcge1xyXG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcblx0cGFkZGluZy1ib3R0b206NDAlO1xyXG59XHJcblxyXG4vLyBWaWRlbyBFbWJlZHNcclxuLmVtYmVkLWNvbnRhaW5lciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG4uZW1iZWQtY29udGFpbmVyIGlmcmFtZSxcclxuLmVtYmVkLWNvbnRhaW5lciBvYmplY3QsXHJcbi5lbWJlZC1jb250YWluZXIgZW1iZWQge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDA7XHJcblx0bGVmdDogMDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbi8vIExheW91dFxyXG5cclxuLmZpbGwtcmlnaHQsIC5maWxsLWxlZnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG4uZmlsbC1yaWdodDphZnRlciwgLmZpbGwtbGVmdDpiZWZvcmUge1xyXG5cdGNvbnRlbnQ6ICcnO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6MDtcclxuXHRib3R0b206IDA7XHJcblx0d2lkdGg6IDUwdnc7XHJcblx0YmFja2dyb3VuZDogaW5oZXJpdDtcclxufVxyXG4uZmlsbC1yaWdodDphZnRlciB7bGVmdDoxMDAlO31cclxuLmZpbGwtbGVmdDpiZWZvcmUge3JpZ2h0OjEwMCU7fSIsIiIsIkBtaXhpbiBidXR0b24tYmFzZSB7XHJcbiAgICBmb250LXNpemU6IDFyZW07XHJcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xyXG4gICAgcGFkZGluZzogMC43NWVtIDNlbTtcclxuXHRsaW5lLWhlaWdodDogMS4zZW07IC8vIGFkanVzdG1lbnQgZm9yIGJ1dHRvbnMgd2l0aCBpY29ucyBzaW5jZSB0aGUgaWNvbiBpcyAxLjNlbS5cclxuICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcblx0Zm9udC1mYW1pbHk6ICRzYW5zO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICAgIGJhY2tncm91bmQtY2xpcDogYm9yZGVyLWJveDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgICB3aWxsLWNoYW5nZTogdHJhbnNmb3JtO1xyXG5cdCYsIHNwYW4sIC5mbC1idXR0b24tdGV4dCwgKiB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMC41cyAkZWFzZS1vdXQ7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZXkoLTAuMTI1cmVtKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIDAuMjVyZW0gMC41cmVtIHJnYmEoMCwwLDAsMC4yKTtcclxuICAgIH1cclxufVxyXG5cclxuLy8gZGVmYXVsdCBidXR0b24gc3R5bGVzIGFuZCBlZmZlY3RzLlxyXG4vLyBkdXBsaWNhdGUgdGhpcyAoIG9yIGNoYW5nZSBpdCApIHRvIGNyZWF0ZSBtb3JlIHZhcmllbnRzLlxyXG4vLyBkaWZlcmVudCBzaXplIGJ1dHRvbnMgc2hvdWxkIGJlIGNoYW5nZWQgYnkgYWRqdXN0aW5nIHRoZSBmb250cyB3aXRoIGEgY2xhc3MgYXQgdGhlIGJvdHRvbSBvZiB0aGlzIGZpbGUuXHJcbkBtaXhpbiBidXR0b24tZGVmYXVsdCB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjZW50O1xyXG5cdCYsIHNwYW4sIC5mbC1idXR0b24tdGV4dCwgKiB7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG4gICAgfVxyXG5cdCY6aG92ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJGFjY2VudCwgNSUpO1xyXG5cdFx0Jiwgc3BhbiwgLmZsLWJ1dHRvbi10ZXh0LCAqIHtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi8vIEEgaG9sbG93IGJ1dHRvbiBzdHlsZSB0aGF0IGluaGVyaXQgdGhlIHRleHQgY29sb3Igb2YgcGFyZW50IGVsZW1lbnRzLlxyXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcclxuXHQmLCBzcGFuLCAuZmwtYnV0dG9uLXRleHQsICoge1xyXG5cdFx0Y29sb3I6IGluaGVyaXQ7XHJcbiAgICB9XHJcblx0Jjpob3ZlciB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB3aGl0ZTtcclxuXHRcdCYsIHNwYW4sIC5mbC1idXR0b24tdGV4dCwgKiB7XHJcblx0XHRcdGNvbG9yOiAkYWNjZW50O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuI2JvZHktd3JhcHBlciAuYnRuLCAjYm9keS13cmFwcGVyIC5ocy1idXR0b24ge1xyXG5cdEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xyXG4gICAgQGluY2x1ZGUgYnV0dG9uLWRlZmF1bHQ7XHJcbiAgICAvLyBhZGQgZXh0cmEgY2xhc3Mgc3R5bGVzIGhlcmVcclxuICAgICYuYnRuLWhvbGxvdyB7IEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7IH1cclxuXHQmLmJ0bi1sYXJnZSB7IGZvbnQtc2l6ZTogMjBweDsgfVxyXG59IiwiXHJcbi5uYXZiYXItdG9nZ2xlciB7XHJcblx0cGFkZGluZzogMC43NXJlbSAwLjUzMXJlbSAhaW1wb3J0YW50O1xyXG5cdHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcclxuXHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yYWRpdXM6IDA7XHJcblx0Ym9yZGVyOiAwICFpbXBvcnRhbnQ7XHJcbn1cclxuLmJ1cmdlci1pY29uIHtcclxuXHRAaW5jbHVkZSBidXJnZXIoMjNweCwgMnB4LCA1cHgsICR0ZXh0LCAxMHB4KTtcclxufVxyXG5cclxuLm5hdmJhci10b2dnbGVyOm5vdCguY29sbGFwc2VkKSB7XHJcblx0LmJ1cmdlci1pY29uIHtcclxuXHRcdEBpbmNsdWRlIGJ1cmdlcigyM3B4LCAycHgsIDVweCwgJHRleHQsIDEwcHgpO1xyXG5cdFx0QGluY2x1ZGUgYnVyZ2VyLXRvLWNyb3NzO1xyXG5cdH1cclxufVxyXG5cclxubmF2Lm5hdmJhciB7XHJcblx0cGFkZGluZzogMDtcclxuXHQ+IC5jb250YWluZXItcmVzcG9uc2l2ZSB7XHJcblx0XHRwYWRkaW5nOiAyMHB4O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcblx0fVxyXG5cdC5uYXZiYXItbmF2IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdH1cclxuXHJcblx0QG1lZGlhIChtaW4td2lkdGg6IDc2N3B4KSB7IHBhZGRpbmc6IDAgMjBweDsgfVxyXG59Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUNBQSw0RUFBNEU7QUFFNUU7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBR1JILE9BQU8sQ0FBQyxtTkFBSTtBSFVaLEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsT0FBTyxFQUFFLEtBQUssR0FDZjs7QUFFRDs7O0dBR0c7QUFFSCxBQUFBLEVBQUUsQ0FBQztFQUNELFNBQVMsRUFBRSxHQUFHO0VBQ2QsTUFBTSxFQUFFLFFBQVEsR0FDakI7O0FBRUQ7Z0ZBQ2dGO0FBRWhGOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VB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 */
