@charset "UTF-8";
/**
 * ===================================================================
 *
 *  TOC:
 *  00. variables
 *  01. webfonts and iconfonts
 *  02. base style overrides
 *  03. typography & general theme styles
 *  04. preloader
 *  05. forms
 *  06. buttons
 *  07. other components
 *  08. common styles
 *  09. header styles
 *  10. intro
 *  11. about
 *  12. resume
 *  13. portfolio
 *  14. call-to-action section
 *  15. services
 *  16. stats
 *  17. contact
 *  18. footer
 *  19. cookies
 *  20. estáticas
 *
 * ===================================================================
 */
/**
 * ===================================================================
 * 00. variables
 *
 * -------------------------------------------------------------------
 */
/**
 * ===================================================================
 * 01. webfonts and iconfonts - (_document-setup.scss)
 *
 * -------------------------------------------------------------------
 */
@import url("inicio.css");
/**
 * ===================================================================
 * 02. base style overrides - (_document-setup.scss)
 *
 * -------------------------------------------------------------------
 */
html {
  font-size: 10px; }

@media only screen and (max-width: 1024px) {
  html {
    font-size: 9.411764705882353px; } }

@media only screen and (max-width: 768px) {
  html {
    font-size: 10px; } }

@media only screen and (max-width: 400px) {
  html {
    font-size: 9.411764705882353px; } }

html, body {
  height: 100%; }

body {
  background: #0f0f0f;
  font-family: "lora-regular", serif;
  font-size: 1.7rem;
  line-height: 3rem;
  color: #9E9E9E; }

/**
 * links - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
a, a:visited {
  color: #ffffff;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

a:hover, a:focus, a:active {
  color: #68b9fd;
  outline: 0; }

/**
 * ===================================================================
 * 03. typography & general theme styles - (_document-setup.scss)
 *
 * -------------------------------------------------------------------
 */
h1, h2, h3, h4, h5, h6, .h01, .h02, .h03, .h04, .h05, .h06 {
  font-family: "poppins-semibold", sans-serif;
  color: #313131;
  font-style: normal;
  text-rendering: optimizeLegibility;
  margin-bottom: 2.1rem; }

h3, .h03, h4, .h04 {
  margin-bottom: 1.8rem; }

h5, .h05, h6, .h06 {
  font-family: "poppins-bold";
  margin-bottom: 1.2rem; }

h1, .h01 {
  font-size: 3.1rem;
  line-height: 1.355;
  letter-spacing: -.1rem; }

@media only screen and (max-width: 600px) {
  h1, .h01 {
    font-size: 2.6rem;
    letter-spacing: -.07rem; } }

h2, .h02 {
  font-size: 2.4rem;
  line-height: 1.25; }

h3, .h03 {
  font-size: 2rem;
  line-height: 1.5; }

h4, .h04 {
  font-size: 1.7rem;
  line-height: 1.765; }

h5, .h05 {
  font-size: 1.4rem;
  line-height: 1.714;
  text-transform: uppercase;
  letter-spacing: .15rem; }

h6, .h06 {
  font-size: 1.3rem;
  line-height: 1.846;
  text-transform: uppercase;
  letter-spacing: .15rem; }

p img {
  margin: 0; }

p.lead {
  font-family: "lora-regular", serif;
  font-size: 2rem;
  line-height: 1.8;
  color: #595959; }

@media only screen and (max-width: 768px) {
  p.lead {
    font-size: 1.7rem; } }

em, i, strong, b {
  font-size: 1.7rem;
  line-height: 3rem;
  font-style: normal;
  font-weight: normal; }

em, i {
  font-family: "lora-italic", serif; }

strong, b {
  font-family: "lora-bold", serif; }

small {
  font-size: 1.2rem;
  line-height: inherit; }

blockquote {
  margin: 3rem 0;
  padding-left: 4rem;
  position: relative; }

blockquote:before {
  content: "\201C";
  font-size: 8rem;
  line-height: 0px;
  margin: 0;
  color: #313131;
  font-family: arial, sans-serif;
  position: absolute;
  top: 3rem;
  left: 0; }

blockquote p {
  font-family: georgia, serif;
  font-style: italic;
  padding: 0;
  font-size: 1.9rem;
  line-height: 1.737; }

blockquote cite {
  display: block;
  font-size: 1.3rem;
  font-style: normal;
  line-height: 1.616; }

blockquote cite:before {
  content: "\2014 \0020"; }

blockquote cite a, blockquote cite a:visited {
  color: #595959;
  border: none; }

abbr {
  font-family: "poppins-bold", serif;
  font-variant: small-caps;
  text-transform: lowercase;
  letter-spacing: .05rem;
  color: #595959; }

var, kbd, samp, code, pre {
  font-family: Consolas, "Andale Mono", Courier, "Courier New", monospace; }

pre {
  padding: 2.4rem 3rem 3rem;
  background: #F1F1F1; }

code {
  font-size: 1.4rem;
  margin: 0 .2rem;
  padding: .3rem .6rem;
  white-space: nowrap;
  background: #F1F1F1;
  border: 1px solid #E1E1E1;
  border-radius: 3px; }

pre > code {
  display: block;
  white-space: pre;
  line-height: 2;
  padding: 0;
  margin: 0; }

pre.prettyprint > code {
  border: none; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

mark {
  background: #FFF49B;
  color: #000; }

hr {
  border: solid #d2d2d2;
  border-width: 1px 0 0;
  clear: both;
  margin: 2.4rem 0 1.5rem;
  height: 0; }

/**
 * Lists - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
ol {
  list-style: decimal; }

ul {
  list-style: disc; }

li {
  display: list-item; }

ol, ul {
  margin-left: 1.7rem; }

ul li {
  padding-left: .4rem; }

ul ul, ul ol, ol ol, ol ul {
  margin: .6rem 0 .6rem 1.7rem; }

ul.disc li {
  display: list-item;
  list-style: none;
  padding: 0 0 0 .8rem;
  position: relative; }

ul.disc li::before {
  content: "";
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: #68b9fd;
  position: absolute;
  left: -17px;
  top: 11px;
  vertical-align: middle; }

dt {
  margin: 0;
  color: #68b9fd; }

dd {
  margin: 0 0 0 2rem; }

/**
 * tables - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
table {
  border-width: 0;
  width: 100%;
  max-width: 100%;
  font-family: "lora-regular", sans-serif; }

th, td {
  padding: 1.5rem 3rem;
  text-align: left;
  border-bottom: 1px solid #E8E8E8; }

th {
  color: #313131;
  font-family: "poppins-bold", sans-serif; }

td {
  line-height: 1.5; }

th:first-child, td:first-child {
  padding-left: 0; }

th:last-child, td:last-child {
  padding-right: 0; }

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch; }

/**
 * Spacing - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
button, .button {
  margin-bottom: 1.2rem; }

fieldset {
  margin-bottom: 1.5rem; }

input,
textarea,
select,
pre,
blockquote,
figure,
table,
p,
ul,
ol,
dl,
form,
.fluid-video-wrapper,
.ss-custom-select {
  margin-bottom: 3rem; }

#labelprivacidad {
  font-size: 14px; }

/**
 * floated image - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
img.pull-right {
  margin: .9rem 0 0 2.4rem; }

img.pull-left {
  margin: .9rem 2.4rem 0 0; }

/**
 * block grid paddings - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
.bgrid {
  padding: 0 20px; }

@media only screen and (max-width: 1024px) {
  .bgrid {
    padding: 0 18px; } }

@media only screen and (max-width: 768px) {
  .bgrid {
    padding: 0 15px; } }

@media only screen and (max-width: 600px) {
  .bgrid {
    padding: 0 10px; } }

@media only screen and (max-width: 400px) {
  .bgrid {
    padding: 0; } }

/**
 * pace.js styles - minimal  - (_document-setup.scss)
 * -------------------------------------------------------------------
 */
.pace {
  -webkit-pointer-events: none;
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.pace-inactive {
  display: none; }

.pace .pace-progress {
  background: #68b9fd;
  position: fixed;
  z-index: 900;
  top: 0;
  right: 100%;
  width: 100%;
  height: 6px; }

/**
 * ===================================================================
 * 04. preloader - (_preloader-1.scss)
 *
 * -------------------------------------------------------------------
 */
#preloader {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #0f0f0f;
  z-index: 800;
  height: 100%;
  width: 100%; }

.no-js #preloader, .oldie #preloader {
  display: none; }

#loader {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 60px;
  height: 60px;
  margin: -30px 0 0 -30px;
  padding: 0; }

#loader:before {
  content: "";
  border-top: 11px solid rgba(255, 255, 255, 0.1);
  border-right: 11px solid rgba(255, 255, 255, 0.1);
  border-bottom: 11px solid rgba(255, 255, 255, 0.1);
  border-left: 11px solid #68b9fd;
  -webkit-animation: load 1.1s infinite linear;
  animation: load 1.1s infinite linear;
  display: block;
  border-radius: 50%;
  width: 60px;
  height: 60px; }

@-webkit-keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes load {
  0% {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/**
 * ===================================================================
 * 05. forms - (_forms.scss)
 *
 * -------------------------------------------------------------------
 */
fieldset {
  border: none; }

input[type="email"],
input[type="number"],
input[type="search"],
input[type="text"],
input[type="tel"],
input[type="url"],
input[type="password"],
textarea,
select {
  display: block;
  height: 6rem;
  padding: 1.5rem 0;
  border: 0;
  outline: none;
  color: #313131;
  font-family: "poppins-regular", sans-serif;
  font-size: 1.5rem;
  line-height: 3rem;
  max-width: 100%;
  background: transparent;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.ss-custom-select {
  position: relative;
  padding: 0; }

.ss-custom-select select {
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  -o-appearance: none;
  appearance: none;
  text-indent: 0.01px;
  text-overflow: inherit;
  margin: 0;
  line-height: 3rem;
  vertical-align: middle; }

.ss-custom-select select option {
  padding-left: 2rem;
  padding-right: 2rem; }

.ss-custom-select select::-ms-expand {
  display: none; }

.ss-custom-select::after {
  content: '\f0d7';
  font-family: 'FontAwesome';
  position: absolute;
  top: 50%;
  right: 1.5rem;
  margin-top: -10px;
  bottom: auto;
  width: 20px;
  height: 20px;
  line-height: 20px;
  font-size: 18px;
  text-align: center;
  pointer-events: none;
  color: #252525; }

/* IE9 and below */
.oldie .ss-custom-select::after {
  display: none; }

textarea {
  min-height: 25rem; }

input[type="email"]:focus,
input[type="number"]:focus,
input[type="search"]:focus,
input[type="text"]:focus,
input[type="tel"]:focus,
input[type="url"]:focus,
input[type="password"]:focus,
textarea:focus,
select:focus {
  color: #68b9fd;
  border-bottom: 1px solid #68b9fd; }

label, legend {
  font-family: "poppins-bold", sans-serif;
  font-size: 1.4rem;
  margin-bottom: .6rem;
  color: #3b3b3b;
  display: block; }

input[type="checkbox"], input[type="radio"] {
  display: inline; }

label > .label-text {
  display: inline-block;
  margin-left: 1rem;
  font-family: "poppins-regular", sans-serif;
  line-height: inherit; }

label > input[type="checkbox"], label > input[type="radio"] {
  margin: 0;
  position: relative;
  top: .15rem; }

/**
 * Style Placeholder Text
 * -
 */
::-webkit-input-placeholder {
  color: #a1a1a1; }

:-moz-placeholder {
  color: #a1a1a1;
  /* Firefox 18- */ }

::-moz-placeholder {
  color: #a1a1a1;
  /* Firefox 19+ */ }

:-ms-input-placeholder {
  color: #a1a1a1; }

.placeholder {
  color: #a1a1a1 !important; }

/**
 * ===================================================================
 * 06. buttons - (_button-essentials.scss)
 *
 * -------------------------------------------------------------------
 */
.button,
a.button,
button,
input[type="submit"],
input[type="reset"],
input[type="button"] {
  display: inline-block;
  font-family: "poppins-bold", sans-serif;
  font-size: 1.4rem;
  text-transform: uppercase;
  letter-spacing: .3rem;
  height: 5.4rem;
  line-height: 5.4rem;
  padding: 0 3rem;
  margin: 0 .3rem 1.2rem 0;
  background: #d8d8d8;
  color: #313131;
  text-decoration: none;
  cursor: pointer;
  text-align: center;
  white-space: nowrap;
  border: none;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.button:hover,
a.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="reset"]:hover,
input[type="button"]:hover,
.button:focus,
button:focus,
input[type="submit"]:focus,
input[type="reset"]:focus,
input[type="button"]:focus {
  background: #bebebe;
  color: #000000;
  outline: 0; }

.button.button-primary,
a.button.button-primary,
button.button-primary,
input[type="submit"].button-primary,
input[type="reset"].button-primary,
input[type="button"].button-primary {
  background: #313131;
  color: #ffffff; }

.button.button-primary:hover,
a.button.button-primary:hover,
button.button-primary:hover,
input[type="submit"].button-primary:hover,
input[type="reset"].button-primary:hover,
input[type="button"].button-primary:hover,
.button.button-primary:focus,
button.button-primary:focus,
input[type="submit"].button-primary:focus,
input[type="reset"].button-primary:focus,
input[type="button"].button-primary:focus {
  background: #1f1f1f; }

button.full-width, .button.full-width {
  width: 100%;
  margin-right: 0; }

button.medium, .button.medium {
  height: 5.7rem !important;
  line-height: 5.7rem !important;
  padding: 0 1.8rem !important; }

button.large, .button.large {
  height: 6rem !important;
  line-height: 6rem !important;
  padding: 0rem 3rem !important; }

button.stroke, .button.stroke {
  background: transparent !important;
  border: 3px solid #313131;
  line-height: 4.8rem; }

button.stroke.medium, .button.stroke.medium {
  line-height: 5.1rem !important; }

button.stroke.large, .button.stroke.large {
  line-height: 5.4rem !important; }

button.stroke:hover, .button.stroke:hover {
  border: 3px solid #68b9fd;
  color: #68b9fd; }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * ===================================================================
 * 07. other components - (_others.scss)
 *
 * -------------------------------------------------------------------
 */
.hidden {
  display: none; }

/**
 * alert box - (_alert-box.scss)
 * -------------------------------------------------------------------
 */
.alert-box {
  padding: 2.1rem 4rem 2.1rem 3rem;
  position: relative;
  margin-bottom: 3rem;
  border-radius: 3px;
  font-family: "poppins-regular", sans-serif;
  font-size: 1.5rem; }

.alert-box .close {
  position: absolute;
  right: 1.8rem;
  top: 1.8rem;
  cursor: pointer; }

.ss-error {
  background-color: #ffd1d2;
  color: #e65153; }

.ss-success {
  background-color: #c8e675;
  color: #758c36; }

.ss-info {
  background-color: #d7ecfb;
  color: #4a95cc; }

.ss-notice {
  background-color: #fff099;
  color: #bba31b; }

/**
 * additional typo styles - (_additional-typo.scss)
 * -------------------------------------------------------------------
 */
/**
 * drop cap
 */
.drop-cap:first-letter {
  float: left;
  margin: 0;
  padding: 1.5rem .6rem 0 0;
  font-size: 8.4rem;
  font-family: "poppins-bold", sans-serif;
  line-height: 6rem;
  text-indent: 0;
  background: transparent;
  color: #313131; }

/**
 * line definition style
 */
.lining dt, .lining dd {
  display: inline;
  margin: 0; }

.lining dt + dt:before, .lining dd + dt:before {
  content: "\A";
  white-space: pre; }

.lining dd + dd:before {
  content: ", "; }

.lining dd + dd:before {
  content: ", "; }

.lining dd:before {
  content: ": ";
  margin-left: -0.2em; }

/**
 * dictionary definition style
 */
.dictionary-style dt {
  display: inline;
  counter-reset: definitions; }

.dictionary-style dt + dt:before {
  content: ", ";
  margin-left: -0.2em; }

.dictionary-style dd {
  display: block;
  counter-increment: definitions; }

.dictionary-style dd:before {
  content: counter(definitions, decimal) ". "; }

/**
 * Pull Quotes
 * -----------
 * markup:
 *
 * <aside class="pull-quote">
 *		<blockquote>
 *			<p></p>
 *		</blockquote>
 *	</aside>
 *
 * ---------------------------------------------------------------------
 */
.pull-quote {
  position: relative;
  padding: 2.1rem 3rem 2.1rem 0px; }

.pull-quote:before, .pull-quote:after {
  height: 1em;
  position: absolute;
  font-size: 8rem;
  font-family: Arial, Sans-Serif;
  color: #333; }

.pull-quote:before {
  content: "\201C";
  top: 33px;
  left: 0; }

.pull-quote:after {
  content: '\201D';
  bottom: -33px;
  right: 0; }

.pull-quote blockquote {
  margin: 0; }

.pull-quote blockquote:before {
  content: none; }

/**
 * Stats Tab
 * ---------
 * markup:
 *
 * <ul class="stats-tabs">
 *		<li><a href="#">[value]<em>[name]</em></a></li>
 *	</ul>
 *
 * Extend this object into your markup.
 *
 * ---------------------------------------------------------------------
 */
.stats-tabs {
  padding: 0;
  margin: 3rem 0; }

.stats-tabs li {
  display: inline-block;
  margin: 0 1.5rem 3rem 0;
  padding: 0 1.5rem 0 0;
  border-right: 1px solid #ccc; }

.stats-tabs li:last-child {
  margin: 0;
  padding: 0;
  border: none; }

.stats-tabs li a {
  display: inline-block;
  font-size: 2.5rem;
  font-family: "poppins-bold", sans-serif;
  border: none;
  color: #252525; }

.stats-tabs li a:hover {
  color: #68b9fd; }

.stats-tabs li a em {
  display: block;
  margin: .6rem 0 0 0;
  font-size: 1.4rem;
  font-family: "poppins-regular", sans-serif;
  color: #595959; }

/**
 * skillbars - (_skillbars.scss)
 * -------------------------------------------------------------------
 */
.skill-bars {
  list-style: none;
  margin: 6rem 0 3rem; }

.skill-bars li {
  height: .6rem;
  background: #a1a1a1;
  width: 100%;
  margin-bottom: 6rem;
  padding: 0;
  position: relative; }

.skill-bars li strong {
  position: absolute;
  left: 0;
  top: -3rem;
  font-family: "poppins-bold", sans-serif;
  color: #313131;
  text-transform: uppercase;
  letter-spacing: .2rem;
  font-size: 1.5rem;
  line-height: 2.4rem; }

.skill-bars li .progress {
  background: #313131;
  position: relative;
  height: 100%; }

.skill-bars li .progress span {
  position: absolute;
  right: 0;
  top: -3.6rem;
  display: block;
  font-family: "poppins-regular", sans-serif;
  color: #ffffff;
  font-size: 1.1rem;
  line-height: 1;
  background: #313131;
  padding: .6rem .6rem;
  border-radius: 3px; }

.skill-bars li .progress span::after {
  position: absolute;
  left: 50%;
  bottom: -5px;
  margin-left: -5px;
  border-right: 5px solid transparent;
  border-left: 5px solid transparent;
  border-top: 5px solid #313131;
  content: ""; }

.skill-bars li .percent5 {
  width: 5%; }

.skill-bars li .percent10 {
  width: 10%; }

.skill-bars li .percent15 {
  width: 15%; }

.skill-bars li .percent20 {
  width: 20%; }

.skill-bars li .percent25 {
  width: 25%; }

.skill-bars li .percent30 {
  width: 30%; }

.skill-bars li .percent35 {
  width: 35%; }

.skill-bars li .percent40 {
  width: 40%; }

.skill-bars li .percent45 {
  width: 45%; }

.skill-bars li .percent50 {
  width: 50%; }

.skill-bars li .percent55 {
  width: 55%; }

.skill-bars li .percent60 {
  width: 60%; }

.skill-bars li .percent65 {
  width: 65%; }

.skill-bars li .percent70 {
  width: 70%; }

.skill-bars li .percent75 {
  width: 75%; }

.skill-bars li .percent80 {
  width: 80%; }

.skill-bars li .percent85 {
  width: 85%; }

.skill-bars li .percent90 {
  width: 90%; }

.skill-bars li .percent95 {
  width: 95%; }

.skill-bars li .percent100 {
  width: 100%; }

/**
 * ===================================================================
 * 08. common styles (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
.grey-section {
  background: #ebebeb; }

.grey-section p.lead {
  color: #7d7d7d; }

.section-intro {
  max-width: 700px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  margin-bottom: 3.6rem;
  position: relative; }

.section-intro h1 {
  font-family: "poppins-semibold", serif;
  font-size: 3.6rem;
  color: #313131;
  line-height: 1.25;
  margin-bottom: 1.2rem; }

.section-intro h5 {
  color: #68b9fd;
  font-size: 1.6rem;
  line-height: 1.875;
  margin-bottom: 0.3rem;
  letter-spacing: .4rem; }

/**
 * responsive:
 * common styles
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 768px) {
  .section-intro {
    max-width: 650px; }
  .section-intro h1 {
    font-size: 3rem; } }

@media only screen and (max-width: 600px) {
  .section-intro h1 {
    font-size: 2.6rem; }
  .section-intro h5 {
    font-size: 1.5rem;
    letter-spacing: .3rem; } }

@media only screen and (max-width: 400px) {
  .section-intro h1 {
    font-size: 2.4rem; } }

/**
 * ===================================================================
 * 09. header styles - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
header {
  position: fixed;
  width: 100%;
  min-height: 66px;
  z-index: 600; }

header .row {
  position: relative;
  min-height: 66px; }

header .top-bar {
  display: block;
  min-width: 220px;
  min-height: 66px;
  position: absolute;
  left: 90px;
  top: 0; }

header .logo {
  float: left;
  margin-left: 5px;
  margin-right: 20px;
  margin-top: 20px;
  position: relative; }

header .logo a {
  display: block;
  margin: 0;
  padding: 0;
  border: none;
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  width: 150px; }

/**
 * menu toggle - (_layout.css)
 * -------------------------------------------------------------------
 */
.menu-toggle {
  float: left;
  width: 40px;
  height: 40px;
  margin-left: 20px;
  margin-top: 13px;
  display: block;
  position: relative; }

.menu-toggle span {
  display: block;
  background-color: #68b9fd;
  width: 24px;
  height: 3px;
  margin-top: -1.5px;
  font: 0/0 a;
  text-shadow: none;
  color: transparent;
  position: absolute;
  right: 8px;
  top: 50%;
  bottom: auto;
  left: auto;
  -moz-transition: background 0.2s ease-in-out;
  -o-transition: background 0.2s ease-in-out;
  -webkit-transition: background 0.2s ease-in-out;
  -ms-transition: background 0.2s ease-in-out;
  transition: background 0.2s ease-in-out; }

.menu-toggle span::before, .menu-toggle span::after {
  content: '';
  width: 100%;
  height: 100%;
  background-color: inherit;
  position: absolute;
  left: 0;
  -moz-transition-duration: 0.2s, 0.2s;
  -o-transition-duration: 0.2s, 0.2s;
  -webkit-transition-duration: 0.2s, 0.2s;
  -ms-transition-duration: 0.2s, 0.2s;
  transition-duration: 0.2s, 0.2s;
  -moz-transition-delay: 0.2s, 0s;
  -o-transition-delay: 0.2s, 0s;
  -webkit-transition-delay: 0.2s, 0s;
  -ms-transition-delay: 0.2s, 0s;
  transition-delay: 0.2s, 0s; }

.menu-toggle span::before {
  top: -8px;
  -moz-transition-property: top, transform;
  -o-transition-property: top, transform;
  -webkit-transition-property: top, transform;
  -ms-transition-property: top, transform;
  transition-property: top, transform; }

.menu-toggle span::after {
  bottom: -8px;
  -moz-transition-property: bottom, transform;
  -o-transition-property: bottom, transform;
  -webkit-transition-property: bottom, transform;
  -ms-transition-property: bottom, transform;
  transition-property: bottom, transform; }

/* is clicked */
.menu-toggle.is-clicked span {
  background-color: rgba(255, 0, 119, 0); }

.menu-toggle.is-clicked span::before, .menu-toggle.is-clicked span::after {
  background-color: #68b9fd;
  -moz-transition-delay: 0s, 0.2s;
  -o-transition-delay: 0s, 0.2s;
  -webkit-transition-delay: 0s, 0.2s;
  -ms-transition-delay: 0s, 0.2s;
  transition-delay: 0s, 0.2s; }

.menu-toggle.is-clicked span::before {
  top: 0;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg); }

.menu-toggle.is-clicked span::after {
  bottom: 0;
  -webkit-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  transform: rotate(-45deg); }

/* navigation panel */
#main-nav-wrap {
  display: block;
  width: 100%;
  font-family: "poppins-medium", sans-serif;
  font-size: 1.5rem;
  position: absolute;
  top: 100%;
  left: 0; }

/* dropdown nav */
.main-navigation {
  background: #000000;
  padding: 24px 30px 42px;
  margin: 0;
  width: 100%;
  height: auto;
  clear: both;
  display: none; }

.main-navigation > li {
  display: block;
  height: auto;
  text-align: left;
  padding: 0; }

.main-navigation li a {
  display: block;
  color: #ffffff;
  width: auto;
  padding: 15px 0;
  line-height: 16px;
  border: none; }

.main-navigation li a:hover {
  color: #68b9fd;
  padding-left: 1rem; }

.main-navigation li.current > a {
  background: none;
  color: #68b9fd; }

/**
 * responsive:
 * header styles
 * ---------------------------------------------------------------
 */
@media only screen and (max-width: 1024px) {
  header .top-bar {
    left: 60px; } }

@media only screen and (max-width: 768px) {
  header .top-bar {
    left: 50px; } }

@media only screen and (max-width: 600px) {
  header .top-bar {
    left: 35px; } }

@media only screen and (max-width: 400px) {
  header .top-bar {
    left: 25px; } }

/**
 * ===================================================================
 * 10. intro - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#intro {
  background: #0f0f0f url(/img/intro-bg.webp) no-repeat center bottom;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  background-attachment: fixed;
  width: 100%;
  height: 100%;
  min-height: 720px;
  display: table;
  position: relative;
  text-align: center; }

.intro-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #111111;
  opacity: .85; }

.intro-content {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  -webkit-transform: translateY(-2.1rem);
  -ms-transform: translateY(-2.1rem);
  transform: translateY(-2.1rem); }

.intro-content h1 {
  color: #ffffff;
  font-family: "poppins-medium", sans-serif;
  font-size: 8.4rem;
  line-height: 1.071;
  max-width: 900px;
  margin-top: 0;
  margin-bottom: .6rem;
  margin-left: auto;
  margin-right: auto;
  text-shadow: 0 0 20px rgba(0, 0, 0, 0.5); }

.intro-content h5 {
  color: #68b9fd;
  font-family: "poppins-bold", sans-serif;
  font-size: 2.3rem;
  line-height: 1.565;
  margin-bottom: 0;
  text-transform: uppercase;
  letter-spacing: .3rem;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }

.intro-content .intro-position {
  font-family: "lora-regular", serif;
  font-size: 1.7rem;
  line-height: 2.4rem;
  text-transform: uppercase;
  letter-spacing: .2rem;
  color: #ffffff;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.2); }

.intro-content .intro-position h2 {
  display: inline-block;
  font-family: "lora-regular", serif;
  font-size: 1.7rem;
  line-height: 2.4rem;
  text-transform: uppercase;
  letter-spacing: .2rem;
  color: #ffffff;
  text-shadow: 0 0 6px rgba(0, 0, 0, 0.3); }

.intro-content .intro-position h2::after {
  content: "|";
  text-align: center;
  display: inline-block;
  padding: 0 8px 0 14px;
  color: rgba(255, 255, 255, 0.4); }

.intro-content .intro-position h2:first-child::before {
  content: "|";
  text-align: center;
  display: inline-block;
  padding: 0 14px 0 8px;
  color: rgba(255, 255, 255, 0.4); }

.intro-content .button {
  color: #ffffff !important;
  border-color: rgba(255, 255, 255, 0.3);
  height: 6rem !important;
  line-height: 5.4rem !important;
  padding: 0 3.5rem 0 3rem !important;
  margin-top: .6rem;
  font-size: 1.3rem;
  text-transform: uppercase;
  letter-spacing: .25rem; }

.intro-content .button:hover, .intro-content .button:focus {
  border-color: #68b9fd; }

.intro-content .button::after {
  display: inline-block;
  content: "\f107";
  font-family: fontAwesome;
  font-size: 1.6rem;
  line-height: inherit;
  text-align: center;
  position: relative;
  left: 1.2rem; }

.intro-social {
  display: block;
  position: absolute;
  width: 100%;
  left: 0;
  bottom: 7.2rem;
  font-size: 3.3rem;
  margin: 0;
  padding: 0; }

.intro-social li {
  display: inline-block;
  margin: 0 10px;
  padding: 0; }

.intro-social li a, .intro-social li a:visited {
  color: #ffffff; }

.intro-social li a:hover, .intro-social li a:focus {
  color: #68b9fd; }

/**
 * responsive:
 * Intro
 * ---------------------------------------------------------------
 */
@media only screen and (max-width: 1024px) {
  .intro-content h1 {
    font-size: 7.6rem; }
  .intro-social {
    font-size: 3rem; }
  .intro-social li {
    margin: 0 15px; } }

@media only screen and (max-width: 768px) {
  #intro {
    min-height: 660px; }
  .intro-content h1 {
    font-size: 5.2rem; }
  .intro-content h5 {
    font-size: 1.8rem; }
  .intro-content .intro-position {
    font-size: 1.3rem; }
  .intro-social {
    font-size: 2.5rem; }
  .intro-social li {
    margin: 0 10px; } }

@media only screen and (max-width: 600px) {
  #intro {
    min-height: 600px; }
  .intro-content h1 {
    font-size: 4.6rem;
    margin-bottom: .6rem; }
  .intro-content h5 {
    font-size: 1.5rem;
    margin-bottom: .3rem;
    letter-spacing: .2rem; }
  .intro-content .intro-position {
    font-size: 1.2rem; }
  .intro-content .intro-position span {
    padding: 0 .6rem; }
  .intro-content .intro-position span::before, .intro-content .intro-position span::after {
    display: none !important; }
  .intro-social {
    font-size: 2.4rem; } }

/**
 * ===================================================================
 * 11. about - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#about {
  background: #ffffff;
  padding-top: 12rem;
  padding-bottom: 15rem; }

#about .section-intro {
  margin-bottom: 3rem; }

#about .section-intro span.h05 {
  color: #68b9fd;
  display: block; }

.intro-info {
  margin-top: 4.2rem;
  margin-right: -30px;
  margin-left: -30px; }

.intro-info img {
  height: 9rem;
  width: 9rem;
  border-radius: 50%;
  margin: .9rem 0 0 0;
  float: left; }

.intro-info .lead {
  text-align: left;
  padding-left: 13rem; }

.about-content {
  position: relative;
  text-align: left;
  max-width: 850px;
  margin-bottom: 3.6rem; }

.about-content span {
  font-family: "poppins-bold", sans-serif;
  font-size: 1.8rem;
  text-transform: uppercase; }

.about-content .info-list {
  list-style: none;
  margin-left: 0; }

.about-content .info-list li {
  padding: 0 0 1.5rem 0;
  margin-bottom: .6rem; }

.about-content .info-list li strong {
  font-family: "poppins-bold", sans-serif;
  color: #313131;
  text-transform: uppercase;
  font-size: 1.5rem;
  line-height: 3rem; }

.about-content .info-list li span {
  display: block;
  font-family: "poppins-regular", sans-serif;
  color: #595959;
  font-size: 1.5rem;
  line-height: 1;
  text-transform: none; }

.about-content .skill-bars {
  margin-top: 6rem; }

.button-section {
  text-align: center; }

.button-section .button {
  width: 250px; }

.button-section [class*="col-"] .button:first-child {
  margin-right: 4rem; }

/**
 * responsive:
 * about
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 1024px) {
  .intro-info {
    margin-right: 0;
    margin-left: 0; } }

@media only screen and (max-width: 768px) {
  .intro-info img {
    height: 7.8rem;
    width: 7.8rem; }
  .intro-info .lead {
    padding-left: 11rem; }
  .about-content h3 {
    text-align: center; }
  .about-content .info-list, .about-content .skill-bars {
    margin-bottom: 4.2rem; }
  .button-section .button {
    width: 100%;
    margin-bottom: 3rem; }
  .button-section [class*="col-"] .button:first-child {
    margin-right: 0; } }

@media only screen and (max-width: 600px) {
  .intro-info {
    text-align: center;
    margin-top: 3rem; }
  .intro-info img {
    height: 6.6rem;
    width: 6.6rem;
    float: none;
    display: inline-block; }
  .intro-info .lead {
    padding-left: 0;
    text-align: center; } }

/**
 * ===================================================================
 * 12. resume - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#resume {
  padding-top: 12rem;
  padding-bottom: 12rem; }

#resume .resume-header {
  text-align: center; }

#resume .resume-header span {
  color: #68b9fd; }

#resume .resume-timeline {
  max-width: 980px; }

#resume .timeline-wrap {
  position: relative;
  margin-top: 1.5rem;
  margin-bottom: 6rem; }

#resume .timeline-wrap::before {
  content: "";
  display: block;
  width: 1px;
  height: 100%;
  background: rgba(0, 0, 0, 0.1);
  position: absolute;
  left: 35%;
  top: 0; }

#resume .timeline-block {
  position: relative;
  padding-top: 1.5rem; }

#resume .timeline-ico {
  height: 4.8rem;
  width: 4.8rem;
  line-height: 4.8rem;
  background: #313131;
  border-radius: 50%;
  text-align: center;
  color: #ffffff;
  position: absolute;
  left: 35%;
  top: .9rem;
  margin-left: -2.4rem; }

#resume .timeline-ico i {
  position: relative;
  left: .05rem;
  top: .2rem; }

#resume .timeline-header {
  float: left;
  width: 35%;
  padding-right: 90px;
  text-align: right; }

#resume .timeline-header h3 {
  margin-bottom: 0; }

#resume .timeline-header p {
  font-family: "poppins-regular", sans-serif;
  font-size: 1.6rem;
  color: #595959; }

#resume .timeline-content {
  margin-left: 35%;
  padding-left: 60px; }

#resume .timeline-content h4 {
  position: relative;
  padding-bottom: 1.8rem; }

#resume .timeline-content h4::after {
  content: "";
  display: block;
  height: 3px;
  width: 50px;
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 0;
  bottom: 0; }

#resume .timeline-content p {
  color: #4d4d4d; }

/**
 * responsive:
 * resume
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 1024px) {
  #resume .timeline-header {
    padding-right: 50px; }
  #resume .timeline-header h3 {
    font-size: 1.8rem; }
  #resume .timeline-header p {
    font-size: 1.4rem; }
  #resume .timeline-content {
    padding-left: 50px; } }

@media only screen and (max-width: 768px) {
  #resume .timeline-wrap::before {
    left: 2.4rem; }
  #resume .timeline-ico {
    left: 2.4rem; }
  #resume .timeline-header {
    float: none;
    width: auto;
    padding-right: 15px;
    text-align: left; }
  #resume .timeline-header h3 {
    font-size: 2rem; }
  #resume .timeline-header p {
    font-size: 1.5rem;
    margin-bottom: 1.5rem; }
  #resume .timeline-content {
    margin: 0; }
  #resume .timeline-content h4 {
    padding-bottom: 0;
    padding-top: 2.1rem;
    margin-bottom: .6rem;
    font-size: 1.7rem; }
  #resume .timeline-content h4::after {
    bottom: auto;
    top: 0; }
  #resume .timeline-header, #resume .timeline-content {
    padding-left: 7rem; } }

@media only screen and (max-width: 480px) {
  #resume .resume-header h2 {
    font-size: 2.2rem; }
  #resume .timeline-wrap::before {
    left: 1.8rem; }
  #resume .timeline-ico {
    height: 3.6rem;
    width: 3.6rem;
    line-height: 3.6rem;
    left: 1.8rem;
    margin-left: -1.8rem;
    font-size: 1.5rem; }
  #resume .timeline-header, #resume .timeline-content {
    padding-left: 5.5rem; } }

/**
 * ===================================================================
 * 13. portfolio - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#portfolio {
  background: #ffffff;
  padding-top: 12rem;
  padding-bottom: 12rem; }

#portfolio .section-intro span.h05 {
  color: #68b9fd;
  display: block; }

#portfolio .folio-item {
  padding: 0;
  position: relative;
  overflow: hidden; }

#portfolio .folio-item img {
  vertical-align: middle;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

#portfolio .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: transparent;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out; }

#portfolio .folio-item-table {
  display: table;
  width: 100%;
  height: 100%; }

#portfolio .folio-item-cell {
  display: table-cell;
  vertical-align: middle;
  text-align: center;
  -moz-transition: all 0.5s ease-in-out;
  -o-transition: all 0.5s ease-in-out;
  -webkit-transition: all 0.5s ease-in-out;
  -ms-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  position: relative;
  left: -100%; }

#portfolio .folio-title {
  color: #ffffff;
  font-size: 3.3rem;
  padding: 0 3rem;
  margin-bottom: 0; }

#portfolio .folio-types {
  margin: 0;
  padding: 0;
  text-transform: uppercase;
  font-family: "poppins-regular", sans-serif;
  font-size: 1.2rem;
  letter-spacing: .1rem;
  color: rgba(255, 255, 255, 0.6); }

#portfolio .folio-item:hover .overlay {
  background: rgba(0, 0, 0, 0.8); }

#portfolio .folio-item:hover .folio-item-cell {
  left: 0; }

#portfolio .folio-item:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05); }

/**
 * responsive:
 * portfolio
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 1024px) {
  #portfolio .folio-title {
    font-size: 3.1rem; } }

@media only screen and (max-width: 768px) {
  #portfolio .folio-title {
    font-size: 2.5rem; } }

@media only screen and (max-width: 400px) {
  #portfolio .folio-title {
    font-size: 2.2rem; } }

/**
 * Popup Modal - (_layout.scss)
 * ------------------------------------------------------------------
 */
.popup-modal {
  max-width: 550px;
  background: #ffffff;
  position: relative;
  margin: 0 auto; }

.popup-modal .media {
  position: relative; }

.popup-modal img {
  vertical-align: bottom; }

.popup-modal .description-box {
  padding: 1.8rem 3.6rem 3rem; }

.popup-modal .description-box span {
  font-family: "poppins-bold", sans-serif;
  font-size: 1.5rem;
  line-height: 2.4rem;
  margin-bottom: .6rem; }

.popup-modal .description-box p {
  font-family: "poppins-regular", sans-serif;
  font-size: 1.4rem;
  line-height: 2.4rem;
  margin-bottom: 12px; }

.popup-modal .categories {
  font-family: "poppins-bold", sans-serif;
  font-size: 1.1rem;
  line-height: 1.8rem;
  text-transform: uppercase;
  letter-spacing: .1rem;
  display: block;
  text-align: left;
  color: rgba(0, 0, 0, 0.5); }

.popup-modal .link-box, .popup-modal .link-box-full {
  width: 100%;
  overflow: hidden;
  background: #000000; }

.popup-modal .link-box a, .popup-modal .link-box-full a {
  font-family: "poppins-bold", sans-serif;
  font-size: 1.2rem;
  line-height: 6rem;
  color: #ffffff;
  text-transform: uppercase;
  letter-spacing: 3px;
  cursor: pointer;
  display: block;
  text-align: center;
  float: left;
  width: 50%;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

.popup-modal .link-box-full a {
  width: 100%; }

.popup-modal .link-box a:first-child, .popup-modal .link-box-full a:first-child {
  border-right: 1px solid rgba(200, 200, 200, 0.1); }

.popup-modal .link-box a:hover, .popup-modal .link-box-full a:hover {
  background: #68b9fd;
  border: none; }

@media only screen and (max-width: 600px) {
  .popup-modal {
    width: auto;
    margin: 0 20px; } }

/**
 * transition effect for modal popup - (_layout.scss)
 * ------------------------------------------------------------------
 */
/* overlay at start */
.mfp-fade.mfp-bg {
  opacity: 0;
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

/* overlay animate in */
.mfp-fade.mfp-bg.mfp-ready {
  opacity: .9; }

/* overlay animate out */
.mfp-fade.mfp-bg.mfp-removing {
  opacity: 0; }

/* content at start */
.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%);
  -moz-transition: all 0.3s ease-in-out;
  -o-transition: all 0.3s ease-in-out;
  -webkit-transition: all 0.3s ease-in-out;
  -ms-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out; }

/* content animate in */
.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1;
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0); }

/* content animate out */
.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0;
  -webkit-transform: translateY(-100%);
  -ms-transform: translateY(-100%);
  transform: translateY(-100%); }

/**
 * ===================================================================
 * 14. call-to-action section - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#cta {
  padding-top: 10.2rem;
  padding-bottom: 9rem;
  text-align: center; }

#cta p.lead {
  color: #6e6e6e; }

.cta-content {
  max-width: 640px; }

.cta-thumb {
  display: inline-block;
  margin-bottom: 1.2rem; }

.cta-thumb img {
  height: 7.8rem;
  width: 7.8rem;
  border-radius: 50%; }

/**
 * section ads - (_layout.scss)
 * -------------------------------------------------------------------
 */
.section-ads h2 {
  position: relative;
  padding-bottom: 2.1rem; }

.section-ads h2::after {
  content: "";
  display: block;
  height: 3px;
  width: 80px;
  background: rgba(0, 0, 0, 0.2);
  position: absolute;
  left: 50%;
  bottom: 0;
  margin-left: -40px; }

.section-ads h2 a, .section-ads h2 a:visited {
  color: #313131; }

.section-ads span {
  color: #3F0D39; }

/**
 * responsive:
 * cta
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 650px) {
  .cta-content {
    max-width: 650px; }
  .cta-content h2 {
    font-size: 2.4rem; } }

/**
 * ===================================================================
 * 15. services - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#services {
  background: #313131 url(../img/bg.webp) no-repeat center;
  -webkit-background-size: cover;
  -moz-background-size: cover;
  background-size: cover;
  padding-top: 12rem;
  padding-bottom: 12rem;
  color: white;
  position: relative; }

#services .overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #0f0f0f;
  opacity: .9; }

#services .section-intro {
  margin-bottom: 1.8rem; }

#services .section-intro span.h01 {
  color: #ffffff; }

#services .section-intro span.h05 {
  color: #68b9fd;
  display: block; }

#services .section-intro p {
  color: rgba(255, 255, 255, 0.7); }

.services-content {
  max-width: 1200px; }

.services-list {
  margin-top: 1.2rem;
  text-align: center; }

.services-list .service {
  margin-bottom: 1.2rem;
  padding: 0 30px; }

.services-list .icon {
  display: inline-block;
  margin-bottom: 2.1rem; }

.services-list .icon i {
  font-size: 5.4rem;
  color: #68b9fd; }

.services-list h2 {
  color: #ffffff; }

.services-list .desc {
  color: rgba(255, 255, 255, 0.6); }

/* pagination */
.owl-pagination {
  text-align: center;
  width: 100%;
  margin: .6rem 0 0; }

.owl-theme .owl-controls .owl-page {
  display: inline-block; }

.owl-theme .owl-controls .owl-page span {
  display: block;
  width: 1.2rem;
  height: 1.2rem;
  margin: 1.2rem .8rem 0 .8rem;
  border-radius: 50%;
  display: inline-block;
  background: #ffffff; }

.owl-theme .owl-controls .owl-page.active span {
  background: #68b9fd; }

/**
 * ===================================================================
 * 16. stats - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#stats {
  background: #68b9fd;
  padding-top: 7.2rem;
  padding-bottom: 6rem;
  text-align: center; }

#stats .row {
  max-width: 1440px; }

#stats .stat {
  border-left: 1px solid rgba(255, 255, 255, 0.12);
  min-height: 17.4rem; }

#stats .stat:first-child {
  border: none; }

#stats .icon-part i {
  font-size: 4.8rem;
  color: #000000; }

#stats .stat-count {
  color: #000000;
  font-size: 3.6rem;
  margin-top: 1.2rem;
  margin-bottom: 0;
  line-height: 1.5;
  font-family: "poppins-medium", sans-serif;
  display: block; }

#stats .stat-title {
  color: rgba(0, 0, 0, 0.75); }

/**
 * responsive:
 * stats
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 1024px) {
  #stats .stat:nth-child(n) {
    border-left: 1px solid rgba(255, 255, 255, 0.12);
    padding-bottom: 1.5rem; }
  #stats .stat:nth-child(3n+1) {
    border: none; } }

@media only screen and (max-width: 768px) {
  #stats .stat:nth-child(n) {
    border-left: 1px solid rgba(255, 255, 255, 0.12); }
  #stats .stat:nth-child(2n+1) {
    border: none; } }

@media only screen and (max-width: 600px) {
  #stats .stat:nth-child(n) {
    border: none; } }

/**
 * ===================================================================
 * 17. contact - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#contact {
  background: #0f0f0f;
  padding-top: 12rem;
  padding-bottom: 7.2rem; }

#contact .section-intro span.h01 {
  color: #ffffff; }

#contact .section-intro span.h05 {
  color: #68b9fd;
  display: block; }

#contact .section-intro p {
  color: rgba(255, 255, 255, 0.7); }

/* contact form */
.contact-form {
  max-width: 740px;
  font-family: "poppins-regular", sans-serif; }

.contact-form ::-webkit-input-placeholder {
  color: rgba(255, 255, 255, 0.3); }

.contact-form :-moz-placeholder {
  color: rgba(255, 255, 255, 0.3);
  /* Firefox 18- */ }

.contact-form ::-moz-placeholder {
  color: rgba(255, 255, 255, 0.3);
  /* Firefox 19+ */ }

.contact-form :-ms-input-placeholder {
  color: rgba(255, 255, 255, 0.3); }

.contact-form .placeholder {
  color: rgba(255, 255, 255, 0.3) !important; }

#contact form {
  margin-top: 0;
  margin-bottom: 3rem; }

#contact form .form-field {
  position: relative; }

#contact form .form-field:before, #contact form .form-field:after {
  content: "";
  display: table; }

#contact form .form-field:after {
  clear: both; }

#contact form .form-field label {
  font-family: "poppins-bold", sans-serif;
  font-size: 1.1rem;
  line-height: 2.4rem;
  position: absolute;
  bottom: -1.2rem;
  right: .6rem;
  text-transform: uppercase;
  letter-spacing: .1rem;
  padding: 0 2rem;
  margin: 0;
  color: #ffffff;
  background: #68b9fd; }

#contact form .form-field label::after {
  position: absolute;
  left: -5px;
  top: 50%;
  margin-top: -6px;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 5px solid #68b9fd;
  content: ""; }

#contact input[type="text"],
#contact input[type="password"],
#contact input[type="email"],
#contact textarea {
  width: 100%;
  color: rgba(255, 255, 255, 0.7);
  margin-bottom: 0;
  border: none;
  border-bottom: 1px solid rgba(255, 255, 255, 0.1); }

#contact input[type="text"],
#contact input[type="password"],
#contact input[type="email"] {
  height: 6.6rem;
  padding: 1.8rem 2rem; }

#contact input[type="text"]:focus,
#contact input[type="password"]:focus,
#contact input[type="email"]:focus {
  border-color: #68b9fd;
  color: #ffffff; }

#contact textarea {
  min-height: 20rem;
  padding: 1.8rem 2rem; }

#contact textarea:focus {
  border-color: #68b9fd;
  color: #ffffff; }

#contact button.submitForm {
  font-size: 1.5rem;
  display: block;
  letter-spacing: .2rem;
  height: 6.6rem;
  line-height: 6.6rem;
  padding: 0 3rem;
  margin-top: 4.8rem;
  width: 100%;
  background: #68b9fd;
  color: #ffffff; }

#contact button.submitForm:hover, #contact button.submitForm:focus {
  background: #68b9fd; }

#contact button.disabled, #contact button.disabled:hover, #contact button.disabled:focus {
  background-color: #9fc6e7; }

#message-warning, #message-success {
  display: none;
  border-radius: 3px;
  padding: 0 1rem;
  margin-bottom: 3.6rem;
  width: 100%; }

#message-warning {
  background: #ffffff;
  color: #e3342f; }

#message-success {
  background: #595959;
  color: #68b9fd; }

#message-warning i, #message-success i {
  margin-right: 10px; }

/* form loader */
#submit-loader {
  display: none;
  position: relative;
  left: 0;
  top: 1.8rem;
  width: 100%;
  text-align: center; }

#submit-loader .text-loader {
  display: none;
  font-family: "poppins-bold", sans-serif;
  color: #ffffff;
  letter-spacing: .3rem;
  text-transform: uppercase; }

.oldie #submit-loader .s-loader {
  display: none; }

.oldie #submit-loader .text-loader {
  display: block; }

.contact-info {
  margin: 4.8rem auto 0;
  font-family: "poppins-regular", sans-serif;
  font-size: 1.5rem;
  text-align: center; }

.contact-info .collapse {
  padding: 0; }

.contact-info .icon {
  margin-bottom: 2.1rem; }

.contact-info .icon i {
  font-size: 4.2rem;
  color: #ffffff; }

.contact-info span {
  color: #68b9fd; }

/**
 * loader animation - (_layout.scss)
 * ---------------------------------------------------------------
 */
.s-loader {
  margin: 1.2rem auto 3rem;
  width: 70px;
  text-align: center;
  -webkit-transform: translateX(0.45rem);
  -ms-transform: translateX(0.45rem);
  transform: translateX(0.45rem); }

.s-loader > div {
  width: 1rem;
  height: 1rem;
  background-color: #ffffff;
  border-radius: 100%;
  display: inline-block;
  margin-right: .9rem;
  -webkit-animation: sk-bouncedelay 1.4s infinite ease-in-out both;
  animation: sk-bouncedelay 1.4s infinite ease-in-out both; }

.s-loader .bounce1 {
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s; }

.s-loader .bounce2 {
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s; }

@-webkit-keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

@keyframes sk-bouncedelay {
  0%, 80%, 100% {
    -webkit-transform: scale(0);
    -ms-transform: scale(0);
    transform: scale(0); }
  40% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1); } }

/**
 * ===================================================================
 * 18. footer - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
footer {
  font-size: 1.4rem;
  font-family: "poppins-regular", sans-serif; }

footer a, footer a:visited {
  color: #ffffff; }

footer a:hover, footer a:focus {
  color: #68b9fd; }

footer .row {
  max-width: 900px; }

footer .social {
  text-align: right; }

footer .footer-social {
  display: inline-block;
  font-size: 2.1rem;
  margin: 0;
  padding: 0;
  position: relative;
  top: -.3rem; }

footer .footer-social li {
  display: inline-block;
  margin: 0 1px;
  padding: 0; }

footer .footer-social li a {
  color: #ffffff; }

footer .copyright span {
  display: inline-block; }

footer .copyright span::after {
  content: "|";
  display: inline-block;
  padding: 0 1rem 0 1.2rem;
  color: rgba(255, 255, 255, 0.1); }

footer .copyright span:last-child::after {
  display: none; }

/**
 * responsive:
 * footer
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 768px) {
  footer {
    text-align: center; }
  footer .social {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 1.5rem; }
  footer .copyright span {
    display: block; }
  footer .copyright span::after {
    display: none; } }

/**
 * ===================================================================
 * 19. cookies - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#est-cookies {
  background: #ffffff;
  padding-top: 12rem;
  padding-bottom: 15rem; }

.cookies-content {
  position: relative;
  text-align: justify;
  max-width: 850px;
  margin-bottom: 3.6rem; }
  .cookies-content span {
    font-family: "poppins-bold", sans-serif;
    font-size: 1.8rem;
    text-transform: uppercase; }
  .cookies-content .info-list {
    list-style: none;
    margin-left: 0; }
    .cookies-content .info-list li {
      padding: 0 0 1.5rem 0;
      margin-bottom: .6rem; }
      .cookies-content .info-list li strong {
        font-family: "poppins-bold", sans-serif;
        color: #313131;
        text-transform: uppercase;
        font-size: 1.5rem;
        line-height: 3rem; }
      .cookies-content .info-list li span {
        display: block;
        font-family: "poppins-regular", sans-serif;
        color: #595959;
        font-size: 1.5rem;
        line-height: 1;
        text-transform: none; }
  .cookies-content .skill-bars {
    margin-top: 6rem; }

#cookies-configura-btn {
  z-index: 10001;
  padding: 0 10px;
  position: fixed;
  bottom: -50px;
  left: 0;
  right: 0; }
  #cookies-configura-btn .btn {
    border-radius: 20px 20px 0 0;
    padding-top: 10px;
    padding-bottom: 50px;
    transition: 1s ease-in-out; }
  #cookies-configura-btn .btn:hover {
    transform: translateY(-35px); }

#cookies-cancelar-btn {
  padding: 0px 10px;
  position: absolute;
  top: 0px;
  right: 0px;
  background: none; }

.notice.cookies {
  display: none;
  z-index: 10001;
  padding: 0 40px;
  background: #fcfcfc;
  position: fixed;
  bottom: 10px;
  left: 10px;
  right: 0;
  box-shadow: 2px 2px 14px 2px rgba(0, 0, 0, 0.2);
  outline: 10000px solid rgba(0, 0, 0, 0.5);
  line-height: normal;
  width: 50%; }
  .notice.cookies #cookies-setup {
    width: 100%;
    padding: 0px;
    text-align: justify;
    font-size: 16px; }
    .notice.cookies #cookies-setup #frm_cookies_setup {
      margin: 0; }
      .notice.cookies #cookies-setup #frm_cookies_setup table.tbl, .notice.cookies #cookies-setup #frm_cookies_setup input {
        margin: 0; }
      .notice.cookies #cookies-setup #frm_cookies_setup span {
        font-size: 12px;
        display: block; }
  .notice.cookies #cookies-text {
    width: 100%; }
    .notice.cookies #cookies-text h2 {
      padding: 10px 0;
      margin: 0;
      color: #000000; }
    .notice.cookies #cookies-text .text {
      font-size: 16px;
      line-height: 1.5;
      text-align: justify;
      padding: inherit;
      margin-bottom: 10px; }
    .notice.cookies #cookies-text a.link {
      color: #68b9fd; }
    .notice.cookies #cookies-text .action {
      float: right; }
  .notice.cookies .btn {
    padding: 0 2rem; }
  .notice.cookies .btn.black {
    color: #ffffff;
    background-color: #000000; }

#cookies-setup {
  width: 50%;
  padding: 10px;
  text-align: justify;
  font-size: 16px; }

/**
 * responsive:
 * cookies
 * -------------------------------------------------------------------
 */
@media only screen and (max-width: 1500px) {
  .notice.cookies {
    width: 60%; }
    .notice.cookies .btn {
      padding: 0 1rem; } }

@media only screen and (max-width: 1024px) {
  .notice.cookies {
    padding: 40px 40px;
    width: 80%; }
    .notice.cookies .btn {
      padding: 0 1rem; } }

@media only screen and (max-width: 768px) {
  .cookies-content h3 {
    text-align: center; }
  .cookies-content .info-list, .cookies-content .skill-bars {
    margin-bottom: 4.2rem; }
  .notice.cookies {
    padding: 40px 40px;
    width: 100%;
    left: 0px;
    bottom: 0px; }
    .notice.cookies #cookies-text {
      width: 100%; }
      .notice.cookies #cookies-text .text {
        float: none;
        padding: 0; }
      .notice.cookies #cookies-text .action {
        float: left; }
    .notice.cookies .btn {
      padding: 0 1rem;
      font-size: 1.2rem; } }

@media only screen and (max-width: 640px) {
  .notice.cookies {
    padding: 20px 20px; } }

/**
 * ===================================================================
 * 20. estáticas - (_layout.scss)
 *
 * -------------------------------------------------------------------
 */
#est-estaticas {
  background: #ffffff;
  padding-top: 12rem;
  padding-bottom: 10rem; }

.estaticas-content {
  position: relative;
  text-align: justify;
  max-width: 1150px;
  margin-bottom: 3rem; }
  .estaticas-content img {
    box-shadow: 2px 2px 5px #999999; }
  .estaticas-content span {
    font-family: "poppins-bold", sans-serif;
    font-size: 1.8rem;
    text-transform: uppercase; }
  .estaticas-content .info-list {
    list-style: none;
    margin-left: 0; }
    .estaticas-content .info-list li {
      padding: 0 0 1.5rem 0;
      margin-bottom: .6rem; }
      .estaticas-content .info-list li strong {
        font-family: "poppins-bold", sans-serif;
        color: #313131;
        text-transform: uppercase;
        font-size: 1.5rem;
        line-height: 3rem; }
      .estaticas-content .info-list li span {
        display: block;
        font-family: "poppins-regular", sans-serif;
        color: #595959;
        font-size: 1.5rem;
        line-height: 1;
        text-transform: none; }
  .estaticas-content .skill-bars {
    margin-top: 6rem; }

/**
 * go to top - (_layout.scss)
 * -------------------------------------------------------------------
 */
#go-top {
  position: fixed;
  bottom: 100px;
  right: 0;
  z-index: 600;
  display: none; }

#go-top a {
  text-decoration: none;
  border: 0 none;
  border-radius: 20px 0 0 20px;
  display: block;
  height: 6.6rem;
  width: 6rem;
  line-height: 6.6rem;
  text-align: center;
  background: #68b9fd;
  color: #ffffff;
  text-align: center;
  text-transform: uppercase;
  transform: translateX(100%);
  transition: transform 0.4s ease-in-out; }

#go-top.active a {
  transform: translateX(0); }

#go-top a i {
  font-size: 1.6rem;
  line-height: inherit; }

#go-top a:hover {
  background: #000000; }

/*# sourceMappingURL=main.css.map */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIl92YXJpYWJsZXMuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqXG4gKiAgVE9DOlxuICogIDAwLiB2YXJpYWJsZXNcbiAqICAwMS4gd2ViZm9udHMgYW5kIGljb25mb250c1xuICogIDAyLiBiYXNlIHN0eWxlIG92ZXJyaWRlc1xuICogIDAzLiB0eXBvZ3JhcGh5ICYgZ2VuZXJhbCB0aGVtZSBzdHlsZXNcbiAqICAwNC4gcHJlbG9hZGVyXG4gKiAgMDUuIGZvcm1zXG4gKiAgMDYuIGJ1dHRvbnNcbiAqICAwNy4gb3RoZXIgY29tcG9uZW50c1xuICogIDA4LiBjb21tb24gc3R5bGVzXG4gKiAgMDkuIGhlYWRlciBzdHlsZXNcbiAqICAxMC4gaW50cm9cbiAqICAxMS4gYWJvdXRcbiAqICAxMi4gcmVzdW1lXG4gKiAgMTMuIHBvcnRmb2xpb1xuICogIDE0LiBjYWxsLXRvLWFjdGlvbiBzZWN0aW9uXG4gKiAgMTUuIHNlcnZpY2VzXG4gKiAgMTYuIHN0YXRzXG4gKiAgMTcuIGNvbnRhY3RcbiAqICAxOC4gZm9vdGVyXG4gKiAgMTkuIGNvb2tpZXNcbiAqICAyMC4gZXN0w6F0aWNhc1xuICpcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqL1xuXG4vKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIDAwLiB2YXJpYWJsZXNcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5cblxuLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAwMS4gd2ViZm9udHMgYW5kIGljb25mb250cyAtIChfZG9jdW1lbnQtc2V0dXAuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbkBpbXBvcnQgdXJsKFwiaW5pY2lvLmNzc1wiKTtcblxuXG4vKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIDAyLiBiYXNlIHN0eWxlIG92ZXJyaWRlcyAtIChfZG9jdW1lbnQtc2V0dXAuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbmh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xuICAgIGh0bWwge1xuICAgICAgICBmb250LXNpemU6IDkuNDExNzY0NzA1ODgyMzUzcHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgaHRtbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDAwcHgpIHtcbiAgICBodG1sIHtcbiAgICAgICAgZm9udC1zaXplOiA5LjQxMTc2NDcwNTg4MjM1M3B4O1xuICAgIH1cbn1cblxuaHRtbCwgYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuYm9keSB7XG4gICAgYmFja2dyb3VuZDogJGJvZHktZm9uZG87XG4gICAgZm9udC1mYW1pbHk6IFwibG9yYS1yZWd1bGFyXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIGNvbG9yOiAjOUU5RTlFO1xufVxuXG4vKipcbiAqIGxpbmtzIC0gKF9kb2N1bWVudC1zZXR1cC5zY3NzKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5hLCBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbn1cbmE6aG92ZXIsIGE6Zm9jdXMsIGE6YWN0aXZlIHtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbiAgICBvdXRsaW5lOiAwO1xufVxuXG4vKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIDAzLiB0eXBvZ3JhcGh5ICYgZ2VuZXJhbCB0aGVtZSBzdHlsZXMgLSAoX2RvY3VtZW50LXNldHVwLnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCAuaDAxLCAuaDAyLCAuaDAzLCAuaDA0LCAuaDA1LCAuaDA2IHtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLXNlbWlib2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMzMTMxMzE7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4xcmVtO1xufVxuaDMsIC5oMDMsIGg0LCAuaDA0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjhyZW07XG59XG5oNSwgLmgwNSwgaDYsIC5oMDYge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMnJlbTtcbn1cbmgxLCAuaDAxIHtcbiAgICBmb250LXNpemU6IDMuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTU7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0uMXJlbTtcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2MDBweCkge1xuICAgIGgxLCAuaDAxIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjZyZW07XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjA3cmVtO1xuICAgIH1cbn1cbmgyLCAuaDAyIHtcbiAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbn1cbmgzLCAuaDAzIHtcbiAgICBmb250LXNpemU6IDJyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cbmg0LCAuaDA0IHtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NjU7XG59XG5oNSwgLmgwNSB7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzE0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4xNXJlbTtcbn1cbmg2LCAuaDA2IHtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NDY7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjE1cmVtO1xufVxucCBpbWcge1xuICAgIG1hcmdpbjogMDtcbn1cbnAubGVhZCB7XG4gICAgZm9udC1mYW1pbHk6IFwibG9yYS1yZWd1bGFyXCIsIHNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICAgIGNvbG9yOiAkZ3Jpcztcbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xuICAgIHAubGVhZCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIH1cbn1cbmVtLCBpLCBzdHJvbmcsIGIge1xuICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuZW0sIGkge1xuICAgIGZvbnQtZmFtaWx5OiBcImxvcmEtaXRhbGljXCIsIHNlcmlmO1xufVxuc3Ryb25nLCBiIHtcbiAgICBmb250LWZhbWlseTogXCJsb3JhLWJvbGRcIiwgc2VyaWY7XG59XG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjJyZW07XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5ibG9ja3F1b3RlIHtcbiAgICBtYXJnaW46IDNyZW0gMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDRyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuYmxvY2txdW90ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDFDXCI7XG4gICAgZm9udC1zaXplOiA4cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMzEzMTMxO1xuICAgIGZvbnQtZmFtaWx5OiBhcmlhbCwgc2Fucy1zZXJpZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzcmVtO1xuICAgIGxlZnQ6IDA7XG59XG5ibG9ja3F1b3RlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBnZW9yZ2lhLCBzZXJpZjtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDEuOXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43Mzc7XG59XG5ibG9ja3F1b3RlIGNpdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMS4zcmVtO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMS42MTY7XG59XG5ibG9ja3F1b3RlIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcMjAxNCBcXDAwMjBcIjtcbn1cbmJsb2NrcXVvdGUgY2l0ZSBhLCBibG9ja3F1b3RlIGNpdGUgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogJGdyaXM7XG4gICAgYm9yZGVyOiBub25lO1xufVxuYWJiciB7XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1ib2xkXCIsIHNlcmlmO1xuICAgIGZvbnQtdmFyaWFudDogc21hbGwtY2FwcztcbiAgICB0ZXh0LXRyYW5zZm9ybTogbG93ZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMDVyZW07XG4gICAgY29sb3I6ICRncmlzO1xufVxudmFyLCBrYmQsIHNhbXAsIGNvZGUsIHByZSB7XG4gICAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkFuZGFsZSBNb25vXCIsIENvdXJpZXIsIFwiQ291cmllciBOZXdcIiwgbW9ub3NwYWNlO1xufVxucHJlIHtcbiAgICBwYWRkaW5nOiAyLjRyZW0gM3JlbSAzcmVtO1xuICAgIGJhY2tncm91bmQ6ICNGMUYxRjE7XG59XG5jb2RlIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW46IDAgLjJyZW07XG4gICAgcGFkZGluZzogLjNyZW0gLjZyZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBiYWNrZ3JvdW5kOiAjRjFGMUYxO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNFMUUxRTE7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xufVxucHJlID4gY29kZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICBsaW5lLWhlaWdodDogMjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cbnByZS5wcmV0dHlwcmludCA+IGNvZGUge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbmRlbCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG59XG5hYmJyW3RpdGxlXSwgZGZuW3RpdGxlXSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbiAgICBjdXJzb3I6IGhlbHA7XG59XG5tYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkZGNDlCO1xuICAgIGNvbG9yOiAjMDAwO1xufVxuaHIge1xuICAgIGJvcmRlcjogc29saWQgI2QyZDJkMjtcbiAgICBib3JkZXItd2lkdGg6IDFweCAwIDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAyLjRyZW0gMCAxLjVyZW07XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIExpc3RzIC0gKF9kb2N1bWVudC1zZXR1cC5zY3NzKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5vbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbn1cbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjO1xufVxubGkge1xuICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cbm9sLCB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuN3JlbTtcbn1cbnVsIGxpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IC40cmVtO1xufVxudWwgdWwsIHVsIG9sLCBvbCBvbCwgb2wgdWwge1xuICAgIG1hcmdpbjogLjZyZW0gMCAuNnJlbSAxLjdyZW07XG59XG51bC5kaXNjIGxpIHtcbiAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAuOHJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG51bC5kaXNjIGxpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6ICRwcmluY2lwYWw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xN3B4O1xuICAgIHRvcDogMTFweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuZHQge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbn1cbmRkIHtcbiAgICBtYXJnaW46IDAgMCAwIDJyZW07XG59XG5cbi8qKlxuICogdGFibGVzIC0gKF9kb2N1bWVudC1zZXR1cC5zY3NzKVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG50YWJsZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBmb250LWZhbWlseTogXCJsb3JhLXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbn1cbnRoLCB0ZCB7XG4gICAgcGFkZGluZzogMS41cmVtIDNyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0U4RThFODtcbn1cbnRoIHtcbiAgICBjb2xvcjogIzMxMzEzMTtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLWJvbGRcIiwgc2Fucy1zZXJpZjtcbn1cbnRkIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxudGg6Zmlyc3QtY2hpbGQsIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG59XG50aDpsYXN0LWNoaWxkLCB0ZDpsYXN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuLnRhYmxlLXJlc3BvbnNpdmUge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xufVxuXG4vKipcbiAqIFNwYWNpbmcgLSAoX2RvY3VtZW50LXNldHVwLnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbmJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuZmllbGRzZXQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbn1cbmlucHV0LFxudGV4dGFyZWEsXG5zZWxlY3QsXG5wcmUsXG5ibG9ja3F1b3RlLFxuZmlndXJlLFxudGFibGUsXG5wLFxudWwsXG5vbCxcbmRsLFxuZm9ybSxcbi5mbHVpZC12aWRlby13cmFwcGVyLFxuLnNzLWN1c3RvbS1zZWxlY3Qge1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG59XG5cbiNsYWJlbHByaXZhY2lkYWQge1xuICAgIGZvbnQtc2l6ZToxNHB4O1xufVxuXG4vKipcbiAqIGZsb2F0ZWQgaW1hZ2UgLSAoX2RvY3VtZW50LXNldHVwLnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbmltZy5wdWxsLXJpZ2h0IHtcbiAgICBtYXJnaW46IC45cmVtIDAgMCAyLjRyZW07XG59XG5pbWcucHVsbC1sZWZ0IHtcbiAgICBtYXJnaW46IC45cmVtIDIuNHJlbSAwIDA7XG59XG5cbi8qKlxuICogYmxvY2sgZ3JpZCBwYWRkaW5ncyAtIChfZG9jdW1lbnQtc2V0dXAuc2NzcylcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLmJncmlkIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XG4gICAgLmJncmlkIHtcbiAgICAgICAgcGFkZGluZzogMCAxOHB4O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xuICAgIC5iZ3JpZCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcbiAgICAuYmdyaWQge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQwMHB4KSB7XG4gICAgLmJncmlkIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8qKlxuICogcGFjZS5qcyBzdHlsZXMgLSBtaW5pbWFsICAtIChfZG9jdW1lbnQtc2V0dXAuc2NzcylcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLnBhY2Uge1xuICAgIC13ZWJraXQtcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuLnBhY2UtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ucGFjZSAucGFjZS1wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZDogJHByaW5jaXBhbDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogOTAwO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDZweDtcbn1cblxuLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAwNC4gcHJlbG9hZGVyIC0gKF9wcmVsb2FkZXItMS5zY3NzKVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuI3ByZWxvYWRlciB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1mb25kbztcbiAgICB6LWluZGV4OiA4MDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLm5vLWpzICNwcmVsb2FkZXIsIC5vbGRpZSAjcHJlbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuI2xvYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB3aWR0aDogNjBweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiAtMzBweCAwIDAgLTMwcHg7XG4gICAgcGFkZGluZzogMDtcbn1cbiNsb2FkZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci10b3A6IDExcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEpO1xuICAgIGJvcmRlci1yaWdodDogMTFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMTFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7XG4gICAgYm9yZGVyLWxlZnQ6IDExcHggc29saWQgJHByaW5jaXBhbDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogbG9hZCAxLjFzIGluZmluaXRlIGxpbmVhcjtcbiAgICBhbmltYXRpb246IGxvYWQgMS4xcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIHdpZHRoOiA2MHB4O1xuICAgIGhlaWdodDogNjBweDtcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBsb2FkIHtcbiAgICAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cbkBrZXlmcmFtZXMgbG9hZCB7XG4gICAgMCUge1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMDUuIGZvcm1zIC0gKF9mb3Jtcy5zY3NzKVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuZmllbGRzZXQge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbmlucHV0W3R5cGU9XCJlbWFpbFwiXSxcbmlucHV0W3R5cGU9XCJudW1iZXJcIl0sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdLFxuaW5wdXRbdHlwZT1cInRleHRcIl0sXG5pbnB1dFt0eXBlPVwidGVsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSxcbnRleHRhcmVhLFxuc2VsZWN0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDZyZW07XG4gICAgcGFkZGluZzogMS41cmVtIDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgLy92ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGNvbG9yOiAjMzEzMTMxO1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtcmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uc3MtY3VzdG9tLXNlbGVjdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDA7XG59XG4uc3MtY3VzdG9tLXNlbGVjdCBzZWxlY3Qge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1zLWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW8tYXBwZWFyYW5jZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIHRleHQtaW5kZW50OiAwLjAxcHg7XG4gICAgdGV4dC1vdmVyZmxvdzogaW5oZXJpdDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cbi5zcy1jdXN0b20tc2VsZWN0IHNlbGVjdCBvcHRpb24ge1xuICAgIHBhZGRpbmctbGVmdDogMnJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycmVtO1xufVxuLnNzLWN1c3RvbS1zZWxlY3Qgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuLnNzLWN1c3RvbS1zZWxlY3Q6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnXFxmMGQ3JztcbiAgICBmb250LWZhbWlseTogJ0ZvbnRBd2Vzb21lJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEuNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBib3R0b206IGF1dG87XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgY29sb3I6ICMyNTI1MjU7XG59XG5cbi8qIElFOSBhbmQgYmVsb3cgKi9cbi5vbGRpZSAuc3MtY3VzdG9tLXNlbGVjdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG50ZXh0YXJlYSB7XG4gICAgbWluLWhlaWdodDogMjVyZW07XG59XG5pbnB1dFt0eXBlPVwiZW1haWxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInRlbFwiXTpmb2N1cyxcbmlucHV0W3R5cGU9XCJ1cmxcIl06Zm9jdXMsXG5pbnB1dFt0eXBlPVwicGFzc3dvcmRcIl06Zm9jdXMsXG50ZXh0YXJlYTpmb2N1cyxcbnNlbGVjdDpmb2N1cyB7XG4gICAgY29sb3I6ICRwcmluY2lwYWw7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwcmluY2lwYWw7XG59XG5sYWJlbCwgbGVnZW5kIHtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLWJvbGRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNnJlbTtcbiAgICBjb2xvcjogIzNiM2IzYjtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG59XG5sYWJlbCA+IC5sYWJlbC10ZXh0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1yZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG59XG5sYWJlbCA+IGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgbGFiZWwgPiBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAuMTVyZW07XG59XG5cbi8qKlxuICogU3R5bGUgUGxhY2Vob2xkZXIgVGV4dFxuICogLVxuICovXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYTFhMWExO1xufVxuOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYTFhMWExOyAgLyogRmlyZWZveCAxOC0gKi9cbn1cbjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhMWExYTE7ICAvKiBGaXJlZm94IDE5KyAqL1xufVxuOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICNhMWExYTE7XG59XG4ucGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjYTFhMWExICFpbXBvcnRhbnQ7XG59XG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMDYuIGJ1dHRvbnMgLSAoX2J1dHRvbi1lc3NlbnRpYWxzLnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4uYnV0dG9uLFxuYS5idXR0b24sXG5idXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS40cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4zcmVtO1xuICAgIGhlaWdodDogNS40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1LjRyZW07XG4gICAgcGFkZGluZzogMCAzcmVtO1xuICAgIG1hcmdpbjogMCAuM3JlbSAxLjJyZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjZDhkOGQ4O1xuICAgIGNvbG9yOiAjMzEzMTMxO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG4uYnV0dG9uOmhvdmVyLFxuYS5idXR0b246aG92ZXIsXG5idXR0b246aG92ZXIsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3Zlcixcbi5idXR0b246Zm9jdXMsXG5idXR0b246Zm9jdXMsXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2JlYmViZTtcbiAgICBjb2xvcjogJGJsYWNrO1xuICAgIG91dGxpbmU6IDA7XG59XG4uYnV0dG9uLmJ1dHRvbi1wcmltYXJ5LFxuYS5idXR0b24uYnV0dG9uLXByaW1hcnksXG5idXR0b24uYnV0dG9uLXByaW1hcnksXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ1dHRvbi1wcmltYXJ5LFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLmJ1dHRvbi1wcmltYXJ5LFxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXS5idXR0b24tcHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogIzMxMzEzMTtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuLmJ1dHRvbi5idXR0b24tcHJpbWFyeTpob3ZlcixcbmEuYnV0dG9uLmJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuYnV0dG9uLmJ1dHRvbi1wcmltYXJ5OmhvdmVyLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tcHJpbWFyeTpob3ZlcixcbmlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tcHJpbWFyeTpob3ZlcixcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXByaW1hcnk6aG92ZXIsXG4uYnV0dG9uLmJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuYnV0dG9uLmJ1dHRvbi1wcmltYXJ5OmZvY3VzLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXS5idXR0b24tcHJpbWFyeTpmb2N1cyxcbmlucHV0W3R5cGU9XCJyZXNldFwiXS5idXR0b24tcHJpbWFyeTpmb2N1cyxcbmlucHV0W3R5cGU9XCJidXR0b25cIl0uYnV0dG9uLXByaW1hcnk6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICMxZjFmMWY7XG59XG5idXR0b24uZnVsbC13aWR0aCwgLmJ1dHRvbi5mdWxsLXdpZHRoIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5idXR0b24ubWVkaXVtLCAuYnV0dG9uLm1lZGl1bSB7XG4gICAgaGVpZ2h0OiA1LjdyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogNS43cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAxLjhyZW0gIWltcG9ydGFudDtcbn1cbmJ1dHRvbi5sYXJnZSwgLmJ1dHRvbi5sYXJnZSB7XG4gICAgaGVpZ2h0OiA2cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDZyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwcmVtIDNyZW0gIWltcG9ydGFudDtcbn1cbmJ1dHRvbi5zdHJva2UsIC5idXR0b24uc3Ryb2tlIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICMzMTMxMzE7XG4gICAgbGluZS1oZWlnaHQ6IDQuOHJlbTtcbn1cbmJ1dHRvbi5zdHJva2UubWVkaXVtLCAuYnV0dG9uLnN0cm9rZS5tZWRpdW0ge1xuICAgIGxpbmUtaGVpZ2h0OiA1LjFyZW0gIWltcG9ydGFudDtcbn1cbmJ1dHRvbi5zdHJva2UubGFyZ2UsIC5idXR0b24uc3Ryb2tlLmxhcmdlIHtcbiAgICBsaW5lLWhlaWdodDogNS40cmVtICFpbXBvcnRhbnQ7XG59XG5idXR0b24uc3Ryb2tlOmhvdmVyLCAuYnV0dG9uLnN0cm9rZTpob3ZlciB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgJHByaW5jaXBhbDtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbn1cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMDcuIG90aGVyIGNvbXBvbmVudHMgLSAoX290aGVycy5zY3NzKVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vKipcbiAqIGFsZXJ0IGJveCAtIChfYWxlcnQtYm94LnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbi5hbGVydC1ib3gge1xuICAgIHBhZGRpbmc6IDIuMXJlbSA0cmVtIDIuMXJlbSAzcmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbn1cbi5hbGVydC1ib3ggLmNsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuOHJlbTtcbiAgICB0b3A6IDEuOHJlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG4uc3MtZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQxZDI7XG4gICAgY29sb3I6ICNlNjUxNTM7XG59XG4uc3Mtc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M4ZTY3NTtcbiAgICBjb2xvcjogIzc1OGMzNjtcbn1cbi5zcy1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZiO1xuICAgIGNvbG9yOiAjNGE5NWNjO1xufVxuLnNzLW5vdGljZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjA5OTtcbiAgICBjb2xvcjogI2JiYTMxYjtcbn1cblxuLyoqXG4gKiBhZGRpdGlvbmFsIHR5cG8gc3R5bGVzIC0gKF9hZGRpdGlvbmFsLXR5cG8uc2NzcylcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIGRyb3AgY2FwXG4gKi9cbi5kcm9wLWNhcDpmaXJzdC1sZXR0ZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxLjVyZW0gLjZyZW0gMCAwO1xuICAgIGZvbnQtc2l6ZTogOC40cmVtO1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGxpbmUtaGVpZ2h0OiA2cmVtO1xuICAgIHRleHQtaW5kZW50OiAwO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMzEzMTMxO1xufVxuXG4vKipcbiAqIGxpbmUgZGVmaW5pdGlvbiBzdHlsZVxuICovXG4ubGluaW5nIGR0LCAubGluaW5nIGRkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xufVxuLmxpbmluZyBkdCArIGR0OmJlZm9yZSwgLmxpbmluZyBkZCArIGR0OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXEFcIjtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuLmxpbmluZyBkZCArIGRkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIsIFwiO1xufVxuLmxpbmluZyBkZCArIGRkOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIsIFwiO1xufVxuLmxpbmluZyBkZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiOiBcIjtcbiAgICBtYXJnaW4tbGVmdDogLTAuMmVtO1xufVxuXG4vKipcbiAqIGRpY3Rpb25hcnkgZGVmaW5pdGlvbiBzdHlsZVxuICovXG4uZGljdGlvbmFyeS1zdHlsZSBkdCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGNvdW50ZXItcmVzZXQ6IGRlZmluaXRpb25zO1xufVxuLmRpY3Rpb25hcnktc3R5bGUgZHQgKyBkdDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiLCBcIjtcbiAgICBtYXJnaW4tbGVmdDogLTAuMmVtO1xufVxuLmRpY3Rpb25hcnktc3R5bGUgZGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvdW50ZXItaW5jcmVtZW50OiBkZWZpbml0aW9ucztcbn1cbi5kaWN0aW9uYXJ5LXN0eWxlIGRkOmJlZm9yZSB7XG4gICAgY29udGVudDogY291bnRlcihkZWZpbml0aW9ucywgZGVjaW1hbCkgXCIuIFwiO1xufVxuXG4vKipcbiAqIFB1bGwgUXVvdGVzXG4gKiAtLS0tLS0tLS0tLVxuICogbWFya3VwOlxuICpcbiAqIDxhc2lkZSBjbGFzcz1cInB1bGwtcXVvdGVcIj5cbiAqXHRcdDxibG9ja3F1b3RlPlxuICpcdFx0XHQ8cD48L3A+XG4gKlx0XHQ8L2Jsb2NrcXVvdGU+XG4gKlx0PC9hc2lkZT5cbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLnB1bGwtcXVvdGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAyLjFyZW0gM3JlbSAyLjFyZW0gMHB4O1xufVxuLnB1bGwtcXVvdGU6YmVmb3JlLCAucHVsbC1xdW90ZTphZnRlciB7XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICBmb250LWZhbWlseTogQXJpYWwsIFNhbnMtU2VyaWY7XG4gICAgY29sb3I6ICMzMzM7XG59XG4ucHVsbC1xdW90ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXFwyMDFDXCI7XG4gICAgdG9wOiAzM3B4O1xuICAgIGxlZnQ6IDA7XG59XG4ucHVsbC1xdW90ZTphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAxRCc7XG4gICAgYm90dG9tOiAtMzNweDtcbiAgICByaWdodDogMDtcbn1cbi5wdWxsLXF1b3RlIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMDtcbn1cbi5wdWxsLXF1b3RlIGJsb2NrcXVvdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBub25lO1xufVxuXG4vKipcbiAqIFN0YXRzIFRhYlxuICogLS0tLS0tLS0tXG4gKiBtYXJrdXA6XG4gKlxuICogPHVsIGNsYXNzPVwic3RhdHMtdGFic1wiPlxuICpcdFx0PGxpPjxhIGhyZWY9XCIjXCI+W3ZhbHVlXTxlbT5bbmFtZV08L2VtPjwvYT48L2xpPlxuICpcdDwvdWw+XG4gKlxuICogRXh0ZW5kIHRoaXMgb2JqZWN0IGludG8geW91ciBtYXJrdXAuXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbi5zdGF0cy10YWJzIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogM3JlbSAwO1xufVxuLnN0YXRzLXRhYnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMS41cmVtIDNyZW0gMDtcbiAgICBwYWRkaW5nOiAwIDEuNXJlbSAwIDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbn1cbi5zdGF0cy10YWJzIGxpOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbi5zdGF0cy10YWJzIGxpIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLWJvbGRcIiwgc2Fucy1zZXJpZjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgY29sb3I6ICMyNTI1MjU7XG59XG4uc3RhdHMtdGFicyBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbn1cbi5zdGF0cy10YWJzIGxpIGEgZW0ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogLjZyZW0gMCAwIDA7XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1yZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICRncmlzO1xufVxuXG4vKipcbiAqIHNraWxsYmFycyAtIChfc2tpbGxiYXJzLnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbi5za2lsbC1iYXJzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogNnJlbSAwIDNyZW07XG59XG4uc2tpbGwtYmFycyBsaSB7XG4gICAgaGVpZ2h0OiAuNnJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjYTFhMWExO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDZyZW07XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2tpbGwtYmFycyBsaSBzdHJvbmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogLTNyZW07XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1ib2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICMzMTMxMzE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjJyZW07XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbn1cbi5za2lsbC1iYXJzIGxpIC5wcm9ncmVzcyB7XG4gICAgYmFja2dyb3VuZDogIzMxMzEzMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuLnNraWxsLWJhcnMgbGkgLnByb2dyZXNzIHNwYW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IC0zLjZyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1yZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDEuMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzMTMxO1xuICAgIHBhZGRpbmc6IC42cmVtIC42cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbn1cbi5za2lsbC1iYXJzIGxpIC5wcm9ncmVzcyBzcGFuOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IC01cHg7XG4gICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgIzMxMzEzMTtcbiAgICBjb250ZW50OiBcIlwiO1xufVxuXG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDUgICB7IHdpZHRoOiA1JTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQxMCAgeyB3aWR0aDogMTAlOyB9XG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDE1ICB7IHdpZHRoOiAxNSU7IH1cbi5za2lsbC1iYXJzIGxpIC5wZXJjZW50MjAgIHsgd2lkdGg6IDIwJTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQyNSAgeyB3aWR0aDogMjUlOyB9XG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDMwICB7IHdpZHRoOiAzMCU7IH1cbi5za2lsbC1iYXJzIGxpIC5wZXJjZW50MzUgIHsgd2lkdGg6IDM1JTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQ0MCAgeyB3aWR0aDogNDAlOyB9XG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDQ1ICB7IHdpZHRoOiA0NSU7IH1cbi5za2lsbC1iYXJzIGxpIC5wZXJjZW50NTAgIHsgd2lkdGg6IDUwJTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQ1NSAgeyB3aWR0aDogNTUlOyB9XG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDYwICB7IHdpZHRoOiA2MCU7IH1cbi5za2lsbC1iYXJzIGxpIC5wZXJjZW50NjUgIHsgd2lkdGg6IDY1JTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQ3MCAgeyB3aWR0aDogNzAlOyB9XG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDc1ICB7IHdpZHRoOiA3NSU7IH1cbi5za2lsbC1iYXJzIGxpIC5wZXJjZW50ODAgIHsgd2lkdGg6IDgwJTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQ4NSAgeyB3aWR0aDogODUlOyB9XG4uc2tpbGwtYmFycyBsaSAucGVyY2VudDkwICB7IHdpZHRoOiA5MCU7IH1cbi5za2lsbC1iYXJzIGxpIC5wZXJjZW50OTUgIHsgd2lkdGg6IDk1JTsgfVxuLnNraWxsLWJhcnMgbGkgLnBlcmNlbnQxMDAgeyB3aWR0aDogMTAwJTsgfVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMDguIGNvbW1vbiBzdHlsZXMgKF9sYXlvdXQuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbi5ncmV5LXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICNlYmViZWI7XG59XG4uZ3JleS1zZWN0aW9uIHAubGVhZCB7XG4gICAgY29sb3I6ICM3ZDdkN2Q7XG59XG4uc2VjdGlvbi1pbnRybyB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDMuNnJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4uc2VjdGlvbi1pbnRybyBoMSB7XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1zZW1pYm9sZFwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDMuNnJlbTtcbiAgICBjb2xvcjogIzMxMzEzMTtcbiAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG59XG4uc2VjdGlvbi1pbnRybyBoNSB7XG4gICAgY29sb3I6ICRwcmluY2lwYWw7XG4gICAgZm9udC1zaXplOiAxLjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1O1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjRyZW07XG59XG5cbi8qKlxuICogcmVzcG9uc2l2ZTpcbiAqIGNvbW1vbiBzdHlsZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgLnNlY3Rpb24taW50cm8ge1xuICAgICAgICBtYXgtd2lkdGg6IDY1MHB4O1xuICAgIH1cbiAgICAuc2VjdGlvbi1pbnRybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcbiAgICAuc2VjdGlvbi1pbnRybyBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42cmVtO1xuICAgIH1cbiAgICAuc2VjdGlvbi1pbnRybyBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLjNyZW07XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQwMHB4KSB7XG4gICAgLnNlY3Rpb24taW50cm8gaDEge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICB9XG59XG5cblxuLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAwOS4gaGVhZGVyIHN0eWxlcyAtIChfbGF5b3V0LnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5oZWFkZXIge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiA2NnB4O1xuICAgIHotaW5kZXg6IDYwMDtcbn1cbmhlYWRlciAucm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWluLWhlaWdodDogNjZweDtcbn1cbmhlYWRlciAudG9wLWJhciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICBtaW4taGVpZ2h0OiA2NnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA5MHB4O1xuICAgIHRvcDogMDtcbn1cbmhlYWRlciAubG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5oZWFkZXIgLmxvZ28gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMTUwcHg7XG59XG5cbi8qKlxuICogbWVudSB0b2dnbGUgLSAoX2xheW91dC5jc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbi5tZW51LXRvZ2dsZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEzcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuLm1lbnUtdG9nZ2xlIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmluY2lwYWw7XG4gICAgd2lkdGg6IDI0cHg7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgbWFyZ2luLXRvcDogLTEuNXB4O1xuICAgIGZvbnQ6IDAvMCBhO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDhweDtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZS1pbi1vdXQ7XG59XG4ubWVudS10b2dnbGUgc3Bhbjo6YmVmb3JlLCAubWVudS10b2dnbGUgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbmhlcml0O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycywgMC4ycztcbiAgICAtby10cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzLCAwLjJzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycywgMC4ycztcbiAgICAtbXMtdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4ycywgMC4ycztcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjJzLCAwLjJzO1xuICAgIC1tb3otdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHM7XG4gICAgLW8tdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHM7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwLjJzLCAwcztcbiAgICAtbXMtdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHM7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHM7XG59XG4ubWVudS10b2dnbGUgc3Bhbjo6YmVmb3JlIHtcbiAgICB0b3A6IC04cHg7XG4gICAgLW1vei10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTtcbiAgICAtby10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTtcbiAgICAtd2Via2l0LXRyYW5zaXRpb24tcHJvcGVydHk6IHRvcCwgdHJhbnNmb3JtO1xuICAgIC1tcy10cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0b3AsIHRyYW5zZm9ybTtcbn1cbi5tZW51LXRvZ2dsZSBzcGFuOjphZnRlciB7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIC1tb3otdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgLW8tdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uLXByb3BlcnR5OiBib3R0b20sIHRyYW5zZm9ybTtcbiAgICAtbXMtdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm90dG9tLCB0cmFuc2Zvcm07XG59XG5cbi8qIGlzIGNsaWNrZWQgKi9cbi5tZW51LXRvZ2dsZS5pcy1jbGlja2VkIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAxMTksIDApO1xufVxuLm1lbnUtdG9nZ2xlLmlzLWNsaWNrZWQgc3Bhbjo6YmVmb3JlLCAubWVudS10b2dnbGUuaXMtY2xpY2tlZCBzcGFuOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHByaW5jaXBhbDtcbiAgICAtbW96LXRyYW5zaXRpb24tZGVsYXk6IDBzLCAwLjJzO1xuICAgIC1vLXRyYW5zaXRpb24tZGVsYXk6IDBzLCAwLjJzO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbi1kZWxheTogMHMsIDAuMnM7XG4gICAgLW1zLXRyYW5zaXRpb24tZGVsYXk6IDBzLCAwLjJzO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzLCAwLjJzO1xufVxuLm1lbnUtdG9nZ2xlLmlzLWNsaWNrZWQgc3Bhbjo6YmVmb3JlIHtcbiAgICB0b3A6IDA7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG59XG4ubWVudS10b2dnbGUuaXMtY2xpY2tlZCBzcGFuOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xufVxuXG4vKiBuYXZpZ2F0aW9uIHBhbmVsICovXG4jbWFpbi1uYXYtd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1tZWRpdW1cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG59XG5cbi8qIGRyb3Bkb3duIG5hdiAqL1xuLm1haW4tbmF2aWdhdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJGJsYWNrO1xuICAgIHBhZGRpbmc6IDI0cHggMzBweCA0MnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbi5tYWluLW5hdmlnYXRpb24gPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMDtcbn1cbi5tYWluLW5hdmlnYXRpb24gbGkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICB3aWR0aDogYXV0bztcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyOiBub25lO1xufVxuLm1haW4tbmF2aWdhdGlvbiBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG59XG4ubWFpbi1uYXZpZ2F0aW9uIGxpLmN1cnJlbnQgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNvbG9yOiAkcHJpbmNpcGFsO1xufVxuXG4vKipcbiAqIHJlc3BvbnNpdmU6XG4gKiBoZWFkZXIgc3R5bGVzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xuICAgIGhlYWRlciAudG9wLWJhciB7XG4gICAgICAgIGxlZnQ6IDYwcHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgaGVhZGVyIC50b3AtYmFyIHtcbiAgICAgICAgbGVmdDogNTBweDtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcbiAgICBoZWFkZXIgLnRvcC1iYXIge1xuICAgICAgICBsZWZ0OiAzNXB4O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo0MDBweCkge1xuICAgIGhlYWRlciAudG9wLWJhciB7XG4gICAgICAgIGxlZnQ6IDI1cHg7XG4gICAgfVxufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMTAuIGludHJvIC0gKF9sYXlvdXQuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiNpbnRybyB7XG4gICAgYmFja2dyb3VuZDogJGJvZHktZm9uZG8gdXJsKC9pbWcvaW50cm8tYmcud2VicCkgbm8tcmVwZWF0IGNlbnRlciBib3R0b207XG4gICAgLXdlYmtpdC1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDcyMHB4O1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uaW50cm8tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjMTExMTExO1xuICAgIG9wYWNpdHk6IC44NTtcbn1cblxuLmludHJvLWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIuMXJlbSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMi4xcmVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTIuMXJlbSk7XG59XG4uaW50cm8tY29udGVudCBoMSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLW1lZGl1bVwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogOC40cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjA3MTtcbiAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogLjZyZW07XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIHRleHQtc2hhZG93OiAwIDAgMjBweCByZ2JhKDAsIDAsIDAsIDAuNSk7XG59XG4uaW50cm8tY29udGVudCBoNSB7XG4gICAgY29sb3I6ICRwcmluY2lwYWw7XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1ib2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAyLjNyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTY1O1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjNyZW07XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjIpO1xufVxuLmludHJvLWNvbnRlbnQgLmludHJvLXBvc2l0aW9uIHtcbiAgICBmb250LWZhbWlseTogXCJsb3JhLXJlZ3VsYXJcIiwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxLjdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNHJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMnJlbTtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIHRleHQtc2hhZG93OiAwIDAgNnB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbn1cbi5pbnRyby1jb250ZW50IC5pbnRyby1wb3NpdGlvbiBoMiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImxvcmEtcmVndWxhclwiLCBzZXJpZjtcbiAgICBmb250LXNpemU6IDEuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuLmludHJvLWNvbnRlbnQgLmludHJvLXBvc2l0aW9uIGgyOjphZnRlciB7XG4gICAgY29udGVudDogXCJ8XCI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDhweCAwIDE0cHg7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KTtcbn1cbi5pbnRyby1jb250ZW50IC5pbnRyby1wb3NpdGlvbiBoMjpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcInxcIjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAgMTRweCAwIDhweDtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQpO1xufVxuLmludHJvLWNvbnRlbnQgLmJ1dHRvbiB7XG4gICAgY29sb3I6ICR3aGl0ZSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGhlaWdodDogNnJlbSAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiA1LjRyZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwIDMuNXJlbSAwIDNyZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW4tdG9wOiAuNnJlbTtcbiAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMjVyZW07XG59XG4uaW50cm8tY29udGVudCAuYnV0dG9uOmhvdmVyLCAuaW50cm8tY29udGVudCAuYnV0dG9uOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmluY2lwYWw7XG59XG4uaW50cm8tY29udGVudCAuYnV0dG9uOjphZnRlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRBd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMS4ycmVtO1xufVxuXG4uaW50cm8tc29jaWFsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDcuMnJlbTtcbiAgICBmb250LXNpemU6IDMuM3JlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cbi5pbnRyby1zb2NpYWwgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAgMTBweDtcbiAgICBwYWRkaW5nOiAwO1xufVxuLmludHJvLXNvY2lhbCBsaSBhLCAuaW50cm8tc29jaWFsIGxpIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbi5pbnRyby1zb2NpYWwgbGkgYTpob3ZlciwgLmludHJvLXNvY2lhbCBsaSBhOmZvY3VzIHtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbn1cblxuLyoqXG4gKiByZXNwb25zaXZlOlxuICogSW50cm9cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XG4gICAgLmludHJvLWNvbnRlbnQgaDEge1xuICAgICAgICBmb250LXNpemU6IDcuNnJlbTtcbiAgICB9XG4gICAgLmludHJvLXNvY2lhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICB9XG4gICAgLmludHJvLXNvY2lhbCBsaSB7XG4gICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xuICAgICNpbnRybyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDY2MHB4O1xuICAgIH1cbiAgICAuaW50cm8tY29udGVudCBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNS4ycmVtO1xuICAgIH1cbiAgICAuaW50cm8tY29udGVudCBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIH1cbiAgICAuaW50cm8tY29udGVudCAuaW50cm8tcG9zaXRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuM3JlbTtcbiAgICB9XG4gICAgLmludHJvLXNvY2lhbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgIH1cbiAgICAuaW50cm8tc29jaWFsIGxpIHtcbiAgICAgICAgbWFyZ2luOiAwIDEwcHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG4gICAgI2ludHJvIHtcbiAgICAgICAgbWluLWhlaWdodDogNjAwcHg7XG4gICAgfVxuICAgIC5pbnRyby1jb250ZW50IGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjZyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IC42cmVtO1xuICAgIH1cbiAgICAuaW50cm8tY29udGVudCBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAuM3JlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC4ycmVtO1xuICAgIH1cbiAgICAuaW50cm8tY29udGVudCAuaW50cm8tcG9zaXRpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMnJlbTtcbiAgICB9XG4gICAgLmludHJvLWNvbnRlbnQgLmludHJvLXBvc2l0aW9uIHNwYW4ge1xuICAgICAgICBwYWRkaW5nOiAwIC42cmVtO1xuICAgIH1cbiAgICAuaW50cm8tY29udGVudCAuaW50cm8tcG9zaXRpb24gc3Bhbjo6YmVmb3JlLCAuaW50cm8tY29udGVudCAuaW50cm8tcG9zaXRpb24gc3Bhbjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5pbnRyby1zb2NpYWwge1xuICAgICAgICBmb250LXNpemU6IDIuNHJlbTtcbiAgICB9XG59XG5cblxuLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAxMS4gYWJvdXQgLSAoX2xheW91dC5zY3NzKVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuI2Fib3V0IHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDEycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXJlbTtcbn1cbiNhYm91dCAuc2VjdGlvbi1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbn1cbiNhYm91dCAuc2VjdGlvbi1pbnRybyBzcGFuLmgwNXtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5pbnRyby1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiA0LjJyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMzBweDtcbiAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG59XG4uaW50cm8taW5mbyBpbWcge1xuICAgIGhlaWdodDogOXJlbTtcbiAgICB3aWR0aDogOXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgbWFyZ2luOiAuOXJlbSAwIDAgMDtcbiAgICBmbG9hdDogbGVmdDtcbn1cbi5pbnRyby1pbmZvIC5sZWFkIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHBhZGRpbmctbGVmdDogMTNyZW07XG59XG5cbi5hYm91dC1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXgtd2lkdGg6IDg1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMuNnJlbTtcbn1cbi5hYm91dC1jb250ZW50IHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG4uYWJvdXQtY29udGVudCAuaW5mby1saXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xufVxuLmFib3V0LWNvbnRlbnQgLmluZm8tbGlzdCBsaSB7XG4gICAgcGFkZGluZzogMCAwIDEuNXJlbSAwO1xuICAgIG1hcmdpbi1ib3R0b206IC42cmVtO1xufVxuLmFib3V0LWNvbnRlbnQgLmluZm8tbGlzdCBsaSBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAjMzEzMTMxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDNyZW07XG59XG4uYWJvdXQtY29udGVudCAuaW5mby1saXN0IGxpIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtcmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIGNvbG9yOiAkZ3JpcztcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cbi5hYm91dC1jb250ZW50IC5za2lsbC1iYXJzIHtcbiAgICBtYXJnaW4tdG9wOiA2cmVtO1xufVxuXG4uYnV0dG9uLXNlY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5idXR0b24tc2VjdGlvbiAuYnV0dG9uIHtcbiAgICB3aWR0aDogMjUwcHg7XG59XG4uYnV0dG9uLXNlY3Rpb24gW2NsYXNzKj1cImNvbC1cIl0gLmJ1dHRvbjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiA0cmVtO1xufVxuXG4vKipcbiAqIHJlc3BvbnNpdmU6XG4gKiBhYm91dFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XG4gICAgLmludHJvLWluZm8ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbn1cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo3NjhweCkge1xuICAgIC5pbnRyby1pbmZvIGltZyB7XG4gICAgICAgIGhlaWdodDogNy44cmVtO1xuICAgICAgICB3aWR0aDogNy44cmVtO1xuICAgIH1cbiAgICAuaW50cm8taW5mbyAubGVhZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTFyZW07XG4gICAgfVxuICAgIC5hYm91dC1jb250ZW50IGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuYWJvdXQtY29udGVudCAuaW5mby1saXN0LCAuYWJvdXQtY29udGVudCAuc2tpbGwtYmFycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQuMnJlbTtcbiAgICB9XG4gICAgLmJ1dHRvbi1zZWN0aW9uIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICB9XG4gICAgLmJ1dHRvbi1zZWN0aW9uIFtjbGFzcyo9XCJjb2wtXCJdIC5idXR0b246Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjYwMHB4KSB7XG4gICAgLmludHJvLWluZm8ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgfVxuICAgIC5pbnRyby1pbmZvIGltZyB7XG4gICAgICAgIGhlaWdodDogNi42cmVtO1xuICAgICAgICB3aWR0aDogNi42cmVtO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAuaW50cm8taW5mbyAubGVhZCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAxMi4gcmVzdW1lIC0gKF9sYXlvdXQuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiNyZXN1bWUge1xuICAgIHBhZGRpbmctdG9wOiAxMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTJyZW07XG59XG5cbiNyZXN1bWUgLnJlc3VtZS1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNyZXN1bWUgLnJlc3VtZS1oZWFkZXIgc3BhbiB7XG4gICAgY29sb3I6ICRwcmluY2lwYWw7XG59XG5cbiNyZXN1bWUgLnJlc3VtZS10aW1lbGluZSB7XG4gICAgbWF4LXdpZHRoOiA5ODBweDtcbn1cbiNyZXN1bWUgLnRpbWVsaW5lLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNnJlbTtcbn1cbiNyZXN1bWUgLnRpbWVsaW5lLXdyYXA6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDM1JTtcbiAgICB0b3A6IDA7XG59XG4jcmVzdW1lIC50aW1lbGluZS1ibG9jayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07XG59XG4jcmVzdW1lIC50aW1lbGluZS1pY28ge1xuICAgIGhlaWdodDogNC44cmVtO1xuICAgIHdpZHRoOiA0LjhyZW07XG4gICAgbGluZS1oZWlnaHQ6IDQuOHJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjMzEzMTMxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMzUlO1xuICAgIHRvcDogLjlyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0yLjRyZW07XG59XG4jcmVzdW1lIC50aW1lbGluZS1pY28gaSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC4wNXJlbTtcbiAgICB0b3A6IC4ycmVtO1xufVxuXG4jcmVzdW1lIC50aW1lbGluZS1oZWFkZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNSU7XG4gICAgcGFkZGluZy1yaWdodDogOTBweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbiNyZXN1bWUgLnRpbWVsaW5lLWhlYWRlciBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiNyZXN1bWUgLnRpbWVsaW5lLWhlYWRlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNnJlbTtcbiAgICBjb2xvcjogJGdyaXM7XG59XG4jcmVzdW1lIC50aW1lbGluZS1jb250ZW50IHtcbiAgICBtYXJnaW4tbGVmdDogMzUlO1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbn1cbiNyZXN1bWUgLnRpbWVsaW5lLWNvbnRlbnQgaDQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS44cmVtO1xufVxuI3Jlc3VtZSAudGltZWxpbmUtY29udGVudCBoNDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDUwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIGJvdHRvbTogMDtcbn1cbiNyZXN1bWUgLnRpbWVsaW5lLWNvbnRlbnQgcCB7XG4gICAgY29sb3I6ICM0ZDRkNGQ7XG59XG5cbi8qKlxuICogcmVzcG9uc2l2ZTpcbiAqIHJlc3VtZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XG4gICAgI3Jlc3VtZSAudGltZWxpbmUtaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICB9XG4gICAgI3Jlc3VtZSAudGltZWxpbmUtaGVhZGVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgfVxuICAgICNyZXN1bWUgLnRpbWVsaW5lLWhlYWRlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgfVxuICAgICNyZXN1bWUgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDUwcHg7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgI3Jlc3VtZSAudGltZWxpbmUtd3JhcDo6YmVmb3JlIHtcbiAgICAgICAgbGVmdDogMi40cmVtO1xuICAgIH1cbiAgICAjcmVzdW1lIC50aW1lbGluZS1pY28ge1xuICAgICAgICBsZWZ0OiAyLjRyZW07XG4gICAgfVxuICAgICNyZXN1bWUgLnRpbWVsaW5lLWhlYWRlciB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG4gICAgI3Jlc3VtZSAudGltZWxpbmUtaGVhZGVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgIH1cbiAgICAjcmVzdW1lIC50aW1lbGluZS1oZWFkZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICAgICNyZXN1bWUgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgICNyZXN1bWUgLnRpbWVsaW5lLWNvbnRlbnQgaDQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDIuMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLjZyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMS43cmVtO1xuICAgIH1cbiAgICAjcmVzdW1lIC50aW1lbGluZS1jb250ZW50IGg0OjphZnRlciB7XG4gICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbiAgICAjcmVzdW1lIC50aW1lbGluZS1oZWFkZXIsICNyZXN1bWUgLnRpbWVsaW5lLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDdyZW07XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjQ4MHB4KSB7XG4gICAgI3Jlc3VtZSAucmVzdW1lLWhlYWRlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIH1cbiAgICAjcmVzdW1lIC50aW1lbGluZS13cmFwOjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAxLjhyZW07XG4gICAgfVxuICAgICNyZXN1bWUgLnRpbWVsaW5lLWljbyB7XG4gICAgICAgIGhlaWdodDogMy42cmVtO1xuICAgICAgICB3aWR0aDogMy42cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy42cmVtO1xuICAgICAgICBsZWZ0OiAxLjhyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS44cmVtO1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB9XG4gICAgI3Jlc3VtZSAudGltZWxpbmUtaGVhZGVyLCAjcmVzdW1lIC50aW1lbGluZS1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA1LjVyZW07XG4gICAgfVxufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMTMuIHBvcnRmb2xpbyAtIChfbGF5b3V0LnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4jcG9ydGZvbGlvIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDEycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnJlbTtcbn1cbiNwb3J0Zm9saW8gLnNlY3Rpb24taW50cm8gc3Bhbi5oMDUge1xuICAgIGNvbG9yOiAkcHJpbmNpcGFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI3BvcnRmb2xpbyAuZm9saW8taXRlbSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cbiNwb3J0Zm9saW8gLmZvbGlvLWl0ZW0gaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG59XG5cbiNwb3J0Zm9saW8gLm92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgLW1vei10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAtby10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIC1tcy10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbn1cblxuI3BvcnRmb2xpbyAuZm9saW8taXRlbS10YWJsZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuI3BvcnRmb2xpbyAuZm9saW8taXRlbS1jZWxsIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xMDAlO1xufVxuXG4jcG9ydGZvbGlvIC5mb2xpby10aXRsZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LXNpemU6IDMuM3JlbTtcbiAgICBwYWRkaW5nOiAwIDNyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cbiNwb3J0Zm9saW8gLmZvbGlvLXR5cGVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtcmVndWxhclwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAuMXJlbTtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpO1xufVxuI3BvcnRmb2xpbyAuZm9saW8taXRlbTpob3ZlciAub3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjgpO1xufVxuI3BvcnRmb2xpbyAuZm9saW8taXRlbTpob3ZlciAuZm9saW8taXRlbS1jZWxsIHtcbiAgICBsZWZ0OiAwO1xufVxuI3BvcnRmb2xpbyAuZm9saW8taXRlbTpob3ZlciBpbWcge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICAtbXMtdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xufVxuXG4vKipcbiAqIHJlc3BvbnNpdmU6XG4gKiBwb3J0Zm9saW9cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xuICAgICNwb3J0Zm9saW8gLmZvbGlvLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzLjFyZW07XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgI3BvcnRmb2xpbyAuZm9saW8tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NDAwcHgpIHtcbiAgICAjcG9ydGZvbGlvIC5mb2xpby10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi4ycmVtO1xuICAgIH1cbn1cblxuLyoqXG4gKiBQb3B1cCBNb2RhbCAtIChfbGF5b3V0LnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLnBvcHVwLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDU1MHB4O1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG4ucG9wdXAtbW9kYWwgLm1lZGlhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4ucG9wdXAtbW9kYWwgaW1nIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuLnBvcHVwLW1vZGFsIC5kZXNjcmlwdGlvbi1ib3gge1xuICAgIHBhZGRpbmc6IDEuOHJlbSAzLjZyZW0gM3JlbTtcbn1cbi5wb3B1cC1tb2RhbCAuZGVzY3JpcHRpb24tYm94IHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjZyZW07XG59XG4ucG9wdXAtbW9kYWwgLmRlc2NyaXB0aW9uLWJveCBwIHtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICBsaW5lLWhlaWdodDogMi40cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG4ucG9wdXAtbW9kYWwgLmNhdGVnb3JpZXMge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjhyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFyZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuLnBvcHVwLW1vZGFsIC5saW5rLWJveCwgLnBvcHVwLW1vZGFsIC5saW5rLWJveC1mdWxsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICRibGFjaztcbn1cbi5wb3B1cC1tb2RhbCAubGluay1ib3ggYSwgLnBvcHVwLW1vZGFsIC5saW5rLWJveC1mdWxsIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA2cmVtO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogM3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuLnBvcHVwLW1vZGFsIC5saW5rLWJveC1mdWxsIGEge1xuICAgIHdpZHRoOiAxMDAlO1xufVxuLnBvcHVwLW1vZGFsIC5saW5rLWJveCBhOmZpcnN0LWNoaWxkLCAucG9wdXAtbW9kYWwgLmxpbmstYm94LWZ1bGwgYTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgyMDAsIDIwMCwgMjAwLCAwLjEpO1xufVxuLnBvcHVwLW1vZGFsIC5saW5rLWJveCBhOmhvdmVyLCAucG9wdXAtbW9kYWwgLmxpbmstYm94LWZ1bGwgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHByaW5jaXBhbDtcbiAgICBib3JkZXI6IG5vbmU7XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcbiAgICAucG9wdXAtbW9kYWwge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIDIwcHg7XG4gICAgfVxufVxuXG4vKipcbiAqIHRyYW5zaXRpb24gZWZmZWN0IGZvciBtb2RhbCBwb3B1cCAtIChfbGF5b3V0LnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiBvdmVybGF5IGF0IHN0YXJ0ICovXG4ubWZwLWZhZGUubWZwLWJnIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW8tdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcbiAgICAtbXMtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG59XG5cbi8qIG92ZXJsYXkgYW5pbWF0ZSBpbiAqL1xuLm1mcC1mYWRlLm1mcC1iZy5tZnAtcmVhZHkge1xuICAgIG9wYWNpdHk6IC45O1xufVxuXG4vKiBvdmVybGF5IGFuaW1hdGUgb3V0ICovXG4ubWZwLWZhZGUubWZwLWJnLm1mcC1yZW1vdmluZyB7XG4gICAgb3BhY2l0eTogMDtcbn1cblxuLyogY29udGVudCBhdCBzdGFydCAqL1xuLm1mcC1mYWRlLm1mcC13cmFwIC5tZnAtY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgLW1zLXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xufVxuXG4vKiBjb250ZW50IGFuaW1hdGUgaW4gKi9cbi5tZnAtZmFkZS5tZnAtd3JhcC5tZnAtcmVhZHkgLm1mcC1jb250ZW50IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xufVxuXG4vKiBjb250ZW50IGFuaW1hdGUgb3V0ICovXG4ubWZwLWZhZGUubWZwLXdyYXAubWZwLXJlbW92aW5nIC5tZnAtY29udGVudCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbn1cblxuLyoqXG4gKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gKiAxNC4gY2FsbC10by1hY3Rpb24gc2VjdGlvbiAtIChfbGF5b3V0LnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4jY3RhIHtcbiAgICBwYWRkaW5nLXRvcDogMTAuMnJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogOXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jY3RhIHAubGVhZCB7XG4gICAgY29sb3I6ICM2ZTZlNmU7XG59XG4uY3RhLWNvbnRlbnQge1xuICAgIG1heC13aWR0aDogNjQwcHg7XG59XG4uY3RhLXRodW1iIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4ycmVtO1xufVxuLmN0YS10aHVtYiBpbWcge1xuICAgIGhlaWdodDogNy44cmVtO1xuICAgIHdpZHRoOiA3LjhyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG4vKipcbiAqIHNlY3Rpb24gYWRzIC0gKF9sYXlvdXQuc2NzcylcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLnNlY3Rpb24tYWRzIGgyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMXJlbTtcbn1cbi5zZWN0aW9uLWFkcyBoMjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAzcHg7XG4gICAgd2lkdGg6IDgwcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtNDBweDtcbn1cbi5zZWN0aW9uLWFkcyBoMiBhLCAuc2VjdGlvbi1hZHMgaDIgYTp2aXNpdGVkIHtcbiAgICBjb2xvcjogIzMxMzEzMTtcbn1cbi5zZWN0aW9uLWFkcyBzcGFuIHtcbiAgICBjb2xvcjogIzNGMEQzOTtcbn1cblxuLyoqXG4gKiByZXNwb25zaXZlOlxuICogY3RhXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDo2NTBweCkge1xuICAgIC5jdGEtY29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNjUwcHg7XG4gICAgfVxuICAgIC5jdGEtY29udGVudCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi40cmVtO1xuICAgIH1cbn1cblxuXG4vKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIDE1LiBzZXJ2aWNlcyAtIChfbGF5b3V0LnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4jc2VydmljZXMge1xuICAgIGJhY2tncm91bmQ6ICMzMTMxMzEgdXJsKC4uL2ltZy9iZy53ZWJwKSBuby1yZXBlYXQgY2VudGVyO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAtbW96LWJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBwYWRkaW5nLXRvcDogMTJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEycmVtO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG4jc2VydmljZXMgLm92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGJvZHktZm9uZG87XG4gICAgb3BhY2l0eTogLjk7XG59XG5cbiNzZXJ2aWNlcyAuc2VjdGlvbi1pbnRybyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44cmVtO1xufVxuXG4jc2VydmljZXMgLnNlY3Rpb24taW50cm8gc3Bhbi5oMDEge1xuICAgIGNvbG9yOiAkd2hpdGU7XG59XG4jc2VydmljZXMgLnNlY3Rpb24taW50cm8gc3Bhbi5oMDUge1xuICAgIGNvbG9yOiAkcHJpbmNpcGFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI3NlcnZpY2VzIC5zZWN0aW9uLWludHJvIHAge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG59XG4uc2VydmljZXMtY29udGVudCB7XG4gICAgbWF4LXdpZHRoOiAxMjAwcHg7XG59XG4uc2VydmljZXMtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbi5zZXJ2aWNlcy1saXN0IC5zZXJ2aWNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjJyZW07XG4gICAgcGFkZGluZzogMCAzMHB4O1xufVxuLnNlcnZpY2VzLWxpc3QgLmljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAyLjFyZW07XG59XG4uc2VydmljZXMtbGlzdCAuaWNvbiBpIHtcbiAgICBmb250LXNpemU6IDUuNHJlbTtcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbn1cbi5zZXJ2aWNlcy1saXN0IGgyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuLnNlcnZpY2VzLWxpc3QgLmRlc2Mge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNik7XG59XG5cbi8qIHBhZ2luYXRpb24gKi9cbi5vd2wtcGFnaW5hdGlvbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogLjZyZW0gMCAwO1xufVxuLm93bC10aGVtZSAub3dsLWNvbnRyb2xzIC5vd2wtcGFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuLm93bC10aGVtZSAub3dsLWNvbnRyb2xzIC5vd2wtcGFnZSBzcGFuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMS4ycmVtIC44cmVtIDAgLjhyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG59XG4ub3dsLXRoZW1lIC5vd2wtY29udHJvbHMgLm93bC1wYWdlLmFjdGl2ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbmNpcGFsO1xufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMTYuIHN0YXRzIC0gKF9sYXlvdXQuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiNzdGF0cyB7XG4gICAgYmFja2dyb3VuZDogJHByaW5jaXBhbDtcbiAgICBwYWRkaW5nLXRvcDogNy4ycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA2cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cbiNzdGF0cyAucm93IHtcbiAgICBtYXgtd2lkdGg6IDE0NDBweDtcbn1cbiNzdGF0cyAuc3RhdCB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTIpO1xuICAgIG1pbi1oZWlnaHQ6IDE3LjRyZW07XG59XG4jc3RhdHMgLnN0YXQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlcjogbm9uZTtcbn1cbiNzdGF0cyAuaWNvbi1wYXJ0IGkge1xuICAgIGZvbnQtc2l6ZTogNC44cmVtO1xuICAgIGNvbG9yOiAkYmxhY2s7XG59XG4jc3RhdHMgLnN0YXQtY291bnQge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgZm9udC1zaXplOiAzLjZyZW07XG4gICAgbWFyZ2luLXRvcDogMS4ycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLW1lZGl1bVwiLCBzYW5zLXNlcmlmO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI3N0YXRzIC5zdGF0LXRpdGxlIHtcbiAgICBjb2xvcjogcmdiYSgwLCAwLCAwLCAwLjc1KTtcbn1cblxuLyoqXG4gKiByZXNwb25zaXZlOlxuICogc3RhdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjEwMjRweCkge1xuICAgICNzdGF0cyAuc3RhdDpudGgtY2hpbGQobikge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gICAgfVxuICAgICNzdGF0cyAuc3RhdDpudGgtY2hpbGQoM24rMSkge1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgfVxufVxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOjc2OHB4KSB7XG4gICAgI3N0YXRzIC5zdGF0Om50aC1jaGlsZChuKSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjEyKTtcbiAgICB9XG4gICAgI3N0YXRzIC5zdGF0Om50aC1jaGlsZCgybisxKSB7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG59XG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjAwcHgpIHtcbiAgICAjc3RhdHMgLnN0YXQ6bnRoLWNoaWxkKG4pIHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbn1cblxuXG4vKipcbiAqID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAqIDE3LiBjb250YWN0IC0gKF9sYXlvdXQuc2NzcylcbiAqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiNjb250YWN0IHtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1mb25kbztcbiAgICBwYWRkaW5nLXRvcDogMTJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDcuMnJlbTtcbn1cbiNjb250YWN0IC5zZWN0aW9uLWludHJvIHNwYW4uaDAxIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuI2NvbnRhY3QgLnNlY3Rpb24taW50cm8gc3Bhbi5oMDUge1xuICAgIGNvbG9yOiAkcHJpbmNpcGFsO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuI2NvbnRhY3QgLnNlY3Rpb24taW50cm8gcCB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43KTtcbn1cblxuLyogY29udGFjdCBmb3JtICovXG4uY29udGFjdC1mb3JtIHtcbiAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtcmVndWxhclwiLCBzYW5zLXNlcmlmO1xufVxuXG4uY29udGFjdC1mb3JtIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbn1cbi5jb250YWN0LWZvcm0gOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7ICAvKiBGaXJlZm94IDE4LSAqL1xufVxuLmNvbnRhY3QtZm9ybSA6Oi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMyk7ICAvKiBGaXJlZm94IDE5KyAqL1xufVxuLmNvbnRhY3QtZm9ybSA6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xufVxuLmNvbnRhY3QtZm9ybSAucGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMykgIWltcG9ydGFudDtcbn1cblxuI2NvbnRhY3QgZm9ybSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xufVxuI2NvbnRhY3QgZm9ybSAuZm9ybS1maWVsZCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuI2NvbnRhY3QgZm9ybSAuZm9ybS1maWVsZDpiZWZvcmUsICNjb250YWN0IGZvcm0gLmZvcm0tZmllbGQ6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG59XG4jY29udGFjdCBmb3JtIC5mb3JtLWZpZWxkOmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbn1cbiNjb250YWN0IGZvcm0gLmZvcm0tZmllbGQgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcInBvcHBpbnMtYm9sZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMS4xcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjRyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTEuMnJlbTtcbiAgICByaWdodDogLjZyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjFyZW07XG4gICAgcGFkZGluZzogMCAycmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJhY2tncm91bmQ6ICRwcmluY2lwYWw7XG59XG4jY29udGFjdCBmb3JtIC5mb3JtLWZpZWxkIGxhYmVsOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC01cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICBib3JkZXItdG9wOiA1cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodDogNXB4IHNvbGlkICRwcmluY2lwYWw7XG4gICAgY29udGVudDogXCJcIjtcbn1cbiNjb250YWN0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuI2NvbnRhY3QgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuI2NvbnRhY3QgaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuI2NvbnRhY3QgdGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbiNjb250YWN0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuI2NvbnRhY3QgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuI2NvbnRhY3QgaW5wdXRbdHlwZT1cImVtYWlsXCJdIHtcbiAgICBoZWlnaHQ6IDYuNnJlbTtcbiAgICBwYWRkaW5nOiAxLjhyZW0gMnJlbTtcbn1cbiNjb250YWN0IGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzLFxuI2NvbnRhY3QgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdOmZvY3VzLFxuI2NvbnRhY3QgaW5wdXRbdHlwZT1cImVtYWlsXCJdOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmluY2lwYWw7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbiNjb250YWN0IHRleHRhcmVhIHtcbiAgICBtaW4taGVpZ2h0OiAyMHJlbTtcbiAgICBwYWRkaW5nOiAxLjhyZW0gMnJlbTtcbn1cbiNjb250YWN0IHRleHRhcmVhOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRwcmluY2lwYWw7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbiNjb250YWN0IGJ1dHRvbi5zdWJtaXRGb3JtIHtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZXR0ZXItc3BhY2luZzogLjJyZW07XG4gICAgaGVpZ2h0OiA2LjZyZW07XG4gICAgbGluZS1oZWlnaHQ6IDYuNnJlbTtcbiAgICBwYWRkaW5nOiAwIDNyZW07XG4gICAgbWFyZ2luLXRvcDogNC44cmVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRwcmluY2lwYWw7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbiNjb250YWN0IGJ1dHRvbi5zdWJtaXRGb3JtOmhvdmVyLCAjY29udGFjdCBidXR0b24uc3VibWl0Rm9ybTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJHByaW5jaXBhbDtcbn1cblxuI2NvbnRhY3QgYnV0dG9uLmRpc2FibGVkLCAjY29udGFjdCBidXR0b24uZGlzYWJsZWQ6aG92ZXIsICNjb250YWN0IGJ1dHRvbi5kaXNhYmxlZDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzlmYzZlNztcbn1cbiNtZXNzYWdlLXdhcm5pbmcsICNtZXNzYWdlLXN1Y2Nlc3Mge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjZyZW07XG4gICAgd2lkdGg6IDEwMCU7XG59XG4jbWVzc2FnZS13YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgY29sb3I6ICRyZWQ7XG59XG4jbWVzc2FnZS1zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAkZ3JpcztcbiAgICBjb2xvcjogJHByaW5jaXBhbDtcbn1cbiNtZXNzYWdlLXdhcm5pbmcgaSwgI21lc3NhZ2Utc3VjY2VzcyBpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi8qIGZvcm0gbG9hZGVyICovXG4jc3VibWl0LWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEuOHJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4jc3VibWl0LWxvYWRlciAudGV4dC1sb2FkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1ib2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLjNyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cbi5vbGRpZSAjc3VibWl0LWxvYWRlciAucy1sb2FkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4ub2xkaWUgI3N1Ym1pdC1sb2FkZXIgLnRleHQtbG9hZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cbi5jb250YWN0LWluZm8ge1xuICAgIG1hcmdpbjogNC44cmVtIGF1dG8gMDtcbiAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4uY29udGFjdC1pbmZvIC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDtcbn1cbi5jb250YWN0LWluZm8gLmljb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMXJlbTtcbn1cbi5jb250YWN0LWluZm8gLmljb24gaSB7XG4gICAgZm9udC1zaXplOiA0LjJyZW07XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbi5jb250YWN0LWluZm8gc3BhbiB7XG4gICAgY29sb3I6ICRwcmluY2lwYWw7XG59XG5cbi8qKlxuICogbG9hZGVyIGFuaW1hdGlvbiAtIChfbGF5b3V0LnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuLnMtbG9hZGVyIHtcbiAgICBtYXJnaW46IDEuMnJlbSBhdXRvIDNyZW07XG4gICAgd2lkdGg6IDcwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNDVyZW0pO1xuICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMC40NXJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDAuNDVyZW0pO1xufVxuLnMtbG9hZGVyID4gZGl2IHtcbiAgICB3aWR0aDogMXJlbTtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogLjlyZW07XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNrLWJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcbiAgICBhbmltYXRpb246IHNrLWJvdW5jZWRlbGF5IDEuNHMgaW5maW5pdGUgZWFzZS1pbi1vdXQgYm90aDtcbn1cbi5zLWxvYWRlciAuYm91bmNlMSB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjMycztcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cbi5zLWxvYWRlciAuYm91bmNlMiB7XG4gICAgLXdlYmtpdC1hbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbn1cbkAtd2Via2l0LWtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gICAgMCUsIDgwJSwgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuQGtleWZyYW1lcyBzay1ib3VuY2VkZWxheSB7XG4gICAgMCUsIDgwJSwgMTAwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMTguIGZvb3RlciAtIChfbGF5b3V0LnNjc3MpXG4gKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5mb290ZXIge1xuICAgIC8vcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1yZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG59XG5mb290ZXIgYSwgZm9vdGVyIGE6dmlzaXRlZCB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbn1cbmZvb3RlciBhOmhvdmVyLCBmb290ZXIgYTpmb2N1cyB7XG4gICAgY29sb3I6ICRwcmluY2lwYWw7XG59XG5mb290ZXIgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiA5MDBweDtcbn1cbmZvb3RlciAuc29jaWFsIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cbmZvb3RlciAuZm9vdGVyLXNvY2lhbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMi4xcmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0uM3JlbTtcbn1cbmZvb3RlciAuZm9vdGVyLXNvY2lhbCBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMCAxcHg7XG4gICAgcGFkZGluZzogMDtcbn1cbmZvb3RlciAuZm9vdGVyLXNvY2lhbCBsaSBhIHtcbiAgICBjb2xvcjogJHdoaXRlO1xufVxuZm9vdGVyIC5jb3B5cmlnaHQgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuZm9vdGVyIC5jb3B5cmlnaHQgc3Bhbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nOiAwIDFyZW0gMCAxLjJyZW07XG4gICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cbmZvb3RlciAuY29weXJpZ2h0IHNwYW46bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogcmVzcG9uc2l2ZTpcbiAqIGZvb3RlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcbiAgICBmb290ZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIGZvb3RlciAuc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG4gICAgZm9vdGVyIC5jb3B5cmlnaHQgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBmb290ZXIgLmNvcHlyaWdodCBzcGFuOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMTkuIGNvb2tpZXMgLSAoX2xheW91dC5zY3NzKVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuI2VzdC1jb29raWVzIHtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgcGFkZGluZy10b3A6IDEycmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXJlbTtcbn1cblxuLmNvb2tpZXMtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgbWF4LXdpZHRoOiA4NTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjZyZW07XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1ib2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuaW5mby1saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEuNXJlbSAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLjZyZW07XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1ib2xkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMzMTMxMzE7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogM3JlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwicG9wcGlucy1yZWd1bGFyXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRncmlzO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5za2lsbC1iYXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNnJlbTtcbiAgICB9XG59XG5cbiNjb29raWVzLWNvbmZpZ3VyYS1idG4ge1xuICAgIHotaW5kZXg6IDEwMDAxO1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm90dG9tOiAtNTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIC5idG4ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAyMHB4IDIwcHggMCAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IDFzIGVhc2UtaW4tb3V0O1xuICAgIH1cbiAgICAuYnRuOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zNXB4KTtcbiAgICB9XG59XG5cbiNjb29raWVzLWNhbmNlbGFyLWJ0biB7XG4gICAgcGFkZGluZzogMHB4IDEwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMHB4O1xuICAgIHJpZ2h0OiAwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLm5vdGljZS5jb29raWVzIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHotaW5kZXg6IDEwMDAxO1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmNmY2ZjO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDEwcHg7XG4gICAgbGVmdDogMTBweDtcbiAgICByaWdodDogMDtcbiAgICBib3gtc2hhZG93OiAycHggMnB4IDE0cHggMnB4IHJnYmEoMCwwLDAsLjIpO1xuICAgIG91dGxpbmU6IDEwMDAwcHggc29saWQgcmdiYSgwLDAsMCwuNSk7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICB3aWR0aDogNTAlO1xuXG4gICAgI2Nvb2tpZXMtc2V0dXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgI2ZybV9jb29raWVzX3NldHVwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgdGFibGUudGJsLCBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2Nvb2tpZXMtdGV4dCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6MTBweCAwO1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgIH1cbiAgICAgICAgLnRleHR7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIHBhZGRpbmc6IGluaGVyaXQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgICAgIGEubGluayB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW5jaXBhbDtcbiAgICAgICAgfVxuICAgICAgICAuYWN0aW9uIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idG4ge1xuICAgICAgICBwYWRkaW5nOiAwIDJyZW07XG4gICAgfVxuXG4gICAgLmJ0bi5ibGFjayB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICB9XG59XG5cbiNjb29raWVzLXNldHVwIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICBmb250LXNpemU6IDE2cHg7XG59XG5cblxuLyoqXG4gKiByZXNwb25zaXZlOlxuICogY29va2llc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDoxNTAwcHgpIHtcbiAgICAubm90aWNlLmNvb2tpZXMge1xuICAgICAgICB3aWR0aDogNjAlO1xuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6MTAyNHB4KSB7XG4gICAgLm5vdGljZS5jb29raWVzIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgIC5idG4ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NzY4cHgpIHtcbiAgICAuY29va2llcy1jb250ZW50IGgzIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAuY29va2llcy1jb250ZW50IC5pbmZvLWxpc3QsIC5jb29raWVzLWNvbnRlbnQgLnNraWxsLWJhcnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjJyZW07XG4gICAgfVxuXG4gICAgLm5vdGljZS5jb29raWVzIHtcbiAgICAgICAgcGFkZGluZzogNDBweCA0MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbGVmdDogMHB4O1xuICAgICAgICBib3R0b206IDBweDtcblxuICAgICAgICAjY29va2llcy10ZXh0IHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAudGV4dCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnRuIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMXJlbTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4ycmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6NjQwcHgpIHtcbiAgICAubm90aWNlLmNvb2tpZXMge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDIwcHg7XG4gICAgfVxufVxuXG5cbi8qKlxuICogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICogMjAuIGVzdMOhdGljYXMgLSAoX2xheW91dC5zY3NzKVxuICpcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuI2VzdC1lc3RhdGljYXMge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwYWRkaW5nLXRvcDogMTJyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDEwcmVtO1xufVxuXG4uZXN0YXRpY2FzLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgIG1heC13aWR0aDogMTE1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG5cbiAgICBpbWcge1xuICAgICAgICBib3gtc2hhZG93OiAycHggMnB4IDVweCAjOTk5OTk5O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLWJvbGRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjhyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5pbmZvLWxpc3Qge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMS41cmVtIDA7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAuNnJlbTtcblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLWJvbGRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzMxMzEzMTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJwb3BwaW5zLXJlZ3VsYXJcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGdyaXM7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnNraWxsLWJhcnMge1xuICAgICAgICBtYXJnaW4tdG9wOiA2cmVtO1xuICAgIH1cbn1cblxuXG4vKipcbiAqIGdvIHRvIHRvcCAtIChfbGF5b3V0LnNjc3MpXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiNnby10b3Age1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBib3R0b206IDEwMHB4O1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDYwMDtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuI2dvLXRvcCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgYm9yZGVyOiAwIG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweCAwIDAgMjBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDYuNnJlbTtcbiAgICB3aWR0aDogNnJlbTtcbiAgICBsaW5lLWhlaWdodDogNi42cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbmNpcGFsO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjRzIGVhc2UtaW4tb3V0O1xufVxuI2dvLXRvcC5hY3RpdmUgYSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuI2dvLXRvcCBhIGkge1xuICAgIGZvbnQtc2l6ZTogMS42cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuI2dvLXRvcCBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkYmxhY2s7XG59XG5cbi8qIyBzb3VyY2VNYXBwaW5nVVJMPW1haW4uY3NzLm1hcCAqL1xuIiwiLy8gQm9keVxuJGJvZHktYmc6ICNmOGZhZmM7XG4kYm9keS1ob21lOiAjMGUwZTBlO1xuJGJvZHktZm9uZG86ICMwZjBmMGY7XG5cbi8vIFR5cG9ncmFwaHlcbiRmb250LWZhbWlseS1zYW5zLXNlcmlmOiAnTnVuaXRvJywgc2Fucy1zZXJpZjtcblxuLy8gQ29sb3JzXG4kYmx1ZTogIzM0OTBkYztcbiRpbmRpZ286ICM2NTc0Y2Q7XG4kcHVycGxlOiAjOTU2MWUyO1xuJHBpbms6ICNmNjZkOWI7XG4kcmVkOiAjZTMzNDJmO1xuJG9yYW5nZTogI2Y2OTkzZjtcbiR5ZWxsb3c6ICNmZmVkNGE7XG4kZ3JlZW46ICMzOGMxNzI7XG4kdGVhbDogIzRkYzBiNTtcbiRjeWFuOiAjNmNiMmViO1xuJGdyZXk6ICNjY2NjY2M7XG4kZ3JleV9saWdodDogI2VlZWVlZTtcblxuLy8gTWVzc2FnZXNcbiR3YXJuaW5nOiAjZmZkZjFhO1xuJGVycm9yOiAjZmYwMDAwO1xuXG4kZGF2aWQ6ICM2OGI5ZmQ7IC8vNjhiOWZkXG4kcHJpbmNpcGFsOiAkZGF2aWQ7XG4kc3VicHI6ICNiYWUwZmY7IC8vYmFlMGZmXG5cbiR3aGl0ZTogI2ZmZmZmZjtcbiRibGFjazogIzAwMDAwMDtcbiRncmlzOiAjNTk1OTU5O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0dBMkJHO0FBRUg7Ozs7O0dBS0c7QUFJSDs7Ozs7R0FLRztBQUNILE9BQU8sQ0FBQyxpQkFBSTtBQUdaOzs7OztHQUtHO0FBQ0gsQUFBQSxJQUFJLENBQUM7RUFDRCxTQUFTLEVBQUUsSUFBSSxHQUNsQjs7QUFFRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxNQUFNO0VBQ3JDLEFBQUEsSUFBSSxDQUFDO0lBQ0QsU0FBUyxFQUFFLG1CQUFtQixHQUNqQzs7QUFFTCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VBQ3BDLEFBQUEsSUFBSSxDQUFDO0lBQ0QsU0FBUyxFQUFFLElBQUksR0FDbEI7O0FBRUwsTUFBTSxNQUFNLE1BQU0sTUFBTSxTQUFTLEVBQUUsS0FBSztFQUNwQyxBQUFBLElBQUksQ0FBQztJQUNELFNBQVMsRUFBRSxtQkFBbUIsR0FDakM7O0FBR0wsQUFBQSxJQUFJLEVBQUUsSUFBSSxDQUFDO0VBQ1AsTUFBTSxFQUFFLElBQUksR0FDZjs7QUFDRCxBQUFBLElBQUksQ0FBQztFQUNELFVBQVUsRUMxRUQsT0FBTztFRDJFaEIsV0FBVyxFQUFFLHFCQUFxQjtFQUNsQyxTQUFTLEVBQUUsTUFBTTtFQUNqQixXQUFXLEVBQUUsSUFBSTtFQUNqQixLQUFLLEVBQUUsT0FBTyxHQUNqQjs7QUFFRDs7O0dBR0c7QUFDSCxBQUFBLENBQUMsRUFBRSxDQUFDLEFBQUEsUUFBUSxDQUFDO0VBQ1QsS0FBSyxFQzNERCxPQUFPO0VENERYLGVBQWUsRUFBRSxvQkFBb0I7RUFDckMsYUFBYSxFQUFFLG9CQUFvQjtFQUNuQyxrQkFBa0IsRUFBRSxvQkFBb0I7RUFDeEMsY0FBYyxFQUFFLG9CQUFvQjtFQUNwQyxVQUFVLEVBQUUsb0JBQW9CLEdBQ25DOztBQUNELEFBQUEs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VUFBVSxDQUFFO0VBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTs7QUFDM0MsQUFBQSxXQUFXLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBRTtFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBQzNDLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUU7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUMzQyxBQUFBLFdBQVcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFFO0VBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTs7QUFDM0MsQUFBQSxXQUFXLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBRTtFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBQzNDLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUU7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUMzQyxBQUFBLFdBQVcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFFO0VBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTs7QUFDM0MsQUFBQSxXQUFXLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBRTtFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBQzNDLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUU7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUMzQyxBQUFBLFdBQVcsQ0FBQyxFQUFFLENBQUMsVUFBVSxDQUFFO0VBQUUsS0FBSyxFQUFFLEdBQUcsR0FBSTs7QUFDM0MsQUFBQSxXQUFXLENBQUMsRUFBRSxDQUFDLFVBQVUsQ0FBRTtFQUFFLEtBQUssRUFBRSxHQUFHLEdBQUk7O0FBQzNDLEFBQUEsV0FBVyxDQUFDLEVBQUUsQ0FBQyxVQUFVLENBQUU7RUFBRSxLQUFLLEVBQUUsR0FBRyxHQUFJOztBQUMzQyxBQUFBLFdBQVcsQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDO0VBQUUsS0FBSyxFQUFFLElBQUksR0FBSTs7QUFHNUM7Ozs7O0dBS0c7QUFDSCxBQUFBLGFBQWEsQ0FBQztFQUNWLFVBQVUsRUFBRSxPQUFPLEdBQ3RC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 */
