﻿@charset "UTF-8";
/* ==========================================================================
   :: Error Handling
   ========================================================================== */
/*! normalize.css v4.2.0 | MIT License | github.com/necolas/normalize.css */
/**
 * 1. Change the default font family in all browsers (opinionated).
 * 2. Correct the line height in all browsers.
 * 3. Prevent adjustments of font size after orientation changes in IE and iOS.
 */
/* Document
   ========================================================================== */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

/* 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 */ }

/**
 * Remove the outline on focused links when they are also active or hovered
 * in all browsers (opinionated).
 */
a:active,
a:hover {
  outline-width: 0; }

/**
 * 1. Remove the bottom border in 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; }

/**
 * Change the border, margin, and padding in all browsers (opinionated).
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 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 OS X.
 */
[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; }

html {
  box-sizing: border-box; }

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

a,
area,
button,
input,
label,
select,
summary,
textarea {
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

/**
 * Bugatti Blue
 * @color
 * @section Primary
 */
/**
 * Dark Blue
 * @color
 * @section Primary
 */
/**
 * Ferrari Red
 * @color
 * @section Primary
 */
/**
 * Dark Red
 * @color
 * @section Primary
 */
/**
 * Roadrunner Green
 * @color
 * @section Primary
 */
/**
 * Dark Green
 * @color
 * @section Primary
 */
/**
 * Fly Yellow
 * @color
 * @section Primary
 */
/**
 * Dark Yellow
 * @color
 * @section Primary
 */
/**
 * White
 * @color
 * @section Greyscale
 */
/**
 * Light Gray
 * @color
 * @section Greyscale
 */
/**
 * Concrete
 * @color
 * @section Greyscale
 */
/**
 * Dark Concrete
 * @color
 * @section Greyscale
 */
/**
 * Chrome
 * @color
 * @section Greyscale
 */
/**
 * Smoke
 * @color
 * @section Greyscale
 */
/**
 * Asphalt
 * @color
 * @section Greyscale
 */
/**
 * Black (Lambo)
 * @color
 * @section Greyscale
 */
/**
 * Notification Background
 * @color
 * @section Notifications
 */
/**
 * Notification Text
 * @color
 * @section Notifications
 */
/**
 * Notification Error Background
 * @color
 * @section Notifications
 */
/**
 * Notification Error Text
 * @color
 * @section Notifications
 */
/**
 * Notification Confirmation Background
 * @color
 * @section Notifications
 */
/**
 * Notification Confirmation Text
 * @color
 * @section Notifications
 */
/**
 * Informational Background
 * @color
 * @section Notifications
 */
/**
 * Informational Text
 * @color
 * @section Notifications
 */
/**
 * Facebook
 * @color
 * @section Social Colors
 */
/**
 * Twitter
 * @color
 * @section Social Colors
 */
/**
 * Instagram
 * @color
 * @section Social Colors
 */
/**
 * Reddit
 * @color
 * @section Social Colors
 */
/**
 * Linkedin
 * @color
 * @section Social Colors
 */
/**
 * Youtube
 * @color
 * @section Social Colors
 */
/**
 * Email
 * @color
 * @section Social Colors
 */
/**
 * Rss
 * @color
 * @section Social Colors
 */
/**
 * Tumblr
 * @color
 * @section Social Colors
 */
/**
 * Medium grey
 * @color
 * @section Deprecated
 * @deprecated
 */
/**
 * Grey
 * @color
 * @section Deprecated
 * @deprecated
 */
/**
 * Dark grey
 * @color
 * @section Deprecated
 * @deprecated
 */
/**
 * Body Font
 * @nuclide
 * @section Fonts
 *
 */
/**
 * Helvetica Neue Light Condensed
 * @nuclide
 * @section Fonts
 *
 */
/**
 * Helvetica Neue Medium Condensed
 * @nuclide
 * @section Fonts
 *
 */
/**
 * Helvetica Neue Bold Condensed
 * @nuclide
 * @section Fonts
 *
 */
/**
 * Tungsten Semibold
 * @nuclide
 * @section Fonts
 */
/**
 * Set the body font with an optional font-weight
 *
 * @mixin
 * @section Fonts
 * @param $weight
 *  The font weight to be used [100, 200, ..., 900].
 * @example
 *  @include bodyFont();
 *  @include bodyFont(700);
 */
/**
 * Set the headings font with an optional font-weight
 *
 * @mixin
 * @section Fonts
 * @param $weight
 *  The font weight to be used [light, medium, bold].
 * @example
 *  @include helveticaNeue();
 *  @include helveticaNeue(light);
 */
/**
 * Mobile Portrait
 * @nuclide
 * @section Break Points
 *
 */
/**
 * Mobile Landscape - REMOVE
 * @nuclide
 * @section Break Points
 *
 */
/**
 * Tablet Portrait
 * @nuclide
 * @section Break Points
 *
 */
/**
 * Tablet Landscape - REMOVE
 * @nuclide
 * @section Break Points
 *
 */
/**
 * Desktop 
 * @nuclide
 * @section Break Points
 *
 */
/**
 * Widescreen
 * @nuclide
 * @section Break Points
 *
 */
/**
 * Include a media query that applies properties to the selector only on certain screen widths.
 *
 * @mixin
 * @section Media Queries
 * @param $breakpoint
 *  Ideally a predefined value [$mobile-p, $mobile-l, $tablet-p, $tablet-l, $desktop, $widescreen]
 *
 * @example
 *  @include at-breakpoint($width) {
 *    //CSS Styles to be rendered at breakpoint
 *  }
 *
 */
/**
 * Include a media query that applies properties to the selector only on certain screen widths.
 *
 * @mixin
 * @section Media Queries
 * @param $breakpoint
 *  Ideally a predefined value [$mobile-p, $mobile-l, $tablet-p, $tablet-l, $desktop, $widescreen]
 *
 * @example
 *  @include until-breakpoint($tablet-l) {
 *    //CSS Styles to be rendered
 *  }
 *
 */
/**
 * Include a media query that applies properties to the selector only on certain screen widths.
 *
 * @mixin
 * @section Media Queries
 * @param $breakpoint-min
 *  Ideally a predefined value [$mobile-p, $mobile-l, $tablet-p, $tablet-l, $desktop, $widescreen]
 * @param $breakpoint-max
 *  Ideally a predefined value [$mobile-p, $mobile-l, $tablet-p, $tablet-l, $desktop, $widescreen]
 *
 * @example
 *  @mixin between-breakpoints($breakpoint-min, $breakpoint-max) {
 *    //CSS Styles to be rendered
 *  }
 *
 */
/**
 * @mixin
 * @section Utility
 * @description
 *  Appends and prepends a clearing pseudo element to avoid overflow of
 *  floating children. May also be applied as a class .clearfix
 * @example
 *   @include clearfix;
 */
/**
 * @mixin
 * @section Utility
 * @description
 *  Applies a background-color and hover state w/ darken
 * @example
 *   @include bg-hover;
 */
div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

body {
  font-size: 16px;
  line-height: 1.6em;
  color: #232323; }

/**
 *
 * @atom Headline
 * @section Content > Typography
 * @description
 *  Headlines which visually separate and introduce content. All the headlines utilize the bold headings font.
 * @markup
 *  <h1>Headline h1 - 36px</h1>
 *  <h2>Headline h2 - 28px</h2>
 *  <h3>Headline h3 - 24px</h3>
 *  <h4>Headline h4 - 20px</h4>
 *  <h5>Headline h5 - 18px</h5>
 *  <h6>Headline h6 - 16px</h6>
 */
h1, h2 {
  font-weight: 600;
  color: #232323; }

h3, h4, h5, h6 {
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  color: #232323; }

h1 {
  font-size: 2.75rem;
  line-height: 1em;
  padding: 0.9375rem 0px; }

h2 {
  font-size: 2.25rem;
  line-height: 1em; }

h3 {
  font-size: 1.5rem; }

h4 {
  font-size: 1.25rem; }

h5 {
  font-size: 1.25rem; }

h6 {
  font-size: 1.25rem; }

/**
 * @atom Page Title
 * @section Content > Typography
 * @description
 *  The primary title of a page, article, press release, etc.
 * @markup
 *   <h1 class="page-title">Page Title</h1>
 */
.page-title {
  margin: 0 0 10px 0;
  line-height: 40px;
  text-transform: uppercase; }

.content {
  clear: both; }

/**
  *
  * @atom Larger Body Copy
  * @section Content > Typography
  * @deprecated
  * @markup
  *   <div class="content">
  *     <p class="larger">@{lipsum:0.5:sentence}</p>
  *     <p class="larger">Bold larger body copy - <strong>@{lipsum:7:words}</strong></p>
  *   </div>
  */
.content .larger {
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 1.15em; }
  .content .larger strong {
    font-family: "HelveticaNeueW01-67MdCn 692710";
    font-weight: normal; }

/**
  * @atom Lead Copy
  * @section Content > Typography
  * @description
  *   Used to style an introductory lead, deck, blurb, etc. utilizes the light headings font, unless emphasises by a strong tag in which the medium headings font is used.
  * @markup
  *   <div class="content">
  *     <p class="lead">@{lipsum:1:sentence} - <strong>@{lipsum:7:words}</strong></p>
  *   </div>
  */
.content .lead {
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 1.5rem;
  line-height: 1.15; }
  .content .lead strong {
    font-family: "HelveticaNeueW01-67MdCn 692710";
    font-weight: normal; }

/**
 *
 * @atom Smaller Body Copy
 * @section Content > Typography
 * @markup
 *   <div class="content">
 *    <p class="smaller">@{lipsum:1:sentence}</p>
 *   </div>
 */
.content .smaller {
  font-size: 0.6875em; }

/**
 *
 * @atom Big number
 * @section Content > Typography
 * @markup
 */
.content .bignumber {
  padding: 3px 10px;
  margin: 0 2px 0 0;
  background: #e6e6e6;
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  font-size: 1.5em; }

/**
 * @atom Story List Heading
 * @section Content > Typography
 * @description
 *  Story list heading for a preview list of articles.
 * @markup
 *  <div class="bg-secondary">
 *   <h1 class="list-heading primary-list-heading">Primary</h1>
 *   <h1 class="list-heading secondary-list-heading">Secondary</h1>
 *  </div>
 */
.list-heading {
  font-weight: 600;
  margin-bottom: 0.625rem;
  position: relative; }
  .list-heading .small-link {
    font-size: 0.4em;
    font-family: "HelveticaNeueW01-67MdCn 692710";
    font-weight: normal;
    vertical-align: middle;
    position: absolute;
    right: 0;
    bottom: -8px; }

/**
 *
 * @atom Disclaimer
 * @section Content > Typography
 * @markup
 *  <div class="disclaimer"> 
 *    <p>@{lipsum:1:sentence}</p>
 *  </div>
 */
.disclaimer {
  padding: 20px 0;
  color: #7c8083;
  font-size: 0.6875rem;
  font-style: italic;
  line-height: 1.7em; }
  .disclaimer.in-page {
    padding: 0;
    clear: none;
    margin-top: -20px; }

/**
 *
 * @atom Blockquote
 * @section Content > Typography
 * @description
 *  The default style for blockquote
 * @markup
 *  <div class="content">
 *    <blockquote> 
 *      <p>@{lipsum:1:sentence}</p>
 *    </blockquote>
 *  </div>
 */
.content blockquote {
  position: relative;
  margin: 0 0 21px 33px;
  border-left: 3px solid #e6e6e6;
  font-size: 0.875rem;
  font-weight: bold;
  font-style: italic; }
  .content blockquote p {
    padding: 10px 20px;
    margin-bottom: 10px; }
  .content blockquote:not(.pullquote):not(.content .pullquote.charcoal):after {
    display: block;
    content: '';
    width: 33px;
    height: 44px;
    position: absolute;
    left: -33px;
    top: 0;
    background: url(../img/icons/quote_icn.svg) no-repeat;
    background-size: 75%; }

.content cite.greywrap {
  display: inline-block;
  padding: 5px 10px 5px 20px;
  margin-bottom: 40px;
  background: #e6e6e6;
  color: #555;
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal; }

/**
 *
 * @atom Text Bubble
 * @section Content > Typography
 * @description
 *  A stylalistic variant on the blockquote. Used for testimonials when stacked vertically.
 * @markup
 *  <div class="content">
 *    <blockquote class="textbubble">
 *      <p><strong>Listening is key.</strong></p>
 *    </blockquote>
 *    <cite class="greywrap">-Jason | Digital Commerce</cite>
 *    <blockquote class="textbubble">
 *      <p>Chad is the <strong>best!</strong></p>
 *    </blockquote>
 *    <cite class="greywrap">-Jeremiah | Digital Commerce</cite>
 *  </div>
 */
.content .textbubble {
  background-color: #fff;
  background-image: url(../img/icons/quote_icn.svg);
  background-position: 20px 20px;
  background-repeat: no-repeat;
  background-size: 24px;
  border: 1px solid #e6e6e6 !important;
  margin: 0 0 15px 0;
  position: relative;
  padding: 10px 0;
  overflow: hidden; }
  .content .textbubble p {
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    text-indent: 30px;
    font-size: 24px;
    line-height: 30px; }
    .content .textbubble p strong {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-weight: normal; }
  .content .textbubble:after {
    content: "";
    background-image: none;
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 11.5px 11.5px 0 11.5px;
    border-color: #fff transparent transparent transparent;
    position: absolute;
    left: 56px;
    bottom: -11px;
    top: auto; }

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  margin: 0.5em 0; }
  .content h1.title,
  .content h2.title,
  .content h3.title,
  .content h4.title,
  .content h5.title,
  .content h6.title {
    margin-top: 0; }

.content p {
  margin: 0 0 1.5em 0; }

.content p + h1,
.content ul + h1,
.content ol + h1 {
  margin: 2em 0 .5em 0; }

.content p + h2,
.content ul + h2,
.content ol + h2 {
  margin: 1.75em 0 .5em 0; }

.content p + h3,
.content ul + h3,
.content ol + h3 {
  margin: 1.5em 0 .5em 0; }

.content p + h4,
.content ul + h4,
.content ol + h4,
.content p + h5,
.content ul + h5,
.content ol + h5,
.content p + h6,
.content ul + h6,
.content ol + h6 {
  margin: 1.25em 0 .5em 0; }

.content ul,
.content ol {
  margin: 0 0 1.75em 0;
  overflow: hidden; }
  .content ul + ul,
  .content ul + ol,
  .content ol + ul,
  .content ol + ol {
    margin-top: -1.25em; }

.content ul ul,
.content ol ol,
.content ul ol,
.content ol ul {
  margin-bottom: 0; }

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

.content sup {
  top: -.5em; }

.content sub {
  bottom: -.25em; }

.content dt {
  font-weight: bold; }

.content dd {
  margin-bottom: .5rem;
  margin-left: 0; }

.content mark {
  background: #ffe11f;
  color: #000; }

.content code,
.content kbd,
.content pre,
.content samp {
  font-family: monospace,serif;
  font-size: 1em; }

.content pre {
  white-space: pre-wrap; }

.content q {
  quotes: "“" "”" "‘" "’"; }
  .content q:before {
    content: open-quote; }
  .content q:after {
    content: close-quote; }

/**
 * @atom Alerts
 * @section Notifications
 * @markup
 *     <div class="alert"> This is a normal alert. </div>
 *     <div class="alert info"> This is an info alert. </div>
 *     <div class="alert error"> This is an error alert. </div>
 *     <div class="alert confirmation"> This is a confirmation alert. </div>
 */
.alert {
  display: block;
  padding: 20px;
  margin-bottom: 20px;
  background-color: #FDF8E4;
  color: #BA9A71; }
  .alert.info {
    background-color: #d9edf7;
    color: #017DC7; }
  .alert.error {
    background-color: #F2DEDF;
    color: #A04E52; }
  .alert.confirmation {
    background-color: #DEF0D8;
    color: #4C834A; }

/**
 *
 * @atom Collapse
 * @section Content
 * @markup
 *  <div class="collapse show"> This is shown </div>
 *  <div class="collapse collapsed"> This is hidden </div>
 */
.collapse {
  display: none; }
  .collapse.show {
    display: block; }

/**
 * @atom Message Container
 * @section Notifications
 * @markup
 *     <div class="message-container-wrap">
 *          <div class="message-container">
 *              <p><span>10/14/2016</span> This is a base example </p>
 *          </div>
 *      </div>
 *     <div class="message-container-wrap">
 *          <div class="message-container drivetrain-messages">
 *              <p><span>10/14/2016</span> This is a drivetrain alert </p>
 *          </div>
 *      </div>
 *     <div class="message-container-wrap">
 *          <div class="message-container partner-messages">
 *              <p><span>10/14/2016</span> This is a program detail </p>
 *              <p><span>10/14/2016</span> This is a program detail </p>
 *          </div>
 *      </div>
 */
.message-container-wrap {
  width: 100%;
  margin: 0 0 15px 0; }
  .message-container-wrap .message-container {
    overflow: hidden;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding: 10px 20px;
    border: 1px solid #e6e6e6;
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    font-size: 1.3125rem; }
    .message-container-wrap .message-container p {
      display: block;
      margin: 0; }
      .message-container-wrap .message-container p + p {
        margin-top: 16px; }
    .message-container-wrap .message-container > ul,
    .message-container-wrap .message-container > ol {
      margin: 10px 0 !important;
      font-family: "HelveticaNeueW01-47LtCn 692686";
      font-weight: normal;
      font-size: 1.3125rem; }
    .message-container-wrap .message-container.drivetrain-messages, .message-container-wrap .message-container.partner-messages {
      min-height: 75px;
      padding-left: 75px;
      background-position: left center;
      background-repeat: no-repeat; }
    .message-container-wrap .message-container.drivetrain-messages {
      background-image: url("../img/drivetrain_alerts.png"); }
    .message-container-wrap .message-container.partner-messages {
      background-image: url("../img/partner_messages.png"); }

/**
 * @atom Label
 * @section Forms
 * @markup
 *     <label for="sampleLabel"> This is an example of a label </label>
 */
label {
  display: inline-block;
  margin-bottom: 0.5em;
  font-weight: bold; }

/**
 * @atom Input
 * @section Forms
 * @description 
 *  This is a basic example of form input. For example of how this is
 *  implemented check the form controls under molecules.
 * @markup
 *     <input type="text" id="exampleInput" placeholder="Example Placeholder">
 */
input {
  outline: 0; }

/**
 *
 * @atom Figure
 * @section Content
 * @markup
 *  <figure>
 *      <img src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic%20Car%20Insurance/42LowerPremium.ashx">
 *      <figcaption>*Figure based upon 2015 consumer data collected by Hagerty on single car quotes, with premiums $5000 and under, from several daily driver (or “Everyday”) auto insurance carriers.</figcaption>
 *  </figure>
 *  <figure class="charcoal">
 *      <img src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic%20Car%20Insurance/42LowerPremium.ashx">
 *      <figcaption>*Figure based upon 2015 consumer data collected by Hagerty on single car quotes, with premiums $5000 and under, from several daily driver (or “Everyday”) auto insurance carriers.</figcaption>
 *  </figure> 
 *  <figure class="disclaimer">
 *      <img src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic%20Car%20Insurance/42LowerPremium.ashx">
 *      <figcaption>*Figure based upon 2015 consumer data collected by Hagerty on single car quotes, with premiums $5000 and under, from several daily driver (or “Everyday”) auto insurance carriers.</figcaption>
 *  </figure>
 */
figure {
  display: table;
  margin: 0 auto 10px auto; }
  figure.align-left {
    float: left;
    margin: 0 25px 20px 0; }
  @media (min-width: 20em) {
    figure.float-mobile-p-left {
      margin: 0 25px 20px 0; }
    figure.float-mobile-p-right {
      margin: 0 0 20px 25px; } }
  @media (min-width: 30em) {
    figure.float-mobile-l-left {
      margin: 0 25px 20px 0; }
    figure.float-mobile-l-right {
      margin: 0 0 20px 25px; } }
  @media (min-width: 40em) {
    figure.float-tablet-p-left {
      margin: 0 25px 20px 0; }
    figure.float-tablet-p-right {
      margin: 0 0 20px 25px; } }
  @media (min-width: 50em) {
    figure.float-tablet-l-left {
      margin: 0 25px 20px 0; }
    figure.float-tablet-l-right {
      margin: 0 0 20px 25px; } }
  @media (min-width: 60em) {
    figure.float-desktop-left {
      margin: 0 25px 20px 0; }
    figure.float-desktop-right {
      margin: 0 0 20px 25px; } }
  @media (min-width: 80em) {
    figure.float-widescreen-left {
      margin: 0 25px 20px 0; }
    figure.float-widescreen-right {
      margin: 0 0 20px 25px; } }
  figure figcaption {
    caption-side: bottom;
    display: table-caption;
    padding: 10px;
    font-size: 0.875rem;
    line-height: 1.2857em; }

figure.disclaimer figcaption {
  font-size: 0.6875rem;
  background: none;
  line-height: 1.7em; }

img {
  border: 0;
  padding: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle; }
  img.align-left h2,
  img.align-left h3,
  img.align-left h4,
  img.align-left h5,
  img.align-left h6, img.align-right h2,
  img.align-right h3,
  img.align-right h4,
  img.align-right h5,
  img.align-right h6 {
    margin-top: 0; }

.col img,
.col embed,
.col video {
  max-width: 100%; }

.col img,
.col video {
  height: auto; }

.cover-image picture,
.cover-image .cover-image-link {
  display: block;
  margin: 0 auto;
  max-width: 1440px; }

.cover-image .container-fluid .row:first-child {
  margin-top: 0; }

/**
 * @atom Tile
 * @section Content > Images
 * @description
 *  A container for rendering logos/product icons. The image is hosted through
 *  Sitecore or other hosting options, but should not be referenced by a sprite
 *  through CSS.
 * @markup
 *  <h3>With link</h3>
 *  <a href="#" class="tile">
 *      <img width="180" height="135" alt="" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *  </a>
 *  <br>
 *  <a href="#" class="tile">
 *      Antique & classic cars
 *  </a>
 *  <h3>Without link</h3>
 *  <div class="tile">
 *      Antique & classic cars
 *  </div>
 *  <br>
 *  <div class="tile">
 *      <img width="180" height="135" alt="" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *  </div>
 *
 */
.icon-btn,
.tile,
a.icon-btn,
a.tile,
.hover-tile {
  display: block;
  width: 180px;
  height: 135px;
  line-height: 135px;
  margin-bottom: 5px;
  text-align: center;
  background-color: #e6e6e6;
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  font-size: 1.125rem;
  overflow: hidden; }
  .icon-btn svg,
  .tile svg, a.icon-btn svg, .hover-tile svg {
    width: 160px;
    height: 115px;
    padding-top: 20px;
    padding-left: 1px; }
  .icon-btn.align-left,
  .tile.align-left,
  a.align-left.icon-btn,
  .align-left.hover-tile {
    display: none; }
    @media (min-width: 40em) {
      .icon-btn.align-left,
      .tile.align-left,
      a.align-left.icon-btn,
      .align-left.hover-tile {
        display: block;
        float: left;
        margin-right: 25px; } }
  .icon-btn + h2,
  .icon-btn + h3,
  .icon-btn + h4,
  .icon-btn + h5,
  .icon-btn + h6,
  .tile + h2, a.icon-btn + h2, .hover-tile + h2,
  .tile + h3, a.icon-btn + h3, .hover-tile + h3,
  .tile + h4, a.icon-btn + h4, .hover-tile + h4,
  .tile + h5, a.icon-btn + h5, .hover-tile + h5,
  .tile + h6, a.icon-btn + h6, .hover-tile + h6 {
    margin-top: 0; }

a.icon-btn,
a.icon-btn,
a.tile,
a.hover-tile {
  border: solid 2px transparent; }
  a.icon-btn:not(.no-border):hover,
  a.icon-btn:not(.no-border):hover,
  a.tile:not(.no-border):hover,
  a.hover-tile:not(.no-border):hover {
    border-color: #017DC7; }

/**
 * @atom Hover Tile
 * @section Content > Images
 * @description
 *  An extension of the tile class which allows you to display alternative
 *  content when hovering over the tile.
 * @markup
 *   <h3>With link</h3>
 *   <a href="#" class="hover-tile">
 *       <span class="default-state">Antique &amp; classic cars</span>
 *       <img alt="Antique &amp; classic cars" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *   </a>
 *   <br><h3>Without link</h3>
 *   <div class="hover-tile">
 *       <span class="default-state">Antique &amp; classic cars</span>
 *       <img alt="Antique &amp; classic cars" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *   </div>
 *
 */
.hover-tile :not(.default-state) {
  display: none; }

.hover-tile:hover {
  border-color: #e6e6e6 !important; }
  .hover-tile:hover .default-state {
    display: none; }

.hover-tile:hover :not(.default-state) {
  display: block; }

/**
 * @atom Tile Grid
 * @section Content > Images
 * @markup
 *   <div class="tile-grid tile-4-up">
 *      <a href="#" class="hover-tile">
 *          <span class="default-state">Antique &amp; classic cars</span>
 *          <img alt="Antique &amp; classic cars" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *      </a>
 *      <a href="#" class="tile">
 *          Regular Tile - Link
 *      </a>
 *      <div class="tile">
 *          <img width="180" height="135" alt="" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *      </div>
 *      <a href="#" class="hover-tile">
 *          <span class="default-state">Antique &amp; classic cars</span>
 *          <img alt="Antique &amp; classic cars" src="https://www.hagerty.com/corporate/~/media/Images/USHome/Insurance/Classic Car Insurance/Hobby Support/hvaLogo.ashx">
 *      </a>
 *   </div>
 *
 */
.tile-grid {
  line-height: 0; }
  .tile-grid .tile, .tile-grid a.icon-btn, .tile-grid .hover-tile,
  .tile-grid .hover-tile {
    display: inline-block;
    overflow: hidden; }
    .tile-grid .tile img, .tile-grid a.icon-btn img, .tile-grid .hover-tile img,
    .tile-grid .hover-tile img {
      margin: 0 auto; }

.tile-grid.tile-4-up .tile, .tile-grid.tile-4-up a.icon-btn, .tile-grid.tile-4-up .hover-tile,
.tile-grid.tile-4-up .hover-tile {
  width: 50%; }
  @media (min-width: 30em) {
    .tile-grid.tile-4-up .tile, .tile-grid.tile-4-up a.icon-btn, .tile-grid.tile-4-up .hover-tile,
    .tile-grid.tile-4-up .hover-tile {
      width: 24%; } }
  @media (min-width: 50em) {
    .tile-grid.tile-4-up .tile, .tile-grid.tile-4-up a.icon-btn, .tile-grid.tile-4-up .hover-tile,
    .tile-grid.tile-4-up .hover-tile {
      width: 50%; } }
  @media (min-width: 60em) {
    .tile-grid.tile-4-up .tile, .tile-grid.tile-4-up a.icon-btn, .tile-grid.tile-4-up .hover-tile,
    .tile-grid.tile-4-up .hover-tile {
      width: 24%; } }

/**
 * For displaying tabluar data in an organized fashion
 * @atom Table
 * @section Content > Tables
 * @markup
 *	<table class="table" style="clear: both;">
 *		<thead>
 *			<tr>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *			</tr>
 *      </thead>
 *      <tbody>
 *			<tr>
 *				<td>table data</td>
 *				<td>table data</td>
 *			</tr>
 *			<tr>
 *				<td>table data</td>
 *				<td>table data</td>
 *			</tr>
 *			<tr>
 *				<td>table data</td>
 *				<td>table data</td>
 *			</tr>
 *			<tr>
 *				<td>table data</td>
 *				<td>table data</td>
 *			</tr>
 *		</tbody>
 *	</table>
 */
table.table {
  width: 100%;
  margin-bottom: 20px; }
  table.table .table {
    background-color: #fff; }
  table.table thead > tr > th,
  table.table tfoot > tr > th {
    padding: 8px;
    line-height: 1.428571429;
    vertical-align: top;
    border-top: 2px solid #e6e6e6; }
  table.table tbody > tr > td {
    padding: 8px;
    line-height: 1.428571429;
    vertical-align: top;
    border-top: 1px solid #e6e6e6; }

/**
 * For displaying wide tabular data
 * @atom Table Scroll
 * @section Content > Tables
 * @markup
 *	<table class="table scroll" style="clear: both;">
 *		<tbody>
 *			<tr>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *				<th>Table Heading</th>
 *			</tr>
 *			<tr>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *			</tr>
 *			<tr>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *				<td>table data</td>
 *			</tr>
 *		</tbody>
 *	</table>
 */
table.scroll {
  display: block;
  width: 100%;
  overflow-x: auto; }

/**
 * @atom HR Line
 * @section Other
 * @description
 *   Standard HR line
 * @markup
 *   <hr>
 *   <hr class="medium-gray">
 *   <hr class="yellow">
 */
hr {
  height: 1px;
  border: none;
  color: #ccc;
  background-color: #ccc; }
  hr.medium-gray {
    color: #555;
    background-color: #555; }
  hr.yellow {
    color: #ffe11f;
    background-color: #ffe11f; }

/**
 * @atom Pseudo HR Line
 * @section Other
 * @description
 *   Pseudo HR line
 * @markup
 *   <div class="hr-top">Some text here gets an HR above it</div>
 *   <div class="hr-bottom">Some text here gets an HR above it</div>
 */
.hr-top::before {
  content: '';
  display: block;
  margin: 40px 0;
  border-top: 1px solid #ccc; }

.hr-bottom::after {
  content: '';
  display: block;
  margin: 40px 0;
  border-bottom: 1px solid #ccc; }

.hr-gutter-small::before, .hr-gutter-small ::after {
  margin: 20px 0; }

/**
 * @atom Branded HR Line
 * @section Other
 * @deprecated
 * @description
 *   Can be colored by appending any of the following classes - blue, dark-blue, red, dark-red, green, dark-green, yellow, dark-yellow, white, light-gray, concrete, dark-concrete, chrome, medium-grey, asphalt, black 
 * @markup
 *   <hr>
 */
hr.legacy {
  border: none;
  background-image: url("../img/icons/hr-line.svg");
  background-position: 0 0;
  background-repeat: no-repeat;
  display: block;
  width: auto;
  height: 5px;
  margin: 1em 0 1.5em 0; }
  hr.legacy.blue {
    background-position: 0  -0px; }
  hr.legacy.dark-blue {
    background-position: 0  -5px; }
  hr.legacy.red {
    background-position: 0 -10px; }
  hr.legacy.dark-red {
    background-position: 0 -15px; }
  hr.legacy.green {
    background-position: 0 -20px; }
  hr.legacy.dark-green {
    background-position: 0 -25px; }
  hr.legacy.yellow {
    background-position: 0 -30px; }
  hr.legacy.dark-yellow {
    background-position: 0 -35px; }
  hr.legacy.white {
    background-position: 0 -40px; }
  hr.legacy.light-gray {
    background-position: 0 -45px; }
  hr.legacy.concrete {
    background-position: 0 -50px; }
  hr.legacy.dark-concrete {
    background-position: 0 -55px; }
  hr.legacy.chrome {
    background-position: 0 -60px; }
  hr.legacy.medium-grey {
    background-position: 0 -65px; }
  hr.legacy.asphalt {
    background-position: 0 -70px; }
  hr.legacy.black {
    background-position: 0 -75px; }

.button, a.button {
  padding: 6px 20px;
  background: #017DC7;
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  font-size: 1.25rem;
  line-height: 1.6em;
  text-transform: capitalize;
  color: #fff;
  border: none;
  text-align: center;
  cursor: pointer;
  display: inline-block; }
  .button:hover, .button:active, .button:visited {
    color: #fff; }
  .button:hover, .button:active {
    background-color: #005389;
    text-decoration: none; }
  .button.primary {
    color: #fff;
    background: #5bb33b;
    text-transform: uppercase; }
    .button.primary:hover, .button.primary:active {
      background: #4b9330; }
  .button.tertiary, .content .newsletter-signup .cta-container .button.submit {
    background: transparent;
    border: 2px solid #017DC7;
    color: #017DC7; }
    .button.tertiary, .content .newsletter-signup .cta-container .button.submit, .button.tertiary:hover, .content .newsletter-signup .cta-container .button.submit:hover, .button.tertiary:active, .content .newsletter-signup .cta-container .button.submit:active, .button.tertiary:visited, .content .newsletter-signup .cta-container .button.submit:visited {
      color: #017DC7; }
    .button.tertiary:hover, .content .newsletter-signup .cta-container .button.submit:hover, .button.tertiary:active, .content .newsletter-signup .cta-container .button.submit:active {
      background: #017DC7;
      color: #fff; }
  .button.inverse {
    background: #555; }
    .button.inverse, .button.inverse:hover, .button.inverse:active, .button.inverse:visited {
      color: #e6e6e6; }
    .button.inverse:hover, .button.inverse:active {
      background: #7c8083; }
  .button.disabled, .button.disabled:hover, .button.disabled:active {
    color: #7c8083;
    background: #ccc;
    cursor: not-allowed; }

/**
 * @atom Button
 * @section Buttons
 * @description
 *  Button colors and styles to serve base on the call to action.
 *  Blue is the default color and has a normal emphasis.
 *  Green is used as a primary cta with a greater emphasis.
 *  Tertiary is used as a secondary or lower emphasis cta.
 * @markup
 *   <span class="demo-item">
 *      <a class="button">Default Button</a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button primary">Primary</a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button tertiary">Tertiary</a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button inverse">Inverse</a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button disabled">Disabled</a>
 *   </span>
 *   <span class="demo-item">
 *     <button class="button">Default @{include:svg.icon.edit}</button>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button primary">Primary @{include:svg.icon.proceed} </a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button tertiary">Tertiary @{include:svg.icon.download}</a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button large">Large</a>
 *   </span>
 *   <span class="demo-item">
 *     <a class="button large">Large @{include:svg.icon.proceed}</a>
 *   </span>
 */
.button.small {
  font-size: 1rem; }

.button.large {
  font-size: 1.5rem;
  padding: 10px 40px;
  text-transform: uppercase; }

/**
 * @atom Pill Button
 * @section Buttons
 * @markup
 *    <div class="pill-button">Yes</div>
 *    <div class="pill-button">No</div>
 */
.pill-button {
  cursor: pointer; }
  .pill-button:before {
    content: "";
    padding: 0 0 0 20px;
    background: url("../img/icons/pill-button.png") no-repeat; }
  .pill-button:hover:before {
    background-position: 0 -20px; }
  .pill-button:active:before {
    background-position: 0 -39px; }

svg.icon {
  fill: currentColor;
  height: .72em;
  width: .72em; }

/**
 * @icon Grid 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#grid" />
 *   </svg>
 */
/**
 * @icon Play 
 * @section Icons
 * @markup
 *   <svg class="icon play">
 *     <use xlink:href="#play" />
 *   </svg>
 */
/**
 * @icon Open Gallery 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#open-gallery" />
 *   </svg>
 */
/**
 * @icon Confirm 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#confirm" />
 *   </svg>
 */
/**
 * @icon Confirm 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#confirm" />
 *   </svg>
 */
/**
 * @icon Up 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#up" />
 *   </svg>
 */
/**
 * @icon Right 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#right" />
 *   </svg>
 */
/**
 * @icon Down 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#down" />
 *   </svg>
 */
/**
 * @icon Left 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#left" />
 *   </svg>
 */
/**
 * @icon Scroll
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#scroll" />
 *   </svg>
 */
/**
 * @icon Proceed
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#proceed" />
 *   </svg>
 */
/**
 * @icon Download 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#download" />
 *   </svg>
 */
/**
 * @icon Edit 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#edit" />
 *   </svg>
 */
/**
 * @icon Email 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#email" />
 *   </svg>
 */
/**
 * @icon Enlarge 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#enlarge" />
 *   </svg>
 */
/**
 * @icon Open Settings 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#open-settings" />
 *   </svg>
 */
/**
 * @icon Locked 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#lock" />
 *   </svg>
 */
/**
 * @icon Notice 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#notice" />
 *   </svg>
 */
/**
 * @icon Overflow 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#overflow" />
 *   </svg>
 */
/**
 * @icon Phone 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#phone" />
 *   </svg>
 */
/**
 * @icon Quote 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#quote" />
 *   </svg>
 */
/**
 * @icon Expand 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#expand" />
 *   </svg>
 */
/**
 * Going to give it to ya!
 * @icon Close / Remove
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#close" />
 *   </svg>
 */
/**
 * @icon X Circled 
 * @section Icons
 * @deprecated
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#x-circled" />
 *   </svg>
 */
/**
 * @icon Chevrons Right Knockout Circled
 * @section Icons > Deprecated
 * @deprecated
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#chevrons-right-knockout-circled" />
 *   </svg>
 */
/**
 * @icon Heart Knockout Rounded 
 * @section Icons
 * @deprecated
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#heart-knockout-rounded" />
 *   </svg>
 */
/**
 * @icon Minus Circled 
 * @section Icons
 * @deprecated
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#minus-circled" />
 *   </svg>
 */
/**
 * @icon Plus Knockout Rounded 
 * @section Icons
 * @deprecated
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#plus-knockout-rounded" />
 *   </svg>
 */
/**
 * @icon Plus Circled 
 * @section Icons
 * @deprecated
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#plus-circled" />
 *   </svg>
 */
/**
 * @icon Facebook 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#facebook" />
 *   </svg>
 */
/**
 * @icon Instagram 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#instagram" />
 *   </svg>
 */
/**
 * @icon LinkedIn 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#linkedin" />
 *   </svg>
 */
/**
 * @icon Reddit 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#reddit" />
 *   </svg>
 */
/**
 * @icon RSS 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#rss" />
 *   </svg>
 */
/**
 * @icon Twitter 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#twitter" />
 *   </svg>
 */
/**
 * @icon YouTube 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#youtube" />
 *   </svg>
 */
/**
 * @icon Tumblr 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#tumblr" />
 *   </svg>
 */
.facebook {
  background-color: #395c95; }
  .facebook:hover {
    background-color: #2b4570; }

.twitter {
  background-color: #00a4d7; }
  .twitter:hover {
    background-color: #007da4; }

.youtube {
  background-color: #d61920; }
  .youtube:hover {
    background-color: #a81419; }

.instagram {
  background-color: #eb2869; }
  .instagram:hover {
    background-color: #cd1351; }

.reddit {
  background-color: #ff4500; }
  .reddit:hover {
    background-color: #cc3700; }

.linkedin {
  background-color: #0077b5; }
  .linkedin:hover {
    background-color: #005582; }

.tumblr {
  background-color: #34465d; }
  .tumblr:hover {
    background-color: #222d3c; }

.email {
  background-color: #5bb33b; }
  .email:hover {
    background-color: #488d2e; }

.rss {
  background-color: #ff932a; }
  .rss:hover {
    background-color: #f67900; }

a, a:hover, a:active, a:visited {
  color: #017DC7;
  text-decoration: none; }

a:hover {
  text-decoration: underline; }

a.blue {
  color: #017DC7; }

a.yellow {
  color: #ffe11f; }

a[href^="tel:"] {
  white-space: pre; }

/**
 * @atom Links
 * @section Content
 * @description
 *  Link colors
 * @markup
 *   <div class="bg-primary" style="padding:10px">
 *	 	<a href="/">Default </a><br>
 *    <a href="tel:+1-800-747-5348">800-747-5348</a> - Telephone link
 *	 </div>
 *   <div class="bg-inverse" style="padding:10px">
 *	 	<a href="/">Yellow</a> - to only be used on asphalt.
 *	 </div>
 *   <div class="bg-secondary" style="padding:10px">
 *	 	<a href="/" class="white">White</a> - to only be used on blue.
 *	 </div>
 */
/**
 * @atom Runner
 * @description
 * 	A design element for breaking up a page with color runner. Fixed height for empty runners, use .runner-fixed-height
 * @markup
 *   <div class="primary-runner">.primary-runner</div>
 *   <div class="secondary-runner">.secondary-runner</div>
 *   <div class="tertiary-runner">.tertiary-runner</div>
 *   <div class="quaternary-runner">.quaternary-runner</div>
 *   <div class="page-runner">.page-runner</div>
 *   <div class="story-runner">.story-runner</div>
 */
.primary-runner {
  background: #017DC7;
  border-bottom: 1px solid #005389; }

.secondary-runner {
  background: #005389; }

.tertiary-runner {
  background: #363636;
  border-color: #363636; }

.quaternary-runner {
  background: #232323;
  border-color: #232323; }

.story-runner::after {
  content: ' ';
  display: block;
  height: 1px;
  border-bottom: 1px solid #ccc; }

.story-runner-featured::after {
  content: ' ';
  display: block;
  height: 1px;
  border-bottom: 8px solid #017DC7; }

.story-headline-runner {
  padding: 12px 0;
  background: #017DC7;
  border-bottom: 1px solid #005389; }

.page-runner {
  border-top: 3px solid #a7a7a7;
  background: url("../img/textures/texture_a.png") repeat-x;
  padding-top: 40px;
  background-position: 0 -30px; }

/**
 *
 * @atom Nav Items
 * @section Navigation
 * @description
 *  Simple navigation structure
 * @markup
 *  <ul class="nav-items">
 *      <li><a href="#">Sample Nav Item</a></li>
 *      <li><a href="#">Sample Nav Item</a></li>
 *      <li><a href="#">Sample Nav Item</a></li>
 *      <li><a href="#">Sample Nav Item</a></li>
 *  </ul>
 *
 */
.nav-items, .subcategory-navigation .nav-items {
  margin: 0;
  padding: 0;
  list-style: none; }

#menu-toggle {
  display: none;
  position: absolute;
  height: 32px;
  width: 36px;
  right: 15px;
  top: 20px;
  overflow: hidden;
  cursor: pointer; }
  #menu-toggle span, #menu-toggle span:before, #menu-toggle span:after {
    cursor: pointer;
    border-radius: 1px;
    height: 3px;
    width: 35px;
    background: #fff;
    position: absolute;
    display: block;
    content: '';
    transition: all 500ms ease-in-out; }
  #menu-toggle span:before {
    top: 12px; }
  #menu-toggle span:after {
    bottom: -24px; }
  #menu-toggle.active span {
    background-color: transparent; }
    #menu-toggle.active span:before, #menu-toggle.active span:after {
      top: 15px; }
    #menu-toggle.active span:before {
      -webkit-transform: rotate(45deg);
              transform: rotate(45deg); }
    #menu-toggle.active span:after {
      -webkit-transform: rotate(-45deg);
              transform: rotate(-45deg); }

/**
 *
 * @atom List
 * @section List
 * @markup
 *  <ul class="list">
 *      <li class="item">List Item</li>
 *      <li class="item">List Item</li>    
 *  </ul>
 *
 */
.list {
  margin: 0;
  padding: 0;
  list-style: none; }
  .list .item {
    overflow: hidden;
    clear: both;
    padding: 0; }

/**
     @Atom Flex Row List
 */
.horizontal-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  list-style: none; }
  .horizontal-list li {
    margin: 0 1.25rem 1.25rem 0; }
  .horizontal-list.center-label {
    text-align: center; }
  .horizontal-list.documents {
    padding: 0;
    font-size: 0.7rem;
    line-height: 1rem; }
    .horizontal-list.documents li {
      max-width: 120px;
      font-weight: bold;
      text-align: center; }
      .horizontal-list.documents li img {
        margin: 0 0 10px 0; }
      .horizontal-list.documents li .file-meta {
        font-size: .75em; }

/**
     @atom Bullet List Column
 */
.list-columns {
  padding-left: 15px;
  box-sizing: border-box; }

.list-columns.three-columns li {
  width: 100%;
  float: left;
  line-height: 2em; }

@media (min-width: 50em) {
  .list-columns.three-columns li {
    width: 50%; } }

@media (min-width: 60em) {
  .list-columns.three-columns li {
    width: 33%; } }

/**
 * @atom Background Color
 * @section Helper Classes
 * @description
 *  Generic background color classes that impart the appropriate text color
 *  and link color as necessary.
 * @markup
 *   <div class="demo-item bg-primary">
 *      <p>Background primary - <a href="#">Example Link</a></p>
 *   </div>
 *   <div class="demo-item bg-secondary">
 *      <p>Background secondary - <a href="#">Example Link</a></p>
 *   </div>
 *   <div class="demo-item bg-tertiary">
 *      <p>Background tertiary - <a href="#">Example Link</a></p>
 *   </div>
 *   <div class="demo-item bg-inverse">
 *      <p>Background inverse - <a href="#">Example Link</a></p>
 *   </div>
 */
.bg-primary {
  background-color: #fff;
  color: #232323; }
  .bg-primary a {
    color: #017DC7; }

.bg-secondary {
  background-color: #017DC7;
  color: #fff; }
  .bg-secondary a {
    color: inherit; }

figure figcaption, .bg-tertiary, .grey-box, .cta-box {
  background-color: #e6e6e6;
  color: #232323; }
  figure figcaption a, .bg-tertiary a, .grey-box a, .cta-box a {
    color: #017DC7; }

figure.charcoal figcaption, .bg-inverse {
  background-color: #232323;
  color: #fff; }
  figure.charcoal figcaption a, .bg-inverse a {
    color: #ffe11f; }

/**
 * @atom Grey Box
 * @section Helper Classes
 * @markup
 *   <div class="grey-box">
 *      <p>@{lipsum:2:sentence}</p>
 *   </div>
 */
.grey-box, .cta-box {
  display: block;
  padding: 15px 20px;
  margin: 1.5em 0; }
  .grey-box a.button, .cta-box a.button,
  .grey-box .button, .cta-box .button {
    color: #fff; }

/**
 * @atom Hide To Desktop
 * @section Helpers > Hide/Show Content
 * @description 
 *  Removes element from mobile and tablet views
 * @markup 
 *  <div class="hide-to-desktop">
 *      <p>@{lipsum:30:words}</p>
 *  </div>        
 */
@media (max-width: 59.99em) {
  .hide-to-desktop {
    display: none; } }

/**
 * @atom Hide From Desktop
 * @section Helpers > Hide/Show Content
 * @description 
 *  Removes element from desktop view
 * @markup 
 *  <div class="hide-from-desktop">
 *      <p>@{lipsum:30:words}</p>
 *  </div>        
 */
@media (min-width: 60em) {
  .hide-from-desktop {
    display: none; } }

/**
 * @atom Hide From Tablet
 * @section Helpers > Hide/Show Content
 * @description 
 *  Removes element from tablet and desktop view
 * @markup 
 *  <div class="hide-from-tablet">
 *      <p>@{lipsum:30:words}</p>
 *  </div>        
 */
@media (min-width: 50em) {
  .hide-from-tablet {
    display: none; } }

/**
 * @atom Page Navigation
 * @section Navigation
 * @markup
 *  <div class="page-nav">
 *      <span class="page-prev"><a href="#">@{include:svg.icon.left} Previous Page</a></span>
 *      <span class="page-next"><a href="#">Next Page @{include:svg.icon.right}</a></span>
 *  </div>
 */
.page-nav:before, .page-nav:after {
  content: " ";
  display: table; }

.page-nav:after {
  clear: both; }

.page-nav .page-next {
  float: right; }

.page-nav .page-prev {
  float: left; }

/**
 * @atom Widget
 * @section Other
 * @description
 *   The foundation of all widgets
 * @markup
 *   <div class="widget">
 *     <h2 class="heading">
 *       Widget <strong>Heading</strong>
 *     </h2>
 *     <p>
 *       Widget copy
 *     </p>
 *   </div>
 */
.widget {
  line-height: 1.5em; }
  .widget + .widget {
    margin-top: 1.25rem; }
  .widget.primary {
    background: #e6e6e6;
    padding: 20px; }
  .widget.transparent {
    background: none;
    padding: 20px 0; }
  .widget.small-headline {
    font-size: 14px; }
    .widget.small-headline .heading {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-weight: normal;
      font-size: 1.15em; }
  .widget .heading {
    font-weight: 600;
    font-size: 2.5em;
    line-height: 1em;
    margin: 0 0 0.25em 0; }
    .widget .heading strong {
      font-weight: 600; }

.horizontal-widgets .widget {
  height: 100%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  .horizontal-widgets .widget .button {
    margin-top: auto;
    display: table; }

.sidebar .trustpilot-widget {
  margin-top: 1.25rem; }
  .sidebar .trustpilot-widget.clear-widget {
    padding: 20px;
    border: 2px solid #CCC; }

/**
 *
 * @atom Publish Date
 * @section Content > Typography
 * @description
 *  A component to display the date an item was published, normally used on date sensitive items ex: article, press release, etc. 
 * @markup
 *   <span class="publish-date">  
 *     <span class="publish-day">20</span>
 *     <span class="publish-month">December</span>
 *     <span class="publish-year">2016</span>  
 *   </span>
 */
.publish-date {
  display: block;
  float: left;
  width: 70px;
  padding: 5px;
  margin: 0 10px 20px 0;
  background: #e6e6e6;
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 14px;
  text-transform: uppercase;
  text-align: center; }
  .publish-date .publish-day {
    display: block;
    margin: 0;
    font-size: 40px;
    line-height: 35px; }
  .publish-date .publish-month, .publish-date .publish-year {
    display: inline; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

/**
 * @atom Float
 * @section Utility
 * @description
 *  Float utility classes to help float elements by breakpoint.
 *  Each class is unique to the breakpoint and up.
 *  EX: .float-desktop-right will be in effect through all breakpoints after
 *  desktop, but will not affect the mobile or tablet views.
 * @markup
 *   <div class="demo-item clearfix">
 *      <p class="float-mobile-p-right sg-highligh-element">float-right Mobile</p>
 *      <p class="float-mobile-p-left sg-highligh-element">float-left Mobile</p>
 *   </div>
 *   <div class="demo-item clearfix">
 *      <p class="float-tablet-p-left sg-highligh-element">float-left tablet portrait</p>
 *      <p class="float-tablet-p-right sg-highligh-element">float-right tablet portrait</p>
 *   </div>
 *   <div class="demo-item clearfix">
 *      <p class="float-tablet-l-left sg-highligh-element">float-left tablet landscape</p>
 *      <p class="float-tablet-l-right sg-highligh-element">float-right tablet landscape</p>
 *   </div>
 *   <div class="demo-item clearfix">
 *      <p class="float-desktop-left sg-highligh-element">float-left desktop</p>
 *      <p class="float-desktop-right sg-highligh-element">float-right desktop</p>
 *   </div>
 *   <div class="demo-item clearfix">
 *      <p class="float-widescreen-left sg-highligh-element">float-left widescreen</p>
 *      <p class="float-widescreen-right sg-highligh-element">float-right widescreen</p>
 *   </div>
 */
.float-mobile-p-right,
.float-mobile-p-left {
  margin: 0 auto; }
  .float-mobile-p-right:not(figure),
  .float-mobile-p-left:not(figure) {
    display: block; }
  .float-mobile-p-right.padded,
  .float-mobile-p-left.padded {
    margin: 0; }
    .float-mobile-p-right.padded + p,
    .float-mobile-p-left.padded + p {
      margin-top: 15px; }

@media (min-width: 20em) {
  .float-mobile-p-left {
    float: left; }
    .float-mobile-p-left.padded {
      margin: .35em 20px .35em 0; }
      .float-mobile-p-left.padded + p {
        margin-top: 0; }
  .float-mobile-p-right {
    float: right; }
    .float-mobile-p-right.padded {
      margin: .35em 0 .35em 20px; }
      .float-mobile-p-right.padded + p {
        margin-top: 0; }
  .float-mobile-p-none {
    float: none !important; } }

.float-mobile-l-right,
.float-mobile-l-left {
  margin: 0 auto; }
  .float-mobile-l-right:not(figure),
  .float-mobile-l-left:not(figure) {
    display: block; }
  .float-mobile-l-right.padded,
  .float-mobile-l-left.padded {
    margin: 0; }
    .float-mobile-l-right.padded + p,
    .float-mobile-l-left.padded + p {
      margin-top: 15px; }

@media (min-width: 30em) {
  .float-mobile-l-left {
    float: left; }
    .float-mobile-l-left.padded {
      margin: .35em 20px .35em 0; }
      .float-mobile-l-left.padded + p {
        margin-top: 0; }
  .float-mobile-l-right {
    float: right; }
    .float-mobile-l-right.padded {
      margin: .35em 0 .35em 20px; }
      .float-mobile-l-right.padded + p {
        margin-top: 0; }
  .float-mobile-l-none {
    float: none !important; } }

.float-tablet-p-right,
.float-tablet-p-left {
  margin: 0 auto; }
  .float-tablet-p-right:not(figure),
  .float-tablet-p-left:not(figure) {
    display: block; }
  .float-tablet-p-right.padded,
  .float-tablet-p-left.padded {
    margin: 0; }
    .float-tablet-p-right.padded + p,
    .float-tablet-p-left.padded + p {
      margin-top: 15px; }

@media (min-width: 40em) {
  .float-tablet-p-left {
    float: left; }
    .float-tablet-p-left.padded {
      margin: .35em 20px .35em 0; }
      .float-tablet-p-left.padded + p {
        margin-top: 0; }
  .float-tablet-p-right {
    float: right; }
    .float-tablet-p-right.padded {
      margin: .35em 0 .35em 20px; }
      .float-tablet-p-right.padded + p {
        margin-top: 0; }
  .float-tablet-p-none {
    float: none !important; } }

.float-tablet-l-right,
.float-tablet-l-left {
  margin: 0 auto; }
  .float-tablet-l-right:not(figure),
  .float-tablet-l-left:not(figure) {
    display: block; }
  .float-tablet-l-right.padded,
  .float-tablet-l-left.padded {
    margin: 0; }
    .float-tablet-l-right.padded + p,
    .float-tablet-l-left.padded + p {
      margin-top: 15px; }

@media (min-width: 50em) {
  .float-tablet-l-left {
    float: left; }
    .float-tablet-l-left.padded {
      margin: .35em 20px .35em 0; }
      .float-tablet-l-left.padded + p {
        margin-top: 0; }
  .float-tablet-l-right {
    float: right; }
    .float-tablet-l-right.padded {
      margin: .35em 0 .35em 20px; }
      .float-tablet-l-right.padded + p {
        margin-top: 0; }
  .float-tablet-l-none {
    float: none !important; } }

.float-desktop-right,
.float-desktop-left {
  margin: 0 auto; }
  .float-desktop-right:not(figure),
  .float-desktop-left:not(figure) {
    display: block; }
  .float-desktop-right.padded,
  .float-desktop-left.padded {
    margin: 0; }
    .float-desktop-right.padded + p,
    .float-desktop-left.padded + p {
      margin-top: 15px; }

@media (min-width: 60em) {
  .float-desktop-left {
    float: left; }
    .float-desktop-left.padded {
      margin: .35em 20px .35em 0; }
      .float-desktop-left.padded + p {
        margin-top: 0; }
  .float-desktop-right {
    float: right; }
    .float-desktop-right.padded {
      margin: .35em 0 .35em 20px; }
      .float-desktop-right.padded + p {
        margin-top: 0; }
  .float-desktop-none {
    float: none !important; } }

.float-widescreen-right,
.float-widescreen-left {
  margin: 0 auto; }
  .float-widescreen-right:not(figure),
  .float-widescreen-left:not(figure) {
    display: block; }
  .float-widescreen-right.padded,
  .float-widescreen-left.padded {
    margin: 0; }
    .float-widescreen-right.padded + p,
    .float-widescreen-left.padded + p {
      margin-top: 15px; }

@media (min-width: 80em) {
  .float-widescreen-left {
    float: left; }
    .float-widescreen-left.padded {
      margin: .35em 20px .35em 0; }
      .float-widescreen-left.padded + p {
        margin-top: 0; }
  .float-widescreen-right {
    float: right; }
    .float-widescreen-right.padded {
      margin: .35em 0 .35em 20px; }
      .float-widescreen-right.padded + p {
        margin-top: 0; }
  .float-widescreen-none {
    float: none !important; } }

/**
 * @atom .titanic
 * @section Utility
 * @description
 *  Was meant to be a joke. Simply sets float property to none.
 * @markup
 *   <div class="demo-item clearfix">
 *      <p class="titanic">Should never float</p>
 *   </div>
 */
.titanic {
  float: none; }

/**
 * @molecule Call To Action Box
 * @section Callouts
 * @markup
 *   <div class="cta-box">
 *      <p><strong><a href="#">Get A Quote Now</a></strong>  or call us for more information on <strong><a href="tel:#">877-922-9701</a></strong> </p>
 *   </div>
 */
.cta-box {
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 1.563rem;
  line-height: 1.2em; }
  .cta-box strong {
    font-weight: 600; }

/**
 * @molecule Voting Tool
 * @section User Feedback
 * @markup
 *      <div class="voting-tool">
 *        <h3 class="voting-label">Was this styleguide helpful?</h3>
 *          <ul class="voting-options" data-guid="#">
 *            <li class="voting-option voting-option-0 pill-button">Yes</li>
 *            <li class="voting-option voting-option-1 pill-button">No</li>
 *          </ul>
 *      </div>
 *
 */
.voting-tool .voting-options .pill-button {
  display: inline; }

/**
 * @molecule Play Video
 * @section Image > Icon Overlay
 * @description 
 *  Play icon overlayed on an image
 * @markup 
 *          <figure class="thumb-container">
 *              <span class="thumb thumb-small play"><img src="../img/thumb.png"></span>
 *          </figure>
 */
.play::after {
  content: "";
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  position: absolute;
  background-image: url("data:image/svg+xml;base64,PHN2ZyANCiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiDQogdmlld0JveD0iMCAtMTAgMTEyIDEzMiI+DQogICAgPGRlZnM+CQkJDQogICAgICAgIDxmaWx0ZXIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iZHJvcHNoYWRvdyI+DQogICAgICAgICAgICA8ZmVPZmZzZXQgcmVzdWx0PSJvZmZPdXQiIGluPSJTb3VyY2VHcmFwaGljIiBkeD0iMCIgZHk9IjAiLz4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHJlc3VsdD0ibWF0cml4T3V0IiBpbj0ib2ZmT3V0IiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yIDAgMCAwIDAgMCAwLjIgMCAwIDAgMCAwIDAuMiAwIDAgMCAwIDAgMSAwIi8+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJibHVyT3V0IiBpbj0ibWF0cml4T3V0IiBzdGREZXZpYXRpb249IjYiLz4NCiAgICAgICAgICAgIDxmZUJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPiAgIA0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQogICAgPHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWx0ZXI9InVybCgjZHJvcHNoYWRvdykiIGQ9Ik01Ni4wMDAsMTEyLjAwMCBDMjUuMDcyLDExMi4wMDAgLTAuMDAwLDg2LjkyOCAtMC4wMDAsNTYuMDAwIEMtMC4wMDAsMjUuMDcyIDI1LjA3MiwwLjAwMCA1Ni4wMDAsMC4wMDAgQzg2LjkyOCwwLjAwMCAxMTIuMDAwLDI1LjA3MiAxMTIuMDAwLDU2LjAwMCBDMTEyLjAwMCw4Ni45MjggODYuOTI4LDExMi4wMDAgNTYuMDAwLDExMi4wMDAgWk01Ni4wMDAsMTEuMDAwIEMzMS4xNDcsMTEuMDAwIDExLjAwMCwzMS4xNDcgMTEuMDAwLDU2LjAwMCBDMTEuMDAwLDgwLjg1MyAzMS4xNDcsMTAxLjAwMCA1Ni4wMDAsMTAxLjAwMCBDODAuODUzLDEwMS4wMDAgMTAxLjAwMCw4MC44NTMgMTAxLjAwMCw1Ni4wMDAgQzEwMS4wMDAsMzEuMTQ3IDgwLjg1MywxMS4wMDAgNTYuMDAwLDExLjAwMCBaTTQ0LjAwMCwzNi4wMDAgTDc4LjAwMCw1NS45ODYgTDQ0LjAwMCw3Ni4wMDAgTDQ0LjAwMCwzNi4wMDAgWiIvPg0KPC9zdmc+");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 30%; }

.video-player .video-container {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  background-size: cover;
  background-position: 50% 50%;
  cursor: pointer; }

.video-player .video-container iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

#story-body .video-player {
  margin: 0 0 1.5em 0; }

/**
 *
 * @molecule Pull Quote
 * @section Callouts
 * @markup
 *  <div class="content">
 *      <blockquote class="pullquote"> 
 *          <p>@{lipsum:1:sentence} <br> <a href="#">Example link</a></p>
 *      </blockquote>
 *
 *      <blockquote class="pullquote charcoal"> 
 *          <p>@{lipsum:1:sentence} <br> <a href="#">Example link</a></p>
 *      </blockquote>
 *  </div>
 *
 */
.content .pullquote, .content .pullquote.charcoal {
  overflow: hidden;
  padding: 1rem;
  margin-left: 0;
  border: none;
  background: #e6e6e6;
  text-transform: uppercase; }
  .content .pullquote p, .content .pullquote.charcoal p {
    color: #232323;
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    font-style: normal;
    font-size: 2.5rem;
    line-height: 45px; }
    .content .pullquote p strong, .content .pullquote.charcoal p strong {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-weight: normal; }
  .content .pullquote:after, .content .pullquote.charcoal:after {
    display: none; }

.content .charcoal.pullquote {
  background: #232323; }

.content .charcoal.pullquote p,
.content .pullquote.black p {
  color: #fff; }

.press-releases .press-release-item {
  margin: 0 0 30px 0; }

.press-releases .press-release-date {
  background-color: #232323;
  padding: 5px 5px 3px 5px;
  color: #fff;
  font-weight: bold;
  font-size: 1.25em; }

.press-releases .press-release-teaser {
  font-size: 12px;
  margin: 5px 0; }

.comment-form {
  background-color: #e6e6e6;
  margin: 20px 0 0; }
  .comment-form .title {
    background: #ccc;
    font-size: 24px;
    line-height: 35px;
    text-transform: uppercase;
    padding: 0 30px; }
  .comment-form .comments-submission-form {
    padding: 20px; }
    @media (min-width: 40em) {
      .comment-form .comments-submission-form {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .comment-form .comments-submission-form .left-panel,
        .comment-form .comments-submission-form .right-panel {
          width: 50%; }
        .comment-form .comments-submission-form .left-panel {
          padding-right: 10px; }
        .comment-form .comments-submission-form .right-panel {
          padding-left: 10px; } }

.comments .title {
  background: #ccc;
  font-size: 24px;
  line-height: 35px;
  text-transform: uppercase;
  padding: 0 30px; }

.comments .comment-list {
  padding: 0; }
  .comments .comment-list .comment-item {
    overflow: hidden; }
    .comments .comment-list .comment-item .comment-callout {
      float: left; }
    .comments .comment-list .comment-item .comment-number {
      display: block;
      background: #e6e6e6;
      width: 40px;
      margin: 0 10px 0 0;
      font-family: 'HelveticaNeueW01-77BdCn 692722';
      font-weight: normal;
      color: #c8c7c7;
      text-align: center;
      font-size: 24px;
      line-height: 35px; }
    .comments .comment-list .comment-item .comment-details {
      overflow: hidden;
      padding: 0 0 10px 0;
      margin-top: -25px;
      font-size: 12px;
      line-height: 20px;
      border-bottom: 1px solid #cecece; }
    .comments .comment-list .comment-item .comment-author {
      display: block;
      margin: 0 0 10px 0; }
      .comments .comment-list .comment-item .comment-author .comment-author-name {
        display: block;
        font-weight: bold; }
      .comments .comment-list .comment-item .comment-author .comment-author-location {
        display: block; }
      .comments .comment-list .comment-item .comment-author .comment-publish-date {
        display: block;
        color: #7c8083; }

/**
 *
 * @molecule Subcategory Navigation
 * @section Navigation
 * @markup
 *  <nav class="subcategory-navigation">
 *      @{include:.nav-items}       
 *  </nav>
 *
 */
.subcategory-navigation {
  overflow: hidden; }
  .subcategory-navigation .nav-items {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 5px; }
    .subcategory-navigation .nav-items li {
      margin: 5px 0;
      min-width: 49%;
      padding: 0px 2px 0; }
      @media (min-width: 50em) {
        .subcategory-navigation .nav-items li {
          min-width: 24%;
          padding: 0 10px 0 0; } }
      .subcategory-navigation .nav-items li a {
        display: block;
        padding: 5px 10px;
        background: #e6e6e6;
        font-size: 1rem;
        font-family: "HelveticaNeueW01-67MdCn 692710"; }
        .subcategory-navigation .nav-items li a include at-breakpoint($tablet-l) {
          padding: 5px 20px; }
        .subcategory-navigation .nav-items li a:hover {
          background: #017DC7;
          color: #fff; }
        .subcategory-navigation .nav-items li a:active {
          background: #232323;
          color: #fff; }
  .subcategory-navigation + .pagination {
    margin: 15px 0 0; }

/**
 *
 * @molecule Pagination
 * @section Navigation
 * @markup
 *   <div class="pagination top-pagination list-pagination">
 *       <span class="pagination-text">showing 1-10 of 45 </span> |
 *       <a href="#" class="page-btn prev-btn">Prev</a> <!-- Should only show if past the first screen-->
 *       <a href="#" class="page-btn">1</a> <a href="#" class="page-btn active">2</a> <a href="#" class="page-btn">3</a>
 *       <span class="page-btn empty">…</span>
 *       <a href="#" class="page-btn">5</a>
 *       <a href="#" class="page-btn next-btn">Next</a>
 *   </div>
 *
 */
.pagination-wrapper {
  overflow: hidden; }

.pagination {
  font-size: 0.875rem;
  line-height: 15px;
  text-align: right;
  margin: 20px 0 30px; }
  .pagination .page-btn {
    color: #017DC7;
    background: none;
    padding: 0 2px;
    margin: 0 2px 5px 2px;
    cursor: pointer;
    zoom: 1; }
    .pagination .page-btn.prev-btn:before {
      content: "\00ab ";
      font-size: 0.875rem; }
    .pagination .page-btn.next-btn:after {
      content: " \00bb";
      font-size: 0.875rem; }
    .pagination .page-btn.empty {
      background: none;
      cursor: default;
      color: #7c8083; }
    .pagination .page-btn:hover, .pagination .page-btn.active {
      background: #e6e6e6; }
    .pagination .page-btn:first-child {
      margin: 0; }

.primary-navigation {
  position: relative;
  overflow: hidden; }
  @media (min-width: 60em) {
    .primary-navigation {
      overflow: visible; }
      .primary-navigation .navigation-bar {
        position: initial; }
        .lt-ie10 .primary-navigation .navigation-bar,
        .ie9 .primary-navigation .navigation-bar {
          overflow: hidden; }
      .primary-navigation .navigation-bar,
      .primary-navigation .navigation-structure {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  .primary-navigation .navigation-structure {
    height: 100%;
    width: 100%; }
    @media (max-width: 60em) {
      .primary-navigation .navigation-structure.collapsed {
        display: none; }
      .primary-navigation .navigation-structure nav > ul.nav-items, .primary-navigation .navigation-structure .subcategory-navigation nav > ul.nav-items,
      .primary-navigation .navigation-structure nav > ul.nav-items a.tab,
      .primary-navigation .navigation-structure .subcategory-navigation nav > ul.nav-items a.tab {
        background: #363636;
        margin: 0 -0.625rem;
        padding: 0 0.625rem; }
      .primary-navigation .navigation-structure nav:not(:last-child) > ul.nav-items, .primary-navigation .navigation-structure .subcategory-navigation nav:not(:last-child) > ul.nav-items,
      .primary-navigation .navigation-structure nav > ul.nav-items a.tab.active,
      .primary-navigation .navigation-structure .subcategory-navigation nav > ul.nav-items a.tab.active {
        border-bottom: solid 1px #7c8083; } }
    .primary-navigation .navigation-structure .touchevents.collapsed {
      display: none; }
    .primary-navigation .navigation-structure .touchevents nav > ul.nav-items, .primary-navigation .navigation-structure .touchevents .subcategory-navigation nav > ul.nav-items,
    .primary-navigation .navigation-structure .touchevents nav > ul.nav-items a.tab,
    .primary-navigation .navigation-structure .touchevents .subcategory-navigation nav > ul.nav-items a.tab {
      background: #363636;
      margin: 0 -0.625rem;
      padding: 0 0.625rem; }
    .primary-navigation .navigation-structure .touchevents nav:not(:last-child) > ul.nav-items, .primary-navigation .navigation-structure .touchevents .subcategory-navigation nav:not(:last-child) > ul.nav-items,
    .primary-navigation .navigation-structure .touchevents nav > ul.nav-items a.tab.active,
    .primary-navigation .navigation-structure .touchevents .subcategory-navigation nav > ul.nav-items a.tab.active {
      border-bottom: solid 1px #7c8083; }
    .primary-navigation .navigation-structure ul.nav-items a {
      color: #fff;
      padding: 5px 0; }
      .primary-navigation .navigation-structure ul.nav-items a.tab {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        height: 70px;
        padding: 10px 0;
        font-size: 1.25rem;
        font-family: "HelveticaNeueW01-67MdCn 692710";
        font-weight: normal;
        text-transform: uppercase;
        text-decoration: none; }
        .primary-navigation .navigation-structure ul.nav-items a.tab:before {
          content: "";
          position: absolute;
          width: 100%;
          height: 2px;
          bottom: 34%;
          left: 0;
          background-color: #fff;
          visibility: hidden;
          -webkit-transform: scaleX(0);
          transform: scaleX(0);
          transition: all 0.3s ease-in-out 0s; }
    .primary-navigation .navigation-structure ul.nav-items li.label {
      margin: 0 -0.625rem;
      padding: 0 0.625rem;
      display: block;
      padding: 5px 10px;
      background: #232323;
      color: #d7d7d7;
      font-weight: bold;
      text-transform: uppercase;
      cursor: default; }
    .primary-navigation .navigation-structure ul.nav-items .secondary-nav li > a,
    .primary-navigation .navigation-structure ul.nav-items .secondary-nav .secondary-nav-header {
      display: block;
      padding: 8px 0; }
    @media (min-width: 60em) {
      .primary-navigation .navigation-structure ul.nav-items:not(.secondary-nav) {
        height: 70px;
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; }
        .lt-ie10 .primary-navigation .navigation-structure ul.nav-items:not(.secondary-nav),
        .ie9 .primary-navigation .navigation-structure ul.nav-items:not(.secondary-nav) {
          float: left; }
        .lt-ie10 .primary-navigation .navigation-structure ul.nav-items:not(.secondary-nav) a.tab,
        .ie9 .primary-navigation .navigation-structure ul.nav-items:not(.secondary-nav) a.tab {
          display: block;
          margin-top: 10px; }
        .primary-navigation .navigation-structure ul.nav-items:not(.secondary-nav) li:first-child {
          padding: 0 30px; }
      .primary-navigation .navigation-structure ul.nav-items .secondary-nav {
        position: absolute;
        left: 0;
        right: 0;
        top: 70px;
        padding: 0 5%;
        max-width: none;
        display: none;
        background: #363636;
        overflow: hidden;
        line-height: 1em; }
      .primary-navigation .navigation-structure ul.nav-items:hover li:first-child {
        cursor: pointer; }
        .primary-navigation .navigation-structure ul.nav-items:hover li:first-child a:before {
          visibility: visible !important;
          -webkit-transform: scaleX(1);
          transform: scaleX(1) !important; }
          .primary-navigation .navigation-structure ul.nav-items:hover li:first-child a:before li:first-child {
            padding: 0 30px; }
      .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed,
      .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        border-top: solid 8px #017DC7;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        font-size: 0.875rem; }
        .lt-ie10 .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed,
        .ie9 .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed, .lt-ie10
        .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav,
        .ie9
        .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav {
          display: block; }
        .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items,
        .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items {
          display: block;
          height: auto;
          min-width: 25%;
          padding: 30px 0; }
          .lt-ie10 .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items,
          .ie9 .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items, .lt-ie10
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items,
          .ie9
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items {
            float: left; }
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items li.label,
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items li.label {
            display: block;
            width: 90%;
            padding: 5px 10px;
            background: #232323;
            color: #d7d7d7;
            font-weight: bold;
            text-transform: uppercase;
            text-decoration: none;
            cursor: default; }
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items li a,
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items li a {
            display: block;
            padding: 8px 0; }
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items li.label,
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items li a,
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items li.label,
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items li a {
            color: #fff; }
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav.collapsed .nav-items li + li.label,
          .primary-navigation .navigation-structure ul.nav-items:hover .secondary-nav .nav-items li + li.label {
            margin-top: 16px !important; }
      html.touchevents .primary-navigation .navigation-structure ul.nav-items .secondary-nav.collapsed {
        display: none; } }
    .primary-navigation .navigation-structure ul.nav-items .secondary-nav.collapsed {
      display: none; }
  @media (max-width: 60em) {
    .primary-navigation #menu-toggle {
      display: block; } }

.footer-navigation {
  padding: 10px 0;
  font-size: 0.6875rem;
  text-align: center; }
  .footer-navigation nav {
    display: inline-block; }
    .footer-navigation nav li {
      display: inline-block; }
      .footer-navigation nav li:after {
        content: "|";
        margin: 0 5px; }
  .footer-navigation .copyright-label:after {
    content: "|";
    margin: 0 5px; }
  .footer-navigation .region-icn {
    padding: 2px 2px 2px 25px;
    margin: 0;
    border: none;
    text-decoration: none; }
    .footer-navigation .region-icn:after {
      content: "";
      margin: 0; }
  .footer-navigation .country-uk {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnDQoJdmVyc2lvbj0iMS4xIg0KCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCgl4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayINCgl4PSIwcHgiDQoJeT0iMHB4Ig0KCXdpZHRoPSIyNnB4Ig0KCWhlaWdodD0iMTNweCINCgl2aWV3Qm94PSIwIDAgMjYgMTMiDQoJeG1sOnNwYWNlPSJwcmVzZXJ2ZSINCj4NCg0KCTxkZWZzPg0KDQoJCTxyZWN0IGlkPSJXaGl0ZVN0cmlwZSIgZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjMwIiBoZWlnaHQ9IjIuNiIgLz4NCgkJPHJlY3QgaWQ9IlJlZFN0cmlwZSIgICBmaWxsPSIjQ0YxNDJCIiB3aWR0aD0iMTUiIGhlaWdodD0iMC44NjY2NjY2NjY2NjY2NjY3IiAvPg0KDQoJCTxnIGlkPSJTdHJpcGUiPg0KCQkJPHVzZSB4bGluazpocmVmPSIjV2hpdGVTdHJpcGUiIHg9IjAiIHk9IjAiIC8+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNSZWRTdHJpcGUiICAgeD0iMCIgeT0iMS4zIiAvPg0KCQkJPHVzZSB4bGluazpocmVmPSIjUmVkU3RyaXBlIiAgIHg9IjE1IiB5PSIwLjQzMzMzMzMzMzMzMzMzMzMiIC8+DQoJCTwvZz4NCg0KCTwvZGVmcz4NCg0KCTxyZWN0IGZpbGw9IiMwMDI0N0QiIHdpZHRoPSIyNiIgaGVpZ2h0PSIxMyIvPg0KDQoJPHVzZSB4bGluazpocmVmPSIjU3RyaXBlIiB4PSItMiIgeT0iNS4yIiB0cmFuc2Zvcm09InJvdGF0ZSgyNi41LCAxMywgNi41KSIgLz4NCgk8dXNlIHhsaW5rOmhyZWY9IiNTdHJpcGUiIHg9Ii0yIiB5PSI1LjIiIHRyYW5zZm9ybT0icm90YXRlKC0yNi41LCAxMywgNi41KSIgLz4NCg0KCTxwb2x5Z29uIGZpbGw9IiNGRkZGRkYiIHBvaW50cz0iDQoJCTAsNC4zMzMNCgkJMTAuODMzLDQuMzMzDQoJCTEwLjgzMywwDQoJCTE1LjE2NywwDQoJCTE1LjE2Nyw0LjMzMw0KCQkyNiw0LjMzMw0KCQkyNiw4LjY2Nw0KCQkxNS4xNjcsOC42NjcNCgkJMTUuMTY3LDEzDQoJCTEwLjgzMywxMw0KCQkxMC44MzMsOC42NjcNCgkJMCw4LjY2Nw0KCSIvPg0KDQoJPHBvbHlnb24gZmlsbD0iI0NGMTQyQiIgcG9pbnRzPSINCgkJMCw1LjINCgkJMTEuNyw1LjINCgkJMTEuNywwDQoJCTE0LjMsMA0KCQkxNC4zLDUuMg0KCQkyNiw1LjINCgkJMjYsNy43OTkNCgkJMTQuMyw3Ljc5OQ0KCQkxNC4zLDEzDQoJCTExLjcsMTMNCgkJMTEuNyw3Ljc5OQ0KCQkwLDcuNzk5DQoJIi8+DQoNCjwvc3ZnPg==) 3px center no-repeat; }
  .footer-navigation .country-us {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnDQoJdmVyc2lvbj0iMS4xIg0KCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCgl4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayINCgl4PSIwcHgiDQoJeT0iMHB4Ig0KCXdpZHRoPSIyNnB4Ig0KCWhlaWdodD0iMTNweCINCgl2aWV3Qm94PSIwIDAgMjYgMTMiDQoJeG1sOnNwYWNlPSJwcmVzZXJ2ZSINCj4NCg0KCTxkZWZzPg0KDQoJCTxyZWN0IGlkPSJSZWRTdHJpcGUiIGZpbGw9IiNCMjIyMzQiIHdpZHRoPSIyNiIgaGVpZ2h0PSIxIiAvPg0KCQk8cG9seWdvbg0KCQkJaWQ9IlN0YXIiDQoJCQlmaWxsPSIjRkZGRkZGIg0KCQkJcG9pbnRzPSINCgkJCQkwLjUxOCwwLjQ0DQoJCQkJMC43NSwwLjI3Mg0KCQkJCTAuNDY0LDAuMjcyDQoJCQkJMC4zNzUsMA0KCQkJCTAuMjg2LDAuMjcyDQoJCQkJMCwwLjI3Mg0KCQkJCTAuMjMyLDAuNDQNCgkJCQkwLjE0MywwLjcxMw0KCQkJCTAuMzc1LDAuNTQ1DQoJCQkJMC42MDcsMC43MTMNCgkJCSINCgkJLz4NCg0KCQk8ZyBpZD0iU3RhcnM1Ij4NCgkJCTx1c2UgeGxpbms6aHJlZj0iI1N0YXIiIHg9IjAiIHk9IjAiIC8+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyIiB4PSIxLjY2NjY2NjY2NjY2NjY2NyIgeT0iMCIgLz4NCgkJCTx1c2UgeGxpbms6aHJlZj0iI1N0YXIiIHg9IjMuMzMzMzMzMzMzMzMzMzMzIiB5PSIwIiAvPg0KCQkJPHVzZSB4bGluazpocmVmPSIjU3RhciIgeD0iNSIgeT0iMCIgLz4NCgkJCTx1c2UgeGxpbms6aHJlZj0iI1N0YXIiIHg9IjYuNjY2NjY2NjY2NjY2NjY3IiB5PSIwIiAvPg0KCQk8L2c+DQoNCgkJPGcgaWQ9IlN0YXJzNiI+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyczUiIHg9IjAiIHk9IjAiIC8+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyIiB4PSI4LjMzMzMzMzMzMzMzMzMzMyIgeT0iMCIgLz4NCgkJPC9nPg0KDQoJCTxnIGlkPSJTdGFyRmllbGQiPg0KCQkJPHVzZSB4bGluazpocmVmPSIjU3RhcnM2IiB4PSIwIiB5PSIwIiAvPg0KCQkJPHVzZSB4bGluazpocmVmPSIjU3RhcnM1IiB4PSIwLjgzMzMzMzMzMzMzMzMzMzMiICB5PSIwLjciIC8+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyczYiIHg9IjAiIHk9IjEuNCIgLz4NCgkJCTx1c2UgeGxpbms6aHJlZj0iI1N0YXJzNSIgeD0iMC44MzMzMzMzMzMzMzMzMzMzIiAgeT0iMi4xIiAvPg0KCQkJPHVzZSB4bGluazpocmVmPSIjU3RhcnM2IiB4PSIwIiB5PSIyLjgiIC8+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyczUiIHg9IjAuODMzMzMzMzMzMzMzMzMzMyIgIHk9IjMuNSIgLz4NCgkJCTx1c2UgeGxpbms6aHJlZj0iI1N0YXJzNiIgeD0iMCIgeT0iNC4yIiAvPg0KCQkJPHVzZSB4bGluazpocmVmPSIjU3RhcnM1IiB4PSIwLjgzMzMzMzMzMzMzMzMzMzMiICB5PSI0LjkiIC8+DQoJCQk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyczYiIHg9IjAiIHk9IjUuNiIgLz4NCgkJPC9nPg0KDQoJPC9kZWZzPg0KDQoJPHJlY3QgZmlsbD0iI0ZGRkZGRiIgd2lkdGg9IjI2IiBoZWlnaHQ9IjEzIi8+DQoNCgk8dXNlIHhsaW5rOmhyZWY9IiNSZWRTdHJpcGUiIHg9IjAiIHk9IjAiIC8+DQoJPHVzZSB4bGluazpocmVmPSIjUmVkU3RyaXBlIiB4PSIwIiB5PSIyIiAvPg0KCTx1c2UgeGxpbms6aHJlZj0iI1JlZFN0cmlwZSIgeD0iMCIgeT0iNCIgLz4NCgk8dXNlIHhsaW5rOmhyZWY9IiNSZWRTdHJpcGUiIHg9IjAiIHk9IjYiIC8+DQoJPHVzZSB4bGluazpocmVmPSIjUmVkU3RyaXBlIiB4PSIwIiB5PSI4IiAvPg0KCTx1c2UgeGxpbms6aHJlZj0iI1JlZFN0cmlwZSIgeD0iMCIgeT0iMTAiIC8+DQoJPHVzZSB4bGluazpocmVmPSIjUmVkU3RyaXBlIiB4PSIwIiB5PSIxMiIgLz4NCg0KCTxyZWN0IGZpbGw9IiMzQzNCNkUiIHdpZHRoPSIxMCIgaGVpZ2h0PSI3Ii8+DQoNCgk8dXNlIHhsaW5rOmhyZWY9IiNTdGFyRmllbGQiIHg9IjAuNDU4IiB5PSIwLjM0MyIgLz4NCg0KPC9zdmc+) 3px center no-repeat; }
  .footer-navigation .country-ca {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnDQoJdmVyc2lvbj0iMS4xIg0KCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCgl4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayINCgl4PSIwcHgiDQoJeT0iMHB4Ig0KCXdpZHRoPSIyNnB4Ig0KCWhlaWdodD0iMTNweCINCgl2aWV3Qm94PSIwIDAgMjYgMTMiDQoJeG1sOnNwYWNlPSJwcmVzZXJ2ZSINCj4NCg0KCTxyZWN0IGZpbGw9IiNGRjAwMDAiIHdpZHRoPSIyNiIgaGVpZ2h0PSIxMyIgLz4NCg0KCTxyZWN0IGZpbGw9IiNGRkZGRkYiIHdpZHRoPSIxMyIgaGVpZ2h0PSIxMyIgeD0iNi41IiB5PSIwIiAvPg0KDQoJPHBhdGggZmlsbD0iI0ZGMDAwMCIgZD0iDQoJCU0xMywxLjIxOQ0KCQlsLTAuODg3LDEuNjU0DQoJCWMtMC4xMDEsMC4xOC0wLjI4MSwwLjE2My0wLjQ2MSwwLjA2Mw0KCQlsLTAuNjQyLTAuMzMzDQoJCWwwLjQ3OSwyLjU0MQ0KCQljMC4xMDEsMC40NjQtMC4yMjMsMC40NjQtMC4zODIsMC4yNjQNCgkJTDkuOTg1LDQuMTUzDQoJCUw5LjgwMyw0Ljc5DQoJCUM5Ljc4Miw0Ljg3NCw5LjY5LDQuOTYyLDkuNTUyLDQuOTQxDQoJCUw4LjEzNSw0LjY0Mw0KCQlsMC4zNzIsMS4zNTMNCgkJYzAuMDgsMC4zMDEsMC4xNDIsMC40MjYtMC4wODEsMC41MDUNCgkJTDcuOTIxLDYuNzM5DQoJCWwyLjQzOSwxLjk4Mg0KCQljMC4wOTcsMC4wNzQsMC4xNDUsMC4yMDksMC4xMTEsMC4zMzENCgkJbC0wLjIxMywwLjcNCgkJYzAuODQtMC4wOTYsMS41OTItMC4yNDIsMi40MzMtMC4zMzINCgkJYzAuMDc0LTAuMDA4LDAuMTk5LDAuMTE1LDAuMTk4LDAuMjAxDQoJCWwtMC4xMTEsMi41NjZoMC40MDkNCgkJbC0wLjA2NC0yLjU2Mg0KCQljMC0wLjA4NiwwLjExMi0wLjIxNCwwLjE4Ny0wLjIwNg0KCQljMC44NCwwLjA5LDEuNTkyLDAuMjM2LDIuNDMyLDAuMzMyDQoJCWwtMC4yMTMtMC43DQoJCWMtMC4wMzQtMC4xMjIsMC4wMTQtMC4yNTcsMC4xMTEtMC4zMzENCgkJbDIuNDM5LTEuOTgyDQoJCWwtMC41MDYtMC4yMzgNCgkJYy0wLjIyMi0wLjA3OS0wLjE2LTAuMjA0LTAuMDgtMC41MDUNCgkJbDAuMzcyLTEuMzUzDQoJCWwtMS40MTcsMC4yOTgNCgkJYy0wLjEzOSwwLjAyMS0wLjIzLTAuMDY3LTAuMjUyLTAuMTUxDQoJCWwtMC4xODItMC42MzcNCgkJbC0xLjEyMSwxLjI1NA0KCQljLTAuMTU5LDAuMjAxLTAuNDgyLDAuMjAxLTAuMzgxLTAuMjY0DQoJCWwwLjQ3OS0yLjU0MQ0KCQlsLTAuNjQzLDAuMzMzDQoJCWMtMC4xOCwwLjEwMS0wLjM2LDAuMTE3LTAuNDYxLTAuMDYzDQoJIiAvPg0KDQo8L3N2Zz4=) 3px center no-repeat; }
  .footer-navigation .logo {
    background: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4NCjwhRE9DVFlQRSBzdmcgUFVCTElDICItLy9XM0MvL0RURCBTVkcgMS4xLy9FTiIgImh0dHA6Ly93d3cudzMub3JnL0dyYXBoaWNzL1NWRy8xLjEvRFREL3N2ZzExLmR0ZCI+DQo8c3ZnDQoJdmVyc2lvbj0iMS4xIg0KCXhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyINCgl4bWxuczp4bGluaz0iaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGluayINCgl4PSIwcHgiDQoJeT0iMHB4Ig0KCXdpZHRoPSI2NHB4Ig0KCWhlaWdodD0iMTJweCINCgl2aWV3Qm94PSIwIDAgNjQgMTIiDQoJeG1sOnNwYWNlPSJwcmVzZXJ2ZSINCj4NCg0KCTxwYXRoIGZpbGw9IiNFOEU4RTgiIGQ9Ik0xNi42NDUsMC4wMDFoLTMuNkw5LjYwOSwxMS4zMDlWMC4wMDFINi4xOTd2NS4xNDJIMy40MTNWMC4wMDFIMFYxMmgzLjQxM1Y2LjY2M2gyLjc4NFYxMmgzLjIwMWgwLjIxMSBoMS42NDZsMC43ODUtMi42MDJoMy43MUwxNi40OCwxMmgzLjU5MkwxNi42NDUsMC4wMDF6IE0xMi4zOTUsOC4xOTNsMS41NjktNS4zMThsMS40NTIsNS4zMThIMTIuMzk1eiIvPg0KDQoJPHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTI3LjIxMiwzLjUyOEwyNy4xNjcsMi45OWMtMC4yMDktMS4xOTEtMC43NjQtMS44MzktMS45MzUtMS43OTRjLTAuOTM3LDAuMDM1LTEuNDQ5LDAuMzQ1LTEuNzQ0LDAuOTQgYy0wLjM1MywwLjcxLTAuNDc2LDIuMDc3LTAuNDc2LDQuMDU2YzAsMS44NSwwLjEyOCwzLjEwNCwwLjM4NiwzLjc2N2MwLjI1NSwwLjY2NCwwLjc0LDAuOTk1LDEuNDU5LDAuOTk1IGMwLjg0NiwwLDEuMjY4LTAuNDY2LDEuMjY4LTEuMzk2VjYuNzA0aC0xLjY5N1Y1LjIzM2g0LjQxOXY1Ljk3M2MwLDAtMC4xOTQsMC4wMzItMC41NDcsMC4xNWMtMC4zNjQsMC4xMjEtMC40MDcsMC4xMzctMC44NDgsMC4yNTEgYzAsMC0xLjU4OCwwLjM5My0yLjY0NiwwLjM5M2MtMS43NDEsMC0zLjA5My0wLjUxNi00LjA1NS0xLjU0M2MtMC45NjItMS4wMy0xLjQ0Mi0yLjQ3OS0xLjQ0Mi00LjM1YzAtMS44MTgsMC41MS0zLjI5MiwxLjUyOS00LjQxNyBjMS4wMi0xLjEyNCwyLjM1NC0xLjYzNiw0LjAwMy0xLjY4N2MxLjk3Ni0wLjA2MiwzLjg0MywwLjY2NCwzLjkwMywzLjUwNEwyNy4yMTIsMy41Mjh6Ii8+DQoNCgk8cG9seWdvbiBmaWxsPSIjRThFOEU4IiBwb2ludHM9IjM3LjA5LDAuMDE5IDM3LjA5LDEuNTM2IDMyLjg3OCwxLjUzNiAzMi44NzgsNS4xNjIgMzYuNDE4LDUuMTYyIDM2LjQxOCw2LjY3OSAzMi44NzgsNi42NzkgMzIuODc4LDEwLjQ4MyAzNy40MDIsMTAuNDgzIDM3LjQwMiwxMiAyOS40NjQsMTIgMjkuNDY0LDAuMDE5ICIvPg0KDQoJPHBhdGggZmlsbD0iI0U4RThFOCIgZD0iTTQ0LjU0Niw2LjUwM2MxLjY3Ny0wLjk4NSwyLjA3NS0xLjg0OCwyLjEwNC0yLjk5OGMwLjAyMy0wLjk0Ny0wLjM3LTIuMDM5LTEuMDU0LTIuNjU3IGMtMC41ODktMC41MzQtMS40MDktMC44NDctMi43MjgtMC44NDdoLTUuMDU5djExLjk4MWgzLjQxNHYtNS4wMmwyLjYxLDUuMDE5aDMuNzA1TDQ0LjU0Niw2LjUwM3ogTTQxLjkxMyw1LjY2N2gtMC42ODhWMS41NDFoMC42ODggYzEuMjkyLDAsMS45MzgsMC42ODgsMS45MzgsMi4wNjNDNDMuODUyLDQuOTc5LDQzLjIwNSw1LjY2Nyw0MS45MTMsNS42Njd6Ii8+DQoNCgk8cG9seWdvbiBmaWxsPSIjRThFOEU4IiBwb2ludHM9IjYyLjYzNywwLjAwMSA2MC40ODIsNS43NzUgNTguMDg4LDAuMDAxIDU1LjE0LDAuMDAxIDU0LjU0NSwwLjAwMSA0Ni4zNSwwLjAwMSA0Ni4zNSwxLjIwNCA0OS4yNTQsMS4yMDQgNDkuMjU0LDExLjk4MSA1Mi44NzMsMTEuOTgxIDUyLjg3MywxLjIwNCA1NS4wNSwxLjIwNCA1Ny43MTgsNy41NiA1Ny43MTgsMTEuOTgxIDYxLjEyOSwxMS45ODEgNjEuMTI5LDcuNTYgNjQsMC4wMDEiLz4NCg0KPC9zdmc+) left center no-repeat;
    display: inline-block;
    margin: 0 auto;
    padding-left: 70px;
    padding-right: 0px;
    border-right: none;
    text-indent: -9999px;
    margin-left: 8px; }
  .footer-navigation .phone-number {
    display: inline-block; }
    .footer-navigation .phone-number a {
      color: #fff; }

.social-navigation .nav-items li:not(.label) {
  display: inline-block;
  font-size: 2.2rem; }
  .social-navigation .nav-items li:not(.label) a {
    display: inline-block;
    padding: 5px; }
    .social-navigation .nav-items li:not(.label) a:hover {
      color: #005389; }

.social-navigation .nav-items li.label {
  margin-bottom: 8px; }

/**
 *
 * @molecule Sitemap
 * @section Navigation
 * @markup
 *   <div class="sitemap">
 *        @{include:.nav-items}
 *   </span>
 *
 */
.sitemap {
  padding-bottom: 40px;
  background-repeat: repeat; }
  @media (min-width: 60em) {
    .sitemap .col:not(:last-child).md-1-of-5 {
      border-right: solid 1px #b7b7b7; } }
  .sitemap .nav-items li {
    padding: 3px 0;
    font-size: 0.6875rem;
    line-height: 0.6875rem;
    color: #232323; }
    .sitemap .nav-items li.label {
      font-weight: bold; }
    .sitemap .nav-items li a {
      color: #017DC7; }
  .sitemap .nav-items li + li.label {
    margin-top: 10px; }

/**
 *
 * @molecule FAQ List
 * @section List
 * @markup
 *   <ul class="list faq-list">
 *       <li class="faq-item item collapsed">
 *           <div class="item-body">
 *               <h2 class="item-question">@{lipsum:5:words}<span class="faq-btn open-button">@{include:svg.icon.plus-circled} </span></h2>
 *               <div class="item-answer" style="display: none;" > @{lipsum:1:sentence}</div>             
 *           </div>
 *
 *         <div class="item-sidebar" style="display: none;">
 *               <div class="item-help">
 *                   <h4 class="help-title">Still need help?</h4>
 *                   <a class="faq-phone" href="tel:877-922-9701">877-922-9701</a>
 *                   <a class="faq-email" href="mailto:auto@hagerty.com">Email Support</a>
 *               </div>
 *           </div>  
 *       </li>
 *       <li class="faq-item expanded">
 *           <div class="item-body">
 *               <h2 class="item-question">
 *                   @{lipsum:5:words}
 *                   <span class="faq-btn close-button">@{include:svg.icon.minus-circled} </span>
 *               </h2>
 *               <div class="item-answer"> @{lipsum:1:sentence}</div>           
 *           </div>
 *
 *           <div class="item-sidebar">
 *               <div class="item-help">
 *                   <h4 class="help-title">Still need help?</h4>
 *                   <div class="faq-contact">
 *                       @{include:svg.icon.phone} 
 *                       <a href="tel:#">877-922-9701</a>
 *                   </div>
 *                   <div class="faq-contact">                  
 *                       @{include:svg.icon.email}
 *                       <a href="mailto:#">Email Support</a>
 *                    </div>                    
 *               </div>
 *           </div>  
 *       </li>
 *   </ul>
 *
 */
.faq-list {
  padding: 20px 0 0;
  clear: both; }
  .faq-list .faq-item {
    background: #e6e6e6;
    margin: 0 0 10px 0;
    padding: 0;
    position: relative;
    font-size: 0.875rem;
    line-height: 1.8em; }
    .faq-list .faq-item .item-body {
      padding: 20px;
      padding-left: 60px; }
      .faq-list .faq-item .item-body .item-question {
        font-family: sans-serif;
        font-weight: 600;
        font-size: 1rem;
        margin: 0 0 20px 0;
        line-height: 20px;
        cursor: pointer;
        position: relative; }
        .faq-list .faq-item .item-body .item-question .faq-btn {
          position: absolute;
          top: 50%;
          left: -50px;
          margin-top: -20px; }
      @media (min-width: 40em) {
        .faq-list .faq-item .item-body {
          padding-right: 190px; } }
    .faq-list .faq-item .item-question.collapsed {
      margin-bottom: 0; }
  .faq-list .item-sidebar {
    background: #e2e2e2;
    overflow: hidden; }
    .faq-list .item-sidebar .item-help {
      padding: 20px;
      padding-left: 60px; }
      .faq-list .item-sidebar .item-help .help-title {
        font-size: 1rem;
        margin: 0 0 5px 0;
        text-transform: uppercase; }
      .faq-list .item-sidebar .item-help .faq-contact {
        font-weight: 600;
        text-transform: uppercase; }
      @media (min-width: 40em) {
        .faq-list .item-sidebar .item-help {
          padding-left: 20px; } }
    @media (min-width: 40em) {
      .faq-list .item-sidebar {
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        width: 170px; } }
  .faq-list .toggle-button {
    display: block;
    width: 40px;
    height: 40px;
    cursor: pointer;
    background-color: #017DC7;
    color: #fff; }
    .faq-list .toggle-button .icon {
      margin: 0 auto;
      width: 65%;
      height: 100%; }
    .faq-list .toggle-button:hover {
      background-color: #005389; }
    .faq-list .toggle-button .expand {
      display: none; }
    .faq-list .toggle-button .close {
      display: block; }
  .faq-list .collapsed .toggle-button .close {
    display: none; }
  .faq-list .collapsed .toggle-button .expand {
    display: block; }

/**
 * @molecule Section List
 * @section List
 * @markup
 *   <ul class="list section-list">
 *       <li class="item section-item">
 *          <a href="#" class="tile align-left item-image">
 *              <img src="" alt="">
 *          </a>
 *          <h2 class="item-title"><a href="#">Classic Car Insurance</a></h2>
 *          <div class="item-description"> 
 *              <p>At Hagerty, we live classic cars! Since that's what we specialize in, we're able to focus all of our attention on you, your classic, your individual needs, usage and interests. Our policy is designed for classic cars and built to make your car last. 
 *                  <a href="/Insurance/Classic-Car-Insurance" class="arrows">Learn More</a>
 *              </p>
 *          </div>
 *       </li>
 *   </ul>
 */
.section-list .item-title {
  font-size: 1.5rem;
  margin: 0; }
  .section-list .item-title + .item-description {
    margin-top: 20px; }

.section-list .item-description {
  font-size: 0.875rem;
  line-height: 1.8em; }

.section-list .section-item:not(:first-child) {
  margin-top: 1.25rem; }

.region-list-wrap {
  background: #e6e6e6;
  padding: 10px;
  margin: 20px 0; }
  .region-list-wrap .region-list-label {
    font-size: 1em;
    line-height: 1.5em;
    margin: 0 5px 0 0;
    display: inline; }
  .region-list-wrap .region-list {
    padding: 7px 5px; }

.guideline-list .regional-guideline {
  display: none;
  background-color: #e6e6e6;
  margin: 20px 0 60px 0;
  padding: 20px 20px 1px 20px; }
  .guideline-list .regional-guideline.show {
    display: block; }
  .guideline-list .regional-guideline.hide {
    display: none; }
  .guideline-list .regional-guideline .region-title {
    background: #017DC7;
    display: inline-block;
    color: #fff;
    font-size: 1.25em;
    padding: 2px 5px;
    margin: 0 0 5px 0; }

/**
 * @molecule Document List
 * @section List
 * @markup
 *   <ul class="list document-list">
 *       <li class="document-item">
 *           <a href="#" class="document-icon">(PDF - 999KB)</a>
 *           <div class="document-description">
 *               <h2><a href="#">Timeshare Brochure</a></h2>
 *               <a href="#">Download Now @{include:svg.icon.proceed}</a>
 *           </div>
 *       </li>
 *       <li class="document-item">
 *           <a href="#" class="document-icon">(PDF - 42KB)</a>
 *           <div class="document-description">
 *               <h2><a href="#">The Meaning of Life</a></h2>
 *               <p>Learn why you should always chew your food 42 times per bite.</p>
 *               <a href="#">Download Now @{include:svg.icon.proceed}</a>
 *           </div>
 *       </li>
 *   </ul>
 */
.document-list {
  margin: 0 0 20px 0;
  padding: 0;
  list-style: none; }
  .document-list .document-item {
    margin: 0 0 20px 0;
    padding: 0;
    overflow: hidden; }
    .document-list .document-item h2 {
      margin: 0 0 10px 0;
      padding: 0; }
    .document-list .document-item .document-icon {
      display: block;
      width: 75px;
      margin: 0 10px 0 0;
      padding: 75px 0 0 0;
      background-image: url("https://www.hagerty.com/_assets/img/icons/PDF_file_icon_sm.png");
      background-position: center 5px;
      background-repeat: no-repeat;
      float: left;
      font-size: 9px;
      text-align: center; }
    .document-list .document-item .document-description {
      overflow: hidden; }
      .document-list .document-item .document-description p {
        margin-bottom: 10px; }

.list .item.article-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .list .item.article-item .thumbnail {
    -ms-flex-negative: 0;
        flex-shrink: 0; }
    .list .item.article-item .thumbnail img {
      border: 1px solid #e6e6e6;
      margin-right: 20px;
      max-width: 150px; }
  .list .item.article-item .body {
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1; }
    .list .item.article-item .body .title {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-weight: normal;
      font-size: 1rem; }
    .list .item.article-item .body .meta {
      color: #555;
      font-size: 0.6875rem; }
    .list .item.article-item .body .teaser {
      font-size: 0.875rem;
      line-height: 1.25;
      padding: 10px 0; }

.list .item.article-item:not(:last-child) {
  margin-bottom: 30px; }

/**
 * @molecule CTA Widget
 * @section Widgets
 * @description
 *   The primary widget treatment. Entreats a user to perform an action.
 * @markup
 *   <div class="widget cta-widget">
 *     <h2 class="heading">
 *       <svg class="icon"><use xlink:href="#edit" /></svg>
 *       Do a thing, <strong>Please?</strong>
 *     </h2>
 *     <p>Here's some text supporting why you should <strong>do the thing</strong>.</p>
 *     <hr>
 *     <a href="#" class="button">
 *       I'll do the thing <svg class="icon"><use xlink:href="#download" /></svg>
 *     </a>
 *   </div>
 */
.cta-widget p {
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 1.125em;
  line-height: 1.325em;
  margin: 0 0 1em 0; }
  .cta-widget p strong {
    font-family: "HelveticaNeueW01-67MdCn 692710";
    font-weight: normal; }

.cta-widget .bottom {
  margin-top: auto; }

/**
 * @molecule Related Articles Widget
 * @section Widgets
 * @description
 *   Widget used to present a list of articles related to the current article.
 * @markup
 *   <div class="widget related-articles-widget">
 *     <h2 class="heading">
 *       People who read this <strong>also read</strong>:
 *     </h2>
 *     <ul class="list">
 *       <li class="item article-item">
 *         <div class="thumbnail">
 *           <a href="#">
 *             <img src="/img/placeholders/100x100.png" alt="" title="">
 *           </a>
 *         </div>
 *         <div class="body">
 *           <h3 class="title">
 *             <a href="#">@{lipsum:7:words}</a>
 *           </h3>
 *           <p class="teaser">
 *             @{lipsum:20:words} <a class="more" href="#">More <svg class="icon"><use xlink:href="#chevrons-right" /></svg></a>
 *           </p>
 *         </div>
 *       </li>
 *       <li class="item article-item">
 *         <div class="thumbnail">
 *           <a href="#">
 *             <img src="/img/placeholders/100x100.png" alt="" title="">
 *           </a>
 *         </div>
 *         <div class="body">
 *           <h3 class="title">
 *             <a href="#">@{lipsum:7:words}</a>
 *           </h3>
 *           <p class="teaser">
 *             @{lipsum:20:words} <a class="more" href="#">More <svg class="icon"><use xlink:href="#chevrons-right" /></svg></a>
 *           </p>
 *         </div>
 *       </li>
 *       <li class="item article-item">
 *         <div class="thumbnail">
 *           <a href="#">
 *             <img src="/img/placeholders/100x100.png" alt="" title="">
 *           </a>
 *         </div>
 *         <div class="body">
 *           <h3 class="title">
 *             <a href="#">@{lipsum:7:words}</a>
 *           </h3>
 *           <p class="teaser">
 *             @{lipsum:20:words} <a class="more" href="#">More <svg class="icon"><use xlink:href="#chevrons-right" /></svg></a>
 *           </p>
 *         </div>
 *       </li>
 *     </ul>
 *   </div>
 */
.related-articles-widget .list {
  margin: 10px 0 -30px; }

.related-articles-widget .article-item {
  margin: 0 0 30px; }
  .related-articles-widget .article-item .thumbnail {
    float: left;
    line-height: 0;
    margin: 0 20px 0 0; }
  .related-articles-widget .article-item body {
    overflow: hidden; }
    .related-articles-widget .article-item body .title {
      font-weight: 600;
      font-size: 1rem;
      margin: 0 0 10px; }
    .related-articles-widget .article-item body .teaser {
      font-size: .825rem;
      margin: 0; }
      .related-articles-widget .article-item body .teaser .more {
        white-space: nowrap; }

/**
 * @molecule Quote CTA Widget
 * @section Widgets
 * @description
 *   The primary quote widget.
 * @markup
 *   <div class="widget quote-cta-widget">
 *     <a href="#" class="primary-cta">
 *       <h2 class="heading">
 *         Got a Classic?
 *       </h2>
 *       <p class="subheading">
 *         Get a quote <svg class="icon"><use xlink:href="#chevrons-right" /></svg>
 *       </p>
 *       <p>
 *         for Collector Vehicle Insurance.
 *       </p>
 *     </a>
 *     <p class="secondary-cta">
 *       <a href="#">Does your vehicle qualify</a> &nbsp;|&nbsp; <a href="#">Retrieve your quote</a>
 *     </p>
 *   </div>
 */
.widget.quote-cta-widget {
  background: linear-gradient(to bottom, #017DC7 0%, #005389 100%);
  background-repeat: no-repeat; }
  .widget.quote-cta-widget .primary-cta {
    font-weight: 600;
    color: #fff;
    display: block;
    font-size: 1.25rem;
    margin: -20px -20px 0 -20px;
    padding: 20px 20px 0 20px;
    text-shadow: 2px 1px 0 rgba(2, 3, 3, 0.4); }
    .widget.quote-cta-widget .primary-cta:hover {
      background: transparent;
      text-decoration: none; }
    .widget.quote-cta-widget .primary-cta .heading {
      font-weight: 600;
      color: #fff;
      margin: 0 0 5px; }
    .widget.quote-cta-widget .primary-cta .subheading {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-weight: normal;
      font-size: 2.5rem;
      line-height: 1em;
      margin: 0 0 10px; }
      .widget.quote-cta-widget .primary-cta .subheading .icon {
        -webkit-filter: drop-shadow(2px 1px 0 rgba(2, 3, 3, 0.4));
                filter: drop-shadow(2px 1px 0 rgba(2, 3, 3, 0.4)); }
  .widget.quote-cta-widget .secondary-cta {
    color: #fff;
    font-size: .875rem;
    margin: 20px -20px -20px -20px;
    padding: 20px; }
    .widget.quote-cta-widget .secondary-cta a {
      color: #fff; }

/**
 * @molecule Testimonial Widget
 * @section Widgets
 * @description
 *   Widget used to present customer testimonials
 * @markup
 *   <div class="widget testimonial-widget">
 *     <svg class="icon"><use xlink:href="#quote" /></svg>
 *     <blockquote>
 *       <p>Here's a quote of me saying a thing."</p>
 *       <cite>&mdash;Quoted Person</cite>
 *     </blockquote>
 *     <hr>
 *   </div>
 */
.testimonial-widget > .icon:first-child {
  font-size: 1.5rem; }

.testimonial-widget blockquote {
  font-size: 1.5rem;
  padding: 0;
  margin: 0; }
  .testimonial-widget blockquote p {
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    margin: 0.5em 0; }
    .testimonial-widget blockquote p strong {
      text-transform: uppercase; }
  .testimonial-widget blockquote cite {
    color: #7c8083;
    font-size: 1rem;
    font-style: normal;
    font-weight: bold; }

/**
 * @molecule Valuation Widget
 * @section Widgets
 * @description
 *   Widget used to present a vehicle's average value
 * @markup
 *   <div class="widget valuation-widget">
 *     <h2 class="heading">
 *       The <strong>Average Value</strong> for a
 *    </h2>
 *    <div class="vehicle">  
 *      <span class="year">1969</span>
 *      <span class="make">Chevrolet</span> 
 *      <span class="model">Camaro</span> 
 *      <span class="submodel">SS</span>  
 *      <span class="config">
 *        <span class="bodystyle">2dr Sport Coupe</span>
 *        <span class="engine">8-cyl. 396cid/375hp 4bbl L78</span>
 *      </span>
 *    </div>
 *    <div class="value">
 *      <span class="currency">$</span><span class="amount">39,926</span>
 *    </div>
 *    <div class="disclaimer">
 *      <p>
 *        Value data provided by Hagerty Valuation Tools®. <a href="#">Learn More</a>
 *      </p>
 *    </div>
 *    <hr class="blue">
 *    <a class="button" href="#">
 *      Value Your Vehicle <svg class="icon"><use xlink:href="#chevrons-right" /></svg>
 *    </a>
 *  </div>
 */
.valuation-widget .vehicle {
  font-weight: 600;
  background: #ccc;
  font-size: 1.25rem;
  line-height: 2;
  margin: 0 -20px 20px;
  padding: 5px 20px; }
  .valuation-widget .vehicle .config {
    font-family: sans-serif;
    font-weight: 400;
    display: block;
    font-size: 1rem; }

.valuation-widget .value {
  font-weight: 600;
  font-size: 2rem;
  margin: 0 0 .5em; }

.valuation-widget .disclaimer {
  padding: 0; }

/**
 * @molecule Navigation List Widget
 * @section Widgets
 * @description
 * 
 * @markup
 *  <div class="widget navigation-list-widget">
 *  	<div class="widget-inner">
 *          <nav>
 *              <ul class="nav-items ">
 *                  <li class="label ">Who we are</li>
 *                  <li><a href="#">Sample Nav Item</a></li>
 *                  <li><a href="#">Sample Nav Item</a></li>
 *                  <li><a href="#">Sample Nav Item</a></li>
 *              </ul>
 *          </nav>
 *     	</div>
 *  </div>
 */
.navigation-list-widget {
  padding: 0; }
  .navigation-list-widget .widget-inner {
    background: #232323;
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal; }
    .navigation-list-widget .widget-inner .nav-items .label {
      display: inline-block;
      max-width: 95%;
      position: relative;
      padding-top: 5px;
      padding-bottom: 5px;
      padding-right: 65px;
      color: #fff;
      font-size: 1.25rem;
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-weight: normal;
      line-height: 1.5em;
      text-transform: uppercase;
      background-color: inherit; }
      .navigation-list-widget .widget-inner .nav-items .label:after {
        background-image: url("../img/accents/branding-stripes-grey.svg");
        content: '';
        position: absolute;
        display: block;
        width: 77px;
        height: 100%;
        right: -40px;
        top: 0; }
    .navigation-list-widget .widget-inner .nav-items li {
      background: #e6e6e6;
      padding: 0 20px;
      font-size: 1.125rem;
      line-height: 1.666em; }
      .navigation-list-widget .widget-inner .nav-items li:not(.label) {
        padding-top: 10px; }
      .navigation-list-widget .widget-inner .nav-items li:not(.label) + li:not(.label) {
        padding-top: 0; }
      .navigation-list-widget .widget-inner .nav-items li:last-child {
        padding-bottom: 10px; }

/**
 * @molecule Form Controls
 * @section Forms
 * @description
 *  An example of how to structure most of the common form elements.
 * @markup
 *   <form>
 *     <div class="form-group">
 *         <label for="exampleInputEmail1">Email address</label>
 *         <input type="email" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp" placeholder="Enter email">
 *         <small id="emailHelp" class="form-text">We'll never share your email with anyone else.</small>
 *     </div>
 *     <div class="form-group">
 *         <label for="exampleInputPassword1">Password</label>
 *         <input type="password" class="form-control" id="exampleInputPassword1" placeholder="Password">
 *     </div>
 *     <div class="form-group">
 *         <label for="exampleSelect1">Example select</label>
 *         <select class="form-control" id="exampleSelect1">
 *             <option>1</option>
 *             <option>2</option>
 *             <option>3</option>
 *             <option>4</option>
 *             <option>5</option>
 *         </select>
 *     </div>
 *     <div class="form-group">
 *         <label for="exampleSelect2">Example multiple select</label>
 *         <select multiple class="form-control" id="exampleSelect2">
 *             <option>1</option>
 *             <option>2</option>
 *             <option>3</option>
 *             <option>4</option>
 *             <option>5</option>
 *         </select>
 *     </div>
 *     <div class="form-group">
 *         <label for="exampleTextarea">Example textarea</label>
 *         <textarea class="form-control" id="exampleTextarea" rows="3"></textarea>
 *     </div>
 *     <div class="form-group">
 *         <label for="exampleInputFile">File input</label>
 *         <input type="file" class="form-control-file" id="exampleInputFile" aria-describedby="fileHelp">
 *         <small id="fileHelp" class="form-text">This is some placeholder block-level help text for the above input. It's a bit lighter and easily wraps to a new line.</small>
 *     </div>
 *     <fieldset class="form-group">
 *         <legend>Radio buttons</legend>
 *         <div class="form-check">
 *             <label class="form-check-label">
 *                 <input type="radio" class="form-check-input" name="optionsRadios" id="optionsRadios1" value="option1" checked> Option one is this and that&mdash;be sure to include why it's great
 *             </label>
 *         </div>
 *         <div class="form-check">
 *             <label class="form-check-label">
 *                 <input type="radio" class="form-check-input" name="optionsRadios" id="optionsRadios2" value="option2"> Option two can be something else and selecting it will deselect option one
 *             </label>
 *         </div>
 *         <div class="form-check disabled">
 *             <label class="form-check-label">
 *                 <input type="radio" class="form-check-input" name="optionsRadios" id="optionsRadios3" value="option3" disabled> Option three is disabled
 *             </label>
 *         </div>
 *     </fieldset>
 *     <div class="form-check">
 *         <label class="form-check-label">
 *             <input type="checkbox" class="form-check-input"> Check me out
 *         </label>
 *     </div>
 *     <button type="submit" class="button">Submit</button>
 *   </form>
 */
input[type="radio"]:disabled,
input[type="checkbox"]:disabled {
  cursor: not-allowed; }

.form-group {
  margin-bottom: 16px; }
  .form-group .form-text {
    color: #7c8083; }

.form-control {
  display: block;
  width: 100%;
  padding: 12px;
  font-size: 1rem;
  line-height: 1em;
  color: #232323;
  background-image: none;
  background-clip: padding-box;
  border: #ccc 1px solid;
  border-radius: 1px; }
  .form-control.error {
    border-color: #D40033; }
  .form-control::-webkit-input-placeholder {
    color: #555;
    opacity: 1; }
  .form-control:-ms-input-placeholder {
    color: #555;
    opacity: 1; }
  .form-control::placeholder {
    color: #555;
    opacity: 1; }
  .form-control:disabled, .form-control[readonly] {
    background-color: #ccc;
    opacity: 1; }
  .form-control:disabled {
    cursor: not-allowed; }
  .form-control-file, .form-control-range {
    display: block; }

.form-check {
  display: block;
  margin-bottom: 0.75em; }
  .form-check.disabled .form-check-label {
    color: #7c8083;
    cursor: not-allowed; }

/**
 * @molecule Textual Inputs
 * @section Forms
 * @description
 *  An example of all HTML5 input type.
 * @markup
 *  <div class="form-group">
 *      <label for="example-text-input">Text</label>
 *      <input type="text" class="form-control" id="example-TextInput" value="1965 Ford Mustang">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-email-input">Email address</label>
 *      <input type="email" class="form-control" id="example-email-input" value="test@hagerty.com">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-search-input">Search</label>
 *      <input type="search" class="form-control" id="example-search-input" value="How do I buy insurance">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-url-input">URL</label>
 *      <input type="url" class="form-control" id="example-url-input" value="https://www.hagerty.com">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-tel-input">Telephone</label>
 *      <input type="tel" class="form-control" id="example-tel-input" value="(555)-555-5555">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-password-input">Password</label>
 *      <input type="password" class="form-control" id="example-password-input" value="ChadRocks">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-number-input">Number</label>
 *      <input type="number" class="form-control" id="example-number-input" value="42">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-datetime-local-input">Date Time Local</label>
 *      <input type="datetime-local" class="form-control" id="example-datetime-local-input">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-date-input">Date</label>
 *      <input type="date" class="form-control" id="example-date-input">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-month-input">Month</label>
 *      <input type="month" class="form-control" id="example-month-input">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-week-input">Week</label>
 *      <input type="week" class="form-control" id="example-week-input">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-time-input">Time</label>
 *      <input type="time" class="form-control" id="example-time-input">
 *  </div>
 *  <div class="form-group">
 *      <label for="example-color-input">Color</label>
 *      <input type="color" class="form-control" id="example-color-input" value="#017dc7">
 *  </div>
 *  <div class="form-group">
 *      <label for="examplerangeinput">Range</label>
 *      <div class="form-range">
 *          <input type="range" class="form-control" name="exampleRangeInput" id="examplerangeinput" value="1" min="1" max="100" oninput="examplerangeoutput.value = examplerangeinput.value">
 *          <output name="exampleRangeInput" id="examplerangeoutput">1</output>
 *      </div>
 *  </div>
 */
input[type="color"] {
  padding: 0; }

.form-range input[type="range"] {
  display: inline-block;
  width: 89%;
  padding: 0; }
  .form-range input[type="range"] + output {
    display: inline-block;
    width: 9%;
    vertical-align: super;
    text-align: center; }

/**
 * @molecule Float Label Inputs
 * @section Forms
 * @description
 *  An example of an input with a floated inline label.
 * @markup
 *  <div class="form-group float-label">
 *      <input type="text" class="form-control" id="example-TextInput-float-label" required>
 *      <label for="example-TextInput-float-label">Float Label</label>
 *  </div>
 *  <div class="form-group float-label">
 *      <input type="email" class="form-control" id="example-email-input" value="test@hagerty.com" required>
 *      <label for="example-email-input">Email address</label>
 *  </div>
 */
.float-label {
  position: relative; }
  .float-label label {
    color: #999;
    font-size: 14px;
    font-weight: normal;
    position: absolute;
    pointer-events: none;
    left: 12px;
    top: 10px;
    transition: 0.2s ease all;
    -moz-transition: 0.2s ease all;
    -webkit-transition: 0.2s ease all; }
  .float-label input:valid + label, .float-label input:focus + label {
    top: -20px;
    color: #017DC7; }
  .float-label :not(.row-of-inputs) + .float-label :not(.row-of-inputs) {
    margin-top: 30px; }

/* ==========================================================================
   :: Containers
   ========================================================================== */
/* --------------------------------------------------------------------------
   :: Page Wrap
   -------------------------------------------------------------------------- */
#page-wrap, .container, .constrain {
  min-width: 20em; }

/* --------------------------------------------------------------------------
   :: Container
   -------------------------------------------------------------------------- */
.container, .constrain {
  margin: 0 auto; }
  @media (min-width: 50em) {
    .container, .constrain {
      width: 90%;
      max-width: 90em; } }

/* --------------------------------------------------------------------------
   :: Constrain
   -------------------------------------------------------------------------- */
.constrain {
  padding: 0 10px; }
  .constrain .non-responsive .constrain {
    width: 60em; }

.wrapper {
  box-sizing: border-box;
  max-width: 1440px;
  margin: 0 auto; }

.container-fluid {
  margin-right: auto;
  margin-left: auto;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  .container-fluid .row:first-child {
    margin-top: 1.25rem; }
    .container-fluid .row:first-child.story-runner-positioner {
      margin-top: -50px;
      padding-top: 12px; }
    .container-fluid .row:first-child.reset-top {
      margin-top: 0; }
      .container-fluid .row:first-child.reset-top .col {
        margin-top: 0; }
    .container-fluid .row:first-child.reset-bottom {
      margin-bottom: 0; }
      .container-fluid .row:first-child.reset-bottom .col {
        margin-bottom: 0; }

.full-bleed {
  margin-bottom: 1.25rem; }
  .full-bleed .row {
    margin-bottom: 0; }

.row {
  box-sizing: border-box;
  display: -webkit-box;
  display: -moz-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
  -moz-flex: 0 1 auto;
  -ms-flex: 0 1 auto;
  flex: 0 1 auto;
  -webkit-box-direction: normal;
  -webkit-box-orient: horizontal;
  -moz-flex-direction: row;
  -ms-flex-direction: row;
  flex-direction: row;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-right: -0.625rem;
  margin-left: -0.625rem; }

.row.reset-top .col {
  margin-top: 0; }

.row.reset-bottom .col {
  margin-bottom: 0; }

.row.reset-left {
  margin-left: 0; }
  .row.reset-left > .col:nth-child(1) {
    padding-left: 0; }

.row.reset-right {
  margin-right: 0; }
  .row.reset-right > .col:nth-last-child(1) {
    padding-right: 0; }

.row.reverse {
  -webkit-box-direction: reverse;
  -webkit-box-orient: horizontal;
  -moz-flex-direction: row-reverse;
  -ms-flex-direction: row-reverse;
  flex-direction: row-reverse; }

.col.reverse {
  -webkit-box-direction: reverse;
  -webkit-box-orient: vertical;
  -moz-flex-direction: column-reverse;
  -ms-flex-direction: column-reverse;
  flex-direction: column-reverse; }

.col {
  width: 100%;
  box-sizing: border-box;
  -webkit-box-flex: 0;
  -moz-flex-grow: 0;
  -ms-flex-positive: 0;
  flex-grow: 0;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }

.xs {
  margin-bottom: 1.25rem; }

.col-xs {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%; }

.start-xs {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  -moz-justify-content: flex-start;
  justify-content: flex-start;
  text-align: start; }

.center-xs {
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -moz-justify-content: center;
  justify-content: center; }

.end-xs {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  -moz-justify-content: flex-end;
  justify-content: flex-end;
  text-align: end; }

.top-xs {
  -webkit-box-align: start;
  -ms-flex-align: start;
  -moz-align-items: flex-start;
  align-items: flex-start; }

.middle-xs {
  -webkit-box-align: center;
  -ms-flex-align: center;
  -moz-align-items: center;
  align-items: center; }

.bottom-xs {
  -webkit-box-align: end;
  -ms-flex-align: end;
  -moz-align-items: flex-end;
  align-items: flex-end; }

.around-xs {
  -ms-flex-pack: distribute;
  -moz-justify-content: space-around;
  justify-content: space-around; }

.between-xs {
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  -moz-justify-content: space-between;
  justify-content: space-between; }

.first-xs {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }

.last-xs {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.xs-1-of-2 {
  -ms-flex-preferred-size: 50%;
  flex-basis: 50%;
  max-width: 50%; }

.xs-1-of-3 {
  -ms-flex-preferred-size: 33.33333%;
  flex-basis: 33.33333%;
  max-width: 33.33333%; }

.xs-1-of-4 {
  -ms-flex-preferred-size: 25%;
  flex-basis: 25%;
  max-width: 25%; }

.xs-1-of-5 {
  -ms-flex-preferred-size: 20%;
  flex-basis: 20%;
  max-width: 20%; }

.xs-1-of-6 {
  -ms-flex-preferred-size: 16.66667%;
  flex-basis: 16.66667%;
  max-width: 16.66667%; }

.xs-1-of-7 {
  -ms-flex-preferred-size: 14.28571%;
  flex-basis: 14.28571%;
  max-width: 14.28571%; }

.xs-1-of-8 {
  -ms-flex-preferred-size: 12.5%;
  flex-basis: 12.5%;
  max-width: 12.5%; }

.xs-1-of-9 {
  -ms-flex-preferred-size: 11.11111%;
  flex-basis: 11.11111%;
  max-width: 11.11111%; }

.xs-1-of-10 {
  -ms-flex-preferred-size: 10%;
  flex-basis: 10%;
  max-width: 10%; }

.xs-1-of-11 {
  -ms-flex-preferred-size: 9.09091%;
  flex-basis: 9.09091%;
  max-width: 9.09091%; }

.xs-1-of-12 {
  -ms-flex-preferred-size: 8.33333%;
  flex-basis: 8.33333%;
  max-width: 8.33333%; }

.xs-2-of-3 {
  -ms-flex-preferred-size: 66.66667%;
  flex-basis: 66.66667%;
  max-width: 66.66667%; }

.xs-2-of-5 {
  -ms-flex-preferred-size: 40%;
  flex-basis: 40%;
  max-width: 40%; }

.xs-2-of-7 {
  -ms-flex-preferred-size: 28.57143%;
  flex-basis: 28.57143%;
  max-width: 28.57143%; }

.xs-2-of-9 {
  -ms-flex-preferred-size: 22.22222%;
  flex-basis: 22.22222%;
  max-width: 22.22222%; }

.xs-2-of-11 {
  -ms-flex-preferred-size: 18.18182%;
  flex-basis: 18.18182%;
  max-width: 18.18182%; }

.xs-3-of-4 {
  -ms-flex-preferred-size: 75%;
  flex-basis: 75%;
  max-width: 75%; }

.xs-3-of-5 {
  -ms-flex-preferred-size: 60%;
  flex-basis: 60%;
  max-width: 60%; }

.xs-3-of-7 {
  -ms-flex-preferred-size: 42.85714%;
  flex-basis: 42.85714%;
  max-width: 42.85714%; }

.xs-3-of-8 {
  -ms-flex-preferred-size: 37.5%;
  flex-basis: 37.5%;
  max-width: 37.5%; }

.xs-3-of-10 {
  -ms-flex-preferred-size: 30%;
  flex-basis: 30%;
  max-width: 30%; }

.xs-3-of-11 {
  -ms-flex-preferred-size: 27.27273%;
  flex-basis: 27.27273%;
  max-width: 27.27273%; }

.xs-4-of-5 {
  -ms-flex-preferred-size: 80%;
  flex-basis: 80%;
  max-width: 80%; }

.xs-4-of-7 {
  -ms-flex-preferred-size: 57.14286%;
  flex-basis: 57.14286%;
  max-width: 57.14286%; }

.xs-4-of-9 {
  -ms-flex-preferred-size: 44.44444%;
  flex-basis: 44.44444%;
  max-width: 44.44444%; }

.xs-4-of-11 {
  -ms-flex-preferred-size: 36.36364%;
  flex-basis: 36.36364%;
  max-width: 36.36364%; }

.xs-5-of-6 {
  -ms-flex-preferred-size: 83.33333%;
  flex-basis: 83.33333%;
  max-width: 83.33333%; }

.xs-5-of-7 {
  -ms-flex-preferred-size: 71.42857%;
  flex-basis: 71.42857%;
  max-width: 71.42857%; }

.xs-5-of-8 {
  -ms-flex-preferred-size: 62.5%;
  flex-basis: 62.5%;
  max-width: 62.5%; }

.xs-5-of-9 {
  -ms-flex-preferred-size: 55.55556%;
  flex-basis: 55.55556%;
  max-width: 55.55556%; }

.xs-5-of-11 {
  -ms-flex-preferred-size: 45.45455%;
  flex-basis: 45.45455%;
  max-width: 45.45455%; }

.xs-5-of-12 {
  -ms-flex-preferred-size: 41.66667%;
  flex-basis: 41.66667%;
  max-width: 41.66667%; }

.xs-6-of-7 {
  -ms-flex-preferred-size: 85.71429%;
  flex-basis: 85.71429%;
  max-width: 85.71429%; }

.xs-6-of-9 {
  -ms-flex-preferred-size: 66.66667%;
  flex-basis: 66.66667%;
  max-width: 66.66667%; }

.xs-6-of-11 {
  -ms-flex-preferred-size: 54.54545%;
  flex-basis: 54.54545%;
  max-width: 54.54545%; }

.xs-7-of-8 {
  -ms-flex-preferred-size: 87.5%;
  flex-basis: 87.5%;
  max-width: 87.5%; }

.xs-7-of-9 {
  -ms-flex-preferred-size: 77.77778%;
  flex-basis: 77.77778%;
  max-width: 77.77778%; }

.xs-7-of-10 {
  -ms-flex-preferred-size: 70%;
  flex-basis: 70%;
  max-width: 70%; }

.xs-7-of-11 {
  -ms-flex-preferred-size: 63.63636%;
  flex-basis: 63.63636%;
  max-width: 63.63636%; }

.xs-7-of-12 {
  -ms-flex-preferred-size: 58.33333%;
  flex-basis: 58.33333%;
  max-width: 58.33333%; }

.xs-8-of-9 {
  -ms-flex-preferred-size: 88.88889%;
  flex-basis: 88.88889%;
  max-width: 88.88889%; }

.xs-8-of-11 {
  -ms-flex-preferred-size: 72.72727%;
  flex-basis: 72.72727%;
  max-width: 72.72727%; }

.xs-9-of-10 {
  -ms-flex-preferred-size: 90%;
  flex-basis: 90%;
  max-width: 90%; }

.xs-9-of-11 {
  -ms-flex-preferred-size: 81.81818%;
  flex-basis: 81.81818%;
  max-width: 81.81818%; }

.xs-10-of-11 {
  -ms-flex-preferred-size: 90.90909%;
  flex-basis: 90.90909%;
  max-width: 90.90909%; }

.xs-11-of-11 {
  -ms-flex-preferred-size: 100%;
  flex-basis: 100%;
  max-width: 100%; }

.xs-11-of-12 {
  -ms-flex-preferred-size: 91.66667%;
  flex-basis: 91.66667%;
  max-width: 91.66667%; }

@media only screen and (min-width: 40em) {
  .container-fluid {
    padding-right: 1.25rem;
    padding-left: 1.25rem; }
  .col {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .sm {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 1.25rem; }
  .start-sm {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    text-align: start; }
  .center-sm {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -moz-justify-content: center;
    justify-content: center; }
  .end-sm {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -moz-justify-content: flex-end;
    justify-content: flex-end;
    text-align: end; }
  .top-sm {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -moz-align-items: flex-start;
    align-items: flex-start; }
  .middle-sm {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -moz-align-items: center;
    align-items: center; }
  .bottom-sm {
    -webkit-box-align: end;
    -ms-flex-align: end;
    -moz-align-items: flex-end;
    align-items: flex-end; }
  .around-sm {
    -ms-flex-pack: distribute;
    -moz-justify-content: space-around;
    justify-content: space-around; }
  .between-sm {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -moz-justify-content: space-between;
    justify-content: space-between; }
  .first-sm {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .last-sm {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .sm-1-of-2 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%; }
  .sm-1-of-3 {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .sm-1-of-4 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%; }
  .sm-1-of-5 {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%; }
  .sm-1-of-6 {
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .sm-1-of-7 {
    -ms-flex-preferred-size: 14.28571%;
    flex-basis: 14.28571%;
    max-width: 14.28571%; }
  .sm-1-of-8 {
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%;
    max-width: 12.5%; }
  .sm-1-of-9 {
    -ms-flex-preferred-size: 11.11111%;
    flex-basis: 11.11111%;
    max-width: 11.11111%; }
  .sm-1-of-10 {
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    max-width: 10%; }
  .sm-1-of-11 {
    -ms-flex-preferred-size: 9.09091%;
    flex-basis: 9.09091%;
    max-width: 9.09091%; }
  .sm-1-of-12 {
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
    max-width: 8.33333%; }
  .sm-2-of-3 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .sm-2-of-5 {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    max-width: 40%; }
  .sm-2-of-7 {
    -ms-flex-preferred-size: 28.57143%;
    flex-basis: 28.57143%;
    max-width: 28.57143%; }
  .sm-2-of-9 {
    -ms-flex-preferred-size: 22.22222%;
    flex-basis: 22.22222%;
    max-width: 22.22222%; }
  .sm-2-of-11 {
    -ms-flex-preferred-size: 18.18182%;
    flex-basis: 18.18182%;
    max-width: 18.18182%; }
  .sm-3-of-4 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%; }
  .sm-3-of-5 {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    max-width: 60%; }
  .sm-3-of-7 {
    -ms-flex-preferred-size: 42.85714%;
    flex-basis: 42.85714%;
    max-width: 42.85714%; }
  .sm-3-of-8 {
    -ms-flex-preferred-size: 37.5%;
    flex-basis: 37.5%;
    max-width: 37.5%; }
  .sm-3-of-10 {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%; }
  .sm-3-of-11 {
    -ms-flex-preferred-size: 27.27273%;
    flex-basis: 27.27273%;
    max-width: 27.27273%; }
  .sm-4-of-5 {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%; }
  .sm-4-of-7 {
    -ms-flex-preferred-size: 57.14286%;
    flex-basis: 57.14286%;
    max-width: 57.14286%; }
  .sm-4-of-9 {
    -ms-flex-preferred-size: 44.44444%;
    flex-basis: 44.44444%;
    max-width: 44.44444%; }
  .sm-4-of-11 {
    -ms-flex-preferred-size: 36.36364%;
    flex-basis: 36.36364%;
    max-width: 36.36364%; }
  .sm-5-of-6 {
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .sm-5-of-7 {
    -ms-flex-preferred-size: 71.42857%;
    flex-basis: 71.42857%;
    max-width: 71.42857%; }
  .sm-5-of-8 {
    -ms-flex-preferred-size: 62.5%;
    flex-basis: 62.5%;
    max-width: 62.5%; }
  .sm-5-of-9 {
    -ms-flex-preferred-size: 55.55556%;
    flex-basis: 55.55556%;
    max-width: 55.55556%; }
  .sm-5-of-11 {
    -ms-flex-preferred-size: 45.45455%;
    flex-basis: 45.45455%;
    max-width: 45.45455%; }
  .sm-5-of-12 {
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .sm-6-of-7 {
    -ms-flex-preferred-size: 85.71429%;
    flex-basis: 85.71429%;
    max-width: 85.71429%; }
  .sm-6-of-9 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .sm-6-of-11 {
    -ms-flex-preferred-size: 54.54545%;
    flex-basis: 54.54545%;
    max-width: 54.54545%; }
  .sm-7-of-8 {
    -ms-flex-preferred-size: 87.5%;
    flex-basis: 87.5%;
    max-width: 87.5%; }
  .sm-7-of-9 {
    -ms-flex-preferred-size: 77.77778%;
    flex-basis: 77.77778%;
    max-width: 77.77778%; }
  .sm-7-of-10 {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%; }
  .sm-7-of-11 {
    -ms-flex-preferred-size: 63.63636%;
    flex-basis: 63.63636%;
    max-width: 63.63636%; }
  .sm-7-of-12 {
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .sm-8-of-9 {
    -ms-flex-preferred-size: 88.88889%;
    flex-basis: 88.88889%;
    max-width: 88.88889%; }
  .sm-8-of-11 {
    -ms-flex-preferred-size: 72.72727%;
    flex-basis: 72.72727%;
    max-width: 72.72727%; }
  .sm-9-of-10 {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    max-width: 90%; }
  .sm-9-of-11 {
    -ms-flex-preferred-size: 81.81818%;
    flex-basis: 81.81818%;
    max-width: 81.81818%; }
  .sm-10-of-11 {
    -ms-flex-preferred-size: 90.90909%;
    flex-basis: 90.90909%;
    max-width: 90.90909%; }
  .sm-11-of-11 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%; }
  .sm-11-of-12 {
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
    max-width: 91.66667%; } }

@media only screen and (min-width: 60em) {
  .container-fluid {
    padding-right: 1.875rem;
    padding-left: 1.875rem; }
  .col {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .md {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 1.25rem; }
  .start-md {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    text-align: start; }
  .center-md {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -moz-justify-content: center;
    justify-content: center; }
  .end-md {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -moz-justify-content: flex-end;
    justify-content: flex-end;
    text-align: end; }
  .top-md {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -moz-align-items: flex-start;
    align-items: flex-start; }
  .middle-md {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -moz-align-items: center;
    align-items: center; }
  .bottom-md {
    -webkit-box-align: end;
    -ms-flex-align: end;
    -moz-align-items: flex-end;
    align-items: flex-end; }
  .around-md {
    -ms-flex-pack: distribute;
    -moz-justify-content: space-around;
    justify-content: space-around; }
  .between-md {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -moz-justify-content: space-between;
    justify-content: space-between; }
  .first-md {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .last-md {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .md-1-of-2 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%; }
  .md-1-of-3 {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .md-1-of-4 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%; }
  .md-1-of-5 {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%; }
  .md-1-of-6 {
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .md-1-of-7 {
    -ms-flex-preferred-size: 14.28571%;
    flex-basis: 14.28571%;
    max-width: 14.28571%; }
  .md-1-of-8 {
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%;
    max-width: 12.5%; }
  .md-1-of-9 {
    -ms-flex-preferred-size: 11.11111%;
    flex-basis: 11.11111%;
    max-width: 11.11111%; }
  .md-1-of-10 {
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    max-width: 10%; }
  .md-1-of-11 {
    -ms-flex-preferred-size: 9.09091%;
    flex-basis: 9.09091%;
    max-width: 9.09091%; }
  .md-1-of-12 {
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
    max-width: 8.33333%; }
  .md-2-of-3 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .md-2-of-5 {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    max-width: 40%; }
  .md-2-of-7 {
    -ms-flex-preferred-size: 28.57143%;
    flex-basis: 28.57143%;
    max-width: 28.57143%; }
  .md-2-of-9 {
    -ms-flex-preferred-size: 22.22222%;
    flex-basis: 22.22222%;
    max-width: 22.22222%; }
  .md-2-of-11 {
    -ms-flex-preferred-size: 18.18182%;
    flex-basis: 18.18182%;
    max-width: 18.18182%; }
  .md-3-of-4 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%; }
  .md-3-of-5 {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    max-width: 60%; }
  .md-3-of-7 {
    -ms-flex-preferred-size: 42.85714%;
    flex-basis: 42.85714%;
    max-width: 42.85714%; }
  .md-3-of-8 {
    -ms-flex-preferred-size: 37.5%;
    flex-basis: 37.5%;
    max-width: 37.5%; }
  .md-3-of-10 {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%; }
  .md-3-of-11 {
    -ms-flex-preferred-size: 27.27273%;
    flex-basis: 27.27273%;
    max-width: 27.27273%; }
  .md-4-of-5 {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%; }
  .md-4-of-7 {
    -ms-flex-preferred-size: 57.14286%;
    flex-basis: 57.14286%;
    max-width: 57.14286%; }
  .md-4-of-9 {
    -ms-flex-preferred-size: 44.44444%;
    flex-basis: 44.44444%;
    max-width: 44.44444%; }
  .md-4-of-11 {
    -ms-flex-preferred-size: 36.36364%;
    flex-basis: 36.36364%;
    max-width: 36.36364%; }
  .md-5-of-6 {
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .md-5-of-7 {
    -ms-flex-preferred-size: 71.42857%;
    flex-basis: 71.42857%;
    max-width: 71.42857%; }
  .md-5-of-8 {
    -ms-flex-preferred-size: 62.5%;
    flex-basis: 62.5%;
    max-width: 62.5%; }
  .md-5-of-9 {
    -ms-flex-preferred-size: 55.55556%;
    flex-basis: 55.55556%;
    max-width: 55.55556%; }
  .md-5-of-11 {
    -ms-flex-preferred-size: 45.45455%;
    flex-basis: 45.45455%;
    max-width: 45.45455%; }
  .md-5-of-12 {
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .md-6-of-7 {
    -ms-flex-preferred-size: 85.71429%;
    flex-basis: 85.71429%;
    max-width: 85.71429%; }
  .md-6-of-9 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .md-6-of-11 {
    -ms-flex-preferred-size: 54.54545%;
    flex-basis: 54.54545%;
    max-width: 54.54545%; }
  .md-7-of-8 {
    -ms-flex-preferred-size: 87.5%;
    flex-basis: 87.5%;
    max-width: 87.5%; }
  .md-7-of-9 {
    -ms-flex-preferred-size: 77.77778%;
    flex-basis: 77.77778%;
    max-width: 77.77778%; }
  .md-7-of-10 {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%; }
  .md-7-of-11 {
    -ms-flex-preferred-size: 63.63636%;
    flex-basis: 63.63636%;
    max-width: 63.63636%; }
  .md-7-of-12 {
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .md-8-of-9 {
    -ms-flex-preferred-size: 88.88889%;
    flex-basis: 88.88889%;
    max-width: 88.88889%; }
  .md-8-of-11 {
    -ms-flex-preferred-size: 72.72727%;
    flex-basis: 72.72727%;
    max-width: 72.72727%; }
  .md-9-of-10 {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    max-width: 90%; }
  .md-9-of-11 {
    -ms-flex-preferred-size: 81.81818%;
    flex-basis: 81.81818%;
    max-width: 81.81818%; }
  .md-10-of-11 {
    -ms-flex-preferred-size: 90.90909%;
    flex-basis: 90.90909%;
    max-width: 90.90909%; }
  .md-11-of-11 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%; }
  .md-11-of-12 {
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
    max-width: 91.66667%; } }

@media only screen and (min-width: 80em) {
  .container-fluid {
    padding-right: 2.5rem;
    padding-left: 2.5rem; }
  .col {
    padding-right: 1.25rem;
    padding-left: 1.25rem; }
  .lg {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%;
    margin-bottom: 1.25rem; }
  .start-lg {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    -moz-justify-content: flex-start;
    justify-content: flex-start;
    text-align: start; }
  .center-lg {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -moz-justify-content: center;
    justify-content: center; }
  .end-lg {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    -moz-justify-content: flex-end;
    justify-content: flex-end;
    text-align: end; }
  .top-lg {
    -webkit-box-align: start;
    -ms-flex-align: start;
    -moz-align-items: flex-start;
    align-items: flex-start; }
  .middle-lg {
    -webkit-box-align: center;
    -ms-flex-align: center;
    -moz-align-items: center;
    align-items: center; }
  .bottom-lg {
    -webkit-box-align: end;
    -ms-flex-align: end;
    -moz-align-items: flex-end;
    align-items: flex-end; }
  .around-lg {
    -ms-flex-pack: distribute;
    -moz-justify-content: space-around;
    justify-content: space-around; }
  .between-lg {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    -moz-justify-content: space-between;
    justify-content: space-between; }
  .first-lg {
    -webkit-box-ordinal-group: 0;
        -ms-flex-order: -1;
            order: -1; }
  .last-lg {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .lg-1-of-2 {
    -ms-flex-preferred-size: 50%;
    flex-basis: 50%;
    max-width: 50%; }
  .lg-1-of-3 {
    -ms-flex-preferred-size: 33.33333%;
    flex-basis: 33.33333%;
    max-width: 33.33333%; }
  .lg-1-of-4 {
    -ms-flex-preferred-size: 25%;
    flex-basis: 25%;
    max-width: 25%; }
  .lg-1-of-5 {
    -ms-flex-preferred-size: 20%;
    flex-basis: 20%;
    max-width: 20%; }
  .lg-1-of-6 {
    -ms-flex-preferred-size: 16.66667%;
    flex-basis: 16.66667%;
    max-width: 16.66667%; }
  .lg-1-of-7 {
    -ms-flex-preferred-size: 14.28571%;
    flex-basis: 14.28571%;
    max-width: 14.28571%; }
  .lg-1-of-8 {
    -ms-flex-preferred-size: 12.5%;
    flex-basis: 12.5%;
    max-width: 12.5%; }
  .lg-1-of-9 {
    -ms-flex-preferred-size: 11.11111%;
    flex-basis: 11.11111%;
    max-width: 11.11111%; }
  .lg-1-of-10 {
    -ms-flex-preferred-size: 10%;
    flex-basis: 10%;
    max-width: 10%; }
  .lg-1-of-11 {
    -ms-flex-preferred-size: 9.09091%;
    flex-basis: 9.09091%;
    max-width: 9.09091%; }
  .lg-1-of-12 {
    -ms-flex-preferred-size: 8.33333%;
    flex-basis: 8.33333%;
    max-width: 8.33333%; }
  .lg-2-of-3 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .lg-2-of-5 {
    -ms-flex-preferred-size: 40%;
    flex-basis: 40%;
    max-width: 40%; }
  .lg-2-of-7 {
    -ms-flex-preferred-size: 28.57143%;
    flex-basis: 28.57143%;
    max-width: 28.57143%; }
  .lg-2-of-9 {
    -ms-flex-preferred-size: 22.22222%;
    flex-basis: 22.22222%;
    max-width: 22.22222%; }
  .lg-2-of-11 {
    -ms-flex-preferred-size: 18.18182%;
    flex-basis: 18.18182%;
    max-width: 18.18182%; }
  .lg-3-of-4 {
    -ms-flex-preferred-size: 75%;
    flex-basis: 75%;
    max-width: 75%; }
  .lg-3-of-5 {
    -ms-flex-preferred-size: 60%;
    flex-basis: 60%;
    max-width: 60%; }
  .lg-3-of-7 {
    -ms-flex-preferred-size: 42.85714%;
    flex-basis: 42.85714%;
    max-width: 42.85714%; }
  .lg-3-of-8 {
    -ms-flex-preferred-size: 37.5%;
    flex-basis: 37.5%;
    max-width: 37.5%; }
  .lg-3-of-10 {
    -ms-flex-preferred-size: 30%;
    flex-basis: 30%;
    max-width: 30%; }
  .lg-3-of-11 {
    -ms-flex-preferred-size: 27.27273%;
    flex-basis: 27.27273%;
    max-width: 27.27273%; }
  .lg-4-of-5 {
    -ms-flex-preferred-size: 80%;
    flex-basis: 80%;
    max-width: 80%; }
  .lg-4-of-7 {
    -ms-flex-preferred-size: 57.14286%;
    flex-basis: 57.14286%;
    max-width: 57.14286%; }
  .lg-4-of-9 {
    -ms-flex-preferred-size: 44.44444%;
    flex-basis: 44.44444%;
    max-width: 44.44444%; }
  .lg-4-of-11 {
    -ms-flex-preferred-size: 36.36364%;
    flex-basis: 36.36364%;
    max-width: 36.36364%; }
  .lg-5-of-6 {
    -ms-flex-preferred-size: 83.33333%;
    flex-basis: 83.33333%;
    max-width: 83.33333%; }
  .lg-5-of-7 {
    -ms-flex-preferred-size: 71.42857%;
    flex-basis: 71.42857%;
    max-width: 71.42857%; }
  .lg-5-of-8 {
    -ms-flex-preferred-size: 62.5%;
    flex-basis: 62.5%;
    max-width: 62.5%; }
  .lg-5-of-9 {
    -ms-flex-preferred-size: 55.55556%;
    flex-basis: 55.55556%;
    max-width: 55.55556%; }
  .lg-5-of-11 {
    -ms-flex-preferred-size: 45.45455%;
    flex-basis: 45.45455%;
    max-width: 45.45455%; }
  .lg-5-of-12 {
    -ms-flex-preferred-size: 41.66667%;
    flex-basis: 41.66667%;
    max-width: 41.66667%; }
  .lg-6-of-7 {
    -ms-flex-preferred-size: 85.71429%;
    flex-basis: 85.71429%;
    max-width: 85.71429%; }
  .lg-6-of-9 {
    -ms-flex-preferred-size: 66.66667%;
    flex-basis: 66.66667%;
    max-width: 66.66667%; }
  .lg-6-of-11 {
    -ms-flex-preferred-size: 54.54545%;
    flex-basis: 54.54545%;
    max-width: 54.54545%; }
  .lg-7-of-8 {
    -ms-flex-preferred-size: 87.5%;
    flex-basis: 87.5%;
    max-width: 87.5%; }
  .lg-7-of-9 {
    -ms-flex-preferred-size: 77.77778%;
    flex-basis: 77.77778%;
    max-width: 77.77778%; }
  .lg-7-of-10 {
    -ms-flex-preferred-size: 70%;
    flex-basis: 70%;
    max-width: 70%; }
  .lg-7-of-11 {
    -ms-flex-preferred-size: 63.63636%;
    flex-basis: 63.63636%;
    max-width: 63.63636%; }
  .lg-7-of-12 {
    -ms-flex-preferred-size: 58.33333%;
    flex-basis: 58.33333%;
    max-width: 58.33333%; }
  .lg-8-of-9 {
    -ms-flex-preferred-size: 88.88889%;
    flex-basis: 88.88889%;
    max-width: 88.88889%; }
  .lg-8-of-11 {
    -ms-flex-preferred-size: 72.72727%;
    flex-basis: 72.72727%;
    max-width: 72.72727%; }
  .lg-9-of-10 {
    -ms-flex-preferred-size: 90%;
    flex-basis: 90%;
    max-width: 90%; }
  .lg-9-of-11 {
    -ms-flex-preferred-size: 81.81818%;
    flex-basis: 81.81818%;
    max-width: 81.81818%; }
  .lg-10-of-11 {
    -ms-flex-preferred-size: 90.90909%;
    flex-basis: 90.90909%;
    max-width: 90.90909%; }
  .lg-11-of-11 {
    -ms-flex-preferred-size: 100%;
    flex-basis: 100%;
    max-width: 100%; }
  .lg-11-of-12 {
    -ms-flex-preferred-size: 91.66667%;
    flex-basis: 91.66667%;
    max-width: 91.66667%; } }

/* ==========================================================================
   :: Blocks
   ========================================================================== */
/**
 * Add a description here..
 *
 * @structure Blocks
 * @section Block scructure
 * @markup
 *   <div class="demo-item">
 *   <ul class="blocks blocks-two-up">
 *      <li>.blocks-two-up</li>
 *      <li>.blocks-two-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-three-up">
 *      <li>.blocks-three-up</li>
 *      <li>.blocks-three-up</li>
 *      <li>.blocks-three-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-four-up">
 *      <li>.blocks-four-up</li>
 *      <li>.blocks-four-up</li>
 *      <li>.blocks-four-up</li>
 *      <li>.blocks-four-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-five-up">
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-six-up">
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *   </ul>
 *   </div>
 *   <ul class="blocks blocks-three-up reset" style="max-width:980px;">
 *      <li>
 *          <figure class="charcoal">
 *               <img height="202" width="300" src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic Car Insurance/Does my vehicle qualify/Tractors/194JohnDeereH.ashx" alt="1941 John Deere H">
 *              <figcaption>1941 John Deere H</figcaption>
 *          </figure>
 *      </li>
 *      <li>
 *          <figure class="charcoal">
 *              <img height="202" width="300" src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic Car Insurance/Does my vehicle qualify/Tractors/1961Porsche217.ashx" alt="1961 Porsche 217">
 *              <figcaption>1961 Porsche 217</figcaption>
 *          </figure>
 *      </li>
 *      <li>
 *          <figure class="charcoal">
 *              <img height="202" width="300" src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic Car Insurance/Does my vehicle qualify/Tractors/1939Ford9NTractor.ashx" alt="1939 Ford 9N Tractor">
 *              <figcaption>1939 Ford 9N Tractor</figcaption>
 *          </figure>
 *      </li>
 *  </ul>
 */
.blocks {
  display: block;
  clear: both;
  margin-left: -20px;
  list-style: none; }
  .blocks.reset {
    padding: 0; }
  .blocks:after {
    display: block;
    clear: both;
    content: ''; }
  .content .blocks {
    margin-left: -10px;
    margin-right: -10px; }
  .blocks > li {
    display: block;
    clear: both;
    padding: 0 10px;
    background: none; }
    .blocks > li figure img {
      width: 100%;
      vertical-align: middle; }
  .blocks.condensed {
    margin-left: 0;
    margin-right: 0; }
    .blocks.condensed > li {
      padding: 0; }
  @media (min-width: 20em) {
    .blocks > li {
      clear: none; }
    .blocks.blocks-four-up > li,
    .blocks.blocks-five-up > li,
    .blocks.blocks-six-up > li {
      float: left;
      width: 50%; }
    .blocks.blocks-four-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(2n+1),
    .blocks.blocks-six-up > li:nth-child(2n+1) {
      clear: left; } }
  @media (min-width: 30em) {
    .blocks img {
      width: auto; }
    .blocks.blocks-two-up > li,
    .blocks.blocks-three-up > li {
      float: left;
      width: 50%; }
    .blocks.blocks-five-up > li,
    .blocks.blocks-six-up > li {
      width: 33.333333%; }
    .blocks.blocks-five-up > li:nth-child(2n+1),
    .blocks.blocks-six-up > li:nth-child(2n+1) {
      clear: none; }
    .blocks.blocks-two-up > li:nth-child(2n+1),
    .blocks.blocks-three-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(3n+1),
    .blocks.blocks-six-up > li:nth-child(3n+1) {
      clear: left; } }
  @media (min-width: 40em) {
    .blocks.blocks-three-up > li {
      width: 33.333333%; }
    .blocks.blocks-four-up > li {
      width: 25%; }
    .blocks.blocks-five-up > li {
      width: 20%; }
    .blocks.blocks-six-up > li {
      width: 16.666667%; }
    .blocks.blocks-three-up > li:nth-child(2n+1),
    .blocks.blocks-four-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(3n+1),
    .blocks.blocks-six-up > li:nth-child(3n+1) {
      clear: none; }
    .blocks.blocks-three-up > li:nth-child(3n+1),
    .blocks.blocks-four-up > li:nth-child(4n+1),
    .blocks.blocks-five-up > li:nth-child(5n+1),
    .blocks.blocks-six-up > li:nth-child(6n+1) {
      clear: left; } }
  @media (min-width: 50em) {
    .blocks.blocks-two-up > li,
    .blocks.blocks-three-up > li {
      float: left;
      width: 50%; } }
  @media (min-width: 60em) {
    .blocks.blocks-two-up > li,
    .blocks.blocks-three-up > li {
      float: left;
      width: 33.3333%; }
    .blocks.blocks-two-up > li {
      width: 50%; } }

.site-header {
  background-color: #232323;
  border-top: solid 2px #7c8083;
  border-bottom: solid 8px #017DC7;
  position: relative;
  z-index: 3; }
  .site-header .branding {
    display: inline;
    min-width: 220px; }
    @media (min-width: 60em) {
      .lt-ie10 .site-header .branding,
      .ie9 .site-header .branding {
        float: left; } }
    .site-header .branding .logo {
      display: inline-block;
      vertical-align: top;
      height: 60px;
      width: 150px;
      background: url("../img/logo.svg") center no-repeat;
      text-indent: -9000px;
      margin: 5px 5px 5px 0; }
      .site-header .branding .logo + svg {
        margin-bottom: -7px;
        width: 60px; }

.site-footer {
  padding-top: 40px; }

/**
 * Add a description here..
 *
 * @structure Eyebrow
 * @section Site Header
 * @markup
 *  <div class="site-header">
 *     <div class=" eyebrow inline-buttons constrain">
 *         <a href="/" class="account-login-link link">.account-login-link</a>
 *         <nav class=" eyebrow-nav" data-menu="">
 *             <ul class="nav-items ">
 *                 <li class=""><a href="/">.nav-item</a></li>
 *                 <li class="gear-icon"><a href="/">Login Management</a></li>
 *                 <li class="home-btn"><a href="/">Home</a></li>
 *             </ul>
 *         </nav>
 *         <div class="phone-number">  
 *             <a rel="nofollow" href="tel:8779229701">.phone-number</a>
 *         </div>
 *     </div>
 *  </div>
 */
.eyebrow {
  position: relative;
  z-index: 3;
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  font-size: 0.875rem;
  line-height: 20px;
  text-align: right;
  background-color: #000; }

.eyebrow .phone-number {
  display: inline;
  color: #fff;
  margin-left: 15px; }
  @media (min-width: 30em) {
    .eyebrow .phone-number {
      padding-left: 5px; } }

.eyebrow-nav {
  list-style: none;
  margin: 0;
  padding: 0; }
  .eyebrow-nav .nav-items {
    display: inline; }
    .eyebrow-nav .nav-items li {
      display: inline-block; }
      .eyebrow-nav .nav-items li:not(:last-child):after {
        content: "|";
        margin: 0 5px;
        color: #fff;
        font-size: 0.75rem;
        vertical-align: middle; }
      .eyebrow-nav .nav-items li a {
        color: #ffe11f;
        line-height: 40px; }
      .eyebrow-nav .nav-items li .icon {
        width: 1.1em;
        height: 1.1em;
        margin-bottom: -3px; }
  @media (min-width: 30em) {
    .eyebrow-nav {
      display: inline; } }
  .non-responsive .eyebrow-nav {
    display: inline; }

/* --------------------------------------------------------------------------
   :: Home Button
   -------------------------------------------------------------------------- */
a.home-btn {
  display: inline-block;
  width: 18px;
  background: url(../img/icons/ghost_home.svg) center no-repeat transparent;
  text-indent: -9999px;
  text-align: left;
  direction: ltr; }

/**
 *
 * @structure Hero Gallery
 * @section Sections > Hero
 * @flag full-width
 * @markup
 *  <div class="charcoal-runner">
 *    <div class="hero hero-gallery">
 *   	<div class="preview-outer">
 *  		<div class="preview-spacer"></div>
 *  		<div class="preview-inner"><img class="preview-image" src="https://placeholdit.imgix.net/~text?txtsize=33&txt=1000%C3%97531&w=1000&h=531">
 *  			<div class="preview-caption-wrap">
 *  				<div class="preview-caption" style="display: block;">
 *  					<p>This is a caption</p>
 *  				</div>
 *  				<div class="preview-caption-controls clearfix">
 *  					<a class="captions-btn expand-btn" href="https://placeholdit.imgix.net/~text?txtsize=33&txt=1000%C3%97531&w=1000&h=531">
 *                         @{include:svg.icon.expand}
 *                      </a>
 *                      <span class="captions-btn open-btn">@{include:svg.icon.up}</span>
 *  					<span class="captions-btn close-btn">@{include:svg.icon.close}</span>
 *  			    </div>
 *  		    </div>
 *  	    </div>
 *      </div>
 *      <div class="gallery-item-outer">
 *          <ul class="gallery-items">
 *              <li class="gallery-thumb" data-guid="#">
 *                  <a rel="nofollow" href="#">
 *                      <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=150%C3%97150&w=150&h=150" alt="">
 *                  </a>
 *                  <div id="divCaption" class="caption"></div>
 *              </li>
 *              <li class="gallery-thumb" data-guid="#">
 *                  <a rel="nofollow" href="#">
 *                      <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=150%C3%97150&w=150&h=150" alt="">
 *                 </a>
 *                  <div id="divCaption" class="caption"></div>
 *              </li>
 *              <li class="gallery-thumb" data-guid="#">
 *                  <a rel="nofollow" href="#">
 *                      <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=150%C3%97150&w=150&h=150" alt="">
 *                  </a>
 *                  <div id="divCaption" class="caption"></div>
 *              </li>
 *              <li class="gallery-thumb" data-guid="#">
 *                  <a rel="nofollow" href="#">
 *                      <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=150%C3%97150&w=150&h=150" alt="">
 *                  </a>
 *                  <div id="divCaption" class="caption"></div>
 *              </li>
 *              <li class="gallery-thumb" data-guid="#">
 *                  <a rel="nofollow" href="#">
 *                      <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=150%C3%97150&w=150&h=150" alt="">
 *                  </a>
 *                  <div id="divCaption" class="caption"></div>
 *              </li>
 *              <li class="gallery-thumb" data-guid="#">
 *                  <a rel="nofollow" href="#">
 *                      <img src="https://placeholdit.imgix.net/~text?txtsize=33&txt=150%C3%97150&w=150&h=150" alt="">
 *                  </a>
 *                  <div id="divCaption" class="caption"></div>
 *              </li>
 *              <li class="gallery-thumb empty"><span></span></li>
 *              <li class="gallery-thumb empty"><span></span></li>
 *              <li class="gallery-thumb empty"><span></span></li>
 *          </ul>
 *          <span class="pagination">
 *              <span class="page-btn prev-btn" style="display: none;">Prev</span>
 *              <span class="page-btn active">1</span>
 *              <span class="page-btn">2</span>
 *              <span class="page-btn">3</span>
 *              <span class="page-btn next-btn" style="display: inline-block;">Next</span>
 *          </span>
 *      </div>
 *  </div>
 *  </div>
 */
.hero-gallery {
  margin: 0 auto;
  min-width: 19em;
  max-width: 90em;
  overflow: hidden; }
  .hero-gallery .preview-outer {
    display: block;
    position: relative;
    margin: 10px 0 30px 0;
    width: 66.6666%;
    float: left;
    zoom: 1; }
    .hero-gallery .preview-outer .preview-spacer {
      padding-top: 50%; }
    .hero-gallery .preview-outer .preview-inner {
      position: absolute;
      left: 0;
      top: 0;
      right: 0;
      bottom: 0;
      text-align: center;
      vertical-align: middle;
      background-color: #555; }
      .hero-gallery .preview-outer .preview-inner .preview-image {
        max-height: 100%;
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        right: 0;
        margin: auto; }
        .hero-gallery .preview-outer .preview-inner .preview-image.enlarge {
          cursor: pointer; }
      .hero-gallery .preview-outer .preview-inner .preview-caption-wrap {
        position: absolute;
        left: 0;
        bottom: 0;
        right: 0; }
        .hero-gallery .preview-outer .preview-inner .preview-caption-wrap .preview-caption {
          overflow: hidden;
          font-size: 14px;
          line-height: 18px;
          color: #fff;
          background-color: rgba(35, 35, 35, 0.85); }
          .hero-gallery .preview-outer .preview-inner .preview-caption-wrap .preview-caption p {
            margin: 20px;
            text-align: center; }
        .hero-gallery .preview-outer .preview-inner .preview-caption-wrap .preview-caption-controls {
          overflow: hidden;
          padding: 5px; }
          .hero-gallery .preview-outer .preview-inner .preview-caption-wrap .preview-caption-controls .captions-btn {
            color: #fff;
            position: relative;
            display: block;
            float: right;
            width: 15px;
            height: 15px;
            background-color: #017dc7;
            cursor: pointer;
            margin: 0 5px 0 0;
            line-height: 15px; }
            .hero-gallery .preview-outer .preview-inner .preview-caption-wrap .preview-caption-controls .captions-btn .icon {
              height: 10px;
              width: 10px; }
  .hero-gallery .gallery-item-outer {
    width: 33.333333%;
    float: left; }
    .hero-gallery .gallery-item-outer .gallery-items {
      margin: -10px 0 0 0;
      padding: 5px 5px 5px 15px;
      list-style: none;
      overflow: hidden; }
      .hero-gallery .gallery-item-outer .gallery-items .gallery-thumb {
        width: 11.1%;
        margin: 0;
        padding: 0;
        float: left;
        overflow: hidden; }
        .hero-gallery .gallery-item-outer .gallery-items .gallery-thumb a {
          display: block;
          overflow: hidden;
          padding: 5px; }
          .hero-gallery .gallery-item-outer .gallery-items .gallery-thumb a:hover {
            background-color: transparent; }
        .hero-gallery .gallery-item-outer .gallery-items .gallery-thumb img {
          max-width: 100%; }
        .hero-gallery .gallery-item-outer .gallery-items .gallery-thumb.empty span {
          display: block;
          overflow: hidden;
          margin: 3px 5px 0 3px; }
        @media (min-width: 50em) {
          .hero-gallery .gallery-item-outer .gallery-items .gallery-thumb {
            width: 33.333333%; } }
      .hero-gallery .gallery-item-outer .gallery-items .caption {
        display: none; }
      @media (min-width: 50em) {
        .hero-gallery .gallery-item-outer .gallery-items {
          margin: 0; } }
    .hero-gallery .gallery-item-outer .pagination {
      float: right;
      margin: 0 10px; }
      .hero-gallery .gallery-item-outer .pagination .page-btn,
      .hero-gallery .gallery-item-outer .pagination a.page-btn,
      .hero-gallery .gallery-item-outer .pagination a.page-btn:hover,
      .hero-gallery .gallery-item-outer .pagination a.page-btn:active,
      .hero-gallery .gallery-item-outer .pagination a.page-btn:visited {
        color: #ffe11f; }
        .hero-gallery .gallery-item-outer .pagination .page-btn:hover, .hero-gallery .gallery-item-outer .pagination .page-btn.active,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:hover,
        .hero-gallery .gallery-item-outer .pagination a.page-btn.active,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:hover:hover,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:hover.active,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:active:hover,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:active.active,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:visited:hover,
        .hero-gallery .gallery-item-outer .pagination a.page-btn:visited.active {
          background: #555; }

@media (min-width: 50em) {
  .hero-gallery .gallery-items {
    margin: 0; } }

/**
 * Add the correct margin in IE 8.
 */
figure {
  margin: 0; }

/**
 * Article body font
 * @nuclide
 * @section Fonts
 *
 */
/**
 * Set alternate fonts for the Media site
 *
 * @mixin
 * @section Fonts
 * @param $type
 *  The alternate font type to be used [primary, secondary, tertiary, quaternary, quinary].
 * @example
 *  @include alternateFont();
 *  @include alternateFont(secondary);
 */
/**
 * @nuclide
 * @section Variables
 * @description
 *  Sets animation speeds for transition effects.
 *  
 */
/**
 * @nuclide
 * @section Variables
 * @description
 *  Sets animation speeds for transition effects.
 *  
 */
/**
 * @nuclide
 * @section Variables
 * @description
 *  Sets animation speeds for transition effects
 *  
 */
/**
 * @atom Topics
 * @section Taxonomy Tag
 * @description
 *  Taxonomy tags used to identify content.
 * @markup
 *  <ul class="topics">
 *    <li><a href="#">Videos</a></li>
 *    <li><a href="#">Motorsports</a></li>
 *    <li><a href="#">Car Profiles</a></li>
 *    <li><a href="#">Car Design</a></li>
 *    <li><a href="#">Buying</a></li>
 *    <li><a href="#">Selling</a></li>
 *    <li><a href="#">Top 10</a></li>
 *    <li><a href="#">Losses & Lessons</a></li>
 *    <li><a href="#">Our Cars</a></li>
 *    <li><a href="#">How-To's</a></li>
 *  </ul>
 */
.topics-wrapper {
  margin: 2.5rem 0; }
  .topics-wrapper .topics {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 0.875rem;
    text-align: center; }
    .topics-wrapper .topics li {
      display: inline-block;
      margin: 0 10px 10px 0;
      border: 2px solid #ffe11f; }
      .topics-wrapper .topics li a {
        display: block;
        padding: 5px 10px;
        color: #232323;
        background-color: transparent;
        transition: background-color .25s; }
        .topics-wrapper .topics li a:hover {
          text-decoration: none;
          background-color: #ffe11f; }

/**
 * @atom Publish Date
 * @section Typography
 * @description 
 *  Article publish date in time format
 * @markup
 *      <time datetime="2016-08-15T19:00" class="publish-date-stamp">August 15, 2016</time>
 */
.publish-date-stamp {
  font-size: 1em;
  white-space: pre; }

/**
 * @atom Full Width
 * @section Typography
 * @description
 *   Fills the parent dimensions.
 * @markup
 *     <div style="background-color: #ccc;">
 *      <div class="full-width">Full Width</div>
 *     </div>
 */
.full-width {
  width: 100%; }

@until-breakpoint ($mobile-l) {
  .full-width-xs {
    width: 100%; } }

/**
 * @atom Hollow Box
 * @section Helpers > Boxes
 * @description 
 *  Hollow Box
 * @markup 
 *  <div class="hollow-box">
 *      <p>@{lipsum:30:words}</p>
 *  </div>        
 */
.hollow-box {
  margin: 1.25rem 0;
  padding: 2.5rem 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc; }

.button-wrapper {
  margin: 2.5rem 0;
  text-align: center; }

.story-list-tiles .button-wrapper {
  margin-top: 0;
  width: 100%; }

.reset-top {
  margin-top: 0; }

.reset-bottom {
  margin-bottom: 0; }

/**
 * @atom Publish Date
 * @section Typography
 * @description 
 *  Article publish date in time format
 * @markup
 *      <time datetime="2016-08-15T19:00" class="publish-date-stamp">August 15, 2016</time>
 */
.publish-date-stamp {
  font-size: 1em;
  white-space: pre; }

/**
 * @atom Basic Ad Container
 * @section Ads
 * @description
 *   Standard landscape banner ad container
 * @markup
 *     <div class="hollow-box ad-container">
 *      <div style="padding: 30px; margin: 0 20px; background-color: #ccc; display: flex; align-items: center; justify-content: center; text-align: center;">Ad Goes Here</div>
 *     </div>
 */
.social-media-icons.following .hidden {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  @media (min-width: 60em) {
    .social-media-icons.following .hidden {
      display: none; } }

.social-media-icons.following .reveal {
  display: none;
  background-color: #ccc; }
  @media (min-width: 60em) {
    .social-media-icons.following .reveal {
      display: block; } }
  .social-media-icons.following .reveal:hover {
    background-color: #b3b3b3; }
  .social-media-icons.following .reveal .icon {
    transition: -webkit-transform 0.5s;
    transition: transform 0.5s;
    transition: transform 0.5s, -webkit-transform 0.5s; }

.social-media-icons.following .rotate .icon {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg); }

@media (min-width: 60em) {
  .social-media-icons.floating {
    position: fixed;
    top: 100px;
    width: 50px; } }

/**
 *
 * @atom Standard
 * @section Social Icons
 * @description
 *  Standard social media icons
 * @markup
    <div class="social-wrapper">
        <div class="social-media-icons narrow" data-social="socialsharingbuttons">
            <div class="icon-wrapper facebook" data-social="facebook">
            <svg class="icon">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#facebook"></use>
            </svg>
            </div>
            <div class="icon-wrapper twitter" data-social="twitter">
            <svg class="icon">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#twitter"></use>
            </svg>
            </div>
            <div class="hidden">
            <div class="icon-wrapper reddit" data-social="reddit">
                <svg class="icon">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#reddit"></use>
                </svg>
            </div>
            <div class="icon-wrapper linkedin" data-social="linkedin">
                <svg class="icon">
                <use xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="#linkedin"></use>
                </svg>
            </div>
            </div>
            <div class="icon-wrapper reveal">
            <svg class="icon">
                <use xlink:href="#down" />
            </svg>
            </div>
        </div>
    </div>
 */
@media (min-width: 50em) {
  .featured-story .social-wrapper {
    padding: 0 5rem; } }

@media (min-width: 60em) {
  .featured-story .social-wrapper {
    padding: 2.5rem 0; } }

.standard-story .social-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 1.25rem 0; }
  @media (max-width: 60em) {
    .standard-story .social-wrapper {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media (min-width: 60em) {
    .standard-story .social-wrapper {
      margin: 2.5rem 0 2.5rem 0; } }

.social-media-icons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }
  .social-media-icons.icon-row {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
  .social-media-icons .icon-wrapper {
    padding: 0.4375rem 0.75rem;
    font-size: 1.5rem;
    color: #fff;
    margin-bottom: 2px;
    margin-left: 1px;
    margin-right: 1px;
    transition: background-color 0.5s; }
    .social-media-icons .icon-wrapper:hover {
      cursor: pointer; }
    .social-media-icons .icon-wrapper a {
      color: inherit; }

/**
 *
 * @atom Narrow
 * @section Social Icons
 * @description
 *  Narrow version of social media links add .narrow or next under .narrow-social-media-icons parent class
 * @markup
 *
 */
.narrow-social-media-icons .social-media-icons .icon-wrapper, .social-media-icons.narrow .icon-wrapper {
  padding: 7px 12px;
  font-size: 1.8125rem; }

/**
 * @atom Placeholder
 * @section Avatars
 * @description
 *  Author avatar normal size, appearing on Author's page w/ no photo
 * @markup
 *  <div class="avatar">
 *      <img src="../img/avatar-photo.jpg" class="avatar-mask">
 *  </div> 
 */
.avatar {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 15px auto;
  overflow: hidden;
  border-color: #fff; }
  .avatar:after {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    top: -75px;
    left: -75px;
    border-width: 75px;
    border-radius: 100%;
    border-style: solid;
    border-color: inherit;
    box-sizing: content-box; }
  .avatar.avatar-small {
    width: 100px;
    height: 100px; }
  .avatar .avatar-mask {
    max-height: 100%;
    width: auto;
    max-width: none; }
  .avatar .no-avatar {
    font-size: 8rem;
    color: #e6e6e6; }

.interaction-controls {
  font-size: 1rem; }
  .interaction-controls > div {
    display: inline-block;
    color: #fff;
    margin-bottom: 2px;
    transition: background-color 0.25s; }
    .interaction-controls > div:not(:last-of-type) {
      margin-right: 25px; }
    .interaction-controls > div > svg,
    .interaction-controls > div > a svg {
      display: block;
      font-size: 2.5rem;
      margin: 0 auto; }
    .interaction-controls > div a {
      text-decoration: none;
      color: inherit; }
  .interaction-controls p {
    margin-top: 2px;
    font-size: 1rem;
    text-align: center; }

/**
 *
 * @atom Interaction Controls with Comments
 * @section Interactions
 * @description
 *  Share interaction
 * @markup
 *  <div class="interaction-controls">
 *      <div class="share">
 *          <svg class="icon">
 *           <use xlink:href="#share" />
 *          </svg>
 *          <p>Share</p>
 *      </div> 
 *  </div>
 */
.interaction-controls .share {
  color: #ccc;
  transition: color 0.25s; }
  .interaction-controls .share:hover {
    color: #017DC7;
    cursor: pointer; }

/**
 *
 * @atom Interaction Controls with Comments
 * @section Interactions
 * @description
 *  Display page views
 * @markup
 *  <div class="interaction-controls">
 *      <div class="views">
 *          <svg class="icon">
 *           <use xlink:href="#views" />
 *          </svg>
 *          <p>1.2k</p>
 *      </div>
 *  </div>
 */
.interaction-controls .views {
  color: #ccc; }

/**
 *
 * @atom Interaction Controls with Comments
 * @section Interactions
 * @description
 *  Comment with and without comments
 * @markup
 *  <div class="interaction-controls">
 *      <div class="comments">
 *          <svg class="icon">
 *           <use xlink:href="#comments" />
 *          </svg>
 *          <p>0</p>
 *      </div>      
 *  </div>
 *  <hr>
 *  <div class="interaction-controls">
 *      <div class="comments">
 *          <svg class="icon">
 *           <use xlink:href="#comments" />
 *          </svg>
 *          <p>Comment</p>
 *      </div>      
 *  </div>
 */
.interaction-controls .comments {
  color: #ccc;
  transition: color 0.25s; }

.border-arrow {
  position: relative;
  padding: 0 15px; }
  .border-arrow:after, .border-arrow:before {
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none; }
  .border-arrow:after {
    border-width: 10px;
    margin-left: -10px; }
  .border-arrow:before {
    border-width: 12px;
    margin-left: -12px; }

/**
 *
 * @atom Border Arrow Bottom
 * @section Border Arrows
 * @description
 *  Bottom border arrow
 * @markup
 *  <div class="border-arrow arrow-bottom">
 *      Some content here...
 *  </div>
 */
.arrow-bottom {
  border-bottom: 1px solid #ccc; }
  .arrow-bottom:after, .arrow-bottom:before {
    top: 100%;
    left: 50%; }
  .arrow-bottom:after {
    border-top-color: #fff; }
  .arrow-bottom:before {
    border-top-color: #ccc; }

.border-arrow.arrow-bottom.dark {
  border-bottom-color: #000; }
  .border-arrow.arrow-bottom.dark:before {
    border-top-color: #000; }
  .border-arrow.arrow-bottom.dark:after {
    border-top-color: #000; }

/**
 *
 * @atom Border Arrow Top
 * @section Border Arrows
 * @description
 *  Top border arrow
 * @markup
 *  <div class="border-arrow arrow-top">
 *      Some content here...
 *  </div>
 */
.arrow-top {
  border-top: 1px solid #ccc; }
  .arrow-top:after, .arrow-top:before {
    bottom: 100%;
    left: 50%; }
  .arrow-top:before {
    border-bottom-color: #ccc; }
  .arrow-top:after {
    border-bottom-color: #fff; }

.border-arrow.arrow-top.dark {
  border-color: #555; }
  .border-arrow.arrow-top.dark:before {
    border-bottom-color: #555; }
  .border-arrow.arrow-top.dark:after {
    border-bottom-color: #000; }

/**
 * @icon Gearshift 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#gearshift" />
 *   </svg>
 */
/**
 * @icon Comments 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#comments" />
 *   </svg>
 */
/**
 * @icon Share 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#share" />
 *   </svg>
 */
/**
 * @icon Views 
 * @section Icons
 * @markup
 *   <svg class="icon">
 *     <use xlink:href="#views" />
 *   </svg>
 */
/**
 * @atom Sidebar Highlight
 * @section Sidebar
 * @description
 *   Sidebar highlight
 * @markup
 *     <div class="sidebar-highlight">
 *      <div class="sidebar">@{lipsum:10:words}</div>
 *     </div>
 *  <hr>
 *     <div class="sidebar-highlight">
 *      <div class="sidebar-left">@{lipsum:10:words}</div>
 *     </div>
 */
.sidebar-highlight {
  overflow: hidden;
  height: 100%; }
  @media (min-width: 50em) {
    .sidebar-highlight {
      padding: 0 2.5rem; } }
  @media (min-width: 60em) {
    .sidebar-highlight {
      padding: 2.5rem;
      background: #f7f7f7; } }
  @media (min-width: 60em) {
    .sidebar-highlight.highlight-left {
      border-right: 1px solid #ccc; } }
  @media (min-width: 60em) {
    .sidebar-highlight.highlight-right {
      border-left: 1px solid #ccc; } }
  .sidebar-highlight .sidebar-darker {
    padding: 2.5rem;
    margin-bottom: 2.5rem;
    background-color: #e6e6e6; }
    @media (min-width: 50em) {
      .sidebar-highlight .sidebar-darker {
        margin-left: -2.5rem;
        margin-right: -2.5rem; } }

/**
 * @atom Widget Baseline
 * @section Widgets
 * @description 
 *  Widget Baseline
 * @markup 
 *  <div class="media-widget">
 *      <h1>Standard Widget</h1>
 *      <p>With some standard content in here...</p>
 *  </div>        
 */
.media-widget {
  margin: 40px 0;
  padding: 20px;
  text-align: center; }

.darker-widget {
  background-color: #e6e6e6; }

/**
 * @atom Follow widget
 * @section Widgets
 * @description 
 *  Follow us widget
 * @markup 
 *  <div class="media-widget">
 *      <h1>Standard Widget</h1>
 *      <p>With some standard content in here...</p>
 *  </div>        
 */
.follow-widget h2 {
  font-size: 1.5rem;
  text-align: center; }

.thumb-caption {
  display: block;
  background-color: transparent;
  font-family: sans-serif;
  font-weight: 400;
  text-align: left;
  font-size: 14px;
  color: #7c8083;
  padding: 1rem; }
  .thumb-caption .credit,
  .thumb-caption .caption {
    padding: 0;
    margin: 0; }
  .thumb-caption .credit {
    font-style: italic; }
  .thumb-caption .caption + .credit,
  .thumb-caption .credit + .caption {
    padding-top: 0.625rem; }

.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

.clearfix:after {
  clear: both; }

img {
  border: 0;
  padding: 0;
  max-width: 100%;
  height: auto;
  vertical-align: middle; }
  img.align-left h2,
  img.align-left h3,
  img.align-left h4,
  img.align-left h5,
  img.align-left h6, img.align-right h2,
  img.align-right h3,
  img.align-right h4,
  img.align-right h5,
  img.align-right h6 {
    margin-top: 0; }

.column img,
.column embed,
.column video {
  max-width: 100%; }

.column img,
.column video {
  height: auto; }

figure.thumb-container {
  display: block;
  overflow: hidden;
}

.thumb {
  position: relative;
  display: block;
  overflow: hidden;
  box-sizing: border-box;
  background-color: #fff; }
  .thumb img {
    width: 100%; }

.content-thumb {
  margin: 1.5em auto; }
  .content-thumb.thumb-col {
    display: block;
    text-align: center;
    max-width: 940px; }
    .content-thumb.thumb-col .thumb {
      display: inline-block; }
    .content-thumb.thumb-col .thumb-equal {
      width: 48%; }
    .content-thumb.thumb-col .thumb-equal + .thumb-equal {
      margin-left: 1%; }
    .content-thumb.thumb-col .thumb-larger {
      width: 64%; }
    .content-thumb.thumb-col .thumb-smaller {
      width: 33%; }
    .content-thumb.thumb-col .thumb-larger + .thumb-smaller {
      margin-left: 1%; }
    .content-thumb.thumb-col .thumb-smaller + .thumb-larger {
      margin-left: 1%; }
  .content-thumb.captions {
    border-bottom: 4px solid #ffe11f; }
  .content-thumb .thumb-center-crop img {
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    font-family: "object-fit: cover; object-position: center;"; }
  .content-thumb .thumb-larger .thumb-center-crop img,
  .content-thumb .thumb-smaller .thumb-center-crop img {
    height: 325px; }

.content-thumb + .content-thumb {
  margin-top: -1em; }

/**
 * @atom No Image Placeholder
 * @section Images > No Image
 * @description
 *   No image available placeholder
 * @markup
 *     <div class="no-thumb">
 *      &nbsp;
 *     </div>
 */
.no-thumb {
  z-index: 1;
  width: 100%;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxNzcuMSAxNzcuMSI+PHBhdGggc3R5bGU9ImZpbGw6ICNjY2M7IiBkPSJNODQuNDgsOS4yNWE2MC40MSw2MC40MSwwLDEsMCw2MC40MSw2MC40MWgwQTYwLjQxLDYwLjQxLDAsMCwwLDg0LjQ4LDkuMjVaTTEyMS4zNCw5Ny41YzAsMy40My0zLjM2LDYuMi02Ljc4LDYuMnMtNi43OC0yLjc4LTYuNzgtNi4yYTYuMDYsNi4wNiwwLDAsMSwyLjY5LTQuODVWNzIuNzNjLTcuMjctLjY2LTE0LjU1LS45NS0yMS40MS0xVjk2LjMxYTUuOTQsNS45NCwwLDAsMSwyLjI1LDQuNWMwLDMuNDMtMy4zNiw2LjItNi43OCw2LjJzLTYuNzgtMi43OC02Ljc4LTYuMmE1LjksNS45LDAsMCwxLDIuMS00LjM4VjcxLjc4Yy0xNy4xLjM3LTI5Ljc1LDEuODctMjkuNzUsMS44N1Y0Mi4yNmE2LDYsMCwwLDEtMi42Mi00LjhjMC0zLjQzLDMuMzYtNi4yLDYuNzgtNi4yczYuNzgsMi43OCw2Ljc4LDYuMmE2LDYsMCwwLDEtMi42Myw0LjhWNjQuODdjNS4zMS0uNDMsMTIuNzktLjksMjEuNDEtMS4wN1YzNS42NGE1LjksNS45LDAsMCwxLTIuMS00LjM4YzAtMy40MywzLjM2LTYuMiw2Ljc4LTYuMnM2Ljc4LDIuNzgsNi43OCw2LjJhNS45NCw1Ljk0LDAsMCwxLTIuMjUsNC41djI4YzYuODYuMDYsMTQuMTQuMzQsMjEuNDEsMVY0Mi4yNmE2LDYsMCwwLDEtMi42Mi00LjhjMC0zLjQzLDMuMzYtNi4yLDYuNzgtNi4yczYuNzgsMi43OCw2Ljc4LDYuMmE2LDYsMCwwLDEtMi42Miw0Ljh2NTAuNUE2LDYsMCwwLDEsMTIxLjM0LDk3LjVaTTg4LjUzLDBBODguNTUsODguNTUsMCwxLDAsMTc3LjEsODguNTNoMEE4OC41NSw4OC41NSwwLDAsMCw4OC41MywwWk04NC40MSwxMzQuNzFjLTM1LjI0LDAtNjQuMjktMjguNzctNjQuMjktNjUsMC0zNS4yOSwyOS4xMi02My45Niw2NC4zNi02My45NlMxNDguNiwzNC4zMiwxNDguNiw2OS41NkMxNDguNjYsMTA1LjksMTE5LjY1LDEzNC43MSw4NC40MSwxMzQuNzFaIi8+PC9zdmc+");
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: 25%; }
  @media (min-width: 40em) {
    .no-thumb {
      background-size: 18%; } }

.long-story .no-thumb {
  height: 325px;
  background-color: #f7f7f7; }

.short-story .no-thumb {
  height: 175px;
  background-color: #e6e6e6; }

/**
 * @atom Color Changing Thumbnail
 * @section Images > Thumbnail
 * @description
 *   Hover color change effect
 * @markup
 *     <figure class="preview-thumb-container" style="width: 400px;">
 *      <span class="thumb thumb-small thumb-hover-color"><img src="../img/thumb.png"></span>
 *     </figure>
 */
.thumb.thumb-color:after, .thumb.thumb-hover-color:after {
  content: "";
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: transparent;
  transition: background-color 0.25s; }

.thumb.thumb-hover-color:hover:after, .story-link:hover .thumb.thumb-color:after {
  background-color: rgba(1, 125, 199, 0.85); }

.thumb.thumb-color {
  position: relative; }

/**
 * @atom Zooming Thumbnail
 * @section Images > Thumbnail
 * @description
 *   Hover zoom effect
 * @markup
 *     <figure class="preview-thumb-container" style="width: 400px;">
 *      <span class="thumb thumb-small thumb-hover-zoom"><img src="../img/thumb.png"></span>
 *     </figure>
 */
.thumb.thumb-hover-zoom:hover img, .story-link:hover .thumb.thumb-zoom img {
  -webkit-transform: scale(1.1);
          transform: scale(1.1);
  -moz-transform: scale(1.1); }

.thumb.thumb-hover-zoom img,
.thumb.thumb-zoom img {
  transition: -webkit-transform 1s;
  transition: transform 1s;
  transition: transform 1s, -webkit-transform 1s; }

div,
dl,
dt,
dd,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

body {
    font-family: 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Grande', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
  font-size: 16px;
  line-height: 1.6em;
  color: #232323; }

/**
 *
 * @atom Headline
 * @section Content > Typography
 * @description
 *  Headlines which visually separate and introduce content. All the headlines utilize the bold headings font.
 * @markup
 *  <h1>Headline h1 - 36px</h1>
 *  <h2>Headline h2 - 28px</h2>
 *  <h3>Headline h3 - 24px</h3>
 *  <h4>Headline h4 - 20px</h4>
 *  <h5>Headline h5 - 18px</h5>
 *  <h6>Headline h6 - 16px</h6>
 */
h1, h2, h3, h4, h5, h6 {
  font-weight: 600;
  color: #232323;
  line-height: 1.25em; }

h1 {
  font-size: 2.25rem; }

h2 {
  font-size: 1.75rem; }

h3 {
  font-size: 1.5rem; }

h4 {
  font-size: 1.25rem; }

h5 {
  font-size: 1.125rem; }

h6 {
  font-size: 1rem; }

/**
 * @atom Story List Heading
 * @section Content > Typography
 * @description
 *  Story list heading for a preview list of articles.
 * @markup
 *  <div class="bg-secondary">
 *   <h1 class="list-heading primary-list-heading">Primary</h1>
 *   <h1 class="list-heading secondary-list-heading">Secondary</h1>
 *  </div>
 */
.list-heading {
  margin: 0;
  font-family: "HelveticaNeueW01-67MdCn 692710";
  font-weight: normal;
  font-size: 1.25rem; }
  .list-heading.primary-list-heading {
    color: #fff; }
  .list-heading.secondary-list-heading {
    display: inline-block;
    margin: 0 0 2.5rem;
    padding: 10px;
    background-color: #ffe11f; }

.sidebar-left .list-heading.primary-list-heading {
  padding-left: 2.5rem; }

.list-heading-elevation {
  margin-top: -2.5rem;
  padding-top: 2.5rem; }

/**
 * @atom Content
 * @section Content > Typography
 * @description
 *  Standard body content
 * @markup
 *   <div class="content">@{lipsum:3:sentence}</div>
 */
#story-body {
  min-height: 2.5rem;
  font-family: "Georgia", serif; }

.content {
  margin: 2.5rem 0;
  clear: both;
  font-size: 1rem;
  line-height: 1.875em; }

.featured-story .authorship-wrapper + .content,
.standard-story .authorship-wrapper + .content {
  margin-top: 1.25rem; }

@media (min-width: 50em) {
  .featured-story .content p,
  .standard-story .content p {
    padding: 0 5rem; }
  .featured-story .content ul,
  .featured-story .content ol,
  .standard-story .content ul,
  .standard-story .content ol {
    padding: 0 8rem; }
    .featured-story .content ul ul,
    .featured-story .content ul ol,
    .featured-story .content ol ul,
    .featured-story .content ol ol,
    .standard-story .content ul ul,
    .standard-story .content ul ol,
    .standard-story .content ol ul,
    .standard-story .content ol ol {
      padding: 0 4rem; }
    .featured-story .content ul p,
    .featured-story .content ol p,
    .standard-story .content ul p,
    .standard-story .content ol p {
      padding: 10px !important;
      margin: 0 !important; } }

.content .larger {
  font-family: "Georgia", serif;
  font-size: 1em;
  line-height: 1em; }
  .content .larger strong {
    font-family: "Georgia", serif; }

/**
*
* @atom Drop Caps
* @section Content > Content Blocks
* @markup
*   <div class="content drop-caps">
*     <p>@{lipsum:6:sentence}</p>  
*     <p>@{lipsum:6:sentence}</p>
*   </div>
*/
.content.drop-caps > p:first-of-type::first-letter {
  float: left;
  font-weight: 600;
  font-style: normal;
  font-size: 6.45em;
  margin: 0.28em .1em .1em 0; }

/**
 * @atom Byline Connector
 * @section Content > Typography
 * @description
 *  Connector line for article preview lists and graphic
 * @markup
 *   <div class="byline-connector">By <a href="#">Bill Smith</a> // 24 minutes ago</div>
 */
.byline-connector {
  position: relative;
  font-size: 0.875rem; }
  .byline-connector:after {
    content: "";
    position: absolute;
    top: 50%;
    width: 100%;
    height: 1px;
    margin-left: 10px;
    border-top: 1px solid #ccc; }

.content h1,
.content h2,
.content h3,
.content h4,
.content h5,
.content h6 {
  margin: 0.5em 0; }

.content p {
  margin: 0 0 1.5em 0; }

.content p + h1,
.content ul + h1,
.content ol + h1 {
  margin: 2em 0 .5em 0; }

.content p + h2,
.content ul + h2,
.content ol + h2 {
  margin: 1.75em 0 .5em 0; }

.content p + h3,
.content ul + h3,
.content ol + h3 {
  margin: 1.5em 0 .5em 0; }

.content p + h4,
.content ul + h4,
.content ol + h4,
.content p + h5,
.content ul + h5,
.content ol + h5,
.content p + h6,
.content ul + h6,
.content ol + h6 {
  margin: 1.25em 0 .5em 0; }

.content ul,
.content ol {
  margin: 0 0 1.75em 0;
  overflow: hidden; }
  .content ul + ul,
  .content ul + ol,
  .content ol + ul,
  .content ol + ol {
    margin-top: -1.25em; }

.content ul ul,
.content ol ol,
.content ul ol,
.content ol ul {
  margin-bottom: 0; }

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

.content sup {
  top: -.5em; }

.content sub {
  bottom: -.25em; }

.content dt {
  font-weight: bold; }

.content dd {
  margin-bottom: .5rem;
  margin-left: 0; }

.content mark {
  background: #ffe11f;
  color: #000; }

.content code,
.content kbd,
.content pre,
.content samp {
  font-family: monospace,serif;
  font-size: 1em; }

.content pre {
  white-space: pre-wrap; }

.content q {
  quotes: "“" "”" "‘" "’"; }
  .content q:before {
    content: open-quote; }
  .content q:after {
    content: close-quote; }

/**
 * @atom Story Hero Byline
 * @section Content > Byline
 * @description
 *  The primary title of a page, story, press release, etc.
 * @markup
 *  <div class="story-header">
 *   <p class="byline">by <a href="#" rel="author">William T. McGithers</a></p>
 *  </div>
 */
.story-header .byline, .dark-headline .byline {
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 1em; }

.authorship-wrapper {
  margin-top: 1.25rem;
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 1rem;
  text-align: left;
  color: #7c8083; }
  @media (min-width: 50em) {
    .authorship-wrapper {
      padding: 0 5rem; } }

.byline-merged-centered {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.byline-merged {
  color: #7c8083; }
  .byline-merged .byline {
    display: inline-block; }
  .byline-merged .publish-date-stamp {
    display: inline-block;
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal; }

/**
 * @atom Byline Connector
 * @section Content > Byline
 * @description
 *  Connector line for story preview lists and graphic
 * @markup
 *   <div class="byline-connector">By <a href="#">Bill Smith</a> // 24 minutes ago</div>
 */
.byline-connector {
  position: relative;
  overflow: hidden;
  font-size: 0.875em; }
  @media (min-width: 50em) {
    .byline-connector {
      margin-right: -700px; } }
  .byline-connector::after {
    content: "";
    position: absolute;
    top: 50%;
    width: 100%;
    height: 1px;
    margin-left: 10px;
    border-top: 1px solid #ccc; }
    @media (max-width: 50em) {
      .byline-connector::after {
        display: none; } }

/**
 *
 * @atom Blockquote
 * @section Content > Blockquote
 * @description
 *  The default style for blockquote
 * @markup
 *  <div class="content">
 *    <blockquote> 
 *      <p>"@{lipsum:1:sentence}"</p>
 *       <footer>- <cite>Stephen Roberts</cite></footer>
 *    </blockquote>
 *  </div>
 */
.content blockquote {
  position: static;
  margin: 0 0 1.5em 0;
  padding: 1.875rem 0;
  border-left: 0;
  border-top: 1px solid #ccc;
  border-bottom: 1px solid #ccc;
  text-align: center;
  font-size: 1rem;
  font-weight: normal;
  font-style: normal; }
  .content blockquote:after {
    display: none; }
  .content blockquote p {
    margin: 0;
    padding: 0 1.25rem;
    font-size: 3rem;
    font-weight: 600;
    color: #017DC7;
    line-height: 1em; }
  .content blockquote footer {
    margin-top: 0.625rem;
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    font-size: 1.5rem;
    color: #7c8083; }
    .content blockquote footer cite {
      font-style: normal; }

/**
 * @atom Story Hero Title
 * @section Content > Headlines
 * @description
 *  The primary story title
 * @markup
 *   <h1 class="title">Story Hero Title</h1>
 */
header .title,
.cover-headline-container .title {
  font-size: 3rem;
  line-height: 1.1em; }
  @media (min-width: 50em) {
    header .title,
    .cover-headline-container .title {
      font-size: 3.5rem; } }
  @media (min-width: 60em) {
    header .title,
    .cover-headline-container .title {
      font-size: 5rem; } }

/**
 * @atom Story Hero Subtitle
 * @section Content > Headlines
 * @description
 *  The story subtitle.
 * @markup
 *   <h2 class="subtitle">Subtitle</h2>
 */
header .subtitle,
.cover-headline-container .subtitle {
  font-family: "HelveticaNeueW01-47LtCn 692686";
  font-weight: normal;
  font-size: 2.0rem;
  line-height: normal; }
  @media (min-width: 60em) {
    header .subtitle,
    .cover-headline-container .subtitle {
      font-size: 2.5rem; } }

.inline-gallery .gallery-control-wrapper {
  padding: 1.25rem 0 0; }
  @media (min-width: 30em) {
    .inline-gallery .gallery-control-wrapper {
      padding: 0; } }

.inline-gallery .gallery-viewer {
  position: relative;
  overflow: hidden;
  height: 170px;
  text-align: center; }
  @media (min-width: 30em) {
    .inline-gallery .gallery-viewer {
      height: 260px; } }
  @media (min-width: 40em) {
    .inline-gallery .gallery-viewer {
      height: 340px; } }
  @media (min-width: 50em) {
    .inline-gallery .gallery-viewer {
      height: 430px; } }
  @media (min-width: 80em) {
    .inline-gallery .gallery-viewer {
      height: 560px; } }

.gallery-wrapper .gallery-viewer {
  text-align: center; }
  .gallery-wrapper .gallery-viewer figure {
    display: block; }

.gallery-modal .caption-wrapper {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  border-top: 1px solid #ffe11f;
  padding: 1.25rem 2.5rem;
  color: white;
  margin: 0 2.5rem;
  font-size: 14px;
  background-color: #232323; }

.gallery-modal .caption-wrapper .credit {
  font-style: italic;
  font-size: 12px;
  color: #ccc;
  padding-bottom: 5px; }

.gallery-header .gallery-control-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.gallery-header .icon-wrapper {
  font-size: 2.084rem;
  line-height: 0.5em; }
  .gallery-header .icon-wrapper:hover {
    color: #ffe11f; }

.gallery-header .icon-wrapper,
.gallery-header .gallery-position {
  padding: 0 10px; }
  @media (min-width: 30em) {
    .gallery-header .icon-wrapper,
    .gallery-header .gallery-position {
      padding: 0 1.25rem; } }

.gallery-header .share-container .social-media-icons .icon-wrapper {
  font-size: 1.35rem; }
  @media (max-width: 20em) {
    .gallery-header .share-container .social-media-icons .icon-wrapper {
      font-size: 1.15rem; } }
  .gallery-header .share-container .social-media-icons .icon-wrapper:hover {
    color: #fff; }

@media (max-width: 30em) {
  .gallery-header .grid-container {
    display: none; } }

.gallery-header .grid-container:hover {
  cursor: pointer; }

.gallery-header .close-container:hover {
  cursor: pointer; }

.gallery-modal .gallery-header {
  display: block;
  background: #000;
  color: #fff;
  padding: 0.625rem; }
  @media (min-width: 40em) {
    .gallery-modal .gallery-header {
      padding: 1.25rem; } }

.gallery-modal .image {
  background-position: center center;
  background-repeat: no-repeat;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0nMTY4cHgnIGhlaWdodD0nMTY4cHgnIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgdmlld0JveD0iMCAwIDEwMCAxMDAiIHByZXNlcnZlQXNwZWN0UmF0aW89InhNaWRZTWlkIiBjbGFzcz0idWlsLWRlZmF1bHQiPjxyZWN0IHg9IjAiIHk9IjAiIHdpZHRoPSIxMDAiIGhlaWdodD0iMTAwIiBmaWxsPSJub25lIiBjbGFzcz0iYmsiPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDAgNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0OScgeT0nNDcnIHdpZHRoPScyJyBoZWlnaHQ9JzYnIHJ4PScwJyByeT0nMCcgZmlsbD0nI2ZmZicgdHJhbnNmb3JtPSdyb3RhdGUoMTggNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMC45NXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0OScgeT0nNDcnIHdpZHRoPScyJyBoZWlnaHQ9JzYnIHJ4PScwJyByeT0nMCcgZmlsbD0nI2ZmZicgdHJhbnNmb3JtPSdyb3RhdGUoMzYgNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMC45cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ5JyB5PSc0Nycgd2lkdGg9JzInIGhlaWdodD0nNicgcng9JzAnIHJ5PScwJyBmaWxsPScjZmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSg1NCA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjg1cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ5JyB5PSc0Nycgd2lkdGg9JzInIGhlaWdodD0nNicgcng9JzAnIHJ5PScwJyBmaWxsPScjZmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSg3MiA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjhzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDkwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMjApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nLTAuNzVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDEwOCA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjdzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDEyNiA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjY1cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ5JyB5PSc0Nycgd2lkdGg9JzInIGhlaWdodD0nNicgcng9JzAnIHJ5PScwJyBmaWxsPScjZmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNDQgNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMC42cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ5JyB5PSc0Nycgd2lkdGg9JzInIGhlaWdodD0nNicgcng9JzAnIHJ5PScwJyBmaWxsPScjZmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgxNjIgNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMC41NXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0OScgeT0nNDcnIHdpZHRoPScyJyBoZWlnaHQ9JzYnIHJ4PScwJyByeT0nMCcgZmlsbD0nI2ZmZicgdHJhbnNmb3JtPSdyb3RhdGUoMTgwIDUwIDUwKSB0cmFuc2xhdGUoMCAtMjApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nLTAuNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0OScgeT0nNDcnIHdpZHRoPScyJyBoZWlnaHQ9JzYnIHJ4PScwJyByeT0nMCcgZmlsbD0nI2ZmZicgdHJhbnNmb3JtPSdyb3RhdGUoMTk4IDUwIDUwKSB0cmFuc2xhdGUoMCAtMjApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nLTAuNDVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDIxNiA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjRzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDIzNCA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjM1cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ5JyB5PSc0Nycgd2lkdGg9JzInIGhlaWdodD0nNicgcng9JzAnIHJ5PScwJyBmaWxsPScjZmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNTIgNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMC4zcycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PHJlY3QgIHg9JzQ5JyB5PSc0Nycgd2lkdGg9JzInIGhlaWdodD0nNicgcng9JzAnIHJ5PScwJyBmaWxsPScjZmZmJyB0cmFuc2Zvcm09J3JvdGF0ZSgyNzAgNTAgNTApIHRyYW5zbGF0ZSgwIC0yMCknPiAgPGFuaW1hdGUgYXR0cmlidXRlTmFtZT0nb3BhY2l0eScgZnJvbT0nMScgdG89JzAnIGR1cj0nMXMnIGJlZ2luPSctMC4yNXMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0OScgeT0nNDcnIHdpZHRoPScyJyBoZWlnaHQ9JzYnIHJ4PScwJyByeT0nMCcgZmlsbD0nI2ZmZicgdHJhbnNmb3JtPSdyb3RhdGUoMjg4IDUwIDUwKSB0cmFuc2xhdGUoMCAtMjApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nLTAuMnMnIHJlcGVhdENvdW50PSdpbmRlZmluaXRlJy8+PC9yZWN0PjxyZWN0ICB4PSc0OScgeT0nNDcnIHdpZHRoPScyJyBoZWlnaHQ9JzYnIHJ4PScwJyByeT0nMCcgZmlsbD0nI2ZmZicgdHJhbnNmb3JtPSdyb3RhdGUoMzA2IDUwIDUwKSB0cmFuc2xhdGUoMCAtMjApJz4gIDxhbmltYXRlIGF0dHJpYnV0ZU5hbWU9J29wYWNpdHknIGZyb209JzEnIHRvPScwJyBkdXI9JzFzJyBiZWdpbj0nLTAuMTVzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDMyNCA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjFzJyByZXBlYXRDb3VudD0naW5kZWZpbml0ZScvPjwvcmVjdD48cmVjdCAgeD0nNDknIHk9JzQ3JyB3aWR0aD0nMicgaGVpZ2h0PSc2JyByeD0nMCcgcnk9JzAnIGZpbGw9JyNmZmYnIHRyYW5zZm9ybT0ncm90YXRlKDM0MiA1MCA1MCkgdHJhbnNsYXRlKDAgLTIwKSc+ICA8YW5pbWF0ZSBhdHRyaWJ1dGVOYW1lPSdvcGFjaXR5JyBmcm9tPScxJyB0bz0nMCcgZHVyPScxcycgYmVnaW49Jy0wLjA1cycgcmVwZWF0Q291bnQ9J2luZGVmaW5pdGUnLz48L3JlY3Q+PC9zdmc+); }

[data-gallerythumb="true"]:hover {
  cursor: pointer; }

/**
 * @molecule Share Context Menu
 * @section Headlines
 * @description 
 *  Sharing context menu revealed on-hover
 * @markup 
 *      <div class="share">
 *          <div class="share-item-wrapper hover-padding hover-top">
 *              <div class="share-item border-arrow arrow-bottom">
 *                  <ul class="social-media-icons narrow">
 *                      <li class="facebook">
 *                          <svg class="icon">
 *                           <use xlink:href="#facebook" />
 *                          </svg>
 *                      </li>
 *                      <li class="twitter">
 *                          <svg class="icon">
 *                           <use xlink:href="#twitter" />
 *                          </svg>
 *                      </li>
 *                      <li class="reddit">
 *                          <svg class="icon">
 *                           <use xlink:href="#reddit" />
 *                          </svg>
 *                      </li>
 *                      <li class="linkedin">
 *                          <svg class="icon">
 *                           <use xlink:href="#linkedin" />
 *                          </svg>
 *                      </li>
 *                      <li class="email">
 *                          <svg class="icon">
 *                           <use xlink:href="#email" />
 *                          </svg>
 *                      </li>
 *                  </ul>
 *              </div>
 *          </div>
 *          <svg class="icon">
 *              <use xlink:href="#share" />
 *          </svg>
 *          <p>Share</p>
 *      </div>
  *      <div class="share">
 *          <div class="share-item-wrapper hover-padding hover-bottom">
 *              <div class="share-item border-arrow arrow-top">
 *                  <ul class="social-media-icons narrow">
 *                      <li class="facebook">
 *                          <svg class="icon">
 *                           <use xlink:href="#facebook" />
 *                          </svg>
 *                      </li>
 *                      <li class="twitter">
 *                          <svg class="icon">
 *                           <use xlink:href="#twitter" />
 *                          </svg>
 *                      </li>
 *                      <li class="reddit">
 *                          <svg class="icon">
 *                           <use xlink:href="#reddit" />
 *                          </svg>
 *                      </li>
 *                      <li class="linkedin">
 *                          <svg class="icon">
 *                           <use xlink:href="#linkedin" />
 *                          </svg>
 *                      </li>
 *                      <li class="email">
 *                          <svg class="icon">
 *                           <use xlink:href="#email" />
 *                          </svg>
 *                      </li>
 *                  </ul>
 *              </div>
 *          </div>
 *          <svg class="icon">
 *              <use xlink:href="#share" />
 *          </svg>
 *          <p>Share</p>
 *      </div>
 */
.share {
  position: relative;
  z-index: 2; }
  .share:hover .share-item-wrapper {
    display: block; }
  .share .hover-padding {
    padding: 20px; }
  .share .share-item-wrapper {
    display: none;
    position: absolute; }
    .share .share-item-wrapper.hover-top {
      top: -85px;
      left: -134px; }
    .share .share-item-wrapper.hover-bottom {
      top: 15px;
      left: -144px; }

/**
 * @molecule Share Story Header
 * @section Headlines
 * @description 
 *  This is utilized as a hover state of the share icon in the story headline.
 * @markup          
 *   <div class="share-item border-arrow arrow-bottom">
 *       <ul class="social-media-icons narrow">
 *           <li class="facebook">
 *               <svg class="icon">
 *                <use xlink:href="#facebook" />
 *               </svg>
 *           </li>
 *           <li class="twitter">
 *               <svg class="icon">
 *                <use xlink:href="#twitter" />
 *               </svg>
 *           </li>
 *           <li class="reddit">
 *               <svg class="icon">
 *                <use xlink:href="#reddit" />
 *               </svg>
 *           </li>
 *           <li class="linkedin">
 *               <svg class="icon">
 *                <use xlink:href="#linkedin" />
 *               </svg>
 *           </li>
 *           <li class="email">
 *               <svg class="icon">
 *                <use xlink:href="#email" />
 *               </svg>
 *           </li>
 *       </ul>
 *   </div>                      
 */
.share-item {
  padding: 10px;
  border: 1px solid #ccc;
  background-color: white; }
  .share-item .social-media-icons {
    white-space: nowrap; }

/**
 * @molecule Share Story Header Dark
 * @section Headlines
 * @description 
 *  This is utilized as a hover state of the share icon in the story headline.
 * @markup          
 *   <div class="share-item dark border-arrow arrow-top">
 *       <ul class="social-media-icons narrow">
 *           <li class="facebook">
 *               <svg class="icon">
 *                <use xlink:href="#facebook" />
 *               </svg>
 *           </li>
 *           <li class="twitter">
 *               <svg class="icon">
 *                <use xlink:href="#twitter" />
 *               </svg>
 *           </li>
 *           <li class="reddit">
 *               <svg class="icon">
 *                <use xlink:href="#reddit" />
 *               </svg>
 *           </li>
 *           <li class="linkedin">
 *               <svg class="icon">
 *                <use xlink:href="#linkedin" />
 *               </svg>
 *           </li>
 *           <li class="email">
 *               <svg class="icon">
 *                <use xlink:href="#email" />
 *               </svg>
 *           </li>
 *       </ul>
 *   </div>                      
 */
.share-item.dark {
  background-color: #000; }

/**
 * @molecule Dark Hero Headline
 * @section Headlines
 * @description 
 *  Headine over a hero image has a dark background.
 * @markup
 *      <div class="dark-headline clearfix">
 *          <h1 class="title"><span>@{lipsum:10:words}</span></h1>
 *          <h2 class="subtitle"><span>@{lipsum:12:words}</span></h2>
 *      </div>
 */
.dark-headline {
  padding: 0.625rem;
  z-index: 2;
  background-color: #232323; }
  @media (min-width: 50em) {
    .dark-headline {
      position: absolute;
      top: 3.75rem;
      left: 0;
      right: 0;
      padding: 0 2.5rem;
      background-color: transparent; } }
  .dark-headline.bottom {
    top: auto;
    bottom: 3.75rem; }
  .dark-headline.middle {
    top: 40%; }
  .dark-headline .ie-fix {
    max-width: 1340px;
    margin: 0 auto; }
  .dark-headline .title {
    margin-bottom: 10px; }
  .dark-headline span {
    background-color: #232323;
    color: #fff;
    box-shadow: 10px 0 0 #232323, -10px 0 0 #232323; }
  .dark-headline a {
    color: #ffe11f; }
    .dark-headline a:hover {
      text-decoration: none; }

/**
 * @molecule Open Gallery
 * @section Image > Icon Overlay
 * @description 
 *  Open gallery icon overlayed on an image
 * @markup 
 *          <figure class="thumb-container">
 *              <span class="thumb thumb-small open-gallery"><img src="../img/thumb.png"></span>
 *          </figure>
 */
.open-gallery::after {
  content: "";
  top: 0%;
  left: 0%;
  width: 100%;
  height: 100%;
  position: absolute;
  background-image: url("data:image/svg+xml;base64,PHN2ZyANCiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciDQogeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiDQogdmlld0JveD0iMCAtMTAgMTEyIDEzMiI+DQogPGRlZnM+CQkJDQogICAgICAgIDxmaWx0ZXIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIiBpZD0iZHJvcHNoYWRvdyI+DQogICAgICAgICAgICA8ZmVPZmZzZXQgcmVzdWx0PSJvZmZPdXQiIGluPSJTb3VyY2VHcmFwaGljIiBkeD0iMCIgZHk9IjAiLz4NCiAgICAgICAgICAgIDxmZUNvbG9yTWF0cml4IHJlc3VsdD0ibWF0cml4T3V0IiBpbj0ib2ZmT3V0IiB0eXBlPSJtYXRyaXgiIHZhbHVlcz0iMC4yIDAgMCAwIDAgMCAwLjIgMCAwIDAgMCAwIDAuMiAwIDAgMCAwIDAgMSAwIi8+DQogICAgICAgICAgICA8ZmVHYXVzc2lhbkJsdXIgcmVzdWx0PSJibHVyT3V0IiBpbj0ibWF0cml4T3V0IiBzdGREZXZpYXRpb249IjYiLz4NCiAgICAgICAgICAgIDxmZUJsZW5kIGluPSJTb3VyY2VHcmFwaGljIiBpbjI9ImJsdXJPdXQiIG1vZGU9Im5vcm1hbCIvPiAgIA0KICAgICAgICA8L2ZpbHRlcj4NCiAgICA8L2RlZnM+DQogICAgPHBhdGggZmlsbD0iI2ZmZiIgZmlsbC1ydWxlPSJldmVub2RkIiBmaWx0ZXI9InVybCgjZHJvcHNoYWRvdykiIGQ9Ik01Ni4wMDAsMTEyLjAwMCBDMjUuMDcyLDExMi4wMDAgMC4wMDAsODYuOTI4IDAuMDAwLDU2LjAwMCBDMC4wMDAsMjUuMDcyIDI1LjA3MiwwLjAwMCA1Ni4wMDAsMC4wMDAgQzg2LjkyOCwwLjAwMCAxMTIuMDAwLDI1LjA3MiAxMTIuMDAwLDU2LjAwMCBDMTEyLjAwMCw4Ni45MjggODYuOTI4LDExMi4wMDAgNTYuMDAwLDExMi4wMDAgWk01Ni4wMDAsMTEuMDAwIEMzMS4xNDcsMTEuMDAwIDExLjAwMCwzMS4xNDcgMTEuMDAwLDU2LjAwMCBDMTEuMDAwLDgwLjg1MyAzMS4xNDcsMTAxLjAwMCA1Ni4wMDAsMTAxLjAwMCBDODAuODUzLDEwMS4wMDAgMTAxLjAwMCw4MC44NTMgMTAxLjAwMCw1Ni4wMDAgQzEwMS4wMDAsMzEuMTQ3IDgwLjg1MywxMS4wMDAgNTYuMDAwLDExLjAwMCBaTTc5LjU2Myw3NS4wMDAgTDMxLjQzNyw3NS4wMDAgQzI5LjU0Nyw3NS4wMDAgMjguMDAwLDczLjQ2MyAyOC4wMDAsNzEuNTg0IEwyOC4wMDAsNDQuMjUwIEMyOC4wMDAsNDIuMzcxIDI5LjU0Nyw0MC44MzMgMzEuNDM3LDQwLjgzMyBMNDMuNDY5LDQwLjgzMyBDNDQuMzI4LDM3LjQxNyA0NS4xODcsMzQuMDAwIDQ4LjYyNSwzNC4wMDAgTDYyLjM3NSwzNC4wMDAgQzY1LjgxMiwzNC4wMDAgNjYuNjcyLDM3LjQxNyA2Ny41MzEsNDAuODMzIEw3OS41NjMsNDAuODMzIEM4MS40NTMsNDAuODMzIDgzLjAwMCw0Mi4zNzEgODMuMDAwLDQ0LjI1MCBMODMuMDAwLDcxLjU4NCBDODMuMDAwLDczLjQ2MyA4MS40NTMsNzUuMDAwIDc5LjU2Myw3NS4wMDAgWk01NS41MDAsNDAuODMzIEM0Ni45NTcsNDAuODMzIDQwLjAzMSw0Ny43MTcgNDAuMDMxLDU2LjIwOCBDNDAuMDMxLDY0LjcwMCA0Ni45NTcsNzEuNTg0IDU1LjUwMCw3MS41ODQgQzY0LjA0Myw3MS41ODQgNzAuOTY5LDY0LjcwMCA3MC45NjksNTYuMjA4IEM3MC45NjksNDcuNzE3IDY0LjA0Myw0MC44MzMgNTUuNTAwLDQwLjgzMyBaTTc5LjU2Myw0NC4yNTAgTDcyLjY4Nyw0NC4yNTAgTDcyLjY4Nyw0Ny42NjcgTDc5LjU2Myw0Ny42NjcgTDc5LjU2Myw0NC4yNTAgWk01NS41MDAsNjcuMDk4IEM0OS40NDksNjcuMDk4IDQ0LjU0NCw2Mi4yMjMgNDQuNTQ0LDU2LjIwOCBDNDQuNTQ0LDUwLjE5NCA0OS40NDksNDUuMzE5IDU1LjUwMCw0NS4zMTkgQzYxLjU1MSw0NS4zMTkgNjYuNDU2LDUwLjE5NCA2Ni40NTYsNTYuMjA4IEM2Ni40NTYsNjIuMjIzIDYxLjU1MSw2Ny4wOTggNTUuNTAwLDY3LjA5OCBaIi8+DQo8L3N2Zz4=");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: 30%; }

.story-content .hvr-data.default-table {
  margin: 0 auto; }
  @media (min-width: 50em) {
    .story-content .hvr-data.default-table {
      width: calc(100% - 10rem); } }

.hvr-data {
  border-collapse: collapse;
  counter-reset: vehicleCounter; }
  .hvr-data.default-table {
    table-layout: fixed;
    /**
     *  table body
     */ }
    .hvr-data.default-table td,
    .hvr-data.default-table th {
      padding: 10px;
      text-align: left;
      vertical-align: middle; }
    @media (min-width: 50em) {
      .hvr-data.default-table td {
        padding: 15px; } }
    .hvr-data.default-table th {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-size: 16px;
      text-transform: uppercase; }
    .hvr-data.default-table p {
      padding: 0;
      margin: 0;
      font-size: 14px; }
    .hvr-data.default-table p + p {
      margin: 1em 0 0; }
    .hvr-data.default-table thead {
      text-align: left; }
      .hvr-data.default-table thead tr {
        background: #e6e6e6; }
        .hvr-data.default-table thead tr th {
          font-size: 1em;
          width: 75%; }
          @media (min-width: 30em) {
            .hvr-data.default-table thead tr th {
              width: 80%; } }
        .hvr-data.default-table thead tr th.hvr-logo {
          width: 80px;
          text-align: center;
          border-left: 4px solid #fff; }
          @media (min-width: 50em) {
            .hvr-data.default-table thead tr th.hvr-logo {
              padding: 15px 20px; } }
        .hvr-data.default-table thead tr .hvr-logo {
          background: url("https://s3.amazonaws.com/apps.hagerty.com/sitecore-assets/USHome/_assets/img/hagerty-vehicle-rating-logo.svg") no-repeat center;
          background-size: 80%; }
          @media (min-width: 60em) {
            .hvr-data.default-table thead tr .hvr-logo {
              height: 35px;
              background-size: 75%; } }
    .hvr-data.default-table tbody {
      font-family: "HelveticaNeueW01-67MdCn 692710";
      font-size: 16px; }
      .hvr-data.default-table tbody tr:first-of-type td {
        padding-top: 30px !important; }
      .hvr-data.default-table tbody tr td {
        text-align: center; }
      .hvr-data.default-table tbody tr td:first-of-type {
        text-align: left; }
        .hvr-data.default-table tbody tr td:first-of-type span {
          display: block; }
      .hvr-data.default-table tbody tr td:last-of-type {
        padding: 5px;
        text-align: center;
        border-left: 4px solid #fff; }
    .hvr-data.default-table.increment-data tbody tr td:first-of-type {
      padding-left: 10px; }
      .hvr-data.default-table.increment-data tbody tr td:first-of-type span {
        display: block;
        margin-left: 1.4em;
        text-indent: -1.4em; }
        .hvr-data.default-table.increment-data tbody tr td:first-of-type span:before {
          content: counter(vehicleCounter) ".  ";
          counter-increment: vehicleCounter; }
        .hvr-data.default-table.increment-data tbody tr td:first-of-type span.same:before {
          counter-increment: vehicleCounter +0; }
    .hvr-data.default-table:not(.increment-data) tbody tr td:first-of-type span:before {
      content: attr(data-increment) ".  "; }
    .hvr-data.default-table.striped-display tbody tr:nth-child(even) {
      background: #e6e6e6; }
    .hvr-data.default-table.striped-display tbody tr td:last-of-type {
      border-left: 0; }
    .hvr-data.default-table.widget-display {
      background-color: #e6e6e6;
      font-size: 14px;
      counter-reset: vehicleCounter 20; }
      .hvr-data.default-table.widget-display thead tr th.hvr-logo {
        border-left: 0;
        background-size: 80%; }
        @media (min-width: 60em) {
          .hvr-data.default-table.widget-display thead tr th.hvr-logo {
            width: 80px; } }
        @media (min-width: 50em) {
          .hvr-data.default-table.widget-display thead tr th.hvr-logo {
            height: 35px;
            background-size: 75%; } }
      .hvr-data.default-table.widget-display tbody tr:first-of-type td {
        padding-top: 15px !important; }
      .hvr-data.default-table.widget-display tbody tr td:last-of-type {
        border-left: 0; }
    .hvr-data.default-table.detailed-display tbody tr:nth-child(odd) td {
      padding-top: 30px !important; }
    .hvr-data.default-table.detailed-display tbody tr:nth-of-type(even) td {
      font-family: sans-serif;
      padding: 20px 0 20px 12px;
      text-align: left;
      border-bottom: 4px solid #ccc; }
    .hvr-data.default-table.detailed-display tbody tr:last-of-type td {
      border-bottom: 0; }
    .hvr-data.default-table.detailed-display tbody tr td:first-of-type {
      width: 70%; }
      .hvr-data.default-table.detailed-display tbody tr td:first-of-type span {
        display: block;
        margin-left: 0;
        text-indent: 0;
        font-size: 1.2em; }
        .hvr-data.default-table.detailed-display tbody tr td:first-of-type span:before {
          content: ""; }
        .hvr-data.default-table.detailed-display tbody tr td:first-of-type span p {
          font-size: 1em; }
    .hvr-data.default-table.detailed-display tbody tr td:last-of-type {
      border-left: 0; }
      .hvr-data.default-table.detailed-display tbody tr td:last-of-type span {
        padding: 15px;
        background: #e6e6e6; }
    .hvr-data.default-table.changed-display thead {
      text-align: left; }
      .hvr-data.default-table.changed-display thead tr th:first-of-type {
        font-size: 1em;
        width: 75%; }
      .hvr-data.default-table.changed-display thead tr th.hvr-logo-container {
        text-align: center;
        border-left: 4px solid #fff;
        border-right: 4px solid #fff; }
      .hvr-data.default-table.changed-display thead tr th:last-of-type {
        width: 50px;
        text-align: center; }
    .hvr-data.default-table.changed-display tbody tr:nth-of-type(even) td {
      font-family: sans-serif;
      padding: 20px 0 20px 12px;
      text-align: left;
      border-bottom: 4px solid #e6e6e6; }
    .hvr-data.default-table.changed-display tbody tr:nth-of-type(even) td {
      text-align: left; }
    .hvr-data.default-table.changed-display tbody tr:nth-of-type(odd) td {
      padding: 20px 0 20px 12px; }
    .hvr-data.default-table.changed-display tbody tr td:first-of-type {
      width: 70%; }
      .hvr-data.default-table.changed-display tbody tr td:first-of-type span {
        display: block;
        margin-left: 0;
        text-indent: 0;
        font-size: 1.2em; }
        .hvr-data.default-table.changed-display tbody tr td:first-of-type span:before {
          content: ""; }
        .hvr-data.default-table.changed-display tbody tr td:first-of-type span p {
          font-size: 1em; }
    .hvr-data.default-table.changed-display tbody tr td:nth-of-type(2) {
      border-left: 0; }
      .hvr-data.default-table.changed-display tbody tr td:nth-of-type(2) span {
        padding: 15px;
        background: #e6e6e6; }
    @media (min-width: 50em) {
      .hvr-data.default-table.changed-display tbody tr td:nth-of-type(3) {
        padding: 15px 25px; } }
    .hvr-data.default-table.changed-display tbody tr td:nth-of-type(3) span {
      font-style: italic; }
      .hvr-data.default-table.changed-display tbody tr td:nth-of-type(3) span.negative {
        color: #5bb33b; }
      .hvr-data.default-table.changed-display tbody tr td:nth-of-type(3) span.positive {
        color: #D40033; }

.hvr-landing-page .table-with-sections,
.hvr-landing-page .table-with-heading {
  border-collapse: collapse;
  border: 1px solid #ccc; }

.hvr-landing-page .table-with-sections th {
  padding: 5px 10px !important;
  border: 1px solid #ccc; }

.hvr-landing-page .table-with-sections td {
  padding: 0px 10px; }

.hvr-landing-page .table-with-heading th, .hvr-landing-page .table-with-heading td {
  border: 1px solid #ccc;
  padding: 0px 15px; }

.hvr-landing-page .table-with-heading th:first-of-type {
  text-align: right;
  padding: 5px 11px 5px 40px; }

.hvr-landing-page .table-with-heading th:last-of-type {
  text-align: left;
  padding: 5px 200px 5px 15px; }

.hvr-landing-page .table-with-heading td:nth-child(1) {
  text-align: right; }

/**
 * @molecule Share Widget
 * @section Widgets
 * @description 
 *  some description...
 * @markup 
 *  <div class="media-widget share-widget">
 *      <h1>Like this article? Share it!</h1>
 *      <ul class="social-media-icons">
 *          <li class="facebook">
 *              <svg class="icon">
 *               <use xlink:href="#facebook" />
 *              </svg>
 *          </li>
 *          <li class="twitter">
 *              <svg class="icon">
 *               <use xlink:href="#twitter" />
 *              </svg>
 *          </li>
 *          <li class="reddit">
 *              <svg class="icon">
 *               <use xlink:href="#reddit" />
 *              </svg>
 *          </li>
 *          <li class="linkedin">
 *              <svg class="icon">
 *               <use xlink:href="#linkedin" />
 *              </svg>
 *          </li>
 *          <li class="email">
 *              <svg class="icon">
 *               <use xlink:href="#email" />
 *              </svg>
 *          </li>
 *      </ul>
 *  </div>        
 */
.media-widget.share-widget {
  background-color: #f7f7f7; }
  .media-widget.share-widget h1 {
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    font-size: 1.5rem; }
  .media-widget.share-widget h1 + ul {
    margin-top: 20px; }
  .media-widget.share-widget ul + ul {
    margin-top: 20px; }

/**
 * @molecule Follow us on social media
 * @section Widgets
 * @description 
 *  some description...
 * @markup 
 */
.follow-widget {
  margin-bottom: 20px;
  text-align: center; }
  .follow-widget .heading {
    font-weight: 600;
    font-size: 1.5rem;
    text-transform: none;
    padding-bottom: 10px; }

/**
 * @molecule Newsletter Signup Widget
 * @section Widgets
 * @description 
 *  some description...needs final markup
 * @markup    
 */
.newsletter-signup {
  text-align: center; }
  .newsletter-signup .title {
    margin-bottom: 1.25rem; }
  .newsletter-signup .form-container {
    margin: 1.25rem 0; }
  .newsletter-signup .row-of-inputs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }
    @media (min-width: 30em) {
      .newsletter-signup .row-of-inputs {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-direction: row;
                flex-direction: row; } }
    @media (min-width: 60em) and (max-width: 80em) {
      .newsletter-signup .row-of-inputs {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .newsletter-signup .row-of-inputs .input {
      margin-bottom: 1.25rem; }
      @media (min-width: 30em) {
        .newsletter-signup .row-of-inputs .input {
          width: 50%; } }
      @media (min-width: 60em) and (max-width: 80em) {
        .newsletter-signup .row-of-inputs .input {
          width: 100%; } }
      @media (min-width: 30em) {
        .newsletter-signup .row-of-inputs .input:first-child {
          padding-right: 0.625rem; } }
      @media (min-width: 60em) and (max-width: 80em) {
        .newsletter-signup .row-of-inputs .input:first-child {
          padding-right: 0; } }
      @media (min-width: 30em) {
        .newsletter-signup .row-of-inputs .input:last-child {
          padding-left: 0.625rem; } }
      @media (min-width: 60em) and (max-width: 80em) {
        .newsletter-signup .row-of-inputs .input:last-child {
          padding-left: 0; } }
      @media (min-width: 30em) {
        .newsletter-signup .row-of-inputs .input:last-child label {
          padding-left: 0.625rem; } }
      @media (min-width: 60em) and (max-width: 80em) {
        .newsletter-signup .row-of-inputs .input:last-child label {
          padding-left: 0; } }
  .newsletter-signup .success {
    padding: 1.25rem 0; }
  .newsletter-signup .hidden {
    display: none; }

.sidebar .newsletter-signup.left-align {
  text-align: left; }
  .sidebar .newsletter-signup.left-align .row-of-inputs {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; }

.content .newsletter-signup {
  padding: 0 2.5rem;
  font-family: sans-serif;
  line-height: 1.6em; }
  @media (min-width: 50em) {
    .content .newsletter-signup {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  .content .newsletter-signup .title {
    margin: 0 0 1.25rem 0;
    color: #017DC7; }
    @media (min-width: 50em) {
      .content .newsletter-signup .title {
        margin: 0 1.25rem 0 0; } }
  .content .newsletter-signup .form-container {
    margin: 0 0 1.25rem 0; }
    @media (min-width: 50em) {
      .content .newsletter-signup .form-container {
        margin: 0 1.25rem; } }
  @media (min-width: 50em) {
    .content .newsletter-signup .cta-container {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 200px;
              flex: 0 0 200px; } }

.inline-gallery .gallery-item {
  cursor: pointer;
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 100%;
  width: 100%;
  top: -1000px; }
  .inline-gallery .gallery-item.featured {
    top: 0px; }
  .inline-gallery .gallery-item.hiddenForSlideLeft {
    left: 1000px; }
  .inline-gallery .gallery-item.hiddenForSlideRight {
    left: -1000px; }
  .inline-gallery .gallery-item img {
    max-width: 100%;
    max-height: 100%;
    -ms-flex-item-align: center;
        -ms-grid-row-align: center;
        align-self: center; }

.inline-gallery {
  position: relative;
  border-top: 4px solid #ffe11f;
  border-bottom: 4px solid #ffe11f;
  padding: 2.5rem 0;
  margin: 2.5rem 0; }

.gallery-wrapper.single-image {
  margin: 2.5rem 0; }

.inline-gallery .gallery-position {
  position: absolute;
  z-index: 1;
  top: -1.0625rem;
  right: 0px;
  background-color: #fff;
  color: #232323;
  padding-left: 1.25rem;
  font-family: sans-serif;
  font-size: .8rem; }
  .inline-gallery .gallery-position span {
    color: #017DC7; }

.gallery-modal .carousel-navigation {
  font-size: 1.5rem; }
  .gallery-modal .carousel-navigation .view-left,
  .gallery-modal .carousel-navigation .view-right {
    position: absolute;
    z-index: 100;
    display: block;
    padding: 10px;
    color: #ffe11f;
    background-color: #7c8083;
    opacity: 0.75;
    transition: all 0.25s ease-in; }
    .gallery-modal .carousel-navigation .view-left:hover,
    .gallery-modal .carousel-navigation .view-right:hover {
      cursor: pointer;
      opacity: 1; }
  .gallery-modal .carousel-navigation .view-left {
    top: 50%;
    left: 0; }
  .gallery-modal .carousel-navigation .view-right {
    top: 50%;
    right: 0; }

.gallery-modal .view.error {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 2.5rem;
  color: #fff; }
  .gallery-modal .view.error a {
    color: #ffe11f; }

.gallery-modal .image-full {
  display: block;
  position: relative;
  overflow: hidden;
  max-height: 100%; }
  .gallery-modal .image-full .image {
    display: none;
    color: #fff;
    text-align: center;
    box-sizing: border-box;
    opacity: 0; }
    .gallery-modal .image-full .image.active {
      display: block; }
    .gallery-modal .image-full .image.first {
      opacity: 1; }
    .gallery-modal .image-full .image img {
      max-width: 100%;
      max-height: 80vh; }

.gallery-header .gallery-position {
  font-size: 0.875rem;
  color: #fff;
  min-width: 4rem;
  text-align: center; }
  .gallery-header .gallery-position span {
    color: #ffe11f; }

.gallery-modal .image-tiles {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 10px 0 0;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }
  .gallery-modal .image-tiles .image {
    display: inline-block;
    position: relative;
    width: 250px;
    height: 250px;
    overflow: hidden;
    margin: 0 5px 5px;
    cursor: pointer;
    background-color: #f7f7f7; }
    .gallery-modal .image-tiles .image .caption,
    .gallery-modal .image-tiles .image .credit {
      display: none; }
    .gallery-modal .image-tiles .image img {
      position: absolute;
      left: 50%;
      top: 50%;
      height: 100%;
      width: auto;
      max-width: none;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%); }

/* ==========================================================================
   :: Blocks
   ========================================================================== */
/**
 * Add a description here..
 *
 * @structure Blocks
 * @section Block scructure
 * @markup
 *   <div class="demo-item">
 *   <ul class="blocks blocks-two-up">
 *      <li>.blocks-two-up</li>
 *      <li>.blocks-two-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-three-up">
 *      <li>.blocks-three-up</li>
 *      <li>.blocks-three-up</li>
 *      <li>.blocks-three-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-four-up">
 *      <li>.blocks-four-up</li>
 *      <li>.blocks-four-up</li>
 *      <li>.blocks-four-up</li>
 *      <li>.blocks-four-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-five-up">
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *      <li>.blocks-five-up</li>
 *   </ul>
 *   </div>
 *   <div class="demo-item">
 *   <ul class="blocks blocks-six-up">
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *      <li>.blocks-six-up</li>
 *   </ul>
 *   </div>
 *   <ul class="blocks blocks-three-up reset" style="max-width:980px;">
 *      <li>
 *          <figure class="charcoal">
 *               <img height="202" width="300" src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic Car Insurance/Does my vehicle qualify/Tractors/194JohnDeereH.ashx" alt="1941 John Deere H">
 *              <figcaption>1941 John Deere H</figcaption>
 *          </figure>
 *      </li>
 *      <li>
 *          <figure class="charcoal">
 *              <img height="202" width="300" src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic Car Insurance/Does my vehicle qualify/Tractors/1961Porsche217.ashx" alt="1961 Porsche 217">
 *              <figcaption>1961 Porsche 217</figcaption>
 *          </figure>
 *      </li>
 *      <li>
 *          <figure class="charcoal">
 *              <img height="202" width="300" src="https://www.hagerty.com/~/media/Images/USHome/Insurance/Classic Car Insurance/Does my vehicle qualify/Tractors/1939Ford9NTractor.ashx" alt="1939 Ford 9N Tractor">
 *              <figcaption>1939 Ford 9N Tractor</figcaption>
 *          </figure>
 *      </li>
 *  </ul>
 */
.blocks {
  display: block;
  clear: both;
  margin-left: -20px;
  list-style: none; }
  .blocks.reset {
    padding: 0; }
  .blocks:after {
    display: block;
    clear: both;
    content: ''; }
  .blocks .content {
    margin-left: -10px;
    margin-right: -10px; }
  .blocks > li {
    display: block;
    clear: both;
    padding: 0 10px;
    background: none; }
    .blocks > li figure img {
      width: 100%;
      vertical-align: middle; }
  .blocks.condensed {
    margin-left: 0;
    margin-right: 0; }
    .blocks.condensed > li {
      padding: 0; }
  @media (min-width: 20em) {
    .blocks > li {
      clear: none; }
    .blocks.blocks-four-up > li,
    .blocks.blocks-five-up > li,
    .blocks.blocks-six-up > li {
      float: left;
      width: 50%; }
    .blocks.blocks-four-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(2n+1),
    .blocks.blocks-six-up > li:nth-child(2n+1) {
      clear: left; } }
  @media (min-width: 30em) {
    .blocks img {
      width: auto; }
    .blocks.blocks-two-up > li,
    .blocks.blocks-three-up > li {
      float: left;
      width: 50%; }
    .blocks.blocks-five-up > li,
    .blocks.blocks-six-up > li {
      width: 33.333333%; }
    .blocks.blocks-five-up > li:nth-child(2n+1),
    .blocks.blocks-six-up > li:nth-child(2n+1) {
      clear: none; }
    .blocks.blocks-two-up > li:nth-child(2n+1),
    .blocks.blocks-three-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(3n+1),
    .blocks.blocks-six-up > li:nth-child(3n+1) {
      clear: left; } }
  @media (min-width: 40em) {
    .blocks.blocks-three-up > li {
      width: 33.333333%; }
    .blocks.blocks-four-up > li {
      width: 25%; }
    .blocks.blocks-five-up > li {
      width: 20%; }
    .blocks.blocks-six-up > li {
      width: 16.666667%; }
    .blocks.blocks-three-up > li:nth-child(2n+1),
    .blocks.blocks-four-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(2n+1),
    .blocks.blocks-five-up > li:nth-child(3n+1),
    .blocks.blocks-six-up > li:nth-child(3n+1) {
      clear: none; }
    .blocks.blocks-three-up > li:nth-child(3n+1),
    .blocks.blocks-four-up > li:nth-child(4n+1),
    .blocks.blocks-five-up > li:nth-child(5n+1),
    .blocks.blocks-six-up > li:nth-child(6n+1) {
      clear: left; } }
  @media (min-width: 50em) {
    .blocks.blocks-two-up > li,
    .blocks.blocks-three-up > li {
      float: left;
      width: 50%; } }
  @media (min-width: 60em) {
    .blocks.blocks-two-up > li,
    .blocks.blocks-three-up > li {
      float: left;
      width: 33.3333%; }
    .blocks.blocks-two-up > li {
      width: 50%; } }

/**
 * @structure Author Details
 * @section Author
 * @flag full-width
 * @description 
 *  Author details, most likely found as the header of the author's landing page.
 * @markup 
 *      <div class="author-details">
 *          <div class="avatar">
 *              <img src="../img/avatar-photo.jpg" class="avatar-mask">
 *          </div> 
 *          <h1 class="title">William T. McGithers</h1>
 *          <div class="social-container">
 *              <p>Follow me on:</p>
 *              <ul class="social-media-icons">
 *                  <li class="facebook">
 *                      <svg class="icon">
 *                       <use xlink:href="#facebook" />
 *                      </svg>
 *                  </li>
 *                  <li class="twitter">
 *                      <svg class="icon">
 *                       <use xlink:href="#twitter" />
 *                      </svg>
 *                  </li>
 *                  <li class="instagram">
 *                      <svg class="icon">
 *                       <use xlink:href="#instagram" />
 *                      </svg>
 *                  </li>
 *                  <li class="reddit">
 *                      <svg class="icon">
 *                       <use xlink:href="#reddit" />
 *                      </svg>
 *                  </li>
 *                  <li class="linkedin">
 *                      <svg class="icon">
 *                       <use xlink:href="#linkedin" />
 *                      </svg>
 *                  </li>
 *                  <li class="email">
 *                      <svg class="icon">
 *                       <use xlink:href="#email" />
 *                      </svg>
 *                  </li>
 *                  <li class="rss">
 *                      <svg class="icon">
 *                       <use xlink:href="#rss" />
 *                      </svg>
 *                  </li>
 *              </ul>
 *          </div>
 *          <p class="biography">@{lipsum:65:words}</p>
 *      </div>
 */
.author-details {
  text-align: center; }
  .author-details .title {
    font-size: 4em;
    margin-bottom: 1.25rem; }
  .author-details .social-container {
    margin-bottom: 1.25rem;
    color: #7c8083; }
    .author-details .social-container .social-media-icons {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      .author-details .social-container .social-media-icons .icon-wrapper {
        padding: 7px 1.625rem;
        margin-left: 1px;
        margin-right: 1px;
        font-size: 2.5rem; }
    .author-details .social-container p {
      margin-bottom: 1.25em; }
  .author-details .biography {
    margin: 0 auto;
    width: 80%;
    max-width: 80em; }

/**
 * @structure Small Author Details
 * @section Author
 * @description 
 *  Less information about the author, most likely found in the sidebar recommended / popular articles. Use .avatar-smaller on the avatar image to make it smaller.
 * @markup 
 *      <div class="author-details-small" style="width: 400px; padding: 40px; border-right:1px solid #ccc; background-color: #f7f7f7; overflow:hidden;">
 *          <div class="avatar">
 *              <img src="../img/avatar-photo.jpg" class="avatar-mask">
 *          </div> 
 *          <div class="title">
 *              <a href="#">William T. McGithers</a>
 *          </div>
 *          <div class="social-container">
 *              <p>Follow me on:</p>
 *              <ul class="social-media-icons narrow">
 *                  <li class="facebook">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#facebook" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *                  <li class="twitter">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#twitter" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *                  <li class="instagram">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#instagram" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *                  <li class="reddit">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#reddit" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *                  <li class="linkedin">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#linkedin" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *                  <li class="email">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#email" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *                  <li class="rss">
 *                     <a href="#">
 *                      <svg class="icon">
 *                       <use xlink:href="#rss" />
 *                      </svg>
 *                     </a>
 *                  </li>
 *              </ul>
 *          </div>
 *      </div>
 */
.author-details-small {
  margin: 40px 0;
  text-align: center; }
  .author-details-small .avatar {
    border-color: #f7f7f7; }
  .author-details-small .title {
    font-size: 1.25rem;
    margin-bottom: 10px; }
  .author-details-small .social-container {
    margin-bottom: 10px;
    font-size: 0.875rem;
    color: #7c8083; }
    .author-details-small .social-container p {
      margin-bottom: 10px; }

/**
 * @structure Header
 * @section Story > Header
 * @flag full-width
 * @description 
 *  Header section of a story item.
 * @markup 
 *      <header class="story-header container">
 *          <h1 class="title">@{lipsum:2:words}</h1>
 *          <p class="byline">by <a href="#" rel="author">William T. McGithers</a></p>
 *          <time class="publish-date" datetime="2016-08-15T19:00">August 15, 2016</time>
 *      </header>
 */
#list-container {
    width: 50%;
    margin: auto;
}

.yolo {
    width: 70%;
    margin: auto;
}
.story-header {
  margin-top: 2.5rem;
  text-align: center; }
  .story-header .title {
    margin-bottom: 1.25rem; }

.story-preview-container {
  overflow: hidden;
  margin-bottom: 3.125rem; }
  .story-preview-container .story-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    color: inherit;
    text-decoration: none; }
    .story-preview-container .story-link:hover .title {
      color: #017DC7; }
  .story-preview-container .byline-connector {
    color: #7c8083; }
    @media (max-width: 50em) {
      .story-preview-container .byline-connector {
        margin-bottom: 0.625rem; } }

.story-list-error {
  margin: 1rem 0; }

/**
 * @structure Long Story Preview
 * @section Story Preview
 * @description 
 *  Full text preview of an story item.
 * @markup 
 *  <ul class="story-list long-story">
 *      <li>
 *          <article class="story-preview-container">
 *              <a href="#" class="story-link">
 *                  <div class="story">
 *                      <h1>@{lipsum:10:words}</h1>
 *                      <p class="summary hide-to-desktop">@{lipsum:1:sentence}</p>
 *                      <p class="byline-connector">By William T. McGithers // <time class="publish-date" datetime="2016-08-15T19:00">11 minutes</time> ago</p>
 *                  </div>          
 *                  <figure class="thumb-container">
 *                      <span class="thumb thumb-small thumb-color thumb-zoom open-gallery"><img src="../img/thumb.png"></span>
 *                  </figure>
 *              </a>
 *          </article>
 *      </li>
 *      <li class="story-hr"><hr class="hide-from-tablet"></li>
 *      <li>
 *          <article class="story-preview-container">
 *              <a href="#" class="story-link">
 *                  <div class="story">
 *                      <h1>@{lipsum:10:words}</h1>
 *                      <p class="summary hide-to-desktop">@{lipsum:1:sentence}</p>
 *                      <p class="byline-connector">By Franklin W. Cowveers // <time class="publish-date" datetime="2016-08-15T19:00">11 minutes</time> ago</p>
 *                  </div>          
 *                  <figure class="thumb-container">
 *                      <span class="thumb thumb-small thumb-color thumb-zoom play"><img src="../img/thumb.png"></span>
 *                  </figure>
 *              </a> 
 *          </article>
 *      </li>
 *      <li><hr class="hide-from-tablet"></li>
 *  </ul>
 */
.long-story {
  margin: 2.5rem 0; }
  @media (min-width: 50em) {
    .long-story .story-link {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  @media (min-width: 50em) {
    .long-story .story {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1;
      width: 50%;
      margin-top: 0;
      padding-right: 2.5rem; } }
  .long-story .title {
    font-size: 2.25em; }
    @media (min-width: 50em) {
      .long-story .title {
        margin-bottom: 1.25rem; } }
  .long-story .summary {
    font-family: "HelveticaNeueW01-47LtCn 692686";
    font-weight: normal;
    font-size: 1.25rem;
    margin-bottom: 1.25rem; }
  @media (min-width: 50em) {
    .long-story .thumb-container {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2;
      width: 50%; } }
  @media (max-width: 50em) {
    .long-story .thumb-container .thumb {
      margin: 0 auto; } }

/**
 * @structure Short story Preview
 * @section Story Preview
 * @description 
 *  Short preview of an story item. Should be used with .hide-to-desktop as this goes away in mobile views.
 * @markup
 *  <div class="left-aside">
 *      <div>
 *          <ul class="story-list short-story" style="width: 400px; padding: 40px; border-right:1px solid #ccc; background-color: #f7f7f7; overflow:hidden;">
 *              <li>
 *                  <article class="story-preview-container">
 *                      <a href="#" class="story-link">
 *                          <div class="story">
 *                              <h1>@{lipsum:10:words}</h1>
 *                              <p class="byline-connector">By William T. McGithers // <time class="publish-date" datetime="2016-08-15T19:00">11 minutes</time> ago</p>
 *                          </div>          
 *                          <figure class="thumb-container">
 *                              <span class="thumb thumb-small thumb-color thumb-zoom open-gallery"><img src="../img/thumb.png"></span>
 *                          </figure>
 *                      </a> 
 *                  </article>
 *              </li>
 *              <li>
 *                  <article class="story-preview-container">
 *                      <a href="#" class="story-link">
 *                          <div class="story">
 *                              <h1>@{lipsum:10:words}</h1>
 *                              <p class="byline-connector">By William T. McGithers // <time class="publish-date-stamp" datetime="2016-08-15T19:00">2 days ago</time> ago</p>
 *                          </div>          
 *                          <figure class="thumb-container">
 *                              <span class="thumb thumb-small thumb-color thumb-zoom play"><img src="../img/thumb.png"></span>
 *                          </figure>
 *                      </a> 
 *                  </article>
 *              </li>
 *          </ul>
 *      </div>
 *  </div>
 */
@media (max-width: 60em) {
  .short-story .story-preview-container .thumb-container {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .short-story .story-preview-container .story {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .short-story .story-preview-container .title {
    margin: 0; }
  .short-story .story-preview-container .byline-connector {
    margin-bottom: 0.625rem; } }

.short-story .publish-date-stamp {
  color: #7c8083; }

.short-story .title {
  font-size: 1.875em;
  margin: 0.625rem 0; }

/**
 * @structure Story Preview List
 * @section Story Preview
 * @description 
 *  Story preview list structure.
 * @markup
 *  <ul class="story-list">
 *      <li>
 *          <article class="story-preview-container">
 *              <a href="#" class="story-link">
 *                  {{Story text}}
 *              </a>
 *          </article>
 *      </li>
 *      <li class="story-hr"><hr class="hide-from-tablet"></li> 
 *  </ul>
 */
.story-list-wrapper .button.ajax {
  display: none; }

.story-list-tiles .story-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.story-list-tiles .summary,
.story-list-tiles .authorship,
.story-list-tiles .byline-connector::after {
  display: none; }

@media (min-width: 50em) {
  .story-list-tiles .short-story {
    margin-left: -1.25rem;
    margin-right: -1.25rem; } }

.story-list-tiles .short-story .story {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.story-list-tiles .short-story .thumb-container {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.story-list-tiles .long-story .story,
.story-list-tiles .long-story .thumb-container {
  width: 100%; }

.story-list-tiles .long-story .story {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.story-list-tiles .long-story .thumb-container {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.story-list-tiles .long-story .title {
  font-size: 1.875em; }
  @media (min-width: 60em) {
    .story-list-tiles .long-story .title {
      margin: 0.625rem 0; } }

@media (min-width: 40em) {
  .story-list-tiles .thumb {
    max-height: 220px; } }

@media (min-width: 40em) {
  .story-list-tiles .story-preview-container {
    width: 50%;
    padding: 0 1.25rem; } }

@media (min-width: 50em) {
  .story-list-tiles .story-preview-container {
    width: 33%; } }

@media (min-width: 50em) {
  .story-list-tiles .story-preview-container .story {
    min-height: 130px; } }

.site-footer {
  padding-top: 0px; }

.cover-headline-container {
  position: relative;
  overflow: hidden; }
  .cover-headline-container a,
  .cover-headline-container .cover-container {
    width: 100%; }
  .cover-headline-container img {
    width: 100%;
    max-height: 70vh;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: center;
       object-position: center;
    font-family: "object-fit: cover; object-position: center;"; }

.cover-headline-container .story-cover {
  display: block;
  z-index: 1; }
  .cover-headline-container .story-cover.standard {
    margin: 2.5rem 0; }

.cover-headline-container .icon-cover::after {
  background-size: 20%; }
  @media (min-width: 20em) {
    .cover-headline-container .icon-cover::after {
      background-size: 15%; } }
  @media (min-width: 50em) {
    .cover-headline-container .icon-cover::after {
      background-size: 10%; } }

#story-container .cover-container {
  margin: 2.5rem 0; }

.inline-gallery .gallery-control {
  padding: 1.5rem;
  color: #017DC7;
  background-color: #fff;
  border: 1px solid #ccc; }
  @media (min-width: 40em) {
    .inline-gallery .gallery-control {
      position: absolute;
      padding: 1rem;
      opacity: 0.6;
      transition: opacity 0.5s ease-out; } }
  @media (min-width: 40em) {
    .inline-gallery .gallery-control.left, .inline-gallery .gallery-control.right {
      top: 140px;
      float: none; } }
  @media (min-width: 50em) {
    .inline-gallery .gallery-control.left, .inline-gallery .gallery-control.right {
      top: 185px; } }
  @media (min-width: 80em) {
    .inline-gallery .gallery-control.left, .inline-gallery .gallery-control.right {
      top: 250px; } }
  .inline-gallery .gallery-control:hover {
    opacity: 1;
    cursor: pointer; }
  .inline-gallery .gallery-control.left {
    float: left; }
    @media (min-width: 40em) {
      .inline-gallery .gallery-control.left {
        left: 0px; } }
  .inline-gallery .gallery-control.right {
    float: right; }
    @media (min-width: 40em) {
      .inline-gallery .gallery-control.right {
        right: 0px; } }

.gallery-modal {
  display: none;
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  min-height: 100vh;
  background-color: #232323;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  -webkit-touch-callout: none;
  /* iOS Safari */
  -webkit-user-select: none;
  /* Safari */
  /* Konqueror HTML */
  -moz-user-select: none;
  /* Firefox */
  -ms-user-select: none;
  /* Internet Explorer/Edge */
  user-select: none;
  /* Non-prefixed version, currently
                                  supported by Chrome and Opera */ }
  .gallery-modal .hidden {
    visibility: hidden; }
  .gallery-modal .view {
    display: none; }
    .gallery-modal .view.image-tiles.active {
      display: block;
      text-align: center; }
    .gallery-modal .view.image-full.active {
      display: block; }
    .gallery-modal .view.error.active {
      display: block; }
  .gallery-modal.active {
    display: block; }

.gallery-header .gallery-title {
  -webkit-box-flex: 4;
      -ms-flex-positive: 4;
          flex-grow: 4;
  padding: 0 10px; }
  @media (max-width: 80em) {
    .gallery-header .gallery-title {
      display: none; } }
  .gallery-header .gallery-title a {
    color: inherit;
    text-decoration: none; }
  .gallery-header .gallery-title h1 {
    color: #fff; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,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LGNBQWMsRUFBRTtJQUNoQjtNQUNFLGVBQWU7TUFDZixtQkFBbUIsRUFBRTtJQUN2QjtNQUNFLGVBQWUsRUFBRTtJQUNuQjtNQUNFLGVBQWUsRUFBRTtFQUNyQjtJQUNFLGVBQWUsRUFBRTs7QUFFckI7RUFDRSxvQkFBYTtNQUFiLHFCQUFhO1VBQWIsYUFBYTtFQUNiLGdCQUFnQixFQUFFO0VBQ2xCO0lBQ0U7TUFDRSxjQUFjLEVBQUUsRUFBRTtFQUN0QjtJQUNFLGVBQWU7SUFDZixzQkFBc0IsRUFBRTtFQUMxQjtJQUNFLFlBQVksRUFBRSIsImZpbGUiOiJVU0NBTWVkaWFTaXRlL2NvZGUvYXNzZXRzL2FwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4gICA6OiBFcnJvciBIYW5kbGluZ1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjQuMi4wIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXHJcbiAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluIElFIGFuZCBpT1MuXHJcbiAqL1xuLyogRG9jdW1lbnRcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxyXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcclxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxyXG4gKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxyXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cclxuICovXG5maWdjYXB0aW9uLFxuZmlndXJlLFxubWFpbiB7XG4gIC8qIDEgKi9cbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cclxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxyXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cclxuICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXHJcbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cclxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIG91dGxpbmUgb24gZm9jdXNlZCBsaW5rcyB3aGVuIHRoZXkgYXJlIGFsc28gYWN0aXZlIG9yIGhvdmVyZWRcclxuICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKipcclxuICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxyXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXHJcbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxyXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxyXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxyXG4gKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxyXG4gKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc21hbGwge1xuICBmb250LXNpemU6IDgwJTsgfVxuXG4vKipcclxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXHJcbiAqIGFsbCBicm93c2Vycy5cclxuICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqL1xuYXVkaW8sXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cclxuICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxyXG4gKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcclxuICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEZvcm1zXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cclxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxyXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcclxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXHJcbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXHJcbiAqL1xuYnV0dG9uLFxuaW5wdXQge1xuICAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cclxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxyXG4gKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXHJcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxyXG4gKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXHJcbiAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXHJcbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXHJcbiAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cclxuICovXG5idXR0b246LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwicmVzZXRcIl06LW1vei1mb2N1c3JpbmcsXG5bdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcclxuICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXHJcbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXHJcbiAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXHJcbiAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cclxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxyXG4gKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cclxuICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXHJcbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXHJcbiAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXHJcbiAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcclxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gSUUgMTAtLlxyXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxyXG4gKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXHJcbiAqIENvcnJlY3QgdGhlIGN1cnNvciBzdHlsZSBvZiBpbmNyZW1lbnQgYW5kIGRlY3JlbWVudCBidXR0b25zIGluIENocm9tZS5cclxuICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxyXG4gKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cclxuICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXHJcbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqLyB9XG5cbi8qKlxyXG4gKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXHJcbiAqL1xuW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcclxuICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cclxuICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxyXG4gKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyogSW50ZXJhY3RpdmVcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxyXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXHJcbiAqL1xuZGV0YWlscyxcbm1lbnUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXHJcbiAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKiBTY3JpcHRpbmdcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cclxuICovXG5jYW52YXMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXHJcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxyXG4gKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxyXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXHJcbiAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbmh0bWwge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYSxcbmFyZWEsXG5idXR0b24sXG5pbnB1dCxcbmxhYmVsLFxuc2VsZWN0LFxuc3VtbWFyeSxcbnRleHRhcmVhIHtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG4vKipcclxuICogQnVnYXR0aSBCbHVlXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBQcmltYXJ5XHJcbiAqL1xuLyoqXHJcbiAqIERhcmsgQmx1ZVxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gUHJpbWFyeVxyXG4gKi9cbi8qKlxyXG4gKiBGZXJyYXJpIFJlZFxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gUHJpbWFyeVxyXG4gKi9cbi8qKlxyXG4gKiBEYXJrIFJlZFxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gUHJpbWFyeVxyXG4gKi9cbi8qKlxyXG4gKiBSb2FkcnVubmVyIEdyZWVuXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBQcmltYXJ5XHJcbiAqL1xuLyoqXHJcbiAqIERhcmsgR3JlZW5cclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIFByaW1hcnlcclxuICovXG4vKipcclxuICogRmx5IFllbGxvd1xyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gUHJpbWFyeVxyXG4gKi9cbi8qKlxyXG4gKiBEYXJrIFllbGxvd1xyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gUHJpbWFyeVxyXG4gKi9cbi8qKlxyXG4gKiBXaGl0ZVxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gR3JleXNjYWxlXHJcbiAqL1xuLyoqXHJcbiAqIExpZ2h0IEdyYXlcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIEdyZXlzY2FsZVxyXG4gKi9cbi8qKlxyXG4gKiBDb25jcmV0ZVxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gR3JleXNjYWxlXHJcbiAqL1xuLyoqXHJcbiAqIERhcmsgQ29uY3JldGVcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIEdyZXlzY2FsZVxyXG4gKi9cbi8qKlxyXG4gKiBDaHJvbWVcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIEdyZXlzY2FsZVxyXG4gKi9cbi8qKlxyXG4gKiBTbW9rZVxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gR3JleXNjYWxlXHJcbiAqL1xuLyoqXHJcbiAqIEFzcGhhbHRcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIEdyZXlzY2FsZVxyXG4gKi9cbi8qKlxyXG4gKiBCbGFjayAoTGFtYm8pXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBHcmV5c2NhbGVcclxuICovXG4vKipcclxuICogTm90aWZpY2F0aW9uIEJhY2tncm91bmRcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIE5vdGlmaWNhdGlvbnNcclxuICovXG4vKipcclxuICogTm90aWZpY2F0aW9uIFRleHRcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIE5vdGlmaWNhdGlvbnNcclxuICovXG4vKipcclxuICogTm90aWZpY2F0aW9uIEVycm9yIEJhY2tncm91bmRcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIE5vdGlmaWNhdGlvbnNcclxuICovXG4vKipcclxuICogTm90aWZpY2F0aW9uIEVycm9yIFRleHRcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIE5vdGlmaWNhdGlvbnNcclxuICovXG4vKipcclxuICogTm90aWZpY2F0aW9uIENvbmZpcm1hdGlvbiBCYWNrZ3JvdW5kXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBOb3RpZmljYXRpb25zXHJcbiAqL1xuLyoqXHJcbiAqIE5vdGlmaWNhdGlvbiBDb25maXJtYXRpb24gVGV4dFxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gTm90aWZpY2F0aW9uc1xyXG4gKi9cbi8qKlxyXG4gKiBJbmZvcm1hdGlvbmFsIEJhY2tncm91bmRcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIE5vdGlmaWNhdGlvbnNcclxuICovXG4vKipcclxuICogSW5mb3JtYXRpb25hbCBUZXh0XHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBOb3RpZmljYXRpb25zXHJcbiAqL1xuLyoqXHJcbiAqIEZhY2Vib29rXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBTb2NpYWwgQ29sb3JzXHJcbiAqL1xuLyoqXHJcbiAqIFR3aXR0ZXJcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIFNvY2lhbCBDb2xvcnNcclxuICovXG4vKipcclxuICogSW5zdGFncmFtXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBTb2NpYWwgQ29sb3JzXHJcbiAqL1xuLyoqXHJcbiAqIFJlZGRpdFxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gU29jaWFsIENvbG9yc1xyXG4gKi9cbi8qKlxyXG4gKiBMaW5rZWRpblxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gU29jaWFsIENvbG9yc1xyXG4gKi9cbi8qKlxyXG4gKiBZb3V0dWJlXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBTb2NpYWwgQ29sb3JzXHJcbiAqL1xuLyoqXHJcbiAqIEVtYWlsXHJcbiAqIEBjb2xvclxyXG4gKiBAc2VjdGlvbiBTb2NpYWwgQ29sb3JzXHJcbiAqL1xuLyoqXHJcbiAqIFJzc1xyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gU29jaWFsIENvbG9yc1xyXG4gKi9cbi8qKlxyXG4gKiBUdW1ibHJcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIFNvY2lhbCBDb2xvcnNcclxuICovXG4vKipcclxuICogTWVkaXVtIGdyZXlcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIERlcHJlY2F0ZWRcclxuICogQGRlcHJlY2F0ZWRcclxuICovXG4vKipcclxuICogR3JleVxyXG4gKiBAY29sb3JcclxuICogQHNlY3Rpb24gRGVwcmVjYXRlZFxyXG4gKiBAZGVwcmVjYXRlZFxyXG4gKi9cbi8qKlxyXG4gKiBEYXJrIGdyZXlcclxuICogQGNvbG9yXHJcbiAqIEBzZWN0aW9uIERlcHJlY2F0ZWRcclxuICogQGRlcHJlY2F0ZWRcclxuICovXG4vKipcclxuICogQm9keSBGb250XHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIEZvbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIEhlbHZldGljYSBOZXVlIExpZ2h0IENvbmRlbnNlZFxyXG4gKiBAbnVjbGlkZVxyXG4gKiBAc2VjdGlvbiBGb250c1xyXG4gKlxyXG4gKi9cbi8qKlxyXG4gKiBIZWx2ZXRpY2EgTmV1ZSBNZWRpdW0gQ29uZGVuc2VkXHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIEZvbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIEhlbHZldGljYSBOZXVlIEJvbGQgQ29uZGVuc2VkXHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIEZvbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIFR1bmdzdGVuIFNlbWlib2xkXHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIEZvbnRzXHJcbiAqL1xuLyoqXHJcbiAqIFNldCB0aGUgYm9keSBmb250IHdpdGggYW4gb3B0aW9uYWwgZm9udC13ZWlnaHRcclxuICpcclxuICogQG1peGluXHJcbiAqIEBzZWN0aW9uIEZvbnRzXHJcbiAqIEBwYXJhbSAkd2VpZ2h0XHJcbiAqICBUaGUgZm9udCB3ZWlnaHQgdG8gYmUgdXNlZCBbMTAwLCAyMDAsIC4uLiwgOTAwXS5cclxuICogQGV4YW1wbGVcclxuICogIEBpbmNsdWRlIGJvZHlGb250KCk7XHJcbiAqICBAaW5jbHVkZSBib2R5Rm9udCg3MDApO1xyXG4gKi9cbi8qKlxyXG4gKiBTZXQgdGhlIGhlYWRpbmdzIGZvbnQgd2l0aCBhbiBvcHRpb25hbCBmb250LXdlaWdodFxyXG4gKlxyXG4gKiBAbWl4aW5cclxuICogQHNlY3Rpb24gRm9udHNcclxuICogQHBhcmFtICR3ZWlnaHRcclxuICogIFRoZSBmb250IHdlaWdodCB0byBiZSB1c2VkIFtsaWdodCwgbWVkaXVtLCBib2xkXS5cclxuICogQGV4YW1wbGVcclxuICogIEBpbmNsdWRlIGhlbHZldGljYU5ldWUoKTtcclxuICogIEBpbmNsdWRlIGhlbHZldGljYU5ldWUobGlnaHQpO1xyXG4gKi9cbi8qKlxyXG4gKiBNb2JpbGUgUG9ydHJhaXRcclxuICogQG51Y2xpZGVcclxuICogQHNlY3Rpb24gQnJlYWsgUG9pbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIE1vYmlsZSBMYW5kc2NhcGUgLSBSRU1PVkVcclxuICogQG51Y2xpZGVcclxuICogQHNlY3Rpb24gQnJlYWsgUG9pbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIFRhYmxldCBQb3J0cmFpdFxyXG4gKiBAbnVjbGlkZVxyXG4gKiBAc2VjdGlvbiBCcmVhayBQb2ludHNcclxuICpcclxuICovXG4vKipcclxuICogVGFibGV0IExhbmRzY2FwZSAtIFJFTU9WRVxyXG4gKiBAbnVjbGlkZVxyXG4gKiBAc2VjdGlvbiBCcmVhayBQb2ludHNcclxuICpcclxuICovXG4vKipcclxuICogRGVza3RvcCBcclxuICogQG51Y2xpZGVcclxuICogQHNlY3Rpb24gQnJlYWsgUG9pbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIFdpZGVzY3JlZW5cclxuICogQG51Y2xpZGVcclxuICogQHNlY3Rpb24gQnJlYWsgUG9pbnRzXHJcbiAqXHJcbiAqL1xuLyoqXHJcbiAqIEluY2x1ZGUgYSBtZWRpYSBxdWVyeSB0aGF0IGFwcGxpZXMgcHJvcGVydGllcyB0byB0aGUgc2VsZWN0b3Igb25seSBvbiBjZXJ0YWluIHNjcmVlbiB3aWR0aHMuXHJcbiAqXHJcbiAqIEBtaXhpblxyXG4gKiBAc2VjdGlvbiBNZWRpYSBRdWVyaWVzXHJcbiAqIEBwYXJhbSAkYnJlYWtwb2ludFxyXG4gKiAgSWRlYWxseSBhIHByZWRlZmluZWQgdmFsdWUgWyRtb2JpbGUtcCwgJG1vYmlsZS1sLCAkdGFibGV0LXAsICR0YWJsZXQtbCwgJGRlc2t0b3AsICR3aWRlc2NyZWVuXVxyXG4gKlxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgQGluY2x1ZGUgYXQtYnJlYWtwb2ludCgkd2lkdGgpIHtcclxuICogICAgLy9DU1MgU3R5bGVzIHRvIGJlIHJlbmRlcmVkIGF0IGJyZWFrcG9pbnRcclxuICogIH1cclxuICpcclxuICovXG4vKipcclxuICogSW5jbHVkZSBhIG1lZGlhIHF1ZXJ5IHRoYXQgYXBwbGllcyBwcm9wZXJ0aWVzIHRvIHRoZSBzZWxlY3RvciBvbmx5IG9uIGNlcnRhaW4gc2NyZWVuIHdpZHRocy5cclxuICpcclxuICogQG1peGluXHJcbiAqIEBzZWN0aW9uIE1lZGlhIFF1ZXJpZXNcclxuICogQHBhcmFtICRicmVha3BvaW50XHJcbiAqICBJZGVhbGx5IGEgcHJlZGVmaW5lZCB2YWx1ZSBbJG1vYmlsZS1wLCAkbW9iaWxlLWwsICR0YWJsZXQtcCwgJHRhYmxldC1sLCAkZGVza3RvcCwgJHdpZGVzY3JlZW5dXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqICBAaW5jbHVkZSB1bnRpbC1icmVha3BvaW50KCR0YWJsZXQtbCkge1xyXG4gKiAgICAvL0NTUyBTdHlsZXMgdG8gYmUgcmVuZGVyZWRcclxuICogIH1cclxuICpcclxuICovXG4vKipcclxuICogSW5jbHVkZSBhIG1lZGlhIHF1ZXJ5IHRoYXQgYXBwbGllcyBwcm9wZXJ0aWVzIHRvIHRoZSBzZWxlY3RvciBvbmx5IG9uIGNlcnRhaW4gc2NyZWVuIHdpZHRocy5cclxuICpcclxuICogQG1peGluXHJcbiAqIEBzZWN0aW9uIE1lZGlhIFF1ZXJpZXNcclxuICogQHBhcmFtICRicmVha3BvaW50LW1pblxyXG4gKiAgSWRlYWxseSBhIHByZWRlZmluZWQgdmFsdWUgWyRtb2JpbGUtcCwgJG1vYmlsZS1sLCAkdGFibGV0LXAsICR0YWJsZXQtbCwgJGRlc2t0b3AsICR3aWRlc2NyZWVuXVxyXG4gKiBAcGFyYW0gJGJyZWFrcG9pbnQtbWF4XHJcbiAqICBJZGVhbGx5IGEgcHJlZGVmaW5lZCB2YWx1ZSBbJG1vYmlsZS1wLCAkbW9iaWxlLWwsICR0YWJsZXQtcCwgJHRhYmxldC1sLCAkZGVza3RvcCwgJHdpZGVzY3JlZW5dXHJcbiAqXHJcbiAqIEBleGFtcGxlXHJcbiAqICBAbWl4aW4gYmV0d2Vlbi1icmVha3BvaW50cygkYnJlYWtwb2ludC1taW4sICRicmVha3BvaW50LW1heCkge1xyXG4gKiAgICAvL0NTUyBTdHlsZXMgdG8gYmUgcmVuZGVyZWRcclxuICogIH1cclxuICpcclxuICovXG4vKipcclxuICogQG1peGluXHJcbiAqIEBzZWN0aW9uIFV0aWxpdHlcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBBcHBlbmRzIGFuZCBwcmVwZW5kcyBhIGNsZWFyaW5nIHBzZXVkbyBlbGVtZW50IHRvIGF2b2lkIG92ZXJmbG93IG9mXHJcbiAqICBmbG9hdGluZyBjaGlsZHJlbi4gTWF5IGFsc28gYmUgYXBwbGllZCBhcyBhIGNsYXNzIC5jbGVhcmZpeFxyXG4gKiBAZXhhbXBsZVxyXG4gKiAgIEBpbmNsdWRlIGNsZWFyZml4O1xyXG4gKi9cbi8qKlxyXG4gKiBAbWl4aW5cclxuICogQHNlY3Rpb24gVXRpbGl0eVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEFwcGxpZXMgYSBiYWNrZ3JvdW5kLWNvbG9yIGFuZCBob3ZlciBzdGF0ZSB3LyBkYXJrZW5cclxuICogQGV4YW1wbGVcclxuICogICBAaW5jbHVkZSBiZy1ob3ZlcjtcclxuICovXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJvZHkge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjZlbTtcbiAgY29sb3I6ICMyMzIzMjM7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIEhlYWRsaW5lXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBUeXBvZ3JhcGh5XHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgSGVhZGxpbmVzIHdoaWNoIHZpc3VhbGx5IHNlcGFyYXRlIGFuZCBpbnRyb2R1Y2UgY29udGVudC4gQWxsIHRoZSBoZWFkbGluZXMgdXRpbGl6ZSB0aGUgYm9sZCBoZWFkaW5ncyBmb250LlxyXG4gKiBAbWFya3VwXHJcbiAqICA8aDE+SGVhZGxpbmUgaDEgLSAzNnB4PC9oMT5cclxuICogIDxoMj5IZWFkbGluZSBoMiAtIDI4cHg8L2gyPlxyXG4gKiAgPGgzPkhlYWRsaW5lIGgzIC0gMjRweDwvaDM+XHJcbiAqICA8aDQ+SGVhZGxpbmUgaDQgLSAyMHB4PC9oND5cclxuICogIDxoNT5IZWFkbGluZSBoNSAtIDE4cHg8L2g1PlxyXG4gKiAgPGg2PkhlYWRsaW5lIGg2IC0gMTZweDwvaDY+XHJcbiAqL1xuaDEsIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiVHVuZ3N0ZW4gQVwiLCBcIlR1bmdzdGVuIEJcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgY29sb3I6ICMyMzIzMjM7IH1cblxuaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMyMzIzMjM7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwcHg7IH1cblxuaDIge1xuICBmb250LXNpemU6IDIuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG4vKipcclxuICogQGF0b20gUGFnZSBUaXRsZVxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFRoZSBwcmltYXJ5IHRpdGxlIG9mIGEgcGFnZSwgYXJ0aWNsZSwgcHJlc3MgcmVsZWFzZSwgZXRjLlxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGgxIGNsYXNzPVwicGFnZS10aXRsZVwiPlBhZ2UgVGl0bGU8L2gxPlxyXG4gKi9cbi5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY29udGVudCB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qKlxyXG4gICpcclxuICAqIEBhdG9tIExhcmdlciBCb2R5IENvcHlcclxuICAqIEBzZWN0aW9uIENvbnRlbnQgPiBUeXBvZ3JhcGh5XHJcbiAgKiBAZGVwcmVjYXRlZFxyXG4gICogQG1hcmt1cFxyXG4gICogICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gICogICAgIDxwIGNsYXNzPVwibGFyZ2VyXCI+QHtsaXBzdW06MC41OnNlbnRlbmNlfTwvcD5cclxuICAqICAgICA8cCBjbGFzcz1cImxhcmdlclwiPkJvbGQgbGFyZ2VyIGJvZHkgY29weSAtIDxzdHJvbmc+QHtsaXBzdW06Nzp3b3Jkc308L3N0cm9uZz48L3A+XHJcbiAgKiAgIDwvZGl2PlxyXG4gICovXG4uY29udGVudCAubGFyZ2VyIHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS00N0x0Q24gNjkyNjg2XCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS4xNWVtOyB9XG4gIC5jb250ZW50IC5sYXJnZXIgc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gICogQGF0b20gTGVhZCBDb3B5XHJcbiAgKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gICogQGRlc2NyaXB0aW9uXHJcbiAgKiAgIFVzZWQgdG8gc3R5bGUgYW4gaW50cm9kdWN0b3J5IGxlYWQsIGRlY2ssIGJsdXJiLCBldGMuIHV0aWxpemVzIHRoZSBsaWdodCBoZWFkaW5ncyBmb250LCB1bmxlc3MgZW1waGFzaXNlcyBieSBhIHN0cm9uZyB0YWcgaW4gd2hpY2ggdGhlIG1lZGl1bSBoZWFkaW5ncyBmb250IGlzIHVzZWQuXHJcbiAgKiBAbWFya3VwXHJcbiAgKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAgKiAgICAgPHAgY2xhc3M9XCJsZWFkXCI+QHtsaXBzdW06MTpzZW50ZW5jZX0gLSA8c3Ryb25nPkB7bGlwc3VtOjc6d29yZHN9PC9zdHJvbmc+PC9wPlxyXG4gICogICA8L2Rpdj5cclxuICAqL1xuLmNvbnRlbnQgLmxlYWQge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTQ3THRDbiA2OTI2ODZcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjE1OyB9XG4gIC5jb250ZW50IC5sZWFkIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcclxuICpcclxuICogQGF0b20gU21hbGxlciBCb2R5IENvcHlcclxuICogQHNlY3Rpb24gQ29udGVudCA+IFR5cG9ncmFwaHlcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAqICAgIDxwIGNsYXNzPVwic21hbGxlclwiPkB7bGlwc3VtOjE6c2VudGVuY2V9PC9wPlxyXG4gKiAgIDwvZGl2PlxyXG4gKi9cbi5jb250ZW50IC5zbWFsbGVyIHtcbiAgZm9udC1zaXplOiAwLjY4NzVlbTsgfVxuXG4vKipcclxuICpcclxuICogQGF0b20gQmlnIG51bWJlclxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gKiBAbWFya3VwXHJcbiAqL1xuLmNvbnRlbnQgLmJpZ251bWJlciB7XG4gIHBhZGRpbmc6IDNweCAxMHB4O1xuICBtYXJnaW46IDAgMnB4IDAgMDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS41ZW07IH1cblxuLyoqXHJcbiAqIEBhdG9tIFN0b3J5IExpc3QgSGVhZGluZ1xyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFN0b3J5IGxpc3QgaGVhZGluZyBmb3IgYSBwcmV2aWV3IGxpc3Qgb2YgYXJ0aWNsZXMuXHJcbiAqIEBtYXJrdXBcclxuICogIDxkaXYgY2xhc3M9XCJiZy1zZWNvbmRhcnlcIj5cclxuICogICA8aDEgY2xhc3M9XCJsaXN0LWhlYWRpbmcgcHJpbWFyeS1saXN0LWhlYWRpbmdcIj5QcmltYXJ5PC9oMT5cclxuICogICA8aDEgY2xhc3M9XCJsaXN0LWhlYWRpbmcgc2Vjb25kYXJ5LWxpc3QtaGVhZGluZ1wiPlNlY29uZGFyeTwvaDE+XHJcbiAqICA8L2Rpdj5cclxuICovXG4ubGlzdC1oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiVHVuZ3N0ZW4gQVwiLCBcIlR1bmdzdGVuIEJcIjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubGlzdC1oZWFkaW5nIC5zbWFsbC1saW5rIHtcbiAgICBmb250LXNpemU6IDAuNGVtO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNjdNZENuIDY5MjcxMFwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAtOHB4OyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAYXRvbSBEaXNjbGFpbWVyXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBUeXBvZ3JhcGh5XHJcbiAqIEBtYXJrdXBcclxuICogIDxkaXYgY2xhc3M9XCJkaXNjbGFpbWVyXCI+IFxyXG4gKiAgICA8cD5Ae2xpcHN1bToxOnNlbnRlbmNlfTwvcD5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5kaXNjbGFpbWVyIHtcbiAgcGFkZGluZzogMjBweCAwO1xuICBjb2xvcjogIzdjODA4MztcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IDEuN2VtOyB9XG4gIC5kaXNjbGFpbWVyLmluLXBhZ2Uge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY2xlYXI6IG5vbmU7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIEJsb2NrcXVvdGVcclxuICogQHNlY3Rpb24gQ29udGVudCA+IFR5cG9ncmFwaHlcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBUaGUgZGVmYXVsdCBzdHlsZSBmb3IgYmxvY2txdW90ZVxyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gKiAgICA8YmxvY2txdW90ZT4gXHJcbiAqICAgICAgPHA+QHtsaXBzdW06MTpzZW50ZW5jZX08L3A+XHJcbiAqICAgIDwvYmxvY2txdW90ZT5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5jb250ZW50IGJsb2NrcXVvdGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMCAwIDIxcHggMzNweDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZTZlNmU2O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG4gIC5jb250ZW50IGJsb2NrcXVvdGUgcCB7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmNvbnRlbnQgYmxvY2txdW90ZTpub3QoLnB1bGxxdW90ZSk6bm90KC5jb250ZW50IC5wdWxscXVvdGUuY2hhcmNvYWwpOmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMzNweDtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0zM3B4O1xuICAgIHRvcDogMDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoLi4vaW1nL2ljb25zL3F1b3RlX2ljbi5zdmcpIG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDc1JTsgfVxuXG4uY29udGVudCBjaXRlLmdyZXl3cmFwIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiA1cHggMTBweCA1cHggMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgY29sb3I6ICM1NTU7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAYXRvbSBUZXh0IEJ1YmJsZVxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEEgc3R5bGFsaXN0aWMgdmFyaWFudCBvbiB0aGUgYmxvY2txdW90ZS4gVXNlZCBmb3IgdGVzdGltb25pYWxzIHdoZW4gc3RhY2tlZCB2ZXJ0aWNhbGx5LlxyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gKiAgICA8YmxvY2txdW90ZSBjbGFzcz1cInRleHRidWJibGVcIj5cclxuICogICAgICA8cD48c3Ryb25nPkxpc3RlbmluZyBpcyBrZXkuPC9zdHJvbmc+PC9wPlxyXG4gKiAgICA8L2Jsb2NrcXVvdGU+XHJcbiAqICAgIDxjaXRlIGNsYXNzPVwiZ3JleXdyYXBcIj4tSmFzb24gfCBEaWdpdGFsIENvbW1lcmNlPC9jaXRlPlxyXG4gKiAgICA8YmxvY2txdW90ZSBjbGFzcz1cInRleHRidWJibGVcIj5cclxuICogICAgICA8cD5DaGFkIGlzIHRoZSA8c3Ryb25nPmJlc3QhPC9zdHJvbmc+PC9wPlxyXG4gKiAgICA8L2Jsb2NrcXVvdGU+XHJcbiAqICAgIDxjaXRlIGNsYXNzPVwiZ3JleXdyYXBcIj4tSmVyZW1pYWggfCBEaWdpdGFsIENvbW1lcmNlPC9jaXRlPlxyXG4gKiAgPC9kaXY+XHJcbiAqL1xuLmNvbnRlbnQgLnRleHRidWJibGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2ljb25zL3F1b3RlX2ljbi5zdmcpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMHB4IDIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMjRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNiAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAxNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMTBweCAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jb250ZW50IC50ZXh0YnViYmxlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1pbmRlbnQ6IDMwcHg7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gICAgLmNvbnRlbnQgLnRleHRidWJibGUgcCBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5jb250ZW50IC50ZXh0YnViYmxlOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxMS41cHggMTEuNXB4IDAgMTEuNXB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTZweDtcbiAgICBib3R0b206IC0xMXB4O1xuICAgIHRvcDogYXV0bzsgfVxuXG4uY29udGVudCBoMSxcbi5jb250ZW50IGgyLFxuLmNvbnRlbnQgaDMsXG4uY29udGVudCBoNCxcbi5jb250ZW50IGg1LFxuLmNvbnRlbnQgaDYge1xuICBtYXJnaW46IDAuNWVtIDA7IH1cbiAgLmNvbnRlbnQgaDEudGl0bGUsXG4gIC5jb250ZW50IGgyLnRpdGxlLFxuICAuY29udGVudCBoMy50aXRsZSxcbiAgLmNvbnRlbnQgaDQudGl0bGUsXG4gIC5jb250ZW50IGg1LnRpdGxlLFxuICAuY29udGVudCBoNi50aXRsZSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4uY29udGVudCBwIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW0gMDsgfVxuXG4uY29udGVudCBwICsgaDEsXG4uY29udGVudCB1bCArIGgxLFxuLmNvbnRlbnQgb2wgKyBoMSB7XG4gIG1hcmdpbjogMmVtIDAgLjVlbSAwOyB9XG5cbi5jb250ZW50IHAgKyBoMixcbi5jb250ZW50IHVsICsgaDIsXG4uY29udGVudCBvbCArIGgyIHtcbiAgbWFyZ2luOiAxLjc1ZW0gMCAuNWVtIDA7IH1cblxuLmNvbnRlbnQgcCArIGgzLFxuLmNvbnRlbnQgdWwgKyBoMyxcbi5jb250ZW50IG9sICsgaDMge1xuICBtYXJnaW46IDEuNWVtIDAgLjVlbSAwOyB9XG5cbi5jb250ZW50IHAgKyBoNCxcbi5jb250ZW50IHVsICsgaDQsXG4uY29udGVudCBvbCArIGg0LFxuLmNvbnRlbnQgcCArIGg1LFxuLmNvbnRlbnQgdWwgKyBoNSxcbi5jb250ZW50IG9sICsgaDUsXG4uY29udGVudCBwICsgaDYsXG4uY29udGVudCB1bCArIGg2LFxuLmNvbnRlbnQgb2wgKyBoNiB7XG4gIG1hcmdpbjogMS4yNWVtIDAgLjVlbSAwOyB9XG5cbi5jb250ZW50IHVsLFxuLmNvbnRlbnQgb2wge1xuICBtYXJnaW46IDAgMCAxLjc1ZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29udGVudCB1bCArIHVsLFxuICAuY29udGVudCB1bCArIG9sLFxuICAuY29udGVudCBvbCArIHVsLFxuICAuY29udGVudCBvbCArIG9sIHtcbiAgICBtYXJnaW4tdG9wOiAtMS4yNWVtOyB9XG5cbi5jb250ZW50IHVsIHVsLFxuLmNvbnRlbnQgb2wgb2wsXG4uY29udGVudCB1bCBvbCxcbi5jb250ZW50IG9sIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGVudCBzdWIsIC5jb250ZW50IHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLmNvbnRlbnQgc3VwIHtcbiAgdG9wOiAtLjVlbTsgfVxuXG4uY29udGVudCBzdWIge1xuICBib3R0b206IC0uMjVlbTsgfVxuXG4uY29udGVudCBkdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jb250ZW50IGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb250ZW50IG1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmZlMTFmO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY29udGVudCBjb2RlLFxuLmNvbnRlbnQga2JkLFxuLmNvbnRlbnQgcHJlLFxuLmNvbnRlbnQgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2Usc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5jb250ZW50IHByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuXG4uY29udGVudCBxIHtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCIgXCLigJhcIiBcIuKAmVwiOyB9XG4gIC5jb250ZW50IHE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG4gIC5jb250ZW50IHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBBbGVydHNcclxuICogQHNlY3Rpb24gTm90aWZpY2F0aW9uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgICA8ZGl2IGNsYXNzPVwiYWxlcnRcIj4gVGhpcyBpcyBhIG5vcm1hbCBhbGVydC4gPC9kaXY+XHJcbiAqICAgICA8ZGl2IGNsYXNzPVwiYWxlcnQgaW5mb1wiPiBUaGlzIGlzIGFuIGluZm8gYWxlcnQuIDwvZGl2PlxyXG4gKiAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGVycm9yXCI+IFRoaXMgaXMgYW4gZXJyb3IgYWxlcnQuIDwvZGl2PlxyXG4gKiAgICAgPGRpdiBjbGFzcz1cImFsZXJ0IGNvbmZpcm1hdGlvblwiPiBUaGlzIGlzIGEgY29uZmlybWF0aW9uIGFsZXJ0LiA8L2Rpdj5cclxuICovXG4uYWxlcnQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZERjhFNDtcbiAgY29sb3I6ICNCQTlBNzE7IH1cbiAgLmFsZXJ0LmluZm8ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWVkZjc7XG4gICAgY29sb3I6ICMwMTdEQzc7IH1cbiAgLmFsZXJ0LmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjJERURGO1xuICAgIGNvbG9yOiAjQTA0RTUyOyB9XG4gIC5hbGVydC5jb25maXJtYXRpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNERUYwRDg7XG4gICAgY29sb3I6ICM0QzgzNEE7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIENvbGxhcHNlXHJcbiAqIEBzZWN0aW9uIENvbnRlbnRcclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cImNvbGxhcHNlIHNob3dcIj4gVGhpcyBpcyBzaG93biA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJjb2xsYXBzZSBjb2xsYXBzZWRcIj4gVGhpcyBpcyBoaWRkZW4gPC9kaXY+XHJcbiAqL1xuLmNvbGxhcHNlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAuY29sbGFwc2Uuc2hvdyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAqIEBhdG9tIE1lc3NhZ2UgQ29udGFpbmVyXHJcbiAqIEBzZWN0aW9uIE5vdGlmaWNhdGlvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGFpbmVyLXdyYXBcIj5cclxuICogICAgICAgICAgPGRpdiBjbGFzcz1cIm1lc3NhZ2UtY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgICAgICA8cD48c3Bhbj4xMC8xNC8yMDE2PC9zcGFuPiBUaGlzIGlzIGEgYmFzZSBleGFtcGxlIDwvcD5cclxuICogICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1jb250YWluZXItd3JhcFwiPlxyXG4gKiAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVzc2FnZS1jb250YWluZXIgZHJpdmV0cmFpbi1tZXNzYWdlc1wiPlxyXG4gKiAgICAgICAgICAgICAgPHA+PHNwYW4+MTAvMTQvMjAxNjwvc3Bhbj4gVGhpcyBpcyBhIGRyaXZldHJhaW4gYWxlcnQgPC9wPlxyXG4gKiAgICAgICAgICA8L2Rpdj5cclxuICogICAgICA8L2Rpdj5cclxuICogICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWNvbnRhaW5lci13cmFwXCI+XHJcbiAqICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZXNzYWdlLWNvbnRhaW5lciBwYXJ0bmVyLW1lc3NhZ2VzXCI+XHJcbiAqICAgICAgICAgICAgICA8cD48c3Bhbj4xMC8xNC8yMDE2PC9zcGFuPiBUaGlzIGlzIGEgcHJvZ3JhbSBkZXRhaWwgPC9wPlxyXG4gKiAgICAgICAgICAgICAgPHA+PHNwYW4+MTAvMTQvMjAxNjwvc3Bhbj4gVGhpcyBpcyBhIHByb2dyYW0gZGV0YWlsIDwvcD5cclxuICogICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqL1xuLm1lc3NhZ2UtY29udGFpbmVyLXdyYXAge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwIDAgMTVweCAwOyB9XG4gIC5tZXNzYWdlLWNvbnRhaW5lci13cmFwIC5tZXNzYWdlLWNvbnRhaW5lciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAyMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS00N0x0Q24gNjkyNjg2XCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICAgIC5tZXNzYWdlLWNvbnRhaW5lci13cmFwIC5tZXNzYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAubWVzc2FnZS1jb250YWluZXItd3JhcCAubWVzc2FnZS1jb250YWluZXIgcCArIHAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4OyB9XG4gICAgLm1lc3NhZ2UtY29udGFpbmVyLXdyYXAgLm1lc3NhZ2UtY29udGFpbmVyID4gdWwsXG4gICAgLm1lc3NhZ2UtY29udGFpbmVyLXdyYXAgLm1lc3NhZ2UtY29udGFpbmVyID4gb2wge1xuICAgICAgbWFyZ2luOiAxMHB4IDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gICAgLm1lc3NhZ2UtY29udGFpbmVyLXdyYXAgLm1lc3NhZ2UtY29udGFpbmVyLmRyaXZldHJhaW4tbWVzc2FnZXMsIC5tZXNzYWdlLWNvbnRhaW5lci13cmFwIC5tZXNzYWdlLWNvbnRhaW5lci5wYXJ0bmVyLW1lc3NhZ2VzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDc1cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDc1cHg7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAubWVzc2FnZS1jb250YWluZXItd3JhcCAubWVzc2FnZS1jb250YWluZXIuZHJpdmV0cmFpbi1tZXNzYWdlcyB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWcvZHJpdmV0cmFpbl9hbGVydHMucG5nXCIpOyB9XG4gICAgLm1lc3NhZ2UtY29udGFpbmVyLXdyYXAgLm1lc3NhZ2UtY29udGFpbmVyLnBhcnRuZXItbWVzc2FnZXMge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3BhcnRuZXJfbWVzc2FnZXMucG5nXCIpOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBMYWJlbFxyXG4gKiBAc2VjdGlvbiBGb3Jtc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgICA8bGFiZWwgZm9yPVwic2FtcGxlTGFiZWxcIj4gVGhpcyBpcyBhbiBleGFtcGxlIG9mIGEgbGFiZWwgPC9sYWJlbD5cclxuICovXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBJbnB1dFxyXG4gKiBAc2VjdGlvbiBGb3Jtc1xyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBUaGlzIGlzIGEgYmFzaWMgZXhhbXBsZSBvZiBmb3JtIGlucHV0LiBGb3IgZXhhbXBsZSBvZiBob3cgdGhpcyBpc1xyXG4gKiAgaW1wbGVtZW50ZWQgY2hlY2sgdGhlIGZvcm0gY29udHJvbHMgdW5kZXIgbW9sZWN1bGVzLlxyXG4gKiBAbWFya3VwXHJcbiAqICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBpZD1cImV4YW1wbGVJbnB1dFwiIHBsYWNlaG9sZGVyPVwiRXhhbXBsZSBQbGFjZWhvbGRlclwiPlxyXG4gKi9cbmlucHV0IHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKipcclxuICpcclxuICogQGF0b20gRmlndXJlXHJcbiAqIEBzZWN0aW9uIENvbnRlbnRcclxuICogQG1hcmt1cFxyXG4gKiAgPGZpZ3VyZT5cclxuICogICAgICA8aW1nIHNyYz1cImh0dHBzOi8vd3d3LmhhZ2VydHkuY29tL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyUyMENhciUyMEluc3VyYW5jZS80Mkxvd2VyUHJlbWl1bS5hc2h4XCI+XHJcbiAqICAgICAgPGZpZ2NhcHRpb24+KkZpZ3VyZSBiYXNlZCB1cG9uIDIwMTUgY29uc3VtZXIgZGF0YSBjb2xsZWN0ZWQgYnkgSGFnZXJ0eSBvbiBzaW5nbGUgY2FyIHF1b3Rlcywgd2l0aCBwcmVtaXVtcyAkNTAwMCBhbmQgdW5kZXIsIGZyb20gc2V2ZXJhbCBkYWlseSBkcml2ZXIgKG9yIOKAnEV2ZXJ5ZGF54oCdKSBhdXRvIGluc3VyYW5jZSBjYXJyaWVycy48L2ZpZ2NhcHRpb24+XHJcbiAqICA8L2ZpZ3VyZT5cclxuICogIDxmaWd1cmUgY2xhc3M9XCJjaGFyY29hbFwiPlxyXG4gKiAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb20vfi9tZWRpYS9JbWFnZXMvVVNIb21lL0luc3VyYW5jZS9DbGFzc2ljJTIwQ2FyJTIwSW5zdXJhbmNlLzQyTG93ZXJQcmVtaXVtLmFzaHhcIj5cclxuICogICAgICA8ZmlnY2FwdGlvbj4qRmlndXJlIGJhc2VkIHVwb24gMjAxNSBjb25zdW1lciBkYXRhIGNvbGxlY3RlZCBieSBIYWdlcnR5IG9uIHNpbmdsZSBjYXIgcXVvdGVzLCB3aXRoIHByZW1pdW1zICQ1MDAwIGFuZCB1bmRlciwgZnJvbSBzZXZlcmFsIGRhaWx5IGRyaXZlciAob3Ig4oCcRXZlcnlkYXnigJ0pIGF1dG8gaW5zdXJhbmNlIGNhcnJpZXJzLjwvZmlnY2FwdGlvbj5cclxuICogIDwvZmlndXJlPiBcclxuICogIDxmaWd1cmUgY2xhc3M9XCJkaXNjbGFpbWVyXCI+XHJcbiAqICAgICAgPGltZyBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9+L21lZGlhL0ltYWdlcy9VU0hvbWUvSW5zdXJhbmNlL0NsYXNzaWMlMjBDYXIlMjBJbnN1cmFuY2UvNDJMb3dlclByZW1pdW0uYXNoeFwiPlxyXG4gKiAgICAgIDxmaWdjYXB0aW9uPipGaWd1cmUgYmFzZWQgdXBvbiAyMDE1IGNvbnN1bWVyIGRhdGEgY29sbGVjdGVkIGJ5IEhhZ2VydHkgb24gc2luZ2xlIGNhciBxdW90ZXMsIHdpdGggcHJlbWl1bXMgJDUwMDAgYW5kIHVuZGVyLCBmcm9tIHNldmVyYWwgZGFpbHkgZHJpdmVyIChvciDigJxFdmVyeWRheeKAnSkgYXV0byBpbnN1cmFuY2UgY2FycmllcnMuPC9maWdjYXB0aW9uPlxyXG4gKiAgPC9maWd1cmU+XHJcbiAqL1xuZmlndXJlIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogMCBhdXRvIDEwcHggYXV0bzsgfVxuICBmaWd1cmUuYWxpZ24tbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDI1cHggMjBweCAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgZmlndXJlLmZsb2F0LW1vYmlsZS1wLWxlZnQge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMjBweCAwOyB9XG4gICAgZmlndXJlLmZsb2F0LW1vYmlsZS1wLXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgZmlndXJlLmZsb2F0LW1vYmlsZS1sLWxlZnQge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMjBweCAwOyB9XG4gICAgZmlndXJlLmZsb2F0LW1vYmlsZS1sLXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgZmlndXJlLmZsb2F0LXRhYmxldC1wLWxlZnQge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMjBweCAwOyB9XG4gICAgZmlndXJlLmZsb2F0LXRhYmxldC1wLXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgZmlndXJlLmZsb2F0LXRhYmxldC1sLWxlZnQge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMjBweCAwOyB9XG4gICAgZmlndXJlLmZsb2F0LXRhYmxldC1sLXJpZ2h0IHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHggMjVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgZmlndXJlLmZsb2F0LWRlc2t0b3AtbGVmdCB7XG4gICAgICBtYXJnaW46IDAgMjVweCAyMHB4IDA7IH1cbiAgICBmaWd1cmUuZmxvYXQtZGVza3RvcC1yaWdodCB7XG4gICAgICBtYXJnaW46IDAgMCAyMHB4IDI1cHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogODBlbSkge1xuICAgIGZpZ3VyZS5mbG9hdC13aWRlc2NyZWVuLWxlZnQge1xuICAgICAgbWFyZ2luOiAwIDI1cHggMjBweCAwOyB9XG4gICAgZmlndXJlLmZsb2F0LXdpZGVzY3JlZW4tcmlnaHQge1xuICAgICAgbWFyZ2luOiAwIDAgMjBweCAyNXB4OyB9IH1cbiAgZmlndXJlIGZpZ2NhcHRpb24ge1xuICAgIGNhcHRpb24tc2lkZTogYm90dG9tO1xuICAgIGRpc3BsYXk6IHRhYmxlLWNhcHRpb247XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI4NTdlbTsgfVxuXG5maWd1cmUuZGlzY2xhaW1lciBmaWdjYXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjdlbTsgfVxuXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIGltZy5hbGlnbi1sZWZ0IGgyLFxuICBpbWcuYWxpZ24tbGVmdCBoMyxcbiAgaW1nLmFsaWduLWxlZnQgaDQsXG4gIGltZy5hbGlnbi1sZWZ0IGg1LFxuICBpbWcuYWxpZ24tbGVmdCBoNiwgaW1nLmFsaWduLXJpZ2h0IGgyLFxuICBpbWcuYWxpZ24tcmlnaHQgaDMsXG4gIGltZy5hbGlnbi1yaWdodCBoNCxcbiAgaW1nLmFsaWduLXJpZ2h0IGg1LFxuICBpbWcuYWxpZ24tcmlnaHQgaDYge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmNvbCBpbWcsXG4uY29sIGVtYmVkLFxuLmNvbCB2aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sIGltZyxcbi5jb2wgdmlkZW8ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmNvdmVyLWltYWdlIHBpY3R1cmUsXG4uY292ZXItaW1hZ2UgLmNvdmVyLWltYWdlLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTQ0MHB4OyB9XG5cbi5jb3Zlci1pbWFnZSAuY29udGFpbmVyLWZsdWlkIC5yb3c6Zmlyc3QtY2hpbGQge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBUaWxlXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBJbWFnZXNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBBIGNvbnRhaW5lciBmb3IgcmVuZGVyaW5nIGxvZ29zL3Byb2R1Y3QgaWNvbnMuIFRoZSBpbWFnZSBpcyBob3N0ZWQgdGhyb3VnaFxyXG4gKiAgU2l0ZWNvcmUgb3Igb3RoZXIgaG9zdGluZyBvcHRpb25zLCBidXQgc2hvdWxkIG5vdCBiZSByZWZlcmVuY2VkIGJ5IGEgc3ByaXRlXHJcbiAqICB0aHJvdWdoIENTUy5cclxuICogQG1hcmt1cFxyXG4gKiAgPGgzPldpdGggbGluazwvaDM+XHJcbiAqICA8YSBocmVmPVwiI1wiIGNsYXNzPVwidGlsZVwiPlxyXG4gKiAgICAgIDxpbWcgd2lkdGg9XCIxODBcIiBoZWlnaHQ9XCIxMzVcIiBhbHQ9XCJcIiBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9jb3Jwb3JhdGUvfi9tZWRpYS9JbWFnZXMvVVNIb21lL0luc3VyYW5jZS9DbGFzc2ljIENhciBJbnN1cmFuY2UvSG9iYnkgU3VwcG9ydC9odmFMb2dvLmFzaHhcIj5cclxuICogIDwvYT5cclxuICogIDxicj5cclxuICogIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJ0aWxlXCI+XHJcbiAqICAgICAgQW50aXF1ZSAmIGNsYXNzaWMgY2Fyc1xyXG4gKiAgPC9hPlxyXG4gKiAgPGgzPldpdGhvdXQgbGluazwvaDM+XHJcbiAqICA8ZGl2IGNsYXNzPVwidGlsZVwiPlxyXG4gKiAgICAgIEFudGlxdWUgJiBjbGFzc2ljIGNhcnNcclxuICogIDwvZGl2PlxyXG4gKiAgPGJyPlxyXG4gKiAgPGRpdiBjbGFzcz1cInRpbGVcIj5cclxuICogICAgICA8aW1nIHdpZHRoPVwiMTgwXCIgaGVpZ2h0PVwiMTM1XCIgYWx0PVwiXCIgc3JjPVwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb20vY29ycG9yYXRlL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyBDYXIgSW5zdXJhbmNlL0hvYmJ5IFN1cHBvcnQvaHZhTG9nby5hc2h4XCI+XHJcbiAqICA8L2Rpdj5cclxuICpcclxuICovXG4uaWNvbi1idG4sXG4udGlsZSxcbmEuaWNvbi1idG4sXG5hLnRpbGUsXG4uaG92ZXItdGlsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTgwcHg7XG4gIGhlaWdodDogMTM1cHg7XG4gIGxpbmUtaGVpZ2h0OiAxMzVweDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNjdNZENuIDY5MjcxMFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pY29uLWJ0biBzdmcsXG4gIC50aWxlIHN2ZywgYS5pY29uLWJ0biBzdmcsIC5ob3Zlci10aWxlIHN2ZyB7XG4gICAgd2lkdGg6IDE2MHB4O1xuICAgIGhlaWdodDogMTE1cHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cbiAgLmljb24tYnRuLmFsaWduLWxlZnQsXG4gIC50aWxlLmFsaWduLWxlZnQsXG4gIGEuYWxpZ24tbGVmdC5pY29uLWJ0bixcbiAgLmFsaWduLWxlZnQuaG92ZXItdGlsZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaWNvbi1idG4uYWxpZ24tbGVmdCxcbiAgICAgIC50aWxlLmFsaWduLWxlZnQsXG4gICAgICBhLmFsaWduLWxlZnQuaWNvbi1idG4sXG4gICAgICAuYWxpZ24tbGVmdC5ob3Zlci10aWxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7IH0gfVxuICAuaWNvbi1idG4gKyBoMixcbiAgLmljb24tYnRuICsgaDMsXG4gIC5pY29uLWJ0biArIGg0LFxuICAuaWNvbi1idG4gKyBoNSxcbiAgLmljb24tYnRuICsgaDYsXG4gIC50aWxlICsgaDIsIGEuaWNvbi1idG4gKyBoMiwgLmhvdmVyLXRpbGUgKyBoMixcbiAgLnRpbGUgKyBoMywgYS5pY29uLWJ0biArIGgzLCAuaG92ZXItdGlsZSArIGgzLFxuICAudGlsZSArIGg0LCBhLmljb24tYnRuICsgaDQsIC5ob3Zlci10aWxlICsgaDQsXG4gIC50aWxlICsgaDUsIGEuaWNvbi1idG4gKyBoNSwgLmhvdmVyLXRpbGUgKyBoNSxcbiAgLnRpbGUgKyBoNiwgYS5pY29uLWJ0biArIGg2LCAuaG92ZXItdGlsZSArIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG5cbmEuaWNvbi1idG4sXG5hLmljb24tYnRuLFxuYS50aWxlLFxuYS5ob3Zlci10aWxlIHtcbiAgYm9yZGVyOiBzb2xpZCAycHggdHJhbnNwYXJlbnQ7IH1cbiAgYS5pY29uLWJ0bjpub3QoLm5vLWJvcmRlcik6aG92ZXIsXG4gIGEuaWNvbi1idG46bm90KC5uby1ib3JkZXIpOmhvdmVyLFxuICBhLnRpbGU6bm90KC5uby1ib3JkZXIpOmhvdmVyLFxuICBhLmhvdmVyLXRpbGU6bm90KC5uby1ib3JkZXIpOmhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICMwMTdEQzc7IH1cblxuLyoqXHJcbiAqIEBhdG9tIEhvdmVyIFRpbGVcclxuICogQHNlY3Rpb24gQ29udGVudCA+IEltYWdlc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEFuIGV4dGVuc2lvbiBvZiB0aGUgdGlsZSBjbGFzcyB3aGljaCBhbGxvd3MgeW91IHRvIGRpc3BsYXkgYWx0ZXJuYXRpdmVcclxuICogIGNvbnRlbnQgd2hlbiBob3ZlcmluZyBvdmVyIHRoZSB0aWxlLlxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGgzPldpdGggbGluazwvaDM+XHJcbiAqICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImhvdmVyLXRpbGVcIj5cclxuICogICAgICAgPHNwYW4gY2xhc3M9XCJkZWZhdWx0LXN0YXRlXCI+QW50aXF1ZSAmYW1wOyBjbGFzc2ljIGNhcnM8L3NwYW4+XHJcbiAqICAgICAgIDxpbWcgYWx0PVwiQW50aXF1ZSAmYW1wOyBjbGFzc2ljIGNhcnNcIiBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9jb3Jwb3JhdGUvfi9tZWRpYS9JbWFnZXMvVVNIb21lL0luc3VyYW5jZS9DbGFzc2ljIENhciBJbnN1cmFuY2UvSG9iYnkgU3VwcG9ydC9odmFMb2dvLmFzaHhcIj5cclxuICogICA8L2E+XHJcbiAqICAgPGJyPjxoMz5XaXRob3V0IGxpbms8L2gzPlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJob3Zlci10aWxlXCI+XHJcbiAqICAgICAgIDxzcGFuIGNsYXNzPVwiZGVmYXVsdC1zdGF0ZVwiPkFudGlxdWUgJmFtcDsgY2xhc3NpYyBjYXJzPC9zcGFuPlxyXG4gKiAgICAgICA8aW1nIGFsdD1cIkFudGlxdWUgJmFtcDsgY2xhc3NpYyBjYXJzXCIgc3JjPVwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb20vY29ycG9yYXRlL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyBDYXIgSW5zdXJhbmNlL0hvYmJ5IFN1cHBvcnQvaHZhTG9nby5hc2h4XCI+XHJcbiAqICAgPC9kaXY+XHJcbiAqXHJcbiAqL1xuLmhvdmVyLXRpbGUgOm5vdCguZGVmYXVsdC1zdGF0ZSkge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5ob3Zlci10aWxlOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZTZlNmU2ICFpbXBvcnRhbnQ7IH1cbiAgLmhvdmVyLXRpbGU6aG92ZXIgLmRlZmF1bHQtc3RhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmhvdmVyLXRpbGU6aG92ZXIgOm5vdCguZGVmYXVsdC1zdGF0ZSkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcclxuICogQGF0b20gVGlsZSBHcmlkXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBJbWFnZXNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJ0aWxlLWdyaWQgdGlsZS00LXVwXCI+XHJcbiAqICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImhvdmVyLXRpbGVcIj5cclxuICogICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWZhdWx0LXN0YXRlXCI+QW50aXF1ZSAmYW1wOyBjbGFzc2ljIGNhcnM8L3NwYW4+XHJcbiAqICAgICAgICAgIDxpbWcgYWx0PVwiQW50aXF1ZSAmYW1wOyBjbGFzc2ljIGNhcnNcIiBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9jb3Jwb3JhdGUvfi9tZWRpYS9JbWFnZXMvVVNIb21lL0luc3VyYW5jZS9DbGFzc2ljIENhciBJbnN1cmFuY2UvSG9iYnkgU3VwcG9ydC9odmFMb2dvLmFzaHhcIj5cclxuICogICAgICA8L2E+XHJcbiAqICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRpbGVcIj5cclxuICogICAgICAgICAgUmVndWxhciBUaWxlIC0gTGlua1xyXG4gKiAgICAgIDwvYT5cclxuICogICAgICA8ZGl2IGNsYXNzPVwidGlsZVwiPlxyXG4gKiAgICAgICAgICA8aW1nIHdpZHRoPVwiMTgwXCIgaGVpZ2h0PVwiMTM1XCIgYWx0PVwiXCIgc3JjPVwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb20vY29ycG9yYXRlL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyBDYXIgSW5zdXJhbmNlL0hvYmJ5IFN1cHBvcnQvaHZhTG9nby5hc2h4XCI+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImhvdmVyLXRpbGVcIj5cclxuICogICAgICAgICAgPHNwYW4gY2xhc3M9XCJkZWZhdWx0LXN0YXRlXCI+QW50aXF1ZSAmYW1wOyBjbGFzc2ljIGNhcnM8L3NwYW4+XHJcbiAqICAgICAgICAgIDxpbWcgYWx0PVwiQW50aXF1ZSAmYW1wOyBjbGFzc2ljIGNhcnNcIiBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9jb3Jwb3JhdGUvfi9tZWRpYS9JbWFnZXMvVVNIb21lL0luc3VyYW5jZS9DbGFzc2ljIENhciBJbnN1cmFuY2UvSG9iYnkgU3VwcG9ydC9odmFMb2dvLmFzaHhcIj5cclxuICogICAgICA8L2E+XHJcbiAqICAgPC9kaXY+XHJcbiAqXHJcbiAqL1xuLnRpbGUtZ3JpZCB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC50aWxlLWdyaWQgLnRpbGUsIC50aWxlLWdyaWQgYS5pY29uLWJ0biwgLnRpbGUtZ3JpZCAuaG92ZXItdGlsZSxcbiAgLnRpbGUtZ3JpZCAuaG92ZXItdGlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAudGlsZS1ncmlkIC50aWxlIGltZywgLnRpbGUtZ3JpZCBhLmljb24tYnRuIGltZywgLnRpbGUtZ3JpZCAuaG92ZXItdGlsZSBpbWcsXG4gICAgLnRpbGUtZ3JpZCAuaG92ZXItdGlsZSBpbWcge1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cblxuLnRpbGUtZ3JpZC50aWxlLTQtdXAgLnRpbGUsIC50aWxlLWdyaWQudGlsZS00LXVwIGEuaWNvbi1idG4sIC50aWxlLWdyaWQudGlsZS00LXVwIC5ob3Zlci10aWxlLFxuLnRpbGUtZ3JpZC50aWxlLTQtdXAgLmhvdmVyLXRpbGUge1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRpbGUtZ3JpZC50aWxlLTQtdXAgLnRpbGUsIC50aWxlLWdyaWQudGlsZS00LXVwIGEuaWNvbi1idG4sIC50aWxlLWdyaWQudGlsZS00LXVwIC5ob3Zlci10aWxlLFxuICAgIC50aWxlLWdyaWQudGlsZS00LXVwIC5ob3Zlci10aWxlIHtcbiAgICAgIHdpZHRoOiAyNCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC50aWxlLWdyaWQudGlsZS00LXVwIC50aWxlLCAudGlsZS1ncmlkLnRpbGUtNC11cCBhLmljb24tYnRuLCAudGlsZS1ncmlkLnRpbGUtNC11cCAuaG92ZXItdGlsZSxcbiAgICAudGlsZS1ncmlkLnRpbGUtNC11cCAuaG92ZXItdGlsZSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAudGlsZS1ncmlkLnRpbGUtNC11cCAudGlsZSwgLnRpbGUtZ3JpZC50aWxlLTQtdXAgYS5pY29uLWJ0biwgLnRpbGUtZ3JpZC50aWxlLTQtdXAgLmhvdmVyLXRpbGUsXG4gICAgLnRpbGUtZ3JpZC50aWxlLTQtdXAgLmhvdmVyLXRpbGUge1xuICAgICAgd2lkdGg6IDI0JTsgfSB9XG5cbi8qKlxyXG4gKiBGb3IgZGlzcGxheWluZyB0YWJsdWFyIGRhdGEgaW4gYW4gb3JnYW5pemVkIGZhc2hpb25cclxuICogQGF0b20gVGFibGVcclxuICogQHNlY3Rpb24gQ29udGVudCA+IFRhYmxlc1xyXG4gKiBAbWFya3VwXHJcbiAqXHQ8dGFibGUgY2xhc3M9XCJ0YWJsZVwiIHN0eWxlPVwiY2xlYXI6IGJvdGg7XCI+XHJcbiAqXHRcdDx0aGVhZD5cclxuICpcdFx0XHQ8dHI+XHJcbiAqXHRcdFx0XHQ8dGg+VGFibGUgSGVhZGluZzwvdGg+XHJcbiAqXHRcdFx0XHQ8dGg+VGFibGUgSGVhZGluZzwvdGg+XHJcbiAqXHRcdFx0PC90cj5cclxuICogICAgICA8L3RoZWFkPlxyXG4gKiAgICAgIDx0Ym9keT5cclxuICpcdFx0XHQ8dHI+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0PC90cj5cclxuICpcdFx0XHQ8dHI+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0PC90cj5cclxuICpcdFx0XHQ8dHI+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0PC90cj5cclxuICpcdFx0XHQ8dHI+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0XHQ8dGQ+dGFibGUgZGF0YTwvdGQ+XHJcbiAqXHRcdFx0PC90cj5cclxuICpcdFx0PC90Ym9keT5cclxuICpcdDwvdGFibGU+XHJcbiAqL1xudGFibGUudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICB0YWJsZS50YWJsZSAudGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgdGFibGUudGFibGUgdGhlYWQgPiB0ciA+IHRoLFxuICB0YWJsZS50YWJsZSB0Zm9vdCA+IHRyID4gdGgge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2U2ZTZlNjsgfVxuICB0YWJsZS50YWJsZSB0Ym9keSA+IHRyID4gdGQge1xuICAgIHBhZGRpbmc6IDhweDtcbiAgICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjk7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4vKipcclxuICogRm9yIGRpc3BsYXlpbmcgd2lkZSB0YWJ1bGFyIGRhdGFcclxuICogQGF0b20gVGFibGUgU2Nyb2xsXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBUYWJsZXNcclxuICogQG1hcmt1cFxyXG4gKlx0PHRhYmxlIGNsYXNzPVwidGFibGUgc2Nyb2xsXCIgc3R5bGU9XCJjbGVhcjogYm90aDtcIj5cclxuICpcdFx0PHRib2R5PlxyXG4gKlx0XHRcdDx0cj5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHRcdDx0aD5UYWJsZSBIZWFkaW5nPC90aD5cclxuICpcdFx0XHQ8L3RyPlxyXG4gKlx0XHRcdDx0cj5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHQ8L3RyPlxyXG4gKlx0XHRcdDx0cj5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHRcdDx0ZD50YWJsZSBkYXRhPC90ZD5cclxuICpcdFx0XHQ8L3RyPlxyXG4gKlx0XHQ8L3Rib2R5PlxyXG4gKlx0PC90YWJsZT5cclxuICovXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxuLyoqXHJcbiAqIEBhdG9tIEhSIExpbmVcclxuICogQHNlY3Rpb24gT3RoZXJcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgU3RhbmRhcmQgSFIgbGluZVxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGhyPlxyXG4gKiAgIDxociBjbGFzcz1cIm1lZGl1bS1ncmF5XCI+XHJcbiAqICAgPGhyIGNsYXNzPVwieWVsbG93XCI+XHJcbiAqL1xuaHIge1xuICBoZWlnaHQ6IDFweDtcbiAgYm9yZGVyOiBub25lO1xuICBjb2xvcjogI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuICBoci5tZWRpdW0tZ3JheSB7XG4gICAgY29sb3I6ICM1NTU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzU1NTsgfVxuICBoci55ZWxsb3cge1xuICAgIGNvbG9yOiAjZmZlMTFmO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxMWY7IH1cblxuLyoqXHJcbiAqIEBhdG9tIFBzZXVkbyBIUiBMaW5lXHJcbiAqIEBzZWN0aW9uIE90aGVyXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgIFBzZXVkbyBIUiBsaW5lXHJcbiAqIEBtYXJrdXBcclxuICogICA8ZGl2IGNsYXNzPVwiaHItdG9wXCI+U29tZSB0ZXh0IGhlcmUgZ2V0cyBhbiBIUiBhYm92ZSBpdDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJoci1ib3R0b21cIj5Tb21lIHRleHQgaGVyZSBnZXRzIGFuIEhSIGFib3ZlIGl0PC9kaXY+XHJcbiAqL1xuLmhyLXRvcDo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDQwcHggMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IH1cblxuLmhyLWJvdHRvbTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogNDBweCAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuXG4uaHItZ3V0dGVyLXNtYWxsOjpiZWZvcmUsIC5oci1ndXR0ZXItc21hbGwgOjphZnRlciB7XG4gIG1hcmdpbjogMjBweCAwOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBCcmFuZGVkIEhSIExpbmVcclxuICogQHNlY3Rpb24gT3RoZXJcclxuICogQGRlcHJlY2F0ZWRcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgQ2FuIGJlIGNvbG9yZWQgYnkgYXBwZW5kaW5nIGFueSBvZiB0aGUgZm9sbG93aW5nIGNsYXNzZXMgLSBibHVlLCBkYXJrLWJsdWUsIHJlZCwgZGFyay1yZWQsIGdyZWVuLCBkYXJrLWdyZWVuLCB5ZWxsb3csIGRhcmsteWVsbG93LCB3aGl0ZSwgbGlnaHQtZ3JheSwgY29uY3JldGUsIGRhcmstY29uY3JldGUsIGNocm9tZSwgbWVkaXVtLWdyZXksIGFzcGhhbHQsIGJsYWNrIFxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGhyPlxyXG4gKi9cbmhyLmxlZ2FjeSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2ljb25zL2hyLWxpbmUuc3ZnXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiA1cHg7XG4gIG1hcmdpbjogMWVtIDAgMS41ZW0gMDsgfVxuICBoci5sZWdhY3kuYmx1ZSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAgLTBweDsgfVxuICBoci5sZWdhY3kuZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwICAtNXB4OyB9XG4gIGhyLmxlZ2FjeS5yZWQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTEwcHg7IH1cbiAgaHIubGVnYWN5LmRhcmstcmVkIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0xNXB4OyB9XG4gIGhyLmxlZ2FjeS5ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjBweDsgfVxuICBoci5sZWdhY3kuZGFyay1ncmVlbiB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMjVweDsgfVxuICBoci5sZWdhY3kueWVsbG93IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMHB4OyB9XG4gIGhyLmxlZ2FjeS5kYXJrLXllbGxvdyB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzVweDsgfVxuICBoci5sZWdhY3kud2hpdGUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQwcHg7IH1cbiAgaHIubGVnYWN5LmxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTQ1cHg7IH1cbiAgaHIubGVnYWN5LmNvbmNyZXRlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01MHB4OyB9XG4gIGhyLmxlZ2FjeS5kYXJrLWNvbmNyZXRlIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC01NXB4OyB9XG4gIGhyLmxlZ2FjeS5jaHJvbWUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTYwcHg7IH1cbiAgaHIubGVnYWN5Lm1lZGl1bS1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC02NXB4OyB9XG4gIGhyLmxlZ2FjeS5hc3BoYWx0IHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC03MHB4OyB9XG4gIGhyLmxlZ2FjeS5ibGFjayB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtNzVweDsgfVxuXG4uYnV0dG9uLCBhLmJ1dHRvbiB7XG4gIHBhZGRpbmc6IDZweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjMDE3REM3O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICBjb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246YWN0aXZlLCAuYnV0dG9uOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246YWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1Mzg5O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJhY2tncm91bmQ6ICM1YmIzM2I7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjNGI5MzMwOyB9XG4gIC5idXR0b24udGVydGlhcnksIC5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCAuY3RhLWNvbnRhaW5lciAuYnV0dG9uLnN1Ym1pdCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgIzAxN0RDNztcbiAgICBjb2xvcjogIzAxN0RDNzsgfVxuICAgIC5idXR0b24udGVydGlhcnksIC5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCAuY3RhLWNvbnRhaW5lciAuYnV0dG9uLnN1Ym1pdCwgLmJ1dHRvbi50ZXJ0aWFyeTpob3ZlciwgLmNvbnRlbnQgLm5ld3NsZXR0ZXItc2lnbnVwIC5jdGEtY29udGFpbmVyIC5idXR0b24uc3VibWl0OmhvdmVyLCAuYnV0dG9uLnRlcnRpYXJ5OmFjdGl2ZSwgLmNvbnRlbnQgLm5ld3NsZXR0ZXItc2lnbnVwIC5jdGEtY29udGFpbmVyIC5idXR0b24uc3VibWl0OmFjdGl2ZSwgLmJ1dHRvbi50ZXJ0aWFyeTp2aXNpdGVkLCAuY29udGVudCAubmV3c2xldHRlci1zaWdudXAgLmN0YS1jb250YWluZXIgLmJ1dHRvbi5zdWJtaXQ6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzAxN0RDNzsgfVxuICAgIC5idXR0b24udGVydGlhcnk6aG92ZXIsIC5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCAuY3RhLWNvbnRhaW5lciAuYnV0dG9uLnN1Ym1pdDpob3ZlciwgLmJ1dHRvbi50ZXJ0aWFyeTphY3RpdmUsIC5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCAuY3RhLWNvbnRhaW5lciAuYnV0dG9uLnN1Ym1pdDphY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzAxN0RDNztcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uaW52ZXJzZSB7XG4gICAgYmFja2dyb3VuZDogIzU1NTsgfVxuICAgIC5idXR0b24uaW52ZXJzZSwgLmJ1dHRvbi5pbnZlcnNlOmhvdmVyLCAuYnV0dG9uLmludmVyc2U6YWN0aXZlLCAuYnV0dG9uLmludmVyc2U6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogI2U2ZTZlNjsgfVxuICAgIC5idXR0b24uaW52ZXJzZTpob3ZlciwgLmJ1dHRvbi5pbnZlcnNlOmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjN2M4MDgzOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6YWN0aXZlIHtcbiAgICBjb2xvcjogIzdjODA4MztcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXHJcbiAqIEBhdG9tIEJ1dHRvblxyXG4gKiBAc2VjdGlvbiBCdXR0b25zXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgQnV0dG9uIGNvbG9ycyBhbmQgc3R5bGVzIHRvIHNlcnZlIGJhc2Ugb24gdGhlIGNhbGwgdG8gYWN0aW9uLlxyXG4gKiAgQmx1ZSBpcyB0aGUgZGVmYXVsdCBjb2xvciBhbmQgaGFzIGEgbm9ybWFsIGVtcGhhc2lzLlxyXG4gKiAgR3JlZW4gaXMgdXNlZCBhcyBhIHByaW1hcnkgY3RhIHdpdGggYSBncmVhdGVyIGVtcGhhc2lzLlxyXG4gKiAgVGVydGlhcnkgaXMgdXNlZCBhcyBhIHNlY29uZGFyeSBvciBsb3dlciBlbXBoYXNpcyBjdGEuXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3BhbiBjbGFzcz1cImRlbW8taXRlbVwiPlxyXG4gKiAgICAgIDxhIGNsYXNzPVwiYnV0dG9uXCI+RGVmYXVsdCBCdXR0b248L2E+XHJcbiAqICAgPC9zcGFuPlxyXG4gKiAgIDxzcGFuIGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgICA8YSBjbGFzcz1cImJ1dHRvbiBwcmltYXJ5XCI+UHJpbWFyeTwvYT5cclxuICogICA8L3NwYW4+XHJcbiAqICAgPHNwYW4gY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICAgIDxhIGNsYXNzPVwiYnV0dG9uIHRlcnRpYXJ5XCI+VGVydGlhcnk8L2E+XHJcbiAqICAgPC9zcGFuPlxyXG4gKiAgIDxzcGFuIGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgICA8YSBjbGFzcz1cImJ1dHRvbiBpbnZlcnNlXCI+SW52ZXJzZTwvYT5cclxuICogICA8L3NwYW4+XHJcbiAqICAgPHNwYW4gY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICAgIDxhIGNsYXNzPVwiYnV0dG9uIGRpc2FibGVkXCI+RGlzYWJsZWQ8L2E+XHJcbiAqICAgPC9zcGFuPlxyXG4gKiAgIDxzcGFuIGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgICA8YnV0dG9uIGNsYXNzPVwiYnV0dG9uXCI+RGVmYXVsdCBAe2luY2x1ZGU6c3ZnLmljb24uZWRpdH08L2J1dHRvbj5cclxuICogICA8L3NwYW4+XHJcbiAqICAgPHNwYW4gY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICAgIDxhIGNsYXNzPVwiYnV0dG9uIHByaW1hcnlcIj5QcmltYXJ5IEB7aW5jbHVkZTpzdmcuaWNvbi5wcm9jZWVkfSA8L2E+XHJcbiAqICAgPC9zcGFuPlxyXG4gKiAgIDxzcGFuIGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgICA8YSBjbGFzcz1cImJ1dHRvbiB0ZXJ0aWFyeVwiPlRlcnRpYXJ5IEB7aW5jbHVkZTpzdmcuaWNvbi5kb3dubG9hZH08L2E+XHJcbiAqICAgPC9zcGFuPlxyXG4gKiAgIDxzcGFuIGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgICA8YSBjbGFzcz1cImJ1dHRvbiBsYXJnZVwiPkxhcmdlPC9hPlxyXG4gKiAgIDwvc3Bhbj5cclxuICogICA8c3BhbiBjbGFzcz1cImRlbW8taXRlbVwiPlxyXG4gKiAgICAgPGEgY2xhc3M9XCJidXR0b24gbGFyZ2VcIj5MYXJnZSBAe2luY2x1ZGU6c3ZnLmljb24ucHJvY2VlZH08L2E+XHJcbiAqICAgPC9zcGFuPlxyXG4gKi9cbi5idXR0b24uc21hbGwge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmJ1dHRvbi5sYXJnZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBwYWRkaW5nOiAxMHB4IDQwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLyoqXHJcbiAqIEBhdG9tIFBpbGwgQnV0dG9uXHJcbiAqIEBzZWN0aW9uIEJ1dHRvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgICA8ZGl2IGNsYXNzPVwicGlsbC1idXR0b25cIj5ZZXM8L2Rpdj5cclxuICogICAgPGRpdiBjbGFzcz1cInBpbGwtYnV0dG9uXCI+Tm88L2Rpdj5cclxuICovXG4ucGlsbC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnBpbGwtYnV0dG9uOmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9pY29ucy9waWxsLWJ1dHRvbi5wbmdcIikgbm8tcmVwZWF0OyB9XG4gIC5waWxsLWJ1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTIwcHg7IH1cbiAgLnBpbGwtYnV0dG9uOmFjdGl2ZTpiZWZvcmUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTM5cHg7IH1cblxuc3ZnLmljb24ge1xuICBmaWxsOiBjdXJyZW50Q29sb3I7XG4gIGhlaWdodDogLjcyZW07XG4gIHdpZHRoOiAuNzJlbTsgfVxuXG4vKipcclxuICogQGljb24gR3JpZCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZ3JpZFwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFBsYXkgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvbiBwbGF5XCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcGxheVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIE9wZW4gR2FsbGVyeSBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjb3Blbi1nYWxsZXJ5XCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gQ29uZmlybSBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjY29uZmlybVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIENvbmZpcm0gXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI2NvbmZpcm1cIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBVcCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjdXBcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBSaWdodCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcmlnaHRcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBEb3duIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNkb3duXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gTGVmdCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjbGVmdFwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFNjcm9sbFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNzY3JvbGxcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBQcm9jZWVkXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI3Byb2NlZWRcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBEb3dubG9hZCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZG93bmxvYWRcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBFZGl0IFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNlZGl0XCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gRW1haWwgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI2VtYWlsXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gRW5sYXJnZSBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZW5sYXJnZVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIE9wZW4gU2V0dGluZ3MgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI29wZW4tc2V0dGluZ3NcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBMb2NrZWQgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI2xvY2tcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBOb3RpY2UgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI25vdGljZVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIE92ZXJmbG93IFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNvdmVyZmxvd1wiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFBob25lIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNwaG9uZVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFF1b3RlIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNxdW90ZVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIEV4cGFuZCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZXhwYW5kXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogR29pbmcgdG8gZ2l2ZSBpdCB0byB5YSFcclxuICogQGljb24gQ2xvc2UgLyBSZW1vdmVcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjY2xvc2VcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBYIENpcmNsZWQgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBkZXByZWNhdGVkXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI3gtY2lyY2xlZFwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIENoZXZyb25zIFJpZ2h0IEtub2Nrb3V0IENpcmNsZWRcclxuICogQHNlY3Rpb24gSWNvbnMgPiBEZXByZWNhdGVkXHJcbiAqIEBkZXByZWNhdGVkXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI2NoZXZyb25zLXJpZ2h0LWtub2Nrb3V0LWNpcmNsZWRcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBIZWFydCBLbm9ja291dCBSb3VuZGVkIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAZGVwcmVjYXRlZFxyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNoZWFydC1rbm9ja291dC1yb3VuZGVkXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gTWludXMgQ2lyY2xlZCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQGRlcHJlY2F0ZWRcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjbWludXMtY2lyY2xlZFwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFBsdXMgS25vY2tvdXQgUm91bmRlZCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQGRlcHJlY2F0ZWRcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcGx1cy1rbm9ja291dC1yb3VuZGVkXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gUGx1cyBDaXJjbGVkIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAZGVwcmVjYXRlZFxyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNwbHVzLWNpcmNsZWRcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBGYWNlYm9vayBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZmFjZWJvb2tcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBJbnN0YWdyYW0gXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI2luc3RhZ3JhbVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIExpbmtlZEluIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNsaW5rZWRpblwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFJlZGRpdCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcmVkZGl0XCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gUlNTIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiNyc3NcIiAvPlxyXG4gKiAgIDwvc3ZnPlxyXG4gKi9cbi8qKlxyXG4gKiBAaWNvbiBUd2l0dGVyIFxyXG4gKiBAc2VjdGlvbiBJY29uc1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgIDx1c2UgeGxpbms6aHJlZj1cIiN0d2l0dGVyXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gWW91VHViZSBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjeW91dHViZVwiIC8+XHJcbiAqICAgPC9zdmc+XHJcbiAqL1xuLyoqXHJcbiAqIEBpY29uIFR1bWJsciBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjdHVtYmxyXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4uZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk1Yzk1OyB9XG4gIC5mYWNlYm9vazpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzJiNDU3MDsgfVxuXG4udHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGE0ZDc7IH1cbiAgLnR3aXR0ZXI6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDdkYTQ7IH1cblxuLnlvdXR1YmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDYxOTIwOyB9XG4gIC55b3V0dWJlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTgxNDE5OyB9XG5cbi5pbnN0YWdyYW0ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWIyODY5OyB9XG4gIC5pbnN0YWdyYW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjZDEzNTE7IH1cblxuLnJlZGRpdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjQ1MDA7IH1cbiAgLnJlZGRpdDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMzcwMDsgfVxuXG4ubGlua2VkaW4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA3N2I1OyB9XG4gIC5saW5rZWRpbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwNTU4MjsgfVxuXG4udHVtYmxyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM0NDY1ZDsgfVxuICAudHVtYmxyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyZDNjOyB9XG5cbi5lbWFpbCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1YmIzM2I7IH1cbiAgLmVtYWlsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDg4ZDJlOyB9XG5cbi5yc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY5MzJhOyB9XG4gIC5yc3M6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNjc5MDA7IH1cblxuYSwgYTpob3ZlciwgYTphY3RpdmUsIGE6dmlzaXRlZCB7XG4gIGNvbG9yOiAjMDE3REM3O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuYTpob3ZlciB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbmEuYmx1ZSB7XG4gIGNvbG9yOiAjMDE3REM3OyB9XG5cbmEueWVsbG93IHtcbiAgY29sb3I6ICNmZmUxMWY7IH1cblxuYVtocmVmXj1cInRlbDpcIl0ge1xuICB3aGl0ZS1zcGFjZTogcHJlOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBMaW5rc1xyXG4gKiBAc2VjdGlvbiBDb250ZW50XHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgTGluayBjb2xvcnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJiZy1wcmltYXJ5XCIgc3R5bGU9XCJwYWRkaW5nOjEwcHhcIj5cclxuICpcdCBcdDxhIGhyZWY9XCIvXCI+RGVmYXVsdCA8L2E+PGJyPlxyXG4gKiAgICA8YSBocmVmPVwidGVsOisxLTgwMC03NDctNTM0OFwiPjgwMC03NDctNTM0ODwvYT4gLSBUZWxlcGhvbmUgbGlua1xyXG4gKlx0IDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJiZy1pbnZlcnNlXCIgc3R5bGU9XCJwYWRkaW5nOjEwcHhcIj5cclxuICpcdCBcdDxhIGhyZWY9XCIvXCI+WWVsbG93PC9hPiAtIHRvIG9ubHkgYmUgdXNlZCBvbiBhc3BoYWx0LlxyXG4gKlx0IDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJiZy1zZWNvbmRhcnlcIiBzdHlsZT1cInBhZGRpbmc6MTBweFwiPlxyXG4gKlx0IFx0PGEgaHJlZj1cIi9cIiBjbGFzcz1cIndoaXRlXCI+V2hpdGU8L2E+IC0gdG8gb25seSBiZSB1c2VkIG9uIGJsdWUuXHJcbiAqXHQgPC9kaXY+XHJcbiAqL1xuLyoqXHJcbiAqIEBhdG9tIFJ1bm5lclxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogXHRBIGRlc2lnbiBlbGVtZW50IGZvciBicmVha2luZyB1cCBhIHBhZ2Ugd2l0aCBjb2xvciBydW5uZXIuIEZpeGVkIGhlaWdodCBmb3IgZW1wdHkgcnVubmVycywgdXNlIC5ydW5uZXItZml4ZWQtaGVpZ2h0XHJcbiAqIEBtYXJrdXBcclxuICogICA8ZGl2IGNsYXNzPVwicHJpbWFyeS1ydW5uZXJcIj4ucHJpbWFyeS1ydW5uZXI8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwic2Vjb25kYXJ5LXJ1bm5lclwiPi5zZWNvbmRhcnktcnVubmVyPC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cInRlcnRpYXJ5LXJ1bm5lclwiPi50ZXJ0aWFyeS1ydW5uZXI8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwicXVhdGVybmFyeS1ydW5uZXJcIj4ucXVhdGVybmFyeS1ydW5uZXI8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwicGFnZS1ydW5uZXJcIj4ucGFnZS1ydW5uZXI8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwic3RvcnktcnVubmVyXCI+LnN0b3J5LXJ1bm5lcjwvZGl2PlxyXG4gKi9cbi5wcmltYXJ5LXJ1bm5lciB7XG4gIGJhY2tncm91bmQ6ICMwMTdEQzc7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDA1Mzg5OyB9XG5cbi5zZWNvbmRhcnktcnVubmVyIHtcbiAgYmFja2dyb3VuZDogIzAwNTM4OTsgfVxuXG4udGVydGlhcnktcnVubmVyIHtcbiAgYmFja2dyb3VuZDogIzM2MzYzNjtcbiAgYm9yZGVyLWNvbG9yOiAjMzYzNjM2OyB9XG5cbi5xdWF0ZXJuYXJ5LXJ1bm5lciB7XG4gIGJhY2tncm91bmQ6ICMyMzIzMjM7XG4gIGJvcmRlci1jb2xvcjogIzIzMjMyMzsgfVxuXG4uc3RvcnktcnVubmVyOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuXG4uc3RvcnktcnVubmVyLWZlYXR1cmVkOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBib3JkZXItYm90dG9tOiA4cHggc29saWQgIzAxN0RDNzsgfVxuXG4uc3RvcnktaGVhZGxpbmUtcnVubmVyIHtcbiAgcGFkZGluZzogMTJweCAwO1xuICBiYWNrZ3JvdW5kOiAjMDE3REM3O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwNTM4OTsgfVxuXG4ucGFnZS1ydW5uZXIge1xuICBib3JkZXItdG9wOiAzcHggc29saWQgI2E3YTdhNztcbiAgYmFja2dyb3VuZDogdXJsKFwiLi4vaW1nL3RleHR1cmVzL3RleHR1cmVfYS5wbmdcIikgcmVwZWF0LXg7XG4gIHBhZGRpbmctdG9wOiA0MHB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMHB4OyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAYXRvbSBOYXYgSXRlbXNcclxuICogQHNlY3Rpb24gTmF2aWdhdGlvblxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFNpbXBsZSBuYXZpZ2F0aW9uIHN0cnVjdHVyZVxyXG4gKiBAbWFya3VwXHJcbiAqICA8dWwgY2xhc3M9XCJuYXYtaXRlbXNcIj5cclxuICogICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogIDwvdWw+XHJcbiAqXHJcbiAqL1xuLm5hdi1pdGVtcywgLnN1YmNhdGVnb3J5LW5hdmlnYXRpb24gLm5hdi1pdGVtcyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4jbWVudS10b2dnbGUge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGhlaWdodDogMzJweDtcbiAgd2lkdGg6IDM2cHg7XG4gIHJpZ2h0OiAxNXB4O1xuICB0b3A6IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAjbWVudS10b2dnbGUgc3BhbiwgI21lbnUtdG9nZ2xlIHNwYW46YmVmb3JlLCAjbWVudS10b2dnbGUgc3BhbjphZnRlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDFweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICB3aWR0aDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiAnJztcbiAgICB0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZS1pbi1vdXQ7IH1cbiAgI21lbnUtdG9nZ2xlIHNwYW46YmVmb3JlIHtcbiAgICB0b3A6IDEycHg7IH1cbiAgI21lbnUtdG9nZ2xlIHNwYW46YWZ0ZXIge1xuICAgIGJvdHRvbTogLTI0cHg7IH1cbiAgI21lbnUtdG9nZ2xlLmFjdGl2ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgICNtZW51LXRvZ2dsZS5hY3RpdmUgc3BhbjpiZWZvcmUsICNtZW51LXRvZ2dsZS5hY3RpdmUgc3BhbjphZnRlciB7XG4gICAgICB0b3A6IDE1cHg7IH1cbiAgICAjbWVudS10b2dnbGUuYWN0aXZlIHNwYW46YmVmb3JlIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICNtZW51LXRvZ2dsZS5hY3RpdmUgc3BhbjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpOyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAYXRvbSBMaXN0XHJcbiAqIEBzZWN0aW9uIExpc3RcclxuICogQG1hcmt1cFxyXG4gKiAgPHVsIGNsYXNzPVwibGlzdFwiPlxyXG4gKiAgICAgIDxsaSBjbGFzcz1cIml0ZW1cIj5MaXN0IEl0ZW08L2xpPlxyXG4gKiAgICAgIDxsaSBjbGFzcz1cIml0ZW1cIj5MaXN0IEl0ZW08L2xpPiAgICBcclxuICogIDwvdWw+XHJcbiAqXHJcbiAqL1xuLmxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cbiAgLmxpc3QgLml0ZW0ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogMDsgfVxuXG4vKipcclxuICAgICBAQXRvbSBGbGV4IFJvdyBMaXN0XHJcbiAqL1xuLmhvcml6b250YWwtbGlzdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuaG9yaXpvbnRhbC1saXN0IGxpIHtcbiAgICBtYXJnaW46IDAgMS4yNXJlbSAxLjI1cmVtIDA7IH1cbiAgLmhvcml6b250YWwtbGlzdC5jZW50ZXItbGFiZWwge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuaG9yaXpvbnRhbC1saXN0LmRvY3VtZW50cyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTsgfVxuICAgIC5ob3Jpem9udGFsLWxpc3QuZG9jdW1lbnRzIGxpIHtcbiAgICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmhvcml6b250YWwtbGlzdC5kb2N1bWVudHMgbGkgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gICAgICAuaG9yaXpvbnRhbC1saXN0LmRvY3VtZW50cyBsaSAuZmlsZS1tZXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAuNzVlbTsgfVxuXG4vKipcclxuICAgICBAYXRvbSBCdWxsZXQgTGlzdCBDb2x1bW5cclxuICovXG4ubGlzdC1jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5saXN0LWNvbHVtbnMudGhyZWUtY29sdW1ucyBsaSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAubGlzdC1jb2x1bW5zLnRocmVlLWNvbHVtbnMgbGkge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAubGlzdC1jb2x1bW5zLnRocmVlLWNvbHVtbnMgbGkge1xuICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4vKipcclxuICogQGF0b20gQmFja2dyb3VuZCBDb2xvclxyXG4gKiBAc2VjdGlvbiBIZWxwZXIgQ2xhc3Nlc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEdlbmVyaWMgYmFja2dyb3VuZCBjb2xvciBjbGFzc2VzIHRoYXQgaW1wYXJ0IHRoZSBhcHByb3ByaWF0ZSB0ZXh0IGNvbG9yXHJcbiAqICBhbmQgbGluayBjb2xvciBhcyBuZWNlc3NhcnkuXHJcbiAqIEBtYXJrdXBcclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtIGJnLXByaW1hcnlcIj5cclxuICogICAgICA8cD5CYWNrZ3JvdW5kIHByaW1hcnkgLSA8YSBocmVmPVwiI1wiPkV4YW1wbGUgTGluazwvYT48L3A+XHJcbiAqICAgPC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cImRlbW8taXRlbSBiZy1zZWNvbmRhcnlcIj5cclxuICogICAgICA8cD5CYWNrZ3JvdW5kIHNlY29uZGFyeSAtIDxhIGhyZWY9XCIjXCI+RXhhbXBsZSBMaW5rPC9hPjwvcD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtIGJnLXRlcnRpYXJ5XCI+XHJcbiAqICAgICAgPHA+QmFja2dyb3VuZCB0ZXJ0aWFyeSAtIDxhIGhyZWY9XCIjXCI+RXhhbXBsZSBMaW5rPC9hPjwvcD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtIGJnLWludmVyc2VcIj5cclxuICogICAgICA8cD5CYWNrZ3JvdW5kIGludmVyc2UgLSA8YSBocmVmPVwiI1wiPkV4YW1wbGUgTGluazwvYT48L3A+XHJcbiAqICAgPC9kaXY+XHJcbiAqL1xuLmJnLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogIzIzMjMyMzsgfVxuICAuYmctcHJpbWFyeSBhIHtcbiAgICBjb2xvcjogIzAxN0RDNzsgfVxuXG4uYmctc2Vjb25kYXJ5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAxN0RDNztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmJnLXNlY29uZGFyeSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5maWd1cmUgZmlnY2FwdGlvbiwgLmJnLXRlcnRpYXJ5LCAuZ3JleS1ib3gsIC5jdGEtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMyMzIzMjM7IH1cbiAgZmlndXJlIGZpZ2NhcHRpb24gYSwgLmJnLXRlcnRpYXJ5IGEsIC5ncmV5LWJveCBhLCAuY3RhLWJveCBhIHtcbiAgICBjb2xvcjogIzAxN0RDNzsgfVxuXG5maWd1cmUuY2hhcmNvYWwgZmlnY2FwdGlvbiwgLmJnLWludmVyc2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMzIzO1xuICBjb2xvcjogI2ZmZjsgfVxuICBmaWd1cmUuY2hhcmNvYWwgZmlnY2FwdGlvbiBhLCAuYmctaW52ZXJzZSBhIHtcbiAgICBjb2xvcjogI2ZmZTExZjsgfVxuXG4vKipcclxuICogQGF0b20gR3JleSBCb3hcclxuICogQHNlY3Rpb24gSGVscGVyIENsYXNzZXNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJncmV5LWJveFwiPlxyXG4gKiAgICAgIDxwPkB7bGlwc3VtOjI6c2VudGVuY2V9PC9wPlxyXG4gKiAgIDwvZGl2PlxyXG4gKi9cbi5ncmV5LWJveCwgLmN0YS1ib3gge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMTVweCAyMHB4O1xuICBtYXJnaW46IDEuNWVtIDA7IH1cbiAgLmdyZXktYm94IGEuYnV0dG9uLCAuY3RhLWJveCBhLmJ1dHRvbixcbiAgLmdyZXktYm94IC5idXR0b24sIC5jdGEtYm94IC5idXR0b24ge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBIaWRlIFRvIERlc2t0b3BcclxuICogQHNlY3Rpb24gSGVscGVycyA+IEhpZGUvU2hvdyBDb250ZW50XHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIFJlbW92ZXMgZWxlbWVudCBmcm9tIG1vYmlsZSBhbmQgdGFibGV0IHZpZXdzXHJcbiAqIEBtYXJrdXAgXHJcbiAqICA8ZGl2IGNsYXNzPVwiaGlkZS10by1kZXNrdG9wXCI+XHJcbiAqICAgICAgPHA+QHtsaXBzdW06MzA6d29yZHN9PC9wPlxyXG4gKiAgPC9kaXY+ICAgICAgICBcclxuICovXG5AbWVkaWEgKG1heC13aWR0aDogNTkuOTllbSkge1xuICAuaGlkZS10by1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXHJcbiAqIEBhdG9tIEhpZGUgRnJvbSBEZXNrdG9wXHJcbiAqIEBzZWN0aW9uIEhlbHBlcnMgPiBIaWRlL1Nob3cgQ29udGVudFxyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBSZW1vdmVzIGVsZW1lbnQgZnJvbSBkZXNrdG9wIHZpZXdcclxuICogQG1hcmt1cCBcclxuICogIDxkaXYgY2xhc3M9XCJoaWRlLWZyb20tZGVza3RvcFwiPlxyXG4gKiAgICAgIDxwPkB7bGlwc3VtOjMwOndvcmRzfTwvcD5cclxuICogIDwvZGl2PiAgICAgICAgXHJcbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLmhpZGUtZnJvbS1kZXNrdG9wIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLyoqXHJcbiAqIEBhdG9tIEhpZGUgRnJvbSBUYWJsZXRcclxuICogQHNlY3Rpb24gSGVscGVycyA+IEhpZGUvU2hvdyBDb250ZW50XHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIFJlbW92ZXMgZWxlbWVudCBmcm9tIHRhYmxldCBhbmQgZGVza3RvcCB2aWV3XHJcbiAqIEBtYXJrdXAgXHJcbiAqICA8ZGl2IGNsYXNzPVwiaGlkZS1mcm9tLXRhYmxldFwiPlxyXG4gKiAgICAgIDxwPkB7bGlwc3VtOjMwOndvcmRzfTwvcD5cclxuICogIDwvZGl2PiAgICAgICAgXHJcbiAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmhpZGUtZnJvbS10YWJsZXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKipcclxuICogQGF0b20gUGFnZSBOYXZpZ2F0aW9uXHJcbiAqIEBzZWN0aW9uIE5hdmlnYXRpb25cclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cInBhZ2UtbmF2XCI+XHJcbiAqICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLXByZXZcIj48YSBocmVmPVwiI1wiPkB7aW5jbHVkZTpzdmcuaWNvbi5sZWZ0fSBQcmV2aW91cyBQYWdlPC9hPjwvc3Bhbj5cclxuICogICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtbmV4dFwiPjxhIGhyZWY9XCIjXCI+TmV4dCBQYWdlIEB7aW5jbHVkZTpzdmcuaWNvbi5yaWdodH08L2E+PC9zcGFuPlxyXG4gKiAgPC9kaXY+XHJcbiAqL1xuLnBhZ2UtbmF2OmJlZm9yZSwgLnBhZ2UtbmF2OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5wYWdlLW5hdjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5wYWdlLW5hdiAucGFnZS1uZXh0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5wYWdlLW5hdiAucGFnZS1wcmV2IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLyoqXHJcbiAqIEBhdG9tIFdpZGdldFxyXG4gKiBAc2VjdGlvbiBPdGhlclxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogICBUaGUgZm91bmRhdGlvbiBvZiBhbGwgd2lkZ2V0c1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cIndpZGdldFwiPlxyXG4gKiAgICAgPGgyIGNsYXNzPVwiaGVhZGluZ1wiPlxyXG4gKiAgICAgICBXaWRnZXQgPHN0cm9uZz5IZWFkaW5nPC9zdHJvbmc+XHJcbiAqICAgICA8L2gyPlxyXG4gKiAgICAgPHA+XHJcbiAqICAgICAgIFdpZGdldCBjb3B5XHJcbiAqICAgICA8L3A+XHJcbiAqICAgPC9kaXY+XHJcbiAqL1xuLndpZGdldCB7XG4gIGxpbmUtaGVpZ2h0OiAxLjVlbTsgfVxuICAud2lkZ2V0ICsgLndpZGdldCB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAud2lkZ2V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAud2lkZ2V0LnRyYW5zcGFyZW50IHtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAud2lkZ2V0LnNtYWxsLWhlYWRsaW5lIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAud2lkZ2V0LnNtYWxsLWhlYWRsaW5lIC5oZWFkaW5nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNjdNZENuIDY5MjcxMFwiO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xNWVtOyB9XG4gIC53aWRnZXQgLmhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDIuNWVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luOiAwIDAgMC4yNWVtIDA7IH1cbiAgICAud2lkZ2V0IC5oZWFkaW5nIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uaG9yaXpvbnRhbC13aWRnZXRzIC53aWRnZXQge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmhvcml6b250YWwtd2lkZ2V0cyAud2lkZ2V0IC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgZGlzcGxheTogdGFibGU7IH1cblxuLnNpZGViYXIgLnRydXN0cGlsb3Qtd2lkZ2V0IHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAuc2lkZWJhciAudHJ1c3RwaWxvdC13aWRnZXQuY2xlYXItd2lkZ2V0IHtcbiAgICBwYWRkaW5nOiAyMHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNDQ0M7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIFB1Ymxpc2ggRGF0ZVxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEEgY29tcG9uZW50IHRvIGRpc3BsYXkgdGhlIGRhdGUgYW4gaXRlbSB3YXMgcHVibGlzaGVkLCBub3JtYWxseSB1c2VkIG9uIGRhdGUgc2Vuc2l0aXZlIGl0ZW1zIGV4OiBhcnRpY2xlLCBwcmVzcyByZWxlYXNlLCBldGMuIFxyXG4gKiBAbWFya3VwXHJcbiAqICAgPHNwYW4gY2xhc3M9XCJwdWJsaXNoLWRhdGVcIj4gIFxyXG4gKiAgICAgPHNwYW4gY2xhc3M9XCJwdWJsaXNoLWRheVwiPjIwPC9zcGFuPlxyXG4gKiAgICAgPHNwYW4gY2xhc3M9XCJwdWJsaXNoLW1vbnRoXCI+RGVjZW1iZXI8L3NwYW4+XHJcbiAqICAgICA8c3BhbiBjbGFzcz1cInB1Ymxpc2gteWVhclwiPjIwMTY8L3NwYW4+ICBcclxuICogICA8L3NwYW4+XHJcbiAqL1xuLnB1Ymxpc2gtZGF0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDcwcHg7XG4gIHBhZGRpbmc6IDVweDtcbiAgbWFyZ2luOiAwIDEwcHggMjBweCAwO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucHVibGlzaC1kYXRlIC5wdWJsaXNoLWRheSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDsgfVxuICAucHVibGlzaC1kYXRlIC5wdWJsaXNoLW1vbnRoLCAucHVibGlzaC1kYXRlIC5wdWJsaXNoLXllYXIge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4uY2xlYXJmaXg6YmVmb3JlLCAuY2xlYXJmaXg6YWZ0ZXIge1xuICBjb250ZW50OiBcIiBcIjtcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLyoqXHJcbiAqIEBhdG9tIEZsb2F0XHJcbiAqIEBzZWN0aW9uIFV0aWxpdHlcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBGbG9hdCB1dGlsaXR5IGNsYXNzZXMgdG8gaGVscCBmbG9hdCBlbGVtZW50cyBieSBicmVha3BvaW50LlxyXG4gKiAgRWFjaCBjbGFzcyBpcyB1bmlxdWUgdG8gdGhlIGJyZWFrcG9pbnQgYW5kIHVwLlxyXG4gKiAgRVg6IC5mbG9hdC1kZXNrdG9wLXJpZ2h0IHdpbGwgYmUgaW4gZWZmZWN0IHRocm91Z2ggYWxsIGJyZWFrcG9pbnRzIGFmdGVyXHJcbiAqICBkZXNrdG9wLCBidXQgd2lsbCBub3QgYWZmZWN0IHRoZSBtb2JpbGUgb3IgdGFibGV0IHZpZXdzLlxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cImRlbW8taXRlbSBjbGVhcmZpeFwiPlxyXG4gKiAgICAgIDxwIGNsYXNzPVwiZmxvYXQtbW9iaWxlLXAtcmlnaHQgc2ctaGlnaGxpZ2gtZWxlbWVudFwiPmZsb2F0LXJpZ2h0IE1vYmlsZTwvcD5cclxuICogICAgICA8cCBjbGFzcz1cImZsb2F0LW1vYmlsZS1wLWxlZnQgc2ctaGlnaGxpZ2gtZWxlbWVudFwiPmZsb2F0LWxlZnQgTW9iaWxlPC9wPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW0gY2xlYXJmaXhcIj5cclxuICogICAgICA8cCBjbGFzcz1cImZsb2F0LXRhYmxldC1wLWxlZnQgc2ctaGlnaGxpZ2gtZWxlbWVudFwiPmZsb2F0LWxlZnQgdGFibGV0IHBvcnRyYWl0PC9wPlxyXG4gKiAgICAgIDxwIGNsYXNzPVwiZmxvYXQtdGFibGV0LXAtcmlnaHQgc2ctaGlnaGxpZ2gtZWxlbWVudFwiPmZsb2F0LXJpZ2h0IHRhYmxldCBwb3J0cmFpdDwvcD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtIGNsZWFyZml4XCI+XHJcbiAqICAgICAgPHAgY2xhc3M9XCJmbG9hdC10YWJsZXQtbC1sZWZ0IHNnLWhpZ2hsaWdoLWVsZW1lbnRcIj5mbG9hdC1sZWZ0IHRhYmxldCBsYW5kc2NhcGU8L3A+XHJcbiAqICAgICAgPHAgY2xhc3M9XCJmbG9hdC10YWJsZXQtbC1yaWdodCBzZy1oaWdobGlnaC1lbGVtZW50XCI+ZmxvYXQtcmlnaHQgdGFibGV0IGxhbmRzY2FwZTwvcD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtIGNsZWFyZml4XCI+XHJcbiAqICAgICAgPHAgY2xhc3M9XCJmbG9hdC1kZXNrdG9wLWxlZnQgc2ctaGlnaGxpZ2gtZWxlbWVudFwiPmZsb2F0LWxlZnQgZGVza3RvcDwvcD5cclxuICogICAgICA8cCBjbGFzcz1cImZsb2F0LWRlc2t0b3AtcmlnaHQgc2ctaGlnaGxpZ2gtZWxlbWVudFwiPmZsb2F0LXJpZ2h0IGRlc2t0b3A8L3A+XHJcbiAqICAgPC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cImRlbW8taXRlbSBjbGVhcmZpeFwiPlxyXG4gKiAgICAgIDxwIGNsYXNzPVwiZmxvYXQtd2lkZXNjcmVlbi1sZWZ0IHNnLWhpZ2hsaWdoLWVsZW1lbnRcIj5mbG9hdC1sZWZ0IHdpZGVzY3JlZW48L3A+XHJcbiAqICAgICAgPHAgY2xhc3M9XCJmbG9hdC13aWRlc2NyZWVuLXJpZ2h0IHNnLWhpZ2hsaWdoLWVsZW1lbnRcIj5mbG9hdC1yaWdodCB3aWRlc2NyZWVuPC9wPlxyXG4gKiAgIDwvZGl2PlxyXG4gKi9cbi5mbG9hdC1tb2JpbGUtcC1yaWdodCxcbi5mbG9hdC1tb2JpbGUtcC1sZWZ0IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsb2F0LW1vYmlsZS1wLXJpZ2h0Om5vdChmaWd1cmUpLFxuICAuZmxvYXQtbW9iaWxlLXAtbGVmdDpub3QoZmlndXJlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsb2F0LW1vYmlsZS1wLXJpZ2h0LnBhZGRlZCxcbiAgLmZsb2F0LW1vYmlsZS1wLWxlZnQucGFkZGVkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvYXQtbW9iaWxlLXAtcmlnaHQucGFkZGVkICsgcCxcbiAgICAuZmxvYXQtbW9iaWxlLXAtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgLmZsb2F0LW1vYmlsZS1wLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZsb2F0LW1vYmlsZS1wLWxlZnQucGFkZGVkIHtcbiAgICAgIG1hcmdpbjogLjM1ZW0gMjBweCAuMzVlbSAwOyB9XG4gICAgICAuZmxvYXQtbW9iaWxlLXAtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtbW9iaWxlLXAtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5mbG9hdC1tb2JpbGUtcC1yaWdodC5wYWRkZWQge1xuICAgICAgbWFyZ2luOiAuMzVlbSAwIC4zNWVtIDIwcHg7IH1cbiAgICAgIC5mbG9hdC1tb2JpbGUtcC1yaWdodC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtbW9iaWxlLXAtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1tb2JpbGUtbC1yaWdodCxcbi5mbG9hdC1tb2JpbGUtbC1sZWZ0IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsb2F0LW1vYmlsZS1sLXJpZ2h0Om5vdChmaWd1cmUpLFxuICAuZmxvYXQtbW9iaWxlLWwtbGVmdDpub3QoZmlndXJlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsb2F0LW1vYmlsZS1sLXJpZ2h0LnBhZGRlZCxcbiAgLmZsb2F0LW1vYmlsZS1sLWxlZnQucGFkZGVkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvYXQtbW9iaWxlLWwtcmlnaHQucGFkZGVkICsgcCxcbiAgICAuZmxvYXQtbW9iaWxlLWwtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmZsb2F0LW1vYmlsZS1sLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZsb2F0LW1vYmlsZS1sLWxlZnQucGFkZGVkIHtcbiAgICAgIG1hcmdpbjogLjM1ZW0gMjBweCAuMzVlbSAwOyB9XG4gICAgICAuZmxvYXQtbW9iaWxlLWwtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtbW9iaWxlLWwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5mbG9hdC1tb2JpbGUtbC1yaWdodC5wYWRkZWQge1xuICAgICAgbWFyZ2luOiAuMzVlbSAwIC4zNWVtIDIwcHg7IH1cbiAgICAgIC5mbG9hdC1tb2JpbGUtbC1yaWdodC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtbW9iaWxlLWwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC10YWJsZXQtcC1yaWdodCxcbi5mbG9hdC10YWJsZXQtcC1sZWZ0IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsb2F0LXRhYmxldC1wLXJpZ2h0Om5vdChmaWd1cmUpLFxuICAuZmxvYXQtdGFibGV0LXAtbGVmdDpub3QoZmlndXJlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsb2F0LXRhYmxldC1wLXJpZ2h0LnBhZGRlZCxcbiAgLmZsb2F0LXRhYmxldC1wLWxlZnQucGFkZGVkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvYXQtdGFibGV0LXAtcmlnaHQucGFkZGVkICsgcCxcbiAgICAuZmxvYXQtdGFibGV0LXAtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmZsb2F0LXRhYmxldC1wLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZsb2F0LXRhYmxldC1wLWxlZnQucGFkZGVkIHtcbiAgICAgIG1hcmdpbjogLjM1ZW0gMjBweCAuMzVlbSAwOyB9XG4gICAgICAuZmxvYXQtdGFibGV0LXAtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtdGFibGV0LXAtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5mbG9hdC10YWJsZXQtcC1yaWdodC5wYWRkZWQge1xuICAgICAgbWFyZ2luOiAuMzVlbSAwIC4zNWVtIDIwcHg7IH1cbiAgICAgIC5mbG9hdC10YWJsZXQtcC1yaWdodC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtdGFibGV0LXAtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC10YWJsZXQtbC1yaWdodCxcbi5mbG9hdC10YWJsZXQtbC1sZWZ0IHtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsb2F0LXRhYmxldC1sLXJpZ2h0Om5vdChmaWd1cmUpLFxuICAuZmxvYXQtdGFibGV0LWwtbGVmdDpub3QoZmlndXJlKSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsb2F0LXRhYmxldC1sLXJpZ2h0LnBhZGRlZCxcbiAgLmZsb2F0LXRhYmxldC1sLWxlZnQucGFkZGVkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvYXQtdGFibGV0LWwtcmlnaHQucGFkZGVkICsgcCxcbiAgICAuZmxvYXQtdGFibGV0LWwtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLmZsb2F0LXRhYmxldC1sLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZsb2F0LXRhYmxldC1sLWxlZnQucGFkZGVkIHtcbiAgICAgIG1hcmdpbjogLjM1ZW0gMjBweCAuMzVlbSAwOyB9XG4gICAgICAuZmxvYXQtdGFibGV0LWwtbGVmdC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtdGFibGV0LWwtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5mbG9hdC10YWJsZXQtbC1yaWdodC5wYWRkZWQge1xuICAgICAgbWFyZ2luOiAuMzVlbSAwIC4zNWVtIDIwcHg7IH1cbiAgICAgIC5mbG9hdC10YWJsZXQtbC1yaWdodC5wYWRkZWQgKyBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuZmxvYXQtdGFibGV0LWwtbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1kZXNrdG9wLXJpZ2h0LFxuLmZsb2F0LWRlc2t0b3AtbGVmdCB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mbG9hdC1kZXNrdG9wLXJpZ2h0Om5vdChmaWd1cmUpLFxuICAuZmxvYXQtZGVza3RvcC1sZWZ0Om5vdChmaWd1cmUpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvYXQtZGVza3RvcC1yaWdodC5wYWRkZWQsXG4gIC5mbG9hdC1kZXNrdG9wLWxlZnQucGFkZGVkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvYXQtZGVza3RvcC1yaWdodC5wYWRkZWQgKyBwLFxuICAgIC5mbG9hdC1kZXNrdG9wLWxlZnQucGFkZGVkICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5mbG9hdC1kZXNrdG9wLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZsb2F0LWRlc2t0b3AtbGVmdC5wYWRkZWQge1xuICAgICAgbWFyZ2luOiAuMzVlbSAyMHB4IC4zNWVtIDA7IH1cbiAgICAgIC5mbG9hdC1kZXNrdG9wLWxlZnQucGFkZGVkICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZsb2F0LWRlc2t0b3AtcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5mbG9hdC1kZXNrdG9wLXJpZ2h0LnBhZGRlZCB7XG4gICAgICBtYXJnaW46IC4zNWVtIDAgLjM1ZW0gMjBweDsgfVxuICAgICAgLmZsb2F0LWRlc2t0b3AtcmlnaHQucGFkZGVkICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZsb2F0LWRlc2t0b3Atbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC13aWRlc2NyZWVuLXJpZ2h0LFxuLmZsb2F0LXdpZGVzY3JlZW4tbGVmdCB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5mbG9hdC13aWRlc2NyZWVuLXJpZ2h0Om5vdChmaWd1cmUpLFxuICAuZmxvYXQtd2lkZXNjcmVlbi1sZWZ0Om5vdChmaWd1cmUpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvYXQtd2lkZXNjcmVlbi1yaWdodC5wYWRkZWQsXG4gIC5mbG9hdC13aWRlc2NyZWVuLWxlZnQucGFkZGVkIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvYXQtd2lkZXNjcmVlbi1yaWdodC5wYWRkZWQgKyBwLFxuICAgIC5mbG9hdC13aWRlc2NyZWVuLWxlZnQucGFkZGVkICsgcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5mbG9hdC13aWRlc2NyZWVuLWxlZnQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmZsb2F0LXdpZGVzY3JlZW4tbGVmdC5wYWRkZWQge1xuICAgICAgbWFyZ2luOiAuMzVlbSAyMHB4IC4zNWVtIDA7IH1cbiAgICAgIC5mbG9hdC13aWRlc2NyZWVuLWxlZnQucGFkZGVkICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZsb2F0LXdpZGVzY3JlZW4tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIC5mbG9hdC13aWRlc2NyZWVuLXJpZ2h0LnBhZGRlZCB7XG4gICAgICBtYXJnaW46IC4zNWVtIDAgLjM1ZW0gMjBweDsgfVxuICAgICAgLmZsb2F0LXdpZGVzY3JlZW4tcmlnaHQucGFkZGVkICsgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmZsb2F0LXdpZGVzY3JlZW4tbm9uZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi8qKlxyXG4gKiBAYXRvbSAudGl0YW5pY1xyXG4gKiBAc2VjdGlvbiBVdGlsaXR5XHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgV2FzIG1lYW50IHRvIGJlIGEgam9rZS4gU2ltcGx5IHNldHMgZmxvYXQgcHJvcGVydHkgdG8gbm9uZS5cclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW0gY2xlYXJmaXhcIj5cclxuICogICAgICA8cCBjbGFzcz1cInRpdGFuaWNcIj5TaG91bGQgbmV2ZXIgZmxvYXQ8L3A+XHJcbiAqICAgPC9kaXY+XHJcbiAqL1xuLnRpdGFuaWMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIENhbGwgVG8gQWN0aW9uIEJveFxyXG4gKiBAc2VjdGlvbiBDYWxsb3V0c1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cImN0YS1ib3hcIj5cclxuICogICAgICA8cD48c3Ryb25nPjxhIGhyZWY9XCIjXCI+R2V0IEEgUXVvdGUgTm93PC9hPjwvc3Ryb25nPiAgb3IgY2FsbCB1cyBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiA8c3Ryb25nPjxhIGhyZWY9XCJ0ZWw6I1wiPjg3Ny05MjItOTcwMTwvYT48L3N0cm9uZz4gPC9wPlxyXG4gKiAgIDwvZGl2PlxyXG4gKi9cbi5jdGEtYm94IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS00N0x0Q24gNjkyNjg2XCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS41NjNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjJlbTsgfVxuICAuY3RhLWJveCBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIFZvdGluZyBUb29sXHJcbiAqIEBzZWN0aW9uIFVzZXIgRmVlZGJhY2tcclxuICogQG1hcmt1cFxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJ2b3RpbmctdG9vbFwiPlxyXG4gKiAgICAgICAgPGgzIGNsYXNzPVwidm90aW5nLWxhYmVsXCI+V2FzIHRoaXMgc3R5bGVndWlkZSBoZWxwZnVsPzwvaDM+XHJcbiAqICAgICAgICAgIDx1bCBjbGFzcz1cInZvdGluZy1vcHRpb25zXCIgZGF0YS1ndWlkPVwiI1wiPlxyXG4gKiAgICAgICAgICAgIDxsaSBjbGFzcz1cInZvdGluZy1vcHRpb24gdm90aW5nLW9wdGlvbi0wIHBpbGwtYnV0dG9uXCI+WWVzPC9saT5cclxuICogICAgICAgICAgICA8bGkgY2xhc3M9XCJ2b3Rpbmctb3B0aW9uIHZvdGluZy1vcHRpb24tMSBwaWxsLWJ1dHRvblwiPk5vPC9saT5cclxuICogICAgICAgICAgPC91bD5cclxuICogICAgICA8L2Rpdj5cclxuICpcclxuICovXG4udm90aW5nLXRvb2wgLnZvdGluZy1vcHRpb25zIC5waWxsLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIFBsYXkgVmlkZW9cclxuICogQHNlY3Rpb24gSW1hZ2UgPiBJY29uIE92ZXJsYXlcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgUGxheSBpY29uIG92ZXJsYXllZCBvbiBhbiBpbWFnZVxyXG4gKiBAbWFya3VwIFxyXG4gKiAgICAgICAgICA8ZmlndXJlIGNsYXNzPVwidGh1bWItY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRodW1iIHRodW1iLXNtYWxsIHBsYXlcIj48aW1nIHNyYz1cIi4uL2ltZy90aHVtYi5wbmdcIj48L3NwYW4+XHJcbiAqICAgICAgICAgIDwvZmlndXJlPlxyXG4gKi9cbi5wbGF5OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIHRvcDogMCU7XG4gIGxlZnQ6IDAlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEhOMlp5QU5DaUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lEUW9nZUcxc2JuTTZlR3hwYm1zOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6RTVPVGt2ZUd4cGJtc2lEUW9nZG1sbGQwSnZlRDBpTUNBdE1UQWdNVEV5SURFek1pSStEUW9nSUNBZ1BHUmxabk0rQ1FrSkRRb2dJQ0FnSUNBZ0lEeG1hV3gwWlhJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCcFpEMGlaSEp2Y0hOb1lXUnZkeUkrRFFvZ0lDQWdJQ0FnSUNBZ0lDQThabVZQWm1aelpYUWdjbVZ6ZFd4MFBTSnZabVpQZFhRaUlHbHVQU0pUYjNWeVkyVkhjbUZ3YUdsaklpQmtlRDBpTUNJZ1pIazlJakFpTHo0TkNpQWdJQ0FnSUNBZ0lDQWdJRHhtWlVOdmJHOXlUV0YwY21sNElISmxjM1ZzZEQwaWJXRjBjbWw0VDNWMElpQnBiajBpYjJabVQzVjBJaUIwZVhCbFBTSnRZWFJ5YVhnaUlIWmhiSFZsY3owaU1DNHlJREFnTUNBd0lEQWdNQ0F3TGpJZ01DQXdJREFnTUNBd0lEQXVNaUF3SURBZ01DQXdJREFnTVNBd0lpOCtEUW9nSUNBZ0lDQWdJQ0FnSUNBOFptVkhZWFZ6YzJsaGJrSnNkWElnY21WemRXeDBQU0ppYkhWeVQzVjBJaUJwYmowaWJXRjBjbWw0VDNWMElpQnpkR1JFWlhacFlYUnBiMjQ5SWpZaUx6NE5DaUFnSUNBZ0lDQWdJQ0FnSUR4bVpVSnNaVzVrSUdsdVBTSlRiM1Z5WTJWSGNtRndhR2xqSWlCcGJqSTlJbUpzZFhKUGRYUWlJRzF2WkdVOUltNXZjbTFoYkNJdlBpQWdJQTBLSUNBZ0lDQWdJQ0E4TDJacGJIUmxjajROQ2lBZ0lDQThMMlJsWm5NK0RRb2dJQ0FnUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCbWFXeDBaWEk5SW5WeWJDZ2paSEp2Y0hOb1lXUnZkeWtpSUdROUlrMDFOaTR3TURBc01URXlMakF3TUNCRE1qVXVNRGN5TERFeE1pNHdNREFnTFRBdU1EQXdMRGcyTGpreU9DQXRNQzR3TURBc05UWXVNREF3SUVNdE1DNHdNREFzTWpVdU1EY3lJREkxTGpBM01pd3dMakF3TUNBMU5pNHdNREFzTUM0d01EQWdRemcyTGpreU9Dd3dMakF3TUNBeE1USXVNREF3TERJMUxqQTNNaUF4TVRJdU1EQXdMRFUyTGpBd01DQkRNVEV5TGpBd01DdzROaTQ1TWpnZ09EWXVPVEk0TERFeE1pNHdNREFnTlRZdU1EQXdMREV4TWk0d01EQWdXazAxTmk0d01EQXNNVEV1TURBd0lFTXpNUzR4TkRjc01URXVNREF3SURFeExqQXdNQ3d6TVM0eE5EY2dNVEV1TURBd0xEVTJMakF3TUNCRE1URXVNREF3TERnd0xqZzFNeUF6TVM0eE5EY3NNVEF4TGpBd01DQTFOaTR3TURBc01UQXhMakF3TUNCRE9EQXVPRFV6TERFd01TNHdNREFnTVRBeExqQXdNQ3c0TUM0NE5UTWdNVEF4TGpBd01DdzFOaTR3TURBZ1F6RXdNUzR3TURBc016RXVNVFEzSURnd0xqZzFNeXd4TVM0d01EQWdOVFl1TURBd0xERXhMakF3TUNCYVRUUTBMakF3TUN3ek5pNHdNREFnVERjNExqQXdNQ3cxTlM0NU9EWWdURFEwTGpBd01DdzNOaTR3TURBZ1REUTBMakF3TUN3ek5pNHdNREFnV2lJdlBnMEtQQzl6ZG1jK1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAzMCU7IH1cblxuLnZpZGVvLXBsYXllciAudmlkZW8tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnZpZGVvLXBsYXllciAudmlkZW8tY29udGFpbmVyIGlmcmFtZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbiNzdG9yeS1ib2R5IC52aWRlby1wbGF5ZXIge1xuICBtYXJnaW46IDAgMCAxLjVlbSAwOyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAbW9sZWN1bGUgUHVsbCBRdW90ZVxyXG4gKiBAc2VjdGlvbiBDYWxsb3V0c1xyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwiY29udGVudFwiPlxyXG4gKiAgICAgIDxibG9ja3F1b3RlIGNsYXNzPVwicHVsbHF1b3RlXCI+IFxyXG4gKiAgICAgICAgICA8cD5Ae2xpcHN1bToxOnNlbnRlbmNlfSA8YnI+IDxhIGhyZWY9XCIjXCI+RXhhbXBsZSBsaW5rPC9hPjwvcD5cclxuICogICAgICA8L2Jsb2NrcXVvdGU+XHJcbiAqXHJcbiAqICAgICAgPGJsb2NrcXVvdGUgY2xhc3M9XCJwdWxscXVvdGUgY2hhcmNvYWxcIj4gXHJcbiAqICAgICAgICAgIDxwPkB7bGlwc3VtOjE6c2VudGVuY2V9IDxicj4gPGEgaHJlZj1cIiNcIj5FeGFtcGxlIGxpbms8L2E+PC9wPlxyXG4gKiAgICAgIDwvYmxvY2txdW90ZT5cclxuICogIDwvZGl2PlxyXG4gKlxyXG4gKi9cbi5jb250ZW50IC5wdWxscXVvdGUsIC5jb250ZW50IC5wdWxscXVvdGUuY2hhcmNvYWwge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5jb250ZW50IC5wdWxscXVvdGUgcCwgLmNvbnRlbnQgLnB1bGxxdW90ZS5jaGFyY29hbCBwIHtcbiAgICBjb2xvcjogIzIzMjMyMztcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTQ3THRDbiA2OTI2ODZcIjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogNDVweDsgfVxuICAgIC5jb250ZW50IC5wdWxscXVvdGUgcCBzdHJvbmcsIC5jb250ZW50IC5wdWxscXVvdGUuY2hhcmNvYWwgcCBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5jb250ZW50IC5wdWxscXVvdGU6YWZ0ZXIsIC5jb250ZW50IC5wdWxscXVvdGUuY2hhcmNvYWw6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbnRlbnQgLmNoYXJjb2FsLnB1bGxxdW90ZSB7XG4gIGJhY2tncm91bmQ6ICMyMzIzMjM7IH1cblxuLmNvbnRlbnQgLmNoYXJjb2FsLnB1bGxxdW90ZSBwLFxuLmNvbnRlbnQgLnB1bGxxdW90ZS5ibGFjayBwIHtcbiAgY29sb3I6ICNmZmY7IH1cblxuLnByZXNzLXJlbGVhc2VzIC5wcmVzcy1yZWxlYXNlLWl0ZW0ge1xuICBtYXJnaW46IDAgMCAzMHB4IDA7IH1cblxuLnByZXNzLXJlbGVhc2VzIC5wcmVzcy1yZWxlYXNlLWRhdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMzIzO1xuICBwYWRkaW5nOiA1cHggNXB4IDNweCA1cHg7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxLjI1ZW07IH1cblxuLnByZXNzLXJlbGVhc2VzIC5wcmVzcy1yZWxlYXNlLXRlYXNlciB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiA1cHggMDsgfVxuXG4uY29tbWVudC1mb3JtIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAuY29tbWVudC1mb3JtIC50aXRsZSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBwYWRkaW5nOiAwIDMwcHg7IH1cbiAgLmNvbW1lbnQtZm9ybSAuY29tbWVudHMtc3VibWlzc2lvbi1mb3JtIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb21tZW50LWZvcm0gLmNvbW1lbnRzLXN1Ym1pc3Npb24tZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLmNvbW1lbnQtZm9ybSAuY29tbWVudHMtc3VibWlzc2lvbi1mb3JtIC5sZWZ0LXBhbmVsLFxuICAgICAgICAuY29tbWVudC1mb3JtIC5jb21tZW50cy1zdWJtaXNzaW9uLWZvcm0gLnJpZ2h0LXBhbmVsIHtcbiAgICAgICAgICB3aWR0aDogNTAlOyB9XG4gICAgICAgIC5jb21tZW50LWZvcm0gLmNvbW1lbnRzLXN1Ym1pc3Npb24tZm9ybSAubGVmdC1wYW5lbCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAgICAgICAuY29tbWVudC1mb3JtIC5jb21tZW50cy1zdWJtaXNzaW9uLWZvcm0gLnJpZ2h0LXBhbmVsIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH0gfVxuXG4uY29tbWVudHMgLnRpdGxlIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzVweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgcGFkZGluZzogMCAzMHB4OyB9XG5cbi5jb21tZW50cyAuY29tbWVudC1saXN0IHtcbiAgcGFkZGluZzogMDsgfVxuICAuY29tbWVudHMgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1pdGVtIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmNvbW1lbnRzIC5jb21tZW50LWxpc3QgLmNvbW1lbnQtaXRlbSAuY29tbWVudC1jYWxsb3V0IHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmNvbW1lbnRzIC5jb21tZW50LWxpc3QgLmNvbW1lbnQtaXRlbSAuY29tbWVudC1udW1iZXIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICBmb250LWZhbWlseTogJ0hlbHZldGljYU5ldWVXMDEtNzdCZENuIDY5MjcyMic7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgY29sb3I6ICNjOGM3Yzc7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzVweDsgfVxuICAgIC5jb21tZW50cyAuY29tbWVudC1saXN0IC5jb21tZW50LWl0ZW0gLmNvbW1lbnQtZGV0YWlscyB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZzogMCAwIDEwcHggMDtcbiAgICAgIG1hcmdpbi10b3A6IC0yNXB4O1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlY2VjZTsgfVxuICAgIC5jb21tZW50cyAuY29tbWVudC1saXN0IC5jb21tZW50LWl0ZW0gLmNvbW1lbnQtYXV0aG9yIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwOyB9XG4gICAgICAuY29tbWVudHMgLmNvbW1lbnQtbGlzdCAuY29tbWVudC1pdGVtIC5jb21tZW50LWF1dGhvciAuY29tbWVudC1hdXRob3ItbmFtZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmNvbW1lbnRzIC5jb21tZW50LWxpc3QgLmNvbW1lbnQtaXRlbSAuY29tbWVudC1hdXRob3IgLmNvbW1lbnQtYXV0aG9yLWxvY2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jb21tZW50cyAuY29tbWVudC1saXN0IC5jb21tZW50LWl0ZW0gLmNvbW1lbnQtYXV0aG9yIC5jb21tZW50LXB1Ymxpc2gtZGF0ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb2xvcjogIzdjODA4MzsgfVxuXG4vKipcclxuICpcclxuICogQG1vbGVjdWxlIFN1YmNhdGVnb3J5IE5hdmlnYXRpb25cclxuICogQHNlY3Rpb24gTmF2aWdhdGlvblxyXG4gKiBAbWFya3VwXHJcbiAqICA8bmF2IGNsYXNzPVwic3ViY2F0ZWdvcnktbmF2aWdhdGlvblwiPlxyXG4gKiAgICAgIEB7aW5jbHVkZToubmF2LWl0ZW1zfSAgICAgICBcclxuICogIDwvbmF2PlxyXG4gKlxyXG4gKi9cbi5zdWJjYXRlZ29yeS1uYXZpZ2F0aW9uIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiAubmF2LWl0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiAubmF2LWl0ZW1zIGxpIHtcbiAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICBtaW4td2lkdGg6IDQ5JTtcbiAgICAgIHBhZGRpbmc6IDBweCAycHggMDsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgLnN1YmNhdGVnb3J5LW5hdmlnYXRpb24gLm5hdi1pdGVtcyBsaSB7XG4gICAgICAgICAgbWluLXdpZHRoOiAyNCU7XG4gICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDsgfSB9XG4gICAgICAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiAubmF2LWl0ZW1zIGxpIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7IH1cbiAgICAgICAgLnN1YmNhdGVnb3J5LW5hdmlnYXRpb24gLm5hdi1pdGVtcyBsaSBhIGluY2x1ZGUgYXQtYnJlYWtwb2ludCgkdGFibGV0LWwpIHtcbiAgICAgICAgICBwYWRkaW5nOiA1cHggMjBweDsgfVxuICAgICAgICAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiAubmF2LWl0ZW1zIGxpIGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMwMTdEQzc7XG4gICAgICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgICAgLnN1YmNhdGVnb3J5LW5hdmlnYXRpb24gLm5hdi1pdGVtcyBsaSBhOmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzIzMjMyMztcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiArIC5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDE1cHggMCAwOyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAbW9sZWN1bGUgUGFnaW5hdGlvblxyXG4gKiBAc2VjdGlvbiBOYXZpZ2F0aW9uXHJcbiAqIEBtYXJrdXBcclxuICogICA8ZGl2IGNsYXNzPVwicGFnaW5hdGlvbiB0b3AtcGFnaW5hdGlvbiBsaXN0LXBhZ2luYXRpb25cIj5cclxuICogICAgICAgPHNwYW4gY2xhc3M9XCJwYWdpbmF0aW9uLXRleHRcIj5zaG93aW5nIDEtMTAgb2YgNDUgPC9zcGFuPiB8XHJcbiAqICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwYWdlLWJ0biBwcmV2LWJ0blwiPlByZXY8L2E+IDwhLS0gU2hvdWxkIG9ubHkgc2hvdyBpZiBwYXN0IHRoZSBmaXJzdCBzY3JlZW4tLT5cclxuICogICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBhZ2UtYnRuXCI+MTwvYT4gPGEgaHJlZj1cIiNcIiBjbGFzcz1cInBhZ2UtYnRuIGFjdGl2ZVwiPjI8L2E+IDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwYWdlLWJ0blwiPjM8L2E+XHJcbiAqICAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1idG4gZW1wdHlcIj7igKY8L3NwYW4+XHJcbiAqICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwYWdlLWJ0blwiPjU8L2E+XHJcbiAqICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJwYWdlLWJ0biBuZXh0LWJ0blwiPk5leHQ8L2E+XHJcbiAqICAgPC9kaXY+XHJcbiAqXHJcbiAqL1xuLnBhZ2luYXRpb24td3JhcHBlciB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBhZ2luYXRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTVweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIG1hcmdpbjogMjBweCAwIDMwcHg7IH1cbiAgLnBhZ2luYXRpb24gLnBhZ2UtYnRuIHtcbiAgICBjb2xvcjogIzAxN0RDNztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIG1hcmdpbjogMCAycHggNXB4IDJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgem9vbTogMTsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLWJ0bi5wcmV2LWJ0bjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXDAwYWIgXCI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnBhZ2luYXRpb24gLnBhZ2UtYnRuLm5leHQtYnRuOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFxcMDBiYlwiO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLWJ0bi5lbXB0eSB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgY29sb3I6ICM3YzgwODM7IH1cbiAgICAucGFnaW5hdGlvbiAucGFnZS1idG46aG92ZXIsIC5wYWdpbmF0aW9uIC5wYWdlLWJ0bi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAgIC5wYWdpbmF0aW9uIC5wYWdlLWJ0bjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLnByaW1hcnktbmF2aWdhdGlvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24ge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tYmFyIHtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgICAgICAgLmx0LWllMTAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1iYXIsXG4gICAgICAgIC5pZTkgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1iYXIge1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tYmFyLFxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA2MGVtKSB7XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZS5jb2xsYXBzZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSBuYXYgPiB1bC5uYXYtaXRlbXMsIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC5zdWJjYXRlZ29yeS1uYXZpZ2F0aW9uIG5hdiA+IHVsLm5hdi1pdGVtcyxcbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIG5hdiA+IHVsLm5hdi1pdGVtcyBhLnRhYixcbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC5zdWJjYXRlZ29yeS1uYXZpZ2F0aW9uIG5hdiA+IHVsLm5hdi1pdGVtcyBhLnRhYiB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzNjM2MzY7XG4gICAgICAgIG1hcmdpbjogMCAtMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIG5hdjpub3QoOmxhc3QtY2hpbGQpID4gdWwubmF2LWl0ZW1zLCAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiBuYXY6bm90KDpsYXN0LWNoaWxkKSA+IHVsLm5hdi1pdGVtcyxcbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIG5hdiA+IHVsLm5hdi1pdGVtcyBhLnRhYi5hY3RpdmUsXG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiBuYXYgPiB1bC5uYXYtaXRlbXMgYS50YWIuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogc29saWQgMXB4ICM3YzgwODM7IH0gfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC50b3VjaGV2ZW50cy5jb2xsYXBzZWQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC50b3VjaGV2ZW50cyBuYXYgPiB1bC5uYXYtaXRlbXMsIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC50b3VjaGV2ZW50cyAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiBuYXYgPiB1bC5uYXYtaXRlbXMsXG4gICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgLnRvdWNoZXZlbnRzIG5hdiA+IHVsLm5hdi1pdGVtcyBhLnRhYixcbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSAudG91Y2hldmVudHMgLnN1YmNhdGVnb3J5LW5hdmlnYXRpb24gbmF2ID4gdWwubmF2LWl0ZW1zIGEudGFiIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzNjM2MzY7XG4gICAgICBtYXJnaW46IDAgLTAuNjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC50b3VjaGV2ZW50cyBuYXY6bm90KDpsYXN0LWNoaWxkKSA+IHVsLm5hdi1pdGVtcywgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgLnRvdWNoZXZlbnRzIC5zdWJjYXRlZ29yeS1uYXZpZ2F0aW9uIG5hdjpub3QoOmxhc3QtY2hpbGQpID4gdWwubmF2LWl0ZW1zLFxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC50b3VjaGV2ZW50cyBuYXYgPiB1bC5uYXYtaXRlbXMgYS50YWIuYWN0aXZlLFxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIC50b3VjaGV2ZW50cyAuc3ViY2F0ZWdvcnktbmF2aWdhdGlvbiBuYXYgPiB1bC5uYXYtaXRlbXMgYS50YWIuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAjN2M4MDgzOyB9XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zIGEge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zIGEudGFiIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6IDcwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtcyBhLnRhYjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJvdHRvbTogMzQlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwKTtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0IDBzOyB9XG4gICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zIGxpLmxhYmVsIHtcbiAgICAgIG1hcmdpbjogMCAtMC42MjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgICAgIGJhY2tncm91bmQ6ICMyMzIzMjM7XG4gICAgICBjb2xvcjogI2Q3ZDdkNztcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtcyAuc2Vjb25kYXJ5LW5hdiBsaSA+IGEsXG4gICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zIC5zZWNvbmRhcnktbmF2IC5zZWNvbmRhcnktbmF2LWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDhweCAwOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpub3QoLnNlY29uZGFyeS1uYXYpIHtcbiAgICAgICAgaGVpZ2h0OiA3MHB4O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgICAubHQtaWUxMCAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6bm90KC5zZWNvbmRhcnktbmF2KSxcbiAgICAgICAgLmllOSAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6bm90KC5zZWNvbmRhcnktbmF2KSB7XG4gICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgLmx0LWllMTAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOm5vdCguc2Vjb25kYXJ5LW5hdikgYS50YWIsXG4gICAgICAgIC5pZTkgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOm5vdCguc2Vjb25kYXJ5LW5hdikgYS50YWIge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOm5vdCguc2Vjb25kYXJ5LW5hdikgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweDsgfVxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zIC5zZWNvbmRhcnktbmF2IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDUlO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICMzNjM2MzY7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgbGk6Zmlyc3QtY2hpbGQgYTpiZWZvcmUge1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGUgIWltcG9ydGFudDtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGVYKDEpO1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEpICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgbGk6Zmlyc3QtY2hpbGQgYTpiZWZvcmUgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4OyB9XG4gICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYuY29sbGFwc2VkLFxuICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYm9yZGVyLXRvcDogc29saWQgOHB4ICMwMTdEQzc7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAgIC5sdC1pZTEwIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciAuc2Vjb25kYXJ5LW5hdi5jb2xsYXBzZWQsXG4gICAgICAgIC5pZTkgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2LmNvbGxhcHNlZCwgLmx0LWllMTBcbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2LFxuICAgICAgICAuaWU5XG4gICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciAuc2Vjb25kYXJ5LW5hdiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2LmNvbGxhcHNlZCAubmF2LWl0ZW1zLFxuICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYgLm5hdi1pdGVtcyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1pbi13aWR0aDogMjUlO1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDsgfVxuICAgICAgICAgIC5sdC1pZTEwIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciAuc2Vjb25kYXJ5LW5hdi5jb2xsYXBzZWQgLm5hdi1pdGVtcyxcbiAgICAgICAgICAuaWU5IC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciAuc2Vjb25kYXJ5LW5hdi5jb2xsYXBzZWQgLm5hdi1pdGVtcywgLmx0LWllMTBcbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYgLm5hdi1pdGVtcyxcbiAgICAgICAgICAuaWU5XG4gICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2IC5uYXYtaXRlbXMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYuY29sbGFwc2VkIC5uYXYtaXRlbXMgbGkubGFiZWwsXG4gICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2IC5uYXYtaXRlbXMgbGkubGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDEwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICAgICAgICAgICAgY29sb3I6ICNkN2Q3ZDc7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYuY29sbGFwc2VkIC5uYXYtaXRlbXMgbGkgYSxcbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYgLm5hdi1pdGVtcyBsaSBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7IH1cbiAgICAgICAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXM6aG92ZXIgLnNlY29uZGFyeS1uYXYuY29sbGFwc2VkIC5uYXYtaXRlbXMgbGkubGFiZWwsXG4gICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2LmNvbGxhcHNlZCAubmF2LWl0ZW1zIGxpIGEsXG4gICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2IC5uYXYtaXRlbXMgbGkubGFiZWwsXG4gICAgICAgICAgLnByaW1hcnktbmF2aWdhdGlvbiAubmF2aWdhdGlvbi1zdHJ1Y3R1cmUgdWwubmF2LWl0ZW1zOmhvdmVyIC5zZWNvbmRhcnktbmF2IC5uYXYtaXRlbXMgbGkgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciAuc2Vjb25kYXJ5LW5hdi5jb2xsYXBzZWQgLm5hdi1pdGVtcyBsaSArIGxpLmxhYmVsLFxuICAgICAgICAgIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtczpob3ZlciAuc2Vjb25kYXJ5LW5hdiAubmF2LWl0ZW1zIGxpICsgbGkubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweCAhaW1wb3J0YW50OyB9XG4gICAgICBodG1sLnRvdWNoZXZlbnRzIC5wcmltYXJ5LW5hdmlnYXRpb24gLm5hdmlnYXRpb24tc3RydWN0dXJlIHVsLm5hdi1pdGVtcyAuc2Vjb25kYXJ5LW5hdi5jb2xsYXBzZWQge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uIC5uYXZpZ2F0aW9uLXN0cnVjdHVyZSB1bC5uYXYtaXRlbXMgLnNlY29uZGFyeS1uYXYuY29sbGFwc2VkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDYwZW0pIHtcbiAgICAucHJpbWFyeS1uYXZpZ2F0aW9uICNtZW51LXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5mb290ZXItbmF2aWdhdGlvbiB7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gbmF2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZm9vdGVyLW5hdmlnYXRpb24gbmF2IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmZvb3Rlci1uYXZpZ2F0aW9uIG5hdiBsaTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBtYXJnaW46IDAgNXB4OyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiAuY29weXJpZ2h0LWxhYmVsOmFmdGVyIHtcbiAgICBjb250ZW50OiBcInxcIjtcbiAgICBtYXJnaW46IDAgNXB4OyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiAucmVnaW9uLWljbiB7XG4gICAgcGFkZGluZzogMnB4IDJweCAycHggMjVweDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5mb290ZXItbmF2aWdhdGlvbiAucmVnaW9uLWljbjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiAuY291bnRyeS11ayB7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RRbzhjM1puRFFvSmRtVnljMmx2YmowaU1TNHhJZzBLQ1hodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlOQ2dsNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlOQ2dsNFBTSXdjSGdpRFFvSmVUMGlNSEI0SWcwS0NYZHBaSFJvUFNJeU5uQjRJZzBLQ1dobGFXZG9kRDBpTVROd2VDSU5DZ2wyYVdWM1FtOTRQU0l3SURBZ01qWWdNVE1pRFFvSmVHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSU5DajROQ2cwS0NUeGtaV1p6UGcwS0RRb0pDVHh5WldOMElHbGtQU0pYYUdsMFpWTjBjbWx3WlNJZ1ptbHNiRDBpSTBaR1JrWkdSaUlnZDJsa2RHZzlJak13SWlCb1pXbG5hSFE5SWpJdU5pSWdMejROQ2drSlBISmxZM1FnYVdROUlsSmxaRk4wY21sd1pTSWdJQ0JtYVd4c1BTSWpRMFl4TkRKQ0lpQjNhV1IwYUQwaU1UVWlJR2hsYVdkb2REMGlNQzQ0TmpZMk5qWTJOalkyTmpZMk5qWTNJaUF2UGcwS0RRb0pDVHhuSUdsa1BTSlRkSEpwY0dVaVBnMEtDUWtKUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVjJocGRHVlRkSEpwY0dVaUlIZzlJakFpSUhrOUlqQWlJQzgrRFFvSkNRazhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlNaV1JUZEhKcGNHVWlJQ0FnZUQwaU1DSWdlVDBpTVM0eklpQXZQZzBLQ1FrSlBIVnpaU0I0YkdsdWF6cG9jbVZtUFNJalVtVmtVM1J5YVhCbElpQWdJSGc5SWpFMUlpQjVQU0l3TGpRek16TXpNek16TXpNek16TXpNek1pSUM4K0RRb0pDVHd2Wno0TkNnMEtDVHd2WkdWbWN6NE5DZzBLQ1R4eVpXTjBJR1pwYkd3OUlpTXdNREkwTjBRaUlIZHBaSFJvUFNJeU5pSWdhR1ZwWjJoMFBTSXhNeUl2UGcwS0RRb0pQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpVM1J5YVhCbElpQjRQU0l0TWlJZ2VUMGlOUzR5SWlCMGNtRnVjMlp2Y20wOUluSnZkR0YwWlNneU5pNDFMQ0F4TXl3Z05pNDFLU0lnTHo0TkNnazhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRkSEpwY0dVaUlIZzlJaTB5SWlCNVBTSTFMaklpSUhSeVlXNXpabTl5YlQwaWNtOTBZWFJsS0MweU5pNDFMQ0F4TXl3Z05pNDFLU0lnTHo0TkNnMEtDVHh3YjJ4NVoyOXVJR1pwYkd3OUlpTkdSa1pHUmtZaUlIQnZhVzUwY3owaURRb0pDVEFzTkM0ek16TU5DZ2tKTVRBdU9ETXpMRFF1TXpNekRRb0pDVEV3TGpnek15d3dEUW9KQ1RFMUxqRTJOeXd3RFFvSkNURTFMakUyTnl3MExqTXpNdzBLQ1FreU5pdzBMak16TXcwS0NRa3lOaXc0TGpZMk53MEtDUWt4TlM0eE5qY3NPQzQyTmpjTkNna0pNVFV1TVRZM0xERXpEUW9KQ1RFd0xqZ3pNeXd4TXcwS0NRa3hNQzQ0TXpNc09DNDJOamNOQ2drSk1DdzRMalkyTncwS0NTSXZQZzBLRFFvSlBIQnZiSGxuYjI0Z1ptbHNiRDBpSTBOR01UUXlRaUlnY0c5cGJuUnpQU0lOQ2drSk1DdzFMaklOQ2drSk1URXVOeXcxTGpJTkNna0pNVEV1Tnl3d0RRb0pDVEUwTGpNc01BMEtDUWt4TkM0ekxEVXVNZzBLQ1FreU5pdzFMaklOQ2drSk1qWXNOeTQzT1RrTkNna0pNVFF1TXl3M0xqYzVPUTBLQ1FreE5DNHpMREV6RFFvSkNURXhMamNzTVRNTkNna0pNVEV1Tnl3M0xqYzVPUTBLQ1Frd0xEY3VOems1RFFvSklpOCtEUW9OQ2p3dmMzWm5QZz09KSAzcHggY2VudGVyIG5vLXJlcGVhdDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gLmNvdW50cnktdXMge1xuICAgIGJhY2tncm91bmQ6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQmxibU52WkdsdVp6MGlkWFJtTFRnaVB6NE5DandoUkU5RFZGbFFSU0J6ZG1jZ1VGVkNURWxESUNJdEx5OVhNME12TDBSVVJDQlRWa2NnTVM0eEx5OUZUaUlnSW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTDBkeVlYQm9hV056TDFOV1J5OHhMakV2UkZSRUwzTjJaekV4TG1SMFpDSStEUW84YzNabkRRb0pkbVZ5YzJsdmJqMGlNUzR4SWcwS0NYaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJTkNnbDRiV3h1Y3pwNGJHbHVhejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TVRrNU9TOTRiR2x1YXlJTkNnbDRQU0l3Y0hnaURRb0plVDBpTUhCNElnMEtDWGRwWkhSb1BTSXlObkI0SWcwS0NXaGxhV2RvZEQwaU1UTndlQ0lOQ2dsMmFXVjNRbTk0UFNJd0lEQWdNallnTVRNaURRb0plRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0lOQ2o0TkNnMEtDVHhrWldaelBnMEtEUW9KQ1R4eVpXTjBJR2xrUFNKU1pXUlRkSEpwY0dVaUlHWnBiR3c5SWlOQ01qSXlNelFpSUhkcFpIUm9QU0l5TmlJZ2FHVnBaMmgwUFNJeElpQXZQZzBLQ1FrOGNHOXNlV2R2YmcwS0NRa0phV1E5SWxOMFlYSWlEUW9KQ1FsbWFXeHNQU0lqUmtaR1JrWkdJZzBLQ1FrSmNHOXBiblJ6UFNJTkNna0pDUWt3TGpVeE9Dd3dMalEwRFFvSkNRa0pNQzQzTlN3d0xqSTNNZzBLQ1FrSkNUQXVORFkwTERBdU1qY3lEUW9KQ1FrSk1DNHpOelVzTUEwS0NRa0pDVEF1TWpnMkxEQXVNamN5RFFvSkNRa0pNQ3d3TGpJM01nMEtDUWtKQ1RBdU1qTXlMREF1TkRRTkNna0pDUWt3TGpFME15d3dMamN4TXcwS0NRa0pDVEF1TXpjMUxEQXVOVFExRFFvSkNRa0pNQzQyTURjc01DNDNNVE1OQ2drSkNTSU5DZ2tKTHo0TkNnMEtDUWs4WnlCcFpEMGlVM1JoY25NMUlqNE5DZ2tKQ1R4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOMFlYSWlJSGc5SWpBaUlIazlJakFpSUM4K0RRb0pDUWs4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UZEdGeUlpQjRQU0l4TGpZMk5qWTJOalkyTmpZMk5qWTJOeUlnZVQwaU1DSWdMejROQ2drSkNUeDFjMlVnZUd4cGJtczZhSEpsWmowaUkxTjBZWElpSUhnOUlqTXVNek16TXpNek16TXpNek16TXpNeklpQjVQU0l3SWlBdlBnMEtDUWtKUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVTNSaGNpSWdlRDBpTlNJZ2VUMGlNQ0lnTHo0TkNna0pDVHgxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMU4wWVhJaUlIZzlJall1TmpZMk5qWTJOalkyTmpZMk5qWTNJaUI1UFNJd0lpQXZQZzBLQ1FrOEwyYytEUW9OQ2drSlBHY2dhV1E5SWxOMFlYSnpOaUkrRFFvSkNRazhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRkR0Z5Y3pVaUlIZzlJakFpSUhrOUlqQWlJQzgrRFFvSkNRazhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRkR0Z5SWlCNFBTSTRMak16TXpNek16TXpNek16TXpNek15SWdlVDBpTUNJZ0x6NE5DZ2tKUEM5blBnMEtEUW9KQ1R4bklHbGtQU0pUZEdGeVJtbGxiR1FpUGcwS0NRa0pQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpVM1JoY25NMklpQjRQU0l3SWlCNVBTSXdJaUF2UGcwS0NRa0pQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpVM1JoY25NMUlpQjRQU0l3TGpnek16TXpNek16TXpNek16TXpNek1pSUNCNVBTSXdMamNpSUM4K0RRb0pDUWs4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UZEdGeWN6WWlJSGc5SWpBaUlIazlJakV1TkNJZ0x6NE5DZ2tKQ1R4MWMyVWdlR3hwYm1zNmFISmxaajBpSTFOMFlYSnpOU0lnZUQwaU1DNDRNek16TXpNek16TXpNek16TXpNeklpQWdlVDBpTWk0eElpQXZQZzBLQ1FrSlBIVnpaU0I0YkdsdWF6cG9jbVZtUFNJalUzUmhjbk0ySWlCNFBTSXdJaUI1UFNJeUxqZ2lJQzgrRFFvSkNRazhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlRkR0Z5Y3pVaUlIZzlJakF1T0RNek16TXpNek16TXpNek16TXpNeUlnSUhrOUlqTXVOU0lnTHo0TkNna0pDVHgxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMU4wWVhKek5pSWdlRDBpTUNJZ2VUMGlOQzR5SWlBdlBnMEtDUWtKUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVTNSaGNuTTFJaUI0UFNJd0xqZ3pNek16TXpNek16TXpNek16TXpNaUlDQjVQU0kwTGpraUlDOCtEUW9KQ1FrOGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOVGRHRnljellpSUhnOUlqQWlJSGs5SWpVdU5pSWdMejROQ2drSlBDOW5QZzBLRFFvSlBDOWtaV1p6UGcwS0RRb0pQSEpsWTNRZ1ptbHNiRDBpSTBaR1JrWkdSaUlnZDJsa2RHZzlJakkySWlCb1pXbG5hSFE5SWpFeklpOCtEUW9OQ2drOGRYTmxJSGhzYVc1ck9taHlaV1k5SWlOU1pXUlRkSEpwY0dVaUlIZzlJakFpSUhrOUlqQWlJQzgrRFFvSlBIVnpaU0I0YkdsdWF6cG9jbVZtUFNJalVtVmtVM1J5YVhCbElpQjRQU0l3SWlCNVBTSXlJaUF2UGcwS0NUeDFjMlVnZUd4cGJtczZhSEpsWmowaUkxSmxaRk4wY21sd1pTSWdlRDBpTUNJZ2VUMGlOQ0lnTHo0TkNnazhkWE5sSUhoc2FXNXJPbWh5WldZOUlpTlNaV1JUZEhKcGNHVWlJSGc5SWpBaUlIazlJallpSUM4K0RRb0pQSFZ6WlNCNGJHbHVhenBvY21WbVBTSWpVbVZrVTNSeWFYQmxJaUI0UFNJd0lpQjVQU0k0SWlBdlBnMEtDVHgxYzJVZ2VHeHBibXM2YUhKbFpqMGlJMUpsWkZOMGNtbHdaU0lnZUQwaU1DSWdlVDBpTVRBaUlDOCtEUW9KUEhWelpTQjRiR2x1YXpwb2NtVm1QU0lqVW1Wa1UzUnlhWEJsSWlCNFBTSXdJaUI1UFNJeE1pSWdMejROQ2cwS0NUeHlaV04wSUdacGJHdzlJaU16UXpOQ05rVWlJSGRwWkhSb1BTSXhNQ0lnYUdWcFoyaDBQU0kzSWk4K0RRb05DZ2s4ZFhObElIaHNhVzVyT21oeVpXWTlJaU5UZEdGeVJtbGxiR1FpSUhnOUlqQXVORFU0SWlCNVBTSXdMak0wTXlJZ0x6NE5DZzBLUEM5emRtYyspIDNweCBjZW50ZXIgbm8tcmVwZWF0OyB9XG4gIC5mb290ZXItbmF2aWdhdGlvbiAuY291bnRyeS1jYSB7XG4gICAgYmFja2dyb3VuZDogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlCbGJtTnZaR2x1WnowaWRYUm1MVGdpUHo0TkNqd2hSRTlEVkZsUVJTQnpkbWNnVUZWQ1RFbERJQ0l0THk5WE0wTXZMMFJVUkNCVFZrY2dNUzR4THk5RlRpSWdJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MMGR5WVhCb2FXTnpMMU5XUnk4eExqRXZSRlJFTDNOMlp6RXhMbVIwWkNJK0RRbzhjM1puRFFvSmRtVnljMmx2YmowaU1TNHhJZzBLQ1hodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUlOQ2dsNGJXeHVjenA0YkdsdWF6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNVGs1T1M5NGJHbHVheUlOQ2dsNFBTSXdjSGdpRFFvSmVUMGlNSEI0SWcwS0NYZHBaSFJvUFNJeU5uQjRJZzBLQ1dobGFXZG9kRDBpTVROd2VDSU5DZ2wyYVdWM1FtOTRQU0l3SURBZ01qWWdNVE1pRFFvSmVHMXNPbk53WVdObFBTSndjbVZ6WlhKMlpTSU5DajROQ2cwS0NUeHlaV04wSUdacGJHdzlJaU5HUmpBd01EQWlJSGRwWkhSb1BTSXlOaUlnYUdWcFoyaDBQU0l4TXlJZ0x6NE5DZzBLQ1R4eVpXTjBJR1pwYkd3OUlpTkdSa1pHUmtZaUlIZHBaSFJvUFNJeE15SWdhR1ZwWjJoMFBTSXhNeUlnZUQwaU5pNDFJaUI1UFNJd0lpQXZQZzBLRFFvSlBIQmhkR2dnWm1sc2JEMGlJMFpHTURBd01DSWdaRDBpRFFvSkNVMHhNeXd4TGpJeE9RMEtDUWxzTFRBdU9EZzNMREV1TmpVMERRb0pDV010TUM0eE1ERXNNQzR4T0Mwd0xqSTRNU3d3TGpFMk15MHdMalEyTVN3d0xqQTJNdzBLQ1Fsc0xUQXVOalF5TFRBdU16TXpEUW9KQ1d3d0xqUTNPU3d5TGpVME1RMEtDUWxqTUM0eE1ERXNNQzQwTmpRdE1DNHlNak1zTUM0ME5qUXRNQzR6T0RJc01DNHlOalFOQ2drSlREa3VPVGcxTERRdU1UVXpEUW9KQ1V3NUxqZ3dNeXcwTGpjNURRb0pDVU01TGpjNE1pdzBMamczTkN3NUxqWTVMRFF1T1RZeUxEa3VOVFV5TERRdU9UUXhEUW9KQ1V3NExqRXpOU3cwTGpZME13MEtDUWxzTUM0ek56SXNNUzR6TlRNTkNna0pZekF1TURnc01DNHpNREVzTUM0eE5ESXNNQzQwTWpZdE1DNHdPREVzTUM0MU1EVU5DZ2tKVERjdU9USXhMRFl1TnpNNURRb0pDV3d5TGpRek9Td3hMams0TWcwS0NRbGpNQzR3T1Rjc01DNHdOelFzTUM0eE5EVXNNQzR5TURrc01DNHhNVEVzTUM0ek16RU5DZ2tKYkMwd0xqSXhNeXd3TGpjTkNna0pZekF1T0RRdE1DNHdPVFlzTVM0MU9USXRNQzR5TkRJc01pNDBNek10TUM0ek16SU5DZ2tKWXpBdU1EYzBMVEF1TURBNExEQXVNVGs1TERBdU1URTFMREF1TVRrNExEQXVNakF4RFFvSkNXd3RNQzR4TVRFc01pNDFOalpvTUM0ME1Ea05DZ2tKYkMwd0xqQTJOQzB5TGpVMk1nMEtDUWxqTUMwd0xqQTROaXd3TGpFeE1pMHdMakl4TkN3d0xqRTROeTB3TGpJd05nMEtDUWxqTUM0NE5Dd3dMakE1TERFdU5Ua3lMREF1TWpNMkxESXVORE15TERBdU16TXlEUW9KQ1d3dE1DNHlNVE10TUM0M0RRb0pDV010TUM0d016UXRNQzR4TWpJc01DNHdNVFF0TUM0eU5UY3NNQzR4TVRFdE1DNHpNekVOQ2drSmJESXVORE01TFRFdU9UZ3lEUW9KQ1d3dE1DNDFNRFl0TUM0eU16Z05DZ2tKWXkwd0xqSXlNaTB3TGpBM09TMHdMakUyTFRBdU1qQTBMVEF1TURndE1DNDFNRFVOQ2drSmJEQXVNemN5TFRFdU16VXpEUW9KQ1d3dE1TNDBNVGNzTUM0eU9UZ05DZ2tKWXkwd0xqRXpPU3d3TGpBeU1TMHdMakl6TFRBdU1EWTNMVEF1TWpVeUxUQXVNVFV4RFFvSkNXd3RNQzR4T0RJdE1DNDJNemNOQ2drSmJDMHhMakV5TVN3eExqSTFOQTBLQ1FsakxUQXVNVFU1TERBdU1qQXhMVEF1TkRneUxEQXVNakF4TFRBdU16Z3hMVEF1TWpZMERRb0pDV3d3TGpRM09TMHlMalUwTVEwS0NRbHNMVEF1TmpRekxEQXVNek16RFFvSkNXTXRNQzR4T0N3d0xqRXdNUzB3TGpNMkxEQXVNVEUzTFRBdU5EWXhMVEF1TURZekRRb0pJaUF2UGcwS0RRbzhMM04yWno0PSkgM3B4IGNlbnRlciBuby1yZXBlYXQ7IH1cbiAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5sb2dvIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQRDk0Yld3Z2RtVnljMmx2YmowaU1TNHdJaUJsYm1OdlpHbHVaejBpZFhSbUxUZ2lQejROQ2p3aFJFOURWRmxRUlNCemRtY2dVRlZDVEVsRElDSXRMeTlYTTBNdkwwUlVSQ0JUVmtjZ01TNHhMeTlGVGlJZ0ltaDBkSEE2THk5M2QzY3Vkek11YjNKbkwwZHlZWEJvYVdOekwxTldSeTh4TGpFdlJGUkVMM04yWnpFeExtUjBaQ0krRFFvOGMzWm5EUW9KZG1WeWMybHZiajBpTVM0eElnMEtDWGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SU5DZ2w0Yld4dWN6cDRiR2x1YXowaWFIUjBjRG92TDNkM2R5NTNNeTV2Y21jdk1UazVPUzk0YkdsdWF5SU5DZ2w0UFNJd2NIZ2lEUW9KZVQwaU1IQjRJZzBLQ1hkcFpIUm9QU0kyTkhCNElnMEtDV2hsYVdkb2REMGlNVEp3ZUNJTkNnbDJhV1YzUW05NFBTSXdJREFnTmpRZ01USWlEUW9KZUcxc09uTndZV05sUFNKd2NtVnpaWEoyWlNJTkNqNE5DZzBLQ1R4d1lYUm9JR1pwYkd3OUlpTkZPRVU0UlRnaUlHUTlJazB4Tmk0Mk5EVXNNQzR3TURGb0xUTXVOa3c1TGpZd09Td3hNUzR6TURsV01DNHdNREZJTmk0eE9UZDJOUzR4TkRKSU15NDBNVE5XTUM0d01ERklNRll4TW1nekxqUXhNMVkyTGpZMk0yZ3lMamM0TkZZeE1tZ3pMakl3TVdnd0xqSXhNU0JvTVM0Mk5EWnNNQzQzT0RVdE1pNDJNREpvTXk0M01Vd3hOaTQwT0N3eE1tZ3pMalU1TWt3eE5pNDJORFVzTUM0d01ERjZJRTB4TWk0ek9UVXNPQzR4T1ROc01TNDFOamt0TlM0ek1UaHNNUzQwTlRJc05TNHpNVGhJTVRJdU16azFlaUl2UGcwS0RRb0pQSEJoZEdnZ1ptbHNiRDBpSTBVNFJUaEZPQ0lnWkQwaVRUSTNMakl4TWl3ekxqVXlPRXd5Tnk0eE5qY3NNaTQ1T1dNdE1DNHlNRGt0TVM0eE9URXRNQzQzTmpRdE1TNDRNemt0TVM0NU16VXRNUzQzT1RSakxUQXVPVE0zTERBdU1ETTFMVEV1TkRRNUxEQXVNelExTFRFdU56UTBMREF1T1RRZ1l5MHdMak0xTXl3d0xqY3hMVEF1TkRjMkxESXVNRGMzTFRBdU5EYzJMRFF1TURVMll6QXNNUzQ0TlN3d0xqRXlPQ3d6TGpFd05Dd3dMak00Tml3ekxqYzJOMk13TGpJMU5Td3dMalkyTkN3d0xqYzBMREF1T1RrMUxERXVORFU1TERBdU9UazFJR013TGpnME5pd3dMREV1TWpZNExUQXVORFkyTERFdU1qWTRMVEV1TXprMlZqWXVOekEwYUMweExqWTVOMVkxTGpJek0yZzBMalF4T1hZMUxqazNNMk13TERBdE1DNHhPVFFzTUM0d016SXRNQzQxTkRjc01DNHhOV010TUM0ek5qUXNNQzR4TWpFdE1DNDBNRGNzTUM0eE16Y3RNQzQ0TkRnc01DNHlOVEVnWXpBc01DMHhMalU0T0N3d0xqTTVNeTB5TGpZME5pd3dMak01TTJNdE1TNDNOREVzTUMwekxqQTVNeTB3TGpVeE5pMDBMakExTlMweExqVTBNMk10TUM0NU5qSXRNUzR3TXkweExqUTBNaTB5TGpRM09TMHhMalEwTWkwMExqTTFZekF0TVM0NE1UZ3NNQzQxTVMwekxqSTVNaXd4TGpVeU9TMDBMalF4TnlCak1TNHdNaTB4TGpFeU5Dd3lMak0xTkMweExqWXpOaXcwTGpBd015MHhMalk0TjJNeExqazNOaTB3TGpBMk1pd3pMamcwTXl3d0xqWTJOQ3d6TGprd015d3pMalV3TkV3eU55NHlNVElzTXk0MU1qaDZJaTgrRFFvTkNnazhjRzlzZVdkdmJpQm1hV3hzUFNJalJUaEZPRVU0SWlCd2IybHVkSE05SWpNM0xqQTVMREF1TURFNUlETTNMakE1TERFdU5UTTJJRE15TGpnM09Dd3hMalV6TmlBek1pNDROemdzTlM0eE5qSWdNell1TkRFNExEVXVNVFl5SURNMkxqUXhPQ3cyTGpZM09TQXpNaTQ0Tnpnc05pNDJOemtnTXpJdU9EYzRMREV3TGpRNE15QXpOeTQwTURJc01UQXVORGd6SURNM0xqUXdNaXd4TWlBeU9TNDBOalFzTVRJZ01qa3VORFkwTERBdU1ERTVJQ0l2UGcwS0RRb0pQSEJoZEdnZ1ptbHNiRDBpSTBVNFJUaEZPQ0lnWkQwaVRUUTBMalUwTml3MkxqVXdNMk14TGpZM055MHdMams0TlN3eUxqQTNOUzB4TGpnME9Dd3lMakV3TkMweUxqazVPR013TGpBeU15MHdMamswTnkwd0xqTTNMVEl1TURNNUxURXVNRFUwTFRJdU5qVTNJR010TUM0MU9Ea3RNQzQxTXpRdE1TNDBNRGt0TUM0NE5EY3RNaTQzTWpndE1DNDRORGRvTFRVdU1EVTVkakV4TGprNE1XZ3pMalF4TkhZdE5TNHdNbXd5TGpZeExEVXVNREU1YURNdU56QTFURFEwTGpVME5pdzJMalV3TTNvZ1RUUXhMamt4TXl3MUxqWTJOMmd0TUM0Mk9EaFdNUzQxTkRGb01DNDJPRGdnWXpFdU1qa3lMREFzTVM0NU16Z3NNQzQyT0Rnc01TNDVNemdzTWk0d05qTkRORE11T0RVeUxEUXVPVGM1TERRekxqSXdOU3cxTGpZMk55dzBNUzQ1TVRNc05TNDJOamQ2SWk4K0RRb05DZ2s4Y0c5c2VXZHZiaUJtYVd4c1BTSWpSVGhGT0VVNElpQndiMmx1ZEhNOUlqWXlMall6Tnl3d0xqQXdNU0EyTUM0ME9ESXNOUzQzTnpVZ05UZ3VNRGc0TERBdU1EQXhJRFUxTGpFMExEQXVNREF4SURVMExqVTBOU3d3TGpBd01TQTBOaTR6TlN3d0xqQXdNU0EwTmk0ek5Td3hMakl3TkNBME9TNHlOVFFzTVM0eU1EUWdORGt1TWpVMExERXhMams0TVNBMU1pNDROek1zTVRFdU9UZ3hJRFV5TGpnM015d3hMakl3TkNBMU5TNHdOU3d4TGpJd05DQTFOeTQzTVRnc055NDFOaUExTnk0M01UZ3NNVEV1T1RneElEWXhMakV5T1N3eE1TNDVPREVnTmpFdU1USTVMRGN1TlRZZ05qUXNNQzR3TURFaUx6NE5DZzBLUEM5emRtYyspIGxlZnQgY2VudGVyIG5vLXJlcGVhdDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcGFkZGluZy1sZWZ0OiA3MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDBweDtcbiAgICBib3JkZXItcmlnaHQ6IG5vbmU7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDhweDsgfVxuICAuZm9vdGVyLW5hdmlnYXRpb24gLnBob25lLW51bWJlciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmZvb3Rlci1uYXZpZ2F0aW9uIC5waG9uZS1udW1iZXIgYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc29jaWFsLW5hdmlnYXRpb24gLm5hdi1pdGVtcyBsaTpub3QoLmxhYmVsKSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAyLjJyZW07IH1cbiAgLnNvY2lhbC1uYXZpZ2F0aW9uIC5uYXYtaXRlbXMgbGk6bm90KC5sYWJlbCkgYSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDVweDsgfVxuICAgIC5zb2NpYWwtbmF2aWdhdGlvbiAubmF2LWl0ZW1zIGxpOm5vdCgubGFiZWwpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDUzODk7IH1cblxuLnNvY2lhbC1uYXZpZ2F0aW9uIC5uYXYtaXRlbXMgbGkubGFiZWwge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBtb2xlY3VsZSBTaXRlbWFwXHJcbiAqIEBzZWN0aW9uIE5hdmlnYXRpb25cclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJzaXRlbWFwXCI+XHJcbiAqICAgICAgICBAe2luY2x1ZGU6Lm5hdi1pdGVtc31cclxuICogICA8L3NwYW4+XHJcbiAqXHJcbiAqL1xuLnNpdGVtYXAge1xuICBwYWRkaW5nLWJvdHRvbTogNDBweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IHJlcGVhdDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5zaXRlbWFwIC5jb2w6bm90KDpsYXN0LWNoaWxkKS5tZC0xLW9mLTUge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBzb2xpZCAxcHggI2I3YjdiNzsgfSB9XG4gIC5zaXRlbWFwIC5uYXYtaXRlbXMgbGkge1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMyMzIzMjM7IH1cbiAgICAuc2l0ZW1hcCAubmF2LWl0ZW1zIGxpLmxhYmVsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgLnNpdGVtYXAgLm5hdi1pdGVtcyBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDE3REM3OyB9XG4gIC5zaXRlbWFwIC5uYXYtaXRlbXMgbGkgKyBsaS5sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuXG4vKipcclxuICpcclxuICogQG1vbGVjdWxlIEZBUSBMaXN0XHJcbiAqIEBzZWN0aW9uIExpc3RcclxuICogQG1hcmt1cFxyXG4gKiAgIDx1bCBjbGFzcz1cImxpc3QgZmFxLWxpc3RcIj5cclxuICogICAgICAgPGxpIGNsYXNzPVwiZmFxLWl0ZW0gaXRlbSBjb2xsYXBzZWRcIj5cclxuICogICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWJvZHlcIj5cclxuICogICAgICAgICAgICAgICA8aDIgY2xhc3M9XCJpdGVtLXF1ZXN0aW9uXCI+QHtsaXBzdW06NTp3b3Jkc308c3BhbiBjbGFzcz1cImZhcS1idG4gb3Blbi1idXR0b25cIj5Ae2luY2x1ZGU6c3ZnLmljb24ucGx1cy1jaXJjbGVkfSA8L3NwYW4+PC9oMj5cclxuICogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1hbnN3ZXJcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCIgPiBAe2xpcHN1bToxOnNlbnRlbmNlfTwvZGl2PiAgICAgICAgICAgICBcclxuICogICAgICAgICAgIDwvZGl2PlxyXG4gKlxyXG4gKiAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXNpZGViYXJcIiBzdHlsZT1cImRpc3BsYXk6IG5vbmU7XCI+XHJcbiAqICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW0taGVscFwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICA8aDQgY2xhc3M9XCJoZWxwLXRpdGxlXCI+U3RpbGwgbmVlZCBoZWxwPzwvaDQ+XHJcbiAqICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmFxLXBob25lXCIgaHJlZj1cInRlbDo4NzctOTIyLTk3MDFcIj44NzctOTIyLTk3MDE8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgIDxhIGNsYXNzPVwiZmFxLWVtYWlsXCIgaHJlZj1cIm1haWx0bzphdXRvQGhhZ2VydHkuY29tXCI+RW1haWwgU3VwcG9ydDwvYT5cclxuICogICAgICAgICAgICAgICA8L2Rpdj5cclxuICogICAgICAgICAgIDwvZGl2PiAgXHJcbiAqICAgICAgIDwvbGk+XHJcbiAqICAgICAgIDxsaSBjbGFzcz1cImZhcS1pdGVtIGV4cGFuZGVkXCI+XHJcbiAqICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1ib2R5XCI+XHJcbiAqICAgICAgICAgICAgICAgPGgyIGNsYXNzPVwiaXRlbS1xdWVzdGlvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICBAe2xpcHN1bTo1OndvcmRzfVxyXG4gKiAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImZhcS1idG4gY2xvc2UtYnV0dG9uXCI+QHtpbmNsdWRlOnN2Zy5pY29uLm1pbnVzLWNpcmNsZWR9IDwvc3Bhbj5cclxuICogICAgICAgICAgICAgICA8L2gyPlxyXG4gKiAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWFuc3dlclwiPiBAe2xpcHN1bToxOnNlbnRlbmNlfTwvZGl2PiAgICAgICAgICAgXHJcbiAqICAgICAgICAgICA8L2Rpdj5cclxuICpcclxuICogICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLXNpZGViYXJcIj5cclxuICogICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1oZWxwXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgIDxoNCBjbGFzcz1cImhlbHAtdGl0bGVcIj5TdGlsbCBuZWVkIGhlbHA/PC9oND5cclxuICogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1jb250YWN0XCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICBAe2luY2x1ZGU6c3ZnLmljb24ucGhvbmV9IFxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cInRlbDojXCI+ODc3LTkyMi05NzAxPC9hPlxyXG4gKiAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICogICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZhcS1jb250YWN0XCI+ICAgICAgICAgICAgICAgICAgXHJcbiAqICAgICAgICAgICAgICAgICAgICAgICBAe2luY2x1ZGU6c3ZnLmljb24uZW1haWx9XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwibWFpbHRvOiNcIj5FbWFpbCBTdXBwb3J0PC9hPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICBcclxuICogICAgICAgICAgICAgICA8L2Rpdj5cclxuICogICAgICAgICAgIDwvZGl2PiAgXHJcbiAqICAgICAgIDwvbGk+XHJcbiAqICAgPC91bD5cclxuICpcclxuICovXG4uZmFxLWxpc3Qge1xuICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgY2xlYXI6IGJvdGg7IH1cbiAgLmZhcS1saXN0IC5mYXEtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICBtYXJnaW46IDAgMCAxMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44ZW07IH1cbiAgICAuZmFxLWxpc3QgLmZhcS1pdGVtIC5pdGVtLWJvZHkge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxuICAgICAgLmZhcS1saXN0IC5mYXEtaXRlbSAuaXRlbS1ib2R5IC5pdGVtLXF1ZXN0aW9uIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgLmZhcS1saXN0IC5mYXEtaXRlbSAuaXRlbS1ib2R5IC5pdGVtLXF1ZXN0aW9uIC5mYXEtYnRuIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogLTUwcHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTIwcHg7IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5mYXEtbGlzdCAuZmFxLWl0ZW0gLml0ZW0tYm9keSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTkwcHg7IH0gfVxuICAgIC5mYXEtbGlzdCAuZmFxLWl0ZW0gLml0ZW0tcXVlc3Rpb24uY29sbGFwc2VkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZhcS1saXN0IC5pdGVtLXNpZGViYXIge1xuICAgIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5mYXEtbGlzdCAuaXRlbS1zaWRlYmFyIC5pdGVtLWhlbHAge1xuICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNjBweDsgfVxuICAgICAgLmZhcS1saXN0IC5pdGVtLXNpZGViYXIgLml0ZW0taGVscCAuaGVscC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5mYXEtbGlzdCAuaXRlbS1zaWRlYmFyIC5pdGVtLWhlbHAgLmZhcS1jb250YWN0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiVHVuZ3N0ZW4gQVwiLCBcIlR1bmdzdGVuIEJcIjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZhcS1saXN0IC5pdGVtLXNpZGViYXIgLml0ZW0taGVscCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZhcS1saXN0IC5pdGVtLXNpZGViYXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDE3MHB4OyB9IH1cbiAgLmZhcS1saXN0IC50b2dnbGUtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMTdEQzc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAuZmFxLWxpc3QgLnRvZ2dsZS1idXR0b24gLmljb24ge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogNjUlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmZhcS1saXN0IC50b2dnbGUtYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDUzODk7IH1cbiAgICAuZmFxLWxpc3QgLnRvZ2dsZS1idXR0b24gLmV4cGFuZCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZhcS1saXN0IC50b2dnbGUtYnV0dG9uIC5jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmFxLWxpc3QgLmNvbGxhcHNlZCAudG9nZ2xlLWJ1dHRvbiAuY2xvc2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZhcS1saXN0IC5jb2xsYXBzZWQgLnRvZ2dsZS1idXR0b24gLmV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBTZWN0aW9uIExpc3RcclxuICogQHNlY3Rpb24gTGlzdFxyXG4gKiBAbWFya3VwXHJcbiAqICAgPHVsIGNsYXNzPVwibGlzdCBzZWN0aW9uLWxpc3RcIj5cclxuICogICAgICAgPGxpIGNsYXNzPVwiaXRlbSBzZWN0aW9uLWl0ZW1cIj5cclxuICogICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInRpbGUgYWxpZ24tbGVmdCBpdGVtLWltYWdlXCI+XHJcbiAqICAgICAgICAgICAgICA8aW1nIHNyYz1cIlwiIGFsdD1cIlwiPlxyXG4gKiAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgIDxoMiBjbGFzcz1cIml0ZW0tdGl0bGVcIj48YSBocmVmPVwiI1wiPkNsYXNzaWMgQ2FyIEluc3VyYW5jZTwvYT48L2gyPlxyXG4gKiAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbS1kZXNjcmlwdGlvblwiPiBcclxuICogICAgICAgICAgICAgIDxwPkF0IEhhZ2VydHksIHdlIGxpdmUgY2xhc3NpYyBjYXJzISBTaW5jZSB0aGF0J3Mgd2hhdCB3ZSBzcGVjaWFsaXplIGluLCB3ZSdyZSBhYmxlIHRvIGZvY3VzIGFsbCBvZiBvdXIgYXR0ZW50aW9uIG9uIHlvdSwgeW91ciBjbGFzc2ljLCB5b3VyIGluZGl2aWR1YWwgbmVlZHMsIHVzYWdlIGFuZCBpbnRlcmVzdHMuIE91ciBwb2xpY3kgaXMgZGVzaWduZWQgZm9yIGNsYXNzaWMgY2FycyBhbmQgYnVpbHQgdG8gbWFrZSB5b3VyIGNhciBsYXN0LiBcclxuICogICAgICAgICAgICAgICAgICA8YSBocmVmPVwiL0luc3VyYW5jZS9DbGFzc2ljLUNhci1JbnN1cmFuY2VcIiBjbGFzcz1cImFycm93c1wiPkxlYXJuIE1vcmU8L2E+XHJcbiAqICAgICAgICAgICAgICA8L3A+XHJcbiAqICAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgICA8L2xpPlxyXG4gKiAgIDwvdWw+XHJcbiAqL1xuLnNlY3Rpb24tbGlzdCAuaXRlbS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBtYXJnaW46IDA7IH1cbiAgLnNlY3Rpb24tbGlzdCAuaXRlbS10aXRsZSArIC5pdGVtLWRlc2NyaXB0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5zZWN0aW9uLWxpc3QgLml0ZW0tZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS44ZW07IH1cblxuLnNlY3Rpb24tbGlzdCAuc2VjdGlvbi1pdGVtOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4ucmVnaW9uLWxpc3Qtd3JhcCB7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1hcmdpbjogMjBweCAwOyB9XG4gIC5yZWdpb24tbGlzdC13cmFwIC5yZWdpb24tbGlzdC1sYWJlbCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNWVtO1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuICAucmVnaW9uLWxpc3Qtd3JhcCAucmVnaW9uLWxpc3Qge1xuICAgIHBhZGRpbmc6IDdweCA1cHg7IH1cblxuLmd1aWRlbGluZS1saXN0IC5yZWdpb25hbC1ndWlkZWxpbmUge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBtYXJnaW46IDIwcHggMCA2MHB4IDA7XG4gIHBhZGRpbmc6IDIwcHggMjBweCAxcHggMjBweDsgfVxuICAuZ3VpZGVsaW5lLWxpc3QgLnJlZ2lvbmFsLWd1aWRlbGluZS5zaG93IHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZ3VpZGVsaW5lLWxpc3QgLnJlZ2lvbmFsLWd1aWRlbGluZS5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5ndWlkZWxpbmUtbGlzdCAucmVnaW9uYWwtZ3VpZGVsaW5lIC5yZWdpb24tdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICMwMTdEQzc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4yNWVtO1xuICAgIHBhZGRpbmc6IDJweCA1cHg7XG4gICAgbWFyZ2luOiAwIDAgNXB4IDA7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBEb2N1bWVudCBMaXN0XHJcbiAqIEBzZWN0aW9uIExpc3RcclxuICogQG1hcmt1cFxyXG4gKiAgIDx1bCBjbGFzcz1cImxpc3QgZG9jdW1lbnQtbGlzdFwiPlxyXG4gKiAgICAgICA8bGkgY2xhc3M9XCJkb2N1bWVudC1pdGVtXCI+XHJcbiAqICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwiZG9jdW1lbnQtaWNvblwiPihQREYgLSA5OTlLQik8L2E+XHJcbiAqICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZGVzY3JpcHRpb25cIj5cclxuICogICAgICAgICAgICAgICA8aDI+PGEgaHJlZj1cIiNcIj5UaW1lc2hhcmUgQnJvY2h1cmU8L2E+PC9oMj5cclxuICogICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPkRvd25sb2FkIE5vdyBAe2luY2x1ZGU6c3ZnLmljb24ucHJvY2VlZH08L2E+XHJcbiAqICAgICAgICAgICA8L2Rpdj5cclxuICogICAgICAgPC9saT5cclxuICogICAgICAgPGxpIGNsYXNzPVwiZG9jdW1lbnQtaXRlbVwiPlxyXG4gKiAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImRvY3VtZW50LWljb25cIj4oUERGIC0gNDJLQik8L2E+XHJcbiAqICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZG9jdW1lbnQtZGVzY3JpcHRpb25cIj5cclxuICogICAgICAgICAgICAgICA8aDI+PGEgaHJlZj1cIiNcIj5UaGUgTWVhbmluZyBvZiBMaWZlPC9hPjwvaDI+XHJcbiAqICAgICAgICAgICAgICAgPHA+TGVhcm4gd2h5IHlvdSBzaG91bGQgYWx3YXlzIGNoZXcgeW91ciBmb29kIDQyIHRpbWVzIHBlciBiaXRlLjwvcD5cclxuICogICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPkRvd25sb2FkIE5vdyBAe2luY2x1ZGU6c3ZnLmljb24ucHJvY2VlZH08L2E+XHJcbiAqICAgICAgICAgICA8L2Rpdj5cclxuICogICAgICAgPC9saT5cclxuICogICA8L3VsPlxyXG4gKi9cbi5kb2N1bWVudC1saXN0IHtcbiAgbWFyZ2luOiAwIDAgMjBweCAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5kb2N1bWVudC1saXN0IC5kb2N1bWVudC1pdGVtIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmRvY3VtZW50LWxpc3QgLmRvY3VtZW50LWl0ZW0gaDIge1xuICAgICAgbWFyZ2luOiAwIDAgMTBweCAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5kb2N1bWVudC1saXN0IC5kb2N1bWVudC1pdGVtIC5kb2N1bWVudC1pY29uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICBwYWRkaW5nOiA3NXB4IDAgMCAwO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb20vX2Fzc2V0cy9pbWcvaWNvbnMvUERGX2ZpbGVfaWNvbl9zbS5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgNXB4O1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiA5cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZG9jdW1lbnQtbGlzdCAuZG9jdW1lbnQtaXRlbSAuZG9jdW1lbnQtZGVzY3JpcHRpb24ge1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICAgLmRvY3VtZW50LWxpc3QgLmRvY3VtZW50LWl0ZW0gLmRvY3VtZW50LWRlc2NyaXB0aW9uIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5saXN0IC5pdGVtLmFydGljbGUtaXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmxpc3QgLml0ZW0uYXJ0aWNsZS1pdGVtIC50aHVtYm5haWwge1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgLmxpc3QgLml0ZW0uYXJ0aWNsZS1pdGVtIC50aHVtYm5haWwgaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXgtd2lkdGg6IDE1MHB4OyB9XG4gIC5saXN0IC5pdGVtLmFydGljbGUtaXRlbSAuYm9keSB7XG4gICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmxpc3QgLml0ZW0uYXJ0aWNsZS1pdGVtIC5ib2R5IC50aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAubGlzdCAuaXRlbS5hcnRpY2xlLWl0ZW0gLmJvZHkgLm1ldGEge1xuICAgICAgY29sb3I6ICM1NTU7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAgIC5saXN0IC5pdGVtLmFydGljbGUtaXRlbSAuYm9keSAudGVhc2VyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNTtcbiAgICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuXG4ubGlzdCAuaXRlbS5hcnRpY2xlLWl0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBDVEEgV2lkZ2V0XHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgVGhlIHByaW1hcnkgd2lkZ2V0IHRyZWF0bWVudC4gRW50cmVhdHMgYSB1c2VyIHRvIHBlcmZvcm0gYW4gYWN0aW9uLlxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cIndpZGdldCBjdGEtd2lkZ2V0XCI+XHJcbiAqICAgICA8aDIgY2xhc3M9XCJoZWFkaW5nXCI+XHJcbiAqICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+PHVzZSB4bGluazpocmVmPVwiI2VkaXRcIiAvPjwvc3ZnPlxyXG4gKiAgICAgICBEbyBhIHRoaW5nLCA8c3Ryb25nPlBsZWFzZT88L3N0cm9uZz5cclxuICogICAgIDwvaDI+XHJcbiAqICAgICA8cD5IZXJlJ3Mgc29tZSB0ZXh0IHN1cHBvcnRpbmcgd2h5IHlvdSBzaG91bGQgPHN0cm9uZz5kbyB0aGUgdGhpbmc8L3N0cm9uZz4uPC9wPlxyXG4gKiAgICAgPGhyPlxyXG4gKiAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cImJ1dHRvblwiPlxyXG4gKiAgICAgICBJJ2xsIGRvIHRoZSB0aGluZyA8c3ZnIGNsYXNzPVwiaWNvblwiPjx1c2UgeGxpbms6aHJlZj1cIiNkb3dubG9hZFwiIC8+PC9zdmc+XHJcbiAqICAgICA8L2E+XHJcbiAqICAgPC9kaXY+XHJcbiAqL1xuLmN0YS13aWRnZXQgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjMyNWVtO1xuICBtYXJnaW46IDAgMCAxZW0gMDsgfVxuICAuY3RhLXdpZGdldCBwIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uY3RhLXdpZGdldCAuYm90dG9tIHtcbiAgbWFyZ2luLXRvcDogYXV0bzsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIFJlbGF0ZWQgQXJ0aWNsZXMgV2lkZ2V0XHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgV2lkZ2V0IHVzZWQgdG8gcHJlc2VudCBhIGxpc3Qgb2YgYXJ0aWNsZXMgcmVsYXRlZCB0byB0aGUgY3VycmVudCBhcnRpY2xlLlxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cIndpZGdldCByZWxhdGVkLWFydGljbGVzLXdpZGdldFwiPlxyXG4gKiAgICAgPGgyIGNsYXNzPVwiaGVhZGluZ1wiPlxyXG4gKiAgICAgICBQZW9wbGUgd2hvIHJlYWQgdGhpcyA8c3Ryb25nPmFsc28gcmVhZDwvc3Ryb25nPjpcclxuICogICAgIDwvaDI+XHJcbiAqICAgICA8dWwgY2xhc3M9XCJsaXN0XCI+XHJcbiAqICAgICAgIDxsaSBjbGFzcz1cIml0ZW0gYXJ0aWNsZS1pdGVtXCI+XHJcbiAqICAgICAgICAgPGRpdiBjbGFzcz1cInRodW1ibmFpbFwiPlxyXG4gKiAgICAgICAgICAgPGEgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgPGltZyBzcmM9XCIvaW1nL3BsYWNlaG9sZGVycy8xMDB4MTAwLnBuZ1wiIGFsdD1cIlwiIHRpdGxlPVwiXCI+XHJcbiAqICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgICAgPGRpdiBjbGFzcz1cImJvZHlcIj5cclxuICogICAgICAgICAgIDxoMyBjbGFzcz1cInRpdGxlXCI+XHJcbiAqICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+QHtsaXBzdW06Nzp3b3Jkc308L2E+XHJcbiAqICAgICAgICAgICA8L2gzPlxyXG4gKiAgICAgICAgICAgPHAgY2xhc3M9XCJ0ZWFzZXJcIj5cclxuICogICAgICAgICAgICAgQHtsaXBzdW06MjA6d29yZHN9IDxhIGNsYXNzPVwibW9yZVwiIGhyZWY9XCIjXCI+TW9yZSA8c3ZnIGNsYXNzPVwiaWNvblwiPjx1c2UgeGxpbms6aHJlZj1cIiNjaGV2cm9ucy1yaWdodFwiIC8+PC9zdmc+PC9hPlxyXG4gKiAgICAgICAgICAgPC9wPlxyXG4gKiAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgICA8L2xpPlxyXG4gKiAgICAgICA8bGkgY2xhc3M9XCJpdGVtIGFydGljbGUtaXRlbVwiPlxyXG4gKiAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aHVtYm5haWxcIj5cclxuICogICAgICAgICAgIDxhIGhyZWY9XCIjXCI+XHJcbiAqICAgICAgICAgICAgIDxpbWcgc3JjPVwiL2ltZy9wbGFjZWhvbGRlcnMvMTAweDEwMC5wbmdcIiBhbHQ9XCJcIiB0aXRsZT1cIlwiPlxyXG4gKiAgICAgICAgICAgPC9hPlxyXG4gKiAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgICAgIDxkaXYgY2xhc3M9XCJib2R5XCI+XHJcbiAqICAgICAgICAgICA8aDMgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gKiAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPkB7bGlwc3VtOjc6d29yZHN9PC9hPlxyXG4gKiAgICAgICAgICAgPC9oMz5cclxuICogICAgICAgICAgIDxwIGNsYXNzPVwidGVhc2VyXCI+XHJcbiAqICAgICAgICAgICAgIEB7bGlwc3VtOjIwOndvcmRzfSA8YSBjbGFzcz1cIm1vcmVcIiBocmVmPVwiI1wiPk1vcmUgPHN2ZyBjbGFzcz1cImljb25cIj48dXNlIHhsaW5rOmhyZWY9XCIjY2hldnJvbnMtcmlnaHRcIiAvPjwvc3ZnPjwvYT5cclxuICogICAgICAgICAgIDwvcD5cclxuICogICAgICAgICA8L2Rpdj5cclxuICogICAgICAgPC9saT5cclxuICogICAgICAgPGxpIGNsYXNzPVwiaXRlbSBhcnRpY2xlLWl0ZW1cIj5cclxuICogICAgICAgICA8ZGl2IGNsYXNzPVwidGh1bWJuYWlsXCI+XHJcbiAqICAgICAgICAgICA8YSBocmVmPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICA8aW1nIHNyYz1cIi9pbWcvcGxhY2Vob2xkZXJzLzEwMHgxMDAucG5nXCIgYWx0PVwiXCIgdGl0bGU9XCJcIj5cclxuICogICAgICAgICAgIDwvYT5cclxuICogICAgICAgICA8L2Rpdj5cclxuICogICAgICAgICA8ZGl2IGNsYXNzPVwiYm9keVwiPlxyXG4gKiAgICAgICAgICAgPGgzIGNsYXNzPVwidGl0bGVcIj5cclxuICogICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj5Ae2xpcHN1bTo3OndvcmRzfTwvYT5cclxuICogICAgICAgICAgIDwvaDM+XHJcbiAqICAgICAgICAgICA8cCBjbGFzcz1cInRlYXNlclwiPlxyXG4gKiAgICAgICAgICAgICBAe2xpcHN1bToyMDp3b3Jkc30gPGEgY2xhc3M9XCJtb3JlXCIgaHJlZj1cIiNcIj5Nb3JlIDxzdmcgY2xhc3M9XCJpY29uXCI+PHVzZSB4bGluazpocmVmPVwiI2NoZXZyb25zLXJpZ2h0XCIgLz48L3N2Zz48L2E+XHJcbiAqICAgICAgICAgICA8L3A+XHJcbiAqICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgIDwvbGk+XHJcbiAqICAgICA8L3VsPlxyXG4gKiAgIDwvZGl2PlxyXG4gKi9cbi5yZWxhdGVkLWFydGljbGVzLXdpZGdldCAubGlzdCB7XG4gIG1hcmdpbjogMTBweCAwIC0zMHB4OyB9XG5cbi5yZWxhdGVkLWFydGljbGVzLXdpZGdldCAuYXJ0aWNsZS1pdGVtIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAucmVsYXRlZC1hcnRpY2xlcy13aWRnZXQgLmFydGljbGUtaXRlbSAudGh1bWJuYWlsIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBtYXJnaW46IDAgMjBweCAwIDA7IH1cbiAgLnJlbGF0ZWQtYXJ0aWNsZXMtd2lkZ2V0IC5hcnRpY2xlLWl0ZW0gYm9keSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5yZWxhdGVkLWFydGljbGVzLXdpZGdldCAuYXJ0aWNsZS1pdGVtIGJvZHkgLnRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIC5yZWxhdGVkLWFydGljbGVzLXdpZGdldCAuYXJ0aWNsZS1pdGVtIGJvZHkgLnRlYXNlciB7XG4gICAgICBmb250LXNpemU6IC44MjVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5yZWxhdGVkLWFydGljbGVzLXdpZGdldCAuYXJ0aWNsZS1pdGVtIGJvZHkgLnRlYXNlciAubW9yZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBRdW90ZSBDVEEgV2lkZ2V0XHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgVGhlIHByaW1hcnkgcXVvdGUgd2lkZ2V0LlxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cIndpZGdldCBxdW90ZS1jdGEtd2lkZ2V0XCI+XHJcbiAqICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwicHJpbWFyeS1jdGFcIj5cclxuICogICAgICAgPGgyIGNsYXNzPVwiaGVhZGluZ1wiPlxyXG4gKiAgICAgICAgIEdvdCBhIENsYXNzaWM/XHJcbiAqICAgICAgIDwvaDI+XHJcbiAqICAgICAgIDxwIGNsYXNzPVwic3ViaGVhZGluZ1wiPlxyXG4gKiAgICAgICAgIEdldCBhIHF1b3RlIDxzdmcgY2xhc3M9XCJpY29uXCI+PHVzZSB4bGluazpocmVmPVwiI2NoZXZyb25zLXJpZ2h0XCIgLz48L3N2Zz5cclxuICogICAgICAgPC9wPlxyXG4gKiAgICAgICA8cD5cclxuICogICAgICAgICBmb3IgQ29sbGVjdG9yIFZlaGljbGUgSW5zdXJhbmNlLlxyXG4gKiAgICAgICA8L3A+XHJcbiAqICAgICA8L2E+XHJcbiAqICAgICA8cCBjbGFzcz1cInNlY29uZGFyeS1jdGFcIj5cclxuICogICAgICAgPGEgaHJlZj1cIiNcIj5Eb2VzIHlvdXIgdmVoaWNsZSBxdWFsaWZ5PC9hPiAmbmJzcDt8Jm5ic3A7IDxhIGhyZWY9XCIjXCI+UmV0cmlldmUgeW91ciBxdW90ZTwvYT5cclxuICogICAgIDwvcD5cclxuICogICA8L2Rpdj5cclxuICovXG4ud2lkZ2V0LnF1b3RlLWN0YS13aWRnZXQge1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCAjMDE3REM3IDAlLCAjMDA1Mzg5IDEwMCUpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC53aWRnZXQucXVvdGUtY3RhLXdpZGdldCAucHJpbWFyeS1jdGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAtMjBweCAtMjBweCAwIC0yMHB4O1xuICAgIHBhZGRpbmc6IDIwcHggMjBweCAwIDIwcHg7XG4gICAgdGV4dC1zaGFkb3c6IDJweCAxcHggMCByZ2JhKDIsIDMsIDMsIDAuNCk7IH1cbiAgICAud2lkZ2V0LnF1b3RlLWN0YS13aWRnZXQgLnByaW1hcnktY3RhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLndpZGdldC5xdW90ZS1jdGEtd2lkZ2V0IC5wcmltYXJ5LWN0YSAuaGVhZGluZyB7XG4gICAgICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgLndpZGdldC5xdW90ZS1jdGEtd2lkZ2V0IC5wcmltYXJ5LWN0YSAuc3ViaGVhZGluZyB7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gICAgICAud2lkZ2V0LnF1b3RlLWN0YS13aWRnZXQgLnByaW1hcnktY3RhIC5zdWJoZWFkaW5nIC5pY29uIHtcbiAgICAgICAgZmlsdGVyOiBkcm9wLXNoYWRvdygycHggMXB4IDAgcmdiYSgyLCAzLCAzLCAwLjQpKTsgfVxuICAud2lkZ2V0LnF1b3RlLWN0YS13aWRnZXQgLnNlY29uZGFyeS1jdGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogLjg3NXJlbTtcbiAgICBtYXJnaW46IDIwcHggLTIwcHggLTIwcHggLTIwcHg7XG4gICAgcGFkZGluZzogMjBweDsgfVxuICAgIC53aWRnZXQucXVvdGUtY3RhLXdpZGdldCAuc2Vjb25kYXJ5LWN0YSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qKlxyXG4gKiBAbW9sZWN1bGUgVGVzdGltb25pYWwgV2lkZ2V0XHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgV2lkZ2V0IHVzZWQgdG8gcHJlc2VudCBjdXN0b21lciB0ZXN0aW1vbmlhbHNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJ3aWRnZXQgdGVzdGltb25pYWwtd2lkZ2V0XCI+XHJcbiAqICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPjx1c2UgeGxpbms6aHJlZj1cIiNxdW90ZVwiIC8+PC9zdmc+XHJcbiAqICAgICA8YmxvY2txdW90ZT5cclxuICogICAgICAgPHA+SGVyZSdzIGEgcXVvdGUgb2YgbWUgc2F5aW5nIGEgdGhpbmcuXCI8L3A+XHJcbiAqICAgICAgIDxjaXRlPiZtZGFzaDtRdW90ZWQgUGVyc29uPC9jaXRlPlxyXG4gKiAgICAgPC9ibG9ja3F1b3RlPlxyXG4gKiAgICAgPGhyPlxyXG4gKiAgIDwvZGl2PlxyXG4gKi9cbi50ZXN0aW1vbmlhbC13aWRnZXQgPiAuaWNvbjpmaXJzdC1jaGlsZCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbi50ZXN0aW1vbmlhbC13aWRnZXQgYmxvY2txdW90ZSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cbiAgLnRlc3RpbW9uaWFsLXdpZGdldCBibG9ja3F1b3RlIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwLjVlbSAwOyB9XG4gICAgLnRlc3RpbW9uaWFsLXdpZGdldCBibG9ja3F1b3RlIHAgc3Ryb25nIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRlc3RpbW9uaWFsLXdpZGdldCBibG9ja3F1b3RlIGNpdGUge1xuICAgIGNvbG9yOiAjN2M4MDgzO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBWYWx1YXRpb24gV2lkZ2V0XHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgV2lkZ2V0IHVzZWQgdG8gcHJlc2VudCBhIHZlaGljbGUncyBhdmVyYWdlIHZhbHVlXHJcbiAqIEBtYXJrdXBcclxuICogICA8ZGl2IGNsYXNzPVwid2lkZ2V0IHZhbHVhdGlvbi13aWRnZXRcIj5cclxuICogICAgIDxoMiBjbGFzcz1cImhlYWRpbmdcIj5cclxuICogICAgICAgVGhlIDxzdHJvbmc+QXZlcmFnZSBWYWx1ZTwvc3Ryb25nPiBmb3IgYVxyXG4gKiAgICA8L2gyPlxyXG4gKiAgICA8ZGl2IGNsYXNzPVwidmVoaWNsZVwiPiAgXHJcbiAqICAgICAgPHNwYW4gY2xhc3M9XCJ5ZWFyXCI+MTk2OTwvc3Bhbj5cclxuICogICAgICA8c3BhbiBjbGFzcz1cIm1ha2VcIj5DaGV2cm9sZXQ8L3NwYW4+IFxyXG4gKiAgICAgIDxzcGFuIGNsYXNzPVwibW9kZWxcIj5DYW1hcm88L3NwYW4+IFxyXG4gKiAgICAgIDxzcGFuIGNsYXNzPVwic3VibW9kZWxcIj5TUzwvc3Bhbj4gIFxyXG4gKiAgICAgIDxzcGFuIGNsYXNzPVwiY29uZmlnXCI+XHJcbiAqICAgICAgICA8c3BhbiBjbGFzcz1cImJvZHlzdHlsZVwiPjJkciBTcG9ydCBDb3VwZTwvc3Bhbj5cclxuICogICAgICAgIDxzcGFuIGNsYXNzPVwiZW5naW5lXCI+OC1jeWwuIDM5NmNpZC8zNzVocCA0YmJsIEw3ODwvc3Bhbj5cclxuICogICAgICA8L3NwYW4+XHJcbiAqICAgIDwvZGl2PlxyXG4gKiAgICA8ZGl2IGNsYXNzPVwidmFsdWVcIj5cclxuICogICAgICA8c3BhbiBjbGFzcz1cImN1cnJlbmN5XCI+JDwvc3Bhbj48c3BhbiBjbGFzcz1cImFtb3VudFwiPjM5LDkyNjwvc3Bhbj5cclxuICogICAgPC9kaXY+XHJcbiAqICAgIDxkaXYgY2xhc3M9XCJkaXNjbGFpbWVyXCI+XHJcbiAqICAgICAgPHA+XHJcbiAqICAgICAgICBWYWx1ZSBkYXRhIHByb3ZpZGVkIGJ5IEhhZ2VydHkgVmFsdWF0aW9uIFRvb2xzwq4uIDxhIGhyZWY9XCIjXCI+TGVhcm4gTW9yZTwvYT5cclxuICogICAgICA8L3A+XHJcbiAqICAgIDwvZGl2PlxyXG4gKiAgICA8aHIgY2xhc3M9XCJibHVlXCI+XHJcbiAqICAgIDxhIGNsYXNzPVwiYnV0dG9uXCIgaHJlZj1cIiNcIj5cclxuICogICAgICBWYWx1ZSBZb3VyIFZlaGljbGUgPHN2ZyBjbGFzcz1cImljb25cIj48dXNlIHhsaW5rOmhyZWY9XCIjY2hldnJvbnMtcmlnaHRcIiAvPjwvc3ZnPlxyXG4gKiAgICA8L2E+XHJcbiAqICA8L2Rpdj5cclxuICovXG4udmFsdWF0aW9uLXdpZGdldCAudmVoaWNsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJhY2tncm91bmQ6ICNjY2M7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI7XG4gIG1hcmdpbjogMCAtMjBweCAyMHB4O1xuICBwYWRkaW5nOiA1cHggMjBweDsgfVxuICAudmFsdWF0aW9uLXdpZGdldCAudmVoaWNsZSAuY29uZmlnIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4udmFsdWF0aW9uLXdpZGdldCAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6IDJyZW07XG4gIG1hcmdpbjogMCAwIC41ZW07IH1cblxuLnZhbHVhdGlvbi13aWRnZXQgLmRpc2NsYWltZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxyXG4gKiBAbW9sZWN1bGUgTmF2aWdhdGlvbiBMaXN0IFdpZGdldFxyXG4gKiBAc2VjdGlvbiBXaWRnZXRzXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiBcclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cIndpZGdldCBuYXZpZ2F0aW9uLWxpc3Qtd2lkZ2V0XCI+XHJcbiAqICBcdDxkaXYgY2xhc3M9XCJ3aWRnZXQtaW5uZXJcIj5cclxuICogICAgICAgICAgPG5hdj5cclxuICogICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdi1pdGVtcyBcIj5cclxuICogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsYWJlbCBcIj5XaG8gd2UgYXJlPC9saT5cclxuICogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogICAgICAgICAgICAgICAgICA8bGk+PGEgaHJlZj1cIiNcIj5TYW1wbGUgTmF2IEl0ZW08L2E+PC9saT5cclxuICogICAgICAgICAgICAgIDwvdWw+XHJcbiAqICAgICAgICAgIDwvbmF2PlxyXG4gKiAgICAgXHQ8L2Rpdj5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5uYXZpZ2F0aW9uLWxpc3Qtd2lkZ2V0IHtcbiAgcGFkZGluZzogMDsgfVxuICAubmF2aWdhdGlvbi1saXN0LXdpZGdldCAud2lkZ2V0LWlubmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjMyMzIzO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAubmF2aWdhdGlvbi1saXN0LXdpZGdldCAud2lkZ2V0LWlubmVyIC5uYXYtaXRlbXMgLmxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1heC13aWR0aDogOTUlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy10b3A6IDVweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2NXB4O1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBsaW5lLWhlaWdodDogMS41ZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogaW5oZXJpdDsgfVxuICAgICAgLm5hdmlnYXRpb24tbGlzdC13aWRnZXQgLndpZGdldC1pbm5lciAubmF2LWl0ZW1zIC5sYWJlbDphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9hY2NlbnRzL2JyYW5kaW5nLXN0cmlwZXMtZ3JleS5zdmdcIik7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogNzdweDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICByaWdodDogLTQwcHg7XG4gICAgICAgIHRvcDogMDsgfVxuICAgIC5uYXZpZ2F0aW9uLWxpc3Qtd2lkZ2V0IC53aWRnZXQtaW5uZXIgLm5hdi1pdGVtcyBsaSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjY2NmVtOyB9XG4gICAgICAubmF2aWdhdGlvbi1saXN0LXdpZGdldCAud2lkZ2V0LWlubmVyIC5uYXYtaXRlbXMgbGk6bm90KC5sYWJlbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgICAgLm5hdmlnYXRpb24tbGlzdC13aWRnZXQgLndpZGdldC1pbm5lciAubmF2LWl0ZW1zIGxpOm5vdCgubGFiZWwpICsgbGk6bm90KC5sYWJlbCkge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgICAgLm5hdmlnYXRpb24tbGlzdC13aWRnZXQgLndpZGdldC1pbm5lciAubmF2LWl0ZW1zIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIEZvcm0gQ29udHJvbHNcclxuICogQHNlY3Rpb24gRm9ybXNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBBbiBleGFtcGxlIG9mIGhvdyB0byBzdHJ1Y3R1cmUgbW9zdCBvZiB0aGUgY29tbW9uIGZvcm0gZWxlbWVudHMuXHJcbiAqIEBtYXJrdXBcclxuICogICA8Zm9ybT5cclxuICogICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGVJbnB1dEVtYWlsMVwiPkVtYWlsIGFkZHJlc3M8L2xhYmVsPlxyXG4gKiAgICAgICAgIDxpbnB1dCB0eXBlPVwiZW1haWxcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZXhhbXBsZUlucHV0RW1haWwxXCIgYXJpYS1kZXNjcmliZWRieT1cImVtYWlsSGVscFwiIHBsYWNlaG9sZGVyPVwiRW50ZXIgZW1haWxcIj5cclxuICogICAgICAgICA8c21hbGwgaWQ9XCJlbWFpbEhlbHBcIiBjbGFzcz1cImZvcm0tdGV4dFwiPldlJ2xsIG5ldmVyIHNoYXJlIHlvdXIgZW1haWwgd2l0aCBhbnlvbmUgZWxzZS48L3NtYWxsPlxyXG4gKiAgICAgPC9kaXY+XHJcbiAqICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gKiAgICAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlSW5wdXRQYXNzd29yZDFcIj5QYXNzd29yZDwvbGFiZWw+XHJcbiAqICAgICAgICAgPGlucHV0IHR5cGU9XCJwYXNzd29yZFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlSW5wdXRQYXNzd29yZDFcIiBwbGFjZWhvbGRlcj1cIlBhc3N3b3JkXCI+XHJcbiAqICAgICA8L2Rpdj5cclxuICogICAgIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGVTZWxlY3QxXCI+RXhhbXBsZSBzZWxlY3Q8L2xhYmVsPlxyXG4gKiAgICAgICAgIDxzZWxlY3QgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGVTZWxlY3QxXCI+XHJcbiAqICAgICAgICAgICAgIDxvcHRpb24+MTwvb3B0aW9uPlxyXG4gKiAgICAgICAgICAgICA8b3B0aW9uPjI8L29wdGlvbj5cclxuICogICAgICAgICAgICAgPG9wdGlvbj4zPC9vcHRpb24+XHJcbiAqICAgICAgICAgICAgIDxvcHRpb24+NDwvb3B0aW9uPlxyXG4gKiAgICAgICAgICAgICA8b3B0aW9uPjU8L29wdGlvbj5cclxuICogICAgICAgICA8L3NlbGVjdD5cclxuICogICAgIDwvZGl2PlxyXG4gKiAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZVNlbGVjdDJcIj5FeGFtcGxlIG11bHRpcGxlIHNlbGVjdDwvbGFiZWw+XHJcbiAqICAgICAgICAgPHNlbGVjdCBtdWx0aXBsZSBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZXhhbXBsZVNlbGVjdDJcIj5cclxuICogICAgICAgICAgICAgPG9wdGlvbj4xPC9vcHRpb24+XHJcbiAqICAgICAgICAgICAgIDxvcHRpb24+Mjwvb3B0aW9uPlxyXG4gKiAgICAgICAgICAgICA8b3B0aW9uPjM8L29wdGlvbj5cclxuICogICAgICAgICAgICAgPG9wdGlvbj40PC9vcHRpb24+XHJcbiAqICAgICAgICAgICAgIDxvcHRpb24+NTwvb3B0aW9uPlxyXG4gKiAgICAgICAgIDwvc2VsZWN0PlxyXG4gKiAgICAgPC9kaXY+XHJcbiAqICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gKiAgICAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlVGV4dGFyZWFcIj5FeGFtcGxlIHRleHRhcmVhPC9sYWJlbD5cclxuICogICAgICAgICA8dGV4dGFyZWEgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGVUZXh0YXJlYVwiIHJvd3M9XCIzXCI+PC90ZXh0YXJlYT5cclxuICogICAgIDwvZGl2PlxyXG4gKiAgICAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZUlucHV0RmlsZVwiPkZpbGUgaW5wdXQ8L2xhYmVsPlxyXG4gKiAgICAgICAgIDxpbnB1dCB0eXBlPVwiZmlsZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sLWZpbGVcIiBpZD1cImV4YW1wbGVJbnB1dEZpbGVcIiBhcmlhLWRlc2NyaWJlZGJ5PVwiZmlsZUhlbHBcIj5cclxuICogICAgICAgICA8c21hbGwgaWQ9XCJmaWxlSGVscFwiIGNsYXNzPVwiZm9ybS10ZXh0XCI+VGhpcyBpcyBzb21lIHBsYWNlaG9sZGVyIGJsb2NrLWxldmVsIGhlbHAgdGV4dCBmb3IgdGhlIGFib3ZlIGlucHV0LiBJdCdzIGEgYml0IGxpZ2h0ZXIgYW5kIGVhc2lseSB3cmFwcyB0byBhIG5ldyBsaW5lLjwvc21hbGw+XHJcbiAqICAgICA8L2Rpdj5cclxuICogICAgIDxmaWVsZHNldCBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICAgICA8bGVnZW5kPlJhZGlvIGJ1dHRvbnM8L2xlZ2VuZD5cclxuICogICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVja1wiPlxyXG4gKiAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAqICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgbmFtZT1cIm9wdGlvbnNSYWRpb3NcIiBpZD1cIm9wdGlvbnNSYWRpb3MxXCIgdmFsdWU9XCJvcHRpb24xXCIgY2hlY2tlZD4gT3B0aW9uIG9uZSBpcyB0aGlzIGFuZCB0aGF0Jm1kYXNoO2JlIHN1cmUgdG8gaW5jbHVkZSB3aHkgaXQncyBncmVhdFxyXG4gKiAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gKiAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAqICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZvcm0tY2hlY2stbGFiZWxcIj5cclxuICogICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFkaW9cIiBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiBuYW1lPVwib3B0aW9uc1JhZGlvc1wiIGlkPVwib3B0aW9uc1JhZGlvczJcIiB2YWx1ZT1cIm9wdGlvbjJcIj4gT3B0aW9uIHR3byBjYW4gYmUgc29tZXRoaW5nIGVsc2UgYW5kIHNlbGVjdGluZyBpdCB3aWxsIGRlc2VsZWN0IG9wdGlvbiBvbmVcclxuICogICAgICAgICAgICAgPC9sYWJlbD5cclxuICogICAgICAgICA8L2Rpdj5cclxuICogICAgICAgICA8ZGl2IGNsYXNzPVwiZm9ybS1jaGVjayBkaXNhYmxlZFwiPlxyXG4gKiAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmb3JtLWNoZWNrLWxhYmVsXCI+XHJcbiAqICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInJhZGlvXCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCIgbmFtZT1cIm9wdGlvbnNSYWRpb3NcIiBpZD1cIm9wdGlvbnNSYWRpb3MzXCIgdmFsdWU9XCJvcHRpb24zXCIgZGlzYWJsZWQ+IE9wdGlvbiB0aHJlZSBpcyBkaXNhYmxlZFxyXG4gKiAgICAgICAgICAgICA8L2xhYmVsPlxyXG4gKiAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgPC9maWVsZHNldD5cclxuICogICAgIDxkaXYgY2xhc3M9XCJmb3JtLWNoZWNrXCI+XHJcbiAqICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZm9ybS1jaGVjay1sYWJlbFwiPlxyXG4gKiAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgY2xhc3M9XCJmb3JtLWNoZWNrLWlucHV0XCI+IENoZWNrIG1lIG91dFxyXG4gKiAgICAgICAgIDwvbGFiZWw+XHJcbiAqICAgICA8L2Rpdj5cclxuICogICAgIDxidXR0b24gdHlwZT1cInN1Ym1pdFwiIGNsYXNzPVwiYnV0dG9uXCI+U3VibWl0PC9idXR0b24+XHJcbiAqICAgPC9mb3JtPlxyXG4gKi9cbmlucHV0W3R5cGU9XCJyYWRpb1wiXTpkaXNhYmxlZCxcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpkaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9XG4gIC5mb3JtLWdyb3VwIC5mb3JtLXRleHQge1xuICAgIGNvbG9yOiAjN2M4MDgzOyB9XG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDEycHg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgY29sb3I6ICMyMzIzMjM7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIGJvcmRlcjogI2NjYyAxcHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDFweDsgfVxuICAuZm9ybS1jb250cm9sLmVycm9yIHtcbiAgICBib3JkZXItY29sb3I6ICNENDAwMzM7IH1cbiAgLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjNTU1O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZvcm0tY29udHJvbDpkaXNhYmxlZCwgLmZvcm0tY29udHJvbFtyZWFkb25seV0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZm9ybS1jb250cm9sOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIC5mb3JtLWNvbnRyb2wtZmlsZSwgLmZvcm0tY29udHJvbC1yYW5nZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZvcm0tY2hlY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC43NWVtOyB9XG4gIC5mb3JtLWNoZWNrLmRpc2FibGVkIC5mb3JtLWNoZWNrLWxhYmVsIHtcbiAgICBjb2xvcjogIzdjODA4MztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi8qKlxyXG4gKiBAbW9sZWN1bGUgVGV4dHVhbCBJbnB1dHNcclxuICogQHNlY3Rpb24gRm9ybXNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBBbiBleGFtcGxlIG9mIGFsbCBIVE1MNSBpbnB1dCB0eXBlLlxyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gKiAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlLXRleHQtaW5wdXRcIj5UZXh0PC9sYWJlbD5cclxuICogICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZXhhbXBsZS1UZXh0SW5wdXRcIiB2YWx1ZT1cIjE5NjUgRm9yZCBNdXN0YW5nXCI+XHJcbiAqICA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGUtZW1haWwtaW5wdXRcIj5FbWFpbCBhZGRyZXNzPC9sYWJlbD5cclxuICogICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGUtZW1haWwtaW5wdXRcIiB2YWx1ZT1cInRlc3RAaGFnZXJ0eS5jb21cIj5cclxuICogIDwvZGl2PlxyXG4gKiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZS1zZWFyY2gtaW5wdXRcIj5TZWFyY2g8L2xhYmVsPlxyXG4gKiAgICAgIDxpbnB1dCB0eXBlPVwic2VhcmNoXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGUtc2VhcmNoLWlucHV0XCIgdmFsdWU9XCJIb3cgZG8gSSBidXkgaW5zdXJhbmNlXCI+XHJcbiAqICA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGUtdXJsLWlucHV0XCI+VVJMPC9sYWJlbD5cclxuICogICAgICA8aW5wdXQgdHlwZT1cInVybFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlLXVybC1pbnB1dFwiIHZhbHVlPVwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb21cIj5cclxuICogIDwvZGl2PlxyXG4gKiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZS10ZWwtaW5wdXRcIj5UZWxlcGhvbmU8L2xhYmVsPlxyXG4gKiAgICAgIDxpbnB1dCB0eXBlPVwidGVsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGUtdGVsLWlucHV0XCIgdmFsdWU9XCIoNTU1KS01NTUtNTU1NVwiPlxyXG4gKiAgPC9kaXY+XHJcbiAqICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gKiAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlLXBhc3N3b3JkLWlucHV0XCI+UGFzc3dvcmQ8L2xhYmVsPlxyXG4gKiAgICAgIDxpbnB1dCB0eXBlPVwicGFzc3dvcmRcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZXhhbXBsZS1wYXNzd29yZC1pbnB1dFwiIHZhbHVlPVwiQ2hhZFJvY2tzXCI+XHJcbiAqICA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGUtbnVtYmVyLWlucHV0XCI+TnVtYmVyPC9sYWJlbD5cclxuICogICAgICA8aW5wdXQgdHlwZT1cIm51bWJlclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlLW51bWJlci1pbnB1dFwiIHZhbHVlPVwiNDJcIj5cclxuICogIDwvZGl2PlxyXG4gKiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZS1kYXRldGltZS1sb2NhbC1pbnB1dFwiPkRhdGUgVGltZSBMb2NhbDwvbGFiZWw+XHJcbiAqICAgICAgPGlucHV0IHR5cGU9XCJkYXRldGltZS1sb2NhbFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlLWRhdGV0aW1lLWxvY2FsLWlucHV0XCI+XHJcbiAqICA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGUtZGF0ZS1pbnB1dFwiPkRhdGU8L2xhYmVsPlxyXG4gKiAgICAgIDxpbnB1dCB0eXBlPVwiZGF0ZVwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlLWRhdGUtaW5wdXRcIj5cclxuICogIDwvZGl2PlxyXG4gKiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZS1tb250aC1pbnB1dFwiPk1vbnRoPC9sYWJlbD5cclxuICogICAgICA8aW5wdXQgdHlwZT1cIm1vbnRoXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGUtbW9udGgtaW5wdXRcIj5cclxuICogIDwvZGl2PlxyXG4gKiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXBcIj5cclxuICogICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZS13ZWVrLWlucHV0XCI+V2VlazwvbGFiZWw+XHJcbiAqICAgICAgPGlucHV0IHR5cGU9XCJ3ZWVrXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGUtd2Vlay1pbnB1dFwiPlxyXG4gKiAgPC9kaXY+XHJcbiAqICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cFwiPlxyXG4gKiAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlLXRpbWUtaW5wdXRcIj5UaW1lPC9sYWJlbD5cclxuICogICAgICA8aW5wdXQgdHlwZT1cInRpbWVcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIGlkPVwiZXhhbXBsZS10aW1lLWlucHV0XCI+XHJcbiAqICA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGUtY29sb3ItaW5wdXRcIj5Db2xvcjwvbGFiZWw+XHJcbiAqICAgICAgPGlucHV0IHR5cGU9XCJjb2xvclwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlLWNvbG9yLWlucHV0XCIgdmFsdWU9XCIjMDE3ZGM3XCI+XHJcbiAqICA8L2Rpdj5cclxuICogIDxkaXYgY2xhc3M9XCJmb3JtLWdyb3VwXCI+XHJcbiAqICAgICAgPGxhYmVsIGZvcj1cImV4YW1wbGVyYW5nZWlucHV0XCI+UmFuZ2U8L2xhYmVsPlxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJmb3JtLXJhbmdlXCI+XHJcbiAqICAgICAgICAgIDxpbnB1dCB0eXBlPVwicmFuZ2VcIiBjbGFzcz1cImZvcm0tY29udHJvbFwiIG5hbWU9XCJleGFtcGxlUmFuZ2VJbnB1dFwiIGlkPVwiZXhhbXBsZXJhbmdlaW5wdXRcIiB2YWx1ZT1cIjFcIiBtaW49XCIxXCIgbWF4PVwiMTAwXCIgb25pbnB1dD1cImV4YW1wbGVyYW5nZW91dHB1dC52YWx1ZSA9IGV4YW1wbGVyYW5nZWlucHV0LnZhbHVlXCI+XHJcbiAqICAgICAgICAgIDxvdXRwdXQgbmFtZT1cImV4YW1wbGVSYW5nZUlucHV0XCIgaWQ9XCJleGFtcGxlcmFuZ2VvdXRwdXRcIj4xPC9vdXRwdXQ+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqICA8L2Rpdj5cclxuICovXG5pbnB1dFt0eXBlPVwiY29sb3JcIl0ge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3JtLXJhbmdlIGlucHV0W3R5cGU9XCJyYW5nZVwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDg5JTtcbiAgcGFkZGluZzogMDsgfVxuICAuZm9ybS1yYW5nZSBpbnB1dFt0eXBlPVwicmFuZ2VcIl0gKyBvdXRwdXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogOSU7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIEZsb2F0IExhYmVsIElucHV0c1xyXG4gKiBAc2VjdGlvbiBGb3Jtc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEFuIGV4YW1wbGUgb2YgYW4gaW5wdXQgd2l0aCBhIGZsb2F0ZWQgaW5saW5lIGxhYmVsLlxyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwiZm9ybS1ncm91cCBmbG9hdC1sYWJlbFwiPlxyXG4gKiAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sXCIgaWQ9XCJleGFtcGxlLVRleHRJbnB1dC1mbG9hdC1sYWJlbFwiIHJlcXVpcmVkPlxyXG4gKiAgICAgIDxsYWJlbCBmb3I9XCJleGFtcGxlLVRleHRJbnB1dC1mbG9hdC1sYWJlbFwiPkZsb2F0IExhYmVsPC9sYWJlbD5cclxuICogIDwvZGl2PlxyXG4gKiAgPGRpdiBjbGFzcz1cImZvcm0tZ3JvdXAgZmxvYXQtbGFiZWxcIj5cclxuICogICAgICA8aW5wdXQgdHlwZT1cImVtYWlsXCIgY2xhc3M9XCJmb3JtLWNvbnRyb2xcIiBpZD1cImV4YW1wbGUtZW1haWwtaW5wdXRcIiB2YWx1ZT1cInRlc3RAaGFnZXJ0eS5jb21cIiByZXF1aXJlZD5cclxuICogICAgICA8bGFiZWwgZm9yPVwiZXhhbXBsZS1lbWFpbC1pbnB1dFwiPkVtYWlsIGFkZHJlc3M8L2xhYmVsPlxyXG4gKiAgPC9kaXY+XHJcbiAqL1xuLmZsb2F0LWxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG9hdC1sYWJlbCBsYWJlbCB7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGxlZnQ6IDEycHg7XG4gICAgdG9wOiAxMHB4O1xuICAgIHRyYW5zaXRpb246IDAuMnMgZWFzZSBhbGw7XG4gICAgLW1vei10cmFuc2l0aW9uOiAwLjJzIGVhc2UgYWxsO1xuICAgIC13ZWJraXQtdHJhbnNpdGlvbjogMC4ycyBlYXNlIGFsbDsgfVxuICAuZmxvYXQtbGFiZWwgaW5wdXQ6dmFsaWQgKyBsYWJlbCwgLmZsb2F0LWxhYmVsIGlucHV0OmZvY3VzICsgbGFiZWwge1xuICAgIHRvcDogLTIwcHg7XG4gICAgY29sb3I6ICMwMTdEQzc7IH1cbiAgLmZsb2F0LWxhYmVsIDpub3QoLnJvdy1vZi1pbnB1dHMpICsgLmZsb2F0LWxhYmVsIDpub3QoLnJvdy1vZi1pbnB1dHMpIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4OyB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIDo6IENvbnRhaW5lcnNcclxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIDo6IFBhZ2UgV3JhcFxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuI3BhZ2Utd3JhcCwgLmNvbnRhaW5lciwgLmNvbnN0cmFpbiB7XG4gIG1pbi13aWR0aDogMjBlbTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICA6OiBDb250YWluZXJcclxuICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jb250YWluZXIsIC5jb25zdHJhaW4ge1xuICBtYXJnaW46IDAgYXV0bzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5jb250YWluZXIsIC5jb25zdHJhaW4ge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogOTBlbTsgfSB9XG5cbi8qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAgIDo6IENvbnN0cmFpblxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLmNvbnN0cmFpbiB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICAuY29uc3RyYWluIC5ub24tcmVzcG9uc2l2ZSAuY29uc3RyYWluIHtcbiAgICB3aWR0aDogNjBlbTsgfVxuXG4ud3JhcHBlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1heC13aWR0aDogMTQ0MHB4O1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4uY29udGFpbmVyLWZsdWlkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgLmNvbnRhaW5lci1mbHVpZCAucm93OmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgLmNvbnRhaW5lci1mbHVpZCAucm93OmZpcnN0LWNoaWxkLnN0b3J5LXJ1bm5lci1wb3NpdGlvbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IC01MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEycHg7IH1cbiAgICAuY29udGFpbmVyLWZsdWlkIC5yb3c6Zmlyc3QtY2hpbGQucmVzZXQtdG9wIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIC5jb250YWluZXItZmx1aWQgLnJvdzpmaXJzdC1jaGlsZC5yZXNldC10b3AgLmNvbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuY29udGFpbmVyLWZsdWlkIC5yb3c6Zmlyc3QtY2hpbGQucmVzZXQtYm90dG9tIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jb250YWluZXItZmx1aWQgLnJvdzpmaXJzdC1jaGlsZC5yZXNldC1ib3R0b20gLmNvbCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZ1bGwtYmxlZWQge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mdWxsLWJsZWVkIC5yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnJvdyB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gIGRpc3BsYXk6IC1tb3otZmxleDtcbiAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleDogMCAxIGF1dG87XG4gIC1tb3otYm94LWZsZXg6IDA7XG4gIC1tb3otZmxleDogMCAxIGF1dG87XG4gIC1tcy1mbGV4OiAwIDEgYXV0bztcbiAgZmxleDogMCAxIGF1dG87XG4gIC13ZWJraXQtYm94LWRpcmVjdGlvbjogbm9ybWFsO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IGhvcml6b250YWw7XG4gIC13ZWJraXQtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLW1vei1mbGV4LWRpcmVjdGlvbjogcm93O1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgLXdlYmtpdC1mbGV4LXdyYXA6IHdyYXA7XG4gIC1tb3otZmxleC13cmFwOiB3cmFwO1xuICAtbXMtZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtO1xuICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG5cbi5yb3cucmVzZXQtdG9wIC5jb2wge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi5yb3cucmVzZXQtYm90dG9tIC5jb2wge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5yb3cucmVzZXQtbGVmdCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5yb3cucmVzZXQtbGVmdCA+IC5jb2w6bnRoLWNoaWxkKDEpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnJvdy5yZXNldC1yaWdodCB7XG4gIG1hcmdpbi1yaWdodDogMDsgfVxuICAucm93LnJlc2V0LXJpZ2h0ID4gLmNvbDpudGgtbGFzdC1jaGlsZCgxKSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ucm93LnJldmVyc2Uge1xuICAtd2Via2l0LWJveC1kaXJlY3Rpb246IHJldmVyc2U7XG4gIC13ZWJraXQtYm94LW9yaWVudDogaG9yaXpvbnRhbDtcbiAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gIC1tb3otZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAtbXMtZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cblxuLmNvbC5yZXZlcnNlIHtcbiAgLXdlYmtpdC1ib3gtZGlyZWN0aW9uOiByZXZlcnNlO1xuICAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xuICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgLW1vei1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIC1tcy1mbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTsgfVxuXG4uY29sIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYm94LWZsZXg6IDA7XG4gIC13ZWJraXQtZmxleC1ncm93OiAwO1xuICAtbW96LWZsZXgtZ3JvdzogMDtcbiAgLW1zLWZsZXgtcG9zaXRpdmU6IDA7XG4gIGZsZXgtZ3JvdzogMDtcbiAgLXdlYmtpdC1mbGV4LXNocmluazogMDtcbiAgLW1vei1mbGV4LXNocmluazogMDtcbiAgLW1zLWZsZXgtbmVnYXRpdmU6IDA7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuXG4ueHMge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5jb2wteHMge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDEwMCU7XG4gIC1tb3otZmxleC1iYXNpczogMTAwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc3RhcnQteHMge1xuICAtd2Via2l0LWJveC1wYWNrOiBzdGFydDtcbiAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAtbW96LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBzdGFydDsgfVxuXG4uY2VudGVyLXhzIHtcbiAgLXdlYmtpdC1ib3gtcGFjazogY2VudGVyO1xuICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIC1tb3otanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5lbmQteHMge1xuICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAtbW96LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHRleHQtYWxpZ246IGVuZDsgfVxuXG4udG9wLXhzIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIC1tb3otYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5taWRkbGUteHMge1xuICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAtd2Via2l0LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC1tb3otYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYm90dG9tLXhzIHtcbiAgLXdlYmtpdC1ib3gtYWxpZ246IGVuZDtcbiAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIC1tb3otYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFyb3VuZC14cyB7XG4gIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5iZXR3ZWVuLXhzIHtcbiAgLXdlYmtpdC1ib3gtcGFjazoganVzdGlmeTtcbiAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmZpcnN0LXhzIHtcbiAgb3JkZXI6IC0xOyB9XG5cbi5sYXN0LXhzIHtcbiAgb3JkZXI6IDE7IH1cblxuLnhzLTEtb2YtMiB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogNTAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDUwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDUwJTtcbiAgZmxleC1iYXNpczogNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4ueHMtMS1vZi0zIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzMy4zMzMzMyU7XG4gIC1tb3otZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzMuMzMzMzMlO1xuICBmbGV4LWJhc2lzOiAzMy4zMzMzMyU7XG4gIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi54cy0xLW9mLTQge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDI1JTtcbiAgLW1vei1mbGV4LWJhc2lzOiAyNSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNSU7XG4gIGZsZXgtYmFzaXM6IDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnhzLTEtb2YtNSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMjAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDIwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDIwJTtcbiAgZmxleC1iYXNpczogMjAlO1xuICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4ueHMtMS1vZi02IHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxNi42NjY2NyU7XG4gIC1tb3otZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTYuNjY2NjclO1xuICBmbGV4LWJhc2lzOiAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi54cy0xLW9mLTcge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDE0LjI4NTcxJTtcbiAgLW1vei1mbGV4LWJhc2lzOiAxNC4yODU3MSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNC4yODU3MSU7XG4gIGZsZXgtYmFzaXM6IDE0LjI4NTcxJTtcbiAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cblxuLnhzLTEtb2YtOCB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTIuNSU7XG4gIC1tb3otZmxleC1iYXNpczogMTIuNSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMi41JTtcbiAgZmxleC1iYXNpczogMTIuNSU7XG4gIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnhzLTEtb2YtOSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTEuMTExMTElO1xuICAtbW96LWZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDExLjExMTExJTtcbiAgZmxleC1iYXNpczogMTEuMTExMTElO1xuICBtYXgtd2lkdGg6IDExLjExMTExJTsgfVxuXG4ueHMtMS1vZi0xMCB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMTAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDEwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwJTtcbiAgZmxleC1iYXNpczogMTAlO1xuICBtYXgtd2lkdGg6IDEwJTsgfVxuXG4ueHMtMS1vZi0xMSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogOS4wOTA5MSU7XG4gIC1tb3otZmxleC1iYXNpczogOS4wOTA5MSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5LjA5MDkxJTtcbiAgZmxleC1iYXNpczogOS4wOTA5MSU7XG4gIG1heC13aWR0aDogOS4wOTA5MSU7IH1cblxuLnhzLTEtb2YtMTIge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAtbW96LWZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOC4zMzMzMyU7XG4gIGZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi54cy0yLW9mLTMge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjY2NyU7XG4gIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnhzLTItb2YtNSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogNDAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDQwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQwJTtcbiAgZmxleC1iYXNpczogNDAlO1xuICBtYXgtd2lkdGg6IDQwJTsgfVxuXG4ueHMtMi1vZi03IHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAyOC41NzE0MyU7XG4gIC1tb3otZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjguNTcxNDMlO1xuICBmbGV4LWJhc2lzOiAyOC41NzE0MyU7XG4gIG1heC13aWR0aDogMjguNTcxNDMlOyB9XG5cbi54cy0yLW9mLTkge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDIyLjIyMjIyJTtcbiAgLW1vei1mbGV4LWJhc2lzOiAyMi4yMjIyMiU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMi4yMjIyMiU7XG4gIGZsZXgtYmFzaXM6IDIyLjIyMjIyJTtcbiAgbWF4LXdpZHRoOiAyMi4yMjIyMiU7IH1cblxuLnhzLTItb2YtMTEge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgLW1vei1mbGV4LWJhc2lzOiAxOC4xODE4MiU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxOC4xODE4MiU7XG4gIGZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgbWF4LXdpZHRoOiAxOC4xODE4MiU7IH1cblxuLnhzLTMtb2YtNCB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogNzUlO1xuICAtbW96LWZsZXgtYmFzaXM6IDc1JTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDc1JTtcbiAgZmxleC1iYXNpczogNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4ueHMtMy1vZi01IHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2MCU7XG4gIC1tb3otZmxleC1iYXNpczogNjAlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjAlO1xuICBmbGV4LWJhc2lzOiA2MCU7XG4gIG1heC13aWR0aDogNjAlOyB9XG5cbi54cy0zLW9mLTcge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA0Mi44NTcxNCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0Mi44NTcxNCU7XG4gIGZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgbWF4LXdpZHRoOiA0Mi44NTcxNCU7IH1cblxuLnhzLTMtb2YtOCB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogMzcuNSU7XG4gIC1tb3otZmxleC1iYXNpczogMzcuNSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzNy41JTtcbiAgZmxleC1iYXNpczogMzcuNSU7XG4gIG1heC13aWR0aDogMzcuNSU7IH1cblxuLnhzLTMtb2YtMTAge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDMwJTtcbiAgLW1vei1mbGV4LWJhc2lzOiAzMCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMCU7XG4gIGZsZXgtYmFzaXM6IDMwJTtcbiAgbWF4LXdpZHRoOiAzMCU7IH1cblxuLnhzLTMtb2YtMTEge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgLW1vei1mbGV4LWJhc2lzOiAyNy4yNzI3MyU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNy4yNzI3MyU7XG4gIGZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgbWF4LXdpZHRoOiAyNy4yNzI3MyU7IH1cblxuLnhzLTQtb2YtNSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogODAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDgwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgwJTtcbiAgZmxleC1iYXNpczogODAlO1xuICBtYXgtd2lkdGg6IDgwJTsgfVxuXG4ueHMtNC1vZi03IHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiA1Ny4xNDI4NiU7XG4gIC1tb3otZmxleC1iYXNpczogNTcuMTQyODYlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTcuMTQyODYlO1xuICBmbGV4LWJhc2lzOiA1Ny4xNDI4NiU7XG4gIG1heC13aWR0aDogNTcuMTQyODYlOyB9XG5cbi54cy00LW9mLTkge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA0NC40NDQ0NCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0NC40NDQ0NCU7XG4gIGZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgbWF4LXdpZHRoOiA0NC40NDQ0NCU7IH1cblxuLnhzLTQtb2YtMTEge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDM2LjM2MzY0JTtcbiAgLW1vei1mbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzNi4zNjM2NCU7XG4gIGZsZXgtYmFzaXM6IDM2LjM2MzY0JTtcbiAgbWF4LXdpZHRoOiAzNi4zNjM2NCU7IH1cblxuLnhzLTUtb2YtNiB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAtbW96LWZsZXgtYmFzaXM6IDgzLjMzMzMzJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgzLjMzMzMzJTtcbiAgZmxleC1iYXNpczogODMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4ueHMtNS1vZi03IHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gIC1tb3otZmxleC1iYXNpczogNzEuNDI4NTclO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzEuNDI4NTclO1xuICBmbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gIG1heC13aWR0aDogNzEuNDI4NTclOyB9XG5cbi54cy01LW9mLTgge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDYyLjUlO1xuICAtbW96LWZsZXgtYmFzaXM6IDYyLjUlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjIuNSU7XG4gIGZsZXgtYmFzaXM6IDYyLjUlO1xuICBtYXgtd2lkdGg6IDYyLjUlOyB9XG5cbi54cy01LW9mLTkge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDU1LjU1NTU2JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA1NS41NTU1NiU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1NS41NTU1NiU7XG4gIGZsZXgtYmFzaXM6IDU1LjU1NTU2JTtcbiAgbWF4LXdpZHRoOiA1NS41NTU1NiU7IH1cblxuLnhzLTUtb2YtMTEge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA0NS40NTQ1NSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0NS40NTQ1NSU7XG4gIGZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgbWF4LXdpZHRoOiA0NS40NTQ1NSU7IH1cblxuLnhzLTUtb2YtMTIge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0MS42NjY2NyU7XG4gIGZsZXgtYmFzaXM6IDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnhzLTYtb2YtNyB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogODUuNzE0MjklO1xuICAtbW96LWZsZXgtYmFzaXM6IDg1LjcxNDI5JTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg1LjcxNDI5JTtcbiAgZmxleC1iYXNpczogODUuNzE0MjklO1xuICBtYXgtd2lkdGg6IDg1LjcxNDI5JTsgfVxuXG4ueHMtNi1vZi05IHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gIC1tb3otZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjYuNjY2NjclO1xuICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi54cy02LW9mLTExIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiA1NC41NDU0NSU7XG4gIC1tb3otZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTQuNTQ1NDUlO1xuICBmbGV4LWJhc2lzOiA1NC41NDU0NSU7XG4gIG1heC13aWR0aDogNTQuNTQ1NDUlOyB9XG5cbi54cy03LW9mLTgge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDg3LjUlO1xuICAtbW96LWZsZXgtYmFzaXM6IDg3LjUlO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODcuNSU7XG4gIGZsZXgtYmFzaXM6IDg3LjUlO1xuICBtYXgtd2lkdGg6IDg3LjUlOyB9XG5cbi54cy03LW9mLTkge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA3Ny43Nzc3OCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA3Ny43Nzc3OCU7XG4gIGZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgbWF4LXdpZHRoOiA3Ny43Nzc3OCU7IH1cblxuLnhzLTctb2YtMTAge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDcwJTtcbiAgLW1vei1mbGV4LWJhc2lzOiA3MCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA3MCU7XG4gIGZsZXgtYmFzaXM6IDcwJTtcbiAgbWF4LXdpZHRoOiA3MCU7IH1cblxuLnhzLTctb2YtMTEge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDYzLjYzNjM2JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA2My42MzYzNiU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2My42MzYzNiU7XG4gIGZsZXgtYmFzaXM6IDYzLjYzNjM2JTtcbiAgbWF4LXdpZHRoOiA2My42MzYzNiU7IH1cblxuLnhzLTctb2YtMTIge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgLW1vei1mbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1OC4zMzMzMyU7XG4gIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnhzLTgtb2YtOSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogODguODg4ODklO1xuICAtbW96LWZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg4Ljg4ODg5JTtcbiAgZmxleC1iYXNpczogODguODg4ODklO1xuICBtYXgtd2lkdGg6IDg4Ljg4ODg5JTsgfVxuXG4ueHMtOC1vZi0xMSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogNzIuNzI3MjclO1xuICAtbW96LWZsZXgtYmFzaXM6IDcyLjcyNzI3JTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcyLjcyNzI3JTtcbiAgZmxleC1iYXNpczogNzIuNzI3MjclO1xuICBtYXgtd2lkdGg6IDcyLjcyNzI3JTsgfVxuXG4ueHMtOS1vZi0xMCB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogOTAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDkwJTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDkwJTtcbiAgZmxleC1iYXNpczogOTAlO1xuICBtYXgtd2lkdGg6IDkwJTsgfVxuXG4ueHMtOS1vZi0xMSB7XG4gIC13ZWJraXQtZmxleC1iYXNpczogODEuODE4MTglO1xuICAtbW96LWZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgxLjgxODE4JTtcbiAgZmxleC1iYXNpczogODEuODE4MTglO1xuICBtYXgtd2lkdGg6IDgxLjgxODE4JTsgfVxuXG4ueHMtMTAtb2YtMTEge1xuICAtd2Via2l0LWZsZXgtYmFzaXM6IDkwLjkwOTA5JTtcbiAgLW1vei1mbGV4LWJhc2lzOiA5MC45MDkwOSU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MC45MDkwOSU7XG4gIGZsZXgtYmFzaXM6IDkwLjkwOTA5JTtcbiAgbWF4LXdpZHRoOiA5MC45MDkwOSU7IH1cblxuLnhzLTExLW9mLTExIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlO1xuICAtbW96LWZsZXgtYmFzaXM6IDEwMCU7XG4gIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMDAlO1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnhzLTExLW9mLTEyIHtcbiAgLXdlYmtpdC1mbGV4LWJhc2lzOiA5MS42NjY2NyU7XG4gIC1tb3otZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOTEuNjY2NjclO1xuICBmbGV4LWJhc2lzOiA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuY29udGFpbmVyLWZsdWlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAuY29sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5zbSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMTAwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5zdGFydC1zbSB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0OyB9XG4gIC5jZW50ZXItc20ge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5lbmQtc20ge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGVuZDsgfVxuICAudG9wLXNtIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLW1vei1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAubWlkZGxlLXNtIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC1tb3otYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5ib3R0b20tc20ge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAtbW96LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmFyb3VuZC1zbSB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmJldHdlZW4tc20ge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmZpcnN0LXNtIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmxhc3Qtc20ge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zbS0xLW9mLTIge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNTAlO1xuICAgIC1tb3otZmxleC1iYXNpczogNTAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1MCU7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5zbS0xLW9mLTMge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMy4zMzMzMyU7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbS0xLW9mLTQge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjUlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNSU7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5zbS0xLW9mLTUge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMCU7XG4gICAgZmxleC1iYXNpczogMjAlO1xuICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5zbS0xLW9mLTYge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNi42NjY2NyU7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbS0xLW9mLTcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzElO1xuICAgIC1tb3otZmxleC1iYXNpczogMTQuMjg1NzElO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNC4yODU3MSU7XG4gICAgZmxleC1iYXNpczogMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5zbS0xLW9mLTgge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTIuNSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAxMi41JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTIuNSU7XG4gICAgZmxleC1iYXNpczogMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAuc20tMS1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTEuMTExMTElO1xuICAgIGZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgICBtYXgtd2lkdGg6IDExLjExMTExJTsgfVxuICAuc20tMS1vZi0xMCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAxMCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwJTtcbiAgICBmbGV4LWJhc2lzOiAxMCU7XG4gICAgbWF4LXdpZHRoOiAxMCU7IH1cbiAgLnNtLTEtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOS4wOTA5MSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA5LjA5MDkxJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOS4wOTA5MSU7XG4gICAgZmxleC1iYXNpczogOS4wOTA5MSU7XG4gICAgbWF4LXdpZHRoOiA5LjA5MDkxJTsgfVxuICAuc20tMS1vZi0xMiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4LjMzMzMzJTtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5zbS0yLW9mLTMge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjY2NyU7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5zbS0yLW9mLTUge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNDAlO1xuICAgIC1tb3otZmxleC1iYXNpczogNDAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0MCU7XG4gICAgZmxleC1iYXNpczogNDAlO1xuICAgIG1heC13aWR0aDogNDAlOyB9XG4gIC5zbS0yLW9mLTcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyOC41NzE0MyU7XG4gICAgZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAgIG1heC13aWR0aDogMjguNTcxNDMlOyB9XG4gIC5zbS0yLW9mLTkge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjIuMjIyMjIlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjIuMjIyMjIlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMi4yMjIyMiU7XG4gICAgZmxleC1iYXNpczogMjIuMjIyMjIlO1xuICAgIG1heC13aWR0aDogMjIuMjIyMjIlOyB9XG4gIC5zbS0yLW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTguMTgxODIlO1xuICAgIGZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgICBtYXgtd2lkdGg6IDE4LjE4MTgyJTsgfVxuICAuc20tMy1vZi00IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDc1JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDc1JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzUlO1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuc20tMy1vZi01IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDYwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDYwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjAlO1xuICAgIGZsZXgtYmFzaXM6IDYwJTtcbiAgICBtYXgtd2lkdGg6IDYwJTsgfVxuICAuc20tMy1vZi03IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDIuODU3MTQlO1xuICAgIGZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgICBtYXgtd2lkdGg6IDQyLjg1NzE0JTsgfVxuICAuc20tMy1vZi04IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDM3LjUlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzcuNSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDM3LjUlO1xuICAgIGZsZXgtYmFzaXM6IDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLnNtLTMtb2YtMTAge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMzAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMCU7XG4gICAgZmxleC1iYXNpczogMzAlO1xuICAgIG1heC13aWR0aDogMzAlOyB9XG4gIC5zbS0zLW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjcuMjcyNzMlO1xuICAgIGZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgICBtYXgtd2lkdGg6IDI3LjI3MjczJTsgfVxuICAuc20tNC1vZi01IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDgwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDgwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODAlO1xuICAgIGZsZXgtYmFzaXM6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDgwJTsgfVxuICAuc20tNC1vZi03IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDU3LjE0Mjg2JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDU3LjE0Mjg2JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTcuMTQyODYlO1xuICAgIGZsZXgtYmFzaXM6IDU3LjE0Mjg2JTtcbiAgICBtYXgtd2lkdGg6IDU3LjE0Mjg2JTsgfVxuICAuc20tNC1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDQuNDQ0NDQlO1xuICAgIGZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgICBtYXgtd2lkdGg6IDQ0LjQ0NDQ0JTsgfVxuICAuc20tNC1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDM2LjM2MzY0JTtcbiAgICBmbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gICAgbWF4LXdpZHRoOiAzNi4zNjM2NCU7IH1cbiAgLnNtLTUtb2YtNiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgzLjMzMzMzJTtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnNtLTUtb2YtNyB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcxLjQyODU3JTtcbiAgICBmbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gICAgbWF4LXdpZHRoOiA3MS40Mjg1NyU7IH1cbiAgLnNtLTUtb2YtOCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2Mi41JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDYyLjUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Mi41JTtcbiAgICBmbGV4LWJhc2lzOiA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC5zbS01LW9mLTkge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNTUuNTU1NTYlO1xuICAgIC1tb3otZmxleC1iYXNpczogNTUuNTU1NTYlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1NS41NTU1NiU7XG4gICAgZmxleC1iYXNpczogNTUuNTU1NTYlO1xuICAgIG1heC13aWR0aDogNTUuNTU1NTYlOyB9XG4gIC5zbS01LW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDUuNDU0NTUlO1xuICAgIGZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgICBtYXgtd2lkdGg6IDQ1LjQ1NDU1JTsgfVxuICAuc20tNS1vZi0xMiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQxLjY2NjY3JTtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnNtLTYtb2YtNyB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4NS43MTQyOSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4NS43MTQyOSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg1LjcxNDI5JTtcbiAgICBmbGV4LWJhc2lzOiA4NS43MTQyOSU7XG4gICAgbWF4LXdpZHRoOiA4NS43MTQyOSU7IH1cbiAgLnNtLTYtb2YtOSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDY2LjY2NjY3JTtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtLTYtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAgIC1tb3otZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1NC41NDU0NSU7XG4gICAgZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAgIG1heC13aWR0aDogNTQuNTQ1NDUlOyB9XG4gIC5zbS03LW9mLTgge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogODcuNSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4Ny41JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODcuNSU7XG4gICAgZmxleC1iYXNpczogODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAuc20tNy1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzcuNzc3NzglO1xuICAgIGZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgICBtYXgtd2lkdGg6IDc3Ljc3Nzc4JTsgfVxuICAuc20tNy1vZi0xMCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3MCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3MCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcwJTtcbiAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgbWF4LXdpZHRoOiA3MCU7IH1cbiAgLnNtLTctb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNjMuNjM2MzYlO1xuICAgIC1tb3otZmxleC1iYXNpczogNjMuNjM2MzYlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2My42MzYzNiU7XG4gICAgZmxleC1iYXNpczogNjMuNjM2MzYlO1xuICAgIG1heC13aWR0aDogNjMuNjM2MzYlOyB9XG4gIC5zbS03LW9mLTEyIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTguMzMzMzMlO1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc20tOC1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODguODg4ODklO1xuICAgIGZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgICBtYXgtd2lkdGg6IDg4Ljg4ODg5JTsgfVxuICAuc20tOC1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3Mi43MjcyNyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3Mi43MjcyNyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcyLjcyNzI3JTtcbiAgICBmbGV4LWJhc2lzOiA3Mi43MjcyNyU7XG4gICAgbWF4LXdpZHRoOiA3Mi43MjcyNyU7IH1cbiAgLnNtLTktb2YtMTAge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOTAlO1xuICAgIC1tb3otZmxleC1iYXNpczogOTAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MCU7XG4gICAgZmxleC1iYXNpczogOTAlO1xuICAgIG1heC13aWR0aDogOTAlOyB9XG4gIC5zbS05LW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODEuODE4MTglO1xuICAgIGZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgICBtYXgtd2lkdGg6IDgxLjgxODE4JTsgfVxuICAuc20tMTAtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOTAuOTA5MDklO1xuICAgIC1tb3otZmxleC1iYXNpczogOTAuOTA5MDklO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MC45MDkwOSU7XG4gICAgZmxleC1iYXNpczogOTAuOTA5MDklO1xuICAgIG1heC13aWR0aDogOTAuOTA5MDklOyB9XG4gIC5zbS0xMS1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMTAwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc20tMTEtb2YtMTIge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MS42NjY2NyU7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgLmNvbCB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMTAwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5zdGFydC1tZCB7XG4gICAgLXdlYmtpdC1ib3gtcGFjazogc3RhcnQ7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0OyB9XG4gIC5jZW50ZXItbWQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGNlbnRlcjtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5lbmQtbWQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGVuZDtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGVuZDsgfVxuICAudG9wLW1kIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogc3RhcnQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgLW1vei1hbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAubWlkZGxlLW1kIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogY2VudGVyO1xuICAgIC1tcy1mbGV4LWFsaWduOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC1tb3otYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5ib3R0b20tbWQge1xuICAgIC13ZWJraXQtYm94LWFsaWduOiBlbmQ7XG4gICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAtbW96LWFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgLmFyb3VuZC1tZCB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgLmJldHdlZW4tbWQge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IGp1c3RpZnk7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmZpcnN0LW1kIHtcbiAgICBvcmRlcjogLTE7IH1cbiAgLmxhc3QtbWQge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZC0xLW9mLTIge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNTAlO1xuICAgIC1tb3otZmxleC1iYXNpczogNTAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1MCU7XG4gICAgZmxleC1iYXNpczogNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZC0xLW9mLTMge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMy4zMzMzMyU7XG4gICAgZmxleC1iYXNpczogMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZC0xLW9mLTQge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjUlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyNSU7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZC0xLW9mLTUge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMCU7XG4gICAgZmxleC1iYXNpczogMjAlO1xuICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZC0xLW9mLTYge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNi42NjY2NyU7XG4gICAgZmxleC1iYXNpczogMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZC0xLW9mLTcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTQuMjg1NzElO1xuICAgIC1tb3otZmxleC1iYXNpczogMTQuMjg1NzElO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxNC4yODU3MSU7XG4gICAgZmxleC1iYXNpczogMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZC0xLW9mLTgge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTIuNSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAxMi41JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTIuNSU7XG4gICAgZmxleC1iYXNpczogMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAubWQtMS1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTEuMTExMTElO1xuICAgIGZsZXgtYmFzaXM6IDExLjExMTExJTtcbiAgICBtYXgtd2lkdGg6IDExLjExMTExJTsgfVxuICAubWQtMS1vZi0xMCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAxMCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwJTtcbiAgICBmbGV4LWJhc2lzOiAxMCU7XG4gICAgbWF4LXdpZHRoOiAxMCU7IH1cbiAgLm1kLTEtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOS4wOTA5MSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA5LjA5MDkxJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOS4wOTA5MSU7XG4gICAgZmxleC1iYXNpczogOS4wOTA5MSU7XG4gICAgbWF4LXdpZHRoOiA5LjA5MDkxJTsgfVxuICAubWQtMS1vZi0xMiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDguMzMzMzMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4LjMzMzMzJTtcbiAgICBmbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZC0yLW9mLTMge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjY2NyU7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZC0yLW9mLTUge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNDAlO1xuICAgIC1tb3otZmxleC1iYXNpczogNDAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0MCU7XG4gICAgZmxleC1iYXNpczogNDAlO1xuICAgIG1heC13aWR0aDogNDAlOyB9XG4gIC5tZC0yLW9mLTcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyOC41NzE0MyU7XG4gICAgZmxleC1iYXNpczogMjguNTcxNDMlO1xuICAgIG1heC13aWR0aDogMjguNTcxNDMlOyB9XG4gIC5tZC0yLW9mLTkge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMjIuMjIyMjIlO1xuICAgIC1tb3otZmxleC1iYXNpczogMjIuMjIyMjIlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAyMi4yMjIyMiU7XG4gICAgZmxleC1iYXNpczogMjIuMjIyMjIlO1xuICAgIG1heC13aWR0aDogMjIuMjIyMjIlOyB9XG4gIC5tZC0yLW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTguMTgxODIlO1xuICAgIGZsZXgtYmFzaXM6IDE4LjE4MTgyJTtcbiAgICBtYXgtd2lkdGg6IDE4LjE4MTgyJTsgfVxuICAubWQtMy1vZi00IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDc1JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDc1JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzUlO1xuICAgIGZsZXgtYmFzaXM6IDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWQtMy1vZi01IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDYwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDYwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjAlO1xuICAgIGZsZXgtYmFzaXM6IDYwJTtcbiAgICBtYXgtd2lkdGg6IDYwJTsgfVxuICAubWQtMy1vZi03IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDIuODU3MTQlO1xuICAgIGZsZXgtYmFzaXM6IDQyLjg1NzE0JTtcbiAgICBtYXgtd2lkdGg6IDQyLjg1NzE0JTsgfVxuICAubWQtMy1vZi04IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDM3LjUlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzcuNSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDM3LjUlO1xuICAgIGZsZXgtYmFzaXM6IDM3LjUlO1xuICAgIG1heC13aWR0aDogMzcuNSU7IH1cbiAgLm1kLTMtb2YtMTAge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMzAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzMCU7XG4gICAgZmxleC1iYXNpczogMzAlO1xuICAgIG1heC13aWR0aDogMzAlOyB9XG4gIC5tZC0zLW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjcuMjcyNzMlO1xuICAgIGZsZXgtYmFzaXM6IDI3LjI3MjczJTtcbiAgICBtYXgtd2lkdGg6IDI3LjI3MjczJTsgfVxuICAubWQtNC1vZi01IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDgwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDgwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODAlO1xuICAgIGZsZXgtYmFzaXM6IDgwJTtcbiAgICBtYXgtd2lkdGg6IDgwJTsgfVxuICAubWQtNC1vZi03IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDU3LjE0Mjg2JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDU3LjE0Mjg2JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTcuMTQyODYlO1xuICAgIGZsZXgtYmFzaXM6IDU3LjE0Mjg2JTtcbiAgICBtYXgtd2lkdGg6IDU3LjE0Mjg2JTsgfVxuICAubWQtNC1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDQuNDQ0NDQlO1xuICAgIGZsZXgtYmFzaXM6IDQ0LjQ0NDQ0JTtcbiAgICBtYXgtd2lkdGg6IDQ0LjQ0NDQ0JTsgfVxuICAubWQtNC1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDM2LjM2MzY0JTtcbiAgICBmbGV4LWJhc2lzOiAzNi4zNjM2NCU7XG4gICAgbWF4LXdpZHRoOiAzNi4zNjM2NCU7IH1cbiAgLm1kLTUtb2YtNiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgzLjMzMzMzJTtcbiAgICBmbGV4LWJhc2lzOiA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1kLTUtb2YtNyB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcxLjQyODU3JTtcbiAgICBmbGV4LWJhc2lzOiA3MS40Mjg1NyU7XG4gICAgbWF4LXdpZHRoOiA3MS40Mjg1NyU7IH1cbiAgLm1kLTUtb2YtOCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2Mi41JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDYyLjUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Mi41JTtcbiAgICBmbGV4LWJhc2lzOiA2Mi41JTtcbiAgICBtYXgtd2lkdGg6IDYyLjUlOyB9XG4gIC5tZC01LW9mLTkge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNTUuNTU1NTYlO1xuICAgIC1tb3otZmxleC1iYXNpczogNTUuNTU1NTYlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1NS41NTU1NiU7XG4gICAgZmxleC1iYXNpczogNTUuNTU1NTYlO1xuICAgIG1heC13aWR0aDogNTUuNTU1NTYlOyB9XG4gIC5tZC01LW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDUuNDU0NTUlO1xuICAgIGZsZXgtYmFzaXM6IDQ1LjQ1NDU1JTtcbiAgICBtYXgtd2lkdGg6IDQ1LjQ1NDU1JTsgfVxuICAubWQtNS1vZi0xMiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQxLjY2NjY3JTtcbiAgICBmbGV4LWJhc2lzOiA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1kLTYtb2YtNyB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4NS43MTQyOSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4NS43MTQyOSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg1LjcxNDI5JTtcbiAgICBmbGV4LWJhc2lzOiA4NS43MTQyOSU7XG4gICAgbWF4LXdpZHRoOiA4NS43MTQyOSU7IH1cbiAgLm1kLTYtb2YtOSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDY2LjY2NjY3JTtcbiAgICBmbGV4LWJhc2lzOiA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1kLTYtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAgIC1tb3otZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA1NC41NDU0NSU7XG4gICAgZmxleC1iYXNpczogNTQuNTQ1NDUlO1xuICAgIG1heC13aWR0aDogNTQuNTQ1NDUlOyB9XG4gIC5tZC03LW9mLTgge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogODcuNSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4Ny41JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODcuNSU7XG4gICAgZmxleC1iYXNpczogODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAubWQtNy1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNzcuNzc3NzglO1xuICAgIGZsZXgtYmFzaXM6IDc3Ljc3Nzc4JTtcbiAgICBtYXgtd2lkdGg6IDc3Ljc3Nzc4JTsgfVxuICAubWQtNy1vZi0xMCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3MCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3MCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcwJTtcbiAgICBmbGV4LWJhc2lzOiA3MCU7XG4gICAgbWF4LXdpZHRoOiA3MCU7IH1cbiAgLm1kLTctb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNjMuNjM2MzYlO1xuICAgIC1tb3otZmxleC1iYXNpczogNjMuNjM2MzYlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2My42MzYzNiU7XG4gICAgZmxleC1iYXNpczogNjMuNjM2MzYlO1xuICAgIG1heC13aWR0aDogNjMuNjM2MzYlOyB9XG4gIC5tZC03LW9mLTEyIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTguMzMzMzMlO1xuICAgIGZsZXgtYmFzaXM6IDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWQtOC1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODguODg4ODklO1xuICAgIGZsZXgtYmFzaXM6IDg4Ljg4ODg5JTtcbiAgICBtYXgtd2lkdGg6IDg4Ljg4ODg5JTsgfVxuICAubWQtOC1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3Mi43MjcyNyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3Mi43MjcyNyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDcyLjcyNzI3JTtcbiAgICBmbGV4LWJhc2lzOiA3Mi43MjcyNyU7XG4gICAgbWF4LXdpZHRoOiA3Mi43MjcyNyU7IH1cbiAgLm1kLTktb2YtMTAge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOTAlO1xuICAgIC1tb3otZmxleC1iYXNpczogOTAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MCU7XG4gICAgZmxleC1iYXNpczogOTAlO1xuICAgIG1heC13aWR0aDogOTAlOyB9XG4gIC5tZC05LW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogODEuODE4MTglO1xuICAgIGZsZXgtYmFzaXM6IDgxLjgxODE4JTtcbiAgICBtYXgtd2lkdGg6IDgxLjgxODE4JTsgfVxuICAubWQtMTAtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOTAuOTA5MDklO1xuICAgIC1tb3otZmxleC1iYXNpczogOTAuOTA5MDklO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MC45MDkwOSU7XG4gICAgZmxleC1iYXNpczogOTAuOTA5MDklO1xuICAgIG1heC13aWR0aDogOTAuOTA5MDklOyB9XG4gIC5tZC0xMS1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMDAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMTAwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTAwJTtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWQtMTEtb2YtMTIge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA5MS42NjY2NyU7XG4gICAgZmxleC1iYXNpczogOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MGVtKSB7XG4gIC5jb250YWluZXItZmx1aWQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuICAuY29sIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAubGcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTAwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDEwMCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuc3RhcnQtbGcge1xuICAgIC13ZWJraXQtYm94LXBhY2s6IHN0YXJ0O1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIC1tb3otanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDsgfVxuICAuY2VudGVyLWxnIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBjZW50ZXI7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZW5kLWxnIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBlbmQ7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiBlbmQ7IH1cbiAgLnRvcC1sZyB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IHN0YXJ0O1xuICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIC1tb3otYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLm1pZGRsZS1sZyB7XG4gICAgLXdlYmtpdC1ib3gtYWxpZ246IGNlbnRlcjtcbiAgICAtbXMtZmxleC1hbGlnbjogY2VudGVyO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAtbW96LWFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuYm90dG9tLWxnIHtcbiAgICAtd2Via2l0LWJveC1hbGlnbjogZW5kO1xuICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgLW1vei1hbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG4gIC5hcm91bmQtbGcge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAtbW96LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG4gIC5iZXR3ZWVuLWxnIHtcbiAgICAtd2Via2l0LWJveC1wYWNrOiBqdXN0aWZ5O1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgLW1vei1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5maXJzdC1sZyB7XG4gICAgb3JkZXI6IC0xOyB9XG4gIC5sYXN0LWxnIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGctMS1vZi0yIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDUwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDUwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTAlO1xuICAgIGZsZXgtYmFzaXM6IDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGctMS1vZi0zIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDMzLjMzMzMzJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDMzLjMzMzMzJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzMuMzMzMzMlO1xuICAgIGZsZXgtYmFzaXM6IDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGctMS1vZi00IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDI1JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDI1JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjUlO1xuICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGctMS1vZi01IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDIwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDIwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjAlO1xuICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubGctMS1vZi02IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTYuNjY2NjclO1xuICAgIGZsZXgtYmFzaXM6IDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGctMS1vZi03IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDE0LjI4NTcxJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDE0LjI4NTcxJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMTQuMjg1NzElO1xuICAgIGZsZXgtYmFzaXM6IDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubGctMS1vZi04IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDEyLjUlO1xuICAgIC1tb3otZmxleC1iYXNpczogMTIuNSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEyLjUlO1xuICAgIGZsZXgtYmFzaXM6IDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLmxnLTEtb2YtOSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxMS4xMTExMSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAxMS4xMTExMSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDExLjExMTExJTtcbiAgICBmbGV4LWJhc2lzOiAxMS4xMTExMSU7XG4gICAgbWF4LXdpZHRoOiAxMS4xMTExMSU7IH1cbiAgLmxnLTEtb2YtMTAge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTAlO1xuICAgIC1tb3otZmxleC1iYXNpczogMTAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAxMCU7XG4gICAgZmxleC1iYXNpczogMTAlO1xuICAgIG1heC13aWR0aDogMTAlOyB9XG4gIC5sZy0xLW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDkuMDkwOTElO1xuICAgIC1tb3otZmxleC1iYXNpczogOS4wOTA5MSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDkuMDkwOTElO1xuICAgIGZsZXgtYmFzaXM6IDkuMDkwOTElO1xuICAgIG1heC13aWR0aDogOS4wOTA5MSU7IH1cbiAgLmxnLTEtb2YtMTIge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogOC4zMzMzMyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4LjMzMzMzJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOC4zMzMzMyU7XG4gICAgZmxleC1iYXNpczogOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGctMi1vZi0zIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjYuNjY2NjclO1xuICAgIGZsZXgtYmFzaXM6IDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGctMi1vZi01IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDQwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDQwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNDAlO1xuICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICBtYXgtd2lkdGg6IDQwJTsgfVxuICAubGctMi1vZi03IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDI4LjU3MTQzJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDI4LjU3MTQzJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjguNTcxNDMlO1xuICAgIGZsZXgtYmFzaXM6IDI4LjU3MTQzJTtcbiAgICBtYXgtd2lkdGg6IDI4LjU3MTQzJTsgfVxuICAubGctMi1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDIyLjIyMjIyJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDIyLjIyMjIyJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMjIuMjIyMjIlO1xuICAgIGZsZXgtYmFzaXM6IDIyLjIyMjIyJTtcbiAgICBtYXgtd2lkdGg6IDIyLjIyMjIyJTsgfVxuICAubGctMi1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAxOC4xODE4MiU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAxOC4xODE4MiU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDE4LjE4MTgyJTtcbiAgICBmbGV4LWJhc2lzOiAxOC4xODE4MiU7XG4gICAgbWF4LXdpZHRoOiAxOC4xODE4MiU7IH1cbiAgLmxnLTMtb2YtNCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3NSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3NSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDc1JTtcbiAgICBmbGV4LWJhc2lzOiA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxnLTMtb2YtNSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA2MCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA2MCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDYwJTtcbiAgICBmbGV4LWJhc2lzOiA2MCU7XG4gICAgbWF4LXdpZHRoOiA2MCU7IH1cbiAgLmxnLTMtb2YtNyB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA0Mi44NTcxNCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA0Mi44NTcxNCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQyLjg1NzE0JTtcbiAgICBmbGV4LWJhc2lzOiA0Mi44NTcxNCU7XG4gICAgbWF4LXdpZHRoOiA0Mi44NTcxNCU7IH1cbiAgLmxnLTMtb2YtOCB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAzNy41JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDM3LjUlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzNy41JTtcbiAgICBmbGV4LWJhc2lzOiAzNy41JTtcbiAgICBtYXgtd2lkdGg6IDM3LjUlOyB9XG4gIC5sZy0zLW9mLTEwIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDMwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDMwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogMzAlO1xuICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICBtYXgtd2lkdGg6IDMwJTsgfVxuICAubGctMy1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAyNy4yNzI3MyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiAyNy4yNzI3MyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDI3LjI3MjczJTtcbiAgICBmbGV4LWJhc2lzOiAyNy4yNzI3MyU7XG4gICAgbWF4LXdpZHRoOiAyNy4yNzI3MyU7IH1cbiAgLmxnLTQtb2YtNSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4MCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4MCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgwJTtcbiAgICBmbGV4LWJhc2lzOiA4MCU7XG4gICAgbWF4LXdpZHRoOiA4MCU7IH1cbiAgLmxnLTQtb2YtNyB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA1Ny4xNDI4NiU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA1Ny4xNDI4NiU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDU3LjE0Mjg2JTtcbiAgICBmbGV4LWJhc2lzOiA1Ny4xNDI4NiU7XG4gICAgbWF4LXdpZHRoOiA1Ny4xNDI4NiU7IH1cbiAgLmxnLTQtb2YtOSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA0NC40NDQ0NCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA0NC40NDQ0NCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQ0LjQ0NDQ0JTtcbiAgICBmbGV4LWJhc2lzOiA0NC40NDQ0NCU7XG4gICAgbWF4LXdpZHRoOiA0NC40NDQ0NCU7IH1cbiAgLmxnLTQtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMzYuMzYzNjQlO1xuICAgIC1tb3otZmxleC1iYXNpczogMzYuMzYzNjQlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAzNi4zNjM2NCU7XG4gICAgZmxleC1iYXNpczogMzYuMzYzNjQlO1xuICAgIG1heC13aWR0aDogMzYuMzYzNjQlOyB9XG4gIC5sZy01LW9mLTYge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIC1tb3otZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4My4zMzMzMyU7XG4gICAgZmxleC1iYXNpczogODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sZy01LW9mLTcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNzEuNDI4NTclO1xuICAgIC1tb3otZmxleC1iYXNpczogNzEuNDI4NTclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA3MS40Mjg1NyU7XG4gICAgZmxleC1iYXNpczogNzEuNDI4NTclO1xuICAgIG1heC13aWR0aDogNzEuNDI4NTclOyB9XG4gIC5sZy01LW9mLTgge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNjIuNSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA2Mi41JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjIuNSU7XG4gICAgZmxleC1iYXNpczogNjIuNSU7XG4gICAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuICAubGctNS1vZi05IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDU1LjU1NTU2JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDU1LjU1NTU2JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTUuNTU1NTYlO1xuICAgIGZsZXgtYmFzaXM6IDU1LjU1NTU2JTtcbiAgICBtYXgtd2lkdGg6IDU1LjU1NTU2JTsgfVxuICAubGctNS1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA0NS40NTQ1NSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA0NS40NTQ1NSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDQ1LjQ1NDU1JTtcbiAgICBmbGV4LWJhc2lzOiA0NS40NTQ1NSU7XG4gICAgbWF4LXdpZHRoOiA0NS40NTQ1NSU7IH1cbiAgLmxnLTUtb2YtMTIge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNDEuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogNDEuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA0MS42NjY2NyU7XG4gICAgZmxleC1iYXNpczogNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sZy02LW9mLTcge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogODUuNzE0MjklO1xuICAgIC1tb3otZmxleC1iYXNpczogODUuNzE0MjklO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA4NS43MTQyOSU7XG4gICAgZmxleC1iYXNpczogODUuNzE0MjklO1xuICAgIG1heC13aWR0aDogODUuNzE0MjklOyB9XG4gIC5sZy02LW9mLTkge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIC1tb3otZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA2Ni42NjY2NyU7XG4gICAgZmxleC1iYXNpczogNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sZy02LW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDU0LjU0NTQ1JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDU0LjU0NTQ1JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNTQuNTQ1NDUlO1xuICAgIGZsZXgtYmFzaXM6IDU0LjU0NTQ1JTtcbiAgICBtYXgtd2lkdGg6IDU0LjU0NTQ1JTsgfVxuICAubGctNy1vZi04IHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDg3LjUlO1xuICAgIC1tb3otZmxleC1iYXNpczogODcuNSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg3LjUlO1xuICAgIGZsZXgtYmFzaXM6IDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLmxnLTctb2YtOSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA3Ny43Nzc3OCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA3Ny43Nzc3OCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDc3Ljc3Nzc4JTtcbiAgICBmbGV4LWJhc2lzOiA3Ny43Nzc3OCU7XG4gICAgbWF4LXdpZHRoOiA3Ny43Nzc3OCU7IH1cbiAgLmxnLTctb2YtMTAge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNzAlO1xuICAgIC1tb3otZmxleC1iYXNpczogNzAlO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA3MCU7XG4gICAgZmxleC1iYXNpczogNzAlO1xuICAgIG1heC13aWR0aDogNzAlOyB9XG4gIC5sZy03LW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDYzLjYzNjM2JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDYzLjYzNjM2JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogNjMuNjM2MzYlO1xuICAgIGZsZXgtYmFzaXM6IDYzLjYzNjM2JTtcbiAgICBtYXgtd2lkdGg6IDYzLjYzNjM2JTsgfVxuICAubGctNy1vZi0xMiB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDU4LjMzMzMzJTtcbiAgICBmbGV4LWJhc2lzOiA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxnLTgtb2YtOSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4OC44ODg4OSU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4OC44ODg4OSU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDg4Ljg4ODg5JTtcbiAgICBmbGV4LWJhc2lzOiA4OC44ODg4OSU7XG4gICAgbWF4LXdpZHRoOiA4OC44ODg4OSU7IH1cbiAgLmxnLTgtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogNzIuNzI3MjclO1xuICAgIC1tb3otZmxleC1iYXNpczogNzIuNzI3MjclO1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiA3Mi43MjcyNyU7XG4gICAgZmxleC1iYXNpczogNzIuNzI3MjclO1xuICAgIG1heC13aWR0aDogNzIuNzI3MjclOyB9XG4gIC5sZy05LW9mLTEwIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDkwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDkwJTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOTAlO1xuICAgIGZsZXgtYmFzaXM6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDkwJTsgfVxuICAubGctOS1vZi0xMSB7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiA4MS44MTgxOCU7XG4gICAgLW1vei1mbGV4LWJhc2lzOiA4MS44MTgxOCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDgxLjgxODE4JTtcbiAgICBmbGV4LWJhc2lzOiA4MS44MTgxOCU7XG4gICAgbWF4LXdpZHRoOiA4MS44MTgxOCU7IH1cbiAgLmxnLTEwLW9mLTExIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDkwLjkwOTA5JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDkwLjkwOTA5JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOTAuOTA5MDklO1xuICAgIGZsZXgtYmFzaXM6IDkwLjkwOTA5JTtcbiAgICBtYXgtd2lkdGg6IDkwLjkwOTA5JTsgfVxuICAubGctMTEtb2YtMTEge1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogMTAwJTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDEwMCU7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6IDEwMCU7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxnLTExLW9mLTEyIHtcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICAtbW96LWZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogOTEuNjY2NjclO1xuICAgIGZsZXgtYmFzaXM6IDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiAgIDo6IEJsb2Nrc1xyXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXHJcbiAqIEFkZCBhIGRlc2NyaXB0aW9uIGhlcmUuLlxyXG4gKlxyXG4gKiBAc3RydWN0dXJlIEJsb2Nrc1xyXG4gKiBAc2VjdGlvbiBCbG9jayBzY3J1Y3R1cmVcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICA8dWwgY2xhc3M9XCJibG9ja3MgYmxvY2tzLXR3by11cFwiPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXR3by11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtdHdvLXVwPC9saT5cclxuICogICA8L3VsPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICA8dWwgY2xhc3M9XCJibG9ja3MgYmxvY2tzLXRocmVlLXVwXCI+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtdGhyZWUtdXA8L2xpPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXRocmVlLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy10aHJlZS11cDwvbGk+XHJcbiAqICAgPC91bD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgPHVsIGNsYXNzPVwiYmxvY2tzIGJsb2Nrcy1mb3VyLXVwXCI+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZm91ci11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZm91ci11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZm91ci11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZm91ci11cDwvbGk+XHJcbiAqICAgPC91bD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgPHVsIGNsYXNzPVwiYmxvY2tzIGJsb2Nrcy1maXZlLXVwXCI+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZml2ZS11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZml2ZS11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZml2ZS11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZml2ZS11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtZml2ZS11cDwvbGk+XHJcbiAqICAgPC91bD5cclxuICogICA8L2Rpdj5cclxuICogICA8ZGl2IGNsYXNzPVwiZGVtby1pdGVtXCI+XHJcbiAqICAgPHVsIGNsYXNzPVwiYmxvY2tzIGJsb2Nrcy1zaXgtdXBcIj5cclxuICogICAgICA8bGk+LmJsb2Nrcy1zaXgtdXA8L2xpPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXNpeC11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3Mtc2l4LXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1zaXgtdXA8L2xpPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXNpeC11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3Mtc2l4LXVwPC9saT5cclxuICogICA8L3VsPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiAgIDx1bCBjbGFzcz1cImJsb2NrcyBibG9ja3MtdGhyZWUtdXAgcmVzZXRcIiBzdHlsZT1cIm1heC13aWR0aDo5ODBweDtcIj5cclxuICogICAgICA8bGk+XHJcbiAqICAgICAgICAgIDxmaWd1cmUgY2xhc3M9XCJjaGFyY29hbFwiPlxyXG4gKiAgICAgICAgICAgICAgIDxpbWcgaGVpZ2h0PVwiMjAyXCIgd2lkdGg9XCIzMDBcIiBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9+L21lZGlhL0ltYWdlcy9VU0hvbWUvSW5zdXJhbmNlL0NsYXNzaWMgQ2FyIEluc3VyYW5jZS9Eb2VzIG15IHZlaGljbGUgcXVhbGlmeS9UcmFjdG9ycy8xOTRKb2huRGVlcmVILmFzaHhcIiBhbHQ9XCIxOTQxIEpvaG4gRGVlcmUgSFwiPlxyXG4gKiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+MTk0MSBKb2huIERlZXJlIEg8L2ZpZ2NhcHRpb24+XHJcbiAqICAgICAgICAgIDwvZmlndXJlPlxyXG4gKiAgICAgIDwvbGk+XHJcbiAqICAgICAgPGxpPlxyXG4gKiAgICAgICAgICA8ZmlndXJlIGNsYXNzPVwiY2hhcmNvYWxcIj5cclxuICogICAgICAgICAgICAgIDxpbWcgaGVpZ2h0PVwiMjAyXCIgd2lkdGg9XCIzMDBcIiBzcmM9XCJodHRwczovL3d3dy5oYWdlcnR5LmNvbS9+L21lZGlhL0ltYWdlcy9VU0hvbWUvSW5zdXJhbmNlL0NsYXNzaWMgQ2FyIEluc3VyYW5jZS9Eb2VzIG15IHZlaGljbGUgcXVhbGlmeS9UcmFjdG9ycy8xOTYxUG9yc2NoZTIxNy5hc2h4XCIgYWx0PVwiMTk2MSBQb3JzY2hlIDIxN1wiPlxyXG4gKiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+MTk2MSBQb3JzY2hlIDIxNzwvZmlnY2FwdGlvbj5cclxuICogICAgICAgICAgPC9maWd1cmU+XHJcbiAqICAgICAgPC9saT5cclxuICogICAgICA8bGk+XHJcbiAqICAgICAgICAgIDxmaWd1cmUgY2xhc3M9XCJjaGFyY29hbFwiPlxyXG4gKiAgICAgICAgICAgICAgPGltZyBoZWlnaHQ9XCIyMDJcIiB3aWR0aD1cIjMwMFwiIHNyYz1cImh0dHBzOi8vd3d3LmhhZ2VydHkuY29tL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyBDYXIgSW5zdXJhbmNlL0RvZXMgbXkgdmVoaWNsZSBxdWFsaWZ5L1RyYWN0b3JzLzE5MzlGb3JkOU5UcmFjdG9yLmFzaHhcIiBhbHQ9XCIxOTM5IEZvcmQgOU4gVHJhY3RvclwiPlxyXG4gKiAgICAgICAgICAgICAgPGZpZ2NhcHRpb24+MTkzOSBGb3JkIDlOIFRyYWN0b3I8L2ZpZ2NhcHRpb24+XHJcbiAqICAgICAgICAgIDwvZmlndXJlPlxyXG4gKiAgICAgIDwvbGk+XHJcbiAqICA8L3VsPlxyXG4gKi9cbi5ibG9ja3Mge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGJvdGg7XG4gIG1hcmdpbi1sZWZ0OiAtMjBweDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYmxvY2tzLnJlc2V0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5ibG9ja3M6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5jb250ZW50IC5ibG9ja3Mge1xuICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xMHB4OyB9XG4gIC5ibG9ja3MgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAuYmxvY2tzID4gbGkgZmlndXJlIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmJsb2Nrcy5jb25kZW5zZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgIC5ibG9ja3MuY29uZGVuc2VkID4gbGkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMjBlbSkge1xuICAgIC5ibG9ja3MgPiBsaSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLWZvdXItdXAgPiBsaSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1maXZlLXVwID4gbGksXG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtZm91ci11cCA+IGxpOm50aC1jaGlsZCgybisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1maXZlLXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLXNpeC11cCA+IGxpOm50aC1jaGlsZCgybisxKSB7XG4gICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmJsb2NrcyBpbWcge1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy10d28tdXAgPiBsaSxcbiAgICAuYmxvY2tzLmJsb2Nrcy10aHJlZS11cCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1zaXgtdXAgPiBsaSB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMzJTsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaTpudGgtY2hpbGQoMm4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtdHdvLXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLXRocmVlLXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaTpudGgtY2hpbGQoM24rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYmxvY2tzLmJsb2Nrcy10aHJlZS11cCA+IGxpIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMzMlOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtZm91ci11cCA+IGxpIHtcbiAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy1maXZlLXVwID4gbGkge1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLXNpeC11cCA+IGxpIHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NjclOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtdGhyZWUtdXAgPiBsaTpudGgtY2hpbGQoMm4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3MtZm91ci11cCA+IGxpOm50aC1jaGlsZCgybisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1maXZlLXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaTpudGgtY2hpbGQoM24rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGk6bnRoLWNoaWxkKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtdGhyZWUtdXAgPiBsaTpudGgtY2hpbGQoM24rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3MtZm91ci11cCA+IGxpOm50aC1jaGlsZCg0bisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1maXZlLXVwID4gbGk6bnRoLWNoaWxkKDVuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLXNpeC11cCA+IGxpOm50aC1jaGlsZCg2bisxKSB7XG4gICAgICBjbGVhcjogbGVmdDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmJsb2Nrcy5ibG9ja3MtdHdvLXVwID4gbGksXG4gICAgLmJsb2Nrcy5ibG9ja3MtdGhyZWUtdXAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5ibG9ja3MuYmxvY2tzLXR3by11cCA+IGxpLFxuICAgIC5ibG9ja3MuYmxvY2tzLXRocmVlLXVwID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy10d28tdXAgPiBsaSB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuLnNpdGUtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjMyMztcbiAgYm9yZGVyLXRvcDogc29saWQgMnB4ICM3YzgwODM7XG4gIGJvcmRlci1ib3R0b206IHNvbGlkIDhweCAjMDE3REM3O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7IH1cbiAgLnNpdGUtaGVhZGVyIC5icmFuZGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1pbi13aWR0aDogMjIwcHg7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgICAgLmx0LWllMTAgLnNpdGUtaGVhZGVyIC5icmFuZGluZyxcbiAgICAgIC5pZTkgLnNpdGUtaGVhZGVyIC5icmFuZGluZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cbiAgICAuc2l0ZS1oZWFkZXIgLmJyYW5kaW5nIC5sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICB3aWR0aDogMTUwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbG9nby5zdmdcIikgY2VudGVyIG5vLXJlcGVhdDtcbiAgICAgIHRleHQtaW5kZW50OiAtOTAwMHB4O1xuICAgICAgbWFyZ2luOiA1cHggNXB4IDVweCAwOyB9XG4gICAgICAuc2l0ZS1oZWFkZXIgLmJyYW5kaW5nIC5sb2dvICsgc3ZnIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogLTdweDtcbiAgICAgICAgd2lkdGg6IDYwcHg7IH1cblxuLnNpdGUtZm9vdGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7IH1cblxuLyoqXHJcbiAqIEFkZCBhIGRlc2NyaXB0aW9uIGhlcmUuLlxyXG4gKlxyXG4gKiBAc3RydWN0dXJlIEV5ZWJyb3dcclxuICogQHNlY3Rpb24gU2l0ZSBIZWFkZXJcclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cInNpdGUtaGVhZGVyXCI+XHJcbiAqICAgICA8ZGl2IGNsYXNzPVwiIGV5ZWJyb3cgaW5saW5lLWJ1dHRvbnMgY29uc3RyYWluXCI+XHJcbiAqICAgICAgICAgPGEgaHJlZj1cIi9cIiBjbGFzcz1cImFjY291bnQtbG9naW4tbGluayBsaW5rXCI+LmFjY291bnQtbG9naW4tbGluazwvYT5cclxuICogICAgICAgICA8bmF2IGNsYXNzPVwiIGV5ZWJyb3ctbmF2XCIgZGF0YS1tZW51PVwiXCI+XHJcbiAqICAgICAgICAgICAgIDx1bCBjbGFzcz1cIm5hdi1pdGVtcyBcIj5cclxuICogICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cIlwiPjxhIGhyZWY9XCIvXCI+Lm5hdi1pdGVtPC9hPjwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnZWFyLWljb25cIj48YSBocmVmPVwiL1wiPkxvZ2luIE1hbmFnZW1lbnQ8L2E+PC9saT5cclxuICogICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImhvbWUtYnRuXCI+PGEgaHJlZj1cIi9cIj5Ib21lPC9hPjwvbGk+XHJcbiAqICAgICAgICAgICAgIDwvdWw+XHJcbiAqICAgICAgICAgPC9uYXY+XHJcbiAqICAgICAgICAgPGRpdiBjbGFzcz1cInBob25lLW51bWJlclwiPiAgXHJcbiAqICAgICAgICAgICAgIDxhIHJlbD1cIm5vZm9sbG93XCIgaHJlZj1cInRlbDo4Nzc5MjI5NzAxXCI+LnBob25lLW51bWJlcjwvYT5cclxuICogICAgICAgICA8L2Rpdj5cclxuICogICAgIDwvZGl2PlxyXG4gKiAgPC9kaXY+XHJcbiAqL1xuLmV5ZWJyb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDM7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNjdNZENuIDY5MjcxMFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cblxuLmV5ZWJyb3cgLnBob25lLW51bWJlciB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmV5ZWJyb3cgLnBob25lLW51bWJlciB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfSB9XG5cbi5leWVicm93LW5hdiB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuZXllYnJvdy1uYXYgLm5hdi1pdGVtcyB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgLmV5ZWJyb3ctbmF2IC5uYXYtaXRlbXMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuZXllYnJvdy1uYXYgLm5hdi1pdGVtcyBsaTpub3QoOmxhc3QtY2hpbGQpOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgIG1hcmdpbjogMCA1cHg7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC5leWVicm93LW5hdiAubmF2LWl0ZW1zIGxpIGEge1xuICAgICAgICBjb2xvcjogI2ZmZTExZjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgICAgIC5leWVicm93LW5hdiAubmF2LWl0ZW1zIGxpIC5pY29uIHtcbiAgICAgICAgd2lkdGg6IDEuMWVtO1xuICAgICAgICBoZWlnaHQ6IDEuMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAtM3B4OyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLmV5ZWJyb3ctbmF2IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gIC5ub24tcmVzcG9uc2l2ZSAuZXllYnJvdy1uYXYge1xuICAgIGRpc3BsYXk6IGlubGluZTsgfVxuXG4vKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gICA6OiBIb21lIEJ1dHRvblxyXG4gICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuYS5ob21lLWJ0biB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDE4cHg7XG4gIGJhY2tncm91bmQ6IHVybCguLi9pbWcvaWNvbnMvZ2hvc3RfaG9tZS5zdmcpIGNlbnRlciBuby1yZXBlYXQgdHJhbnNwYXJlbnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuXG4vKipcclxuICpcclxuICogQHN0cnVjdHVyZSBIZXJvIEdhbGxlcnlcclxuICogQHNlY3Rpb24gU2VjdGlvbnMgPiBIZXJvXHJcbiAqIEBmbGFnIGZ1bGwtd2lkdGhcclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cImNoYXJjb2FsLXJ1bm5lclwiPlxyXG4gKiAgICA8ZGl2IGNsYXNzPVwiaGVybyBoZXJvLWdhbGxlcnlcIj5cclxuICogICBcdDxkaXYgY2xhc3M9XCJwcmV2aWV3LW91dGVyXCI+XHJcbiAqICBcdFx0PGRpdiBjbGFzcz1cInByZXZpZXctc3BhY2VyXCI+PC9kaXY+XHJcbiAqICBcdFx0PGRpdiBjbGFzcz1cInByZXZpZXctaW5uZXJcIj48aW1nIGNsYXNzPVwicHJldmlldy1pbWFnZVwiIHNyYz1cImh0dHBzOi8vcGxhY2Vob2xkaXQuaW1naXgubmV0L350ZXh0P3R4dHNpemU9MzMmdHh0PTEwMDAlQzMlOTc1MzEmdz0xMDAwJmg9NTMxXCI+XHJcbiAqICBcdFx0XHQ8ZGl2IGNsYXNzPVwicHJldmlldy1jYXB0aW9uLXdyYXBcIj5cclxuICogIFx0XHRcdFx0PGRpdiBjbGFzcz1cInByZXZpZXctY2FwdGlvblwiIHN0eWxlPVwiZGlzcGxheTogYmxvY2s7XCI+XHJcbiAqICBcdFx0XHRcdFx0PHA+VGhpcyBpcyBhIGNhcHRpb248L3A+XHJcbiAqICBcdFx0XHRcdDwvZGl2PlxyXG4gKiAgXHRcdFx0XHQ8ZGl2IGNsYXNzPVwicHJldmlldy1jYXB0aW9uLWNvbnRyb2xzIGNsZWFyZml4XCI+XHJcbiAqICBcdFx0XHRcdFx0PGEgY2xhc3M9XCJjYXB0aW9ucy1idG4gZXhwYW5kLWJ0blwiIGhyZWY9XCJodHRwczovL3BsYWNlaG9sZGl0LmltZ2l4Lm5ldC9+dGV4dD90eHRzaXplPTMzJnR4dD0xMDAwJUMzJTk3NTMxJnc9MTAwMCZoPTUzMVwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICBAe2luY2x1ZGU6c3ZnLmljb24uZXhwYW5kfVxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2FwdGlvbnMtYnRuIG9wZW4tYnRuXCI+QHtpbmNsdWRlOnN2Zy5pY29uLnVwfTwvc3Bhbj5cclxuICogIFx0XHRcdFx0XHQ8c3BhbiBjbGFzcz1cImNhcHRpb25zLWJ0biBjbG9zZS1idG5cIj5Ae2luY2x1ZGU6c3ZnLmljb24uY2xvc2V9PC9zcGFuPlxyXG4gKiAgXHRcdFx0ICAgIDwvZGl2PlxyXG4gKiAgXHRcdCAgICA8L2Rpdj5cclxuICogIFx0ICAgIDwvZGl2PlxyXG4gKiAgICAgIDwvZGl2PlxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJnYWxsZXJ5LWl0ZW0tb3V0ZXJcIj5cclxuICogICAgICAgICAgPHVsIGNsYXNzPVwiZ2FsbGVyeS1pdGVtc1wiPlxyXG4gKiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZ2FsbGVyeS10aHVtYlwiIGRhdGEtZ3VpZD1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICA8YSByZWw9XCJub2ZvbGxvd1wiIGhyZWY9XCIjXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wbGFjZWhvbGRpdC5pbWdpeC5uZXQvfnRleHQ/dHh0c2l6ZT0zMyZ0eHQ9MTUwJUMzJTk3MTUwJnc9MTUwJmg9MTUwXCIgYWx0PVwiXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxkaXYgaWQ9XCJkaXZDYXB0aW9uXCIgY2xhc3M9XCJjYXB0aW9uXCI+PC9kaXY+XHJcbiAqICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZ2FsbGVyeS10aHVtYlwiIGRhdGEtZ3VpZD1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICA8YSByZWw9XCJub2ZvbGxvd1wiIGhyZWY9XCIjXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiaHR0cHM6Ly9wbGFjZWhvbGRpdC5pbWdpeC5uZXQvfnRleHQ/dHh0c2l6ZT0zMyZ0eHQ9MTUwJUMzJTk3MTUwJnc9MTUwJmg9MTUwXCIgYWx0PVwiXCI+XHJcbiAqICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImRpdkNhcHRpb25cIiBjbGFzcz1cImNhcHRpb25cIj48L2Rpdj5cclxuICogICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iXCIgZGF0YS1ndWlkPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxhIHJlbD1cIm5vZm9sbG93XCIgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3BsYWNlaG9sZGl0LmltZ2l4Lm5ldC9+dGV4dD90eHRzaXplPTMzJnR4dD0xNTAlQzMlOTcxNTAmdz0xNTAmaD0xNTBcIiBhbHQ9XCJcIj5cclxuICogICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImRpdkNhcHRpb25cIiBjbGFzcz1cImNhcHRpb25cIj48L2Rpdj5cclxuICogICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iXCIgZGF0YS1ndWlkPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxhIHJlbD1cIm5vZm9sbG93XCIgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3BsYWNlaG9sZGl0LmltZ2l4Lm5ldC9+dGV4dD90eHRzaXplPTMzJnR4dD0xNTAlQzMlOTcxNTAmdz0xNTAmaD0xNTBcIiBhbHQ9XCJcIj5cclxuICogICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImRpdkNhcHRpb25cIiBjbGFzcz1cImNhcHRpb25cIj48L2Rpdj5cclxuICogICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iXCIgZGF0YS1ndWlkPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxhIHJlbD1cIm5vZm9sbG93XCIgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3BsYWNlaG9sZGl0LmltZ2l4Lm5ldC9+dGV4dD90eHRzaXplPTMzJnR4dD0xNTAlQzMlOTcxNTAmdz0xNTAmaD0xNTBcIiBhbHQ9XCJcIj5cclxuICogICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImRpdkNhcHRpb25cIiBjbGFzcz1cImNhcHRpb25cIj48L2Rpdj5cclxuICogICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iXCIgZGF0YS1ndWlkPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxhIHJlbD1cIm5vZm9sbG93XCIgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCJodHRwczovL3BsYWNlaG9sZGl0LmltZ2l4Lm5ldC9+dGV4dD90eHRzaXplPTMzJnR4dD0xNTAlQzMlOTcxNTAmdz0xNTAmaD0xNTBcIiBhbHQ9XCJcIj5cclxuICogICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPGRpdiBpZD1cImRpdkNhcHRpb25cIiBjbGFzcz1cImNhcHRpb25cIj48L2Rpdj5cclxuICogICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iIGVtcHR5XCI+PHNwYW4+PC9zcGFuPjwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iIGVtcHR5XCI+PHNwYW4+PC9zcGFuPjwvbGk+XHJcbiAqICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJnYWxsZXJ5LXRodW1iIGVtcHR5XCI+PHNwYW4+PC9zcGFuPjwvbGk+XHJcbiAqICAgICAgICAgIDwvdWw+XHJcbiAqICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFnaW5hdGlvblwiPlxyXG4gKiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWJ0biBwcmV2LWJ0blwiIHN0eWxlPVwiZGlzcGxheTogbm9uZTtcIj5QcmV2PC9zcGFuPlxyXG4gKiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWJ0biBhY3RpdmVcIj4xPC9zcGFuPlxyXG4gKiAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJwYWdlLWJ0blwiPjI8L3NwYW4+XHJcbiAqICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInBhZ2UtYnRuXCI+Mzwvc3Bhbj5cclxuICogICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwicGFnZS1idG4gbmV4dC1idG5cIiBzdHlsZT1cImRpc3BsYXk6IGlubGluZS1ibG9jaztcIj5OZXh0PC9zcGFuPlxyXG4gKiAgICAgICAgICA8L3NwYW4+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqICA8L2Rpdj5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5oZXJvLWdhbGxlcnkge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWluLXdpZHRoOiAxOWVtO1xuICBtYXgtd2lkdGg6IDkwZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhlcm8tZ2FsbGVyeSAucHJldmlldy1vdXRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMTBweCAwIDMwcHggMDtcbiAgICB3aWR0aDogNjYuNjY2NiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgem9vbTogMTsgfVxuICAgIC5oZXJvLWdhbGxlcnkgLnByZXZpZXctb3V0ZXIgLnByZXZpZXctc3BhY2VyIHtcbiAgICAgIHBhZGRpbmctdG9wOiA1MCU7IH1cbiAgICAuaGVyby1nYWxsZXJ5IC5wcmV2aWV3LW91dGVyIC5wcmV2aWV3LWlubmVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNTU1OyB9XG4gICAgICAuaGVyby1nYWxsZXJ5IC5wcmV2aWV3LW91dGVyIC5wcmV2aWV3LWlubmVyIC5wcmV2aWV3LWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbjogYXV0bzsgfVxuICAgICAgICAuaGVyby1nYWxsZXJ5IC5wcmV2aWV3LW91dGVyIC5wcmV2aWV3LWlubmVyIC5wcmV2aWV3LWltYWdlLmVubGFyZ2Uge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmhlcm8tZ2FsbGVyeSAucHJldmlldy1vdXRlciAucHJldmlldy1pbm5lciAucHJldmlldy1jYXB0aW9uLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAucHJldmlldy1vdXRlciAucHJldmlldy1pbm5lciAucHJldmlldy1jYXB0aW9uLXdyYXAgLnByZXZpZXctY2FwdGlvbiB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzNSwgMzUsIDM1LCAwLjg1KTsgfVxuICAgICAgICAgIC5oZXJvLWdhbGxlcnkgLnByZXZpZXctb3V0ZXIgLnByZXZpZXctaW5uZXIgLnByZXZpZXctY2FwdGlvbi13cmFwIC5wcmV2aWV3LWNhcHRpb24gcCB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAucHJldmlldy1vdXRlciAucHJldmlldy1pbm5lciAucHJldmlldy1jYXB0aW9uLXdyYXAgLnByZXZpZXctY2FwdGlvbi1jb250cm9scyB7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgICAgICAgICAuaGVyby1nYWxsZXJ5IC5wcmV2aWV3LW91dGVyIC5wcmV2aWV3LWlubmVyIC5wcmV2aWV3LWNhcHRpb24td3JhcCAucHJldmlldy1jYXB0aW9uLWNvbnRyb2xzIC5jYXB0aW9ucy1idG4ge1xuICAgICAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAxN2RjNztcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7IH1cbiAgICAgICAgICAgIC5oZXJvLWdhbGxlcnkgLnByZXZpZXctb3V0ZXIgLnByZXZpZXctaW5uZXIgLnByZXZpZXctY2FwdGlvbi13cmFwIC5wcmV2aWV3LWNhcHRpb24tY29udHJvbHMgLmNhcHRpb25zLWJ0biAuaWNvbiB7XG4gICAgICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwcHg7IH1cbiAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIHtcbiAgICB3aWR0aDogMzMuMzMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAuZ2FsbGVyeS1pdGVtcyB7XG4gICAgICBtYXJnaW46IC0xMHB4IDAgMCAwO1xuICAgICAgcGFkZGluZzogNXB4IDVweCA1cHggMTVweDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLmdhbGxlcnktaXRlbXMgLmdhbGxlcnktdGh1bWIge1xuICAgICAgICB3aWR0aDogMTEuMSU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5nYWxsZXJ5LWl0ZW1zIC5nYWxsZXJ5LXRodW1iIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgcGFkZGluZzogNXB4OyB9XG4gICAgICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5nYWxsZXJ5LWl0ZW1zIC5nYWxsZXJ5LXRodW1iIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5nYWxsZXJ5LWl0ZW1zIC5nYWxsZXJ5LXRodW1iIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAuZ2FsbGVyeS1pdGVtcyAuZ2FsbGVyeS10aHVtYi5lbXB0eSBzcGFuIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgIG1hcmdpbjogM3B4IDVweCAwIDNweDsgfVxuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAuZ2FsbGVyeS1pdGVtcyAuZ2FsbGVyeS10aHVtYiB7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMzMzMzJTsgfSB9XG4gICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLmdhbGxlcnktaXRlbXMgLmNhcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLmdhbGxlcnktaXRlbXMge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5wYWdpbmF0aW9uIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbjogMCAxMHB4OyB9XG4gICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gLnBhZ2UtYnRuLFxuICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5wYWdpbmF0aW9uIGEucGFnZS1idG4sXG4gICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gYS5wYWdlLWJ0bjpob3ZlcixcbiAgICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAucGFnaW5hdGlvbiBhLnBhZ2UtYnRuOmFjdGl2ZSxcbiAgICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAucGFnaW5hdGlvbiBhLnBhZ2UtYnRuOnZpc2l0ZWQge1xuICAgICAgICBjb2xvcjogI2ZmZTExZjsgfVxuICAgICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gLnBhZ2UtYnRuOmhvdmVyLCAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gLnBhZ2UtYnRuLmFjdGl2ZSxcbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5wYWdpbmF0aW9uIGEucGFnZS1idG46aG92ZXIsXG4gICAgICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAucGFnaW5hdGlvbiBhLnBhZ2UtYnRuLmFjdGl2ZSxcbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5wYWdpbmF0aW9uIGEucGFnZS1idG46aG92ZXI6aG92ZXIsXG4gICAgICAgIC5oZXJvLWdhbGxlcnkgLmdhbGxlcnktaXRlbS1vdXRlciAucGFnaW5hdGlvbiBhLnBhZ2UtYnRuOmhvdmVyLmFjdGl2ZSxcbiAgICAgICAgLmhlcm8tZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLW91dGVyIC5wYWdpbmF0aW9uIGEucGFnZS1idG46YWN0aXZlOmhvdmVyLFxuICAgICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gYS5wYWdlLWJ0bjphY3RpdmUuYWN0aXZlLFxuICAgICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gYS5wYWdlLWJ0bjp2aXNpdGVkOmhvdmVyLFxuICAgICAgICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW0tb3V0ZXIgLnBhZ2luYXRpb24gYS5wYWdlLWJ0bjp2aXNpdGVkLmFjdGl2ZSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzU1NTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAuaGVyby1nYWxsZXJ5IC5nYWxsZXJ5LWl0ZW1zIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG4vKipcclxuICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxyXG4gKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcclxuICogQXJ0aWNsZSBib2R5IGZvbnRcclxuICogQG51Y2xpZGVcclxuICogQHNlY3Rpb24gRm9udHNcclxuICpcclxuICovXG4vKipcclxuICogU2V0IGFsdGVybmF0ZSBmb250cyBmb3IgdGhlIE1lZGlhIHNpdGVcclxuICpcclxuICogQG1peGluXHJcbiAqIEBzZWN0aW9uIEZvbnRzXHJcbiAqIEBwYXJhbSAkdHlwZVxyXG4gKiAgVGhlIGFsdGVybmF0ZSBmb250IHR5cGUgdG8gYmUgdXNlZCBbcHJpbWFyeSwgc2Vjb25kYXJ5LCB0ZXJ0aWFyeSwgcXVhdGVybmFyeSwgcXVpbmFyeV0uXHJcbiAqIEBleGFtcGxlXHJcbiAqICBAaW5jbHVkZSBhbHRlcm5hdGVGb250KCk7XHJcbiAqICBAaW5jbHVkZSBhbHRlcm5hdGVGb250KHNlY29uZGFyeSk7XHJcbiAqL1xuLyoqXHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIFZhcmlhYmxlc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFNldHMgYW5pbWF0aW9uIHNwZWVkcyBmb3IgdHJhbnNpdGlvbiBlZmZlY3RzLlxyXG4gKiAgXHJcbiAqL1xuLyoqXHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIFZhcmlhYmxlc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFNldHMgYW5pbWF0aW9uIHNwZWVkcyBmb3IgdHJhbnNpdGlvbiBlZmZlY3RzLlxyXG4gKiAgXHJcbiAqL1xuLyoqXHJcbiAqIEBudWNsaWRlXHJcbiAqIEBzZWN0aW9uIFZhcmlhYmxlc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFNldHMgYW5pbWF0aW9uIHNwZWVkcyBmb3IgdHJhbnNpdGlvbiBlZmZlY3RzXHJcbiAqICBcclxuICovXG4vKipcclxuICogQGF0b20gVG9waWNzXHJcbiAqIEBzZWN0aW9uIFRheG9ub215IFRhZ1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFRheG9ub215IHRhZ3MgdXNlZCB0byBpZGVudGlmeSBjb250ZW50LlxyXG4gKiBAbWFya3VwXHJcbiAqICA8dWwgY2xhc3M9XCJ0b3BpY3NcIj5cclxuICogICAgPGxpPjxhIGhyZWY9XCIjXCI+VmlkZW9zPC9hPjwvbGk+XHJcbiAqICAgIDxsaT48YSBocmVmPVwiI1wiPk1vdG9yc3BvcnRzPC9hPjwvbGk+XHJcbiAqICAgIDxsaT48YSBocmVmPVwiI1wiPkNhciBQcm9maWxlczwvYT48L2xpPlxyXG4gKiAgICA8bGk+PGEgaHJlZj1cIiNcIj5DYXIgRGVzaWduPC9hPjwvbGk+XHJcbiAqICAgIDxsaT48YSBocmVmPVwiI1wiPkJ1eWluZzwvYT48L2xpPlxyXG4gKiAgICA8bGk+PGEgaHJlZj1cIiNcIj5TZWxsaW5nPC9hPjwvbGk+XHJcbiAqICAgIDxsaT48YSBocmVmPVwiI1wiPlRvcCAxMDwvYT48L2xpPlxyXG4gKiAgICA8bGk+PGEgaHJlZj1cIiNcIj5Mb3NzZXMgJiBMZXNzb25zPC9hPjwvbGk+XHJcbiAqICAgIDxsaT48YSBocmVmPVwiI1wiPk91ciBDYXJzPC9hPjwvbGk+XHJcbiAqICAgIDxsaT48YSBocmVmPVwiI1wiPkhvdy1UbydzPC9hPjwvbGk+XHJcbiAqICA8L3VsPlxyXG4gKi9cbi50b3BpY3Mtd3JhcHBlciB7XG4gIG1hcmdpbjogMi41cmVtIDA7IH1cbiAgLnRvcGljcy13cmFwcGVyIC50b3BpY3Mge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAudG9waWNzLXdyYXBwZXIgLnRvcGljcyBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMTBweCAxMHB4IDA7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZlMTFmOyB9XG4gICAgICAudG9waWNzLXdyYXBwZXIgLnRvcGljcyBsaSBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICAgICAgICBjb2xvcjogIzIzMjMyMztcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjI1czsgfVxuICAgICAgICAudG9waWNzLXdyYXBwZXIgLnRvcGljcyBsaSBhOmhvdmVyIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTExZjsgfVxuXG4vKipcclxuICogQGF0b20gUHVibGlzaCBEYXRlXHJcbiAqIEBzZWN0aW9uIFR5cG9ncmFwaHlcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgQXJ0aWNsZSBwdWJsaXNoIGRhdGUgaW4gdGltZSBmb3JtYXRcclxuICogQG1hcmt1cFxyXG4gKiAgICAgIDx0aW1lIGRhdGV0aW1lPVwiMjAxNi0wOC0xNVQxOTowMFwiIGNsYXNzPVwicHVibGlzaC1kYXRlLXN0YW1wXCI+QXVndXN0IDE1LCAyMDE2PC90aW1lPlxyXG4gKi9cbi5wdWJsaXNoLWRhdGUtc3RhbXAge1xuICBmb250LXNpemU6IDFlbTtcbiAgd2hpdGUtc3BhY2U6IHByZTsgfVxuXG4vKipcclxuICogQGF0b20gRnVsbCBXaWR0aFxyXG4gKiBAc2VjdGlvbiBUeXBvZ3JhcGh5XHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgIEZpbGxzIHRoZSBwYXJlbnQgZGltZW5zaW9ucy5cclxuICogQG1hcmt1cFxyXG4gKiAgICAgPGRpdiBzdHlsZT1cImJhY2tncm91bmQtY29sb3I6ICNjY2M7XCI+XHJcbiAqICAgICAgPGRpdiBjbGFzcz1cImZ1bGwtd2lkdGhcIj5GdWxsIFdpZHRoPC9kaXY+XHJcbiAqICAgICA8L2Rpdj5cclxuICovXG4uZnVsbC13aWR0aCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbkB1bnRpbC1icmVha3BvaW50ICgkbW9iaWxlLWwpIHtcbiAgLmZ1bGwtd2lkdGgteHMge1xuICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLyoqXHJcbiAqIEBhdG9tIEhvbGxvdyBCb3hcclxuICogQHNlY3Rpb24gSGVscGVycyA+IEJveGVzXHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIEhvbGxvdyBCb3hcclxuICogQG1hcmt1cCBcclxuICogIDxkaXYgY2xhc3M9XCJob2xsb3ctYm94XCI+XHJcbiAqICAgICAgPHA+QHtsaXBzdW06MzA6d29yZHN9PC9wPlxyXG4gKiAgPC9kaXY+ICAgICAgICBcclxuICovXG4uaG9sbG93LWJveCB7XG4gIG1hcmdpbjogMS4yNXJlbSAwO1xuICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG5cbi5idXR0b24td3JhcHBlciB7XG4gIG1hcmdpbjogMi41cmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uc3RvcnktbGlzdC10aWxlcyAuYnV0dG9uLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucmVzZXQtdG9wIHtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG4ucmVzZXQtYm90dG9tIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4vKipcclxuICogQGF0b20gUHVibGlzaCBEYXRlXHJcbiAqIEBzZWN0aW9uIFR5cG9ncmFwaHlcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgQXJ0aWNsZSBwdWJsaXNoIGRhdGUgaW4gdGltZSBmb3JtYXRcclxuICogQG1hcmt1cFxyXG4gKiAgICAgIDx0aW1lIGRhdGV0aW1lPVwiMjAxNi0wOC0xNVQxOTowMFwiIGNsYXNzPVwicHVibGlzaC1kYXRlLXN0YW1wXCI+QXVndXN0IDE1LCAyMDE2PC90aW1lPlxyXG4gKi9cbi5wdWJsaXNoLWRhdGUtc3RhbXAge1xuICBmb250LXNpemU6IDFlbTtcbiAgd2hpdGUtc3BhY2U6IHByZTsgfVxuXG4vKipcclxuICogQGF0b20gQmFzaWMgQWQgQ29udGFpbmVyXHJcbiAqIEBzZWN0aW9uIEFkc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogICBTdGFuZGFyZCBsYW5kc2NhcGUgYmFubmVyIGFkIGNvbnRhaW5lclxyXG4gKiBAbWFya3VwXHJcbiAqICAgICA8ZGl2IGNsYXNzPVwiaG9sbG93LWJveCBhZC1jb250YWluZXJcIj5cclxuICogICAgICA8ZGl2IHN0eWxlPVwicGFkZGluZzogMzBweDsgbWFyZ2luOiAwIDIwcHg7IGJhY2tncm91bmQtY29sb3I6ICNjY2M7IGRpc3BsYXk6IGZsZXg7IGFsaWduLWl0ZW1zOiBjZW50ZXI7IGp1c3RpZnktY29udGVudDogY2VudGVyOyB0ZXh0LWFsaWduOiBjZW50ZXI7XCI+QWQgR29lcyBIZXJlPC9kaXY+XHJcbiAqICAgICA8L2Rpdj5cclxuICovXG4uc29jaWFsLW1lZGlhLWljb25zLmZvbGxvd2luZyAuaGlkZGVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5zb2NpYWwtbWVkaWEtaWNvbnMuZm9sbG93aW5nIC5oaWRkZW4ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zb2NpYWwtbWVkaWEtaWNvbnMuZm9sbG93aW5nIC5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLnNvY2lhbC1tZWRpYS1pY29ucy5mb2xsb3dpbmcgLnJldmVhbCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5zb2NpYWwtbWVkaWEtaWNvbnMuZm9sbG93aW5nIC5yZXZlYWw6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNiM2IzYjM7IH1cbiAgLnNvY2lhbC1tZWRpYS1pY29ucy5mb2xsb3dpbmcgLnJldmVhbCAuaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7IH1cblxuLnNvY2lhbC1tZWRpYS1pY29ucy5mb2xsb3dpbmcgLnJvdGF0ZSAuaWNvbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgLnNvY2lhbC1tZWRpYS1pY29ucy5mbG9hdGluZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMTAwcHg7XG4gICAgd2lkdGg6IDUwcHg7IH0gfVxuXG4vKipcclxuICpcclxuICogQGF0b20gU3RhbmRhcmRcclxuICogQHNlY3Rpb24gU29jaWFsIEljb25zXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgU3RhbmRhcmQgc29jaWFsIG1lZGlhIGljb25zXHJcbiAqIEBtYXJrdXBcclxuICAgIDxkaXYgY2xhc3M9XCJzb2NpYWwtd3JhcHBlclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJzb2NpYWwtbWVkaWEtaWNvbnMgbmFycm93XCIgZGF0YS1zb2NpYWw9XCJzb2NpYWxzaGFyaW5nYnV0dG9uc1wiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaWNvbi13cmFwcGVyIGZhY2Vib29rXCIgZGF0YS1zb2NpYWw9XCJmYWNlYm9va1wiPlxyXG4gICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gICAgICAgICAgICAgICAgPHVzZSB4bWxuczp4bGluaz1cImh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmtcIiB4bGluazpocmVmPVwiI2ZhY2Vib29rXCI+PC91c2U+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlciB0d2l0dGVyXCIgZGF0YS1zb2NpYWw9XCJ0d2l0dGVyXCI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHhsaW5rOmhyZWY9XCIjdHdpdHRlclwiPjwvdXNlPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoaWRkZW5cIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlciByZWRkaXRcIiBkYXRhLXNvY2lhbD1cInJlZGRpdFwiPlxyXG4gICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICAgICAgICAgICAgICAgIDx1c2UgeG1sbnM6eGxpbms9XCJodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rXCIgeGxpbms6aHJlZj1cIiNyZWRkaXRcIj48L3VzZT5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImljb24td3JhcHBlciBsaW5rZWRpblwiIGRhdGEtc29jaWFsPVwibGlua2VkaW5cIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgICAgICA8dXNlIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHhsaW5rOmhyZWY9XCIjbGlua2VkaW5cIj48L3VzZT5cclxuICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJpY29uLXdyYXBwZXIgcmV2ZWFsXCI+XHJcbiAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZG93blwiIC8+XHJcbiAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gIC5mZWF0dXJlZC1zdG9yeSAuc29jaWFsLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgNXJlbTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gIC5mZWF0dXJlZC1zdG9yeSAuc29jaWFsLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9IH1cblxuLnN0YW5kYXJkLXN0b3J5IC5zb2NpYWwtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA2MGVtKSB7XG4gICAgLnN0YW5kYXJkLXN0b3J5IC5zb2NpYWwtd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLnN0YW5kYXJkLXN0b3J5IC5zb2NpYWwtd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDIuNXJlbSAwIDIuNXJlbSAwOyB9IH1cblxuLnNvY2lhbC1tZWRpYS1pY29ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLnNvY2lhbC1tZWRpYS1pY29ucy5pY29uLXJvdyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLnNvY2lhbC1tZWRpYS1pY29ucyAuaWNvbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwLjQzNzVyZW0gMC43NXJlbTtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7IH1cbiAgICAuc29jaWFsLW1lZGlhLWljb25zIC5pY29uLXdyYXBwZXI6aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnNvY2lhbC1tZWRpYS1pY29ucyAuaWNvbi13cmFwcGVyIGEge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIE5hcnJvd1xyXG4gKiBAc2VjdGlvbiBTb2NpYWwgSWNvbnNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBOYXJyb3cgdmVyc2lvbiBvZiBzb2NpYWwgbWVkaWEgbGlua3MgYWRkIC5uYXJyb3cgb3IgbmV4dCB1bmRlciAubmFycm93LXNvY2lhbC1tZWRpYS1pY29ucyBwYXJlbnQgY2xhc3NcclxuICogQG1hcmt1cFxyXG4gKlxyXG4gKi9cbi5uYXJyb3ctc29jaWFsLW1lZGlhLWljb25zIC5zb2NpYWwtbWVkaWEtaWNvbnMgLmljb24td3JhcHBlciwgLnNvY2lhbC1tZWRpYS1pY29ucy5uYXJyb3cgLmljb24td3JhcHBlciB7XG4gIHBhZGRpbmc6IDdweCAxMnB4O1xuICBmb250LXNpemU6IDEuODEyNXJlbTsgfVxuXG4vKipcclxuICogQGF0b20gUGxhY2Vob2xkZXJcclxuICogQHNlY3Rpb24gQXZhdGFyc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEF1dGhvciBhdmF0YXIgbm9ybWFsIHNpemUsIGFwcGVhcmluZyBvbiBBdXRob3IncyBwYWdlIHcvIG5vIHBob3RvXHJcbiAqIEBtYXJrdXBcclxuICogIDxkaXYgY2xhc3M9XCJhdmF0YXJcIj5cclxuICogICAgICA8aW1nIHNyYz1cIi4uL2ltZy9hdmF0YXItcGhvdG8uanBnXCIgY2xhc3M9XCJhdmF0YXItbWFza1wiPlxyXG4gKiAgPC9kaXY+IFxyXG4gKi9cbi5hdmF0YXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxNTBweDtcbiAgaGVpZ2h0OiAxNTBweDtcbiAgbWFyZ2luOiAxNXB4IGF1dG87XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJvcmRlci1jb2xvcjogI2ZmZjsgfVxuICAuYXZhdGFyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogLTc1cHg7XG4gICAgbGVmdDogLTc1cHg7XG4gICAgYm9yZGVyLXdpZHRoOiA3NXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgLmF2YXRhci5hdmF0YXItc21hbGwge1xuICAgIHdpZHRoOiAxMDBweDtcbiAgICBoZWlnaHQ6IDEwMHB4OyB9XG4gIC5hdmF0YXIgLmF2YXRhci1tYXNrIHtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAuYXZhdGFyIC5uby1hdmF0YXIge1xuICAgIGZvbnQtc2l6ZTogOHJlbTtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuXG4uaW50ZXJhY3Rpb24tY29udHJvbHMge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgLmludGVyYWN0aW9uLWNvbnRyb2xzID4gZGl2IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXM7IH1cbiAgICAuaW50ZXJhY3Rpb24tY29udHJvbHMgPiBkaXY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjVweDsgfVxuICAgIC5pbnRlcmFjdGlvbi1jb250cm9scyA+IGRpdiA+IHN2ZyxcbiAgICAuaW50ZXJhY3Rpb24tY29udHJvbHMgPiBkaXYgPiBhIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuaW50ZXJhY3Rpb24tY29udHJvbHMgPiBkaXYgYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDsgfVxuICAuaW50ZXJhY3Rpb24tY29udHJvbHMgcCB7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIEludGVyYWN0aW9uIENvbnRyb2xzIHdpdGggQ29tbWVudHNcclxuICogQHNlY3Rpb24gSW50ZXJhY3Rpb25zXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgU2hhcmUgaW50ZXJhY3Rpb25cclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cImludGVyYWN0aW9uLWNvbnRyb2xzXCI+XHJcbiAqICAgICAgPGRpdiBjbGFzcz1cInNoYXJlXCI+XHJcbiAqICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjc2hhcmVcIiAvPlxyXG4gKiAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgPHA+U2hhcmU8L3A+XHJcbiAqICAgICAgPC9kaXY+IFxyXG4gKiAgPC9kaXY+XHJcbiAqL1xuLmludGVyYWN0aW9uLWNvbnRyb2xzIC5zaGFyZSB7XG4gIGNvbG9yOiAjY2NjO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjI1czsgfVxuICAuaW50ZXJhY3Rpb24tY29udHJvbHMgLnNoYXJlOmhvdmVyIHtcbiAgICBjb2xvcjogIzAxN0RDNztcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIEludGVyYWN0aW9uIENvbnRyb2xzIHdpdGggQ29tbWVudHNcclxuICogQHNlY3Rpb24gSW50ZXJhY3Rpb25zXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgRGlzcGxheSBwYWdlIHZpZXdzXHJcbiAqIEBtYXJrdXBcclxuICogIDxkaXYgY2xhc3M9XCJpbnRlcmFjdGlvbi1jb250cm9sc1wiPlxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJ2aWV3c1wiPlxyXG4gKiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3ZpZXdzXCIgLz5cclxuICogICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgIDxwPjEuMms8L3A+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqICA8L2Rpdj5cclxuICovXG4uaW50ZXJhY3Rpb24tY29udHJvbHMgLnZpZXdzIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIEludGVyYWN0aW9uIENvbnRyb2xzIHdpdGggQ29tbWVudHNcclxuICogQHNlY3Rpb24gSW50ZXJhY3Rpb25zXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgQ29tbWVudCB3aXRoIGFuZCB3aXRob3V0IGNvbW1lbnRzXHJcbiAqIEBtYXJrdXBcclxuICogIDxkaXYgY2xhc3M9XCJpbnRlcmFjdGlvbi1jb250cm9sc1wiPlxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50c1wiPlxyXG4gKiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2NvbW1lbnRzXCIgLz5cclxuICogICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgIDxwPjA8L3A+XHJcbiAqICAgICAgPC9kaXY+ICAgICAgXHJcbiAqICA8L2Rpdj5cclxuICogIDxocj5cclxuICogIDxkaXYgY2xhc3M9XCJpbnRlcmFjdGlvbi1jb250cm9sc1wiPlxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJjb21tZW50c1wiPlxyXG4gKiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2NvbW1lbnRzXCIgLz5cclxuICogICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgIDxwPkNvbW1lbnQ8L3A+XHJcbiAqICAgICAgPC9kaXY+ICAgICAgXHJcbiAqICA8L2Rpdj5cclxuICovXG4uaW50ZXJhY3Rpb24tY29udHJvbHMgLmNvbW1lbnRzIHtcbiAgY29sb3I6ICNjY2M7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMjVzOyB9XG5cbi5ib3JkZXItYXJyb3cge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICAuYm9yZGVyLWFycm93OmFmdGVyLCAuYm9yZGVyLWFycm93OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5ib3JkZXItYXJyb3c6YWZ0ZXIge1xuICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICBtYXJnaW4tbGVmdDogLTEwcHg7IH1cbiAgLmJvcmRlci1hcnJvdzpiZWZvcmUge1xuICAgIGJvcmRlci13aWR0aDogMTJweDtcbiAgICBtYXJnaW4tbGVmdDogLTEycHg7IH1cblxuLyoqXHJcbiAqXHJcbiAqIEBhdG9tIEJvcmRlciBBcnJvdyBCb3R0b21cclxuICogQHNlY3Rpb24gQm9yZGVyIEFycm93c1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEJvdHRvbSBib3JkZXIgYXJyb3dcclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cImJvcmRlci1hcnJvdyBhcnJvdy1ib3R0b21cIj5cclxuICogICAgICBTb21lIGNvbnRlbnQgaGVyZS4uLlxyXG4gKiAgPC9kaXY+XHJcbiAqL1xuLmFycm93LWJvdHRvbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5hcnJvdy1ib3R0b206YWZ0ZXIsIC5hcnJvdy1ib3R0b206YmVmb3JlIHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5hcnJvdy1ib3R0b206YWZ0ZXIge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7IH1cbiAgLmFycm93LWJvdHRvbTpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNjY2M7IH1cblxuLmJvcmRlci1hcnJvdy5hcnJvdy1ib3R0b20uZGFyayB7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cbiAgLmJvcmRlci1hcnJvdy5hcnJvdy1ib3R0b20uZGFyazpiZWZvcmUge1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMwMDA7IH1cbiAgLmJvcmRlci1hcnJvdy5hcnJvdy1ib3R0b20uZGFyazphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzAwMDsgfVxuXG4vKipcclxuICpcclxuICogQGF0b20gQm9yZGVyIEFycm93IFRvcFxyXG4gKiBAc2VjdGlvbiBCb3JkZXIgQXJyb3dzXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgVG9wIGJvcmRlciBhcnJvd1xyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWFycm93IGFycm93LXRvcFwiPlxyXG4gKiAgICAgIFNvbWUgY29udGVudCBoZXJlLi4uXHJcbiAqICA8L2Rpdj5cclxuICovXG4uYXJyb3ctdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7IH1cbiAgLmFycm93LXRvcDphZnRlciwgLmFycm93LXRvcDpiZWZvcmUge1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmFycm93LXRvcDpiZWZvcmUge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNjY2M7IH1cbiAgLmFycm93LXRvcDphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogI2ZmZjsgfVxuXG4uYm9yZGVyLWFycm93LmFycm93LXRvcC5kYXJrIHtcbiAgYm9yZGVyLWNvbG9yOiAjNTU1OyB9XG4gIC5ib3JkZXItYXJyb3cuYXJyb3ctdG9wLmRhcms6YmVmb3JlIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNTU1OyB9XG4gIC5ib3JkZXItYXJyb3cuYXJyb3ctdG9wLmRhcms6YWZ0ZXIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICMwMDA7IH1cblxuLyoqXHJcbiAqIEBpY29uIEdlYXJzaGlmdCBcclxuICogQHNlY3Rpb24gSWNvbnNcclxuICogQG1hcmt1cFxyXG4gKiAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZ2VhcnNoaWZ0XCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gQ29tbWVudHMgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI2NvbW1lbnRzXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gU2hhcmUgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI3NoYXJlXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGljb24gVmlld3MgXHJcbiAqIEBzZWN0aW9uIEljb25zXHJcbiAqIEBtYXJrdXBcclxuICogICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgPHVzZSB4bGluazpocmVmPVwiI3ZpZXdzXCIgLz5cclxuICogICA8L3N2Zz5cclxuICovXG4vKipcclxuICogQGF0b20gU2lkZWJhciBIaWdobGlnaHRcclxuICogQHNlY3Rpb24gU2lkZWJhclxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogICBTaWRlYmFyIGhpZ2hsaWdodFxyXG4gKiBAbWFya3VwXHJcbiAqICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oaWdobGlnaHRcIj5cclxuICogICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhclwiPkB7bGlwc3VtOjEwOndvcmRzfTwvZGl2PlxyXG4gKiAgICAgPC9kaXY+XHJcbiAqICA8aHI+XHJcbiAqICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1oaWdobGlnaHRcIj5cclxuICogICAgICA8ZGl2IGNsYXNzPVwic2lkZWJhci1sZWZ0XCI+QHtsaXBzdW06MTA6d29yZHN9PC9kaXY+XHJcbiAqICAgICA8L2Rpdj5cclxuICovXG4uc2lkZWJhci1oaWdobGlnaHQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuc2lkZWJhci1oaWdobGlnaHQge1xuICAgICAgcGFkZGluZzogMCAyLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIC5zaWRlYmFyLWhpZ2hsaWdodCB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAuc2lkZWJhci1oaWdobGlnaHQuaGlnaGxpZ2h0LWxlZnQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYzsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLnNpZGViYXItaGlnaGxpZ2h0LmhpZ2hsaWdodC1yaWdodCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7IH0gfVxuICAuc2lkZWJhci1oaWdobGlnaHQgLnNpZGViYXItZGFya2VyIHtcbiAgICBwYWRkaW5nOiAyLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLnNpZGViYXItaGlnaGxpZ2h0IC5zaWRlYmFyLWRhcmtlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMi41cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0yLjVyZW07IH0gfVxuXG4vKipcclxuICogQGF0b20gV2lkZ2V0IEJhc2VsaW5lXHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgV2lkZ2V0IEJhc2VsaW5lXHJcbiAqIEBtYXJrdXAgXHJcbiAqICA8ZGl2IGNsYXNzPVwibWVkaWEtd2lkZ2V0XCI+XHJcbiAqICAgICAgPGgxPlN0YW5kYXJkIFdpZGdldDwvaDE+XHJcbiAqICAgICAgPHA+V2l0aCBzb21lIHN0YW5kYXJkIGNvbnRlbnQgaW4gaGVyZS4uLjwvcD5cclxuICogIDwvZGl2PiAgICAgICAgXHJcbiAqL1xuLm1lZGlhLXdpZGdldCB7XG4gIG1hcmdpbjogNDBweCAwO1xuICBwYWRkaW5nOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmRhcmtlci13aWRnZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBGb2xsb3cgd2lkZ2V0XHJcbiAqIEBzZWN0aW9uIFdpZGdldHNcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgRm9sbG93IHVzIHdpZGdldFxyXG4gKiBAbWFya3VwIFxyXG4gKiAgPGRpdiBjbGFzcz1cIm1lZGlhLXdpZGdldFwiPlxyXG4gKiAgICAgIDxoMT5TdGFuZGFyZCBXaWRnZXQ8L2gxPlxyXG4gKiAgICAgIDxwPldpdGggc29tZSBzdGFuZGFyZCBjb250ZW50IGluIGhlcmUuLi48L3A+XHJcbiAqICA8L2Rpdj4gICAgICAgIFxyXG4gKi9cbi5mb2xsb3ctd2lkZ2V0IGgyIHtcbiAgZm9udC1zaXplOiAxLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGh1bWItY2FwdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICM3YzgwODM7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRodW1iLWNhcHRpb24gLmNyZWRpdCxcbiAgLnRodW1iLWNhcHRpb24gLmNhcHRpb24ge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC50aHVtYi1jYXB0aW9uIC5jcmVkaXQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICAudGh1bWItY2FwdGlvbiAuY2FwdGlvbiArIC5jcmVkaXQsXG4gIC50aHVtYi1jYXB0aW9uIC5jcmVkaXQgKyAuY2FwdGlvbiB7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG5cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGNvbnRlbnQ6IFwiIFwiO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIGltZy5hbGlnbi1sZWZ0IGgyLFxuICBpbWcuYWxpZ24tbGVmdCBoMyxcbiAgaW1nLmFsaWduLWxlZnQgaDQsXG4gIGltZy5hbGlnbi1sZWZ0IGg1LFxuICBpbWcuYWxpZ24tbGVmdCBoNiwgaW1nLmFsaWduLXJpZ2h0IGgyLFxuICBpbWcuYWxpZ24tcmlnaHQgaDMsXG4gIGltZy5hbGlnbi1yaWdodCBoNCxcbiAgaW1nLmFsaWduLXJpZ2h0IGg1LFxuICBpbWcuYWxpZ24tcmlnaHQgaDYge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmNvbHVtbiBpbWcsXG4uY29sdW1uIGVtYmVkLFxuLmNvbHVtbiB2aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uIGltZyxcbi5jb2x1bW4gdmlkZW8ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuZmlndXJlLnRodW1iLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50aHVtYiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnRodW1iIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbnRlbnQtdGh1bWIge1xuICBtYXJnaW46IDEuNWVtIGF1dG87IH1cbiAgLmNvbnRlbnQtdGh1bWIudGh1bWItY29sIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWF4LXdpZHRoOiA5NDBweDsgfVxuICAgIC5jb250ZW50LXRodW1iLnRodW1iLWNvbCAudGh1bWIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgLmNvbnRlbnQtdGh1bWIudGh1bWItY29sIC50aHVtYi1lcXVhbCB7XG4gICAgICB3aWR0aDogNDglOyB9XG4gICAgLmNvbnRlbnQtdGh1bWIudGh1bWItY29sIC50aHVtYi1lcXVhbCArIC50aHVtYi1lcXVhbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMSU7IH1cbiAgICAuY29udGVudC10aHVtYi50aHVtYi1jb2wgLnRodW1iLWxhcmdlciB7XG4gICAgICB3aWR0aDogNjQlOyB9XG4gICAgLmNvbnRlbnQtdGh1bWIudGh1bWItY29sIC50aHVtYi1zbWFsbGVyIHtcbiAgICAgIHdpZHRoOiAzMyU7IH1cbiAgICAuY29udGVudC10aHVtYi50aHVtYi1jb2wgLnRodW1iLWxhcmdlciArIC50aHVtYi1zbWFsbGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxJTsgfVxuICAgIC5jb250ZW50LXRodW1iLnRodW1iLWNvbCAudGh1bWItc21hbGxlciArIC50aHVtYi1sYXJnZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IDElOyB9XG4gIC5jb250ZW50LXRodW1iLmNhcHRpb25zIHtcbiAgICBib3JkZXItYm90dG9tOiA0cHggc29saWQgI2ZmZTExZjsgfVxuICAuY29udGVudC10aHVtYiAudGh1bWItY2VudGVyLWNyb3AgaW1nIHtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgICBmb250LWZhbWlseTogXCJvYmplY3QtZml0OiBjb3Zlcjsgb2JqZWN0LXBvc2l0aW9uOiBjZW50ZXI7XCI7IH1cbiAgLmNvbnRlbnQtdGh1bWIgLnRodW1iLWxhcmdlciAudGh1bWItY2VudGVyLWNyb3AgaW1nLFxuICAuY29udGVudC10aHVtYiAudGh1bWItc21hbGxlciAudGh1bWItY2VudGVyLWNyb3AgaW1nIHtcbiAgICBoZWlnaHQ6IDMyNXB4OyB9XG5cbi5jb250ZW50LXRodW1iICsgLmNvbnRlbnQtdGh1bWIge1xuICBtYXJnaW4tdG9wOiAtMWVtOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBObyBJbWFnZSBQbGFjZWhvbGRlclxyXG4gKiBAc2VjdGlvbiBJbWFnZXMgPiBObyBJbWFnZVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogICBObyBpbWFnZSBhdmFpbGFibGUgcGxhY2Vob2xkZXJcclxuICogQG1hcmt1cFxyXG4gKiAgICAgPGRpdiBjbGFzcz1cIm5vLXRodW1iXCI+XHJcbiAqICAgICAgJm5ic3A7XHJcbiAqICAgICA8L2Rpdj5cclxuICovXG4ubm8tdGh1bWIge1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpSUhacFpYZENiM2c5SWpBZ01DQXhOemN1TVNBeE56Y3VNU0krUEhCaGRHZ2djM1I1YkdVOUltWnBiR3c2SUNOalkyTTdJaUJrUFNKTk9EUXVORGdzT1M0eU5XRTJNQzQwTVN3Mk1DNDBNU3d3TERFc01DdzJNQzQwTVN3Mk1DNDBNV2d3UVRZd0xqUXhMRFl3TGpReExEQXNNQ3d3TERnMExqUTRMRGt1TWpWYVRURXlNUzR6TkN3NU55NDFZekFzTXk0ME15MHpMak0yTERZdU1pMDJMamM0TERZdU1uTXROaTQzT0MweUxqYzRMVFl1TnpndE5pNHlZVFl1TURZc05pNHdOaXd3TERBc01Td3lMalk1TFRRdU9EVldOekl1TnpOakxUY3VNamN0TGpZMkxURTBMalUxTFM0NU5TMHlNUzQwTVMweFZqazJMak14WVRVdU9UUXNOUzQ1TkN3d0xEQXNNU3d5TGpJMUxEUXVOV013TERNdU5ETXRNeTR6Tml3MkxqSXROaTQzT0N3MkxqSnpMVFl1TnpndE1pNDNPQzAyTGpjNExUWXVNbUUxTGprc05TNDVMREFzTUN3eExESXVNUzAwTGpNNFZqY3hMamM0WXkweE55NHhMak0zTFRJNUxqYzFMREV1T0RjdE1qa3VOelVzTVM0NE4xWTBNaTR5Tm1FMkxEWXNNQ3d3TERFdE1pNDJNaTAwTGpoak1DMHpMalF6TERNdU16WXROaTR5TERZdU56Z3ROaTR5Y3pZdU56Z3NNaTQzT0N3MkxqYzRMRFl1TW1FMkxEWXNNQ3d3TERFdE1pNDJNeXcwTGpoV05qUXVPRGRqTlM0ek1TMHVORE1zTVRJdU56a3RMamtzTWpFdU5ERXRNUzR3TjFZek5TNDJOR0UxTGprc05TNDVMREFzTUN3eExUSXVNUzAwTGpNNFl6QXRNeTQwTXl3ekxqTTJMVFl1TWl3MkxqYzRMVFl1TW5NMkxqYzRMREl1Tnpnc05pNDNPQ3cyTGpKaE5TNDVOQ3cxTGprMExEQXNNQ3d4TFRJdU1qVXNOQzQxZGpJNFl6WXVPRFl1TURZc01UUXVNVFF1TXpRc01qRXVOREVzTVZZME1pNHlObUUyTERZc01Dd3dMREV0TWk0Mk1pMDBMamhqTUMwekxqUXpMRE11TXpZdE5pNHlMRFl1TnpndE5pNHljell1Tnpnc01pNDNPQ3cyTGpjNExEWXVNbUUyTERZc01Dd3dMREV0TWk0Mk1pdzBMamgyTlRBdU5VRTJMRFlzTUN3d0xERXNNVEl4TGpNMExEazNMalZhVFRnNExqVXpMREJCT0RndU5UVXNPRGd1TlRVc01Dd3hMREFzTVRjM0xqRXNPRGd1TlROb01FRTRPQzQxTlN3NE9DNDFOU3d3TERBc01DdzRPQzQxTXl3d1drMDROQzQwTVN3eE16UXVOekZqTFRNMUxqSTBMREF0TmpRdU1qa3RNamd1TnpjdE5qUXVNamt0TmpVc01DMHpOUzR5T1N3eU9TNHhNaTAyTXk0NU5pdzJOQzR6TmkwMk15NDVObE14TkRndU5pd3pOQzR6TWl3eE5EZ3VOaXcyT1M0MU5rTXhORGd1TmpZc01UQTFMamtzTVRFNUxqWTFMREV6TkM0M01TdzROQzQwTVN3eE16UXVOekZhSWk4K1BDOXpkbWMrXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgNTAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IDI1JTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5uby10aHVtYiB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE4JTsgfSB9XG5cbi5sb25nLXN0b3J5IC5uby10aHVtYiB7XG4gIGhlaWdodDogMzI1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cblxuLnNob3J0LXN0b3J5IC5uby10aHVtYiB7XG4gIGhlaWdodDogMTc1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLyoqXHJcbiAqIEBhdG9tIENvbG9yIENoYW5naW5nIFRodW1ibmFpbFxyXG4gKiBAc2VjdGlvbiBJbWFnZXMgPiBUaHVtYm5haWxcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICAgSG92ZXIgY29sb3IgY2hhbmdlIGVmZmVjdFxyXG4gKiBAbWFya3VwXHJcbiAqICAgICA8ZmlndXJlIGNsYXNzPVwicHJldmlldy10aHVtYi1jb250YWluZXJcIiBzdHlsZT1cIndpZHRoOiA0MDBweDtcIj5cclxuICogICAgICA8c3BhbiBjbGFzcz1cInRodW1iIHRodW1iLXNtYWxsIHRodW1iLWhvdmVyLWNvbG9yXCI+PGltZyBzcmM9XCIuLi9pbWcvdGh1bWIucG5nXCI+PC9zcGFuPlxyXG4gKiAgICAgPC9maWd1cmU+XHJcbiAqL1xuLnRodW1iLnRodW1iLWNvbG9yOmFmdGVyLCAudGh1bWIudGh1bWItaG92ZXItY29sb3I6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1czsgfVxuXG4udGh1bWIudGh1bWItaG92ZXItY29sb3I6aG92ZXI6YWZ0ZXIsIC5zdG9yeS1saW5rOmhvdmVyIC50aHVtYi50aHVtYi1jb2xvcjphZnRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMSwgMTI1LCAxOTksIDAuODUpOyB9XG5cbi50aHVtYi50aHVtYi1jb2xvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4vKipcclxuICogQGF0b20gWm9vbWluZyBUaHVtYm5haWxcclxuICogQHNlY3Rpb24gSW1hZ2VzID4gVGh1bWJuYWlsXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgIEhvdmVyIHpvb20gZWZmZWN0XHJcbiAqIEBtYXJrdXBcclxuICogICAgIDxmaWd1cmUgY2xhc3M9XCJwcmV2aWV3LXRodW1iLWNvbnRhaW5lclwiIHN0eWxlPVwid2lkdGg6IDQwMHB4O1wiPlxyXG4gKiAgICAgIDxzcGFuIGNsYXNzPVwidGh1bWIgdGh1bWItc21hbGwgdGh1bWItaG92ZXItem9vbVwiPjxpbWcgc3JjPVwiLi4vaW1nL3RodW1iLnBuZ1wiPjwvc3Bhbj5cclxuICogICAgIDwvZmlndXJlPlxyXG4gKi9cbi50aHVtYi50aHVtYi1ob3Zlci16b29tOmhvdmVyIGltZywgLnN0b3J5LWxpbms6aG92ZXIgLnRodW1iLnRodW1iLXpvb20gaW1nIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xuICAtbW96LXRyYW5zZm9ybTogc2NhbGUoMS4xKTsgfVxuXG4udGh1bWIudGh1bWItaG92ZXItem9vbSBpbWcsXG4udGh1bWIudGh1bWItem9vbSBpbWcge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMXM7IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5ib2R5IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMS42ZW07XG4gIGNvbG9yOiAjMjMyMzIzOyB9XG5cbi8qKlxyXG4gKlxyXG4gKiBAYXRvbSBIZWFkbGluZVxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gVHlwb2dyYXBoeVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIEhlYWRsaW5lcyB3aGljaCB2aXN1YWxseSBzZXBhcmF0ZSBhbmQgaW50cm9kdWNlIGNvbnRlbnQuIEFsbCB0aGUgaGVhZGxpbmVzIHV0aWxpemUgdGhlIGJvbGQgaGVhZGluZ3MgZm9udC5cclxuICogQG1hcmt1cFxyXG4gKiAgPGgxPkhlYWRsaW5lIGgxIC0gMzZweDwvaDE+XHJcbiAqICA8aDI+SGVhZGxpbmUgaDIgLSAyOHB4PC9oMj5cclxuICogIDxoMz5IZWFkbGluZSBoMyAtIDI0cHg8L2gzPlxyXG4gKiAgPGg0PkhlYWRsaW5lIGg0IC0gMjBweDwvaDQ+XHJcbiAqICA8aDU+SGVhZGxpbmUgaDUgLSAxOHB4PC9oNT5cclxuICogIDxoNj5IZWFkbGluZSBoNiAtIDE2cHg8L2g2PlxyXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiO1xuICBmb250LXdlaWdodDogNjAwO1xuICBjb2xvcjogIzIzMjMyMztcbiAgbGluZS1oZWlnaHQ6IDEuMjVlbTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi4yNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4vKipcclxuICogQGF0b20gU3RvcnkgTGlzdCBIZWFkaW5nXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBUeXBvZ3JhcGh5XHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgU3RvcnkgbGlzdCBoZWFkaW5nIGZvciBhIHByZXZpZXcgbGlzdCBvZiBhcnRpY2xlcy5cclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cImJnLXNlY29uZGFyeVwiPlxyXG4gKiAgIDxoMSBjbGFzcz1cImxpc3QtaGVhZGluZyBwcmltYXJ5LWxpc3QtaGVhZGluZ1wiPlByaW1hcnk8L2gxPlxyXG4gKiAgIDxoMSBjbGFzcz1cImxpc3QtaGVhZGluZyBzZWNvbmRhcnktbGlzdC1oZWFkaW5nXCI+U2Vjb25kYXJ5PC9oMT5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5saXN0LWhlYWRpbmcge1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNjdNZENuIDY5MjcxMFwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmxpc3QtaGVhZGluZy5wcmltYXJ5LWxpc3QtaGVhZGluZyB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxpc3QtaGVhZGluZy5zZWNvbmRhcnktbGlzdC1oZWFkaW5nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTExZjsgfVxuXG4uc2lkZWJhci1sZWZ0IC5saXN0LWhlYWRpbmcucHJpbWFyeS1saXN0LWhlYWRpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTsgfVxuXG4ubGlzdC1oZWFkaW5nLWVsZXZhdGlvbiB7XG4gIG1hcmdpbi10b3A6IC0yLjVyZW07XG4gIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cblxuLyoqXHJcbiAqIEBhdG9tIENvbnRlbnRcclxuICogQHNlY3Rpb24gQ29udGVudCA+IFR5cG9ncmFwaHlcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBTdGFuZGFyZCBib2R5IGNvbnRlbnRcclxuICogQG1hcmt1cFxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+QHtsaXBzdW06MzpzZW50ZW5jZX08L2Rpdj5cclxuICovXG4jc3RvcnktYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDIuNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiR2VvcmdpYVwiLCBzZXJpZjsgfVxuXG4uY29udGVudCB7XG4gIG1hcmdpbjogMi41cmVtIDA7XG4gIGNsZWFyOiBib3RoO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjg3NWVtOyB9XG5cbi5mZWF0dXJlZC1zdG9yeSAuYXV0aG9yc2hpcC13cmFwcGVyICsgLmNvbnRlbnQsXG4uc3RhbmRhcmQtc3RvcnkgLmF1dGhvcnNoaXAtd3JhcHBlciArIC5jb250ZW50IHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAuZmVhdHVyZWQtc3RvcnkgLmNvbnRlbnQgcCxcbiAgLnN0YW5kYXJkLXN0b3J5IC5jb250ZW50IHAge1xuICAgIHBhZGRpbmc6IDAgNXJlbTsgfVxuICAuZmVhdHVyZWQtc3RvcnkgLmNvbnRlbnQgdWwsXG4gIC5mZWF0dXJlZC1zdG9yeSAuY29udGVudCBvbCxcbiAgLnN0YW5kYXJkLXN0b3J5IC5jb250ZW50IHVsLFxuICAuc3RhbmRhcmQtc3RvcnkgLmNvbnRlbnQgb2wge1xuICAgIHBhZGRpbmc6IDAgOHJlbTsgfVxuICAgIC5mZWF0dXJlZC1zdG9yeSAuY29udGVudCB1bCB1bCxcbiAgICAuZmVhdHVyZWQtc3RvcnkgLmNvbnRlbnQgdWwgb2wsXG4gICAgLmZlYXR1cmVkLXN0b3J5IC5jb250ZW50IG9sIHVsLFxuICAgIC5mZWF0dXJlZC1zdG9yeSAuY29udGVudCBvbCBvbCxcbiAgICAuc3RhbmRhcmQtc3RvcnkgLmNvbnRlbnQgdWwgdWwsXG4gICAgLnN0YW5kYXJkLXN0b3J5IC5jb250ZW50IHVsIG9sLFxuICAgIC5zdGFuZGFyZC1zdG9yeSAuY29udGVudCBvbCB1bCxcbiAgICAuc3RhbmRhcmQtc3RvcnkgLmNvbnRlbnQgb2wgb2wge1xuICAgICAgcGFkZGluZzogMCA0cmVtOyB9XG4gICAgLmZlYXR1cmVkLXN0b3J5IC5jb250ZW50IHVsIHAsXG4gICAgLmZlYXR1cmVkLXN0b3J5IC5jb250ZW50IG9sIHAsXG4gICAgLnN0YW5kYXJkLXN0b3J5IC5jb250ZW50IHVsIHAsXG4gICAgLnN0YW5kYXJkLXN0b3J5IC5jb250ZW50IG9sIHAge1xuICAgICAgcGFkZGluZzogMTBweCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7IH0gfVxuXG4uY29udGVudCAubGFyZ2VyIHtcbiAgZm9udC1mYW1pbHk6IFwiR2VvcmdpYVwiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLmNvbnRlbnQgLmxhcmdlciBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdlb3JnaWFcIiwgc2VyaWY7IH1cblxuLyoqXHJcbipcclxuKiBAYXRvbSBEcm9wIENhcHNcclxuKiBAc2VjdGlvbiBDb250ZW50ID4gQ29udGVudCBCbG9ja3NcclxuKiBAbWFya3VwXHJcbiogICA8ZGl2IGNsYXNzPVwiY29udGVudCBkcm9wLWNhcHNcIj5cclxuKiAgICAgPHA+QHtsaXBzdW06NjpzZW50ZW5jZX08L3A+ICBcclxuKiAgICAgPHA+QHtsaXBzdW06NjpzZW50ZW5jZX08L3A+XHJcbiogICA8L2Rpdj5cclxuKi9cbi5jb250ZW50LmRyb3AtY2FwcyA+IHA6Zmlyc3Qtb2YtdHlwZTo6Zmlyc3QtbGV0dGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1zaXplOiA2LjQ1ZW07XG4gIG1hcmdpbjogMC4yOGVtIC4xZW0gLjFlbSAwOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBCeWxpbmUgQ29ubmVjdG9yXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBUeXBvZ3JhcGh5XHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgQ29ubmVjdG9yIGxpbmUgZm9yIGFydGljbGUgcHJldmlldyBsaXN0cyBhbmQgZ3JhcGhpY1xyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cImJ5bGluZS1jb25uZWN0b3JcIj5CeSA8YSBocmVmPVwiI1wiPkJpbGwgU21pdGg8L2E+IC8vIDI0IG1pbnV0ZXMgYWdvPC9kaXY+XHJcbiAqL1xuLmJ5bGluZS1jb25uZWN0b3Ige1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmJ5bGluZS1jb25uZWN0b3I6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG5cbi5jb250ZW50IGgxLFxuLmNvbnRlbnQgaDIsXG4uY29udGVudCBoMyxcbi5jb250ZW50IGg0LFxuLmNvbnRlbnQgaDUsXG4uY29udGVudCBoNiB7XG4gIG1hcmdpbjogMC41ZW0gMDsgfVxuXG4uY29udGVudCBwIHtcbiAgbWFyZ2luOiAwIDAgMS41ZW0gMDsgfVxuXG4uY29udGVudCBwICsgaDEsXG4uY29udGVudCB1bCArIGgxLFxuLmNvbnRlbnQgb2wgKyBoMSB7XG4gIG1hcmdpbjogMmVtIDAgLjVlbSAwOyB9XG5cbi5jb250ZW50IHAgKyBoMixcbi5jb250ZW50IHVsICsgaDIsXG4uY29udGVudCBvbCArIGgyIHtcbiAgbWFyZ2luOiAxLjc1ZW0gMCAuNWVtIDA7IH1cblxuLmNvbnRlbnQgcCArIGgzLFxuLmNvbnRlbnQgdWwgKyBoMyxcbi5jb250ZW50IG9sICsgaDMge1xuICBtYXJnaW46IDEuNWVtIDAgLjVlbSAwOyB9XG5cbi5jb250ZW50IHAgKyBoNCxcbi5jb250ZW50IHVsICsgaDQsXG4uY29udGVudCBvbCArIGg0LFxuLmNvbnRlbnQgcCArIGg1LFxuLmNvbnRlbnQgdWwgKyBoNSxcbi5jb250ZW50IG9sICsgaDUsXG4uY29udGVudCBwICsgaDYsXG4uY29udGVudCB1bCArIGg2LFxuLmNvbnRlbnQgb2wgKyBoNiB7XG4gIG1hcmdpbjogMS4yNWVtIDAgLjVlbSAwOyB9XG5cbi5jb250ZW50IHVsLFxuLmNvbnRlbnQgb2wge1xuICBtYXJnaW46IDAgMCAxLjc1ZW0gMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuY29udGVudCB1bCArIHVsLFxuICAuY29udGVudCB1bCArIG9sLFxuICAuY29udGVudCBvbCArIHVsLFxuICAuY29udGVudCBvbCArIG9sIHtcbiAgICBtYXJnaW4tdG9wOiAtMS4yNWVtOyB9XG5cbi5jb250ZW50IHVsIHVsLFxuLmNvbnRlbnQgb2wgb2wsXG4uY29udGVudCB1bCBvbCxcbi5jb250ZW50IG9sIHVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGVudCBzdWIsIC5jb250ZW50IHN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuLmNvbnRlbnQgc3VwIHtcbiAgdG9wOiAtLjVlbTsgfVxuXG4uY29udGVudCBzdWIge1xuICBib3R0b206IC0uMjVlbTsgfVxuXG4uY29udGVudCBkdCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5jb250ZW50IGRkIHtcbiAgbWFyZ2luLWJvdHRvbTogLjVyZW07XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5jb250ZW50IG1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmZlMTFmO1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY29udGVudCBjb2RlLFxuLmNvbnRlbnQga2JkLFxuLmNvbnRlbnQgcHJlLFxuLmNvbnRlbnQgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2Usc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi5jb250ZW50IHByZSB7XG4gIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDsgfVxuXG4uY29udGVudCBxIHtcbiAgcXVvdGVzOiBcIuKAnFwiIFwi4oCdXCIgXCLigJhcIiBcIuKAmVwiOyB9XG4gIC5jb250ZW50IHE6YmVmb3JlIHtcbiAgICBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG4gIC5jb250ZW50IHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBTdG9yeSBIZXJvIEJ5bGluZVxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gQnlsaW5lXHJcbiAqIEBkZXNjcmlwdGlvblxyXG4gKiAgVGhlIHByaW1hcnkgdGl0bGUgb2YgYSBwYWdlLCBzdG9yeSwgcHJlc3MgcmVsZWFzZSwgZXRjLlxyXG4gKiBAbWFya3VwXHJcbiAqICA8ZGl2IGNsYXNzPVwic3RvcnktaGVhZGVyXCI+XHJcbiAqICAgPHAgY2xhc3M9XCJieWxpbmVcIj5ieSA8YSBocmVmPVwiI1wiIHJlbD1cImF1dGhvclwiPldpbGxpYW0gVC4gTWNHaXRoZXJzPC9hPjwvcD5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5zdG9yeS1oZWFkZXIgLmJ5bGluZSwgLmRhcmstaGVhZGxpbmUgLmJ5bGluZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4uYXV0aG9yc2hpcC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS00N0x0Q24gNjkyNjg2XCI7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgY29sb3I6ICM3YzgwODM7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYXV0aG9yc2hpcC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgNXJlbTsgfSB9XG5cbi5ieWxpbmUtbWVyZ2VkLWNlbnRlcmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmJ5bGluZS1tZXJnZWQge1xuICBjb2xvcjogIzdjODA4MzsgfVxuICAuYnlsaW5lLW1lcmdlZCAuYnlsaW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJ5bGluZS1tZXJnZWQgLnB1Ymxpc2gtZGF0ZS1zdGFtcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyoqXHJcbiAqIEBhdG9tIEJ5bGluZSBDb25uZWN0b3JcclxuICogQHNlY3Rpb24gQ29udGVudCA+IEJ5bGluZVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIENvbm5lY3RvciBsaW5lIGZvciBzdG9yeSBwcmV2aWV3IGxpc3RzIGFuZCBncmFwaGljXHJcbiAqIEBtYXJrdXBcclxuICogICA8ZGl2IGNsYXNzPVwiYnlsaW5lLWNvbm5lY3RvclwiPkJ5IDxhIGhyZWY9XCIjXCI+QmlsbCBTbWl0aDwvYT4gLy8gMjQgbWludXRlcyBhZ288L2Rpdj5cclxuICovXG4uYnlsaW5lLWNvbm5lY3RvciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmJ5bGluZS1jb25uZWN0b3Ige1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtNzAwcHg7IH0gfVxuICAuYnlsaW5lLWNvbm5lY3Rvcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgQG1lZGlhIChtYXgtd2lkdGg6IDUwZW0pIHtcbiAgICAgIC5ieWxpbmUtY29ubmVjdG9yOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKipcclxuICpcclxuICogQGF0b20gQmxvY2txdW90ZVxyXG4gKiBAc2VjdGlvbiBDb250ZW50ID4gQmxvY2txdW90ZVxyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFRoZSBkZWZhdWx0IHN0eWxlIGZvciBibG9ja3F1b3RlXHJcbiAqIEBtYXJrdXBcclxuICogIDxkaXYgY2xhc3M9XCJjb250ZW50XCI+XHJcbiAqICAgIDxibG9ja3F1b3RlPiBcclxuICogICAgICA8cD5cIkB7bGlwc3VtOjE6c2VudGVuY2V9XCI8L3A+XHJcbiAqICAgICAgIDxmb290ZXI+LSA8Y2l0ZT5TdGVwaGVuIFJvYmVydHM8L2NpdGU+PC9mb290ZXI+XHJcbiAqICAgIDwvYmxvY2txdW90ZT5cclxuICogIDwvZGl2PlxyXG4gKi9cbi5jb250ZW50IGJsb2NrcXVvdGUge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW46IDAgMCAxLjVlbSAwO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwO1xuICBib3JkZXItbGVmdDogMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG4gIC5jb250ZW50IGJsb2NrcXVvdGU6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbnRlbnQgYmxvY2txdW90ZSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogM3JlbTtcbiAgICBmb250LWZhbWlseTogXCJUdW5nc3RlbiBBXCIsIFwiVHVuZ3N0ZW4gQlwiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwMTdEQzc7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAuY29udGVudCBibG9ja3F1b3RlIGZvb3RlciB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS00N0x0Q24gNjkyNjg2XCI7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBjb2xvcjogIzdjODA4MzsgfVxuICAgIC5jb250ZW50IGJsb2NrcXVvdGUgZm9vdGVyIGNpdGUge1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsOyB9XG5cbi8qKlxyXG4gKiBAYXRvbSBTdG9yeSBIZXJvIFRpdGxlXHJcbiAqIEBzZWN0aW9uIENvbnRlbnQgPiBIZWFkbGluZXNcclxuICogQGRlc2NyaXB0aW9uXHJcbiAqICBUaGUgcHJpbWFyeSBzdG9yeSB0aXRsZVxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGgxIGNsYXNzPVwidGl0bGVcIj5TdG9yeSBIZXJvIFRpdGxlPC9oMT5cclxuICovXG5oZWFkZXIgLnRpdGxlLFxuLmNvdmVyLWhlYWRsaW5lLWNvbnRhaW5lciAudGl0bGUge1xuICBmb250LXNpemU6IDNyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjFlbTsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIGhlYWRlciAudGl0bGUsXG4gICAgLmNvdmVyLWhlYWRsaW5lLWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzLjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIGhlYWRlciAudGl0bGUsXG4gICAgLmNvdmVyLWhlYWRsaW5lLWNvbnRhaW5lciAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiA1cmVtOyB9IH1cblxuLyoqXHJcbiAqIEBhdG9tIFN0b3J5IEhlcm8gU3VidGl0bGVcclxuICogQHNlY3Rpb24gQ29udGVudCA+IEhlYWRsaW5lc1xyXG4gKiBAZGVzY3JpcHRpb25cclxuICogIFRoZSBzdG9yeSBzdWJ0aXRsZS5cclxuICogQG1hcmt1cFxyXG4gKiAgIDxoMiBjbGFzcz1cInN1YnRpdGxlXCI+U3VidGl0bGU8L2gyPlxyXG4gKi9cbmhlYWRlciAuc3VidGl0bGUsXG4uY292ZXItaGVhZGxpbmUtY29udGFpbmVyIC5zdWJ0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYU5ldWVXMDEtNDdMdENuIDY5MjY4NlwiO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDIuMHJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkge1xuICAgIGhlYWRlciAuc3VidGl0bGUsXG4gICAgLmNvdmVyLWhlYWRsaW5lLWNvbnRhaW5lciAuc3VidGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH0gfVxuXG4uaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktY29udHJvbC13cmFwcGVyIHtcbiAgcGFkZGluZzogMS4yNXJlbSAwIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktY29udHJvbC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4uaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktdmlld2VyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBoZWlnaHQ6IDE3MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktdmlld2VyIHtcbiAgICAgIGhlaWdodDogMjYwcHg7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS12aWV3ZXIge1xuICAgICAgaGVpZ2h0OiAzNDBweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LXZpZXdlciB7XG4gICAgICBoZWlnaHQ6IDQzMHB4OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDgwZW0pIHtcbiAgICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktdmlld2VyIHtcbiAgICAgIGhlaWdodDogNTYwcHg7IH0gfVxuXG4uZ2FsbGVyeS13cmFwcGVyIC5nYWxsZXJ5LXZpZXdlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZ2FsbGVyeS13cmFwcGVyIC5nYWxsZXJ5LXZpZXdlciBmaWd1cmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5nYWxsZXJ5LW1vZGFsIC5jYXB0aW9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmZlMTFmO1xuICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbTtcbiAgY29sb3I6IHdoaXRlO1xuICBtYXJnaW46IDAgMi41cmVtO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMzIzMjM7IH1cblxuLmdhbGxlcnktbW9kYWwgLmNhcHRpb24td3JhcHBlciAuY3JlZGl0IHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBmb250LXNpemU6IDEycHg7XG4gIGNvbG9yOiAjY2NjO1xuICBwYWRkaW5nLWJvdHRvbTogNXB4OyB9XG5cbi5nYWxsZXJ5LWhlYWRlciAuZ2FsbGVyeS1jb250cm9sLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5nYWxsZXJ5LWhlYWRlciAuaWNvbi13cmFwcGVyIHtcbiAgZm9udC1zaXplOiAyLjA4NHJlbTtcbiAgbGluZS1oZWlnaHQ6IDAuNWVtOyB9XG4gIC5nYWxsZXJ5LWhlYWRlciAuaWNvbi13cmFwcGVyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZTExZjsgfVxuXG4uZ2FsbGVyeS1oZWFkZXIgLmljb24td3JhcHBlcixcbi5nYWxsZXJ5LWhlYWRlciAuZ2FsbGVyeS1wb3NpdGlvbiB7XG4gIHBhZGRpbmc6IDAgMTBweDsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC5nYWxsZXJ5LWhlYWRlciAuaWNvbi13cmFwcGVyLFxuICAgIC5nYWxsZXJ5LWhlYWRlciAuZ2FsbGVyeS1wb3NpdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH0gfVxuXG4uZ2FsbGVyeS1oZWFkZXIgLnNoYXJlLWNvbnRhaW5lciAuc29jaWFsLW1lZGlhLWljb25zIC5pY29uLXdyYXBwZXIge1xuICBmb250LXNpemU6IDEuMzVyZW07IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDIwZW0pIHtcbiAgICAuZ2FsbGVyeS1oZWFkZXIgLnNoYXJlLWNvbnRhaW5lciAuc29jaWFsLW1lZGlhLWljb25zIC5pY29uLXdyYXBwZXIge1xuICAgICAgZm9udC1zaXplOiAxLjE1cmVtOyB9IH1cbiAgLmdhbGxlcnktaGVhZGVyIC5zaGFyZS1jb250YWluZXIgLnNvY2lhbC1tZWRpYS1pY29ucyAuaWNvbi13cmFwcGVyOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG5AbWVkaWEgKG1heC13aWR0aDogMzBlbSkge1xuICAuZ2FsbGVyeS1oZWFkZXIgLmdyaWQtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmdhbGxlcnktaGVhZGVyIC5ncmlkLWNvbnRhaW5lcjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZ2FsbGVyeS1oZWFkZXIgLmNsb3NlLWNvbnRhaW5lcjpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZ2FsbGVyeS1tb2RhbCAuZ2FsbGVyeS1oZWFkZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmdhbGxlcnktbW9kYWwgLmdhbGxlcnktaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH0gfVxuXG4uZ2FsbGVyeS1tb2RhbCAuaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBuTVRZNGNIZ25JR2hsYVdkb2REMG5NVFk0Y0hnbklIaHRiRzV6UFNKb2RIUndPaTh2ZDNkM0xuY3pMbTl5Wnk4eU1EQXdMM04yWnlJZ2RtbGxkMEp2ZUQwaU1DQXdJREV3TUNBeE1EQWlJSEJ5WlhObGNuWmxRWE53WldOMFVtRjBhVzg5SW5oTmFXUlpUV2xrSWlCamJHRnpjejBpZFdsc0xXUmxabUYxYkhRaVBqeHlaV04wSUhnOUlqQWlJSGs5SWpBaUlIZHBaSFJvUFNJeE1EQWlJR2hsYVdkb2REMGlNVEF3SWlCbWFXeHNQU0p1YjI1bElpQmpiR0Z6Y3owaVltc2lQand2Y21WamRENDhjbVZqZENBZ2VEMG5ORGtuSUhrOUp6UTNKeUIzYVdSMGFEMG5NaWNnYUdWcFoyaDBQU2MySnlCeWVEMG5NQ2NnY25rOUp6QW5JR1pwYkd3OUp5Tm1abVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0RBZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHlNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3RNWE1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwT1NjZ2VUMG5ORGNuSUhkcFpIUm9QU2N5SnlCb1pXbG5hSFE5SnpZbklISjRQU2N3SnlCeWVUMG5NQ2NnWm1sc2JEMG5JMlptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb01UZ2dOVEFnTlRBcElIUnlZVzV6YkdGMFpTZ3dJQzB5TUNrblBpQWdQR0Z1YVcxaGRHVWdZWFIwY21saWRYUmxUbUZ0WlQwbmIzQmhZMmwwZVNjZ1puSnZiVDBuTVNjZ2RHODlKekFuSUdSMWNqMG5NWE1uSUdKbFoybHVQU2N0TUM0NU5YTW5JSEpsY0dWaGRFTnZkVzUwUFNkcGJtUmxabWx1YVhSbEp5OCtQQzl5WldOMFBqeHlaV04wSUNCNFBTYzBPU2NnZVQwbk5EY25JSGRwWkhSb1BTY3lKeUJvWldsbmFIUTlKelluSUhKNFBTY3dKeUJ5ZVQwbk1DY2dabWxzYkQwbkkyWm1aaWNnZEhKaGJuTm1iM0p0UFNkeWIzUmhkR1VvTXpZZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHlNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3RNQzQ1Y3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEhKbFkzUWdJSGc5SnpRNUp5QjVQU2MwTnljZ2QybGtkR2c5SnpJbklHaGxhV2RvZEQwbk5pY2djbmc5SnpBbklISjVQU2N3SnlCbWFXeHNQU2NqWm1abUp5QjBjbUZ1YzJadmNtMDlKM0p2ZEdGMFpTZzFOQ0ExTUNBMU1Da2dkSEpoYm5Oc1lYUmxLREFnTFRJd0tTYytJQ0E4WVc1cGJXRjBaU0JoZEhSeWFXSjFkR1ZPWVcxbFBTZHZjR0ZqYVhSNUp5Qm1jbTl0UFNjeEp5QjBiejBuTUNjZ1pIVnlQU2N4Y3ljZ1ltVm5hVzQ5Snkwd0xqZzFjeWNnY21Wd1pXRjBRMjkxYm5ROUoybHVaR1ZtYVc1cGRHVW5MejQ4TDNKbFkzUStQSEpsWTNRZ0lIZzlKelE1SnlCNVBTYzBOeWNnZDJsa2RHZzlKekluSUdobGFXZG9kRDBuTmljZ2NuZzlKekFuSUhKNVBTY3dKeUJtYVd4c1BTY2pabVptSnlCMGNtRnVjMlp2Y20wOUozSnZkR0YwWlNnM01pQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVEl3S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKeTB3TGpoekp5QnlaWEJsWVhSRGIzVnVkRDBuYVc1a1pXWnBibWwwWlNjdlBqd3ZjbVZqZEQ0OGNtVmpkQ0FnZUQwbk5Ea25JSGs5SnpRM0p5QjNhV1IwYUQwbk1pY2dhR1ZwWjJoMFBTYzJKeUJ5ZUQwbk1DY2djbms5SnpBbklHWnBiR3c5SnlObVptWW5JSFJ5WVc1elptOXliVDBuY205MFlYUmxLRGt3SURVd0lEVXdLU0IwY21GdWMyeGhkR1VvTUNBdE1qQXBKejRnSUR4aGJtbHRZWFJsSUdGMGRISnBZblYwWlU1aGJXVTlKMjl3WVdOcGRIa25JR1p5YjIwOUp6RW5JSFJ2UFNjd0p5QmtkWEk5SnpGekp5QmlaV2RwYmowbkxUQXVOelZ6SnlCeVpYQmxZWFJEYjNWdWREMG5hVzVrWldacGJtbDBaU2N2UGp3dmNtVmpkRDQ4Y21WamRDQWdlRDBuTkRrbklIazlKelEzSnlCM2FXUjBhRDBuTWljZ2FHVnBaMmgwUFNjMkp5QnllRDBuTUNjZ2NuazlKekFuSUdacGJHdzlKeU5tWm1ZbklIUnlZVzV6Wm05eWJUMG5jbTkwWVhSbEtERXdPQ0ExTUNBMU1Da2dkSEpoYm5Oc1lYUmxLREFnTFRJd0tTYytJQ0E4WVc1cGJXRjBaU0JoZEhSeWFXSjFkR1ZPWVcxbFBTZHZjR0ZqYVhSNUp5Qm1jbTl0UFNjeEp5QjBiejBuTUNjZ1pIVnlQU2N4Y3ljZ1ltVm5hVzQ5Snkwd0xqZHpKeUJ5WlhCbFlYUkRiM1Z1ZEQwbmFXNWtaV1pwYm1sMFpTY3ZQand2Y21WamRENDhjbVZqZENBZ2VEMG5ORGtuSUhrOUp6UTNKeUIzYVdSMGFEMG5NaWNnYUdWcFoyaDBQU2MySnlCeWVEMG5NQ2NnY25rOUp6QW5JR1pwYkd3OUp5Tm1abVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0RFeU5pQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVEl3S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKeTB3TGpZMWN5Y2djbVZ3WldGMFEyOTFiblE5SjJsdVpHVm1hVzVwZEdVbkx6NDhMM0psWTNRK1BISmxZM1FnSUhnOUp6UTVKeUI1UFNjME55Y2dkMmxrZEdnOUp6SW5JR2hsYVdkb2REMG5OaWNnY25nOUp6QW5JSEo1UFNjd0p5Qm1hV3hzUFNjalptWm1KeUIwY21GdWMyWnZjbTA5SjNKdmRHRjBaU2d4TkRRZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHlNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3RNQzQyY3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEhKbFkzUWdJSGc5SnpRNUp5QjVQU2MwTnljZ2QybGtkR2c5SnpJbklHaGxhV2RvZEQwbk5pY2djbmc5SnpBbklISjVQU2N3SnlCbWFXeHNQU2NqWm1abUp5QjBjbUZ1YzJadmNtMDlKM0p2ZEdGMFpTZ3hOaklnTlRBZ05UQXBJSFJ5WVc1emJHRjBaU2d3SUMweU1Da25QaUFnUEdGdWFXMWhkR1VnWVhSMGNtbGlkWFJsVG1GdFpUMG5iM0JoWTJsMGVTY2dabkp2YlQwbk1TY2dkRzg5SnpBbklHUjFjajBuTVhNbklHSmxaMmx1UFNjdE1DNDFOWE1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwT1NjZ2VUMG5ORGNuSUhkcFpIUm9QU2N5SnlCb1pXbG5hSFE5SnpZbklISjRQU2N3SnlCeWVUMG5NQ2NnWm1sc2JEMG5JMlptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb01UZ3dJRFV3SURVd0tTQjBjbUZ1YzJ4aGRHVW9NQ0F0TWpBcEp6NGdJRHhoYm1sdFlYUmxJR0YwZEhKcFluVjBaVTVoYldVOUoyOXdZV05wZEhrbklHWnliMjA5SnpFbklIUnZQU2N3SnlCa2RYSTlKekZ6SnlCaVpXZHBiajBuTFRBdU5YTW5JSEpsY0dWaGRFTnZkVzUwUFNkcGJtUmxabWx1YVhSbEp5OCtQQzl5WldOMFBqeHlaV04wSUNCNFBTYzBPU2NnZVQwbk5EY25JSGRwWkhSb1BTY3lKeUJvWldsbmFIUTlKelluSUhKNFBTY3dKeUJ5ZVQwbk1DY2dabWxzYkQwbkkyWm1aaWNnZEhKaGJuTm1iM0p0UFNkeWIzUmhkR1VvTVRrNElEVXdJRFV3S1NCMGNtRnVjMnhoZEdVb01DQXRNakFwSno0Z0lEeGhibWx0WVhSbElHRjBkSEpwWW5WMFpVNWhiV1U5SjI5d1lXTnBkSGtuSUdaeWIyMDlKekVuSUhSdlBTY3dKeUJrZFhJOUp6RnpKeUJpWldkcGJqMG5MVEF1TkRWekp5QnlaWEJsWVhSRGIzVnVkRDBuYVc1a1pXWnBibWwwWlNjdlBqd3ZjbVZqZEQ0OGNtVmpkQ0FnZUQwbk5Ea25JSGs5SnpRM0p5QjNhV1IwYUQwbk1pY2dhR1ZwWjJoMFBTYzJKeUJ5ZUQwbk1DY2djbms5SnpBbklHWnBiR3c5SnlObVptWW5JSFJ5WVc1elptOXliVDBuY205MFlYUmxLREl4TmlBMU1DQTFNQ2tnZEhKaGJuTnNZWFJsS0RBZ0xUSXdLU2MrSUNBOFlXNXBiV0YwWlNCaGRIUnlhV0oxZEdWT1lXMWxQU2R2Y0dGamFYUjVKeUJtY205dFBTY3hKeUIwYnowbk1DY2daSFZ5UFNjeGN5Y2dZbVZuYVc0OUp5MHdMalJ6SnlCeVpYQmxZWFJEYjNWdWREMG5hVzVrWldacGJtbDBaU2N2UGp3dmNtVmpkRDQ4Y21WamRDQWdlRDBuTkRrbklIazlKelEzSnlCM2FXUjBhRDBuTWljZ2FHVnBaMmgwUFNjMkp5QnllRDBuTUNjZ2NuazlKekFuSUdacGJHdzlKeU5tWm1ZbklIUnlZVzV6Wm05eWJUMG5jbTkwWVhSbEtESXpOQ0ExTUNBMU1Da2dkSEpoYm5Oc1lYUmxLREFnTFRJd0tTYytJQ0E4WVc1cGJXRjBaU0JoZEhSeWFXSjFkR1ZPWVcxbFBTZHZjR0ZqYVhSNUp5Qm1jbTl0UFNjeEp5QjBiejBuTUNjZ1pIVnlQU2N4Y3ljZ1ltVm5hVzQ5Snkwd0xqTTFjeWNnY21Wd1pXRjBRMjkxYm5ROUoybHVaR1ZtYVc1cGRHVW5MejQ4TDNKbFkzUStQSEpsWTNRZ0lIZzlKelE1SnlCNVBTYzBOeWNnZDJsa2RHZzlKekluSUdobGFXZG9kRDBuTmljZ2NuZzlKekFuSUhKNVBTY3dKeUJtYVd4c1BTY2pabVptSnlCMGNtRnVjMlp2Y20wOUozSnZkR0YwWlNneU5USWdOVEFnTlRBcElIUnlZVzV6YkdGMFpTZ3dJQzB5TUNrblBpQWdQR0Z1YVcxaGRHVWdZWFIwY21saWRYUmxUbUZ0WlQwbmIzQmhZMmwwZVNjZ1puSnZiVDBuTVNjZ2RHODlKekFuSUdSMWNqMG5NWE1uSUdKbFoybHVQU2N0TUM0emN5Y2djbVZ3WldGMFEyOTFiblE5SjJsdVpHVm1hVzVwZEdVbkx6NDhMM0psWTNRK1BISmxZM1FnSUhnOUp6UTVKeUI1UFNjME55Y2dkMmxrZEdnOUp6SW5JR2hsYVdkb2REMG5OaWNnY25nOUp6QW5JSEo1UFNjd0p5Qm1hV3hzUFNjalptWm1KeUIwY21GdWMyWnZjbTA5SjNKdmRHRjBaU2d5TnpBZ05UQWdOVEFwSUhSeVlXNXpiR0YwWlNnd0lDMHlNQ2tuUGlBZ1BHRnVhVzFoZEdVZ1lYUjBjbWxpZFhSbFRtRnRaVDBuYjNCaFkybDBlU2NnWm5KdmJUMG5NU2NnZEc4OUp6QW5JR1IxY2owbk1YTW5JR0psWjJsdVBTY3RNQzR5TlhNbklISmxjR1ZoZEVOdmRXNTBQU2RwYm1SbFptbHVhWFJsSnk4K1BDOXlaV04wUGp4eVpXTjBJQ0I0UFNjME9TY2dlVDBuTkRjbklIZHBaSFJvUFNjeUp5Qm9aV2xuYUhROUp6WW5JSEo0UFNjd0p5QnllVDBuTUNjZ1ptbHNiRDBuSTJabVppY2dkSEpoYm5ObWIzSnRQU2R5YjNSaGRHVW9Namc0SURVd0lEVXdLU0IwY21GdWMyeGhkR1VvTUNBdE1qQXBKejRnSUR4aGJtbHRZWFJsSUdGMGRISnBZblYwWlU1aGJXVTlKMjl3WVdOcGRIa25JR1p5YjIwOUp6RW5JSFJ2UFNjd0p5QmtkWEk5SnpGekp5QmlaV2RwYmowbkxUQXVNbk1uSUhKbGNHVmhkRU52ZFc1MFBTZHBibVJsWm1sdWFYUmxKeTgrUEM5eVpXTjBQanh5WldOMElDQjRQU2MwT1NjZ2VUMG5ORGNuSUhkcFpIUm9QU2N5SnlCb1pXbG5hSFE5SnpZbklISjRQU2N3SnlCeWVUMG5NQ2NnWm1sc2JEMG5JMlptWmljZ2RISmhibk5tYjNKdFBTZHliM1JoZEdVb016QTJJRFV3SURVd0tTQjBjbUZ1YzJ4aGRHVW9NQ0F0TWpBcEp6NGdJRHhoYm1sdFlYUmxJR0YwZEhKcFluVjBaVTVoYldVOUoyOXdZV05wZEhrbklHWnliMjA5SnpFbklIUnZQU2N3SnlCa2RYSTlKekZ6SnlCaVpXZHBiajBuTFRBdU1UVnpKeUJ5WlhCbFlYUkRiM1Z1ZEQwbmFXNWtaV1pwYm1sMFpTY3ZQand2Y21WamRENDhjbVZqZENBZ2VEMG5ORGtuSUhrOUp6UTNKeUIzYVdSMGFEMG5NaWNnYUdWcFoyaDBQU2MySnlCeWVEMG5NQ2NnY25rOUp6QW5JR1pwYkd3OUp5Tm1abVluSUhSeVlXNXpabTl5YlQwbmNtOTBZWFJsS0RNeU5DQTFNQ0ExTUNrZ2RISmhibk5zWVhSbEtEQWdMVEl3S1NjK0lDQThZVzVwYldGMFpTQmhkSFJ5YVdKMWRHVk9ZVzFsUFNkdmNHRmphWFI1SnlCbWNtOXRQU2N4SnlCMGJ6MG5NQ2NnWkhWeVBTY3hjeWNnWW1WbmFXNDlKeTB3TGpGekp5QnlaWEJsWVhSRGIzVnVkRDBuYVc1a1pXWnBibWwwWlNjdlBqd3ZjbVZqZEQ0OGNtVmpkQ0FnZUQwbk5Ea25JSGs5SnpRM0p5QjNhV1IwYUQwbk1pY2dhR1ZwWjJoMFBTYzJKeUJ5ZUQwbk1DY2djbms5SnpBbklHWnBiR3c5SnlObVptWW5JSFJ5WVc1elptOXliVDBuY205MFlYUmxLRE0wTWlBMU1DQTFNQ2tnZEhKaGJuTnNZWFJsS0RBZ0xUSXdLU2MrSUNBOFlXNXBiV0YwWlNCaGRIUnlhV0oxZEdWT1lXMWxQU2R2Y0dGamFYUjVKeUJtY205dFBTY3hKeUIwYnowbk1DY2daSFZ5UFNjeGN5Y2dZbVZuYVc0OUp5MHdMakExY3ljZ2NtVndaV0YwUTI5MWJuUTlKMmx1WkdWbWFXNXBkR1VuTHo0OEwzSmxZM1ErUEM5emRtYyspOyB9XG5cbltkYXRhLWdhbGxlcnl0aHVtYj1cInRydWVcIl06aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBTaGFyZSBDb250ZXh0IE1lbnVcclxuICogQHNlY3Rpb24gSGVhZGxpbmVzXHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIFNoYXJpbmcgY29udGV4dCBtZW51IHJldmVhbGVkIG9uLWhvdmVyXHJcbiAqIEBtYXJrdXAgXHJcbiAqICAgICAgPGRpdiBjbGFzcz1cInNoYXJlXCI+XHJcbiAqICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZS1pdGVtLXdyYXBwZXIgaG92ZXItcGFkZGluZyBob3Zlci10b3BcIj5cclxuICogICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZS1pdGVtIGJvcmRlci1hcnJvdyBhcnJvdy1ib3R0b21cIj5cclxuICogICAgICAgICAgICAgICAgICA8dWwgY2xhc3M9XCJzb2NpYWwtbWVkaWEtaWNvbnMgbmFycm93XCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImZhY2Vib29rXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNmYWNlYm9va1wiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwidHdpdHRlclwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjdHdpdHRlclwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicmVkZGl0XCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNyZWRkaXRcIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImxpbmtlZGluXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNsaW5rZWRpblwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZW1haWxcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2VtYWlsXCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAqICAgICAgICAgICAgICA8L2Rpdj5cclxuICogICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjc2hhcmVcIiAvPlxyXG4gKiAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgPHA+U2hhcmU8L3A+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAgKiAgICAgIDxkaXYgY2xhc3M9XCJzaGFyZVwiPlxyXG4gKiAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hhcmUtaXRlbS13cmFwcGVyIGhvdmVyLXBhZGRpbmcgaG92ZXItYm90dG9tXCI+XHJcbiAqICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hhcmUtaXRlbSBib3JkZXItYXJyb3cgYXJyb3ctdG9wXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic29jaWFsLW1lZGlhLWljb25zIG5hcnJvd1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJmYWNlYm9va1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZmFjZWJvb2tcIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInR3aXR0ZXJcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3R3aXR0ZXJcIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInJlZGRpdFwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcmVkZGl0XCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJsaW5rZWRpblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjbGlua2VkaW5cIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImVtYWlsXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNlbWFpbFwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgICAgICA8L3VsPlxyXG4gKiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3NoYXJlXCIgLz5cclxuICogICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgIDxwPlNoYXJlPC9wPlxyXG4gKiAgICAgIDwvZGl2PlxyXG4gKi9cbi5zaGFyZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuICAuc2hhcmU6aG92ZXIgLnNoYXJlLWl0ZW0td3JhcHBlciB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNoYXJlIC5ob3Zlci1wYWRkaW5nIHtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5zaGFyZSAuc2hhcmUtaXRlbS13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5zaGFyZSAuc2hhcmUtaXRlbS13cmFwcGVyLmhvdmVyLXRvcCB7XG4gICAgICB0b3A6IC04NXB4O1xuICAgICAgbGVmdDogLTEzNHB4OyB9XG4gICAgLnNoYXJlIC5zaGFyZS1pdGVtLXdyYXBwZXIuaG92ZXItYm90dG9tIHtcbiAgICAgIHRvcDogMTVweDtcbiAgICAgIGxlZnQ6IC0xNDRweDsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIFNoYXJlIFN0b3J5IEhlYWRlclxyXG4gKiBAc2VjdGlvbiBIZWFkbGluZXNcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgVGhpcyBpcyB1dGlsaXplZCBhcyBhIGhvdmVyIHN0YXRlIG9mIHRoZSBzaGFyZSBpY29uIGluIHRoZSBzdG9yeSBoZWFkbGluZS5cclxuICogQG1hcmt1cCAgICAgICAgICBcclxuICogICA8ZGl2IGNsYXNzPVwic2hhcmUtaXRlbSBib3JkZXItYXJyb3cgYXJyb3ctYm90dG9tXCI+XHJcbiAqICAgICAgIDx1bCBjbGFzcz1cInNvY2lhbC1tZWRpYS1pY29ucyBuYXJyb3dcIj5cclxuICogICAgICAgICAgIDxsaSBjbGFzcz1cImZhY2Vib29rXCI+XHJcbiAqICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2ZhY2Vib29rXCIgLz5cclxuICogICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICA8bGkgY2xhc3M9XCJ0d2l0dGVyXCI+XHJcbiAqICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3R3aXR0ZXJcIiAvPlxyXG4gKiAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgIDxsaSBjbGFzcz1cInJlZGRpdFwiPlxyXG4gKiAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNyZWRkaXRcIiAvPlxyXG4gKiAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgIDxsaSBjbGFzcz1cImxpbmtlZGluXCI+XHJcbiAqICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2xpbmtlZGluXCIgLz5cclxuICogICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICA8bGkgY2xhc3M9XCJlbWFpbFwiPlxyXG4gKiAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNlbWFpbFwiIC8+XHJcbiAqICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICA8L3VsPlxyXG4gKiAgIDwvZGl2PiAgICAgICAgICAgICAgICAgICAgICBcclxuICovXG4uc2hhcmUtaXRlbSB7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5zaGFyZS1pdGVtIC5zb2NpYWwtbWVkaWEtaWNvbnMge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBTaGFyZSBTdG9yeSBIZWFkZXIgRGFya1xyXG4gKiBAc2VjdGlvbiBIZWFkbGluZXNcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgVGhpcyBpcyB1dGlsaXplZCBhcyBhIGhvdmVyIHN0YXRlIG9mIHRoZSBzaGFyZSBpY29uIGluIHRoZSBzdG9yeSBoZWFkbGluZS5cclxuICogQG1hcmt1cCAgICAgICAgICBcclxuICogICA8ZGl2IGNsYXNzPVwic2hhcmUtaXRlbSBkYXJrIGJvcmRlci1hcnJvdyBhcnJvdy10b3BcIj5cclxuICogICAgICAgPHVsIGNsYXNzPVwic29jaWFsLW1lZGlhLWljb25zIG5hcnJvd1wiPlxyXG4gKiAgICAgICAgICAgPGxpIGNsYXNzPVwiZmFjZWJvb2tcIj5cclxuICogICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZmFjZWJvb2tcIiAvPlxyXG4gKiAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgIDxsaSBjbGFzcz1cInR3aXR0ZXJcIj5cclxuICogICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjdHdpdHRlclwiIC8+XHJcbiAqICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgPGxpIGNsYXNzPVwicmVkZGl0XCI+XHJcbiAqICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3JlZGRpdFwiIC8+XHJcbiAqICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgPGxpIGNsYXNzPVwibGlua2VkaW5cIj5cclxuICogICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjbGlua2VkaW5cIiAvPlxyXG4gKiAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgIDxsaSBjbGFzcz1cImVtYWlsXCI+XHJcbiAqICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2VtYWlsXCIgLz5cclxuICogICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgIDwvdWw+XHJcbiAqICAgPC9kaXY+ICAgICAgICAgICAgICAgICAgICAgIFxyXG4gKi9cbi5zaGFyZS1pdGVtLmRhcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG5cbi8qKlxyXG4gKiBAbW9sZWN1bGUgRGFyayBIZXJvIEhlYWRsaW5lXHJcbiAqIEBzZWN0aW9uIEhlYWRsaW5lc1xyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBIZWFkaW5lIG92ZXIgYSBoZXJvIGltYWdlIGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cclxuICogQG1hcmt1cFxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJkYXJrLWhlYWRsaW5lIGNsZWFyZml4XCI+XHJcbiAqICAgICAgICAgIDxoMSBjbGFzcz1cInRpdGxlXCI+PHNwYW4+QHtsaXBzdW06MTA6d29yZHN9PC9zcGFuPjwvaDE+XHJcbiAqICAgICAgICAgIDxoMiBjbGFzcz1cInN1YnRpdGxlXCI+PHNwYW4+QHtsaXBzdW06MTI6d29yZHN9PC9zcGFuPjwvaDI+XHJcbiAqICAgICAgPC9kaXY+XHJcbiAqL1xuLmRhcmstaGVhZGxpbmUge1xuICBwYWRkaW5nOiAwLjYyNXJlbTtcbiAgei1pbmRleDogMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjMyMzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5kYXJrLWhlYWRsaW5lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMy43NXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMi41cmVtO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH0gfVxuICAuZGFyay1oZWFkbGluZS5ib3R0b20ge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDMuNzVyZW07IH1cbiAgLmRhcmstaGVhZGxpbmUubWlkZGxlIHtcbiAgICB0b3A6IDQwJTsgfVxuICAuZGFyay1oZWFkbGluZSAuaWUtZml4IHtcbiAgICBtYXgtd2lkdGg6IDEzNDBweDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZGFyay1oZWFkbGluZSAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLmRhcmstaGVhZGxpbmUgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjMyMztcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBib3gtc2hhZG93OiAxMHB4IDAgMCAjMjMyMzIzLCAtMTBweCAwIDAgIzIzMjMyMzsgfVxuICAuZGFyay1oZWFkbGluZSBhIHtcbiAgICBjb2xvcjogI2ZmZTExZjsgfVxuICAgIC5kYXJrLWhlYWRsaW5lIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi8qKlxyXG4gKiBAbW9sZWN1bGUgT3BlbiBHYWxsZXJ5XHJcbiAqIEBzZWN0aW9uIEltYWdlID4gSWNvbiBPdmVybGF5XHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIE9wZW4gZ2FsbGVyeSBpY29uIG92ZXJsYXllZCBvbiBhbiBpbWFnZVxyXG4gKiBAbWFya3VwIFxyXG4gKiAgICAgICAgICA8ZmlndXJlIGNsYXNzPVwidGh1bWItY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRodW1iIHRodW1iLXNtYWxsIG9wZW4tZ2FsbGVyeVwiPjxpbWcgc3JjPVwiLi4vaW1nL3RodW1iLnBuZ1wiPjwvc3Bhbj5cclxuICogICAgICAgICAgPC9maWd1cmU+XHJcbiAqL1xuLm9wZW4tZ2FsbGVyeTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICB0b3A6IDAlO1xuICBsZWZ0OiAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUFOQ2lCNGJXeHVjejBpYUhSMGNEb3ZMM2QzZHk1M015NXZjbWN2TWpBd01DOXpkbWNpRFFvZ2VHMXNibk02ZUd4cGJtczlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5MekU1T1RrdmVHeHBibXNpRFFvZ2RtbGxkMEp2ZUQwaU1DQXRNVEFnTVRFeUlERXpNaUkrRFFvZ1BHUmxabk0rQ1FrSkRRb2dJQ0FnSUNBZ0lEeG1hV3gwWlhJZ2VHMXNibk05SW1oMGRIQTZMeTkzZDNjdWR6TXViM0puTHpJd01EQXZjM1puSWlCcFpEMGlaSEp2Y0hOb1lXUnZkeUkrRFFvZ0lDQWdJQ0FnSUNBZ0lDQThabVZQWm1aelpYUWdjbVZ6ZFd4MFBTSnZabVpQZFhRaUlHbHVQU0pUYjNWeVkyVkhjbUZ3YUdsaklpQmtlRDBpTUNJZ1pIazlJakFpTHo0TkNpQWdJQ0FnSUNBZ0lDQWdJRHhtWlVOdmJHOXlUV0YwY21sNElISmxjM1ZzZEQwaWJXRjBjbWw0VDNWMElpQnBiajBpYjJabVQzVjBJaUIwZVhCbFBTSnRZWFJ5YVhnaUlIWmhiSFZsY3owaU1DNHlJREFnTUNBd0lEQWdNQ0F3TGpJZ01DQXdJREFnTUNBd0lEQXVNaUF3SURBZ01DQXdJREFnTVNBd0lpOCtEUW9nSUNBZ0lDQWdJQ0FnSUNBOFptVkhZWFZ6YzJsaGJrSnNkWElnY21WemRXeDBQU0ppYkhWeVQzVjBJaUJwYmowaWJXRjBjbWw0VDNWMElpQnpkR1JFWlhacFlYUnBiMjQ5SWpZaUx6NE5DaUFnSUNBZ0lDQWdJQ0FnSUR4bVpVSnNaVzVrSUdsdVBTSlRiM1Z5WTJWSGNtRndhR2xqSWlCcGJqSTlJbUpzZFhKUGRYUWlJRzF2WkdVOUltNXZjbTFoYkNJdlBpQWdJQTBLSUNBZ0lDQWdJQ0E4TDJacGJIUmxjajROQ2lBZ0lDQThMMlJsWm5NK0RRb2dJQ0FnUEhCaGRHZ2dabWxzYkQwaUkyWm1aaUlnWm1sc2JDMXlkV3hsUFNKbGRtVnViMlJrSWlCbWFXeDBaWEk5SW5WeWJDZ2paSEp2Y0hOb1lXUnZkeWtpSUdROUlrMDFOaTR3TURBc01URXlMakF3TUNCRE1qVXVNRGN5TERFeE1pNHdNREFnTUM0d01EQXNPRFl1T1RJNElEQXVNREF3TERVMkxqQXdNQ0JETUM0d01EQXNNalV1TURjeUlESTFMakEzTWl3d0xqQXdNQ0ExTmk0d01EQXNNQzR3TURBZ1F6ZzJMamt5T0N3d0xqQXdNQ0F4TVRJdU1EQXdMREkxTGpBM01pQXhNVEl1TURBd0xEVTJMakF3TUNCRE1URXlMakF3TUN3NE5pNDVNamdnT0RZdU9USTRMREV4TWk0d01EQWdOVFl1TURBd0xERXhNaTR3TURBZ1drMDFOaTR3TURBc01URXVNREF3SUVNek1TNHhORGNzTVRFdU1EQXdJREV4TGpBd01Dd3pNUzR4TkRjZ01URXVNREF3TERVMkxqQXdNQ0JETVRFdU1EQXdMRGd3TGpnMU15QXpNUzR4TkRjc01UQXhMakF3TUNBMU5pNHdNREFzTVRBeExqQXdNQ0JET0RBdU9EVXpMREV3TVM0d01EQWdNVEF4TGpBd01DdzRNQzQ0TlRNZ01UQXhMakF3TUN3MU5pNHdNREFnUXpFd01TNHdNREFzTXpFdU1UUTNJRGd3TGpnMU15d3hNUzR3TURBZ05UWXVNREF3TERFeExqQXdNQ0JhVFRjNUxqVTJNeXczTlM0d01EQWdURE14TGpRek55dzNOUzR3TURBZ1F6STVMalUwTnl3M05TNHdNREFnTWpndU1EQXdMRGN6TGpRMk15QXlPQzR3TURBc056RXVOVGcwSUV3eU9DNHdNREFzTkRRdU1qVXdJRU15T0M0d01EQXNOREl1TXpjeElESTVMalUwTnl3ME1DNDRNek1nTXpFdU5ETTNMRFF3TGpnek15Qk1ORE11TkRZNUxEUXdMamd6TXlCRE5EUXVNekk0TERNM0xqUXhOeUEwTlM0eE9EY3NNelF1TURBd0lEUTRMall5TlN3ek5DNHdNREFnVERZeUxqTTNOU3d6TkM0d01EQWdRelkxTGpneE1pd3pOQzR3TURBZ05qWXVOamN5TERNM0xqUXhOeUEyTnk0MU16RXNOREF1T0RNeklFdzNPUzQxTmpNc05EQXVPRE16SUVNNE1TNDBOVE1zTkRBdU9ETXpJRGd6TGpBd01DdzBNaTR6TnpFZ09ETXVNREF3TERRMExqSTFNQ0JNT0RNdU1EQXdMRGN4TGpVNE5DQkRPRE11TURBd0xEY3pMalEyTXlBNE1TNDBOVE1zTnpVdU1EQXdJRGM1TGpVMk15dzNOUzR3TURBZ1drMDFOUzQxTURBc05EQXVPRE16SUVNME5pNDVOVGNzTkRBdU9ETXpJRFF3TGpBek1TdzBOeTQzTVRjZ05EQXVNRE14TERVMkxqSXdPQ0JETkRBdU1ETXhMRFkwTGpjd01DQTBOaTQ1TlRjc056RXVOVGcwSURVMUxqVXdNQ3czTVM0MU9EUWdRelkwTGpBME15dzNNUzQxT0RRZ056QXVPVFk1TERZMExqY3dNQ0EzTUM0NU5qa3NOVFl1TWpBNElFTTNNQzQ1Tmprc05EY3VOekUzSURZMExqQTBNeXcwTUM0NE16TWdOVFV1TlRBd0xEUXdMamd6TXlCYVRUYzVMalUyTXl3ME5DNHlOVEFnVERjeUxqWTROeXcwTkM0eU5UQWdURGN5TGpZNE55dzBOeTQyTmpjZ1REYzVMalUyTXl3ME55NDJOamNnVERjNUxqVTJNeXcwTkM0eU5UQWdXazAxTlM0MU1EQXNOamN1TURrNElFTTBPUzQwTkRrc05qY3VNRGs0SURRMExqVTBOQ3cyTWk0eU1qTWdORFF1TlRRMExEVTJMakl3T0NCRE5EUXVOVFEwTERVd0xqRTVOQ0EwT1M0ME5Ea3NORFV1TXpFNUlEVTFMalV3TUN3ME5TNHpNVGtnUXpZeExqVTFNU3cwTlM0ek1Ua2dOall1TkRVMkxEVXdMakU1TkNBMk5pNDBOVFlzTlRZdU1qQTRJRU0yTmk0ME5UWXNOakl1TWpJeklEWXhMalUxTVN3Mk55NHdPVGdnTlRVdU5UQXdMRFkzTGpBNU9DQmFJaTgrRFFvOEwzTjJaejQ9XCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IDMwJTsgfVxuXG4uc3RvcnktY29udGVudCAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZSB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLnN0b3J5LWNvbnRlbnQgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcmVtKTsgfSB9XG5cbi5odnItZGF0YSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGNvdW50ZXItcmVzZXQ6IHZlaGljbGVDb3VudGVyOyB9XG4gIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICAgIC8qKlxyXG4gICAgICogIHRhYmxlIGJvZHlcclxuICAgICAqLyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGQsXG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGgge1xuICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHRkIHtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGgge1xuICAgICAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhTmV1ZVcwMS02N01kQ24gNjkyNzEwXCI7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgcCArIHAge1xuICAgICAgbWFyZ2luOiAxZW0gMCAwOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGhlYWQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGhlYWQgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gICAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgICB3aWR0aDogNzUlOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDgwJTsgfSB9XG4gICAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHRoZWFkIHRyIHRoLmh2ci1sb2dvIHtcbiAgICAgICAgICB3aWR0aDogODBweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmZmOyB9XG4gICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAgICAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHRoZWFkIHRyIHRoLmh2ci1sb2dvIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAyMHB4OyB9IH1cbiAgICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGhlYWQgdHIgLmh2ci1sb2dvIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCJodHRwczovL3MzLmFtYXpvbmF3cy5jb20vYXBwcy5oYWdlcnR5LmNvbS9zaXRlY29yZS1hc3NldHMvVVNIb21lL19hc3NldHMvaW1nL2hhZ2VydHktdmVoaWNsZS1yYXRpbmctbG9nby5zdmdcIikgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDgwJTsgfVxuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZSB0aGVhZCB0ciAuaHZyLWxvZ28ge1xuICAgICAgICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNzUlOyB9IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZSB0Ym9keSB7XG4gICAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTY3TWRDbiA2OTI3MTBcIjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUgdGJvZHkgdHI6Zmlyc3Qtb2YtdHlwZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZSB0Ym9keSB0ciB0ZDpmaXJzdC1vZi10eXBlIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZSB0Ym9keSB0ciB0ZDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmZmOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuaW5jcmVtZW50LWRhdGEgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7IH1cbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLmluY3JlbWVudC1kYXRhIHRib2R5IHRyIHRkOmZpcnN0LW9mLXR5cGUgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMS40ZW07XG4gICAgICAgIHRleHQtaW5kZW50OiAtMS40ZW07IH1cbiAgICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuaW5jcmVtZW50LWRhdGEgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogY291bnRlcih2ZWhpY2xlQ291bnRlcikgXCIuwqDCoFwiO1xuICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiB2ZWhpY2xlQ291bnRlcjsgfVxuICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5pbmNyZW1lbnQtZGF0YSB0Ym9keSB0ciB0ZDpmaXJzdC1vZi10eXBlIHNwYW4uc2FtZTpiZWZvcmUge1xuICAgICAgICAgIGNvdW50ZXItaW5jcmVtZW50OiB2ZWhpY2xlQ291bnRlciArMDsgfVxuICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlOm5vdCguaW5jcmVtZW50LWRhdGEpIHRib2R5IHRyIHRkOmZpcnN0LW9mLXR5cGUgc3BhbjpiZWZvcmUge1xuICAgICAgY29udGVudDogYXR0cihkYXRhLWluY3JlbWVudCkgXCIuwqDCoFwiOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuc3RyaXBlZC1kaXNwbGF5IHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuc3RyaXBlZC1kaXNwbGF5IHRib2R5IHRyIHRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLndpZGdldC1kaXNwbGF5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBjb3VudGVyLXJlc2V0OiB2ZWhpY2xlQ291bnRlciAyMDsgfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUud2lkZ2V0LWRpc3BsYXkgdGhlYWQgdHIgdGguaHZyLWxvZ28ge1xuICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiA4MCU7IH1cbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIHtcbiAgICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS53aWRnZXQtZGlzcGxheSB0aGVhZCB0ciB0aC5odnItbG9nbyB7XG4gICAgICAgICAgICB3aWR0aDogODBweDsgfSB9XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUud2lkZ2V0LWRpc3BsYXkgdGhlYWQgdHIgdGguaHZyLWxvZ28ge1xuICAgICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiA3NSU7IH0gfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUud2lkZ2V0LWRpc3BsYXkgdGJvZHkgdHI6Zmlyc3Qtb2YtdHlwZSB0ZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4ICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLndpZGdldC1kaXNwbGF5IHRib2R5IHRyIHRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuZGV0YWlsZWQtZGlzcGxheSB0Ym9keSB0cjpudGgtY2hpbGQob2RkKSB0ZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMzBweCAhaW1wb3J0YW50OyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuZGV0YWlsZWQtZGlzcGxheSB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKSB0ZCB7XG4gICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNjY2M7IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5kZXRhaWxlZC1kaXNwbGF5IHRib2R5IHRyOmxhc3Qtb2YtdHlwZSB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuZGV0YWlsZWQtZGlzcGxheSB0Ym9keSB0ciB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgIHdpZHRoOiA3MCU7IH1cbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLmRldGFpbGVkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5kZXRhaWxlZC1kaXNwbGF5IHRib2R5IHRyIHRkOmZpcnN0LW9mLXR5cGUgc3BhbjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuZGV0YWlsZWQtZGlzcGxheSB0Ym9keSB0ciB0ZDpmaXJzdC1vZi10eXBlIHNwYW4gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxZW07IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5kZXRhaWxlZC1kaXNwbGF5IHRib2R5IHRyIHRkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItbGVmdDogMDsgfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuZGV0YWlsZWQtZGlzcGxheSB0Ym9keSB0ciB0ZDpsYXN0LW9mLXR5cGUgc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGhlYWQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuY2hhbmdlZC1kaXNwbGF5IHRoZWFkIHRyIHRoOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuY2hhbmdlZC1kaXNwbGF5IHRoZWFkIHRyIHRoLmh2ci1sb2dvLWNvbnRhaW5lciB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDRweCBzb2xpZCAjZmZmO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDRweCBzb2xpZCAjZmZmOyB9XG4gICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGhlYWQgdHIgdGg6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLmNoYW5nZWQtZGlzcGxheSB0Ym9keSB0cjpudGgtb2YtdHlwZShldmVuKSB0ZCB7XG4gICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDEycHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogNHB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHI6bnRoLW9mLXR5cGUoZXZlbikgdGQge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLmNoYW5nZWQtZGlzcGxheSB0Ym9keSB0cjpudGgtb2YtdHlwZShvZGQpIHRkIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDEycHg7IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICB3aWR0aDogNzAlOyB9XG4gICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjJlbTsgfVxuICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSBzcGFuOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjsgfVxuICAgICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6Zmlyc3Qtb2YtdHlwZSBzcGFuIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuY2hhbmdlZC1kaXNwbGF5IHRib2R5IHRyIHRkOm50aC1vZi10eXBlKDIpIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAwOyB9XG4gICAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6bnRoLW9mLXR5cGUoMikgc3BhbiB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmh2ci1kYXRhLmRlZmF1bHQtdGFibGUuY2hhbmdlZC1kaXNwbGF5IHRib2R5IHRyIHRkOm50aC1vZi10eXBlKDMpIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAyNXB4OyB9IH1cbiAgICAuaHZyLWRhdGEuZGVmYXVsdC10YWJsZS5jaGFuZ2VkLWRpc3BsYXkgdGJvZHkgdHIgdGQ6bnRoLW9mLXR5cGUoMykgc3BhbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLmNoYW5nZWQtZGlzcGxheSB0Ym9keSB0ciB0ZDpudGgtb2YtdHlwZSgzKSBzcGFuLm5lZ2F0aXZlIHtcbiAgICAgICAgY29sb3I6ICM1YmIzM2I7IH1cbiAgICAgIC5odnItZGF0YS5kZWZhdWx0LXRhYmxlLmNoYW5nZWQtZGlzcGxheSB0Ym9keSB0ciB0ZDpudGgtb2YtdHlwZSgzKSBzcGFuLnBvc2l0aXZlIHtcbiAgICAgICAgY29sb3I6ICNENDAwMzM7IH1cblxuLmh2ci1sYW5kaW5nLXBhZ2UgLnRhYmxlLXdpdGgtc2VjdGlvbnMsXG4uaHZyLWxhbmRpbmctcGFnZSAudGFibGUtd2l0aC1oZWFkaW5nIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuXG4uaHZyLWxhbmRpbmctcGFnZSAudGFibGUtd2l0aC1zZWN0aW9ucyB0aCB7XG4gIHBhZGRpbmc6IDVweCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IH1cblxuLmh2ci1sYW5kaW5nLXBhZ2UgLnRhYmxlLXdpdGgtc2VjdGlvbnMgdGQge1xuICBwYWRkaW5nOiAwcHggMTBweDsgfVxuXG4uaHZyLWxhbmRpbmctcGFnZSAudGFibGUtd2l0aC1oZWFkaW5nIHRoLCAuaHZyLWxhbmRpbmctcGFnZSAudGFibGUtd2l0aC1oZWFkaW5nIHRkIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMHB4IDE1cHg7IH1cblxuLmh2ci1sYW5kaW5nLXBhZ2UgLnRhYmxlLXdpdGgtaGVhZGluZyB0aDpmaXJzdC1vZi10eXBlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHBhZGRpbmc6IDVweCAxMXB4IDVweCA0MHB4OyB9XG5cbi5odnItbGFuZGluZy1wYWdlIC50YWJsZS13aXRoLWhlYWRpbmcgdGg6bGFzdC1vZi10eXBlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgcGFkZGluZzogNXB4IDIwMHB4IDVweCAxNXB4OyB9XG5cbi5odnItbGFuZGluZy1wYWdlIC50YWJsZS13aXRoLWhlYWRpbmcgdGQ6bnRoLWNoaWxkKDEpIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLyoqXHJcbiAqIEBtb2xlY3VsZSBTaGFyZSBXaWRnZXRcclxuICogQHNlY3Rpb24gV2lkZ2V0c1xyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBzb21lIGRlc2NyaXB0aW9uLi4uXHJcbiAqIEBtYXJrdXAgXHJcbiAqICA8ZGl2IGNsYXNzPVwibWVkaWEtd2lkZ2V0IHNoYXJlLXdpZGdldFwiPlxyXG4gKiAgICAgIDxoMT5MaWtlIHRoaXMgYXJ0aWNsZT8gU2hhcmUgaXQhPC9oMT5cclxuICogICAgICA8dWwgY2xhc3M9XCJzb2NpYWwtbWVkaWEtaWNvbnNcIj5cclxuICogICAgICAgICAgPGxpIGNsYXNzPVwiZmFjZWJvb2tcIj5cclxuICogICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2ZhY2Vib29rXCIgLz5cclxuICogICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICA8bGkgY2xhc3M9XCJ0d2l0dGVyXCI+XHJcbiAqICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiN0d2l0dGVyXCIgLz5cclxuICogICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICA8bGkgY2xhc3M9XCJyZWRkaXRcIj5cclxuICogICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3JlZGRpdFwiIC8+XHJcbiAqICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgPGxpIGNsYXNzPVwibGlua2VkaW5cIj5cclxuICogICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2xpbmtlZGluXCIgLz5cclxuICogICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICA8bGkgY2xhc3M9XCJlbWFpbFwiPlxyXG4gKiAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZW1haWxcIiAvPlxyXG4gKiAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgPC91bD5cclxuICogIDwvZGl2PiAgICAgICAgXHJcbiAqL1xuLm1lZGlhLXdpZGdldC5zaGFyZS13aWRnZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG4gIC5tZWRpYS13aWRnZXQuc2hhcmUtd2lkZ2V0IGgxIHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTQ3THRDbiA2OTI2ODZcIjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5tZWRpYS13aWRnZXQuc2hhcmUtd2lkZ2V0IGgxICsgdWwge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLm1lZGlhLXdpZGdldC5zaGFyZS13aWRnZXQgdWwgKyB1bCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIEZvbGxvdyB1cyBvbiBzb2NpYWwgbWVkaWFcclxuICogQHNlY3Rpb24gV2lkZ2V0c1xyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBzb21lIGRlc2NyaXB0aW9uLi4uXHJcbiAqIEBtYXJrdXAgXHJcbiAqL1xuLmZvbGxvdy13aWRnZXQge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvbGxvdy13aWRnZXQgLmhlYWRpbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIlR1bmdzdGVuIEFcIiwgXCJUdW5nc3RlbiBCXCI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuXG4vKipcclxuICogQG1vbGVjdWxlIE5ld3NsZXR0ZXIgU2lnbnVwIFdpZGdldFxyXG4gKiBAc2VjdGlvbiBXaWRnZXRzXHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIHNvbWUgZGVzY3JpcHRpb24uLi5uZWVkcyBmaW5hbCBtYXJrdXBcclxuICogQG1hcmt1cCAgICBcclxuICovXG4ubmV3c2xldHRlci1zaWdudXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5ld3NsZXR0ZXItc2lnbnVwIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAubmV3c2xldHRlci1zaWdudXAgLmZvcm0tY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMDsgfVxuICAubmV3c2xldHRlci1zaWdudXAgLnJvdy1vZi1pbnB1dHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5yb3ctb2YtaW5wdXRzIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gICAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIGFuZCAobWF4LXdpZHRoOiA4MGVtKSB7XG4gICAgICAubmV3c2xldHRlci1zaWdudXAgLnJvdy1vZi1pbnB1dHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAubmV3c2xldHRlci1zaWdudXAgLnJvdy1vZi1pbnB1dHMgLmlucHV0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCAucm93LW9mLWlucHV0cyAuaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDYwZW0pIGFuZCAobWF4LXdpZHRoOiA4MGVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCAucm93LW9mLWlucHV0cyAuaW5wdXQge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCAucm93LW9mLWlucHV0cyAuaW5wdXQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSBhbmQgKG1heC13aWR0aDogODBlbSkge1xuICAgICAgICAubmV3c2xldHRlci1zaWdudXAgLnJvdy1vZi1pbnB1dHMgLmlucHV0OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5uZXdzbGV0dGVyLXNpZ251cCAucm93LW9mLWlucHV0cyAuaW5wdXQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNjBlbSkgYW5kIChtYXgtd2lkdGg6IDgwZW0pIHtcbiAgICAgICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5yb3ctb2YtaW5wdXRzIC5pbnB1dDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLm5ld3NsZXR0ZXItc2lnbnVwIC5yb3ctb2YtaW5wdXRzIC5pbnB1dDpsYXN0LWNoaWxkIGxhYmVsIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSBhbmQgKG1heC13aWR0aDogODBlbSkge1xuICAgICAgICAubmV3c2xldHRlci1zaWdudXAgLnJvdy1vZi1pbnB1dHMgLmlucHV0Omxhc3QtY2hpbGQgbGFiZWwge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5uZXdzbGV0dGVyLXNpZ251cCAuc3VjY2VzcyB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAwOyB9XG4gIC5uZXdzbGV0dGVyLXNpZ251cCAuaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zaWRlYmFyIC5uZXdzbGV0dGVyLXNpZ251cC5sZWZ0LWFsaWduIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuc2lkZWJhciAubmV3c2xldHRlci1zaWdudXAubGVmdC1hbGlnbiAucm93LW9mLWlucHV0cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG5cbi5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCB7XG4gIHBhZGRpbmc6IDAgMi41cmVtO1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDEuNmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmNvbnRlbnQgLm5ld3NsZXR0ZXItc2lnbnVwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuY29udGVudCAubmV3c2xldHRlci1zaWdudXAgLnRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxLjI1cmVtIDA7XG4gICAgY29sb3I6ICMwMTdEQzc7IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmNvbnRlbnQgLm5ld3NsZXR0ZXItc2lnbnVwIC50aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDsgfSB9XG4gIC5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCAuZm9ybS1jb250YWluZXIge1xuICAgIG1hcmdpbjogMCAwIDEuMjVyZW0gMDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgICAuY29udGVudCAubmV3c2xldHRlci1zaWdudXAgLmZvcm0tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDEuMjVyZW07IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgIC5jb250ZW50IC5uZXdzbGV0dGVyLXNpZ251cCAuY3RhLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAwIDAgMjAwcHg7IH0gfVxuXG4uaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktaXRlbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgdG9wOiAtMTAwMHB4OyB9XG4gIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtLmZlYXR1cmVkIHtcbiAgICB0b3A6IDBweDsgfVxuICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktaXRlbS5oaWRkZW5Gb3JTbGlkZUxlZnQge1xuICAgIGxlZnQ6IDEwMDBweDsgfVxuICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktaXRlbS5oaWRkZW5Gb3JTbGlkZVJpZ2h0IHtcbiAgICBsZWZ0OiAtMTAwMHB4OyB9XG4gIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1pdGVtIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5pbmxpbmUtZ2FsbGVyeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkICNmZmUxMWY7XG4gIGJvcmRlci1ib3R0b206IDRweCBzb2xpZCAjZmZlMTFmO1xuICBwYWRkaW5nOiAyLjVyZW0gMDtcbiAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuXG4uZ2FsbGVyeS13cmFwcGVyLnNpbmdsZS1pbWFnZSB7XG4gIG1hcmdpbjogMi41cmVtIDA7IH1cblxuLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LXBvc2l0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICB0b3A6IC0xLjA2MjVyZW07XG4gIHJpZ2h0OiAwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMjMyMzIzO1xuICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IC44cmVtOyB9XG4gIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1wb3NpdGlvbiBzcGFuIHtcbiAgICBjb2xvcjogIzAxN0RDNzsgfVxuXG4uZ2FsbGVyeS1tb2RhbCAuY2Fyb3VzZWwtbmF2aWdhdGlvbiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5nYWxsZXJ5LW1vZGFsIC5jYXJvdXNlbC1uYXZpZ2F0aW9uIC52aWV3LWxlZnQsXG4gIC5nYWxsZXJ5LW1vZGFsIC5jYXJvdXNlbC1uYXZpZ2F0aW9uIC52aWV3LXJpZ2h0IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgY29sb3I6ICNmZmUxMWY7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzdjODA4MztcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLWluOyB9XG4gICAgLmdhbGxlcnktbW9kYWwgLmNhcm91c2VsLW5hdmlnYXRpb24gLnZpZXctbGVmdDpob3ZlcixcbiAgICAuZ2FsbGVyeS1tb2RhbCAuY2Fyb3VzZWwtbmF2aWdhdGlvbiAudmlldy1yaWdodDpob3ZlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5nYWxsZXJ5LW1vZGFsIC5jYXJvdXNlbC1uYXZpZ2F0aW9uIC52aWV3LWxlZnQge1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmdhbGxlcnktbW9kYWwgLmNhcm91c2VsLW5hdmlnYXRpb24gLnZpZXctcmlnaHQge1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5nYWxsZXJ5LW1vZGFsIC52aWV3LmVycm9yIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDIuNXJlbTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmdhbGxlcnktbW9kYWwgLnZpZXcuZXJyb3IgYSB7XG4gICAgY29sb3I6ICNmZmUxMWY7IH1cblxuLmdhbGxlcnktbW9kYWwgLmltYWdlLWZ1bGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5nYWxsZXJ5LW1vZGFsIC5pbWFnZS1mdWxsIC5pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmdhbGxlcnktbW9kYWwgLmltYWdlLWZ1bGwgLmltYWdlLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5nYWxsZXJ5LW1vZGFsIC5pbWFnZS1mdWxsIC5pbWFnZS5maXJzdCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmdhbGxlcnktbW9kYWwgLmltYWdlLWZ1bGwgLmltYWdlIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoOyB9XG5cbi5nYWxsZXJ5LWhlYWRlciAuZ2FsbGVyeS1wb3NpdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGNvbG9yOiAjZmZmO1xuICBtaW4td2lkdGg6IDRyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZ2FsbGVyeS1oZWFkZXIgLmdhbGxlcnktcG9zaXRpb24gc3BhbiB7XG4gICAgY29sb3I6ICNmZmUxMWY7IH1cblxuLmdhbGxlcnktbW9kYWwgLmltYWdlLXRpbGVzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmdhbGxlcnktbW9kYWwgLmltYWdlLXRpbGVzIC5pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbjogMCA1cHggNXB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG4gICAgLmdhbGxlcnktbW9kYWwgLmltYWdlLXRpbGVzIC5pbWFnZSAuY2FwdGlvbixcbiAgICAuZ2FsbGVyeS1tb2RhbCAuaW1hZ2UtdGlsZXMgLmltYWdlIC5jcmVkaXQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5nYWxsZXJ5LW1vZGFsIC5pbWFnZS10aWxlcyAuaW1hZ2UgaW1nIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuICAgOjogQmxvY2tzXHJcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcclxuICogQWRkIGEgZGVzY3JpcHRpb24gaGVyZS4uXHJcbiAqXHJcbiAqIEBzdHJ1Y3R1cmUgQmxvY2tzXHJcbiAqIEBzZWN0aW9uIEJsb2NrIHNjcnVjdHVyZVxyXG4gKiBAbWFya3VwXHJcbiAqICAgPGRpdiBjbGFzcz1cImRlbW8taXRlbVwiPlxyXG4gKiAgIDx1bCBjbGFzcz1cImJsb2NrcyBibG9ja3MtdHdvLXVwXCI+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtdHdvLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy10d28tdXA8L2xpPlxyXG4gKiAgIDwvdWw+XHJcbiAqICAgPC9kaXY+XHJcbiAqICAgPGRpdiBjbGFzcz1cImRlbW8taXRlbVwiPlxyXG4gKiAgIDx1bCBjbGFzcz1cImJsb2NrcyBibG9ja3MtdGhyZWUtdXBcIj5cclxuICogICAgICA8bGk+LmJsb2Nrcy10aHJlZS11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3MtdGhyZWUtdXA8L2xpPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXRocmVlLXVwPC9saT5cclxuICogICA8L3VsPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICA8dWwgY2xhc3M9XCJibG9ja3MgYmxvY2tzLWZvdXItdXBcIj5cclxuICogICAgICA8bGk+LmJsb2Nrcy1mb3VyLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1mb3VyLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1mb3VyLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1mb3VyLXVwPC9saT5cclxuICogICA8L3VsPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICA8dWwgY2xhc3M9XCJibG9ja3MgYmxvY2tzLWZpdmUtdXBcIj5cclxuICogICAgICA8bGk+LmJsb2Nrcy1maXZlLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1maXZlLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1maXZlLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1maXZlLXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1maXZlLXVwPC9saT5cclxuICogICA8L3VsPlxyXG4gKiAgIDwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJkZW1vLWl0ZW1cIj5cclxuICogICA8dWwgY2xhc3M9XCJibG9ja3MgYmxvY2tzLXNpeC11cFwiPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXNpeC11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3Mtc2l4LXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1zaXgtdXA8L2xpPlxyXG4gKiAgICAgIDxsaT4uYmxvY2tzLXNpeC11cDwvbGk+XHJcbiAqICAgICAgPGxpPi5ibG9ja3Mtc2l4LXVwPC9saT5cclxuICogICAgICA8bGk+LmJsb2Nrcy1zaXgtdXA8L2xpPlxyXG4gKiAgIDwvdWw+XHJcbiAqICAgPC9kaXY+XHJcbiAqICAgPHVsIGNsYXNzPVwiYmxvY2tzIGJsb2Nrcy10aHJlZS11cCByZXNldFwiIHN0eWxlPVwibWF4LXdpZHRoOjk4MHB4O1wiPlxyXG4gKiAgICAgIDxsaT5cclxuICogICAgICAgICAgPGZpZ3VyZSBjbGFzcz1cImNoYXJjb2FsXCI+XHJcbiAqICAgICAgICAgICAgICAgPGltZyBoZWlnaHQ9XCIyMDJcIiB3aWR0aD1cIjMwMFwiIHNyYz1cImh0dHBzOi8vd3d3LmhhZ2VydHkuY29tL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyBDYXIgSW5zdXJhbmNlL0RvZXMgbXkgdmVoaWNsZSBxdWFsaWZ5L1RyYWN0b3JzLzE5NEpvaG5EZWVyZUguYXNoeFwiIGFsdD1cIjE5NDEgSm9obiBEZWVyZSBIXCI+XHJcbiAqICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4xOTQxIEpvaG4gRGVlcmUgSDwvZmlnY2FwdGlvbj5cclxuICogICAgICAgICAgPC9maWd1cmU+XHJcbiAqICAgICAgPC9saT5cclxuICogICAgICA8bGk+XHJcbiAqICAgICAgICAgIDxmaWd1cmUgY2xhc3M9XCJjaGFyY29hbFwiPlxyXG4gKiAgICAgICAgICAgICAgPGltZyBoZWlnaHQ9XCIyMDJcIiB3aWR0aD1cIjMwMFwiIHNyYz1cImh0dHBzOi8vd3d3LmhhZ2VydHkuY29tL34vbWVkaWEvSW1hZ2VzL1VTSG9tZS9JbnN1cmFuY2UvQ2xhc3NpYyBDYXIgSW5zdXJhbmNlL0RvZXMgbXkgdmVoaWNsZSBxdWFsaWZ5L1RyYWN0b3JzLzE5NjFQb3JzY2hlMjE3LmFzaHhcIiBhbHQ9XCIxOTYxIFBvcnNjaGUgMjE3XCI+XHJcbiAqICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4xOTYxIFBvcnNjaGUgMjE3PC9maWdjYXB0aW9uPlxyXG4gKiAgICAgICAgICA8L2ZpZ3VyZT5cclxuICogICAgICA8L2xpPlxyXG4gKiAgICAgIDxsaT5cclxuICogICAgICAgICAgPGZpZ3VyZSBjbGFzcz1cImNoYXJjb2FsXCI+XHJcbiAqICAgICAgICAgICAgICA8aW1nIGhlaWdodD1cIjIwMlwiIHdpZHRoPVwiMzAwXCIgc3JjPVwiaHR0cHM6Ly93d3cuaGFnZXJ0eS5jb20vfi9tZWRpYS9JbWFnZXMvVVNIb21lL0luc3VyYW5jZS9DbGFzc2ljIENhciBJbnN1cmFuY2UvRG9lcyBteSB2ZWhpY2xlIHF1YWxpZnkvVHJhY3RvcnMvMTkzOUZvcmQ5TlRyYWN0b3IuYXNoeFwiIGFsdD1cIjE5MzkgRm9yZCA5TiBUcmFjdG9yXCI+XHJcbiAqICAgICAgICAgICAgICA8ZmlnY2FwdGlvbj4xOTM5IEZvcmQgOU4gVHJhY3RvcjwvZmlnY2FwdGlvbj5cclxuICogICAgICAgICAgPC9maWd1cmU+XHJcbiAqICAgICAgPC9saT5cclxuICogIDwvdWw+XHJcbiAqL1xuLmJsb2NrcyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5ibG9ja3MucmVzZXQge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmJsb2NrczphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29udGVudDogJyc7IH1cbiAgLmJsb2NrcyAuY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IC0xMHB4O1xuICAgIG1hcmdpbi1yaWdodDogLTEwcHg7IH1cbiAgLmJsb2NrcyA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAgIC5ibG9ja3MgPiBsaSBmaWd1cmUgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYmxvY2tzLmNvbmRlbnNlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLmJsb2Nrcy5jb25kZW5zZWQgPiBsaSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAyMGVtKSB7XG4gICAgLmJsb2NrcyA+IGxpIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtZm91ci11cCA+IGxpLFxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1zaXgtdXAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy1mb3VyLXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaTpudGgtY2hpbGQoMm4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAuYmxvY2tzIGltZyB7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLXR3by11cCA+IGxpLFxuICAgIC5ibG9ja3MuYmxvY2tzLXRocmVlLXVwID4gbGkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtZml2ZS11cCA+IGxpLFxuICAgIC5ibG9ja3MuYmxvY2tzLXNpeC11cCA+IGxpIHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMzMlOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3MtZml2ZS11cCA+IGxpOm50aC1jaGlsZCgybisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1zaXgtdXAgPiBsaTpudGgtY2hpbGQoMm4rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy10d28tdXAgPiBsaTpudGgtY2hpbGQoMm4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3MtdGhyZWUtdXAgPiBsaTpudGgtY2hpbGQoMm4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3MtZml2ZS11cCA+IGxpOm50aC1jaGlsZCgzbisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1zaXgtdXAgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IGxlZnQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ibG9ja3MuYmxvY2tzLXRocmVlLXVwID4gbGkge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzMyU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy1mb3VyLXVwID4gbGkge1xuICAgICAgd2lkdGg6IDI1JTsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaSB7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGkge1xuICAgICAgd2lkdGg6IDE2LjY2NjY2NyU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy10aHJlZS11cCA+IGxpOm50aC1jaGlsZCgybisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1mb3VyLXVwID4gbGk6bnRoLWNoaWxkKDJuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaTpudGgtY2hpbGQoMm4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3MtZml2ZS11cCA+IGxpOm50aC1jaGlsZCgzbisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1zaXgtdXAgPiBsaTpudGgtY2hpbGQoM24rMSkge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAuYmxvY2tzLmJsb2Nrcy10aHJlZS11cCA+IGxpOm50aC1jaGlsZCgzbisxKSxcbiAgICAuYmxvY2tzLmJsb2Nrcy1mb3VyLXVwID4gbGk6bnRoLWNoaWxkKDRuKzEpLFxuICAgIC5ibG9ja3MuYmxvY2tzLWZpdmUtdXAgPiBsaTpudGgtY2hpbGQoNW4rMSksXG4gICAgLmJsb2Nrcy5ibG9ja3Mtc2l4LXVwID4gbGk6bnRoLWNoaWxkKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBsZWZ0OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAuYmxvY2tzLmJsb2Nrcy10d28tdXAgPiBsaSxcbiAgICAuYmxvY2tzLmJsb2Nrcy10aHJlZS11cCA+IGxpIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLmJsb2Nrcy5ibG9ja3MtdHdvLXVwID4gbGksXG4gICAgLmJsb2Nrcy5ibG9ja3MtdGhyZWUtdXAgPiBsaSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAzMy4zMzMzJTsgfVxuICAgIC5ibG9ja3MuYmxvY2tzLXR3by11cCA+IGxpIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4vKipcclxuICogQHN0cnVjdHVyZSBBdXRob3IgRGV0YWlsc1xyXG4gKiBAc2VjdGlvbiBBdXRob3JcclxuICogQGZsYWcgZnVsbC13aWR0aFxyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBBdXRob3IgZGV0YWlscywgbW9zdCBsaWtlbHkgZm91bmQgYXMgdGhlIGhlYWRlciBvZiB0aGUgYXV0aG9yJ3MgbGFuZGluZyBwYWdlLlxyXG4gKiBAbWFya3VwIFxyXG4gKiAgICAgIDxkaXYgY2xhc3M9XCJhdXRob3ItZGV0YWlsc1wiPlxyXG4gKiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyXCI+XHJcbiAqICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uL2ltZy9hdmF0YXItcGhvdG8uanBnXCIgY2xhc3M9XCJhdmF0YXItbWFza1wiPlxyXG4gKiAgICAgICAgICA8L2Rpdj4gXHJcbiAqICAgICAgICAgIDxoMSBjbGFzcz1cInRpdGxlXCI+V2lsbGlhbSBULiBNY0dpdGhlcnM8L2gxPlxyXG4gKiAgICAgICAgICA8ZGl2IGNsYXNzPVwic29jaWFsLWNvbnRhaW5lclwiPlxyXG4gKiAgICAgICAgICAgICAgPHA+Rm9sbG93IG1lIG9uOjwvcD5cclxuICogICAgICAgICAgICAgIDx1bCBjbGFzcz1cInNvY2lhbC1tZWRpYS1pY29uc1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImZhY2Vib29rXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjZmFjZWJvb2tcIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInR3aXR0ZXJcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiN0d2l0dGVyXCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJpbnN0YWdyYW1cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNpbnN0YWdyYW1cIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInJlZGRpdFwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3JlZGRpdFwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlua2VkaW5cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNsaW5rZWRpblwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZW1haWxcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNlbWFpbFwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicnNzXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcnNzXCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgIDwvdWw+XHJcbiAqICAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgICAgICA8cCBjbGFzcz1cImJpb2dyYXBoeVwiPkB7bGlwc3VtOjY1OndvcmRzfTwvcD5cclxuICogICAgICA8L2Rpdj5cclxuICovXG4uYXV0aG9yLWRldGFpbHMge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmF1dGhvci1kZXRhaWxzIC50aXRsZSB7XG4gICAgZm9udC1zaXplOiA0ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuYXV0aG9yLWRldGFpbHMgLnNvY2lhbC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgY29sb3I6ICM3YzgwODM7IH1cbiAgICAuYXV0aG9yLWRldGFpbHMgLnNvY2lhbC1jb250YWluZXIgLnNvY2lhbC1tZWRpYS1pY29ucyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmF1dGhvci1kZXRhaWxzIC5zb2NpYWwtY29udGFpbmVyIC5zb2NpYWwtbWVkaWEtaWNvbnMgLmljb24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxLjYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gICAgLmF1dGhvci1kZXRhaWxzIC5zb2NpYWwtY29udGFpbmVyIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNWVtOyB9XG4gIC5hdXRob3ItZGV0YWlscyAuYmlvZ3JhcGh5IHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogODAlO1xuICAgIG1heC13aWR0aDogODBlbTsgfVxuXG4vKipcclxuICogQHN0cnVjdHVyZSBTbWFsbCBBdXRob3IgRGV0YWlsc1xyXG4gKiBAc2VjdGlvbiBBdXRob3JcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgTGVzcyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgYXV0aG9yLCBtb3N0IGxpa2VseSBmb3VuZCBpbiB0aGUgc2lkZWJhciByZWNvbW1lbmRlZCAvIHBvcHVsYXIgYXJ0aWNsZXMuIFVzZSAuYXZhdGFyLXNtYWxsZXIgb24gdGhlIGF2YXRhciBpbWFnZSB0byBtYWtlIGl0IHNtYWxsZXIuXHJcbiAqIEBtYXJrdXAgXHJcbiAqICAgICAgPGRpdiBjbGFzcz1cImF1dGhvci1kZXRhaWxzLXNtYWxsXCIgc3R5bGU9XCJ3aWR0aDogNDAwcHg7IHBhZGRpbmc6IDQwcHg7IGJvcmRlci1yaWdodDoxcHggc29saWQgI2NjYzsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgb3ZlcmZsb3c6aGlkZGVuO1wiPlxyXG4gKiAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXZhdGFyXCI+XHJcbiAqICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4uL2ltZy9hdmF0YXItcGhvdG8uanBnXCIgY2xhc3M9XCJhdmF0YXItbWFza1wiPlxyXG4gKiAgICAgICAgICA8L2Rpdj4gXHJcbiAqICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPlxyXG4gKiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj5XaWxsaWFtIFQuIE1jR2l0aGVyczwvYT5cclxuICogICAgICAgICAgPC9kaXY+XHJcbiAqICAgICAgICAgIDxkaXYgY2xhc3M9XCJzb2NpYWwtY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgICAgICA8cD5Gb2xsb3cgbWUgb246PC9wPlxyXG4gKiAgICAgICAgICAgICAgPHVsIGNsYXNzPVwic29jaWFsLW1lZGlhLWljb25zIG5hcnJvd1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cImZhY2Vib29rXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNmYWNlYm9va1wiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICogICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInR3aXR0ZXJcIj5cclxuICogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI3R3aXR0ZXJcIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgICAgICA8bGkgY2xhc3M9XCJpbnN0YWdyYW1cIj5cclxuICogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2luc3RhZ3JhbVwiIC8+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgIDwvYT5cclxuICogICAgICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxsaSBjbGFzcz1cInJlZGRpdFwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJpY29uXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICA8dXNlIHhsaW5rOmhyZWY9XCIjcmVkZGl0XCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwibGlua2VkaW5cIj5cclxuICogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2xpbmtlZGluXCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwiZW1haWxcIj5cclxuICogICAgICAgICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwiaWNvblwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgPHVzZSB4bGluazpocmVmPVwiI2VtYWlsXCIgLz5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgPC9hPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAqICAgICAgICAgICAgICAgICAgPGxpIGNsYXNzPVwicnNzXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cImljb25cIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgIDx1c2UgeGxpbms6aHJlZj1cIiNyc3NcIiAvPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICogICAgICAgICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgICAgIDwvdWw+XHJcbiAqICAgICAgICAgIDwvZGl2PlxyXG4gKiAgICAgIDwvZGl2PlxyXG4gKi9cbi5hdXRob3ItZGV0YWlscy1zbWFsbCB7XG4gIG1hcmdpbjogNDBweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmF1dGhvci1kZXRhaWxzLXNtYWxsIC5hdmF0YXIge1xuICAgIGJvcmRlci1jb2xvcjogI2Y3ZjdmNzsgfVxuICAuYXV0aG9yLWRldGFpbHMtc21hbGwgLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuYXV0aG9yLWRldGFpbHMtc21hbGwgLnNvY2lhbC1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBjb2xvcjogIzdjODA4MzsgfVxuICAgIC5hdXRob3ItZGV0YWlscy1zbWFsbCAuc29jaWFsLWNvbnRhaW5lciBwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLyoqXHJcbiAqIEBzdHJ1Y3R1cmUgSGVhZGVyXHJcbiAqIEBzZWN0aW9uIFN0b3J5ID4gSGVhZGVyXHJcbiAqIEBmbGFnIGZ1bGwtd2lkdGhcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgSGVhZGVyIHNlY3Rpb24gb2YgYSBzdG9yeSBpdGVtLlxyXG4gKiBAbWFya3VwIFxyXG4gKiAgICAgIDxoZWFkZXIgY2xhc3M9XCJzdG9yeS1oZWFkZXIgY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgIDxoMSBjbGFzcz1cInRpdGxlXCI+QHtsaXBzdW06Mjp3b3Jkc308L2gxPlxyXG4gKiAgICAgICAgICA8cCBjbGFzcz1cImJ5bGluZVwiPmJ5IDxhIGhyZWY9XCIjXCIgcmVsPVwiYXV0aG9yXCI+V2lsbGlhbSBULiBNY0dpdGhlcnM8L2E+PC9wPlxyXG4gKiAgICAgICAgICA8dGltZSBjbGFzcz1cInB1Ymxpc2gtZGF0ZVwiIGRhdGV0aW1lPVwiMjAxNi0wOC0xNVQxOTowMFwiPkF1Z3VzdCAxNSwgMjAxNjwvdGltZT5cclxuICogICAgICA8L2hlYWRlcj5cclxuICovXG4uc3RvcnktaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnN0b3J5LWhlYWRlciAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLnN0b3J5LXByZXZpZXctY29udGFpbmVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgLnN0b3J5LXByZXZpZXctY29udGFpbmVyIC5zdG9yeS1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAgIC5zdG9yeS1wcmV2aWV3LWNvbnRhaW5lciAuc3RvcnktbGluazpob3ZlciAudGl0bGUge1xuICAgICAgY29sb3I6ICMwMTdEQzc7IH1cbiAgLnN0b3J5LXByZXZpZXctY29udGFpbmVyIC5ieWxpbmUtY29ubmVjdG9yIHtcbiAgICBjb2xvcjogIzdjODA4MzsgfVxuICAgIEBtZWRpYSAobWF4LXdpZHRoOiA1MGVtKSB7XG4gICAgICAuc3RvcnktcHJldmlldy1jb250YWluZXIgLmJ5bGluZS1jb25uZWN0b3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbi5zdG9yeS1saXN0LWVycm9yIHtcbiAgbWFyZ2luOiAxcmVtIDA7IH1cblxuLyoqXHJcbiAqIEBzdHJ1Y3R1cmUgTG9uZyBTdG9yeSBQcmV2aWV3XHJcbiAqIEBzZWN0aW9uIFN0b3J5IFByZXZpZXdcclxuICogQGRlc2NyaXB0aW9uIFxyXG4gKiAgRnVsbCB0ZXh0IHByZXZpZXcgb2YgYW4gc3RvcnkgaXRlbS5cclxuICogQG1hcmt1cCBcclxuICogIDx1bCBjbGFzcz1cInN0b3J5LWxpc3QgbG9uZy1zdG9yeVwiPlxyXG4gKiAgICAgIDxsaT5cclxuICogICAgICAgICAgPGFydGljbGUgY2xhc3M9XCJzdG9yeS1wcmV2aWV3LWNvbnRhaW5lclwiPlxyXG4gKiAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInN0b3J5LWxpbmtcIj5cclxuICogICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3RvcnlcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGgxPkB7bGlwc3VtOjEwOndvcmRzfTwvaDE+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwic3VtbWFyeSBoaWRlLXRvLWRlc2t0b3BcIj5Ae2xpcHN1bToxOnNlbnRlbmNlfTwvcD5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHAgY2xhc3M9XCJieWxpbmUtY29ubmVjdG9yXCI+QnkgV2lsbGlhbSBULiBNY0dpdGhlcnMgLy8gPHRpbWUgY2xhc3M9XCJwdWJsaXNoLWRhdGVcIiBkYXRldGltZT1cIjIwMTYtMDgtMTVUMTk6MDBcIj4xMSBtaW51dGVzPC90aW1lPiBhZ288L3A+XHJcbiAqICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgIFxyXG4gKiAgICAgICAgICAgICAgICAgIDxmaWd1cmUgY2xhc3M9XCJ0aHVtYi1jb250YWluZXJcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0aHVtYiB0aHVtYi1zbWFsbCB0aHVtYi1jb2xvciB0aHVtYi16b29tIG9wZW4tZ2FsbGVyeVwiPjxpbWcgc3JjPVwiLi4vaW1nL3RodW1iLnBuZ1wiPjwvc3Bhbj5cclxuICogICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cclxuICogICAgICAgICAgICAgIDwvYT5cclxuICogICAgICAgICAgPC9hcnRpY2xlPlxyXG4gKiAgICAgIDwvbGk+XHJcbiAqICAgICAgPGxpIGNsYXNzPVwic3RvcnktaHJcIj48aHIgY2xhc3M9XCJoaWRlLWZyb20tdGFibGV0XCI+PC9saT5cclxuICogICAgICA8bGk+XHJcbiAqICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPVwic3RvcnktcHJldmlldy1jb250YWluZXJcIj5cclxuICogICAgICAgICAgICAgIDxhIGhyZWY9XCIjXCIgY2xhc3M9XCJzdG9yeS1saW5rXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0b3J5XCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxoMT5Ae2xpcHN1bToxMDp3b3Jkc308L2gxPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICA8cCBjbGFzcz1cInN1bW1hcnkgaGlkZS10by1kZXNrdG9wXCI+QHtsaXBzdW06MTpzZW50ZW5jZX08L3A+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYnlsaW5lLWNvbm5lY3RvclwiPkJ5IEZyYW5rbGluIFcuIENvd3ZlZXJzIC8vIDx0aW1lIGNsYXNzPVwicHVibGlzaC1kYXRlXCIgZGF0ZXRpbWU9XCIyMDE2LTA4LTE1VDE5OjAwXCI+MTEgbWludXRlczwvdGltZT4gYWdvPC9wPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvZGl2PiAgICAgICAgICBcclxuICogICAgICAgICAgICAgICAgICA8ZmlndXJlIGNsYXNzPVwidGh1bWItY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGh1bWIgdGh1bWItc21hbGwgdGh1bWItY29sb3IgdGh1bWItem9vbSBwbGF5XCI+PGltZyBzcmM9XCIuLi9pbWcvdGh1bWIucG5nXCI+PC9zcGFuPlxyXG4gKiAgICAgICAgICAgICAgICAgIDwvZmlndXJlPlxyXG4gKiAgICAgICAgICAgICAgPC9hPiBcclxuICogICAgICAgICAgPC9hcnRpY2xlPlxyXG4gKiAgICAgIDwvbGk+XHJcbiAqICAgICAgPGxpPjxociBjbGFzcz1cImhpZGUtZnJvbS10YWJsZXRcIj48L2xpPlxyXG4gKiAgPC91bD5cclxuICovXG4ubG9uZy1zdG9yeSB7XG4gIG1hcmdpbjogMi41cmVtIDA7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAubG9uZy1zdG9yeSAuc3RvcnktbGluayB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgICAubG9uZy1zdG9yeSAuc3Rvcnkge1xuICAgICAgb3JkZXI6IDE7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gIC5sb25nLXN0b3J5IC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyLjI1ZW07IH1cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogNTBlbSkge1xuICAgICAgLmxvbmctc3RvcnkgLnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gIC5sb25nLXN0b3J5IC5zdW1tYXJ5IHtcbiAgICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2FOZXVlVzAxLTQ3THRDbiA2OTI2ODZcIjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmxvbmctc3RvcnkgLnRodW1iLWNvbnRhaW5lciB7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgKG1heC13aWR0aDogNTBlbSkge1xuICAgIC5sb25nLXN0b3J5IC50aHVtYi1jb250YWluZXIgLnRodW1iIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cblxuLyoqXHJcbiAqIEBzdHJ1Y3R1cmUgU2hvcnQgc3RvcnkgUHJldmlld1xyXG4gKiBAc2VjdGlvbiBTdG9yeSBQcmV2aWV3XHJcbiAqIEBkZXNjcmlwdGlvbiBcclxuICogIFNob3J0IHByZXZpZXcgb2YgYW4gc3RvcnkgaXRlbS4gU2hvdWxkIGJlIHVzZWQgd2l0aCAuaGlkZS10by1kZXNrdG9wIGFzIHRoaXMgZ29lcyBhd2F5IGluIG1vYmlsZSB2aWV3cy5cclxuICogQG1hcmt1cFxyXG4gKiAgPGRpdiBjbGFzcz1cImxlZnQtYXNpZGVcIj5cclxuICogICAgICA8ZGl2PlxyXG4gKiAgICAgICAgICA8dWwgY2xhc3M9XCJzdG9yeS1saXN0IHNob3J0LXN0b3J5XCIgc3R5bGU9XCJ3aWR0aDogNDAwcHg7IHBhZGRpbmc6IDQwcHg7IGJvcmRlci1yaWdodDoxcHggc29saWQgI2NjYzsgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgb3ZlcmZsb3c6aGlkZGVuO1wiPlxyXG4gKiAgICAgICAgICAgICAgPGxpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPVwic3RvcnktcHJldmlldy1jb250YWluZXJcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInN0b3J5LWxpbmtcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9yeVwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5Ae2xpcHN1bToxMDp3b3Jkc308L2gxPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYnlsaW5lLWNvbm5lY3RvclwiPkJ5IFdpbGxpYW0gVC4gTWNHaXRoZXJzIC8vIDx0aW1lIGNsYXNzPVwicHVibGlzaC1kYXRlXCIgZGF0ZXRpbWU9XCIyMDE2LTA4LTE1VDE5OjAwXCI+MTEgbWludXRlczwvdGltZT4gYWdvPC9wPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgIFxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzcz1cInRodW1iLWNvbnRhaW5lclwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGh1bWIgdGh1bWItc21hbGwgdGh1bWItY29sb3IgdGh1bWItem9vbSBvcGVuLWdhbGxlcnlcIj48aW1nIHNyYz1cIi4uL2ltZy90aHVtYi5wbmdcIj48L3NwYW4+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICA8L2ZpZ3VyZT5cclxuICogICAgICAgICAgICAgICAgICAgICAgPC9hPiBcclxuICogICAgICAgICAgICAgICAgICA8L2FydGljbGU+XHJcbiAqICAgICAgICAgICAgICA8L2xpPlxyXG4gKiAgICAgICAgICAgICAgPGxpPlxyXG4gKiAgICAgICAgICAgICAgICAgIDxhcnRpY2xlIGNsYXNzPVwic3RvcnktcHJldmlldy1jb250YWluZXJcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgPGEgaHJlZj1cIiNcIiBjbGFzcz1cInN0b3J5LWxpbmtcIj5cclxuICogICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdG9yeVwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxoMT5Ae2xpcHN1bToxMDp3b3Jkc308L2gxPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwIGNsYXNzPVwiYnlsaW5lLWNvbm5lY3RvclwiPkJ5IFdpbGxpYW0gVC4gTWNHaXRoZXJzIC8vIDx0aW1lIGNsYXNzPVwicHVibGlzaC1kYXRlLXN0YW1wXCIgZGF0ZXRpbWU9XCIyMDE2LTA4LTE1VDE5OjAwXCI+MiBkYXlzIGFnbzwvdGltZT4gYWdvPC9wPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgIFxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPGZpZ3VyZSBjbGFzcz1cInRodW1iLWNvbnRhaW5lclwiPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGh1bWIgdGh1bWItc21hbGwgdGh1bWItY29sb3IgdGh1bWItem9vbSBwbGF5XCI+PGltZyBzcmM9XCIuLi9pbWcvdGh1bWIucG5nXCI+PC9zcGFuPlxyXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9maWd1cmU+XHJcbiAqICAgICAgICAgICAgICAgICAgICAgIDwvYT4gXHJcbiAqICAgICAgICAgICAgICAgICAgPC9hcnRpY2xlPlxyXG4gKiAgICAgICAgICAgICAgPC9saT5cclxuICogICAgICAgICAgPC91bD5cclxuICogICAgICA8L2Rpdj5cclxuICogIDwvZGl2PlxyXG4gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MGVtKSB7XG4gIC5zaG9ydC1zdG9yeSAuc3RvcnktcHJldmlldy1jb250YWluZXIgLnRodW1iLWNvbnRhaW5lciB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLnNob3J0LXN0b3J5IC5zdG9yeS1wcmV2aWV3LWNvbnRhaW5lciAuc3Rvcnkge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zaG9ydC1zdG9yeSAuc3RvcnktcHJldmlldy1jb250YWluZXIgLnRpdGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnNob3J0LXN0b3J5IC5zdG9yeS1wcmV2aWV3LWNvbnRhaW5lciAuYnlsaW5lLWNvbm5lY3RvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uc2hvcnQtc3RvcnkgLnB1Ymxpc2gtZGF0ZS1zdGFtcCB7XG4gIGNvbG9yOiAjN2M4MDgzOyB9XG5cbi5zaG9ydC1zdG9yeSAudGl0bGUge1xuICBmb250LXNpemU6IDEuODc1ZW07XG4gIG1hcmdpbjogMC42MjVyZW0gMDsgfVxuXG4vKipcclxuICogQHN0cnVjdHVyZSBTdG9yeSBQcmV2aWV3IExpc3RcclxuICogQHNlY3Rpb24gU3RvcnkgUHJldmlld1xyXG4gKiBAZGVzY3JpcHRpb24gXHJcbiAqICBTdG9yeSBwcmV2aWV3IGxpc3Qgc3RydWN0dXJlLlxyXG4gKiBAbWFya3VwXHJcbiAqICA8dWwgY2xhc3M9XCJzdG9yeS1saXN0XCI+XHJcbiAqICAgICAgPGxpPlxyXG4gKiAgICAgICAgICA8YXJ0aWNsZSBjbGFzcz1cInN0b3J5LXByZXZpZXctY29udGFpbmVyXCI+XHJcbiAqICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzPVwic3RvcnktbGlua1wiPlxyXG4gKiAgICAgICAgICAgICAgICAgIHt7U3RvcnkgdGV4dH19XHJcbiAqICAgICAgICAgICAgICA8L2E+XHJcbiAqICAgICAgICAgIDwvYXJ0aWNsZT5cclxuICogICAgICA8L2xpPlxyXG4gKiAgICAgIDxsaSBjbGFzcz1cInN0b3J5LWhyXCI+PGhyIGNsYXNzPVwiaGlkZS1mcm9tLXRhYmxldFwiPjwvbGk+IFxyXG4gKiAgPC91bD5cclxuICovXG4uc3RvcnktbGlzdC13cmFwcGVyIC5idXR0b24uYWpheCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN0b3J5LWxpc3QtdGlsZXMgLnN0b3J5LWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLnN0b3J5LWxpc3QtdGlsZXMgLnN1bW1hcnksXG4uc3RvcnktbGlzdC10aWxlcyAuYXV0aG9yc2hpcCxcbi5zdG9yeS1saXN0LXRpbGVzIC5ieWxpbmUtY29ubmVjdG9yOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLnN0b3J5LWxpc3QtdGlsZXMgLnNob3J0LXN0b3J5IHtcbiAgICBtYXJnaW4tbGVmdDogLTEuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMS4yNXJlbTsgfSB9XG5cbi5zdG9yeS1saXN0LXRpbGVzIC5zaG9ydC1zdG9yeSAuc3Rvcnkge1xuICBvcmRlcjogMjsgfVxuXG4uc3RvcnktbGlzdC10aWxlcyAuc2hvcnQtc3RvcnkgLnRodW1iLWNvbnRhaW5lciB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zdG9yeS1saXN0LXRpbGVzIC5sb25nLXN0b3J5IC5zdG9yeSxcbi5zdG9yeS1saXN0LXRpbGVzIC5sb25nLXN0b3J5IC50aHVtYi1jb250YWluZXIge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3RvcnktbGlzdC10aWxlcyAubG9uZy1zdG9yeSAuc3Rvcnkge1xuICBvcmRlcjogMjsgfVxuXG4uc3RvcnktbGlzdC10aWxlcyAubG9uZy1zdG9yeSAudGh1bWItY29udGFpbmVyIHtcbiAgb3JkZXI6IDE7IH1cblxuLnN0b3J5LWxpc3QtdGlsZXMgLmxvbmctc3RvcnkgLnRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjg3NWVtOyB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA2MGVtKSB7XG4gICAgLnN0b3J5LWxpc3QtdGlsZXMgLmxvbmctc3RvcnkgLnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMC42MjVyZW0gMDsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5zdG9yeS1saXN0LXRpbGVzIC50aHVtYiB7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc3RvcnktbGlzdC10aWxlcyAuc3RvcnktcHJldmlldy1jb250YWluZXIge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLnN0b3J5LWxpc3QtdGlsZXMgLnN0b3J5LXByZXZpZXctY29udGFpbmVyIHtcbiAgICB3aWR0aDogMzMlOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDUwZW0pIHtcbiAgLnN0b3J5LWxpc3QtdGlsZXMgLnN0b3J5LXByZXZpZXctY29udGFpbmVyIC5zdG9yeSB7XG4gICAgbWluLWhlaWdodDogMTMwcHg7IH0gfVxuXG4uc2l0ZS1mb290ZXIge1xuICBwYWRkaW5nLXRvcDogMHB4OyB9XG5cbi5jb3Zlci1oZWFkbGluZS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmNvdmVyLWhlYWRsaW5lLWNvbnRhaW5lciBhLFxuICAuY292ZXItaGVhZGxpbmUtY29udGFpbmVyIC5jb3Zlci1jb250YWluZXIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jb3Zlci1oZWFkbGluZS1jb250YWluZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtaGVpZ2h0OiA3MHZoO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiBcIm9iamVjdC1maXQ6IGNvdmVyOyBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcIjsgfVxuXG4uY292ZXItaGVhZGxpbmUtY29udGFpbmVyIC5zdG9yeS1jb3ZlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB6LWluZGV4OiAxOyB9XG4gIC5jb3Zlci1oZWFkbGluZS1jb250YWluZXIgLnN0b3J5LWNvdmVyLnN0YW5kYXJkIHtcbiAgICBtYXJnaW46IDIuNXJlbSAwOyB9XG5cbi5jb3Zlci1oZWFkbGluZS1jb250YWluZXIgLmljb24tY292ZXI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiAyMCU7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDIwZW0pIHtcbiAgICAuY292ZXItaGVhZGxpbmUtY29udGFpbmVyIC5pY29uLWNvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDE1JTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmNvdmVyLWhlYWRsaW5lLWNvbnRhaW5lciAuaWNvbi1jb3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAxMCU7IH0gfVxuXG4jc3RvcnktY29udGFpbmVyIC5jb3Zlci1jb250YWluZXIge1xuICBtYXJnaW46IDIuNXJlbSAwOyB9XG5cbi5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1jb250cm9sIHtcbiAgcGFkZGluZzogMS41cmVtO1xuICBjb2xvcjogIzAxN0RDNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYzsgfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1jb250cm9sIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHBhZGRpbmc6IDFyZW07XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMgZWFzZS1vdXQ7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1jb250cm9sLmxlZnQsIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1jb250cm9sLnJpZ2h0IHtcbiAgICAgIHRvcDogMTQwcHg7XG4gICAgICBmbG9hdDogbm9uZTsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA1MGVtKSB7XG4gICAgLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LWNvbnRyb2wubGVmdCwgLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LWNvbnRyb2wucmlnaHQge1xuICAgICAgdG9wOiAxODVweDsgfSB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiA4MGVtKSB7XG4gICAgLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LWNvbnRyb2wubGVmdCwgLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LWNvbnRyb2wucmlnaHQge1xuICAgICAgdG9wOiAyNTBweDsgfSB9XG4gIC5pbmxpbmUtZ2FsbGVyeSAuZ2FsbGVyeS1jb250cm9sOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktY29udHJvbC5sZWZ0IHtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktY29udHJvbC5sZWZ0IHtcbiAgICAgICAgbGVmdDogMHB4OyB9IH1cbiAgLmlubGluZS1nYWxsZXJ5IC5nYWxsZXJ5LWNvbnRyb2wucmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuaW5saW5lLWdhbGxlcnkgLmdhbGxlcnktY29udHJvbC5yaWdodCB7XG4gICAgICAgIHJpZ2h0OiAwcHg7IH0gfVxuXG4uZ2FsbGVyeS1tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyMzIzO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAvKiBpT1MgU2FmYXJpICovXG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIFNhZmFyaSAqL1xuICAta2h0bWwtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIEtvbnF1ZXJvciBIVE1MICovXG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC8qIEZpcmVmb3ggKi9cbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAvKiBJbnRlcm5ldCBFeHBsb3Jlci9FZGdlICovXG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAvKiBOb24tcHJlZml4ZWQgdmVyc2lvbiwgY3VycmVudGx5XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdXBwb3J0ZWQgYnkgQ2hyb21lIGFuZCBPcGVyYSAqLyB9XG4gIC5nYWxsZXJ5LW1vZGFsIC5oaWRkZW4ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuZ2FsbGVyeS1tb2RhbCAudmlldyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5nYWxsZXJ5LW1vZGFsIC52aWV3LmltYWdlLXRpbGVzLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5nYWxsZXJ5LW1vZGFsIC52aWV3LmltYWdlLWZ1bGwuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmdhbGxlcnktbW9kYWwgLnZpZXcuZXJyb3IuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5nYWxsZXJ5LW1vZGFsLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmdhbGxlcnktaGVhZGVyIC5nYWxsZXJ5LXRpdGxlIHtcbiAgZmxleC1ncm93OiA0O1xuICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDgwZW0pIHtcbiAgICAuZ2FsbGVyeS1oZWFkZXIgLmdhbGxlcnktdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5nYWxsZXJ5LWhlYWRlciAuZ2FsbGVyeS10aXRsZSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmdhbGxlcnktaGVhZGVyIC5nYWxsZXJ5LXRpdGxlIGgxIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuIl19 */
