/*!
|--------------------------------------------------------------------------
| STYLESHEET FOR FLUENTU LANGUAGE LEARNING WORDPRESS THEME
|--------------------------------------------------------------------------
|
| Elco Brouwer von Gonzenbach <elco.brouwer@enux.com>
| https://github.com/FluentU/fluentu-wp-theme
| Author: Elco Brouwer von Gonzenbach <elco.brouwer@enux.com>
| Version: 0.1.0
| Updated: 2021-01-20
|
|--------------------------------------------------------------------------
*/
/*
|--------------------------------------------------------------------------
| https://css-tricks.com/sass-style-guide/
| 1. @extend(s)
| 2. @include(s)
| 3. Regular Styles
| 4. Nested Pseudo Classes and Pseudo Elements
| 5. Nested Selectors
|
| http://duaneblake.co.uk/front-end/using-npm-instead-of-gulp-to-compile-sass/
| https://github.com/hellobrian/sass-recipes/tree/master/node-sass
|
|------------------------------------------------------------------------*/
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

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

/**
 * Add the correct display in IE 9-.
 */
article,
aside,
footer,
header,
nav,
section {
  display: block; }

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

/* Grouping content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 * 1. Add the correct display in IE.
 */
figcaption,
figure,
main {
  /* 1 */
  display: block; }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 1em 40px; }

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

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

/* Text-level semantics
   ========================================================================== */
/**
 * 1. Remove the gray background on active links in IE 10.
 * 2. Remove gaps in links underline in iOS 8+ and Safari 8+.
 */
a {
  background-color: transparent;
  /* 1 */
  -webkit-text-decoration-skip: objects;
  /* 2 */ }

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

/**
 * Prevent the duplicate application of `bolder` by the next rule in Safari 6.
 */
b,
strong {
  font-weight: inherit; }

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

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

/**
 * Add the correct font style in Android 4.3-.
 */
dfn {
  font-style: italic; }

/**
 * Add the correct background and color in IE 9-.
 */
mark {
  background-color: #ff0;
  color: #000; }

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
audio,
video {
  display: inline-block; }

/**
 * Add the correct display in iOS 4-7.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

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

/**
 * Hide the overflow in IE.
 */
svg:not(:root) {
  overflow: hidden; }

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

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

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

/**
 * 1. Prevent a WebKit bug where (2) destroys native `audio` and `video`
 *    controls in Android 4.
 * 2. Correct the inability to style clickable types in iOS and Safari.
 */
button,
html [type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
  /* 2 */ }

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

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

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

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

/**
 * 1. Add the correct display in IE 9-.
 * 2. Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

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

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

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

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

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

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

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in IE 9-.
 * 1. Add the correct display in Edge, IE, and Firefox.
 */
details,
menu {
  display: block; }

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

/* Scripting
   ========================================================================== */
/**
 * Add the correct display in IE 9-.
 */
canvas {
  display: inline-block; }

/**
 * Add the correct display in IE.
 */
template {
  display: none; }

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

/* -------------------------------------------------------------
  Sass CSS3 Mixins! The Cross-Browser CSS3 Sass Library
  By: Matthieu Aussaguel, http://www.mynameismatthieu.com, @matthieu_tweets

  List of CSS3 Sass Mixins File to be @imported and @included as you need

  The purpose of this library is to facilitate the use of CSS3 on different browsers avoiding HARD TO READ and NEVER
  ENDING css files

  note: All CSS3 Properties are being supported by Safari 5
  more info: http://www.findmebyip.com/litmus/#css3-properties

------------------------------------------------------------- */
/*--------------------------------------------------------------
COLOR PALETTE
--------------------------------------------------------------*/
/*--------------------------------------------------------------
GLOBAL VARIABLES
--------------------------------------------------------------*/
/**
 * Typography
 */
/**
 * Paddings & margins
 */
/**
 * Media queries & break points
 */
/**
 * Layout
 */
/*--------------------------------------------------------------
TYPOGRAPHY
--------------------------------------------------------------*/
@font-face {
  font-family: "Proximanova";
  /* src: url('./fonts/proximanova-regular-webfont.woff'); */
  src: url("../fonts/ProximaNova-Regular.woff2") format("woff2"), url("../fonts/ProximaNova-Regular.woff") format("woff");
  font-style: normal;
  font-weight: normal;
  font-display: swap; }

@font-face {
  font-family: "Proximanova";
  src: url("../fonts/ProximaNova-Bold.woff2") format("woff2"), url("../fonts/ProximaNova-Bold.woff") format("woff");
  font-style: normal;
  font-weight: bold;
  font-display: swap; }

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  color: #555;
  font-family: "Proximanova", sans-serif;
  font-size: 18px;
  line-height: 1.3333;
  text-rendering: optimizeSpeed; }
  @media (min-width: 480px) and (max-width: 1170px) {
    body {
      font-size: 16px; } }

button,
input,
textarea {
  font-family: "Proximanova", sans-serif; }

a,
a:visited {
  color: #0070f4;
  text-decoration: none; }
  a:hover,
  a:visited:hover {
    text-decoration: underline; }

.entry-title {
  color: #3994ff;
  font-weight: normal;
  font-size: 1.875em;
  line-height: 1.4;
  margin: 0;
  padding: 0.5em 0 0.3em 0;
  text-rendering: optimizeLegibility; }
  .entry-title > a,
  .entry-title > a:visited {
    color: #3994ff; }

main h2,
main h3,
main h4,
main h5,
main h6 {
  color: #222;
  text-rendering: optimizeLegibility; }

h2 {
  font-size: 1.5em;
  margin: 0;
  padding: 0.8em 0 0.6em 0; }

h3 {
  font-size: 1.125em;
  margin: 0;
  padding: 0.6em 0 0.5em 0; }

h4,
h5,
h6 {
  font-size: 1em;
  margin: 0;
  padding: 0.333em 0 1em; }

p {
  margin: 0;
  padding: 0.333em 0 1em; }

ul,
ol {
  margin: 0 0 0 1.5em;
  padding: 0.333em 0 1em; }

ul > li > ul {
  padding: 0; }

/*--------------------------------------------------------------
GLOBAL MIXINS
--------------------------------------------------------------*/
/*--------------------------------------------------------------
PAGE LAYOUT
--------------------------------------------------------------*/
* {
  box-sizing: border-box; }

body {
  background-color: #f7f7f5;
  margin: 0;
  padding: 0;
  overflow-x: hidden;
  height: 100vh;
  -webkit-overflow-scrolling: touch; }
  body > footer {
    margin: -1em auto 1em;
    max-width: 59em; }

.main {
  background: white;
  margin: 0 auto;
  box-shadow: 0px 0px 12px 0 rgba(0, 0, 0, 0.25);
  max-width: 59em;
  min-height: 100vh;
  padding-top: 5.3333em; }
  @media screen and (min-width: 960px) {
    .main {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-evenly;
      padding-left: 2.5%;
      padding-right: 2.5%; } }

.alignleft {
  display: inline;
  float: left;
  margin: 0 1.5em 0.333em 0; }

.alignright {
  display: inline;
  float: right;
  margin: 1.333em 0 0.333em 1.5em; }

.aligncenter {
  margin: 1em auto 0.333em;
  display: block; }

.js .tmce-active .wp-editor-area {
  color: #222 !important; }

/*--------------------------------------------------------------
FORM ELEMENTS
--------------------------------------------------------------*/
.searchform {
  margin: 1.333em 0; }

.searchform [type='submit'],
#searchsubmit {
  display: none; }

.input-group {
  color: #555;
  margin: 0;
  padding: 0.333em 0 1em; }
  .input-group > label {
    display: block; }

[type='text'],
[type='email'],
[type='number'] {
  color: #555;
  padding: 0.25em; }

.searchform input {
  color: #757575;
  width: 100%;
  font-size: 1rem;
  padding: 0.25em; }

.btn {
  cursor: pointer;
  border: none;
  border-radius: none;
  color: white;
  font-size: 16px;
  padding: 0.5em 1em;
  margin-bottom: 0.75em;
  text-decoration: none; }

.btn-blue {
  cursor: pointer;
  border: none;
  border-radius: none;
  color: white !important;
  background-color: #3994ff;
  font-size: 16px;
  padding: 0.5em 1em;
  margin-bottom: 0.75em;
  text-decoration: none;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.btn,
.btn-blue:hover {
  text-decoration: none; }

/*--------------------------------------------------------------
IMAGES & MEDIA
--------------------------------------------------------------*/
img {
  max-width: 100%;
  height: auto; }

figure {
  background-color: white;
  width: 100%;
  padding: 0;
  padding-bottom: 66.666%;
  position: relative;
  overflow: hidden;
  margin: 0; }
  figure img {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

.entry [width='300'],
.entry [width='500'] {
  max-width: 100vw;
  width: 100vw;
  position: relative;
  left: -1em; }
  @media screen and (min-width: 592px) {
    .entry [width='300'],
    .entry [width='500'] {
      max-width: 100%;
      width: 100%;
      position: inline;
      left: 0; } }

.entry lite-youtube,
.entry :not(div.mmtwrappos) iframe {
  width: 100vw;
  position: relative;
  height: 56.25vw;
  left: -1rem; }
  @media screen and (min-width: 592px) {
    .entry lite-youtube,
    .entry :not(div.mmtwrappos) iframe {
      width: 100%;
      position: inline;
      left: 0;
      height: 18.85em; } }

.entry lite-youtube {
  left: -1rem; }
  @media screen and (min-width: 592px) {
    .entry lite-youtube {
      left: 0; } }

/*--------------------------------------------------------------
PAGE HEADER
--------------------------------------------------------------*/
body > header {
  background-color: white;
  max-width: 59em;
  width: 100%;
  margin: 0 auto;
  position: fixed;
  box-shadow: 0px 0px 12px 0 rgba(0, 0, 0, 0.25);
  z-index: 100;
  left: 50%;
  transform: translateX(-50%);
  overflow-y: hidden; }
  @media print {
    body > header {
      display: none; } }

.header {
  padding: 0.5em;
  text-align: center; }
  @media screen and (min-width: 480px) {
    .header {
      display: flex;
      align-items: center;
      justify-content: space-between;
      padding: 1.75em 1em 1em;
      text-align: left; } }

.logo-link {
  display: block;
  margin: 0 auto; }
  .logo-link > img {
    width: 160px;
    height: 32px; }

.payoff {
  color: #757575;
  display: none; }
  .payoff:visited {
    color: #757575; }

.cta {
  padding: 0.25em 0 0.5em; }
  @media screen and (min-width: 960px) {
    .cta {
      padding-right: 1em; } }

@media screen and (min-width: 592px) {
  .header {
    height: 4.25em;
    padding: 1em 0 1em;
    max-width: 33.5em;
    margin: 0 auto; }
  .payoff {
    display: block;
    font-size: 0.75em; } }

@media screen and (min-width: 960px) {
  .header {
    max-width: 59em;
    padding: 1em 5.75% 0.75em; }
  .logo {
    display: flex;
    align-items: center;
    padding-left: 1em; }
  .payoff {
    font-size: 1em;
    margin-left: 1.5em; } }

/*--------------------------------------------------------------
POST ARTICLE
--------------------------------------------------------------*/
.entry {
  padding-top: 0;
  padding-bottom: 2.333em;
  max-width: 33.5em;
  min-height: auto;
  margin: 0 auto; }
  @media screen and (min-width: 360px) {
    .entry {
      padding-left: 1rem;
      padding-right: 1rem; }
      .entry figure {
        position: relative;
        left: -1rem;
        width: 100vw; } }
  @media screen and (min-width: 720px) {
    .entry {
      margin: 0 auto;
      padding-left: 0;
      padding-right: 0; }
      .entry figure {
        left: 0;
        width: 100%; } }
  .entry li {
    margin-bottom: 1.333em; }
    .entry li:last-of-type {
      margin-bottom: 0; }
    .entry li p,
    .entry li h1,
    .entry li h2,
    .entry li h3,
    .entry li h4,
    .entry li h5,
    .entry li h6 {
      padding: 1.333rem 0 0; }
  .entry .fluentu-leadbox-link {
    padding: 1.5rem 1rem; }
    @media screen and (min-width: 360px) {
      .entry .fluentu-leadbox-link {
        width: calc(100% + 2rem);
        position: relative;
        left: -1rem; } }
    @media screen and (min-width: 720px) {
      .entry .fluentu-leadbox-link {
        width: 100%;
        position: inline;
        left: 0; } }
  .entry footer {
    padding: 1.333rem 1rem 0; }
  .entry .breadcrumbs {
    font-size: 0.777em;
    padding: 1em 0; }
    @media screen and (min-width: 720px) {
      .entry .breadcrumbs {
        padding: 0;
        margin-bottom: 0.5em; } }

.wp-caption-text {
  color: #757575;
  font-size: 0.8888em;
  line-height: 1.5;
  font-style: italic; }

/**
 * NAV PREV/NEXT
 */
.nav-prev > a,
.nav-next > a {
  color: #757575;
  font-size: 0.8888em;
  line-height: 1.5; }

.nav-next {
  text-align: right; }

/*
.nav-prev::before {
  content: '\2039';
}

.nav-next::after {
  content: '\203A';
}
*/
/**
 * POST META
 */
.entry-meta {
  color: #757575;
  font-size: 0.75em;
  line-height: 1.7777;
  font-style: italic; }
  .entry-meta .author a,
  .entry-meta .author a:visited {
    color: #757575;
    font-weight: bold;
    font-style: normal;
    text-transform: uppercase; }

.pp-multiple-authors-wrapper {
  display: none; }

/*--------------------------------------------------------------
ARCHIVE PAGES
--------------------------------------------------------------*/
.archive > .entry {
  border-bottom: 2px solid #e5e5e5;
  padding-bottom: 1.333rem; }
  .archive > .entry:last-of-type {
    border-bottom: none; }

.archive h2 {
  font-weight: normal; }

.archive .entry-title {
  padding-top: 0; }

.archive .archive_header {
  border-bottom: 2px solid #e5e5e5;
  font-weight: normal;
  max-width: 33.5em;
  color: #222;
  font-size: 100%;
  padding: 0.25em 0.5em 0.75em;
  margin-left: auto;
  margin-right: auto; }
  @media screen and (min-width: 360px) {
    .archive .archive_header {
      padding-left: 0;
      padding-right: 1rem; } }

.archive figure {
  margin-bottom: 1.3333em; }

.pagination {
  border-top: 2px solid #e5e5e5;
  text-align: center;
  padding-bottom: 2.333em; }
  .pagination .page-numbers {
    display: inline-block;
    margin: 0.5em 0.25em; }

/*--------------------------------------------------------------
AUTHOR BIO
--------------------------------------------------------------*/
#post-author,
.post-author {
  max-width: 33.5em;
  padding: 1em;
  background-color: #fafafa;
  border: 1px solid #e5e5e5;
  display: flex;
  justify-content: space-between;
  align-items: top;
  margin: 0 auto 1.333em; }
  #post-author .profile-image,
  .post-author .profile-image {
    margin-top: 0.5em;
    width: 4.5em; }
  #post-author .profile-image > img,
  .post-author .profile-image > img {
    border-radius: 50%;
    width: 4.5em;
    height: 4.5em; }
  #post-author .profile-content,
  .post-author .profile-content {
    font-size: 0.8125em;
    width: calc(100% - 7em); }
  #post-author .profile-content h4,
  .post-author .profile-content h4 {
    font-size: 1rem;
    margin: 0; }

.post-author:first-of-type {
  margin-top: 2.5em; }

.no-profile-pic {
  width: 100% !important; }

/*--------------------------------------------------------------
SIDEBAR
--------------------------------------------------------------*/
#sidebar {
  max-width: 33.5em;
  margin: 0 auto;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
  padding-bottom: 1.5rem; }
  @media screen and (min-width: 360px) {
    #sidebar {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media screen and (min-width: 960px) {
    #sidebar {
      margin: 0;
      width: 14.75em;
      padding: 0; }
      #sidebar .fluen-target:last-of-type {
        position: sticky;
        top: 6.666rem; } }
  #sidebar ul {
    list-style: none;
    font-size: 16px;
    line-height: 1.5;
    margin: 0; }
  @media (min-width: 480px) and (max-width: 1170px) {
    #sidebar {
      font-size: 14px; } }

/*--------------------------------------------------------------
WIDGETS
--------------------------------------------------------------*/
.widget,
.fluentu-widget {
  margin-bottom: 1em !important; }

.fluentu-widget {
  background-color: white;
  width: 100%;
  padding: 0;
  padding-bottom: 66.666%;
  position: relative;
  overflow: hidden;
  margin: 0; }
  .fluentu-widget img {
    position: absolute;
    width: 100%;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }

/**
 * fixed size to prevent CLS
 */
#fluentu-widget-2 {
  padding-bottom: 200%; }

#fluentu-widget-3 {
  padding-bottom: 128.163265306122449%; }
  @media screen and (min-width: 960px) {
    #fluentu-widget-3 {
      position: sticky;
      top: 6.666rem; } }

/*--------------------------------------------------------------
PAGE FOOTER
--------------------------------------------------------------*/
.footer {
  color: white;
  background-color: #464646;
  box-shadow: 0px 12px 12px 0 rgba(0, 0, 0, 0.25);
  padding: 1.5em 0.5rem 0; }
  @media screen and (min-width: 360px) {
    .footer {
      padding-left: 1rem;
      padding-right: 1rem; } }
  @media screen and (min-width: 960px) {
    .footer {
      display: flex;
      justify-content: space-evenly;
      padding-left: 2.5%;
      padding-right: 2.5%; } }
  .footer .try-for ~ h3 {
    padding-top: 2.333em; }

.footer-widgets-left {
  padding-top: 0;
  padding-bottom: 2.333em;
  max-width: 33.5em;
  min-height: auto;
  margin: 0 auto; }
  @media screen and (min-width: 960px) {
    .footer-widgets-left {
      width: 33.5em; } }

.footer-widgets-right {
  max-width: 33.5em;
  margin: 0 auto; }
  @media screen and (min-width: 960px) {
    .footer-widgets-right {
      margin: 0 1rem;
      width: 14.75em; } }

/**
 * PAGE END FOOTER
 */
.page-end {
  padding: 1.5em 0.5em;
  text-align: center; }
  @media screen and (min-width: 480px) {
    .page-end {
      padding: 1.5em 1em; } }
  @media screen and (min-width: 960px) {
    .page-end {
      display: flex;
      align-items: center;
      flex-direction: row-reverse;
      justify-content: space-between;
      padding-left: 5%;
      padding-right: 5%;
      text-align: left; } }

#copyright,
#social-footer {
  font-size: 0.75em; }
  @media screen and (min-width: 960px) {
    #copyright,
    #social-footer {
      width: max-content; } }

#social-footer {
  margin-bottom: 1em; }
  @media screen and (min-width: 960px) {
    #social-footer {
      display: flex;
      align-items: center;
      justify-content: flex-end; } }
  #social-footer img {
    width: 24px;
    height: 24px;
    margin-left: 0.25em; }
  #social-footer .links {
    margin-left: 0.75em; }
  #social-footer .social-links {
    margin-bottom: 1em;
    display: flex;
    align-items: center;
    justify-content: center; }
    @media screen and (min-width: 960px) {
      #social-footer .social-links {
        margin-bottom: 0;
        justify-content: flex-end; } }
    #social-footer .social-links > a {
      margin-right: 1em; }

/*--------------------------------------------------------------
POST META
--------------------------------------------------------------*/
/**
 * META
 */
.post-meta {
  color: #757575;
  font-size: 0.75em;
  line-height: 1.7777;
  font-style: italic;
  margin-top: 0.5rem; }
  .post-meta .avatar {
    border-radius: 50%;
    width: 2em;
    height: 2em;
    margin: 0 0.5em -0.5em; }
  @media screen and (min-width: 720px) {
    .post-meta {
      display: flex;
      justify-content: space-between;
      align-items: baseline; } }
  .post-meta > .small {
    display: block; }
  .post-meta .entry-time,
  .post-meta .author a,
  .post-meta .author a:visited {
    display: inline-block;
    color: #757575;
    font-weight: bold;
    font-style: normal;
    text-transform: uppercase; }

.archive .post-meta .avatar {
  display: none; }

/*--------------------------------------------------------------
Accessibility
--------------------------------------------------------------*/
.screen-reader-text {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px;
  word-wrap: normal !important; }

.screen-reader-text:focus {
  background-color: #fafafa;
  -webkit-border-radius: 3px;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
  clip: auto !important;
  color: #222;
  display: block;
  font-size: 14px;
  font-weight: bold;
  height: auto;
  left: 5px;
  line-height: normal;
  padding: 15px 23px 14px;
  text-decoration: none;
  top: 5px;
  width: auto;
  z-index: 100000; }

/*--------------------------------------------------------------
Monumetric ad sizes - to prevent CLS
--------------------------------------------------------------*/
#content > div {
  height: 90px;
  width: 100%;
  margin-bottom: 1em; }
  #content > div > div {
    margin: 0 auto !important; }

#sidebar > .mmtwrappos {
  height: 600px;
  width: 100%; }

/*--------------------------------------------------------------
Advanced Ads tracking plugin
--------------------------------------------------------------*/
.fluen-target {
  margin: 0 auto; }
  .fluen-target p:last-of-type {
    padding-bottom: 0; }

/*--------------------------------------------------------------
PRINT STYLES
--------------------------------------------------------------*/
@media print {
  @page {
    margin: 1.5cm; }
  * {
    font-family: Georgia, serif; }
  body {
    background-color: white !important;
    color: black !important;
    font-size: 12pt; }
  .main {
    box-shadow: none;
    padding-top: 0; }
  .entry-title {
    color: black;
    font-weight: bold; }
  .entry {
    width: 100% !important;
    max-width: 35em !important; }
  .footer,
  #sidebar,
  #social-footer,
  .entry iframe,
  .entry > footer,
  .mmtwrappos,
  .fluen-before-1st-h2,
  .fluen-after-content-1 {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
    overflow: hidden !important;
    line-height: 0pt !important;
    white-space: nowrap; }
  /* From https://www.jotform.com/blog/css-perfect-print-stylesheet-98272/ */
  .embed-youtube,
  .embed-responsive {
    position: absolute;
    height: 0;
    overflow: hidden; }
  a,
  table,
  pre,
  blockquote {
    page-break-inside: avoid; }
  h1,
  h2,
  h3,
  h4,
  h5,
  h6 {
    page-break-after: avoid;
    page-break-inside: avoid; }
  img {
    page-break-inside: avoid;
    page-break-after: avoid; }
  ul,
  ol,
  dl {
    page-break-before: avoid; } }

/*# sourceMappingURL=data:application/json;base64,ewoJInZlcnNpb24iOiAzLAoJImZpbGUiOiAiY3NzL3N0eWxlLmNzcyIsCgkic291cmNlcyI6IFsKCQkic2Fzcy9zdHlsZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL25vZGUtbm9ybWFsaXplLXNjc3MvX25vcm1hbGl6ZS5zY3NzIiwKCQkibm9kZV9tb2R1bGVzL3Nhc3MtY3NzMy1taXhpbnMvY3NzMy1taXhpbnMuc2NzcyIsCgkJInNhc3MvX2NvbG9ycy5zY3NzIiwKCQkic2Fzcy9fdmFyaWFibGVzLnNjc3MiLAoJCSJzYXNzL190eXBvZ3JhcGh5LnNjc3MiLAoJCSJzYXNzL19taXhpbnMuc2NzcyIsCgkJInNhc3MvX2xheW91dC5zY3NzIiwKCQkic2Fzcy9fZm9ybXMuc2NzcyIsCgkJInNhc3MvX2ltYWdlcy5zY3NzIiwKCQkic2Fzcy9faGVhZGVyLnNjc3MiLAoJCSJzYXNzL19hcnRpY2xlLnNjc3MiLAoJCSJzYXNzL19hcmNoaXZlLnNjc3MiLAoJCSJzYXNzL19hdXRob3Iuc2NzcyIsCgkJInNhc3MvX3NpZGViYXIuc2NzcyIsCgkJInNhc3MvX3dpZGdldHMuc2NzcyIsCgkJInNhc3MvX2Zvb3Rlci5zY3NzIiwKCQkic2Fzcy9fbWV0YS5zY3NzIiwKCQkic2Fzcy9fYTExeS5zY3NzIiwKCQkic2Fzcy9fYWRzLnNjc3MiLAoJCSJzYXNzL19wcmludC5zY3NzIgoJXSwKCSJzb3VyY2VzQ29udGVudCI6IFsKCQkiQGNoYXJzZXQgXCJVVEYtOFwiO1xyXG5cclxuLyohXHJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG58IFNUWUxFU0hFRVQgRk9SIEZMVUVOVFUgTEFOR1VBR0UgTEVBUk5JTkcgV09SRFBSRVNTIFRIRU1FXHJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG58XHJcbnwgRWxjbyBCcm91d2VyIHZvbiBHb256ZW5iYWNoIDxlbGNvLmJyb3V3ZXJAZW51eC5jb20+XHJcbnwgaHR0cHM6Ly9naXRodWIuY29tL0ZsdWVudFUvZmx1ZW50dS13cC10aGVtZVxyXG58IEF1dGhvcjogRWxjbyBCcm91d2VyIHZvbiBHb256ZW5iYWNoIDxlbGNvLmJyb3V3ZXJAZW51eC5jb20+XHJcbnwgVmVyc2lvbjogMC4xLjBcclxufCBVcGRhdGVkOiAyMDIxLTAxLTIwXHJcbnxcclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiovXHJcblxyXG4vKlxyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxufCBodHRwczovL2Nzcy10cmlja3MuY29tL3Nhc3Mtc3R5bGUtZ3VpZGUvXHJcbnwgMS4gQGV4dGVuZChzKVxyXG58IDIuIEBpbmNsdWRlKHMpXHJcbnwgMy4gUmVndWxhciBTdHlsZXNcclxufCA0LiBOZXN0ZWQgUHNldWRvIENsYXNzZXMgYW5kIFBzZXVkbyBFbGVtZW50c1xyXG58IDUuIE5lc3RlZCBTZWxlY3RvcnNcclxufFxyXG58IGh0dHA6Ly9kdWFuZWJsYWtlLmNvLnVrL2Zyb250LWVuZC91c2luZy1ucG0taW5zdGVhZC1vZi1ndWxwLXRvLWNvbXBpbGUtc2Fzcy9cclxufCBodHRwczovL2dpdGh1Yi5jb20vaGVsbG9icmlhbi9zYXNzLXJlY2lwZXMvdHJlZS9tYXN0ZXIvbm9kZS1zYXNzXHJcbnxcclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG5AaW1wb3J0ICcuLi9ub2RlX21vZHVsZXMvbm9kZS1ub3JtYWxpemUtc2Nzcy9ub3JtYWxpemUnO1xyXG5AaW1wb3J0ICcuLi9ub2RlX21vZHVsZXMvc2Fzcy1jc3MzLW1peGlucy9jc3MzLW1peGlucy5zY3NzJztcclxuXHJcbkBpbXBvcnQgJ2NvbG9ycyc7XHJcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XHJcbkBpbXBvcnQgJ3R5cG9ncmFwaHknO1xyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG5AaW1wb3J0ICdsYXlvdXQnO1xyXG5AaW1wb3J0ICdmb3Jtcyc7XHJcbkBpbXBvcnQgJ2ltYWdlcyc7XHJcblxyXG5AaW1wb3J0ICdoZWFkZXInO1xyXG5AaW1wb3J0ICdhcnRpY2xlJztcclxuQGltcG9ydCAnYXJjaGl2ZSc7XHJcbkBpbXBvcnQgJ2F1dGhvcic7XHJcbkBpbXBvcnQgJ3NpZGViYXInO1xyXG5AaW1wb3J0ICd3aWRnZXRzJztcclxuQGltcG9ydCAnZm9vdGVyJztcclxuQGltcG9ydCAnbWV0YSc7XHJcblxyXG5AaW1wb3J0ICdhMTF5JztcclxuQGltcG9ydCAnYWRzJztcclxuQGltcG9ydCAncHJpbnQnO1xyXG4iLAoJCSIvKiEgbm9ybWFsaXplLmNzcyB2Ny4wLjAgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW5cbiAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAqL1xuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qIFNlY3Rpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZm9vdGVyLFxuaGVhZGVyLFxubmF2LFxuc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICovXG5cbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5tYWluIHsgLyogMSAqL1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1kZWNvcmF0aW9uLXNraXA6IG9iamVjdHM7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gQ2hyb21lIDU3LSBhbmQgRmlyZWZveCAzOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gKiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICovXG5cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTtcbn1cblxuLyoqXG4gKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxMDAlOyAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gIG1hcmdpbjogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICogMS4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBFZGdlLCBGaXJlZm94LCBhbmQgSUUuXG4gKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHsgLyogMSAqL1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJyZXNldFwiXTo6LW1vei1mb2N1cy1pbm5lcixcblt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAqL1xuXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IHRoZSBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuZmllbGRzZXQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC43NWVtIDAuNjI1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgY29sb3I6IGluaGVyaXQ7IC8qIDIgKi9cbiAgZGlzcGxheTogdGFibGU7IC8qIDEgKi9cbiAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAqL1xuXG5bdHlwZT1cImNoZWNrYm94XCJdLFxuW3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cbiAqL1xuXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gKi9cblxuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICovXG5cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG59XG5cbi8qIEludGVyYWN0aXZlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gKi9cblxuZGV0YWlscywgLyogMSAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1bW1hcnkge1xuICBkaXNwbGF5OiBsaXN0LWl0ZW07XG59XG5cbi8qIFNjcmlwdGluZ1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBIaWRkZW5cbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICovXG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsCgkJIi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgU2FzcyBDU1MzIE1peGlucyEgVGhlIENyb3NzLUJyb3dzZXIgQ1NTMyBTYXNzIExpYnJhcnlcbiAgQnk6IE1hdHRoaWV1IEF1c3NhZ3VlbCwgaHR0cDovL3d3dy5teW5hbWVpc21hdHRoaWV1LmNvbSwgQG1hdHRoaWV1X3R3ZWV0c1xuXG4gIExpc3Qgb2YgQ1NTMyBTYXNzIE1peGlucyBGaWxlIHRvIGJlIEBpbXBvcnRlZCBhbmQgQGluY2x1ZGVkIGFzIHlvdSBuZWVkXG5cbiAgVGhlIHB1cnBvc2Ugb2YgdGhpcyBsaWJyYXJ5IGlzIHRvIGZhY2lsaXRhdGUgdGhlIHVzZSBvZiBDU1MzIG9uIGRpZmZlcmVudCBicm93c2VycyBhdm9pZGluZyBIQVJEIFRPIFJFQUQgYW5kIE5FVkVSXG4gIEVORElORyBjc3MgZmlsZXNcblxuICBub3RlOiBBbGwgQ1NTMyBQcm9wZXJ0aWVzIGFyZSBiZWluZyBzdXBwb3J0ZWQgYnkgU2FmYXJpIDVcbiAgbW9yZSBpbmZvOiBodHRwOi8vd3d3LmZpbmRtZWJ5aXAuY29tL2xpdG11cy8jY3NzMy1wcm9wZXJ0aWVzXG5cbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cblxuXG4vLy8vXG4vLy8gQGF1dGhvciBNYXR0aGlldSBBdXNzYWd1ZWxcbi8vLyBAZ3JvdXAgc2Fzcy1jc3MzLW1peGluc1xuLy8vL1xuXG5cbi8vLyBBZGRzIGEgYnJvd3NlciBwcmVmaXggdG8gdGhlIHByb3BlcnR5XG4vLy8gQHBhcmFtIHsqfSAkcHJvcGVydHkgUHJvcGVydHlcbi8vLyBAcGFyYW0geyp9ICR2YWx1ZSBWYWx1ZVxuXG5AbWl4aW4gY3NzMy1wcmVmaXgoJHByb3BlcnR5LCAkdmFsdWUpIHtcbiAgLXdlYmtpdC0jeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgIC1raHRtbC0jeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICAgLW1vei0jeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICAgIC1tcy0jeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICAgICAtby0jeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgICAgICAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbn1cblxuXG4vLy8gQmFja2dyb3VuZCBHcmFkaWVudFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRzdGFydENvbG9yIFsjM0MzQzNDXSAtIFN0YXJ0IENvbG9yXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGVuZENvbG9yIFsjOTk5OTk5XSAtIEVuZCBDb2xvclxuXG5AbWl4aW4gYmFja2dyb3VuZC1ncmFkaWVudCgkc3RhcnRDb2xvcjogIzNDM0MzQywgJGVuZENvbG9yOiAjOTk5OTk5KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXJ0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCBsZWZ0IGJvdHRvbSwgZnJvbSgkc3RhcnRDb2xvciksIHRvKCRlbmRDb2xvcikpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IC13ZWJraXQtbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0Q29sb3IsICRlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgLW1vei1saW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgLW1zLWxpbmVhci1ncmFkaWVudCh0b3AsICRzdGFydENvbG9yLCAkZW5kQ29sb3IpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICAgICAgLW8tbGluZWFyLWdyYWRpZW50KHRvcCwgJHN0YXJ0Q29sb3IsICRlbmRDb2xvcik7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogICAgICAgICBsaW5lYXItZ3JhZGllbnQodG9wLCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBmaWx0ZXI6ICAgICAgICAgICAgcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JTdHI9JyN7JHN0YXJ0Q29sb3J9JywgZW5kQ29sb3JTdHI9JyN7JGVuZENvbG9yfScpO1xufVxuXG5cbi8vLyBCYWNrZ3JvdW5kIEhvcml6b250YWxcbi8vLyBAcGFyYW0ge0NvbG9yfSAkc3RhcnRDb2xvciBbIzNDM0MzQ10gLSBTdGFydCBDb2xvclxuLy8vIEBwYXJhbSB7Q29sb3J9ICRlbmRDb2xvciBbIzk5OTk5OV0gLSBFbmQgQ29sb3JcblxuQG1peGluIGJhY2tncm91bmQtaG9yaXpvbnRhbCgkc3RhcnRDb2xvcjogIzNDM0MzQywgJGVuZENvbG9yOiAjOTk5OTk5KSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHN0YXJ0Q29sb3I7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogLXdlYmtpdC1ncmFkaWVudChsaW5lYXIsIGxlZnQgdG9wLCByaWdodCB0b3AsIGZyb20oJHN0YXJ0Q29sb3IpLCB0bygkZW5kQ29sb3IpKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAtd2Via2l0LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAtbW96LWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgLW1zLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgIC1vLWxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiAgICAgICAgIGxpbmVhci1ncmFkaWVudChsZWZ0LCAkc3RhcnRDb2xvciwgJGVuZENvbG9yKTtcbiAgICBmaWx0ZXI6ICAgICAgICAgICAgcHJvZ2lkOkRYSW1hZ2VUcmFuc2Zvcm0uTWljcm9zb2Z0LmdyYWRpZW50KHN0YXJ0Q29sb3JTdHI9JyN7JHN0YXJ0Q29sb3J9JywgZW5kQ29sb3JTdHI9JyN7JGVuZENvbG9yfScsIGdyYWRpZW50VHlwZT0nMScpO1xufVxuXG5cbi8vLyBCYWNrZ3JvdW5kIFJhZGlhbFxuLy8vIEBwYXJhbSB7Q29sb3J9ICRzdGFydENvbG9yIFsjM0MzQzNDXSAtIFN0YXJ0IENvbG9yXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc3RhcnRQb3MgWzAlXSAtIFN0YXJ0IHBvc2l0aW9uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGVuZENvbG9yIFsjOTk5OTk5XSAtIEVuZCBDb2xvclxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJGVuZFBvcyBbMTAwJV0gLSBFbmQgcG9zaXRpb25cblxuQG1peGluIGJhY2tncm91bmQtcmFkaWFsKCRzdGFydENvbG9yOiAjRkZGRkZGLCAkc3RhcnRQb3M6IDAlLCAkZW5kQ29sb3I6ICMwMDAwMDAsICRlbmRQb3M6MTAwJSkge1xuICAgIGJhY2tncm91bmQ6IC1tb3otcmFkaWFsLWdyYWRpZW50KGNlbnRlciwgZWxsaXBzZSBjb3ZlciwgJHN0YXJ0Q29sb3IgJHN0YXJ0UG9zLCAkZW5kQ29sb3IgJGVuZFBvcyk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1ncmFkaWVudChyYWRpYWwsIGNlbnRlciBjZW50ZXIsIDBweCwgY2VudGVyIGNlbnRlciwgMTAwJSwgY29sb3Itc3RvcCgkc3RhcnRQb3MsJHN0YXJ0Q29sb3IpLCBjb2xvci1zdG9wKCRlbmRQb3MsJGVuZENvbG9yKSk7XG4gICAgYmFja2dyb3VuZDogLXdlYmtpdC1yYWRpYWwtZ3JhZGllbnQoY2VudGVyLCBlbGxpcHNlIGNvdmVyLCAkc3RhcnRDb2xvciAkc3RhcnRQb3MsJGVuZENvbG9yICRlbmRQb3MpO1xuICAgIGJhY2tncm91bmQ6IC1vLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRzdGFydENvbG9yICRzdGFydFBvcywkZW5kQ29sb3IgJGVuZFBvcyk7XG4gICAgYmFja2dyb3VuZDogLW1zLXJhZGlhbC1ncmFkaWVudChjZW50ZXIsIGVsbGlwc2UgY292ZXIsICRzdGFydENvbG9yICRzdGFydFBvcywkZW5kQ29sb3IgJGVuZFBvcyk7XG4gICAgYmFja2dyb3VuZDogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyLCAkc3RhcnRDb2xvciAkc3RhcnRQb3MsJGVuZENvbG9yICRlbmRQb3MpO1xufVxuXG5cbi8vLyBCYWNrZ3JvdW5kIFNpemVcbi8vLyBAcGFyYW0ge1NpemV9ICR3aWR0aCBbMTAwJV0gLSBXaWR0aFxuLy8vIEBwYXJhbSB7U2l6ZX0gJHdpZHRoIFskd2lkdGhdIC0gSGVpZ2h0XG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gYmFja2dyb3VuZC1zaXplKCR3aWR0aDogMTAwJSwgJGhlaWdodDogJHdpZHRoKSB7XG4gIEBpZiB0eXBlLW9mKCR3aWR0aCkgPT0gJ251bWJlcicgYW5kICRoZWlnaHQgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ2JhY2tncm91bmQtc2l6ZScsICR3aWR0aCAkaGVpZ2h0KTtcbiAgfSBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ2JhY2tncm91bmQtc2l6ZScsICR3aWR0aCk7XG4gIH1cbn1cblxuXG4vLy8gQmFja2dyb3VuZCBDb2xvciBPcGFjaXR5XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFsxMDAlXSAtIENvbG9yXG4vLy8gQHBhcmFtIHtEb3VibGV9ICRvcGFjaXR5IFswLjg1XSAtIE9wYWNpdHlcblxuQG1peGluIGJhY2tncm91bmQtb3BhY2l0eSgkY29sb3I6ICMwMDAsICRvcGFjaXR5OiAwLjg1KSB7XG4gIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgYmFja2dyb3VuZDogcmdiYSgkY29sb3IsICRvcGFjaXR5KTtcbn1cblxuXG4vLy8gQm9yZGVyIFJhZGl1c1xuLy8vIEBwYXJhbSB7U2l6ZX0gJHJhZGl1cyBbNXB4XSAtIFJhZGl1c1xuLy8vIEByZXF1aXJlIHttaXhpbn0gY3NzMy1wcmVmaXhcblxuQG1peGluIGJvcmRlci1yYWRpdXMoJHJhZGl1czogNXB4KSB7XG4gICAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ2JvcmRlci1yYWRpdXMnLCAkcmFkaXVzKTtcbn1cblxuXG4vLy8gQm9yZGVyIFJhZGl1cyBTZXBhcmF0ZVxuLy8vIEBwYXJhbSB7U2l6ZX0gJHRvcExlZnRSYWRpdXMgWzVweF0gLSBUb3AgTGVmdFxuLy8vIEBwYXJhbSB7U2l6ZX0gJHRvcFJpZ2h0UmFkaXVzIFs1cHhdIC0gVG9wIFJpZ2h0XG4vLy8gQHBhcmFtIHtTaXplfSAkYm90dG9tTGVmdFJhZGl1cyBbNXB4XSAtIEJvdHRvbSBMZWZ0XG4vLy8gQHBhcmFtIHtTaXplfSAkYm90dG9tUmlnaHRSYWRpdXMgWzVweF0gLSBCb3R0b20gUmlnaHRcblxuQG1peGluIGJvcmRlci1yYWRpdXMtc2VwYXJhdGUoJHRvcExlZnRSYWRpdXM6IDVweCwgJHRvcFJpZ2h0UmFkaXVzOiA1cHgsICRib3R0b21MZWZ0UmFkaXVzOiA1cHgsICRib3R0b21SaWdodFJhZGl1czogNXB4KSB7XG4gIC13ZWJraXQtYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogICAgICR0b3BMZWZ0UmFkaXVzO1xuICAtd2Via2l0LWJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAgICAkdG9wUmlnaHRSYWRpdXM7XG4gIC13ZWJraXQtYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3R0b21SaWdodFJhZGl1cztcbiAgLXdlYmtpdC1ib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAgJGJvdHRvbUxlZnRSYWRpdXM7XG5cbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcGxlZnQ6ICAgICAkdG9wTGVmdFJhZGl1cztcbiAgLW1vei1ib3JkZXItcmFkaXVzLXRvcHJpZ2h0OiAgICAkdG9wUmlnaHRSYWRpdXM7XG4gIC1tb3otYm9yZGVyLXJhZGl1cy1ib3R0b21yaWdodDogJGJvdHRvbVJpZ2h0UmFkaXVzO1xuICAtbW96LWJvcmRlci1yYWRpdXMtYm90dG9tbGVmdDogICRib3R0b21MZWZ0UmFkaXVzO1xuXG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6ICAgICAkdG9wTGVmdFJhZGl1cztcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICAgICR0b3BSaWdodFJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6ICRib3R0b21SaWdodFJhZGl1cztcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogICRib3R0b21MZWZ0UmFkaXVzO1xufVxuXG5cbi8vLyBCb3hcbi8vLyBAcGFyYW0geyp9ICRvcmllbnQgW2hvcml6b250YWxdIC0gT3JpZW50YXRpb25cbi8vLyBAcGFyYW0geyp9ICRwYWNrIFtjZW50ZXJdIC0gUGFja1xuLy8vIEBwYXJhbSB7Kn0gJGFsaWduIFtjZW50ZXJdIC0gQWxpZ25cbi8vLyBAcmVxdWlyZSB7bWl4aW59IGNzczMtcHJlZml4XG5cbkBtaXhpbiBib3goJG9yaWVudDogaG9yaXpvbnRhbCwgJHBhY2s6IGNlbnRlciwgJGFsaWduOiBjZW50ZXIpIHtcbiAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gIGRpc3BsYXk6IC1tb3otYm94O1xuICBkaXNwbGF5OiBib3g7XG5cbiAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ2JveC1vcmllbnQnLCAkb3JpZW50KTtcbiAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ2JveC1wYWNrJywgJHBhY2spO1xuICBAaW5jbHVkZSBjc3MzLXByZWZpeCgnYm94LWFsaWduJywgJGFsaWduKTtcbn1cblxuXG4vLy8gQm94IFJHQkFcbi8vLyBAcGFyYW0ge0ludGVnZXJ9ICRyIFs2MF0gLSBSZWRcbi8vLyBAcGFyYW0ge0ludGVnZXJ9ICRnIFszXSAtIEdyZWVuXG4vLy8gQHBhcmFtIHtJbnRlZ2VyfSAkYiBbMTJdIC0gQmx1ZVxuLy8vIEBwYXJhbSB7RG91YmxlfSAkb3BhY2l0eSBbMC4yM10gLSBPcGFjaXR5XG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFsjM0MzQzNDXSAtIENvbG9yXG5cbkBtaXhpbiBib3gtcmdiYSgkcjogNjAsICRnOiAzLCAkYjogMTIsICRvcGFjaXR5OiAwLjIzLCAkY29sb3I6ICMzQzNDM0MpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJHIsICRnLCAkYiwgJG9wYWNpdHkpO1xuICAgICAgICAgICAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoc3RhcnRDb2xvcnN0cj0nI3skY29sb3J9JyxlbmRDb2xvcnN0cj0nI3skY29sb3J9Jyk7XG4gICAgICAgICAgICB6b29tOiAgIDE7XG59XG5cblxuLy8vIEJveCBTaGFkb3dcbi8vLyBAcGFyYW0ge1NpemV9ICR4IFsycHhdIC0gWFxuLy8vIEBwYXJhbSB7U2l6ZX0gJHkgWzJweF0gLSBZXG4vLy8gQHBhcmFtIHtTaXplfSAkYmx1ciBbNXB4XSAtIEJsdXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3JnYmEoMCwwLDAsLjQpXSAtIENvbG9yXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaW5zZXQgLSBJbnNldFxuXG5AbWl4aW4gYm94LXNoYWRvdygkeDogMnB4LCAkeTogMnB4LCAkYmx1cjogNXB4LCAkY29sb3I6IHJnYmEoMCwwLDAsLjQpLCAkaW5zZXQ6IFwiXCIpIHtcbiAgQGlmICgkaW5zZXQgIT0gXCJcIikge1xuICAgIEBpbmNsdWRlIGNzczMtcHJlZml4KCdib3gtc2hhZG93JywgJGluc2V0ICR4ICR5ICRibHVyICRjb2xvcik7XG4gIH0gQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNzczMtcHJlZml4KCdib3gtc2hhZG93JywgJHggJHkgJGJsdXIgJGNvbG9yKTtcbiAgfVxufVxuXG5cbi8vLyBCb3ggU2l6aW5nXG4vLy8gQHBhcmFtIHsqfSAkdHlwZSBbYm9yZGVyLWJveF0gLSBUeXBlXG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTogYm9yZGVyLWJveCkge1xuICBAaW5jbHVkZSBjc3MzLXByZWZpeCgnYm94LXNpemluZycsICR0eXBlKTtcbn1cblxuXG4vLy8gQ29sdW1uc1xuLy8vIEBwYXJhbSB7SW50ZWdlcn0gJGNvdW50IFszXSAtIENvdW50XG4vLy8gQHBhcmFtIHtJbnRlZ2VyfSAkZ2FwIFsxMF0gLSBHYXBcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGNzczMtcHJlZml4XG5cbkBtaXhpbiBjb2x1bW5zKCRjb3VudDogMywgJGdhcDogMTApIHtcbiAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ2NvbHVtbi1jb3VudCcsICRjb3VudCk7XG4gIEBpbmNsdWRlIGNzczMtcHJlZml4KCdjb2x1bW4tZ2FwJywgJGdhcCk7XG59XG5cblxuLy8vIERvdWJsZSBCb3JkZXJzXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yT25lIFsjM0MzQzNDXSAtIENvbG9yIE9uZVxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvclR3byBbIzk5OTk5OV0gLSBDb2xvciBUd29cbi8vLyBAcGFyYW0ge1NpemV9ICRyYWRpdXMgWzBdIC0gUmFkaXVzXG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuLy8vIEByZXF1aXJlIHttaXhpbn0gYm9yZGVyLXJhZGl1c1xuXG5AbWl4aW4gZG91YmxlLWJvcmRlcnMoJGNvbG9yT25lOiAjM0MzQzNDLCAkY29sb3JUd286ICM5OTk5OTksICRyYWRpdXM6IDApIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yT25lO1xuXG4gIEBpbmNsdWRlIGNzczMtcHJlZml4KCdib3gtc2hhZG93JywgMCAwIDAgMXB4ICRjb2xvclR3byk7XG5cbiAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cyggJHJhZGl1cyApO1xufVxuXG5cbi8vLyBGbGV4XG4vLy8gQHBhcmFtIHtJbnRlZ2VyfSAkdmFsdWUgWzFdIC0gVmFsdWVcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGNzczMtcHJlZml4XG5cbkBtaXhpbiBmbGV4KCR2YWx1ZTogMSkge1xuICBAaW5jbHVkZSBjc3MzLXByZWZpeCgnYm94LWZsZXgnLCAkdmFsdWUpO1xufVxuXG5cbi8vLyBGbGlwXG4vLy8gQHBhcmFtIHtEb3VibGV9ICRzY2FsZVggWy0xXSAtIFNjYWxlWFxuLy8vIEByZXF1aXJlIHttaXhpbn0gY3NzMy1wcmVmaXhcblxuQG1peGluIGZsaXAoJHNjYWxlWDogLTEpIHtcbiAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ3RyYW5zZm9ybScsIHNjYWxlWCgkc2NhbGVYKSk7XG4gIGZpbHRlcjogICAgICAgICAgICBGbGlwSDtcbiAgLW1zLWZpbHRlcjogICAgICAgIFwiRmxpcEhcIjtcbn1cblxuXG4vLy8gRm9udCBGYWNlXG4vLy8gQHBhcmFtIHtGb250fSAkZm9udEZhbWlseSBbbXlGb250XSAtIEZvbnQgRmFtaWx5XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRlb3RGaWxlU3JjIFsnbXlGb250LmVvdCddIC0gRW90IEZpbGUgU291cmNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR3b2ZmRmlsZVNyYyBbJ215Rm9udC53b2ZmJ10gLSBXb2ZmIEZpbGUgU291cmNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR0dGZGaWxlU3JjIFsnbXlGb250LnR0ZiddIC0gVHRmIEZpbGUgU291cmNlXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzdmdGaWxlU3JjIFsnbXlGb250LnN2ZyddIC0gU3ZnIEZpbGUgU291cmNlXG5cbkBtaXhpbiBmb250LWZhY2UoJGZvbnRGYW1pbHk6IG15Rm9udCwgJGVvdEZpbGVTcmM6ICdteUZvbnQuZW90JywgJHdvZmZGaWxlU3JjOiAnbXlGb250LndvZmYnLCAkdHRmRmlsZVNyYzogJ215Rm9udC50dGYnLCAkc3ZnRmlsZVNyYzogJ215Rm9udC5zdmcnLCAkc3ZnRm9udElEOiAnI215Rm9udCcpIHtcbiAgZm9udC1mYW1pbHk6ICRmb250RmFtaWx5O1xuICBzcmM6IHVybCgkZW90RmlsZVNyYykgIGZvcm1hdCgnZW90JyksXG4gICAgICAgdXJsKCR3b2ZmRmlsZVNyYykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgdXJsKCR0dGZGaWxlU3JjKSAgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgkc3ZnRmlsZVNyYyArICRzdmdGb250SUQpIGZvcm1hdCgnc3ZnJyk7XG59XG5cblxuLy8vIE9wYWNpdHlcbi8vLyBAcGFyYW0ge0RvdWJsZX0gJG9wYWNpdHkgWzAuNV0gLSBPcGFjaXR5XG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gb3BhY2l0eSgkb3BhY2l0eTogMC41KSB7XG4gICAgJG9wYWNpdHlNdWx0aXBsaWVkOiAoJG9wYWNpdHkgKiAxMDApO1xuXG4gICAgZmlsdGVyOiAgICAgICAgIGFscGhhKG9wYWNpdHk9JG9wYWNpdHlNdWx0aXBsaWVkKTtcbiAgICAtbXMtZmlsdGVyOiAgICAgXCJwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuQWxwaGEoT3BhY2l0eT1cIiArICRvcGFjaXR5TXVsdGlwbGllZCArIFwiKVwiO1xuICAgIEBpbmNsdWRlIGNzczMtcHJlZml4KCdvcGFjaXR5JywgJG9wYWNpdHkpO1xufVxuXG5cbi8vLyBPdXRsaW5lIFJhZGl1c1xuLy8vIEBwYXJhbSB7U2l6ZX0gJHJhZGl1cyBbNXB4XSAtIFJhZGl1c1xuLy8vIEByZXF1aXJlIHttaXhpbn0gY3NzMy1wcmVmaXhcblxuQG1peGluIG91dGxpbmUtcmFkaXVzKCRyYWRpdXM6IDVweCkge1xuICBAaW5jbHVkZSBjc3MzLXByZWZpeCgnb3V0bGluZS1yYWRpdXMnLCAkcmFkaXVzKTtcbn1cblxuXG4vLy8gUmVzaXplXG4vLy8gQHBhcmFtIHsqfSAkZGlyZWN0b2luIFtib3RoXSAtIERpcmVjdGlvblxuLy8vIEByZXF1aXJlIHttaXhpbn0gY3NzMy1wcmVmaXhcblxuQG1peGluIHJlc2l6ZSgkZGlyZWN0aW9uOiBib3RoKSB7XG4gIEBpbmNsdWRlIGNzczMtcHJlZml4KCdyZXNpemUnLCAkZGlyZWN0aW9uKTtcbn1cblxuXG4vLy8gUm90YXRlXG4vLy9cbi8vLyBDU1MgTWF0cml4IFJvdGF0aW9uIENhbGN1bGF0b3IgaHR0cDovL3d3dy5ib29nZGVzaWduLmNvbS9leGFtcGxlcy90cmFuc2Zvcm1zL21hdHJpeC1jYWxjdWxhdG9yLmh0bWxcbi8vLyBAcGFyYW0ge0RvdWJsZX0gJGRlZyBbMF0gLSBEZWdyZWVcbi8vLyBAcGFyYW0ge0RvdWJsZX0gJG0xMSBbMF0gLSBNMTFcbi8vLyBAcGFyYW0ge0RvdWJsZX0gJG0xMiBbMF0gLSBNMTJcbi8vLyBAcGFyYW0ge0RvdWJsZX0gJG0yMSBbMF0gLSBNMjFcbi8vLyBAcGFyYW0ge0RvdWJsZX0gJG0yMiBbMF0gLSBNMjJcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGNzczMtcHJlZml4XG5cbkBtaXhpbiByb3RhdGUoJGRlZzogMCwgJG0xMTogMCwgJG0xMjogMCwgJG0yMTogMCwgJG0yMjogMCkge1xuICBAaW5jbHVkZSBjc3MzLXByZWZpeCgndHJhbnNmb3JtJywgcm90YXRlKCRkZWcgKyBkZWcpKTtcbiAgZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuTWF0cml4KFxuICAgICAgIE0xMT0jeyRtMTF9LCBNMTI9I3skbTEyfSwgTTIxPSN7JG0yMX0sIE0yMj0jeyRtMjJ9LCBzaXppbmdNZXRob2Q9J2F1dG8gZXhwYW5kJyk7XG4gICAgem9vbTogMTtcbn1cblxuXG4vLy8gVGV4dCBTaGFkb3dcbi8vLyBAcGFyYW0ge1NpemV9ICR4IFsycHhdIC0gWFxuLy8vIEBwYXJhbSB7U2l6ZX0gJHkgWzJweF0gLSBZXG4vLy8gQHBhcmFtIHtTaXplfSAkYmx1ciBbMnB4XSAtIEJsdXJcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3JnYmEoMCwwLDAsLjQpXSAtIENvbG9yXG5cbkBtaXhpbiB0ZXh0LXNoYWRvdygkeDogMnB4LCAkeTogMnB4LCAkYmx1cjogNXB4LCAkY29sb3I6IHJnYmEoMCwwLDAsLjQpKSB7XG4gICAgdGV4dC1zaGFkb3c6ICR4ICR5ICRibHVyICRjb2xvcjtcbn1cblxuXG4vLy8gVHJhbnNmb3JtXG4vLy8gQHBhcmFtIHtMaXN0fSAkcGFyYW1zIC0gUGFyYW1zXG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gdHJhbnNmb3JtKCRwYXJhbXMpIHtcbiAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ3RyYW5zZm9ybScsICRwYXJhbXMpO1xufVxuXG5cbi8vLyBUcmFuc2Zvcm0tT3JpZ2luXG4vLy8gQHBhcmFtIHtMaXN0fSAkcGFyYW1zIC0gUGFyYW1zXG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gdHJhbnNmb3JtLW9yaWdpbigkcGFyYW1zKSB7XG4gIEBpbmNsdWRlIGNzczMtcHJlZml4KCd0cmFuc2Zvcm0tb3JpZ2luJywgJHBhcmFtcyk7XG59XG5cblxuLy8gVHJhbnNmb3JtLVN0eWxlXG4vLy8gQHBhcmFtIHtMaXN0fSAkcGFyYW1zIC0gUGFyYW1zXG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gdHJhbnNmb3JtLXN0eWxlKCRzdHlsZTogcHJlc2VydmUtM2QpIHtcbiAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ3RyYW5zZm9ybS1zdHlsZScsICRzdHlsZSk7XG59XG5cbi8vLyBUcmFuc2l0aW9uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcHJvcGVydGllcyAtIFByb3BlcnRpZXNcbi8vLyBAcmVxdWlyZSB7bWl4aW59IGNzczMtcHJlZml4XG5cbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0aWVzLi4uKSB7XG5cbiAgQGlmIGxlbmd0aCgkcHJvcGVydGllcykgPj0gMSB7XG4gICAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ3RyYW5zaXRpb24nLCAkcHJvcGVydGllcyk7XG4gIH1cblxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY3NzMy1wcmVmaXgoJ3RyYW5zaXRpb24nLCAgXCJhbGwgMC4ycyBlYXNlLWluLW91dCAwc1wiKTtcbiAgfVxufVxuXG5cbi8vLyBUcmlwbGUgQm9yZGVyc1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvck9uZSBbIzNDM0MzQ10gLSBDb2xvciBPbmVcbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3JUd28gWyM5OTk5OTldIC0gQ29sb3IgVHdvXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yVGhyZWUgWyMwMDAwMDBdIC0gQ29sb3IgVGhyZWVcbi8vLyBAcGFyYW0ge1NpemV9ICRyYWRpdXMgWzBdIC0gUmFkaXVzXG4vLy8gQHJlcXVpcmUge21peGlufSBib3JkZXItcmFkaXVzXG4vLy8gQHJlcXVpcmUge21peGlufSBjc3MzLXByZWZpeFxuXG5AbWl4aW4gdHJpcGxlLWJvcmRlcnMoJGNvbG9yT25lOiAjM0MzQzNDLCAkY29sb3JUd286ICM5OTk5OTksICRjb2xvclRocmVlOiAjMDAwMDAwLCAkcmFkaXVzOiAwKSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yT25lO1xuXG4gICAgQGluY2x1ZGUgYm9yZGVyLXJhZGl1cygkcmFkaXVzKTtcblxuICAgIEBpbmNsdWRlIGNzczMtcHJlZml4KCdib3gtc2hhZG93JywgXCIwIDAgMCAxcHggI3skY29sb3JUd299LCAwIDAgMCAycHggI3skY29sb3JUaHJlZX1cIik7XG59XG5cblxuLy8vIEtleWZyYW1lc1xuLy8vIEBwYXJhbSB7Kn0gJGFuaW1hdGlvbi1uYW1lIC0gQW5pbWF0aW9uIG5hbWVcbi8vLyBAY29udGVudCBbQW5pbWF0aW9uIGNzc11cblxuQG1peGluIGtleWZyYW1lcygkYW5pbWF0aW9uLW5hbWUpIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQC1tcy1rZXlmcmFtZXMgI3skYW5pbWF0aW9uLW5hbWV9IHtcbiAgICBAY29udGVudDtcbiAgfVxuICBALW8ta2V5ZnJhbWVzICN7JGFuaW1hdGlvbi1uYW1lfSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbiAgQGtleWZyYW1lcyAjeyRhbmltYXRpb24tbmFtZX0ge1xuICAgIEBjb250ZW50O1xuICB9XG59XG5cblxuLy8vIEFuaW1hdGlvblxuLy8vIEBwYXJhbSB7Kn0gJHN0ciAtIG5hbWUgZHVyYXRpb24gdGltaW5nLWZ1bmN0aW9uIGRlbGF5IGl0ZXJhdGlvbi1jb3VudCBkaXJlY3Rpb24gZmlsbC1tb2RlIHBsYXktc3RhdGUgKFtodHRwOi8vd3d3Lnczc2Nob29scy5jb20vY3NzcmVmL2NzczNfcHJfYW5pbWF0aW9uLmFzcF0oaHR0cDovL3d3dy53M3NjaG9vbHMuY29tL2Nzc3JlZi9jc3MzX3ByX2FuaW1hdGlvbi5hc3ApKVxuLy8vIEByZXF1aXJlIHttaXhpbn0gY3NzMy1wcmVmaXhcblxuQG1peGluIGFuaW1hdGlvbigkc3RyKSB7XG4gIEBpbmNsdWRlIGNzczMtcHJlZml4KCdhbmltYXRpb24nLCAkc3RyKTtcbn1cbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQ09MT1IgUEFMRVRURVxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcbiRncmV5LWxpZ2h0ZXN0OiAjZmFmYWZhO1xyXG4kZ3JleS1saWdodGVyOiAjZTVlNWU1O1xyXG4kZ3JleS1saWdodDogI2NjYztcclxuJGdyZXk6ICM5OTk7XHJcbiRncmV5LWRhcms6ICM3NTc1NzU7XHJcbiRncmV5LWRhcmtlcjogIzU1NTtcclxuJGdyZXktZGFya2VzdDogIzQ2NDY0NjtcclxuJGdyZXktdHJhbnNwYXJlbnQ6IHJnYmEoMCwgMCwgMCwgMC4yNSk7XHJcblxyXG4kYmxhY2s6ICMyMjI7XHJcbiRib2R5LWJnOiAjZjdmN2Y1O1xyXG5cclxuJGJsdWU6ICMzOTk0ZmY7XHJcbiRibHVlLWRhcms6ICMwMDcwZjQ7XHJcblxyXG4kb3JhbmdlOiAjZmY4ODAyO1xyXG4iLAoJCSIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkdMT0JBTCBWQVJJQUJMRVNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLyoqXHJcbiAqIFR5cG9ncmFwaHlcclxuICovXHJcbiRiYXNlLWZvbnQ6ICdQcm94aW1hbm92YSc7XHJcbiRmb250LWZhbWlseTogJGJhc2UtZm9udCwgc2Fucy1zZXJpZjtcclxuXHJcbiRmb250LXNpemU6IDE4cHg7XHJcbiRmb250LXNpemUtYWx0OiAxNnB4O1xyXG4kZm9udC1zaXplLXNtYWxsOiAxNHB4O1xyXG4kZm9udC1zaXplLXNtYWxsZXI6IDAuODEyNWVtO1xyXG4kZm9udC1zaXplLXNtYWxsZXN0OiAwLjc1ZW07XHJcblxyXG4kbGluZS1oZWlnaHQ6IDEuMzMzMztcclxuXHJcbi8qKlxyXG4gKiBQYWRkaW5ncyAmIG1hcmdpbnNcclxuICovXHJcbiR0ZXh0LWVsZW1lbnQtcGFkZGluZzogMC4zMzNlbSAwIDFlbTtcclxuXHJcbi8qKlxyXG4gKiBNZWRpYSBxdWVyaWVzICYgYnJlYWsgcG9pbnRzXHJcbiAqL1xyXG4kd2lkdGgtbW9iaWxlOiAzNjBweDtcclxuJHdpZHRoLW1vYmlsZS1sYXJnZTogNDgwcHg7XHJcbiR3aWR0aC1waGFibGV0OiA1OTJweDtcclxuJHdpZHRoLXRhYmxldDogNzIwcHg7XHJcbiR3aWR0aC1sYW5kc2NhcGU6IDk2MHB4O1xyXG4kd2lkdGgtZGVza3RvcDogMTE3MHB4O1xyXG5cclxuJG1vYmlsZTogJ3NjcmVlbiBhbmQgKG1pbi13aWR0aDogJyArICR3aWR0aC1tb2JpbGUgJyknO1xyXG4kbW9iaWxlLWxhcmdlOiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgJHdpZHRoLW1vYmlsZS1sYXJnZSAnKSc7XHJcbiRwaGFibGV0OiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgJHdpZHRoLXBoYWJsZXQgJyknO1xyXG4kdGFibGV0OiAnc2NyZWVuIGFuZCAobWluLXdpZHRoOiAnICsgJHdpZHRoLXRhYmxldCAnKSc7XHJcbiRsYW5kc2NhcGU6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkd2lkdGgtbGFuZHNjYXBlICcpJztcclxuJGRlc2t0b3A6ICdzY3JlZW4gYW5kIChtaW4td2lkdGg6ICcgKyAkd2lkdGgtZGVza3RvcCAnKSc7XHJcbiRhbHQtZm9udC13aWR0aDogJyhtaW4td2lkdGg6ICcgKyAkd2lkdGgtbW9iaWxlLWxhcmdlICsgJykgYW5kIChtYXgtd2lkdGg6ICcgKyAkd2lkdGgtZGVza3RvcCArICcpJztcclxuXHJcbi8qKlxyXG4gKiBMYXlvdXRcclxuICovXHJcbiRsaW5lLWxlbmd0aDogMzMuNWVtO1xyXG4kbWF4LXdpZHRoOiA1OWVtO1xyXG4kc2lkZWJhci13aWR0aDogMTQuNzVlbTtcclxuIiwKCQkiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5UWVBPR1JBUEhZXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAkYmFzZS1mb250O1xyXG4gIC8qIHNyYzogdXJsKCcuL2ZvbnRzL3Byb3hpbWFub3ZhLXJlZ3VsYXItd2ViZm9udC53b2ZmJyk7ICovXHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1Byb3hpbWFOb3ZhLVJlZ3VsYXIud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICB1cmwoJy4uL2ZvbnRzL1Byb3hpbWFOb3ZhLVJlZ3VsYXIud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtZGlzcGxheTogc3dhcDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQ7XHJcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL1Byb3hpbWFOb3ZhLUJvbGQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgICB1cmwoJy4uL2ZvbnRzL1Byb3hpbWFOb3ZhLUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBmb250LWRpc3BsYXk6IHN3YXA7XHJcbn1cclxuXHJcbmJvZHkge1xyXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgY29sb3I6ICRncmV5LWRhcmtlcjtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5O1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcclxuICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0O1xyXG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZVNwZWVkO1xyXG5cclxuICBAbWVkaWEgKG1pbi13aWR0aDogNDgwcHgpIGFuZCAobWF4LXdpZHRoOiAxMTcwcHgpIHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1hbHQ7XHJcbiAgfVxyXG59XHJcblxyXG5idXR0b24sXHJcbmlucHV0LFxyXG50ZXh0YXJlYSB7XHJcbiAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcclxufVxyXG5cclxuYSxcclxuYTp2aXNpdGVkIHtcclxuICBjb2xvcjogJGJsdWUtZGFyaztcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblxyXG4gICY6aG92ZXIge1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcbiAgfVxyXG59XHJcblxyXG4uZW50cnktdGl0bGUge1xyXG4gIGNvbG9yOiAkYmx1ZTtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gIGZvbnQtc2l6ZTogMS44NzVlbTtcclxuICBsaW5lLWhlaWdodDogMS40O1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwLjVlbSAwIDAuM2VtIDA7XHJcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcclxuXHJcbiAgPiBhLFxyXG4gID4gYTp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAkYmx1ZTtcclxuICB9XHJcbn1cclxuXHJcbm1haW4ge1xyXG4gIGgyLFxyXG4gIGgzLFxyXG4gIGg0LFxyXG4gIGg1LFxyXG4gIGg2IHtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4gIH1cclxufVxyXG5cclxuaDIge1xyXG4gIGZvbnQtc2l6ZTogMS41ZW07XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDAuOGVtIDAgMC42ZW0gMDtcclxufVxyXG5cclxuaDMge1xyXG4gIGZvbnQtc2l6ZTogMS4xMjVlbTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMC42ZW0gMCAwLjVlbSAwO1xyXG59XHJcblxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuICBmb250LXNpemU6IDFlbTtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJHRleHQtZWxlbWVudC1wYWRkaW5nO1xyXG59XHJcblxyXG5wIHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogJHRleHQtZWxlbWVudC1wYWRkaW5nO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG4gIG1hcmdpbjogMCAwIDAgMS41ZW07XHJcbiAgcGFkZGluZzogJHRleHQtZWxlbWVudC1wYWRkaW5nO1xyXG59XHJcblxyXG51bCA+IGxpID4gdWwge1xyXG4gIHBhZGRpbmc6IDA7XHJcbn1cclxuIiwKCQkiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5HTE9CQUwgTUlYSU5TXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBtaXhpbiBpbWFnZS1mb3JtYXQoKSB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogMDtcclxuICBwYWRkaW5nLWJvdHRvbTogNjYuNjY2JTtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBtYXJnaW46IDA7XHJcblxyXG4gIGltZyB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIHRvcDogNTAlO1xyXG4gICAgbGVmdDogNTAlO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gbWFpbi1jb250ZW50KCkge1xyXG4gIHBhZGRpbmctdG9wOiAwO1xyXG4gIHBhZGRpbmctYm90dG9tOiAyLjMzM2VtO1xyXG4gIG1heC13aWR0aDogJGxpbmUtbGVuZ3RoO1xyXG4gIG1pbi1oZWlnaHQ6IGF1dG87XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcbn1cclxuIiwKCQkiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5QQUdFIExBWU9VVFxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4qIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iZztcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuICBvdmVyZmxvdy14OiBoaWRkZW47XHJcbiAgaGVpZ2h0OiAxMDB2aDtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcblxyXG4gID4gZm9vdGVyIHtcclxuICAgIG1hcmdpbjogLTFlbSBhdXRvIDFlbTtcclxuICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcclxuICB9XHJcbn1cclxuXHJcbi5tYWluIHtcclxuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDEycHggMCAkZ3JleS10cmFuc3BhcmVudDtcclxuICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XHJcbiAgbWluLWhlaWdodDogMTAwdmg7XHJcbiAgcGFkZGluZy10b3A6IDUuMzMzM2VtO1xyXG5cclxuICBAbWVkaWEgI3skbGFuZHNjYXBlfSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNSU7XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjUlO1xyXG4gIH1cclxufVxyXG5cclxuLy8gV1AgQkFTRSBTVFlMRVNcclxuLmFsaWdubGVmdCB7XHJcbiAgZGlzcGxheTogaW5saW5lO1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIG1hcmdpbjogMCAxLjVlbSAwLjMzM2VtIDA7XHJcbn1cclxuXHJcbi5hbGlnbnJpZ2h0IHtcclxuICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgZmxvYXQ6IHJpZ2h0O1xyXG4gIG1hcmdpbjogMS4zMzNlbSAwIDAuMzMzZW0gMS41ZW07XHJcbn1cclxuXHJcbi5hbGlnbmNlbnRlciB7XHJcbiAgbWFyZ2luOiAxZW0gYXV0byAwLjMzM2VtO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59XHJcblxyXG4uanMgLnRtY2UtYWN0aXZlIC53cC1lZGl0b3ItYXJlYSB7XHJcbiAgY29sb3I6ICRibGFjayAhaW1wb3J0YW50O1xyXG59XHJcbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuRk9STSBFTEVNRU5UU1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uc2VhcmNoZm9ybSB7XHJcbiAgbWFyZ2luOiAxLjMzM2VtIDA7XHJcbn1cclxuXHJcbi5zZWFyY2hmb3JtIFt0eXBlPSdzdWJtaXQnXSxcclxuI3NlYXJjaHN1Ym1pdCB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmlucHV0LWdyb3VwIHtcclxuICBjb2xvcjogJGdyZXktZGFya2VyO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAkdGV4dC1lbGVtZW50LXBhZGRpbmc7XHJcblxyXG4gID4gbGFiZWwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG59XHJcblxyXG5bdHlwZT0ndGV4dCddLFxyXG5bdHlwZT0nZW1haWwnXSxcclxuW3R5cGU9J251bWJlciddIHtcclxuICBjb2xvcjogJGdyZXktZGFya2VyO1xyXG4gIHBhZGRpbmc6IDAuMjVlbTtcclxufVxyXG5cclxuLnNlYXJjaGZvcm0gaW5wdXQge1xyXG4gIGNvbG9yOiAkZ3JleS1kYXJrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBwYWRkaW5nOiAwLjI1ZW07XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm9yZGVyLXJhZGl1czogbm9uZTtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWFsdDtcclxuICBwYWRkaW5nOiAwLjVlbSAxZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuLmJ0bi1ibHVlIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIGJvcmRlci1yYWRpdXM6IG5vbmU7XHJcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XHJcbiAgZm9udC1zaXplOiAkZm9udC1zaXplLWFsdDtcclxuICBwYWRkaW5nOiAwLjVlbSAxZW07XHJcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XHJcbn1cclxuXHJcbi5idG4sXHJcbi5idG4tYmx1ZTpob3ZlciB7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuSU1BR0VTICYgTUVESUFcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuaW1nIHtcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG59XHJcblxyXG5maWd1cmUge1xyXG4gIEBpbmNsdWRlIGltYWdlLWZvcm1hdDtcclxufVxyXG5cclxuLmVudHJ5IFt3aWR0aD0nMzAwJ10sXHJcbi5lbnRyeSBbd2lkdGg9JzUwMCddIHtcclxuICBtYXgtd2lkdGg6IDEwMHZ3O1xyXG4gIHdpZHRoOiAxMDB2dztcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgbGVmdDogLTFlbTtcclxuXHJcbiAgQG1lZGlhICN7JHBoYWJsZXR9IHtcclxuICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGlubGluZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcblxyXG4uZW50cnkgbGl0ZS15b3V0dWJlLFxyXG4uZW50cnkgOm5vdChkaXYubW10d3JhcHBvcykgaWZyYW1lIHtcclxuICB3aWR0aDogMTAwdnc7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGhlaWdodDogNTYuMjV2dztcclxuICBsZWZ0OiAtMXJlbTtcclxuXHJcbiAgQG1lZGlhICN7JHBoYWJsZXR9IHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgcG9zaXRpb246IGlubGluZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBoZWlnaHQ6IDE4Ljg1ZW07XHJcbiAgfVxyXG59XHJcblxyXG4uZW50cnkgbGl0ZS15b3V0dWJlIHtcclxuICBsZWZ0OiAtMXJlbTtcclxuXHJcbiAgQG1lZGlhICN7JHBoYWJsZXR9IHtcclxuICAgIGxlZnQ6IDA7XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuUEFHRSBIRUFERVJcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuYm9keSA+IGhlYWRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcbiAgbWF4LXdpZHRoOiAkbWF4LXdpZHRoO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBib3gtc2hhZG93OiAwcHggMHB4IDEycHggMCAkZ3JleS10cmFuc3BhcmVudDtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgbGVmdDogNTAlO1xyXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuICBvdmVyZmxvdy15OiBoaWRkZW47XHJcblxyXG4gIEBtZWRpYSBwcmludCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmhlYWRlciB7XHJcbiAgcGFkZGluZzogMC41ZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuICBAbWVkaWEgI3skbW9iaWxlLWxhcmdlfSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgIHBhZGRpbmc6IDEuNzVlbSAxZW0gMWVtO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbi5sb2dvLWxpbmsge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG1hcmdpbjogMCBhdXRvO1xyXG5cclxuICA+IGltZyB7XHJcbiAgICB3aWR0aDogMTYwcHg7XHJcbiAgICBoZWlnaHQ6IDMycHg7XHJcbiAgfVxyXG59XHJcblxyXG4ucGF5b2ZmIHtcclxuICBjb2xvcjogJGdyZXktZGFyaztcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAmOnZpc2l0ZWQge1xyXG4gICAgY29sb3I6ICRncmV5LWRhcms7XHJcbiAgfVxyXG59XHJcblxyXG4uY3RhIHtcclxuICBwYWRkaW5nOiAwLjI1ZW0gMCAwLjVlbTtcclxuXHJcbiAgQG1lZGlhICN7JGxhbmRzY2FwZX0ge1xyXG4gICAgcGFkZGluZy1yaWdodDogMWVtO1xyXG4gIH1cclxufVxyXG5cclxuQG1lZGlhICN7JHBoYWJsZXR9IHtcclxuICAuaGVhZGVyIHtcclxuICAgIGhlaWdodDogNC4yNWVtO1xyXG4gICAgcGFkZGluZzogMWVtIDAgMWVtO1xyXG4gICAgbWF4LXdpZHRoOiAkbGluZS1sZW5ndGg7XHJcbiAgICBtYXJnaW46IDAgYXV0bztcclxuICB9XHJcblxyXG4gIC5wYXlvZmYge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlc3Q7XHJcbiAgfVxyXG59XHJcblxyXG5AbWVkaWEgI3skbGFuZHNjYXBlfSB7XHJcbiAgLmhlYWRlciB7XHJcbiAgICBtYXgtd2lkdGg6ICRtYXgtd2lkdGg7XHJcbiAgICBwYWRkaW5nOiAxZW0gNS43NSUgMC43NWVtO1xyXG4gIH1cclxuXHJcbiAgLmxvZ28ge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcclxuICB9XHJcblxyXG4gIC5wYXlvZmYge1xyXG4gICAgZm9udC1zaXplOiAxZW07XHJcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuUE9TVCBBUlRJQ0xFXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5lbnRyeSB7XHJcbiAgQGluY2x1ZGUgbWFpbi1jb250ZW50O1xyXG5cclxuICBAbWVkaWEgI3skbW9iaWxlfSB7XHJcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XHJcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xyXG5cclxuICAgIGZpZ3VyZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbGVmdDogLTFyZW07XHJcbiAgICAgIHdpZHRoOiAxMDB2dztcclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyR0YWJsZXR9IHtcclxuICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuXHJcbiAgICBmaWd1cmUge1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGxpIHtcclxuICAgIG1hcmdpbi1ib3R0b206IDEuMzMzZW07XHJcblxyXG4gICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgfVxyXG5cclxuICAgIHAsXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYge1xyXG4gICAgICBwYWRkaW5nOiAxLjMzM3JlbSAwIDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAuZmx1ZW50dS1sZWFkYm94LWxpbmsge1xyXG4gICAgcGFkZGluZzogMS41cmVtIDFyZW07XHJcblxyXG4gICAgQG1lZGlhICN7JG1vYmlsZX0ge1xyXG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMnJlbSk7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgbGVmdDogLTFyZW07XHJcbiAgICB9XHJcblxyXG4gICAgQG1lZGlhICN7JHRhYmxldH0ge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgcG9zaXRpb246IGlubGluZTtcclxuICAgICAgbGVmdDogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGZvb3RlciB7XHJcbiAgICBwYWRkaW5nOiAxLjMzM3JlbSAxcmVtIDA7XHJcbiAgfVxyXG5cclxuICAuYnJlYWRjcnVtYnMge1xyXG4gICAgZm9udC1zaXplOiAwLjc3N2VtO1xyXG4gICAgcGFkZGluZzogMWVtIDA7XHJcblxyXG4gICAgQG1lZGlhICN7JHRhYmxldH0ge1xyXG4gICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi53cC1jYXB0aW9uLXRleHQge1xyXG4gIGNvbG9yOiAkZ3JleS1kYXJrO1xyXG4gIGZvbnQtc2l6ZTogMC44ODg4ZW07XHJcbiAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBOQVYgUFJFVi9ORVhUXHJcbiAqL1xyXG4ubmF2LXByZXYgPiBhLFxyXG4ubmF2LW5leHQgPiBhIHtcclxuICBjb2xvcjogJGdyZXktZGFyaztcclxuICBmb250LXNpemU6IDAuODg4OGVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjU7XHJcbn1cclxuXHJcbi5uYXYtbmV4dCB7XHJcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XHJcbn1cclxuXHJcbi8qXHJcbi5uYXYtcHJldjo6YmVmb3JlIHtcclxuICBjb250ZW50OiAnXFwyMDM5JztcclxufVxyXG5cclxuLm5hdi1uZXh0OjphZnRlciB7XHJcbiAgY29udGVudDogJ1xcMjAzQSc7XHJcbn1cclxuKi9cclxuXHJcbi8qKlxyXG4gKiBQT1NUIE1FVEFcclxuICovXHJcbi5lbnRyeS1tZXRhIHtcclxuICBjb2xvcjogJGdyZXktZGFyaztcclxuICBmb250LXNpemU6IDAuNzVlbTtcclxuICBsaW5lLWhlaWdodDogMS43Nzc3O1xyXG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuXHJcbiAgLmF1dGhvciBhLFxyXG4gIC5hdXRob3IgYTp2aXNpdGVkIHtcclxuICAgIGNvbG9yOiAjNzU3NTc1O1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4gIH1cclxufVxyXG5cclxuLnBwLW11bHRpcGxlLWF1dGhvcnMtd3JhcHBlciB7XHJcbiAgZGlzcGxheTogbm9uZTtcclxufVxyXG4iLAoJCSIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkFSQ0hJVkUgUEFHRVNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4uYXJjaGl2ZSB7XHJcbiAgPiAuZW50cnkge1xyXG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRncmV5LWxpZ2h0ZXI7XHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4zMzNyZW07XHJcblxyXG4gICAgJjpsYXN0LW9mLXR5cGUge1xyXG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaDIge1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcblxyXG4gIC5lbnRyeS10aXRsZSB7XHJcbiAgICBwYWRkaW5nLXRvcDogMDtcclxuICB9XHJcblxyXG4gIC5hcmNoaXZlX2hlYWRlciB7XHJcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGdyZXktbGlnaHRlcjtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBtYXgtd2lkdGg6ICRsaW5lLWxlbmd0aDtcclxuICAgIGNvbG9yOiAkYmxhY2s7XHJcbiAgICBmb250LXNpemU6IDEwMCU7XHJcbiAgICBwYWRkaW5nOiAwLjI1ZW0gMC41ZW0gMC43NWVtO1xyXG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XHJcblxyXG4gICAgQG1lZGlhICN7JG1vYmlsZX0ge1xyXG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XHJcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBmaWd1cmUge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMzMzZW07XHJcbiAgfVxyXG59XHJcblxyXG4ucGFnaW5hdGlvbiB7XHJcbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRncmV5LWxpZ2h0ZXI7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHBhZGRpbmctYm90dG9tOiAyLjMzM2VtO1xyXG5cclxuICAucGFnZS1udW1iZXJzIHtcclxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIG1hcmdpbjogMC41ZW0gMC4yNWVtO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbkFVVEhPUiBCSU9cclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG4jcG9zdC1hdXRob3IsXHJcbi5wb3N0LWF1dGhvciB7XHJcbiAgbWF4LXdpZHRoOiAkbGluZS1sZW5ndGg7XHJcbiAgcGFkZGluZzogMWVtO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRncmV5LWxpZ2h0ZXN0O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRncmV5LWxpZ2h0ZXI7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgYWxpZ24taXRlbXM6IHRvcDtcclxuICBtYXJnaW46IDAgYXV0byAxLjMzM2VtO1xyXG5cclxuICAucHJvZmlsZS1pbWFnZSB7XHJcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcclxuICAgIHdpZHRoOiA0LjVlbTtcclxuICB9XHJcblxyXG4gIC5wcm9maWxlLWltYWdlID4gaW1nIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiA0LjVlbTtcclxuICAgIGhlaWdodDogNC41ZW07XHJcbiAgfVxyXG5cclxuICAucHJvZmlsZS1jb250ZW50IHtcclxuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbGVyO1xyXG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDdlbSk7XHJcbiAgfVxyXG5cclxuICAucHJvZmlsZS1jb250ZW50IGg0IHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcbn1cclxuXHJcbi5wb3N0LWF1dGhvcjpmaXJzdC1vZi10eXBlIHtcclxuICBtYXJnaW4tdG9wOiAyLjVlbTtcclxufVxyXG5cclxuLm5vLXByb2ZpbGUtcGlje1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbn1cclxuIiwKCQkiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5TSURFQkFSXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbiNzaWRlYmFyIHtcclxuICBtYXgtd2lkdGg6ICRsaW5lLWxlbmd0aDtcclxuICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgcGFkZGluZy1sZWZ0OiAwLjVyZW07XHJcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xyXG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblxyXG4gIEBtZWRpYSAjeyRtb2JpbGV9IHtcclxuICAgIHBhZGRpbmctbGVmdDogMXJlbTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgI3skbGFuZHNjYXBlfSB7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB3aWR0aDogJHNpZGViYXItd2lkdGg7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5mbHVlbi10YXJnZXQ6bGFzdC1vZi10eXBlIHtcclxuICAgICAgcG9zaXRpb246IHN0aWNreTtcclxuICAgICAgdG9wOiA2LjY2NnJlbTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHVsIHtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICBmb250LXNpemU6ICRmb250LXNpemUtYWx0O1xyXG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcclxuICAgIG1hcmdpbjogMDtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRhbHQtZm9udC13aWR0aH0ge1xyXG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplLXNtYWxsO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbldJREdFVFNcclxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xyXG5cclxuLndpZGdldCxcclxuLmZsdWVudHUtd2lkZ2V0IHtcclxuICBtYXJnaW4tYm90dG9tOiAxZW0gIWltcG9ydGFudDtcclxufVxyXG5cclxuLmZsdWVudHUtd2lkZ2V0IHtcclxuICBAaW5jbHVkZSBpbWFnZS1mb3JtYXQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBmaXhlZCBzaXplIHRvIHByZXZlbnQgQ0xTXHJcbiAqL1xyXG4jZmx1ZW50dS13aWRnZXQtMiB7XHJcbiAgcGFkZGluZy1ib3R0b206IDIwMCU7XHJcbn1cclxuXHJcbiNmbHVlbnR1LXdpZGdldC0zIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMTI4LjE2MzI2NTMwNjEyMjQ0OSU7XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIHBvc2l0aW9uOiBzdGlja3k7XHJcbiAgICB0b3A6IDYuNjY2cmVtO1xyXG4gIH1cclxufVxyXG4iLAoJCSIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblBBR0UgRk9PVEVSXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi5mb290ZXIge1xyXG4gIGNvbG9yOiB3aGl0ZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1kYXJrZXN0O1xyXG4gIGJveC1zaGFkb3c6IDBweCAxMnB4IDEycHggMCAkZ3JleS10cmFuc3BhcmVudDtcclxuICBwYWRkaW5nOiAxLjVlbSAwLjVyZW0gMDtcclxuXHJcbiAgQG1lZGlhICN7JG1vYmlsZX0ge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcclxuICAgIHBhZGRpbmctbGVmdDogMi41JTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDIuNSU7XHJcbiAgfVxyXG5cclxuICAudHJ5LWZvciB+IGgzIHtcclxuICAgIHBhZGRpbmctdG9wOiAyLjMzM2VtO1xyXG4gIH1cclxufVxyXG5cclxuLmZvb3Rlci13aWRnZXRzLWxlZnQge1xyXG4gIEBpbmNsdWRlIG1haW4tY29udGVudDtcclxuXHJcbiAgQG1lZGlhICN7JGxhbmRzY2FwZX0ge1xyXG4gICAgd2lkdGg6ICRsaW5lLWxlbmd0aDtcclxuICB9XHJcbn1cclxuXHJcbi5mb290ZXItd2lkZ2V0cy1yaWdodCB7XHJcbiAgbWF4LXdpZHRoOiAkbGluZS1sZW5ndGg7XHJcbiAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIG1hcmdpbjogMCAxcmVtO1xyXG4gICAgd2lkdGg6ICRzaWRlYmFyLXdpZHRoO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFBBR0UgRU5EIEZPT1RFUlxyXG4gKi9cclxuLnBhZ2UtZW5kIHtcclxuICBwYWRkaW5nOiAxLjVlbSAwLjVlbTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gIEBtZWRpYSAjeyRtb2JpbGUtbGFyZ2V9IHtcclxuICAgIHBhZGRpbmc6IDEuNWVtIDFlbTtcclxuICB9XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcGFkZGluZy1sZWZ0OiA1JTtcclxuICAgIHBhZGRpbmctcmlnaHQ6IDUlO1xyXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcclxuICB9XHJcbn1cclxuXHJcbiNjb3B5cmlnaHQsXHJcbiNzb2NpYWwtZm9vdGVyIHtcclxuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlc3Q7XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIHdpZHRoOiBtYXgtY29udGVudDtcclxuICB9XHJcbn1cclxuXHJcbiNzb2NpYWwtZm9vdGVyIHtcclxuICBtYXJnaW4tYm90dG9tOiAxZW07XHJcblxyXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICB3aWR0aDogMjRweDtcclxuICAgIGhlaWdodDogMjRweDtcclxuICAgIG1hcmdpbi1sZWZ0OiAwLjI1ZW07XHJcbiAgfVxyXG5cclxuICAubGlua3Mge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDAuNzVlbTtcclxuICB9XHJcblxyXG4gIC5zb2NpYWwtbGlua3Mge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMWVtO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICBAbWVkaWEgI3skbGFuZHNjYXBlfSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICB9XHJcblxyXG4gICAgPiBhIHtcclxuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuUE9TVCBNRVRBXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8qKlxyXG4gKiBNRVRBXHJcbiAqL1xyXG4ucG9zdC1tZXRhIHtcclxuICBjb2xvcjogJGdyZXktZGFyaztcclxuICBmb250LXNpemU6ICRmb250LXNpemUtc21hbGxlc3Q7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNzc3NztcclxuICBmb250LXN0eWxlOiBpdGFsaWM7XHJcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xyXG5cclxuICAuYXZhdGFyIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgIHdpZHRoOiAyZW07XHJcbiAgICBoZWlnaHQ6IDJlbTtcclxuICAgIG1hcmdpbjogMCAwLjVlbSAtMC41ZW07XHJcbiAgfVxyXG5cclxuICBAbWVkaWEgI3skdGFibGV0fSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xyXG4gIH1cclxuXHJcbiAgPiAuc21hbGwge1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG5cclxuICAuZW50cnktdGltZSxcclxuICAuYXV0aG9yIGEsXHJcbiAgLmF1dGhvciBhOnZpc2l0ZWQge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgY29sb3I6ICRncmV5LWRhcms7XHJcbiAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbiAgfVxyXG59XHJcblxyXG4uYXJjaGl2ZSAucG9zdC1tZXRhIC5hdmF0YXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbn1cclxuIiwKCQkiLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5BY2Nlc3NpYmlsaXR5XHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbi8vIFRleHQgbWVhbnQgb25seSBmb3Igc2NyZWVuIHJlYWRlcnMuXHJcblxyXG4uc2NyZWVuLXJlYWRlci10ZXh0IHtcclxuICBjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcbiAgaGVpZ2h0OiAxcHg7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcclxuICB3aWR0aDogMXB4O1xyXG4gIHdvcmQtd3JhcDogbm9ybWFsICFpbXBvcnRhbnQ7IC8vIE1hbnkgc2NyZWVuIHJlYWRlciBhbmQgYnJvd3NlciBjb21iaW5hdGlvbnMgYW5ub3VuY2UgYnJva2VuIHdvcmRzIGFzIHRoZXkgd291bGQgYXBwZWFyIHZpc3VhbGx5LlxyXG59XHJcblxyXG4uc2NyZWVuLXJlYWRlci10ZXh0OmZvY3VzIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS1saWdodGVzdDtcclxuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDNweDtcclxuICBib3JkZXItcmFkaXVzOiAzcHg7XHJcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDAgMnB4IDJweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgYm94LXNoYWRvdzogMCAwIDJweCAycHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gIGNsaXA6IGF1dG8gIWltcG9ydGFudDtcclxuICBjb2xvcjogJGJsYWNrO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1zbWFsbDtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgbGVmdDogNXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgcGFkZGluZzogMTVweCAyM3B4IDE0cHg7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIHRvcDogNXB4O1xyXG4gIHdpZHRoOiBhdXRvO1xyXG4gIHotaW5kZXg6IDEwMDAwMDsgLy8gQWJvdmUgV1AgdG9vbGJhci5cclxufVxyXG4iLAoJCSIvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbk1vbnVtZXRyaWMgYWQgc2l6ZXMgLSB0byBwcmV2ZW50IENMU1xyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4jY29udGVudCA+IGRpdiB7XHJcbiAgaGVpZ2h0OiA5MHB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIG1hcmdpbi1ib3R0b206IDFlbTtcclxuXHJcbiAgPiBkaXYge1xyXG4gICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcclxuICB9XHJcbn1cclxuXHJcbiNzaWRlYmFyID4gLm1tdHdyYXBwb3Mge1xyXG4gIGhlaWdodDogNjAwcHg7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuQWR2YW5jZWQgQWRzIHRyYWNraW5nIHBsdWdpblxyXG4tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXHJcblxyXG4uZmx1ZW4tdGFyZ2V0IHtcclxuICBtYXJnaW46IDAgYXV0bztcclxuXHJcbiAgcDpsYXN0LW9mLXR5cGUge1xyXG4gICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgfVxyXG59XHJcbiIsCgkJIi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuUFJJTlQgU1RZTEVTXHJcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgQHBhZ2Uge1xyXG4gICAgbWFyZ2luOiAxLjVjbTtcclxuICB9XHJcblxyXG4gICoge1xyXG4gICAgZm9udC1mYW1pbHk6IEdlb3JnaWEsIHNlcmlmO1xyXG4gIH1cclxuXHJcbiAgYm9keSB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZSAhaW1wb3J0YW50O1xyXG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDEycHQ7XHJcbiAgfVxyXG5cclxuICAubWFpbiB7XHJcbiAgICBib3gtc2hhZG93OiBub25lO1xyXG4gICAgcGFkZGluZy10b3A6IDA7XHJcbiAgfVxyXG5cclxuICAuZW50cnktdGl0bGUge1xyXG4gICAgY29sb3I6IGJsYWNrO1xyXG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgfVxyXG5cclxuICAuZW50cnkge1xyXG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuICAgIG1heC13aWR0aDogMzVlbSAhaW1wb3J0YW50O1xyXG4gIH1cclxuXHJcbiAgLmZvb3RlcixcclxuICAjc2lkZWJhcixcclxuICAjc29jaWFsLWZvb3RlcixcclxuICAuZW50cnkgaWZyYW1lLFxyXG4gIC5lbnRyeSA+IGZvb3RlcixcclxuICAubW10d3JhcHBvcyxcclxuICAuZmx1ZW4tYmVmb3JlLTFzdC1oMixcclxuICAuZmx1ZW4tYWZ0ZXItY29udGVudC0xIHtcclxuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIHdpZHRoOiAwICFpbXBvcnRhbnQ7XHJcbiAgICBoZWlnaHQ6IDAgIWltcG9ydGFudDtcclxuICAgIG92ZXJmbG93OiBoaWRkZW4gIWltcG9ydGFudDtcclxuICAgIGxpbmUtaGVpZ2h0OiAwcHQgIWltcG9ydGFudDtcclxuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgfVxyXG5cclxuICAvKiBGcm9tIGh0dHBzOi8vd3d3LmpvdGZvcm0uY29tL2Jsb2cvY3NzLXBlcmZlY3QtcHJpbnQtc3R5bGVzaGVldC05ODI3Mi8gKi9cclxuICAuZW1iZWQteW91dHViZSxcclxuICAuZW1iZWQtcmVzcG9uc2l2ZSB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBoZWlnaHQ6IDA7XHJcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIH1cclxuXHJcbiAgYSxcclxuICB0YWJsZSxcclxuICBwcmUsXHJcbiAgYmxvY2txdW90ZSB7XHJcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgfVxyXG5cclxuICBoMSxcclxuICBoMixcclxuICBoMyxcclxuICBoNCxcclxuICBoNSxcclxuICBoNiB7XHJcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcclxuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcclxuICB9XHJcblxyXG4gIGltZyB7XHJcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XHJcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcclxuICB9XHJcblxyXG4gIHVsLFxyXG4gIG9sLFxyXG4gIGRsIHtcclxuICAgIHBhZ2UtYnJlYWstYmVmb3JlOiBhdm9pZDtcclxuICB9XHJcbn1cclxuIgoJXSwKCSJuYW1lcyI6IFtdLAoJIm1hcHBpbmdzIjogIkFBRUE7Ozs7Ozs7Ozs7OztFQVlFO0FBRUY7Ozs7Ozs7Ozs7OzsyRUFZMkU7QUM1QjNFLDRFQUE0RTtBQUU1RTtnRkFDZ0Y7QUFFaEY7Ozs7R0FJRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsV0FBVyxFQUFFLElBQUk7RUFBRSxPQUFPO0VBQzFCLG9CQUFvQixFQUFFLElBQUk7RUFBRSxPQUFPO0VBQ25DLHdCQUF3QixFQUFFLElBQUk7RUFBRSxPQUFPLEVBQ3hDOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVILEFBQUEsSUFBSSxDQUFDO0VBQ0gsTUFBTSxFQUFFLENBQUMsR0FDVjs7QUFFRDs7R0FFRztBQUVILEFBQUEsT0FBTztBQUNQLEtBQUs7QUFDTCxNQUFNO0FBQ04sTUFBTTtBQUNOLEdBQUc7QUFDSCxPQUFPLENBQUM7RUFDTixPQUFPLEVBQUUsS0FBSyxHQUNmOztBQUVEOzs7R0FHRztBQUVILEFBQUEsRUFBRSxDQUFDO0VBQ0QsU0FBUyxFQUFFLEdBQUc7RUFDZCxNQUFNLEVBQUUsUUFBUSxHQUNqQjs7QUFFRDtnRkFDZ0Y7QUFFaEY7OztHQUdHO0FBRUgsQUFBQSxVQUFVO0FBQ1YsTUFBTTtBQUNOLElBQUksQ0FBQztFQUFFLE9BQU87RUFDWixPQUFPLEVBQUUsS0FBSyxHQUNm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 */