/*
Theme Name: FriendsPro
Theme URI: http://www.friendspro.de/
Author: Gutschik
Author URI: http://www.gutschik.de
Description: FriendsPro is an outstanding creative and flexible WordPress one page theme well suited for business website, portfolio, digital agency, product showcase, freelancers and everyone else who appreciate good design.
Version: 1.0.9
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: friendspro
Tags: one-column, two-columns, left-sidebar, right-sidebar, fluid-layout, responsive-layout, custom-menu, featured-images, full-width-template, sticky-post, theme-options, threaded-comments, translation-ready, blue, light

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.

FriendsPro is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
1.0  Reset
2.0  Document
3.0  Layout
4.0  Structure
5.0  Contents
6.0  Elements
7.0  Widgets
8.0  Sections
9.0  External Plugins

--------------------------------------------------------------*/
/*--------------------------------------------------------------
Fonts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
Variables
--------------------------------------------------------------*/
/*--------------------------------------------------------------
1.0 Reset
--------------------------------------------------------------*/
html {
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  line-height: 1;
  margin: 0;
  padding: 0; }

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block; }

a:focus {
  outline: none; }

a:active,
a:hover {
  outline: 0; }

a img {
  border: 0; }

audio,
canvas,
progress,
video {
  display: inline-block;
  vertical-align: baseline; }

audio:not([controls]) {
  display: none;
  height: 0; }

[hidden],
template {
  display: none; }

abbr[title] {
  border-bottom: 1px dotted; }

b,
strong {
  font-weight: bold; }

dfn {
  font-style: italic; }

small {
  font-size: 80%; }

sub,
sup {
  font-size: 75%;
  height: 0;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  bottom: 1ex; }

sub {
  top: .5ex; }

img {
  border: 0;
  -ms-interpolation-mode: bicubic; }

pre {
  overflow: auto; }

button,
input,
optgroup,
select,
textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button,
select {
  text-transform: none; }

button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  cursor: pointer; }

input[type="search"] {
  -webkit-appearance: textfield;
  box-sizing: content-box; }

input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

button[disabled],
html input[disabled] {
  cursor: default; }

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

button,
input {
  line-height: normal;
  *overflow: visible; }

input[type="checkbox"],
input[type="radio"] {
  padding: 0; }

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

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: bold; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

.clearfix:after, .friendspro-menu:after, .nav-links:after, .widget-area .widget_categories ul:after,
.widget-area .widget_archive ul:after,
.widget-area .widget_meta ul:after {
  content: ".";
  display: block;
  height: 0;
  clear: both;
  visibility: hidden; }

.clearfix, .friendspro-menu, .nav-links, .widget-area .widget_categories ul,
.widget-area .widget_archive ul,
.widget-area .widget_meta ul {
  display: inline-block; }

.clearfix, .friendspro-menu, .nav-links, .widget-area .widget_categories ul,
.widget-area .widget_archive ul,
.widget-area .widget_meta ul {
  display: block; }

.clear {
  zoom: 1; }
  .clear:before, .clear:after {
    display: table;
    content: ""; }
  .clear:after {
    clear: both; }

.break, h1,
h2,
h3,
h4,
h5,
h6, p, ul, ol, dl, blockquote, pre {
  word-break: break-word;
  word-wrap: break-word; }

.none {
  display: none; }

/* Reset already include in bootstrap */
/*--------------------------------------------------------------
2.0 Document Setup
--------------------------------------------------------------*/
/*------------------------------
	2.1 Typography
------------------------------*/
html, body {
  margin: 0;
  padding: 0;
  height: 100%; }

html {
  box-sizing: border-box;
  -webkit-tap-highlight-color: transparent;
  font-size: 16px; }
  @media (max-width: 991px) {
    html {
      font-size: 15px; } }
  @media (max-width: 767px) {
    html {
      font-size: 14px; } }

body {
  background: #ffffff;
  height: 100%; }

.site {
  background: #FFFFFF;
  position: relative; }

body, button, input, select, textarea {
  font-family: Helvetica, Arial, sans-serif;
  font-size: 18px;
  font-size: 1.125rem;
  line-height: 1.6;
  color: #333; }
  @media (max-width: 991px) {
    body, button, input, select, textarea {
      font-size: 15px;
      font-size: 0.9375rem; } }
  @media (max-width: 767px) {
    body, button, input, select, textarea {
      font-size: 14px;
      font-size: 0.875rem; } }

pre,
code,
input,
textarea {
  font: inherit; }

::-moz-selection {
  background: #000000;
  color: #FFFFFF; }

::selection {
  background: #000000;
  color: #FFFFFF; }

/*------------------------------
	2.2 Links
------------------------------*/
a {
  color: #8abd00;
  text-decoration: none;
  outline: none; }
  a:hover {
    text-decoration: none;
    color: #333;
    text-decoration: underline; }
  a:active, a:focus, a:hover {
    outline: none; }

/*------------------------------
	2.3 Heading
------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
  clear: both;
  font-family: Helvetica, Arial, sans-serif;
  font-weight: 600;
  margin-bottom: 15px;
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  margin-top: 0;
  color: #333333; }
  h1 a,
  h2 a,
  h3 a,
  h4 a,
  h5 a,
  h6 a {
    color: #333333;
    text-decoration: none; }

h1 {
  line-height: 1.3;
  font-size: 33px;
  font-size: 2.0625rem; }
  @media (min-width: 768px) {
    h1 {
      font-size: 40px;
      font-size: 2.5rem; } }
  h1 span {
    font-weight: bold; }

h2 {
  line-height: 1.2;
  font-size: 25px;
  font-size: 1.5625rem; }
  @media (min-width: 768px) {
    h2 {
      font-size: 32px;
      font-size: 2rem; } }

h3 {
  line-height: 1.2;
  font-size: 20px;
  font-size: 1.25rem;
  font-weight: 600;
  text-transform: uppercase; }

h4 {
  line-height: 1.2;
  text-transform: uppercase;
  font-size: 17px;
  font-size: 1.0625rem;
  margin-bottom: 12px; }

h5 {
  line-height: 1.2;
  text-transform: uppercase;
  font-size: 15px;
  font-size: 0.9375rem;
  font-weight: 700; }

h6 {
  line-height: 1.2;
  font-weight: 700;
  text-transform: uppercase;
  font-size: 12px;
  font-size: 0.75rem;
  letter-spacing: 1px; }

/*------------------------------
	2.4 Base
------------------------------*/
ul, ol, dl, p, details, address, .vcard, figure, pre, fieldset, table, dt, dd, hr {
  margin-bottom: 15px;
  margin-bottom: 0.9375rem;
  margin-top: 0; }

/*------------------------------
	2.5 Content
------------------------------*/
img {
  height: auto;
  max-width: 100%;
  vertical-align: middle; }

b,
strong {
  font-weight: bold; }

blockquote {
  clear: both;
  margin: 20px 0; }
  blockquote p {
    font-style: italic; }
  blockquote cite {
    font-style: normal;
    margin-bottom: 20px;
    font-size: 13px; }

dfn,
cite,
em,
i {
  font-style: italic; }

figure {
  margin: 0; }

address {
  margin: 20px 0; }

hr {
  border: 0;
  border-top: 1px solid #e9e9e9;
  height: 1px;
  margin-bottom: 20px; }

tt,
kbd,
pre,
code,
samp,
var {
  font-family: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
  background-color: #e9e9e9;
  padding: 5px 7px;
  border-radius: 2px; }

pre {
  overflow: auto;
  white-space: pre-wrap;
  max-width: 100%;
  line-height: 1.7;
  margin: 20px 0;
  padding: 20px; }

details summary {
  font-weight: bold;
  margin-bottom: 20px; }

details :focus {
  outline: none; }

abbr,
acronym,
dfn {
  cursor: help;
  font-size: .95em;
  text-transform: uppercase;
  border-bottom: 1px dotted #e9e9e9;
  letter-spacing: 1px; }

mark {
  background-color: #fff9c0;
  text-decoration: none; }

small {
  font-size: 82%; }

big {
  font-size: 125%; }

ul, ol {
  padding-left: 20px; }

ul {
  list-style: disc; }

ol {
  list-style: decimal; }

ul li, ol li {
  margin: 8px 0; }

dt {
  font-weight: bold; }

dd {
  margin: 0 20px 20px; }

/*------------------------------
	2.6 Table
------------------------------*/
table {
  width: 100%;
  margin-bottom: 20px;
  border: 1px solid #e9e9e9;
  border-collapse: collapse;
  border-spacing: 0; }

table > thead > tr > th,
table > tbody > tr > th,
table > tfoot > tr > th,
table > thead > tr > td,
table > tbody > tr > td,
table > tfoot > tr > td {
  border: 1px solid #e9e9e9;
  line-height: 1.42857;
  padding: 5px;
  vertical-align: middle;
  text-align: center; }

table > thead > tr > th, table > thead > tr > td {
  border-bottom-width: 2px; }

table th {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase; }

/*------------------------------
	2.7 Form
------------------------------*/
fieldset {
  padding: 20px;
  border: 1px solid #e9e9e9; }

input[type="reset"], input[type="submit"], input[type="submit"] {
  cursor: pointer;
  background: #8abd00;
  border: none;
  display: inline-block;
  color: #FFFFFF;
  letter-spacing: 1px;
  text-transform: uppercase;
  line-height: 1;
  text-align: center;
  padding: 15px 23px 15px 23px;
  border-radius: 2px;
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset;
  margin: 3px 0;
  text-decoration: none;
  font-weight: 600;
  font-size: 13px; }
  input[type="reset"]:hover, input[type="submit"]:hover, input[type="submit"]:hover {
    opacity: 0.8; }

input[type="button"]:hover, input[type="button"]:focus, input[type="reset"]:hover,
input[type="reset"]:focus, input[type="submit"]:hover, input[type="submit"]:focus,
button:hover, button:focus {
  cursor: pointer; }

textarea {
  resize: vertical; }

select {
  max-width: 100%;
  overflow: auto;
  vertical-align: top;
  outline: none;
  border: 1px solid #e9e9e9;
  padding: 10px; }

textarea,
input[type="date"],
input[type="datetime"],
input[type="datetime-local"],
input[type="email"],
input[type="month"],
input[type="number"],
input[type="password"],
input[type="search"],
input[type="tel"],
input[type="text"],
input[type="time"],
input[type="url"],
input[type="week"] {
  padding: 10px;
  max-width: 100%;
  border: 0px;
  font-size: 15px;
  font-weight: normal;
  line-height: 22px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
  -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
  -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
  -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
  transition: all 0.2s linear;
  -moz-transition: all 0.2s linear;
  -webkit-transition: all 0.2s linear;
  -o-transition: all 0.2s linear;
  background-color: #f2f2f2;
  border-bottom: 1px solid #fff;
  box-sizing: border-box;
  color: #000000; }
  textarea:focus,
  input[type="date"]:focus,
  input[type="datetime"]:focus,
  input[type="datetime-local"]:focus,
  input[type="email"]:focus,
  input[type="month"]:focus,
  input[type="number"]:focus,
  input[type="password"]:focus,
  input[type="search"]:focus,
  input[type="tel"]:focus,
  input[type="text"]:focus,
  input[type="time"]:focus,
  input[type="url"]:focus,
  input[type="week"]:focus {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
    -moz-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
    -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
    -o-box-shadow: 0 1px 2px rgba(0, 0, 0, 0.12) inset;
    transition: all 0.2s linear;
    -moz-transition: all 0.2s linear;
    -webkit-transition: all 0.2s linear;
    -o-transition: all 0.2s linear;
    border-color: #EBEBEB;
    border-bottom: 1px solid #fff !important;
    background: #e9e9e9; }

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

input[type="radio"], input[type="checkbox"] {
  margin: 0 10px; }

/*------------------------------
	2.8 Accessibility
------------------------------*/
/* Text meant only for screen readers */
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  position: absolute !important; }

.screen-reader-text:hover,
.screen-reader-text:active,
.screen-reader-text:focus {
  background-color: #f8f9f9;
  border-radius: 3px;
  clip: auto !important;
  color: #8abd00;
  display: block;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 17px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000;
  /* Above WP toolbar */ }

/*------------------------------
	2.8 Accessibility
------------------------------*/
/*------------------------------
	2.9 Alignments
------------------------------*/
.alignleft {
  display: inline;
  float: left;
  margin-right: 1.5em; }

.alignright {
  display: inline;
  float: right;
  margin-left: 1.5em; }

.aligncenter {
  clear: both;
  display: block;
  margin-left: auto;
  margin-right: auto; }

/*------------------------------
	3.0 Clearings
------------------------------*/
.clear:before,
.clear:after,
.entry-content:before,
.entry-content:after,
.comment-content:before,
.comment-content:after,
.site-header:before,
.site-header:after,
.site-content:before,
.site-content:after,
.site-footer:before,
.site-footer:after {
  content: "";
  display: table;
  clear: both; }

.clear:after,
.entry-content:after,
.comment-content:after,
.site-header:after,
.site-content:after,
.site-footer:after {
  clear: both; }

/*------------------------------
	3.1 Infinite Scroll
------------------------------*/
/* Globally hidden elements when Infinite Scroll is supported and in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
  /* Theme Footer (when set to scrolling) */
  display: none; }

/* When Infinite Scroll has reached its end we need to re-display elements that were hidden (via .neverending) before. */
.infinity-end.neverending .site-footer {
  display: block; }

/*------------------------------
	3.1 Helper.
------------------------------*/
.hide {
  display: none; }

.clearleft {
  clear: left; }

/*--------------------------------------------------------------
2.5 Flex Center
--------------------------------------------------------------*/
@media screen and (min-width: 1025px) {
  .flex-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    height: 100%;
    /* For at least Firefox */
    min-height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    opacity: 1;
    z-index: 1;
    padding: 0; }
    .flex-section .inner-section {
      display: block;
      overflow: auto;
      max-height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0; }
      .flex-section .inner-section .box {
        min-height: -webkit-min-content;
        min-height: -moz-min-content;
        min-height: min-content;
        /* needs vendor prefixes */
        min-width: -webkit-min-content;
        min-width: -moz-min-content;
        min-width: min-content;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        width: 100%; }
      .flex-section .inner-section .flex-center {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .flex-section .inner-section .flex-center .padding {
          padding: 0 20px;
          max-height: 100%;
          width: 100%; }
      .flex-section .inner-section .container {
        margin: 0 auto;
        height: auto; } }

/*--------------------------------------------------------------
3.0 Layout
--------------------------------------------------------------*/
#primary {
  padding-bottom: 40px;
  padding-top: 40px; }

#secondary {
  padding-bottom: 40px;
  padding-top: 0; }
  @media screen and (min-width: 1025px) {
    #secondary {
      padding-top: 40px; } }

.content-area {
  width: 100%;
  float: none; }
  @media screen and (min-width: 1025px) {
    .content-area {
      float: left; } }

.sidebar {
  width: 100%;
  float: none; }
  @media screen and (min-width: 1025px) {
    .sidebar {
      width: 25.22523%;
      float: left; } }

.no-sidebar .content-area {
  width: 100%; }

@media screen and (min-width: 1025px) {
  .left-sidebar .content-area {
    float: right;
    padding-left: 39px;
    border-left: 1px solid #e9e9e9;
    margin-right: 1px;
    width: 74.77477%; }
  .left-sidebar .sidebar {
    padding-right: 39px;
    border-right: 1px solid #e9e9e9;
    margin-right: -1px; }
  .right-sidebar .content-area {
    padding-right: 39px;
    border-right: 1px solid #e9e9e9;
    width: 74.77477%; }
  .right-sidebar .sidebar {
    padding-left: 39px;
    border-left: 1px solid #e9e9e9;
    margin-left: -1px; } }

@media screen and (min-width: 1025px) {
  .page-template-template-frontpage {
    overflow: hidden; }
    .page-template-template-frontpage main {
      position: fixed;
      top: 0;
      bottom: 0;
      left: 0;
      right: 0; }
    .page-template-template-frontpage section {
      position: absolute;
      padding: 0;
      background: #fff; }
      .page-template-template-frontpage section.hiding {
        opacity: 0.01; }
      .page-template-template-frontpage section.current {
        z-index: 2;
        -webkit-transition: 400ms cubic-bezier(0.22, 0.61, 0.36, 1);
        transition: 400ms cubic-bezier(0.22, 0.61, 0.36, 1); }
      .page-template-template-frontpage section .inner-section .flex-center .padding {
        padding: 0 250px; }
      .page-template-template-frontpage section .inner-section .container {
        padding: 150px 0; }
      .page-template-template-frontpage section#home * {
        visibility: hidden; }
      .page-template-template-frontpage section#home.current * {
        visibility: visible; }
      .page-template-template-frontpage section#contact {
        top: -100%; }
      .page-template-template-frontpage section#contact.current {
        top: 0; }
      .page-template-template-frontpage section#conradt {
        left: -100%; }
      .page-template-template-frontpage section#conradt.current {
        left: 0; }
      .page-template-template-frontpage section#production {
        top: 100%; }
      .page-template-template-frontpage section#production.current {
        top: 0; }
      .page-template-template-frontpage section#friends {
        left: 100%; }
      .page-template-template-frontpage section#friends.current {
        left: 0; }
    .page-template-template-frontpage .site-footer {
      display: none; }
    .page-template-template-frontpage .friendspro-menu {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1000;
      pointer-events: none; }
      .page-template-template-frontpage .friendspro-menu li {
        position: absolute;
        z-index: 1001;
        pointer-events: all;
        padding: 15px;
        background: rgba(255, 255, 255, 0.96);
        -webkit-transition-delay: 0s;
                transition-delay: 0s;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .page-template-template-frontpage .friendspro-menu li:last-child > a {
          padding-left: 17px;
          padding-right: 17px; }
        .page-template-template-frontpage .friendspro-menu li a {
          display: block;
          text-align: center; }
          .page-template-template-frontpage .friendspro-menu li a:before {
            border-style: solid;
            border-width: 1px 1px 0 0;
            border-color: #333;
            content: '';
            display: inline-block;
            height: 4.5em;
            left: 50%;
            position: absolute;
            top: 10px;
            -webkit-transform: rotate(-45deg);
                    transform: rotate(-45deg);
            vertical-align: top;
            width: 4.5em; }
          .page-template-template-frontpage .friendspro-menu li a:hover:before {
            border-color: #8abd00; }
        .page-template-template-frontpage .friendspro-menu li.bbq-current {
          display: none; }
      .page-template-template-frontpage .friendspro-menu .nav-home {
        z-index: 1002;
        background: none;
        top: 0;
        left: 0; }
        .page-template-template-frontpage .friendspro-menu .nav-home a:before {
          display: none; }
      .page-template-template-frontpage .friendspro-menu .nav-contact {
        top: 0;
        left: 0;
        right: 0; }
        .page-template-template-frontpage .friendspro-menu .nav-contact a {
          padding-top: 3em; }
        .page-template-template-frontpage .friendspro-menu .nav-contact a:before {
          margin-left: -2.25em; }
        .page-template-template-frontpage .friendspro-menu .nav-contact:before {
          z-index: 1001;
          content: '';
          display: block;
          position: absolute;
          background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
          background: linear-gradient(to bottom, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
          left: 0;
          right: 0;
          bottom: -40px;
          height: 40px; }
      .page-template-template-frontpage .friendspro-menu .nav-production {
        bottom: 0;
        left: 0;
        right: 0; }
        .page-template-template-frontpage .friendspro-menu .nav-production a {
          padding-bottom: 3em; }
        .page-template-template-frontpage .friendspro-menu .nav-production a:before {
          top: auto;
          bottom: 10px;
          margin-left: -2.25em;
          -webkit-transform: rotate(135deg);
                  transform: rotate(135deg); }
        .page-template-template-frontpage .friendspro-menu .nav-production:before {
          z-index: 1001;
          content: '';
          display: block;
          position: absolute;
          background: -webkit-linear-gradient(top, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.96) 100%);
          background: linear-gradient(to bottom, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.96) 100%);
          left: 0;
          right: 0;
          top: -40px;
          height: 40px; }
      .page-template-template-frontpage .friendspro-menu .nav-conradt {
        top: 0;
        bottom: 0;
        left: 0; }
        .page-template-template-frontpage .friendspro-menu .nav-conradt a {
          padding-left: 4em; }
        .page-template-template-frontpage .friendspro-menu .nav-conradt a:before {
          top: 50%;
          left: 10px;
          margin-top: -2.25em;
          -webkit-transform: rotate(-135deg);
                  transform: rotate(-135deg); }
        .page-template-template-frontpage .friendspro-menu .nav-conradt:before {
          z-index: 1001;
          content: '';
          display: block;
          position: absolute;
          background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
          background: linear-gradient(to right, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0) 100%);
          right: -40px;
          top: 0;
          bottom: 0;
          width: 40px; }
      .page-template-template-frontpage .friendspro-menu .nav-friends {
        top: 0;
        bottom: 0;
        right: 0; }
        .page-template-template-frontpage .friendspro-menu .nav-friends a {
          padding-right: 4em; }
        .page-template-template-frontpage .friendspro-menu .nav-friends a:before {
          top: 50%;
          left: auto;
          right: 10px;
          margin-top: -2.25em;
          -webkit-transform: rotate(45deg);
                  transform: rotate(45deg); }
        .page-template-template-frontpage .friendspro-menu .nav-friends:before {
          z-index: 1001;
          content: '';
          display: block;
          position: absolute;
          background: -webkit-linear-gradient(left, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.96) 100%);
          background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.96) 100%);
          left: -40px;
          top: 0;
          bottom: 0;
          width: 40px; }
      .page-template-template-frontpage .friendspro-menu .wpml-ls-item {
        top: 0;
        right: 0;
        left: auto;
        background: none;
        z-index: 1003; }
        .page-template-template-frontpage .friendspro-menu .wpml-ls-item a:before {
          display: none; } }

/*--------------------------------------------------------------
4.0 Structure
--------------------------------------------------------------*/
/* Header
------------------------------*/
.site-header {
  line-height: 50px;
  position: fixed;
  width: 100%;
  background: #FFFFFF;
  z-index: 50; }

.site-branding {
  float: left;
  display: none; }

.site-branding .site-title, .site-branding .site-text-logo {
  margin: 0px;
  line-height: 1;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 23px;
  letter-spacing: 1px;
  text-transform: uppercase;
  color: #000000;
  display: initial;
  vertical-align: middle;
  font-weight: 600; }
  .site-branding .site-title:hover, .site-branding .site-text-logo:hover {
    text-decoration: none; }

.header-social {
  margin-left: 0px;
  float: right; }
  @media screen and (min-width: 1025px) {
    .header-social {
      margin-left: 10px; } }
  @media screen and (max-width: 576px) {
    .header-social {
      display: none; } }
  .header-social a {
    display: block;
    height: 100%;
    float: left;
    margin-left: 0px;
    margin-top: -2px;
    color: #8abd00; }
    @media screen and (min-width: 1025px) {
      .header-social a {
        margin-left: 3px; } }
    .header-social a:hover {
      color: #000000;
      -webkit-transition: all 0.2s linear 0s;
      transition: all 0.2s linear 0s; }
  .header-social .fa-stack-1x, .header-social .fa-stack-2x {
    position: absolute;
    left: 0;
    width: 100%;
    text-align: center; }
  .header-social .fa-stack-1x {
    line-height: inherit; }
  .header-social .fa-stack-2x {
    font-size: 2em; }
  .header-social .fa-inverse {
    color: #FFFFFF; }

.header-btn {
  float: right; }

/* Site Navigation */
.friendspro-menu, .friendspro-menu * {
  margin: 0;
  padding: 0;
  list-style: none; }

.friendspro-menu {
  float: right; }
  .friendspro-menu ul {
    position: absolute;
    display: none;
    top: 100%;
    left: 0;
    z-index: 99; }
  .friendspro-menu ul ul {
    top: 0;
    left: 100%; }
  .friendspro-menu li {
    position: relative; }
  .friendspro-menu > li {
    float: left; }
  .friendspro-menu li:hover > ul, .friendspro-menu li.sfHover > ul {
    display: block; }
  .friendspro-menu a {
    display: block;
    position: relative; }

.friendspro-menu ul {
  min-width: 12em;
  *width: 12em;
  border: 1px solid #e9e9e9;
  border-top: none; }

.friendspro-menu li {
  white-space: nowrap;
  *white-space: normal;
  -webkit-transition: background .2s;
  transition: background .2s; }

.friendspro-menu li:hover,
.friendspro-menu li.sfHover {
  -webkit-transition: none;
  transition: none; }

.friendspro-menu a {
  color: #333333;
  font-family: Helvetica, Arial, sans-serif;
  padding-left: 17px;
  padding-right: 17px;
  font-size: 13px;
  font-weight: 600;
  text-transform: uppercase;
  text-decoration: none;
  zoom: 1;
  letter-spacing: 1px; }
  .friendspro-menu a:hover {
    color: #8abd00; }

.friendspro-menu ul li {
  line-height: 26px; }
  .friendspro-menu ul li a {
    border-top: 1px solid #e9e9e9;
    padding: 8px 18px;
    color: #999999;
    font-size: 13px;
    text-transform: none;
    background: #ffffff;
    letter-spacing: 0; }
    .friendspro-menu ul li a:hover {
      color: #8abd00; }

.friendspro-menu li.friendspro-current-item > a {
  color: #8abd00; }

.friendspro-menu ul li.current-menu-item > a {
  color: #8abd00; }

.friendspro-menu > li:last-child > a {
  padding-right: 0px; }

.friendspro-menu > li a.menu-actived {
  color: #8abd00; }

#nav-toggle {
  display: none;
  margin-left: 15px; }

@media screen and (max-width: 1025px) {
  .main-navigation {
    position: static; }
  .main-navigation .friendspro-menu {
    width: 100% !important;
    display: none; }
  .friendspro-menu.friendspro-menu-mobile {
    display: block !important;
    position: absolute;
    top: 50px;
    right: 0;
    width: 100%;
    background: transparent;
    z-index: 100;
    border-bottom: 1px solid #e9e9e9; }
    .friendspro-menu.friendspro-menu-mobile > li > a {
      padding: 12px 20px; }
    .friendspro-menu.friendspro-menu-mobile ul {
      box-shadow: none;
      padding-bottom: 0;
      position: static !important;
      display: none !important; }
      .friendspro-menu.friendspro-menu-mobile ul li:last-child {
        border-bottom: none; }
      .friendspro-menu.friendspro-menu-mobile ul li a {
        padding: 12px 35px; }
        .friendspro-menu.friendspro-menu-mobile ul li a:hover {
          background: transparent; }
      .friendspro-menu.friendspro-menu-mobile ul li li a {
        padding: 12px 70px; }
      .friendspro-menu.friendspro-menu-mobile ul li li li a {
        padding: 12px 105px; }
    .friendspro-menu.friendspro-menu-mobile li {
      line-height: 20px;
      background: #FFFFFF;
      border-top: 1px solid #e9e9e9;
      width: 100% !important; }
    .friendspro-menu.friendspro-menu-mobile li.friendspro-current-item > a {
      color: #8abd00; }
    .friendspro-menu.friendspro-menu-mobile a {
      color: #333;
      text-align: center; }
      .friendspro-menu.friendspro-menu-mobile a:hover {
        color: #000000; }
    .friendspro-menu.friendspro-menu-mobile .nav-toggle-subarrow {
      display: none; }
  #nav-toggle {
    display: block; } }

#nav-toggle {
  float: right;
  position: relative;
  width: 35px;
  overflow: hidden;
  white-space: nowrap;
  color: transparent; }
  #nav-toggle span {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -2px;
    -webkit-transition: background 0.2s;
    transition: background 0.2s;
    display: inline-block;
    height: 3px;
    width: 24px;
    background: #000000; }
    #nav-toggle span:before {
      top: -8px; }
    #nav-toggle span:after {
      top: 8px; }
    #nav-toggle span:before, #nav-toggle span:after {
      position: absolute;
      display: inline-block;
      height: 3px;
      width: 24px;
      background: #000000;
      content: '';
      right: 0;
      -webkit-transform: translateZ(0);
      transform: translateZ(0);
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      -webkit-transform-origin: 0% 50%;
      transform-origin: 0% 50%;
      -webkit-transition: -webkit-transform 0.2s;
      transition: -webkit-transform 0.2s;
      transition: transform 0.2s;
      transition: transform 0.2s, -webkit-transform 0.2s; }

#nav-toggle.nav-is-visible span {
  background: transparent; }
  #nav-toggle.nav-is-visible span:before {
    -webkit-transform: translateX(4px) translateY(-1px) rotate(45deg);
    transform: translateX(4px) translateY(-1px) rotate(45deg); }
  #nav-toggle.nav-is-visible span:after {
    -webkit-transform: translateX(4px) translateY(0px) rotate(-45deg);
    transform: translateX(4px) translateY(0px) rotate(-45deg); }
  #nav-toggle.nav-is-visible span:before, #nav-toggle.nav-is-visible span:after {
    background: #000000; }

/* Content
------------------------------*/
.site-content.no-border {
  border-top: none; }

.page-header {
  padding: 25px 0px;
  border-top: 1px solid #e9e9e9;
  border-bottom: 1px solid #e9e9e9; }
  .page-header .entry-title, .page-header .page-title {
    margin-bottom: 0px;
    font-size: 22px;
    font-weight: 500; }
  .page-header p {
    margin: 6px 0px 0px 0px; }

/* Footer
------------------------------*/
.site-footer {
  background: #111111;
  color: #BBBBBB;
  font-size: 14px; }
  .site-footer a {
    color: #8abd00; }
  .site-footer .footer-connect {
    padding: 90px 0px;
    padding: 80px 0px;
    padding:  5rem 0px;
    text-align: center; }
    @media (max-width: 767px) {
      .site-footer .footer-connect .footer-subscribe {
        margin-bottom: 40px; } }
    .site-footer .footer-connect .follow-heading {
      color: #FFFFFF;
      margin-bottom: 20px;
      letter-spacing: 0.8px; }
    .site-footer .footer-connect .subs_input {
      background: #333333;
      color: #cccccc;
      border-bottom: none;
      box-shadow: none;
      padding: 12px 15px 13px;
      border-radius: 2px;
      width: 60%;
      font-size: 13px; }
      .site-footer .footer-connect .subs_input:focus {
        border: none; }
      @media screen and (max-width: 1140px) {
        .site-footer .footer-connect .subs_input {
          width: 100%;
          margin-bottom: 4px; } }
      @media screen and (max-width: 1025px) {
        .site-footer .footer-connect .subs_input {
          width: 70%;
          margin-bottom: 4px; } }
      @media screen and (max-width: 720px) {
        .site-footer .footer-connect .subs_input {
          width: 100%;
          margin-bottom: 4px; } }
    .site-footer .footer-connect .subs-button {
      margin: 0px;
      position: relative;
      top: 0px;
      padding: 16px 23px 16px; }
      @media screen and (max-width: 1140px) {
        .site-footer .footer-connect .subs-button {
          width: 100%; } }
      @media screen and (max-width: 1025px) {
        .site-footer .footer-connect .subs-button {
          width: 70%; } }
      @media screen and (max-width: 720px) {
        .site-footer .footer-connect .subs-button {
          width: 100%; } }
    .site-footer .footer-connect input[type="text"]:focus {
      border: none !important; }
  .site-footer .footer-social {
    text-align: center; }
    .site-footer .footer-social a {
      font-size: 30px;
      margin: 0px 13px;
      color: #FFFFFF; }
      .site-footer .footer-social a:hover {
        color: #8abd00; }
  .site-footer .site-info {
    position: relative;
    text-align: center;
    padding: 35px 0px;
    background: #222222;
    font-weight: 500;
    color: #bbbbbb; }
    .site-footer .site-info a {
      color: #dddddd; }
      .site-footer .site-info a:hover {
        text-decoration: underline; }
  .site-footer .btt a {
    border-radius: 0px 20px 0 0;
    color: #999999;
    background: #222222;
    display: block;
    font-size: 30px;
    height: 50px;
    line-height: 50px;
    margin: auto;
    position: absolute;
    right: 60px;
    top: -25px;
    -webkit-transition: all 0.2s linear 0s;
    transition: all 0.2s linear 0s;
    width: 50px;
    -webkit-transform: rotate(-45deg);
    -moz-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    -o-transform: rotate(-45deg); }
    .site-footer .btt a:hover {
      color: #8abd00; }
    .site-footer .btt a i {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg); }
    @media screen and (max-width: 1025px) {
      .site-footer .btt a {
        right: 0;
        left: 0; } }

/*--------------------------------------------------------------
5.0 Contents
--------------------------------------------------------------*/
/* Page: 404
------------------------------*/
.error-404 .search-form, .error-404 .widget {
  margin-bottom: 40px; }

.error-404 .widgettitle, .error-404 .widget-title {
  font-size: 15px;
  text-transform: uppercase;
  letter-spacing: 2px;
  margin-bottom: 13px;
  font-weight: 700; }

.error-404 ul {
  padding-left: 0px; }
  .error-404 ul li {
    list-style: none; }

/* Page: Search
------------------------------*/
.search-results .hentry {
  border-bottom: 1px solid #e9e9e9;
  padding-bottom: 25px;
  margin-bottom: 25px; }

.search-results .entry-summary p {
  margin-bottom: 0px; }

.search-results .entry-header .entry-title {
  font-size: 22px;
  line-height: 1.5;
  font-weight: 500; }
  .search-results .entry-header .entry-title a:hover {
    text-decoration: none; }

/* Entry Header
------------------------------*/
.entry-header .entry-title {
  font-weight: 500;
  text-transform: none;
  letter-spacing: -0.6px;
  font-family: Helvetica, Arial, sans-serif;
  font-size: 25px;
  line-height: 1.3; }
  @media screen and (min-width: 1025px) {
    .entry-header .entry-title {
      font-size: 32px;
      line-height: 1.5; } }

.single .entry-header .entry-title {
  margin-bottom: 10px; }

.highlight {
  color: #8abd00; }

/* Entry Content
------------------------------*/
.entry-content {
  margin-bottom: 30px; }
  .entry-content blockquote {
    padding: 30px;
    position: relative;
    background: #f8f9f9;
    border-left: 3px solid #8abd00;
    font-style: italic; }
    .entry-content blockquote p {
      margin: 0px; }

/* Entry Stuff
------------------------------*/
.entry-meta {
  margin-bottom: 30px;
  text-transform: uppercase;
  letter-spacing: 1.5px;
  font-size: 12px;
  font-weight: 600;
  padding-bottom: 30px;
  border-bottom: 1px solid #e9e9e9; }

.entry-footer {
  margin-bottom: 30px;
  padding-top: 30px;
  border-top: 1px solid #e9e9e9; }
  .entry-footer .cat-links, .entry-footer .tags-links {
    display: block;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-size: 12px;
    font-weight: 600;
    margin-top: 5px; }

.nav-links {
  padding: 30px 0px;
  border-left: none;
  border-right: none;
  margin-bottom: 50px; }
  .nav-links .nav-previous {
    float: left; }
  .nav-links .nav-next {
    float: right; }
  .nav-links a {
    background: #cccccc;
    color: #FFFFFF;
    padding: 12px 20px;
    font-weight: 600;
    font-size: 12px;
    letter-spacing: 1px;
    text-transform: uppercase;
    border-radius: 2px; }
    .nav-links a:hover {
      background: #8abd00;
      text-decoration: none; }

.bypostauthor {
  margin: 0; }

/* Sticky Post
------------------------------*/
.sticky .entry-title {
  padding-left: 20px;
  position: relative; }
  .sticky .entry-title:after {
    content: "\f276";
    display: inline-block;
    font-family: "FontAwesome";
    font-style: normal;
    font-weight: normal;
    width: 12px;
    height: 12px;
    position: absolute;
    left: 0px;
    top: 2px;
    font-size: 22px;
    color: #aaaaaa; }

/* WordPress caption style
------------------------------*/
.wp-caption {
  max-width: 100%;
  font-style: italic;
  line-height: 1.35;
  margin-bottom: 15px;
  margin-top: 5px; }
  .wp-caption img[class*="wp-image-"] {
    display: block;
    max-width: 100%; }
  .wp-caption .wp-caption-text {
    margin: 10px 0px; }

.wp-caption-text,
.entry-thumbnail-caption,
.cycle-caption {
  font-style: italic;
  line-height: 1.35;
  font-size: 13px; }

/* WordPress Gallery
------------------------------*/
.gallery {
  margin-bottom: 1.5em; }

.gallery-item {
  display: inline-block;
  text-align: center;
  vertical-align: top;
  width: 100%; }
  .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .gallery-columns-3 .gallery-item {
    max-width: 33.33%; }
  .gallery-columns-4 .gallery-item {
    max-width: 25%; }
  .gallery-columns-5 .gallery-item {
    max-width: 20%; }
  .gallery-columns-6 .gallery-item {
    max-width: 16.66%; }
  .gallery-columns-7 .gallery-item {
    max-width: 14.28%; }
  .gallery-columns-8 .gallery-item {
    max-width: 12.5%; }
  .gallery-columns-9 .gallery-item {
    max-width: 11.11%; }

.gallery-caption {
  display: block; }

/* Comments
------------------------------*/
#comments {
  padding-top: 30px;
  border-top: 1px solid #e9e9e9; }
  #comments .comments-title {
    margin-bottom: 20px;
    font-size: 18px;
    line-height: 26px;
    letter-spacing: 1.5px;
    text-transform: uppercase; }
  #comments .comment-list {
    list-style: none;
    padding-left: 0px; }
    #comments .comment-list .pingback {
      border-bottom: 1px solid #e9e9e9;
      padding: 20px 0;
      margin: 0; }
      #comments .comment-list .pingback p {
        margin: 0px; }
    #comments .comment-list .pingback:last-child {
      margin-bottom: 40px; }
  #comments .comment-content.entry-content {
    margin-bottom: 0px; }
  #comments .comment {
    list-style: none;
    margin: 30px 0; }
    #comments .comment .avatar {
      width: 60px;
      float: left;
      border-radius: 3px; }
    #comments .comment .comment-wrapper {
      margin-left: 90px;
      padding: 25px 30px 15px 30px;
      background: #f8f9f9;
      position: relative; }
      #comments .comment .comment-wrapper:before {
        border-color: transparent #f6f7f9 transparent transparent;
        border-style: solid;
        border-width: 0 10px 10px 0;
        content: "";
        height: 0;
        left: -9px;
        position: absolute;
        top: 0;
        width: 0; }
      #comments .comment .comment-wrapper .comment-meta .comment-time, #comments .comment .comment-wrapper .comment-meta .comment-reply-link, #comments .comment .comment-wrapper .comment-meta .comment-edit-link {
        color: #aaaaaa;
        text-transform: uppercase;
        letter-spacing: 0.3px;
        font-size: 11px; }
        #comments .comment .comment-wrapper .comment-meta .comment-time:hover, #comments .comment .comment-wrapper .comment-meta .comment-reply-link:hover, #comments .comment .comment-wrapper .comment-meta .comment-edit-link:hover {
          color: #8abd00; }
        #comments .comment .comment-wrapper .comment-meta .comment-time:after, #comments .comment .comment-wrapper .comment-meta .comment-reply-link:after, #comments .comment .comment-wrapper .comment-meta .comment-edit-link:after {
          content: "/";
          padding: 0px 5px; }
      #comments .comment .comment-wrapper .comment-meta a:last-child:after {
        content: ""; }
      #comments .comment .comment-wrapper .comment-meta cite .fn {
        font-weight: bold;
        font-style: normal;
        margin-right: 5px;
        text-transform: uppercase;
        letter-spacing: 1.5px;
        font-size: 14px; }
      #comments .comment .comment-wrapper .comment-meta cite span {
        padding: 3px 10px;
        background: #e9e9e9;
        border-radius: 4px;
        margin-right: 10px; }
      #comments .comment .comment-wrapper a {
        text-decoration: none; }
    #comments .comment .children {
      padding-left: 30px; }
      #comments .comment .children .children {
        padding-left: 30px; }
        #comments .comment .children .children .children {
          padding-left: 0px; }
    @media screen and (min-width: 1025px) {
      #comments .comment .children {
        padding-left: 90px; }
        #comments .comment .children .children {
          padding-left: 90px; }
          #comments .comment .children .children .children {
            padding-left: 90px; } }
  #comments .form-allowed-tags {
    display: none; }
  #comments a {
    text-decoration: none; }
    #comments a:hover {
      text-decoration: underline; }

.right-sidebar .comment-respond textarea,
.left-sidebar .comment-respond textarea {
  width: 100%; }

/* Comment Form
------------------------------*/
#respond {
  padding-top: 20px; }
  #respond .comment-form label {
    display: block;
    margin-bottom: 4px; }
  #respond .form-allowed-tags {
    font-size: 12px; }
    #respond .form-allowed-tags code {
      background: none; }
  #respond .comment-reply-title {
    font-size: 18px;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
    text-transform: uppercase; }
  #respond .comment-notes {
    display: none; }
  #respond label {
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: 1.5px; }

.full-screen .comments-area {
  max-width: 1110px;
  margin: 0 auto; }

/*--------------------------------------------------------------
6.0 Elements
--------------------------------------------------------------*/
/* Button
------------------------------*/
.btn {
  text-transform: uppercase;
  border-radius: 2px;
  box-shadow: 0 -1px 0 0 rgba(0, 0, 0, 0.1) inset;
  font-size: 13px;
  font-size: 0.8125rem;
  font-weight: 600; }
  .btn:active, .btn:focus {
    outline: none; }

.btn-lg {
  font-size: 17px;
  font-size: 1.0625rem; }

.btn-theme-primary {
  background: #8abd00;
  color: #FFFFFF; }
  .btn-theme-primary:hover {
    color: #FFFFFF; }

.btn-theme-primary-outline {
  background-color: transparent;
  background-image: none;
  border-color: #8abd00;
  color: #8abd00; }
  .btn-theme-primary-outline:hover {
    color: #FFF;
    background-color: #8abd00;
    border-color: #8abd00; }

/*--------------------------------------------------------------
7.0 Widgets
--------------------------------------------------------------*/
.sidebar .widget {
  margin-bottom: 40px; }
  .sidebar .widget .widget-title {
    font-size: 15px;
    text-transform: uppercase;
    letter-spacing: 2px;
    margin-bottom: 13px;
    font-weight: 700; }
  .sidebar .widget ul {
    list-style: none;
    padding: 0px; }
    .sidebar .widget ul:after {
      clear: both;
      content: ".";
      display: block;
      height: 0;
      visibility: hidden; }
  .sidebar .widget a {
    color: #333;
    font-size: 14px; }
    .sidebar .widget a:hover {
      color: #8abd00;
      text-decoration: underline; }

/* Search
------------------------------*/
.sidebar .widget .search-form .search-field {
  width: 100% !important;
  padding: 10px 15px;
  padding:  0.625rem 0.9375rem; }

.sidebar .widget .search-form .search-submit {
  padding: 12px 23px 12px;
  width: 93%; }

/* Recent Comment
------------------------------*/
.widget_recent_comments ul {
  margin-top: 25px; }
  .widget_recent_comments ul li {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #e9e9e9; }
  .widget_recent_comments ul a {
    font-style: italic; }

.widget_recent_comments .comment-author-link a {
  font-weight: bold;
  font-style: normal; }

/* Recent Categories, Archive, Meta
------------------------------*/
.widget-area .widget_categories li, .widget-area .widget_archive li, .widget-area .widget_meta li {
  float: left;
  margin-bottom: 0;
  width: 50%; }
  @media screen and (min-width: 720px) {
    .widget-area .widget_categories li, .widget-area .widget_archive li, .widget-area .widget_meta li {
      width: 50%; } }
  @media screen and (min-width: 1025px) {
    .widget-area .widget_categories li, .widget-area .widget_archive li, .widget-area .widget_meta li {
      width: 100%;
      float: none; } }
  @media screen and (min-width: 1140px) {
    .widget-area .widget_categories li, .widget-area .widget_archive li, .widget-area .widget_meta li {
      width: 50%;
      float: left; } }

.widget_recent_entries ul li {
  margin: 0px;
  padding: 10px 0px 10px 0px;
  border-bottom: 1px solid #e9e9e9; }

/*--------------------------------------------------------------
8.0 Sections
--------------------------------------------------------------*/
/* Section Stuffs
------------------------------*/
.section-padding {
  padding: 70px 0px;
  padding:  4.375rem 0px; }

.section-padding-lg {
  padding: 90px 0px;
  padding:  5.625rem 0px; }

.section-meta {
  background-color: #f8f9f9; }

.onepage-section {
  position: relative;
  overflow: hidden; }
  .onepage-section:before {
    position: absolute;
    top: 0px;
    left: 0px;
    right: 0px;
    bottom: 0px;
    display: block;
    content: " ";
    z-index: 1;
    visibility: hidden; }
  .onepage-section .container {
    position: relative;
    z-index: 5; }
    .onepage-section .container.narrow {
      max-width: 730px; }
      .onepage-section .container.narrow.special {
        max-width: 700px; }
        @media (max-width: 991px) {
          .onepage-section .container.narrow.special {
            max-width: 540px !important; } }
        .onepage-section .container.narrow.special h4 {
          font-size: 15px;
          font-size: 0.9375rem;
          line-height: 1.6; }
          @media (min-width: 768px) {
            .onepage-section .container.narrow.special h4 {
              font-size: 18px;
              font-size: 1.125rem;
              position: absolute;
              width: 130px;
              height: 30px;
              margin-left: -150px;
              margin-bottom: -30px;
              overflow: hidden;
              text-align: right; } }
        .onepage-section .container.narrow.special b, .onepage-section .container.narrow.special strong {
          text-transform: uppercase;
          font-size: 18px;
          font-size: 1.125rem;
          line-height: 1.6; }

.section-inverse {
  background: #222222; }
  .section-inverse .section-title-area .section-title {
    color: rgba(255, 255, 255, 0.99); }
  .section-inverse .section-title-area .section-subtitle {
    color: rgba(255, 255, 255, 0.7); }
  .section-inverse .section-title-area .section-subtitle::after {
    background: rgba(255, 255, 255, 0.8); }

.section-inverse {
  color: rgba(255, 255, 255, 0.5); }
  .section-inverse h1, .section-inverse h2, .section-inverse h3, .section-inverse h4, .section-inverse h5, .section-inverse h6 {
    color: rgba(255, 255, 255, 0.9); }
  .section-inverse p {
    color: rgba(255, 255, 255, 0.5); }

.section-title-area {
  margin-bottom: 60px;
  text-align: center; }
  .section-title-area .section-title {
    font-size: 30px;
    font-weight: 800;
    position: relative;
    margin-bottom: 0px;
    text-transform: uppercase;
    height: 21px;
    overflow: hidden;
    margin-bottom: 4px;
    margin-bottom: 0.25rem; }
    @media screen and (min-width: 1025px) {
      .section-title-area .section-title {
        font-size: 56px;
        height: 36.96px;
        margin-bottom: 6px;
        margin-bottom: 0.375rem; } }
  .section-title-area .section-subtitle {
    font-size: 12px;
    font-weight: 400;
    display: inline-block;
    position: relative;
    text-transform: uppercase;
    letter-spacing: 0px; }
    @media screen and (min-width: 1025px) {
      .section-title-area .section-subtitle {
        font-size: 16px; } }

/* Text Rotator */
.morphext > .animated {
  display: inline-block; }

/* Section: Hero
------------------------------*/
.section-hero {
  position: relative !important;
  overflow: hidden; }
  .section-hero video {
    pointer-events: none;
    background-color: #fff !important;
    position: absolute;
    top: 50%;
    left: 50%;
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    z-index: 10;
    -webkit-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%); }
    @media screen and (max-width: 1025px) {
      .section-hero video {
        max-width: 160%; } }

/* Section: About Us
------------------------------*/
.section-about .about-image {
  text-align: center; }

.section-about .about-image img {
  margin-bottom: 30px; }

/* Section: Services
------------------------------*/
.section-services .service-item {
  background: #FFFFFF;
  padding: 30px;
  margin-bottom: 30px;
  position: relative;
  box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
  -moz-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
  -webkit-box-shadow: 0 1px 1px rgba(0, 0, 0, 0.08);
  -webkit-transition: all 100ms ease-out 0s;
  transition: all 100ms ease-out 0s; }
  @media screen and (max-width: 720px) {
    .section-services .service-item {
      padding: 20px; } }
  .section-services .service-item:after {
    content: "";
    display: table;
    clear: both;
    clear: both; }
  .section-services .service-item:hover {
    box-shadow: 0 6px 9px rgba(0, 0, 0, 0.09); }
  .section-services .service-item .service-image {
    float: left;
    margin-right: 30px; }
    .section-services .service-item .service-image img {
      max-width: 75px;
      border-radius: 1000px; }
    .section-services .service-item .service-image i {
      color: #8abd00; }
    @media screen and (max-width: 720px) {
      .section-services .service-item .service-image {
        float: none;
        margin-bottom: 30px;
        margin-top: 10px;
        margin-right: 0px;
        text-align: center; } }
  .section-services .service-item .service-thumbnail {
    margin-bottom: 25px;
    margin-bottom: 1.5625rem; }
  .section-services .service-item .service-content {
    overflow: hidden; }
    .section-services .service-item .service-content p {
      margin: 0px;
      font-size: 14px;
      color: #333; }
    @media screen and (max-width: 720px) {
      .section-services .service-item .service-content {
        text-align: center;
        overflow: auto; } }
  .section-services .service-item .service-title {
    margin-bottom: 10px;
    margin-bottom: 0.625rem;
    color: #333333; }
  .section-services .service-item .service-link:before {
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0px;
    left: 0px;
    content: ""; }

/* Section: Counter
------------------------------*/
.counter_item {
  text-align: center;
  margin-bottom: 35px;
  margin-bottom: 2.1875rem; }
  .counter_item .counter__number {
    font-size: 50px;
    font-size: 3.125rem;
    font-weight: 800;
    color: #8abd00;
    line-height: 1;
    font-family: serif, sans-serif;
    text-transform: uppercase; }
  .counter_item .counter_title {
    font-size: 18px;
    font-size: 1.125rem; }

/* Section: Parallax
------------------------------*/
.section-has-parallax {
  overflow: hidden;
  position: relative;
  width: 100%; }

.parallax_bg {
  background-position: center center;
  background-repeat: no-repeat;
  background-attachment: fixed;
  background-size: cover;
  height: 100%;
  width: 100%;
  position: absolute;
  display: block;
  top: 0;
  left: 0; }

.parallax_bg.is-mobile {
  background-position: 50% 50% !important; }

.parallax_bg_overlay {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: 5;
  opacity: 0.4; }

.parallax-content {
  z-index: 10;
  position: relative;
  padding: 100px 0px;
  text-align: center; }
  .parallax-content h1, .parallax-content h2, .parallax-content h3, .parallax-content h4, .parallax-content h5, .parallax-content h6 {
    color: #FFFFFF;
    line-height: 1.5; }
  .parallax-content p, .parallax-content a {
    color: #FFFFFF; }

/* Section: Team
------------------------------*/
.section-team .team-member {
  padding: 0px 0.5px; }

.section-team .row {
  margin-left: -0.5px;
  margin-right: -0.5px; }

.team-members.row {
  margin-left: 0px;
  margin-left: 0rem;
  margin-right: 0px;
  margin-right: 0rem; }

.team-member {
  margin-bottom: 20px; }
  .team-member .member-thumb {
    margin-bottom: 20px;
    position: relative;
    overflow: hidden; }
    .team-member .member-thumb:hover .member-profile {
      bottom: 8px;
      -webkit-transition: all 0.1s linear;
      transition: all 0.1s linear; }
    .team-member .member-thumb .member-profile {
      position: absolute;
      text-align: center;
      bottom: -35px;
      left: auto;
      right: auto;
      width: 100%; }
      .team-member .member-thumb .member-profile a {
        color: #000000; }
        .team-member .member-thumb .member-profile a .fa-inverse {
          color: #ffffff; }
        .team-member .member-thumb .member-profile a:hover {
          color: #8abd00; }
  .team-member .member-info {
    margin-top: 0px;
    position: relative;
    z-index: 30;
    text-align: center; }
  .team-member .member-name {
    letter-spacing: 2px;
    margin-bottom: 15px;
    position: relative; }
    .team-member .member-name:after {
      content: "";
      display: block;
      position: absolute;
      left: 50%;
      margin-left: -15%;
      bottom: -11px;
      width: 30%;
      height: 1px;
      background: #cccccc; }
  .team-member .member-position {
    text-transform: uppercase;
    font-size: 10px;
    letter-spacing: 1.3px; }

/* Section: News
------------------------------*/
.all-news {
  text-align: center;
  margin-top: 40px;
  display: block; }

.section-news .list-article, .archive .list-article, .blog .list-article {
  border-top: 1px solid #e9e9e9;
  padding: 25px 0px; }
  .section-news .list-article:last-of-type, .archive .list-article:last-of-type, .blog .list-article:last-of-type {
    border-bottom: 1px solid #e9e9e9; }

.section-news .list-article-thumb, .archive .list-article-thumb, .blog .list-article-thumb {
  float: left;
  margin-right: 30px; }
  .section-news .list-article-thumb a img:hover, .archive .list-article-thumb a img:hover, .blog .list-article-thumb a img:hover {
    opacity: 0.8; }
  @media screen and (max-width: 1025px) {
    .section-news .list-article-thumb, .archive .list-article-thumb, .blog .list-article-thumb {
      display: none; } }
  @media screen and (max-width: 720px) {
    .section-news .list-article-thumb, .archive .list-article-thumb, .blog .list-article-thumb {
      width: 100%;
      float: none;
      margin-right: 0px;
      margin-bottom: 30px;
      display: block; }
      .section-news .list-article-thumb img, .archive .list-article-thumb img, .blog .list-article-thumb img {
        width: 100%; } }

.section-news .list-article-content, .archive .list-article-content, .blog .list-article-content {
  float: none;
  overflow: hidden; }

.section-news .list-article-meta, .archive .list-article-meta, .blog .list-article-meta {
  font-size: 11px;
  font-weight: bold;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  margin-bottom: 10px; }

.section-news .entry-title, .archive .entry-title, .blog .entry-title {
  font-size: 22px;
  line-height: 1.5; }
  .section-news .entry-title a:hover, .archive .entry-title a:hover, .blog .entry-title a:hover {
    text-decoration: none; }

.section-news .entry-excerpt p, .archive .entry-excerpt p, .blog .entry-excerpt p {
  margin-bottom: 0px; }

.archive .site-main .list-article:first-child,
.blog .site-main .list-article:first-of-type {
  border-top: none;
  padding-top: 0px; }

.page-template-template-blog .section-news .list-article {
  padding: 30px 0px; }
  .page-template-template-blog .section-news .list-article:first-of-type {
    border-top: none;
    padding-top: 0px; }
  .page-template-template-blog .section-news .list-article:last-of-type {
    border-bottom: none; }

.section-news.section-inverse .list-article {
  border-top: 1px solid rgba(255, 255, 255, 0.2); }
  .section-news.section-inverse .list-article:last-of-type {
    border-bottom: 1px solid rgba(255, 255, 255, 0.2); }

.section-news.section-inverse h1 a, .section-news.section-inverse h2 a, .section-news.section-inverse h3 a, .section-news.section-inverse h4 a, .section-news.section-inverse h5 a {
  color: rgba(255, 255, 255, 0.8); }
  .section-news.section-inverse h1 a:hover, .section-news.section-inverse h2 a:hover, .section-news.section-inverse h3 a:hover, .section-news.section-inverse h4 a:hover, .section-news.section-inverse h5 a:hover {
    color: #FFF; }

/* Section: Contact
------------------------------*/
.section-contact input, .section-contact textarea {
  width: 100%; }

.section-contact .contact-map iframe {
  width: 100%; }

.section-contact .address-contact {
  margin-top: 5px;
  margin-bottom: 15px; }
  .section-contact .address-contact span {
    float: left;
    color: #aaaaaa; }
  .section-contact .address-contact .address-content {
    display: block;
    padding-left: 45px;
    font-style: italic; }
  .section-contact .address-contact .fa-inverse {
    font-size: 12px; }

.section-contact textarea {
  max-height: 190px; }

.wpcf7-form {
  text-transform: uppercase;
  font-size: 11px;
  letter-spacing: 2px;
  font-weight: 600; }
  .wpcf7-form br {
    margin-bottom: 5px; }

div.wpcf7-validation-errors {
  margin: 20px 0px;
  padding: 15px; }

div.wpcf7-response-output {
  margin: 20px 0px; }

/* Section: Parallax
------------------------------*/
.parallax-window section {
  z-index: 10;
  position: relative;
  background: transparent !important; }

.parallax-window .parallax-mirror::before {
  content: " ";
  position: absolute;
  top: 0px;
  left: 0px;
  right: 0px;
  bottom: 0px;
  display: block;
  z-index: 2; }

/*--------------------------------------------------------------
9.0 Productions
--------------------------------------------------------------*/
.productions {
  position: relative;
  margin-top: 100px; }
  @media (min-width: 544px) {
    .productions:before {
      content: ' ';
      display: block;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 50%;
      width: 20px;
      margin-left: -10px;
      pointer-events: none;
      color: white;
      background: transparent url(assets/images/pattern.png) repeat-y 0 0; } }
  @media only screen and (min-width: 544px) and (-webkit-min-device-pixel-ratio: 2), only screen and (min-width: 544px) and (min--moz-device-pixel-ratio: 2), only screen and (min-width: 544px) and (min-device-pixel-ratio: 2), only screen and (min-width: 544px) and (min-resolution: 192dpi), only screen and (min-width: 544px) and (min-resolution: 2dppx) {
    .productions:before {
      background: transparent url(assets/images/pattern2x.png) repeat-y 0 0/20px 7px; } }
  .productions .production {
    position: relative;
    clear: both;
    font-size: 14px;
    margin-bottom: 30px; }
    .productions .production a {
      display: block;
      color: #333; }
      .productions .production a:hover, .productions .production a:active, .productions .production a:visited {
        color: #000;
        text-decoration: none; }
    @media (min-width: 544px) {
      .productions .production {
        float: left;
        width: 50%;
        margin-bottom: -71px;
        min-height: 162px; } }
    .productions .production .year {
      height: 20px;
      line-height: 20px;
      font-weight: bold;
      color: #8abd00; }
    .productions .production .title {
      min-height: 19px;
      line-height: 19px;
      text-transform: uppercase;
      margin-right: 30px; }
      @media (min-width: 544px) {
        .productions .production .title {
          line-height: 13px; } }
    .productions .production img {
      display: block;
      width: 100%; }
      @media (min-width: 544px) {
        .productions .production img {
          width: 220px;
          height: auto;
          max-height: 130px;
          padding: 5px 0; } }
    @media (min-width: 544px) {
      .productions .production:before {
        content: ' ';
        display: block;
        position: absolute;
        z-index: -1;
        top: 70px;
        height: 1px;
        left: 64%;
        right: 0;
        margin-right: -10px;
        background-color: #8abd00; }
      .productions .production:nth-child(even) {
        float: right;
        text-align: right; }
        .productions .production:nth-child(even) img {
          float: right; }
        .productions .production:nth-child(even) .title {
          clear: right;
          margin-right: 0;
          margin-left: 30px; }
        .productions .production:nth-child(even):before {
          left: 0;
          right: 64%;
          margin-left: -10px;
          margin-right: 0; } }
    .productions .production:last-child {
      margin-bottom: 30px; }

#video-overlay {
  display: none;
  position: fixed;
  background: rgba(0, 0, 0, 0.98);
  z-index: 1000;
  color: #fff; }
  @media (max-width: 1199px) {
    #video-overlay {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      overflow: scroll; }
      #video-overlay.active {
        display: block !important; }
      #video-overlay h1 {
        padding-right: 50px; } }
  #video-overlay h1, #video-overlay h2, #video-overlay h3, #video-overlay h4, #video-overlay h5, #video-overlay h6 {
    color: #fff;
    text-transform: uppercase; }
  #video-overlay a:hover {
    color: #fff; }
  #video-overlay.active {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  #video-overlay .padding {
    width: 100%;
    max-width: 1480px;
    padding: 20px 10px; }
    @media (min-width: 544px) {
      #video-overlay .padding {
        padding: 20px 20px; } }
    @media (min-width: 992px) {
      #video-overlay .padding {
        padding: 20px 100px; } }
    #video-overlay .padding .container {
      max-width: none;
      padding: 0; }
    #video-overlay .padding .embed-container {
      position: relative;
      padding-bottom: 56.25%;
      height: 0;
      overflow: hidden;
      max-width: 100%;
      height: auto; }
    #video-overlay .padding .image {
      width: 100%; }
      #video-overlay .padding .image img {
        max-height: 720px;
        height: auto;
        width: auto;
        margin: 0 0;
        display: block; }
    #video-overlay .padding .embed-container iframe, #video-overlay .padding .embed-container object, #video-overlay .padding .embed-container embed {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    #video-overlay .padding .year {
      color: #8abd00;
      margin-bottom: 0; }
    #video-overlay .padding .entry-content {
      margin-top: 30px;
      max-width: 900px; }
  #video-overlay .close {
    position: fixed;
    top: 15px;
    right: 15px;
    width: 40px;
    height: 40px;
    z-index: 1001;
    color: #fff;
    opacity: 0.6; }
    @media (min-width: 992px) {
      #video-overlay .close {
        top: 30px;
        right: 30px; } }
    #video-overlay .close:hover, #video-overlay .close:focus {
      opacity: 1; }
    #video-overlay .close:before {
      border-style: solid;
      border-width: 1px 1px 0 0;
      border-color: #fff;
      content: '';
      display: inline-block;
      height: 25px;
      width: 25px;
      right: 8px;
      position: absolute;
      top: -10px;
      -webkit-transform: rotate(135deg);
              transform: rotate(135deg);
      vertical-align: top; }
    #video-overlay .close:after {
      border-style: solid;
      border-width: 1px 1px 0 0;
      border-color: #fff;
      content: '';
      display: inline-block;
      height: 25px;
      width: 25px;
      right: 8px;
      position: absolute;
      top: 25px;
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg);
      vertical-align: top; }

/* Dark Mode */
.dark {
  background-color: #000 !important;
  color: #fff; }
  .dark h1, .dark h2, .dark h3, .dark h4, .dark h5, .dark h6 {
    color: #fff; }
  .dark a:hover {
    color: #fff; }
  .dark #nav-toggle span {
    background: #fff; }
    .dark #nav-toggle span:before, .dark #nav-toggle span:after {
      background: #fff; }
  .dark #nav-toggle.nav-is-visible span {
    background: transparent; }
  .dark .friendspro-menu li {
    background: rgba(0, 0, 0, 0.85);
    -webkit-transition-delay: 0.2s;
            transition-delay: 0.2s; }

/* === Language switcher (Polylang) tweaks === */
/* Hide dropdown arrow injected by theme for language menu item */
.friendspro-menu .pll-parent-menu-item .nav-toggle-subarrow { display: none !important; }

/* Frontpage arrow-style layout: pin switcher to top-right and remove big arrow */
.page-template-template-frontpage .friendspro-menu .pll-parent-menu-item {
  top: 0;
  right: 0;
  left: auto;
  background: none;
  z-index: 10000; /* above edge nav */
}
.page-template-template-frontpage .friendspro-menu .pll-parent-menu-item a:before { display: none; }

/* Fallback positioning for other pages: keep it visible at top-right of header */
.site-header .pll-parent-menu-item {
  position: absolute;
  top: 10px;
  right: 15px;
  z-index: 10000;
  background: none;
}
.site-header .pll-parent-menu-item a:before { display: none; }

/* In Polylang dropdown hide the current language from the list to avoid duplicate label */
.pll-parent-menu-item .sub-menu .current-lang { display: none !important; }

/* === Scoped rules for the dedicated language switcher item === */
/* Hide theme's subarrow inside the language item */
.friendspro-menu .nav-languages .nav-toggle-subarrow { display: none !important; }

/* Frontpage (arrow navigation) — pin to top-right and remove big arrow */
.page-template-template-frontpage .friendspro-menu .nav-languages {
  top: 0;
  right: 0;
  left: auto;
  background: none;
  z-index: 10000; /* above edge nav */
}
.page-template-template-frontpage .friendspro-menu .nav-languages a:before { display: none; }

/* All other pages — keep at top-right of header */
.site-header .nav-languages {
  position: absolute;
  top: 10px;
  right: 15px;
  z-index: 10000;
  background: none;
}
.site-header .nav-languages a:before { display: none; }

/* Hide current language inside its dropdown list for this item */
.nav-languages .sub-menu .current-lang { display: none !important; }
  .dark .friendspro-menu a {
    color: #fff; }
    .dark .friendspro-menu a:hover {
      color: #8abd00; }
  .dark .friendspro-menu.friendspro-menu-mobile li {
    background: #000; }
    .dark .friendspro-menu.friendspro-menu-mobile li a {
      color: #fff; }

/*--------------------------------------------------------------
10.0 External Plugins
--------------------------------------------------------------*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlcyI6WyJzdHlsZS5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX3Jlc2V0LnNjc3MiLCJfZG9jdW1lbnQuc2NzcyIsIl9mbGV4LWNlbnRlci5zY3NzIiwiX2xheW91dC5zY3NzIiwiX3N0cnVjdHVyZS5zY3NzIiwiX2NvbnRlbnRzLnNjc3MiLCJfZWxlbWVudHMuc2NzcyIsIl93aWRnZXRzLnNjc3MiLCJfc2VjdGlvbnMuc2NzcyIsIl9wcm9kdWN0aW9ucy5zY3NzIiwiX2Rhcmsuc2NzcyIsIl9leHRlcm5hbF9wbHVnaW5zLnNjc3MiXSwic291cmNlc0NvbnRlbnQiOlsiLypcblRoZW1lIE5hbWU6IEZyaWVuZHNQcm9cblRoZW1lIFVSSTogaHR0cDovL3d3dy5mcmllbmRzcHJvLmRlL1xuQXV0aG9yOiBHdXRzY2hpa1xuQXV0aG9yIFVSSTogaHR0cDovL3d3dy5ndXRzY2hpay5kZVxuRGVzY3JpcHRpb246IEZyaWVuZHNQcm8gaXMgYW4gb3V0c3RhbmRpbmcgY3JlYXRpdmUgYW5kIGZsZXhpYmxlIFdvcmRQcmVzcyBvbmUgcGFnZSB0aGVtZSB3ZWxsIHN1aXRlZCBmb3IgYnVzaW5lc3Mgd2Vic2l0ZSwgcG9ydGZvbGlvLCBkaWdpdGFsIGFnZW5jeSwgcHJvZHVjdCBzaG93Y2FzZSwgZnJlZWxhbmNlcnMgYW5kIGV2ZXJ5b25lIGVsc2Ugd2hvIGFwcHJlY2lhdGUgZ29vZCBkZXNpZ24uXG5WZXJzaW9uOiAxLjAuOVxuTGljZW5zZTogR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgdjIgb3IgbGF0ZXJcbkxpY2Vuc2UgVVJJOiBodHRwOi8vd3d3LmdudS5vcmcvbGljZW5zZXMvZ3BsLTIuMC5odG1sXG5UZXh0IERvbWFpbjogZnJpZW5kc3Byb1xuVGFnczogb25lLWNvbHVtbiwgdHdvLWNvbHVtbnMsIGxlZnQtc2lkZWJhciwgcmlnaHQtc2lkZWJhciwgZmx1aWQtbGF5b3V0LCByZXNwb25zaXZlLWxheW91dCwgY3VzdG9tLW1lbnUsIGZlYXR1cmVkLWltYWdlcywgZnVsbC13aWR0aC10ZW1wbGF0ZSwgc3RpY2t5LXBvc3QsIHRoZW1lLW9wdGlvbnMsIHRocmVhZGVkLWNvbW1lbnRzLCB0cmFuc2xhdGlvbi1yZWFkeSwgYmx1ZSwgbGlnaHRcblxuVGhpcyB0aGVtZSwgbGlrZSBXb3JkUHJlc3MsIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBHUEwuXG5Vc2UgaXQgdG8gbWFrZSBzb21ldGhpbmcgY29vbCwgaGF2ZSBmdW4sIGFuZCBzaGFyZSB3aGF0IHlvdSd2ZSBsZWFybmVkIHdpdGggb3RoZXJzLlxuXG5GcmllbmRzUHJvIGlzIGJhc2VkIG9uIFVuZGVyc2NvcmVzIGh0dHA6Ly91bmRlcnNjb3Jlcy5tZS8sIChDKSAyMDEyLTIwMTUgQXV0b21hdHRpYywgSW5jLlxuVW5kZXJzY29yZXMgaXMgZGlzdHJpYnV0ZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR1BMIHYyIG9yIGxhdGVyLlxuXG5Ob3JtYWxpemluZyBzdHlsZXMgaGF2ZSBiZWVuIGhlbHBlZCBhbG9uZyB0aGFua3MgdG8gdGhlIGZpbmUgd29yayBvZlxuTmljb2xhcyBHYWxsYWdoZXIgYW5kIEpvbmF0aGFuIE5lYWwgaHR0cDovL25lY29sYXMuZ2l0aHViLmNvbS9ub3JtYWxpemUuY3NzL1xuKi9cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbj4+PiBUQUJMRSBPRiBDT05URU5UUzpcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCAgUmVzZXRcbjIuMCAgRG9jdW1lbnRcbjMuMCAgTGF5b3V0XG40LjAgIFN0cnVjdHVyZVxuNS4wICBDb250ZW50c1xuNi4wICBFbGVtZW50c1xuNy4wICBXaWRnZXRzXG44LjAgIFNlY3Rpb25zXG45LjAgIEV4dGVybmFsIFBsdWdpbnNcblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkZvbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vL0BpbXBvcnQgdXJsKCdodHRwczovL2ZvbnRzLmdvb2dsZWFwaXMuY29tL2Nzcz9mYW1pbHk9T3BlbitTYW5zOjQwMCw0MDBpLDcwMCw3MDBpJyk7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5WYXJpYWJsZXNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJ2YXJpYWJsZXNcIjtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjEuMCBSZXNldFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcInJlc2V0XCI7XG4vKiBSZXNldCBhbHJlYWR5IGluY2x1ZGUgaW4gYm9vdHN0cmFwICovXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4yLjAgRG9jdW1lbnQgU2V0dXBcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJkb2N1bWVudFwiO1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuMi41IEZsZXggQ2VudGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwiZmxleC1jZW50ZXJcIjtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjMuMCBMYXlvdXRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJsYXlvdXRcIjtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjQuMCBTdHJ1Y3R1cmVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJzdHJ1Y3R1cmVcIjtcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbjUuMCBDb250ZW50c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuQGltcG9ydCBcImNvbnRlbnRzXCI7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG42LjAgRWxlbWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJlbGVtZW50c1wiO1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuNy4wIFdpZGdldHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJ3aWRnZXRzXCI7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG44LjAgU2VjdGlvbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJzZWN0aW9uc1wiO1xuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuOS4wIFByb2R1Y3Rpb25zXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5AaW1wb3J0IFwicHJvZHVjdGlvbnNcIjtcbkBpbXBvcnQgXCJkYXJrXCI7XG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4xMC4wIEV4dGVybmFsIFBsdWdpbnNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbkBpbXBvcnQgXCJleHRlcm5hbF9wbHVnaW5zXCI7XG4iLCIvLyBtYWluOiBzdHlsZS5zY3NzXG5cbi8vIFNBU1MgVmFyaWFibGVzIGFuZCBNaXhpbnNcblxuLy8gVmFyaWFibGVzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFRleHQgY29sb3JzXG4kdGV4dDogIzMzMztcbiRoZWFkaW5nOiAjMDAwO1xuXG4vLyBBY3RpdmUgY29sb3JcbiRwcmltYXJ5OiAjOGFiZDAwO1xuJHNlY29uZGFyeTogZGFya2VuKCRwcmltYXJ5LCAxMCk7XG5cbi8vIE1pY3MgY29sb3JcbiRib3JkZXI6ICNlOWU5ZTk7XG4kbWV0YTogI2Y4ZjlmOTtcblxuLy8gRm9udHNcbi8vJG9wZW5fc2FuczogJ09wZW4gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kZm9udF90ZXh0OiBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGZvbnRfaGVhZGluZzogSGVsdmV0aWNhLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRtb25hY286IE1vbmFjbywgQ29uc29sYXMsIFwiQW5kYWxlIE1vbm9cIiwgXCJEZWphVnUgU2FucyBNb25vXCIsIG1vbm9zcGFjZTtcblxuLy8gU2NyZWVuIHJlc29sdXRpb25zXG4kc21hbGxfcGhvbmU6IDU3NnB4O1xuJHBob25lOiA3MjBweDtcbiR0YWJsZTogMTAyNXB4O1xuJHNtYWxsX2Rlc2t0b3A6IDExNDBweDtcblxuLy9HcmlkXG4kd2lkdGg6IDEyMzBweDtcbiRncmlkOiAxMTEwcHg7XG4kY29sdW1uOiA0MHB4O1xuJGd1dHRlcjogNTBweDtcbiRndXR0ZXIyOiAzMHB4O1xuXG4vL0Jhc2VsaW5lXG4kYmFzZTogMjBweDtcblxuLy8gTWl4aW5zXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBib3JkZXItcmFkaXVzKCRyYWRpdXM6IDJweCkge1xuICAgIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbn1cblxuLy8gTW9iaWxlIGZpcnN0IHJlc3BvbnNpdmVcbkBtaXhpbiBmb3IoJG1lZGlhKSB7XG4gICAgQGlmICRtZWRpYSA9PSB0aW55LXNjcmVlbnMge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkc21hbGxfcGhvbmUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAkbWVkaWEgPT1zY3JlZW5zLXRpbnkge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxfcGhvbmUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpZiAkbWVkaWEgPT0gc21hbGwtc2NyZWVucyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRwaG9uZSkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRtZWRpYSA9PXNjcmVlbnMtc21hbGwge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkcGhvbmUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAkbWVkaWEgPT0gbWVkaXVtLXNjcmVlbnMge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkdGFibGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAkbWVkaWEgPT0gc2NyZWVucy1tZWRpdW0ge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkdGFibGUpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfSBAZWxzZSBpZiAkbWVkaWEgPT0gbGFyZ2Utc2NyZWVucyB7XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICRzbWFsbF9kZXNrdG9wKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJG1lZGlhID09IHNjcmVlbnMtbGFyZ2Uge1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkc21hbGxfZGVza3RvcCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENlbnRlciBibG9ja1xuQG1peGluIGNlbnRlci1ibG9jayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4vLyBDbGVhcmZpeFxuQG1peGluIGNsZWFyZml4KCkge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG59XG5cbi8vIENsZWFyIGFmdGVyIChub3QgYWxsIGNsZWFyZml4IG5lZWQgdGhpcyBhbHNvKVxuQG1peGluIGNsZWFyZml4LWFmdGVyKCkge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG4vLyBNZWRpYSBicmVha3BvaW50XG4vLyBAbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkZGV2aWNlKSB7XG4vLyBcdEBpZiAkZGV2aWNlID09IHNtIHtcbi8vIFx0XHRAbWVkaWEgKG1pbi13aWR0aDogMzRlbSkgeyBAY29udGVudDsgfVxuLy8gXHR9XG4vLyBcdEBpZiAkZGV2aWNlID09IG1kIHtcbi8vIFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNDhlbSkgeyBAY29udGVudDsgfVxuLy8gXHR9XG4vLyBcdEBpZiAkZGV2aWNlID09IGxnIHtcbi8vIFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNjJlbSkgeyBAY29udGVudDsgfVxuLy8gXHR9XG4vLyBcdEBpZiAkZGV2aWNlID09IHhsIHtcbi8vIFx0XHRAbWVkaWEgKG1pbi13aWR0aDogNzVlbSkgeyBAY29udGVudDsgfVxuLy8gXHR9XG4vLyB9XG4vL1xuLy8gQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkZGV2aWNlKSB7XG4vLyBcdEBpZiAkZGV2aWNlID09IHNtIHtcbi8vIFx0XHRAbWVkaWEgKG1heC13aWR0aDogMzMuOWVtKSB7IEBjb250ZW50OyB9XG4vLyBcdH1cbi8vIFx0QGlmICRkZXZpY2UgPT0gbWQge1xuLy8gXHRcdEBtZWRpYSAobWF4LXdpZHRoOiA0Ny45ZW0pIHsgQGNvbnRlbnQ7IH1cbi8vIFx0fVxuLy8gXHRAaWYgJGRldmljZSA9PSBsZyB7XG4vLyBcdFx0QG1lZGlhIChtYXgtd2lkdGg6IDYxLjllbSkgeyBAY29udGVudDsgfVxuLy8gXHR9XG4vLyBcdEBpZiAkZGV2aWNlID09IHhsIHtcbi8vIFx0XHRAbWVkaWEgKG1heC13aWR0aDogNzQuOWVtKSB7IEBjb250ZW50OyB9XG4vLyBcdH1cbi8vIH1cblxuLy8gVXNlIHJlbSBmb3IgYmV0dGVyIHJlc3BvbnNpdmVcbiRiYXNlbGluZS1weDogMTZweDtcbkBtaXhpbiByZW0oJHByb3BlcnR5LCAkcHgtdmFsdWVzKSB7XG5cbiAgICAkYmFzZWxpbmUtcmVtOiAkYmFzZWxpbmUtcHggLyAxcmVtO1xuXG4gICAgI3skcHJvcGVydHl9OiAkcHgtdmFsdWVzO1xuXG4gICAgQGlmIHR5cGUtb2YoJHB4LXZhbHVlcykgPT0gXCJudW1iZXJcIiB7XG4gICAgICAgICN7JHByb3BlcnR5fTogJHB4LXZhbHVlcyAvICRiYXNlbGluZS1yZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICAgICRyZW0tdmFsdWVzOiB1bnF1b3RlKFwiXCIpO1xuICAgICAgICBAZWFjaCAkdmFsdWUgaW4gJHB4LXZhbHVlcyB7XG4gICAgICAgICAgICBAaWYgJHZhbHVlID09IDAge1xuICAgICAgICAgICAgICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsICR2YWx1ZSk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAkdmFsdWUgLyAkYmFzZWxpbmUtcmVtKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAjeyRwcm9wZXJ0eX06ICRyZW0tdmFsdWVzO1xuICAgIH1cbn1cblxuJGdyaWQtYnJlYWtwb2ludHM6IChcbiAgICAvLyBFeHRyYSBzbWFsbCBzY3JlZW4gLyBwaG9uZVxuICAgIHhzOiAwLFxuICAgIC8vIFNtYWxsIHNjcmVlbiAvIHBob25lXG4gICAgc206IDU0NHB4LFxuICAgIC8vIE1lZGl1bSBzY3JlZW4gLyB0YWJsZXRcbiAgICBtZDogNzY4cHgsXG4gICAgLy8gTGFyZ2Ugc2NyZWVuIC8gZGVza3RvcFxuICAgIGxnOiA5OTJweCxcbiAgICAvLyBFeHRyYSBsYXJnZSBzY3JlZW4gLyB3aWRlIGRlc2t0b3BcbiAgICB4bDogMTIwMHB4XG4pICFkZWZhdWx0O1xuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vXG4vLyAgICAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KVxuLy9cbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRncmlkLWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cblxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSlcbi8vICAgIG1kXG4vLyAgICA+PiBicmVha3BvaW50LW5leHQoc20sICh4czogMCwgc206IDU0NHB4LCBtZDogNzY4cHgpKVxuLy8gICAgbWRcbi8vICAgID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpXG4vLyAgICBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDU0NHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG1pbiAhPSAwLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy9cbi8vICAgID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDAsIHNtOiA1NDRweCwgbWQ6IDc2OHB4KSlcbi8vICAgIDc2N3B4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAgIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMXB4LCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRncmlkLWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG4gICAgQGlmICRtaW4ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgICBAaWYgJG1heCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkZ3JpZC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1lZGlhIHRoYXQgc3BhbnMgbXVsdGlwbGUgYnJlYWtwb2ludCB3aWR0aHMuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgYmV0d2VlbiB0aGUgbWluIGFuZCBtYXggYnJlYWtwb2ludHNcbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWJldHdlZW4oJGxvd2VyLCAkdXBwZXIsICRicmVha3BvaW50czogJGdyaWQtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRsb3dlciwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkdXBwZXIsICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBtYWluOiBzdHlsZS5zY3NzXG5cbi8vIG5vcm1hbGl6ZS5jc3MgOiBodHRwczovL2dpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuaHRtbCB7XG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xufVxuXG5ib2R5IHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbi8vIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExIGFuZCBGaXJlZm94LlxuLy8gQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gUGVybWFsaW5rXG5hOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG59XG5cbmEgaW1nIHtcbiAgICBib3JkZXI6IDA7XG59XG5cbi8vIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4vLyAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLy8xXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvLzJcbn1cblxuLy8gUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbi8vIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vLyBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4vLyBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBUZXh0LWxldmVsIHNlbWFudGljc1xuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8vIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbmIsXG5zdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vLyBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG5kZm4ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLy8gQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8vIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gICAgYm90dG9tOiAxZXg7XG59XG5cbnN1YiB7XG4gICAgdG9wOiAuNWV4O1xufVxuXG4vLyBFbWJlZGRlZCBjb250ZW50XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5pbWcge1xuICAgIGJvcmRlcjogMDtcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xufVxuXG4vLyBHcm91cGluZyBjb250ZW50XG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5wcmUge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vLyBGb3JtXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vLyBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbmJ1dHRvbiB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8vIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuLy8gMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuLy8gMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGUgKiBgaW5wdXRgIGFuZCBvdGhlcnMuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8vIDFcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvLyAyXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvLyAzXG59XG5cbi8vIEFwcGVhcmFuY2UgaW4gU2FmYXJpL0Nocm9tZVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vLyBJbm5lci1wYWRkaW5nIGlzc3VlcyBpbiBDaHJvbWUgT1NYLCBTYWZhcmkgNVxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLy8gUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLyBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8vIEZGMy80IGhhdmUgIWltcG9ydGFudCBvbiBsaW5lLWhlaWdodCBpbiBVQSBzdHlsZXNoZWV0XG4vLyBJbm5lciBzcGFjaW5nIGllIElFNi83XG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gQXBwbHkgYSBuYXR1cmFsIGJveCBsYXlvdXQgbW9kZWwgdG8gYWxsIGVsZW1lbnRzOyBzZWUgaHR0cDovL3d3dy5wYXVsaXJpc2guY29tLzIwMTIvYm94LXNpemluZy1ib3JkZXItYm94LWZ0dy9cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtbW96LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxubGVnZW5kIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG5vcHRncm91cCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8vIFRhYmxlXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG50YWJsZSB7XG4gICAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIi5cIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uY2xlYXJmaXgge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLmNsZWFyZml4IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNsZWFyIHtcbiAgICB6b29tOiAxO1xuICAgICY6YmVmb3JlLFxuICAgICY6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLmJyZWFrIHtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm5vbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvLyBtYWluOiBzdHlsZS5zY3NzXG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDIuMSBUeXBvZ3JhcGh5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuaHRtbCwgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG5odG1sIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKG1kKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbmJvZHkge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgaGVpZ2h0OiAxMDAlO1xufVxuXG4uc2l0ZSB7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbmJvZHksIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udF90ZXh0O1xuICAgIEBpbmNsdWRlIHJlbSgnZm9udC1zaXplJywgMThweCk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogJHRleHQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKCdmb250LXNpemUnLCAxNXB4KTtcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKHNtKSB7XG4gICAgICAgIEBpbmNsdWRlIHJlbSgnZm9udC1zaXplJywgMTRweCk7XG4gICAgfVxufVxuXG5wcmUsXG5jb2RlLFxuaW5wdXQsXG50ZXh0YXJlYSB7XG4gICAgZm9udDogaW5oZXJpdDtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgY29sb3I6ICNGRkZGRkY7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDIuMiBMaW5rc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmEge1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgICAmOmFjdGl2ZSwgJjpmb2N1cywgJjpob3ZlciB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQyLjMgSGVhZGluZ1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZm9udC1mYW1pbHk6ICRmb250X2hlYWRpbmc7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLWJvdHRvbScsIDE1cHgpO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgQGV4dGVuZCAuYnJlYWs7XG4gICAgY29sb3I6ICMzMzMzMzM7XG4gICAgJiBhIHtcbiAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbmgxIHtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIEBpbmNsdWRlIHJlbSgnZm9udC1zaXplJywgMzNweCk7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChtZCkge1xuICAgICAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDQwcHgpO1xuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxufVxuXG5oMiB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDI1cHgpO1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAobWQpIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKCdmb250LXNpemUnLCAzMnB4KTtcbiAgICB9XG59XG5cbmgzIHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIEBpbmNsdWRlIHJlbSgnZm9udC1zaXplJywgMjBweCk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5oNCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIHJlbSgnZm9udC1zaXplJywgMTdweCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuaDUge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDE1cHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbmg2IHtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDEycHgpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDIuNCBCYXNlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xudWwsIG9sLCBkbCwgcCwgZGV0YWlscywgYWRkcmVzcywgLnZjYXJkLCBmaWd1cmUsIHByZSwgZmllbGRzZXQsIHRhYmxlLCBkdCwgZGQsIGhyIHtcbiAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi1ib3R0b20nLCAxNXB4KTtcbiAgICBtYXJnaW4tdG9wOiAwO1xufVxuXG5wLCB1bCwgb2wsIGRsLCBibG9ja3F1b3RlIHtcbiAgICBAZXh0ZW5kIC5icmVhaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Mi41IENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5pbWcge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbmJsb2NrcXVvdGUge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIG1hcmdpbjogJGJhc2UgMDtcbiAgICBwIHtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbiAgICBjaXRlIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbn1cblxuZGZuLFxuY2l0ZSxcbmVtLFxuaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5maWd1cmUge1xuICAgIG1hcmdpbjogMDtcbn1cblxuYWRkcmVzcyB7XG4gICAgbWFyZ2luOiAkYmFzZSAwO1xufVxuXG5ociB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlO1xufVxuXG50dCxcbmtiZCxcbnByZSxcbmNvZGUsXG5zYW1wLFxudmFyIHtcbiAgICBmb250LWZhbWlseTogJG1vbmFjbztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9yZGVyO1xuICAgIHBhZGRpbmc6IDVweCA3cHg7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cztcbn1cblxucHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgbWFyZ2luOiAkYmFzZSAwO1xuICAgIHBhZGRpbmc6ICRiYXNlO1xuICAgIEBleHRlbmQgLmJyZWFrO1xufVxuXG5kZXRhaWxzIHtcbiAgICBzdW1tYXJ5IHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRiYXNlO1xuICAgIH1cbiAgICA6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuYWJicixcbmFjcm9ueW0sXG5kZm4ge1xuICAgIGN1cnNvcjogaGVscDtcbiAgICBmb250LXNpemU6IC45NWVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkYm9yZGVyO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY5YzA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MiU7XG59XG5cbmJpZyB7XG4gICAgZm9udC1zaXplOiAxMjUlO1xufVxuXG51bCwgb2wge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxudWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbm9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xufVxuXG51bCBsaSwgb2wgbGkge1xuICAgIG1hcmdpbjogJGJhc2UvMi41IDA7XG59XG5cbmR0IHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZGQge1xuICAgIG1hcmdpbjogMCAkYmFzZSAkYmFzZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Mi42IFRhYmxlXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xudGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRiYXNlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXI7O1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLFxudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsXG50YWJsZSA+IHRmb290ID4gdHIgPiB0aCxcbnRhYmxlID4gdGhlYWQgPiB0ciA+IHRkLFxudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsXG50YWJsZSA+IHRmb290ID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NztcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCB0YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCB7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xufVxuXG50YWJsZSB0aCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Mi43IEZvcm1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5maWVsZHNldCB7XG4gICAgcGFkZGluZzogJGJhc2U7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlcjtcbn1cblxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTVweCAyM3B4IDE1cHggMjNweDtcbiAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDJweCk7XG4gICAgYm94LXNoYWRvdzogMCAtMXB4IDAgMCByZ2JhKDAsIDAsIDAsIDAuMSkgaW5zZXQ7XG4gICAgbWFyZ2luOiAzcHggMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG5cbn1cblxuaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpob3ZlciwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXTpmb2N1cywgaW5wdXRbdHlwZT1cInJlc2V0XCJdOmhvdmVyLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdOmZvY3VzLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmhvdmVyLCBpbnB1dFt0eXBlPVwic3VibWl0XCJdOmZvY3VzLFxuYnV0dG9uOmhvdmVyLCBidXR0b246Zm9jdXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbnNlbGVjdCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRiYXNlLzI7XG59XG5cbnRleHRhcmVhLFxuaW5wdXRbdHlwZT1cImRhdGVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5pbnB1dFt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5pbnB1dFt0eXBlPVwiZW1haWxcIl0sXG5pbnB1dFt0eXBlPVwibW9udGhcIl0sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdLFxuaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSxcbmlucHV0W3R5cGU9XCJ0ZWxcIl0sXG5pbnB1dFt0eXBlPVwidGV4dFwiXSxcbmlucHV0W3R5cGU9XCJ0aW1lXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJ3ZWVrXCJdIHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IDBweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSBpbnNldDtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpIGluc2V0O1xuICAgIC13ZWJraXQtYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMikgaW5zZXQ7XG4gICAgLW8tYm94LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xMikgaW5zZXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIC1tb3otdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZmZmO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICMwMDAwMDA7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpIGluc2V0O1xuICAgICAgICAtbW96LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpIGluc2V0O1xuICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpIGluc2V0O1xuICAgICAgICAtby1ib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKSBpbnNldDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjRUJFQkVCO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTllOWU5O1xuICAgIH1cbn1cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdLCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgIG1hcmdpbjogMCAkYmFzZS8yO1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQyLjggQWNjZXNzaWJpbGl0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi8qIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMgKi9cbi5zY3JlZW4tcmVhZGVyLXRleHQge1xuICAgIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbn1cblxuLnNjcmVlbi1yZWFkZXItdGV4dDpob3Zlcixcbi5zY3JlZW4tcmVhZGVyLXRleHQ6YWN0aXZlLFxuLnNjcmVlbi1yZWFkZXItdGV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1ldGE7XG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcbiAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDVweDtcbiAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgIHBhZGRpbmc6IDE3cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHRvcDogNXB4O1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHotaW5kZXg6IDEwMDAwMDsgLyogQWJvdmUgV1AgdG9vbGJhciAqL1xufVxuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXHQyLjggQWNjZXNzaWJpbGl0eVxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0Mi45IEFsaWdubWVudHNcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYWxpZ25sZWZ0IHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjVlbTtcbn1cblxuLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICAgIEBpbmNsdWRlIGNlbnRlci1ibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0My4wIENsZWFyaW5nc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5jbGVhcjpiZWZvcmUsXG4uY2xlYXI6YWZ0ZXIsXG4uZW50cnktY29udGVudDpiZWZvcmUsXG4uZW50cnktY29udGVudDphZnRlcixcbi5jb21tZW50LWNvbnRlbnQ6YmVmb3JlLFxuLmNvbW1lbnQtY29udGVudDphZnRlcixcbi5zaXRlLWhlYWRlcjpiZWZvcmUsXG4uc2l0ZS1oZWFkZXI6YWZ0ZXIsXG4uc2l0ZS1jb250ZW50OmJlZm9yZSxcbi5zaXRlLWNvbnRlbnQ6YWZ0ZXIsXG4uc2l0ZS1mb290ZXI6YmVmb3JlLFxuLnNpdGUtZm9vdGVyOmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbn1cblxuLmNsZWFyOmFmdGVyLFxuLmVudHJ5LWNvbnRlbnQ6YWZ0ZXIsXG4uY29tbWVudC1jb250ZW50OmFmdGVyLFxuLnNpdGUtaGVhZGVyOmFmdGVyLFxuLnNpdGUtY29udGVudDphZnRlcixcbi5zaXRlLWZvb3RlcjphZnRlciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXgtYWZ0ZXI7XG59XG5cbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cdDMuMSBJbmZpbml0ZSBTY3JvbGxcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4vKiBHbG9iYWxseSBoaWRkZW4gZWxlbWVudHMgd2hlbiBJbmZpbml0ZSBTY3JvbGwgaXMgc3VwcG9ydGVkIGFuZCBpbiB1c2UuICovXG4uaW5maW5pdGUtc2Nyb2xsIC5wb3N0cy1uYXZpZ2F0aW9uLCAvKiBPbGRlciAvIE5ld2VyIFBvc3RzIE5hdmlnYXRpb24gKGFsd2F5cyBoaWRkZW4pICovXG4uaW5maW5pdGUtc2Nyb2xsLm5ldmVyZW5kaW5nIC5zaXRlLWZvb3RlciB7IC8qIFRoZW1lIEZvb3RlciAod2hlbiBzZXQgdG8gc2Nyb2xsaW5nKSAqL1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIFdoZW4gSW5maW5pdGUgU2Nyb2xsIGhhcyByZWFjaGVkIGl0cyBlbmQgd2UgbmVlZCB0byByZS1kaXNwbGF5IGVsZW1lbnRzIHRoYXQgd2VyZSBoaWRkZW4gKHZpYSAubmV2ZXJlbmRpbmcpIGJlZm9yZS4gKi9cbi5pbmZpbml0eS1lbmQubmV2ZXJlbmRpbmcgLnNpdGUtZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblx0My4xIEhlbHBlci5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLmNsZWFybGVmdCB7XG4gICAgY2xlYXI6IGxlZnQ7XG59XG4iLCIvLyBtYWluOiBzdHlsZS5zY3NzXG5cbkBpbmNsdWRlIGZvcihtZWRpdW0tc2NyZWVucykge1xuXG4gICAgLmZsZXgtc2VjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIC8qIEZvciBhdCBsZWFzdCBGaXJlZm94ICovXG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuaW5uZXItc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgLmJveCB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogbWluLWNvbnRlbnQ7IC8qIG5lZWRzIHZlbmRvciBwcmVmaXhlcyAqL1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogbWluLWNvbnRlbnQ7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmxleC1jZW50ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIC5wYWRkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iLCIvLyBtYWluOiBzdHlsZS5zY3NzXG5cbiNwcmltYXJ5IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogJGJhc2UqMjtcbiAgICBwYWRkaW5nLXRvcDogJGJhc2UqMjtcbn1cblxuI3NlY29uZGFyeSB7XG4gICAgcGFkZGluZy1ib3R0b206ICRiYXNlKjI7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAkYmFzZSoyO1xuICAgIH1cbn1cblxuLmNvbnRlbnQtYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cblxuLnNpZGViYXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBub25lO1xuICAgIEBpbmNsdWRlIGZvcihtZWRpdW0tc2NyZWVucykge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgyODBweCAvICRncmlkKTsgLy8gMzAwcHhcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4ubm8tc2lkZWJhciAuY29udGVudC1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgLmxlZnQtc2lkZWJhciAuY29udGVudC1hcmVhIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDM5cHg7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKDgzMHB4IC8gJGdyaWQpOyAvLzY4MHB4XG4gICAgfVxuXG4gICAgLmxlZnQtc2lkZWJhciAuc2lkZWJhciB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDM5cHg7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTFweDtcbiAgICB9XG5cbiAgICAucmlnaHQtc2lkZWJhciAuY29udGVudC1hcmVhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMzlweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoODMwcHggLyAkZ3JpZCk7IC8vNjgwcHhcbiAgICB9XG5cbiAgICAucmlnaHQtc2lkZWJhciAuc2lkZWJhciB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMzlweDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTFweDtcbiAgICB9XG59XG5cblxuQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG5cbiAgICAucGFnZS10ZW1wbGF0ZS10ZW1wbGF0ZS1mcm9udHBhZ2Uge1xuXG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgbWFpbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzZWN0aW9uIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcblxuICAgICAgICAgICAgJi5oaWRpbmcge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiA0MDBtcyBjdWJpYy1iZXppZXIoMC4yMiwgMC42MSwgMC4zNiwgMSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbm5lci1zZWN0aW9uIHtcblxuICAgICAgICAgICAgICAgIC5mbGV4LWNlbnRlciB7XG4gICAgICAgICAgICAgICAgICAgIC5wYWRkaW5nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjUwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTUwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjaG9tZSB7XG4gICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgKiB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI2NvbnRhY3Qge1xuICAgICAgICAgICAgICAgIHRvcDogLTEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmI2NvbnRhY3QuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmI2NvbnJhZHQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiNjb25yYWR0LmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYjcHJvZHVjdGlvbiB7XG4gICAgICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiNwcm9kdWN0aW9uLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiNmcmllbmRzIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJiNmcmllbmRzLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXRlLWZvb3RlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZyaWVuZHNwcm8tbWVudSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgICAgICAgLy90cmFuc2l0aW9uLWRlbGF5OiAxcztcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCA+IGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICR0ZXh0O1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQuNWVtO1xuICAgICAgICAgICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogNC41ZW07XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmJicS1jdXJyZW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2LWhvbWUge1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGE6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAubmF2LWNvbnRhY3Qge1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIuMjVlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMC45NikgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5uYXYtcHJvZHVjdGlvbiB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDNlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTIuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTM1ZGVnKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAvL2JhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Nik7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byBib3R0b20sIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUscmdiYSgyNTUsMjU1LDI1NSwwLjk2KSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTQwcHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdi1jb25yYWR0IHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0ZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTEzNWRlZyk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDAxO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgLy9iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTYpO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsIHJnYmEoMjU1LDI1NSwyNTUsMC45NikgMCUscmdiYSgyNTUsMjU1LDI1NSwwKSAxMDAlKTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IC00MHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLm5hdi1mcmllbmRzIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDRlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTIuMjVlbTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwMTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIC8vYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk2KTtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHJpZ2h0LCByZ2JhKDI1NSwyNTUsMjU1LDApIDAlLHJnYmEoMjU1LDI1NSwyNTUsMC45NikgMTAwJSk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IC00MHB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAud3BtbC1scy1pdGVtIHtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDEwMDM7XG5cbiAgICAgICAgICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIi8vIG1haW46IHN0eWxlLnNjc3NcblxuLyogSGVhZGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNpdGUtaGVhZGVyIHtcbiAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICB6LWluZGV4OiA1MDtcbn1cblxuLnNpdGUtYnJhbmRpbmcge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zaXRlLWJyYW5kaW5nIHtcbiAgICAuc2l0ZS10aXRsZSwgLnNpdGUtdGV4dC1sb2dvIHtcbiAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRfaGVhZGluZztcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgZGlzcGxheTogaW5pdGlhbDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItc29jaWFsIHtcbiAgICBtYXJnaW4tbGVmdDogMHB4O1xuICAgIEBpbmNsdWRlIGZvcihtZWRpdW0tc2NyZWVucykge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG4gICAgQGluY2x1ZGUgZm9yKHNjcmVlbnMtdGlueSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIEBpbmNsdWRlIGZvcihtZWRpdW0tc2NyZWVucykge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDNweDtcbiAgICAgICAgfVxuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXIgMHM7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIC8vIC5mYS1zdGFjayB7XG4gICAgLy8gICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC8vICAgICB3aWR0aDogMmVtO1xuICAgIC8vICAgICBoZWlnaHQ6IDJlbTtcbiAgICAvLyAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAvLyAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAvLyB9XG4gICAgLmZhLXN0YWNrLTF4LCAuZmEtc3RhY2stMngge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5mYS1zdGFjay0xeCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cbiAgICAuZmEtc3RhY2stMngge1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICB9XG4gICAgLmZhLWludmVyc2Uge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG59XG5cbi5oZWFkZXItYnRuIHtcbiAgICBmbG9hdDogcmlnaHQ7XG59XG5cbi8qIFNpdGUgTmF2aWdhdGlvbiAqL1xuLmZyaWVuZHNwcm8tbWVudSwgLmZyaWVuZHNwcm8tbWVudSAqIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLyBFc3NlbnRpYWwgU3R5bGVzXG4uZnJpZW5kc3Byby1tZW51IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgQGV4dGVuZCAuY2xlYXJmaXg7XG4gICAgdWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuICAgIHVsIHVsIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgPiBsaSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICBsaTpob3ZlciA+IHVsLCBsaS5zZkhvdmVyID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4vLyBTa2luXG4uZnJpZW5kc3Byby1tZW51IHtcbiAgICB1bCB7XG4gICAgICAgIG1pbi13aWR0aDogMTJlbTsgLy8gYWxsb3cgbG9uZyBtZW51IGl0ZW1zIHRvIGRldGVybWluZSBzdWJtZW51IHdpZHRoXG4gICAgICAgICp3aWR0aDogMTJlbTsgLy9ubyBhdXRvIHN1YiB3aWR0aCBmb3IgSUU3LCBzZWUgd2hpdGUtc3BhY2UgY29tbWVudCBiZWxvd1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IC8vIG5vIG5lZWQgZm9yIFN1cGVyc3VicyBwbHVnaW5cbiAgICAgICAgKndoaXRlLXNwYWNlOiBub3JtYWw7IC8vIC4uLnVubGVzcyB5b3Ugc3VwcG9ydCBJRTcgKGxldCBpdCB3cmFwKVxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgLjJzO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4ycztcbiAgICB9XG4gICAgbGk6aG92ZXIsXG4gICAgbGkuc2ZIb3ZlciB7XG4gICAgICAgIC8vIG9ubHkgdHJhbnNpdGlvbiBvdXQsIG5vdCBpblxuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnRfaGVhZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxN3B4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxN3B4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgem9vbTogMTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwgbGkge1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxOHB4O1xuICAgICAgICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpLmZyaWVuZHNwcm8tY3VycmVudC1pdGVtID4gYSB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB9XG5cbiAgICB1bCBsaS5jdXJyZW50LW1lbnUtaXRlbSA+IGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgfVxuXG4gICAgLy8gSG92ZXIgJiBBY3RpdmVcbiAgICA+IGxpOmxhc3QtY2hpbGQgPiBhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgIH1cblxuICAgID4gbGk6aG92ZXIgPiBhIHtcblxuICAgIH1cbiAgICAvLyA+IGxpLmN1cnJlbnQtbWVudS1pdGVtLCA+IGxpLmN1cnJlbnQtbWVudS1hbmNlc3RvciB7XG4gICAgLy8gICAgID4gYSB7XG4gICAgLy8gICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgLy8gICAgIH1cbiAgICAvLyB9XG4gICAgPiBsaSBhLm1lbnUtYWN0aXZlZCB7XG4gICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICB9XG5cbn1cblxuLy8gUmVzcG9uc2l2ZSBNb2JpbGUgTmF2aWdhdGlvblxuI25hdi10b2dnbGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbkBpbmNsdWRlIGZvcihzY3JlZW5zLW1lZGl1bSkge1xuICAgIC5tYWluLW5hdmlnYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgICAubWFpbi1uYXZpZ2F0aW9uIC5mcmllbmRzcHJvLW1lbnUge1xuICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAuZnJpZW5kc3Byby1tZW51LmZyaWVuZHNwcm8tbWVudS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTBweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDM1cHg7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIGxpIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggNzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpIGxpIGxpIGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgPiBsaSA+IGEge1xuICAgICAgICAgICAgLy9wYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIH1cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjRkZGRkZGO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC8vIGxpLmN1cnJlbnQtbWVudS1pdGVtIHtcbiAgICAgICAgLy8gICAgID4gYSB7XG4gICAgICAgIC8vICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAvLyAgICAgICAgIGJhY2tncm91bmQ6ICNGRkZGRkY7XG4gICAgICAgIC8vICAgICB9XG4gICAgICAgIC8vIH1cbiAgICAgICAgbGkuZnJpZW5kc3Byby1jdXJyZW50LWl0ZW0ge1xuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAubmF2LXRvZ2dsZS1zdWJhcnJvdyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuICAgICNuYXYtdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4vLyBNb2JpbGUgTmF2aWdhdGlvbiBUb2dnbGVcbiNuYXYtdG9nZ2xlIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgc3BhbiB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICAgIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJhY2tncm91bmQgMC4ycztcbiAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAtOHB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMDAwMDA7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gICAgICAgICAgICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiAwJSA1MCU7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogMCUgNTAlO1xuICAgICAgICAgICAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LXRyYW5zZm9ybSAwLjJzO1xuICAgICAgICAgICAgLW1vei10cmFuc2l0aW9uOiAtbW96LXRyYW5zZm9ybSAwLjJzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnM7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNuYXYtdG9nZ2xlLm5hdi1pcy12aXNpYmxlIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICY6YmVmb3JlIHtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSB0cmFuc2xhdGVZKC0xcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgtMXB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgtMXB4KSByb3RhdGUoNDVkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSB0cmFuc2xhdGVZKC0xcHgpIHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoLTFweCkgcm90YXRlKDQ1ZGVnKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgwcHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWCg0cHgpIHRyYW5zbGF0ZVkoMHB4KSByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDRweCkgdHJhbnNsYXRlWSgwcHgpIHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNHB4KSB0cmFuc2xhdGVZKDBweCkgcm90YXRlKC00NWRlZyk7XG4gICAgfVxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzAwMDAwMDtcbiAgICB9XG59XG5cbi8qIENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2l0ZS1jb250ZW50IHtcbn1cblxuLnNpdGUtY29udGVudC5uby1ib3JkZXIge1xuICAgIGJvcmRlci10b3A6IG5vbmU7XG59XG5cbi5wYWdlLWhlYWRlciB7XG4gICAgcGFkZGluZzogMjVweCAwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgLmVudHJ5LXRpdGxlLCAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgIH1cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiA2cHggMHB4IDBweCAwcHg7XG4gICAgfVxufVxuXG4vKiBGb290ZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2l0ZS1mb290ZXIge1xuICAgIGJhY2tncm91bmQ6ICMxMTExMTE7XG4gICAgY29sb3I6ICNCQkJCQkI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGEge1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgIH1cbiAgICB9XG4gICAgLmZvb3Rlci1jb25uZWN0IHtcbiAgICAgICAgcGFkZGluZzogOTBweCAwcHg7XG4gICAgICAgIEBpbmNsdWRlIHJlbSgncGFkZGluZycsIDgwcHggMHB4KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBmb3Ioc2NyZWVucy1tZWRpdW0pIHtcbiAgICAgICAgICAgIC8vQGluY2x1ZGUgcmVtKCdwYWRkaW5nJywgNDBweCAwcHgpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bihzbSkge1xuICAgICAgICAgICAgLmZvb3Rlci1zdWJzY3JpYmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZvbGxvdy1oZWFkaW5nIHtcbiAgICAgICAgICAgIGNvbG9yOiAjRkZGRkZGO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgICAgICAgfVxuICAgICAgICAuc3Vic19pbnB1dCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzMzMzMzO1xuICAgICAgICAgICAgY29sb3I6ICNjY2NjY2M7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTVweCAxM3B4O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcihzY3JlZW5zLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yKHNjcmVlbnMtbWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3Ioc2NyZWVucy1zbWFsbCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnMtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDIzcHggMTZweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcihzY3JlZW5zLWxhcmdlKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBmb3Ioc2NyZWVucy1tZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgZm9yKHNjcmVlbnMtc21hbGwpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJdOmZvY3VzIHtcbiAgICAgICAgICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuICAgIC5mb290ZXItc29jaWFsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIG1hcmdpbjogMHB4IDEzcHg7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2l0ZS1pbmZvIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDM1cHggMHB4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBjb2xvcjogI2JiYmJiYjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2RkZGRkZDtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5idHQgYSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDBweCAyMHB4IDAgMDtcbiAgICAgICAgY29sb3I6ICM5OTk5OTk7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyMjIyMjI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNjBweDtcbiAgICAgICAgdG9wOiAtMjVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyIDBzO1xuICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGZvcihzY3JlZW5zLW1lZGl1bSkge1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gbWFpbjogc3R5bGUuc2Nzc1xuXG4vKiBQYWdlOiA0MDRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZXJyb3ItNDA0IHtcbiAgICAuc2VhcmNoLWZvcm0sIC53aWRnZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgICAud2lkZ2V0dGl0bGUsIC53aWRnZXQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEzcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgfVxuICAgIHVsIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFBhZ2U6IFNlYXJjaFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWFyY2gtcmVzdWx0cyB7XG4gICAgLmhlbnRyeSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG4gICAgLmVudHJ5LXN1bW1hcnkgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG4gICAgLmVudHJ5LWhlYWRlciAuZW50cnktdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBFbnRyeSBIZWFkZXJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZW50cnktaGVhZGVyIC5lbnRyeS10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuNnB4O1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udF90ZXh0O1xuICAgIGZvbnQtc2l6ZTogMjVweDtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIEBpbmNsdWRlIGZvcihtZWRpdW0tc2NyZWVucykge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxufVxuXG4uc2luZ2xlIC5lbnRyeS1oZWFkZXIgLmVudHJ5LXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uaGlnaGxpZ2h0IHtcbiAgICBjb2xvcjogJHByaW1hcnk7XG59XG5cbi8qIEVudHJ5IENvbnRlbnRcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZW50cnktY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRtZXRhO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRwcmltYXJ5O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgIH1cblxuICAgIH1cbn1cblxuLyogRW50cnkgU3R1ZmZcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uZW50cnktbWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlcjtcbn1cblxuLmVudHJ5LWZvb3RlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAuY2F0LWxpbmtzLCAudGFncy1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMS41cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgIH1cbn1cblxuLm5hdi1saW5rcyB7XG4gICAgcGFkZGluZzogMzBweCAwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgQGV4dGVuZCAuY2xlYXJmaXg7XG4gICAgLm5hdi1wcmV2aW91cyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAubmF2LW5leHQge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICAgIGEge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJ5cG9zdGF1dGhvciB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4vKiBTdGlja3kgUG9zdFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zdGlja3kgLmVudHJ5LXRpdGxlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjI3NlwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkZvbnRBd2Vzb21lXCI7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGNvbG9yOiAjYWFhYWFhO1xuICAgIH1cbn1cblxuLyogV29yZFByZXNzIGNhcHRpb24gc3R5bGVcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud3AtY2FwdGlvbiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICBpbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLndwLWNhcHRpb24tdGV4dCB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwcHg7XG4gICAgfVxufVxuXG4ud3AtY2FwdGlvbi10ZXh0LFxuLmVudHJ5LXRodW1ibmFpbC1jYXB0aW9uLFxuLmN5Y2xlLWNhcHRpb24ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICBmb250LXNpemU6IDEzcHg7XG59XG5cbi8qIFdvcmRQcmVzcyBHYWxsZXJ5XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4uZ2FsbGVyeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41ZW07XG59XG5cbi5nYWxsZXJ5LWl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtMiAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy0zICYge1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjMzJTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTQgJiB7XG4gICAgICAgIG1heC13aWR0aDogMjUlO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtNSAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMCU7XG4gICAgfVxuXG4gICAgLmdhbGxlcnktY29sdW1ucy02ICYge1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2JTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTcgJiB7XG4gICAgICAgIG1heC13aWR0aDogMTQuMjglO1xuICAgIH1cblxuICAgIC5nYWxsZXJ5LWNvbHVtbnMtOCAmIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTtcbiAgICB9XG5cbiAgICAuZ2FsbGVyeS1jb2x1bW5zLTkgJiB7XG4gICAgICAgIG1heC13aWR0aDogMTEuMTElO1xuICAgIH1cbn1cblxuLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qIENvbW1lbnRzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI2NvbW1lbnRzIHtcbiAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAuY29tbWVudHMtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgICAuY29tbWVudC1saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwcHg7XG4gICAgICAgIC5waW5nYmFjayB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRiYXNlIDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAucGluZ2JhY2s6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYmFzZSoyO1xuICAgICAgICB9XG5cbiAgICB9XG4gICAgLmNvbW1lbnQtY29udGVudC5lbnRyeS1jb250ZW50IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIH1cbiAgICAuY29tbWVudCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogJGd1dHRlcjIgMDtcbiAgICAgICAgLmF2YXRhciB7XG4gICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygzcHgpO1xuICAgICAgICB9XG4gICAgICAgIC5jb21tZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6ICRndXR0ZXIyKjM7XG4gICAgICAgICAgICBwYWRkaW5nOiAoJGd1dHRlcjIgLSA1KSAkZ3V0dGVyMiAkZ3V0dGVyMi8yICRndXR0ZXIyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2Y4ZjlmOTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHJnYmEoMCwgMCwgMCwgMCkgI2Y2ZjdmOSByZ2JhKDAsIDAsIDAsIDApIHJnYmEoMCwgMCwgMCwgMCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMTBweCAxMHB4IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgbGVmdDogLTlweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbW1lbnQtbWV0YSAuY29tbWVudC10aW1lLCAuY29tbWVudC1tZXRhIC5jb21tZW50LXJlcGx5LWxpbmssIC5jb21tZW50LW1ldGEgLmNvbW1lbnQtZWRpdC1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2FhYWFhYTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjNweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwcHggNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgLmNvbW1lbnQtbWV0YSBhOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50LW1ldGEgY2l0ZSAuZm4ge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuY29tbWVudC1tZXRhIGNpdGUgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJvcmRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBib3JkZXItcmFkaXVzKDRweCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jaGlsZHJlbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIyKjE7XG4gICAgICAgICAgICAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlcjIqMTtcbiAgICAgICAgICAgICAgICAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgICAgICAgICAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGd1dHRlcjIqMztcbiAgICAgICAgICAgICAgICAuY2hpbGRyZW4ge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIyKjM7XG4gICAgICAgICAgICAgICAgICAgIC5jaGlsZHJlbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXIyKjM7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cbiAgICAuZm9ybS1hbGxvd2VkLXRhZ3Mge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmlnaHQtc2lkZWJhciAuY29tbWVudC1yZXNwb25kIHRleHRhcmVhLFxuLmxlZnQtc2lkZWJhciAuY29tbWVudC1yZXNwb25kIHRleHRhcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLyogQ29tbWVudCBGb3JtXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuI3Jlc3BvbmQge1xuICAgIHBhZGRpbmctdG9wOiAkYmFzZTtcbiAgICAuY29tbWVudC1mb3JtIGxhYmVsIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRweDtcbiAgICB9XG4gICAgLmZvcm0tYWxsb3dlZC10YWdzIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBjb2RlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG4gICAgLmNvbW1lbnQtbm90ZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuNXB4O1xuICAgIH1cbn1cblxuLmZ1bGwtc2NyZWVuIC5jb21tZW50cy1hcmVhIHtcbiAgICBtYXgtd2lkdGg6ICRncmlkO1xuICAgIG1hcmdpbjogMCBhdXRvO1xufVxuIiwiLy8gbWFpbjogc3R5bGUuc2Nzc1xuXG4vKiBCdXR0b25cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uYnRuIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIEBpbmNsdWRlIGJvcmRlci1yYWRpdXMoMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIC0xcHggMCAwIHJnYmEoMCwgMCwgMCwgMC4xKSBpbnNldDtcbiAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDEzcHgpO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgJjphY3RpdmUsICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbn1cblxuLmJ0bi1sZyB7XG4gICAgQGluY2x1ZGUgcmVtKCdmb250LXNpemUnLCAxN3B4KTtcbn1cblxuLmJ0bi10aGVtZS1wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeTtcbiAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgfVxufVxuXG4uYnRuLXRoZW1lLXByaW1hcnktb3V0bGluZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNGRkY7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICBib3JkZXItY29sb3I6ICRwcmltYXJ5O1xuICAgIH1cbn1cbiIsIi8vIG1haW46IHN0eWxlLnNjc3NcblxuLnNpZGViYXIgLndpZGdldCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAud2lkZ2V0LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgIH1cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDBweDtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiAkdGV4dDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTZWFyY2hcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2lkZWJhciAud2lkZ2V0IC5zZWFyY2gtZm9ybSB7XG4gICAgLnNlYXJjaC1maWVsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIHJlbSgncGFkZGluZycsIDEwcHggMTVweCk7XG4gICAgfVxuICAgIC5zZWFyY2gtc3VibWl0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAyM3B4IDEycHg7XG4gICAgICAgIHdpZHRoOiA5MyU7XG4gICAgfVxufVxuXG4vKiBSZWNlbnQgQ29tbWVudFxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi53aWRnZXRfcmVjZW50X2NvbW1lbnRzIHtcbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYm9yZGVyO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5jb21tZW50LWF1dGhvci1saW5rIGEge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cbn1cblxuLyogUmVjZW50IENhdGVnb3JpZXMsIEFyY2hpdmUsIE1ldGFcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4ud2lkZ2V0LWFyZWEgLndpZGdldF9jYXRlZ29yaWVzIHVsLFxuLndpZGdldC1hcmVhIC53aWRnZXRfYXJjaGl2ZSB1bCxcbi53aWRnZXQtYXJlYSAud2lkZ2V0X21ldGEgdWwge1xuICAgIEBleHRlbmQgLmNsZWFyZml4O1xufVxuXG4ud2lkZ2V0LWFyZWEgLndpZGdldF9jYXRlZ29yaWVzIGxpLCAud2lkZ2V0LWFyZWEgLndpZGdldF9hcmNoaXZlIGxpLCAud2lkZ2V0LWFyZWEgLndpZGdldF9tZXRhIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgQGluY2x1ZGUgZm9yKHNtYWxsLXNjcmVlbnMpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICB9XG4gICAgQGluY2x1ZGUgZm9yKGxhcmdlLXNjcmVlbnMpIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4ud2lkZ2V0X3JlY2VudF9lbnRyaWVzIHtcbiAgICB1bCBsaSB7XG4gICAgICAgIG1hcmdpbjogMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDBweCAxMHB4IDBweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgfVxufVxuIiwiLy8gbWFpbjogc3R5bGUuc2Nzc1xuXG4vKiBTZWN0aW9uIFN0dWZmc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWN0aW9uLXBhZGRpbmcge1xuICAgIEBpbmNsdWRlIHJlbSgncGFkZGluZycsIDcwcHggMHB4KTtcbn1cblxuLnNlY3Rpb24tcGFkZGluZy1sZyB7XG4gICAgQGluY2x1ZGUgcmVtKCdwYWRkaW5nJywgOTBweCAwcHgpO1xufVxuXG4uc2VjdGlvbi1tZXRhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWV0YTtcbn1cblxuLm9uZXBhZ2Utc2VjdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMHB4O1xuICAgICAgICBsZWZ0OiAwcHg7XG4gICAgICAgIHJpZ2h0OiAwcHg7XG4gICAgICAgIGJvdHRvbTogMHB4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG4gICAgLmNvbnRhaW5lciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogNTtcblxuICAgICAgICAmLm5hcnJvdyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDczMHB4O1xuXG4gICAgICAgICAgICAmLnNwZWNpYWwge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzAwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obWQpIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1NDBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdmb250LXNpemUnLCAxNXB4KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKG1kKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDE4cHgpO1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC0zMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGIsIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlbSgnZm9udC1zaXplJywgMThweCk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VjdGlvbi1pbnZlcnNlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyMjIyO1xuICAgIC5zZWN0aW9uLXRpdGxlLWFyZWEge1xuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk5KTtcbiAgICAgICAgfVxuICAgICAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWN0aW9uLXN1YnRpdGxlOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWN0aW9uLWludmVyc2Uge1xuICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgfVxuICAgIHAge1xuICAgICAgICBjb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICAgIH1cbn1cblxuLnNlY3Rpb24tdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA4MDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLWJvdHRvbScsIDRweCk7XG5cbiAgICAgICAgQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDU2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDU2cHggKiAwLjY2O1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tYm90dG9tJywgNnB4KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgZm9yKG1lZGl1bS1zY3JlZW5zKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIFRleHQgUm90YXRvciAqL1xuLm1vcnBoZXh0ID4gLmFuaW1hdGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cblxuXG4vKiBTZWN0aW9uOiBIZXJvXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24taGVybyB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgdmlkZW8ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgZm9yKHNjcmVlbnMtbWVkaXVtKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE2MCU7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSkgdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxufVxuXG5cbi8qIFNlY3Rpb246IEFib3V0IFVzXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24tYWJvdXQge1xuICAgIC5hYm91dC1pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgLmFib3V0LWltYWdlIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgfVxufVxuXG4vKiBTZWN0aW9uOiBTZXJ2aWNlc1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5zZWN0aW9uLXNlcnZpY2VzIHtcbiAgICAuc2VydmljZS1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAgICAgLW1vei1ib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAgICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDEwMG1zIGVhc2Utb3V0IDBzO1xuICAgICAgICBAaW5jbHVkZSBmb3Ioc2NyZWVucy1zbWFsbCkge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXgtYWZ0ZXI7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDZweCA5cHggcmdiYSgwLCAwLCAwLCAwLjA5KTtcbiAgICAgICAgfVxuICAgICAgICAuc2VydmljZS1pbWFnZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkcHJpbWFyeTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcihzY3JlZW5zLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuc2VydmljZS10aHVtYm5haWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tYm90dG9tJywgMjVweCk7XG4gICAgICAgIH1cbiAgICAgICAgLnNlcnZpY2UtY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwcHg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdGV4dDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIGZvcihzY3JlZW5zLXNtYWxsKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgICAgLnNlcnZpY2UtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVtKCdtYXJnaW4tYm90dG9tJywgMTBweCk7XG4gICAgICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgfVxuICAgICAgICAuc2VydmljZS1saW5rIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDBweDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTZWN0aW9uOiBDb3VudGVyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24tY291bnRlciB7XG5cbn1cblxuLmNvdW50ZXJfaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIEBpbmNsdWRlIHJlbSgnbWFyZ2luLWJvdHRvbScsIDM1cHgpO1xuICAgIC5jb3VudGVyX19udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSByZW0oJ2ZvbnQtc2l6ZScsIDUwcHgpO1xuICAgICAgICBmb250LXdlaWdodDogODAwO1xuICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBmb250LWZhbWlseTogc2VyaWYsIHNhbnMtc2VyaWY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5jb3VudGVyX3RpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgcmVtKCdmb250LXNpemUnLCAxOHB4KTtcbiAgICB9XG59XG5cbi8qIFNlY3Rpb246IFBhcmFsbGF4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24taGFzLXBhcmFsbGF4IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnBhcmFsbGF4X2JnIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG59XG5cbi5wYXJhbGxheF9iZy5pcy1tb2JpbGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCUgIWltcG9ydGFudDtcbn1cblxuLnBhcmFsbGF4X2JnX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogNTtcbiAgICBvcGFjaXR5OiAwLjQ7XG59XG5cbi5wYXJhbGxheC1jb250ZW50IHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTAwcHggMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgY29sb3I6ICNGRkZGRkY7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgfVxuICAgIHAsIGEge1xuICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICB9XG59XG5cbi8qIFNlY3Rpb246IFRlYW1cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4uc2VjdGlvbi10ZWFtIHtcbiAgICAudGVhbS1tZW1iZXIge1xuICAgICAgICBwYWRkaW5nOiAwcHggMC41cHg7XG4gICAgfVxuICAgIC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNXB4O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjVweDtcbiAgICB9XG59XG5cbi50ZWFtLW1lbWJlcnMucm93IHtcbiAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi1sZWZ0JywgMHB4KTtcbiAgICBAaW5jbHVkZSByZW0oJ21hcmdpbi1yaWdodCcsIDBweCk7XG59XG5cbi50ZWFtLW1lbWJlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgIC5tZW1iZXItdGh1bWIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgLm1lbWJlci1wcm9maWxlIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDhweDtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4xcyBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1lbWJlci1wcm9maWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGJvdHRvbTogLTM1cHg7XG4gICAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgIC5mYS1pbnZlcnNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbWJlci1pbmZvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDMwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgIC5tZW1iZXItbmFtZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLTE1JTtcbiAgICAgICAgICAgIGJvdHRvbTogLTExcHg7XG4gICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjY2NjY2NjO1xuICAgICAgICB9XG4gICAgfVxuICAgIC5tZW1iZXItcG9zaXRpb24ge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAxLjNweDtcbiAgICB9XG5cbn1cblxuLyogU2VjdGlvbjogTmV3c1xuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbi5hbGwtbmV3cyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zZWN0aW9uLW5ld3MsIC5hcmNoaXZlLCAuYmxvZyB7XG5cbiAgICAubGlzdC1hcnRpY2xlIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRib3JkZXI7XG4gICAgICAgIHBhZGRpbmc6IDI1cHggMHB4O1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGJvcmRlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdC1hcnRpY2xlLXRodW1iIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMzBweDtcbiAgICAgICAgYSBpbWc6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC44O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGZvcihzY3JlZW5zLW1lZGl1bSkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBmb3Ioc2NyZWVucy1zbWFsbCkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAubGlzdC1hcnRpY2xlLWNvbnRlbnQge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG4gICAgLmxpc3QtYXJ0aWNsZS1tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDEuMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5lbnRyeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmVudHJ5LWV4Y2VycHQgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICB9XG59XG5cbi5hcmNoaXZlIC5zaXRlLW1haW4gLmxpc3QtYXJ0aWNsZTpmaXJzdC1jaGlsZCxcbi5ibG9nIC5zaXRlLW1haW4gLmxpc3QtYXJ0aWNsZTpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xuICAgIHBhZGRpbmctdG9wOiAwcHg7XG59XG5cbi5wYWdlLXRlbXBsYXRlLXRlbXBsYXRlLWJsb2cgLnNlY3Rpb24tbmV3cyB7XG4gICAgLmxpc3QtYXJ0aWNsZSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMHB4O1xuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwcHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlY3Rpb24tbmV3cy5zZWN0aW9uLWludmVyc2Uge1xuICAgIC5saXN0LWFydGljbGUge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjRkZGO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vKiBTZWN0aW9uOiBDb250YWN0XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnNlY3Rpb24tY29udGFjdCB7XG4gICAgaW5wdXQsIHRleHRhcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIC5jb250YWN0LW1hcCBpZnJhbWUge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgLmFkZHJlc3MtY29udGFjdCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGNvbG9yOiAjYWFhYWFhO1xuICAgICAgICAgICAgLy9tYXJnaW4tdG9wOiA3cHg7XG4gICAgICAgICAgICAvL2NvbG9yOiAjYWFhYWFhO1xuICAgICAgICB9XG4gICAgICAgIC5hZGRyZXNzLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ1cHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cbiAgICAgICAgLmZhLWludmVyc2Uge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRleHRhcmVhIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTkwcHg7XG4gICAgfVxufVxuXG4ud3BjZjctZm9ybSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICAgIH1cbn1cblxuZGl2LndwY2Y3LXZhbGlkYXRpb24tZXJyb3JzIHtcbiAgICBtYXJnaW46IDIwcHggMHB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG59XG5cbmRpdi53cGNmNy1yZXNwb25zZS1vdXRwdXQge1xuICAgIG1hcmdpbjogMjBweCAwcHg7XG59XG5cbi8qIFNlY3Rpb246IFBhcmFsbGF4XG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLnBhcmFsbGF4LXdpbmRvdyBzZWN0aW9uIHtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbn1cblxuLnBhcmFsbGF4LXdpbmRvdyAucGFyYWxsYXgtbWlycm9yOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDBweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgcmlnaHQ6IDBweDtcbiAgICBib3R0b206IDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB6LWluZGV4OiAyO1xufVxuIiwiLy8gbWFpbjogc3R5bGUuc2Nzc1xuXG5cbi5wcm9kdWN0aW9ucyB7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLXRvcDogMTAwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGFzc2V0cy9pbWFnZXMvcGF0dGVybi5wbmcpIHJlcGVhdC15IDAgMDtcblxuICAgICAgICAgICAgQG1lZGlhXG4gICAgICAgICAgICBvbmx5IHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gICAgICAgICAgICBvbmx5IHNjcmVlbiBhbmQgKCAgIG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gICAgICAgICAgICBvbmx5IHNjcmVlbiBhbmQgKCAgICAgLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgICAgICAgICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICBtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgICAgICAgICAgIG9ubHkgc2NyZWVuIGFuZCAoICAgICAgICAgICAgICAgIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICAgICAgICAgICAgb25seSBzY3JlZW4gYW5kICggICAgICAgICAgICAgICAgbWluLXJlc29sdXRpb246IDJkcHB4KSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgdXJsKGFzc2V0cy9pbWFnZXMvcGF0dGVybjJ4LnBuZykgcmVwZWF0LXkgMCAwIC8gMjBweCA3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5wcm9kdWN0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogJHRleHQ7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmFjdGl2ZSwgJjp2aXNpdGVkIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC03MXB4O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTYycHg7XG4gICAgICAgIH1cblxuICAgICAgICAueWVhciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTlweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKHNtKSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cChzbSkge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDY0JTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNsZWFyOiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiA2NCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cbiN2aWRlby1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOTgpO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgY29sb3I6ICNmZmY7XG5cbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24obGcpIHtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAucGFkZGluZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDE0ODBweDtcblxuICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoc20pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMjBweDtcbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cblxuICAgICAgICAuZW1iZWQtY29udGFpbmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDcyMHB4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5lbWJlZC1jb250YWluZXIgaWZyYW1lLCAuZW1iZWQtY29udGFpbmVyIG9iamVjdCwgLmVtYmVkLWNvbnRhaW5lciBlbWJlZCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAueWVhciB7XG4gICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVudHJ5LWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogOTAwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5jbG9zZSB7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICByaWdodDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKGxnKSB7XG4gICAgICAgICAgICB0b3A6IDMwcHg7XG4gICAgICAgICAgICByaWdodDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIHotaW5kZXg6IDEwMDE7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG5cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxMzVkZWcpO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4IDFweCAwIDA7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMjVweDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8vIG1haW46IHN0eWxlLnNjc3NcblxuLyogRGFyayBNb2RlICovXG5cblxuLmRhcmsge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZmZjtcblxuICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuXG5cbiAgICAjbmF2LXRvZ2dsZSB7XG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uYXYtaXMtdmlzaWJsZSBzcGFuIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyaWVuZHNwcm8tbWVudSB7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjg1KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnM7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHByaW1hcnk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZyaWVuZHNwcm8tbWVudS1tb2JpbGUgbGkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwMDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufSIsIi8vIG1haW46IHN0eWxlLnNjc3NcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQkU7QUFDRjs7Ozs7Ozs7Ozs7OztnRUFhZ0U7QUFHaEU7O2dFQUVnRTtBQUVoRTs7Z0VBRWdFO0FBRWhFOztnRUFFZ0U7QUUxQ2hFLEFBQUEsSUFBSSxDQUFDO0VBQ0Qsb0JBQW9CLEVBQUUsSUFBSTtFQUMxQix3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 */
