/*
|--------------------------------------------------------------------------
| Normalize
|--------------------------------------------------------------------------
|
*/
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
body {
  margin: 0; }

/* HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined for any HTML5 element in IE 8/9.
 * Correct `block` display not defined for `details` or `summary` in IE 10/11
 * and Firefox.
 * Correct `block` display not defined for `main` in IE 11.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
 * 1. Correct `inline-block` display not defined in IE 8/9.
 * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
 */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
 * Prevent modern browsers from displaying `audio` without controls.
 * Remove excess height in iOS 5 devices.
 */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
 */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * Improve readability when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
   ========================================================================== */
/**
 * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
 */
abbr[title] {
  border-bottom: 1px dotted; }

/**
 * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
 */
b,
strong {
  font-weight: bold; }

/**
 * Address styling not present in Safari and Chrome.
 */
dfn {
  font-style: italic; }

/**
 * Address variable `h1` font-size and margin within `section` and `article`
 * contexts in Firefox 4+, Safari, and Chrome.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
 * Address styling not present in IE 8/9.
 */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
hr {
  box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
   ========================================================================== */
/**
 * Known limitation: by default, Chrome and Safari on OS X allow very limited
 * styling of `select`, unless a `border` property is set.
 */
/**
 * 1. Correct color not being inherited.
 *    Known issue: affects color of disabled elements.
 * 2. Correct font properties not being inherited.
 * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
 * Address `overflow` set to `hidden` in IE 8/9/10/11.
 */
button {
  overflow: visible; }

/**
 * Address inconsistent `text-transform` inheritance for `button` and `select`.
 * All other form control elements do not inherit `text-transform` values.
 * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
 * Correct `select` style inheritance in Firefox.
 */
button,
select {
  text-transform: none; }

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *    and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *    `input` and others.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
 * Address Firefox 4+ setting `line-height` on `input` using `!important` in
 * the UA stylesheet.
 */
input {
  line-height: normal; }

/**
 * It's recommended that you don't attempt to style these elements.
 * Firefox's implementation doesn't respect box-sizing, padding, or width.
 *
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 */
input[type="checkbox"],
input[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
 * 2. Address `box-sizing` set to `border-box` in Safari and Chrome
 *    (include `-moz` to future-proof).
 */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  /* 2 */
  box-sizing: content-box; }

/**
 * Remove inner padding and search cancel button in Safari and Chrome on OS X.
 * Safari (but not Chrome) clips the cancel button when the search input has
 * padding (and `textfield` appearance).
 */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

/**
 * 1. Correct `color` not being inherited in IE 8/9/10/11.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
textarea {
  overflow: auto; }

/**
 * Don't inherit the `font-weight` (applied by a rule above).
 * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
 */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

/*
|--------------------------------------------------------------------------
| Config
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Helpers
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Redefine
|--------------------------------------------------------------------------
|
| Global resets to make life easier
|
*/
/*
|--------------------------------------------------------------------------
| Box sizing
|--------------------------------------------------------------------------
|
*/
html {
  box-sizing: border-box; }

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

/*
|--------------------------------------------------------------------------
| Viewports
|--------------------------------------------------------------------------
|
*/
@-moz-viewport {
  width: device-width; }

@-ms-viewport {
  width: device-width; }

@-o-viewport {
  width: device-width; }

@-webkit-viewport {
  width: device-width; }

@viewport {
  width: device-width; }

/*
|--------------------------------------------------------------------------
| HTML/Body resets
|--------------------------------------------------------------------------
|
*/
html,
body {
  height: 100%; }

html {
  font-size: 1rem;
  -webkit-tap-highlight-color: transparent; }

body {
  /* stylelint-disable */
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
  /* stylelint-enable */
  /* This needs escaping so it doesn't double string */
  font-family: "minion-pro", serif;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.5rem;
  color: #232833;
  background-color: #f0f0f0; }
  @media only screen and (min-width: 769px) {
    body {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

/*
|--------------------------------------------------------------------------
| Typography
|--------------------------------------------------------------------------
|
*/
/**
 * Headings
 */
h1, h2, h3, h4, h5, h6 {
  margin-top: 0; }

/**
 * Body
 */
/**
 * Paragraph
 */
p {
  margin-top: 0;
  margin-bottom: 20px; }

/**
 * Anchors
 */
a {
  text-decoration: none; }

/**
 * Code
 */
pre {
  max-height: 450px; }

/*
|--------------------------------------------------------------------------
| Images
|--------------------------------------------------------------------------
|
*/
img {
  max-width: 100%; }

/*
|--------------------------------------------------------------------------
| Text selection
|--------------------------------------------------------------------------
|
*/
::-moz-selection {
  background: #00578a;
  color: #fff; }
::selection {
  background: #00578a;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Outlines
|--------------------------------------------------------------------------
|
*/
* {
  outline: none; }

/*
|--------------------------------------------------------------------------
| Buttons
|--------------------------------------------------------------------------
|
*/
button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: transparent;
  border: 0;
  color: #000; }

/*
|--------------------------------------------------------------------------
| Blockquote
|--------------------------------------------------------------------------
|
*/
blockquote {
  margin: 0; }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Margins
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
.u-mb-10 {
  margin-bottom: 10px !important; }

.u-mb-30 {
  margin-bottom: 30px !important; }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Base
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Font sizes
|--------------------------------------------------------------------------
|
*/
.fz-large {
  margin-bottom: 10px;
  font-size: 1.25rem;
  letter-spacing: 0.0125rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 1025px) {
    .fz-large {
      font-size: 1.5rem;
      line-height: 2rem; } }

.fz-medium {
  margin-bottom: 9px;
  font-size: 1.125rem;
  letter-spacing: 0.01125rem;
  line-height: 1.625rem; }
  @media only screen and (min-width: 1025px) {
    .fz-medium {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

.fz-small {
  margin-bottom: 8px;
  font-size: 1rem;
  letter-spacing: 0.01rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 1025px) {
    .fz-small {
      font-size: 1.125rem;
      line-height: 1.625rem; } }

.fz-xlarge {
  font-size: 2.25rem;
  line-height: 2.375rem; }

/*
|--------------------------------------------------------------------------
| Headings
|--------------------------------------------------------------------------
|
*/
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.001em; }

h3, h4, h5, h6 {
  font-family: "minion-pro", serif;
  font-weight: 600; }

/*
|--------------------------------------------------------------------------
| Paragraphs
|--------------------------------------------------------------------------
|
*/
p {
  letter-spacing: 0.001em; }

/*
|--------------------------------------------------------------------------
| Anchors
|--------------------------------------------------------------------------
|
*/
a {
  font-weight: 600;
  color: #39c5ff;
  -webkit-transition: color 0.2s;
  transition: color 0.2s; }
  a:hover {
    color: rgba(57, 197, 255, 0.7); }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Layout
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Container
|--------------------------------------------------------------------------
|
*/
.l-Container {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }
  .hd-Outer + .l-Container,
  .bdc-Outer + .l-Container {
    padding-top: 60px;
    padding-bottom: 60px; }

/*
|--------------------------------------------------------------------------
| Site - Container
|--------------------------------------------------------------------------
|
*/
.l-Site_Container {
  margin-right: auto;
  margin-left: auto;
  max-width: 1600px;
  background-color: #fff; }

/*
|--------------------------------------------------------------------------
| Site - Content
|--------------------------------------------------------------------------
|
*/
.l-Site_Content {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  min-height: 450px;
  padding-top: 68px;
  padding-bottom: 60px; }

.l-Site_SectionContent {
  margin-bottom: 80px; }

/*
|--------------------------------------------------------------------------
| Site - Main
|--------------------------------------------------------------------------
|
*/
.l-Site_Main {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%; }
  @media only screen and (min-width: 769px) {
    .l-Site_Main {
      -webkit-flex-basis: calc(66.6666666667% - 40px);
          -ms-flex-preferred-size: calc(66.6666666667% - 40px);
              flex-basis: calc(66.6666666667% - 40px);
      margin-right: 20px;
      margin-left: 20px;
      max-width: calc(66.6666666667% - 40px);
      width: calc(66.6666666667% - 40px); } }
  @media only screen and (min-width: 769px) {
    .l-Site_Main.l-Site_Main-Centered {
      margin-right: auto;
      margin-left: auto; } }

.l-Site_Main_Seperator {
  border: none;
  border-bottom: 1px solid #ced5d9; }

/*
|--------------------------------------------------------------------------
| Site - Aside
|--------------------------------------------------------------------------
|
*/
.l-Site_Aside {
  position: relative;
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%; }
  @media only screen and (min-width: 481px) {
    .l-Site_Aside {
      -webkit-flex-basis: calc(50% - 40px);
          -ms-flex-preferred-size: calc(50% - 40px);
              flex-basis: calc(50% - 40px);
      margin-right: 20px;
      margin-left: 20px;
      max-width: calc(50% - 40px);
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .l-Site_Aside {
      -webkit-flex-basis: calc(33.3333333333% - 40px);
          -ms-flex-preferred-size: calc(33.3333333333% - 40px);
              flex-basis: calc(33.3333333333% - 40px);
      max-width: calc(33.3333333333% - 40px);
      width: calc(33.3333333333% - 40px); } }

/*
|--------------------------------------------------------------------------
| Globals
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Header
|--------------------------------------------------------------------------
|
| The global site header that appears at the top of every page
| @prefix: hd-
|
*/
/*
|--------------------------------------------------------------------------
| Header - Outer
|--------------------------------------------------------------------------
|
*/
.hd-Outer {
  position: relative;
  z-index: 100; }

/*
|--------------------------------------------------------------------------
| Top Strip
|--------------------------------------------------------------------------
|
| This actually is included from an external source so just add a few
| placeholder styles
|
*/
.hd-TopStrip {
  height: 60px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.125rem;
  background-color: #000;
  color: #fff; }
  @media only screen and (min-width: 1025px) {
    .hd-TopStrip {
      height: 72px; } }

/*
|--------------------------------------------------------------------------
| Top Strip - Inner
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Top Strip - Logo
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_Logo {
  display: block;
  height: 38px;
  margin-top: 11px;
  margin-bottom: 11px;
  width: 178px;
  background-image: url('/static/site/build/img/uoc-logo.png'); }
  @media only screen and (min-width: 1025px) {
    .hd-TopStrip_Logo {
      margin-top: 17px;
      margin-bottom: 17px; } }

/*
|--------------------------------------------------------------------------
| Top Strip - Nav
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_Nav {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .hd-TopStrip_Nav {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      margin-left: auto; } }

/*
|--------------------------------------------------------------------------
| Top Strip  - Nav item
|--------------------------------------------------------------------------
|
*/
.hd-TopStrip_NavItem {
  display: block;
  padding-top: 27px;
  padding-right: 20px;
  padding-bottom: 27px;
  padding-left: 20px;
  border-left: 1px solid #2e2e2e;
  color: inherit; }
  .hd-TopStrip_NavItem:last-child {
    border-right: 1px solid #2e2e2e; }

/*
|--------------------------------------------------------------------------
| Strip
|--------------------------------------------------------------------------
|
*/
.hd-Strip {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 114px;
  background-color: #fff;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.4); }
  @media only screen and (min-width: 1025px) {
    .hd-Strip {
      box-shadow: none; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Trigger
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavTrigger {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  margin-top: 42px;
  margin-bottom: 42px;
  padding-top: 7px;
  padding-right: 7px;
  padding-bottom: 7px;
  padding-left: 7px;
  font-size: 0.75rem;
  border: 2px solid #3b5866;
  border-radius: 3px;
  color: #0a2e40;
  cursor: pointer;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavTrigger {
      display: none;
      margin-top: 49px;
      margin-bottom: 35px; } }
  .hd-Strip_NavTrigger[aria-selected='true'] {
    background-color: #39c5ff;
    border: 2px solid #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Nav Trigger Line
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavTriggerLine {
  display: block;
  height: 2px;
  width: 12px;
  background-color: #0a2e40;
  -webkit-transform-origin: 50% 50%;
          transform-origin: 50% 50%;
  -webkit-transition: background-color 0.3s;
  transition: background-color 0.3s;
  /**
  * Top Line
  */
  /**
  * Middle Line
  */
  /**
  * Bottom Line
  */ }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine {
    background-color: #fff; }
  .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Top {
    margin-bottom: auto; }
  .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Middle {
    margin-top: auto;
    margin-bottom: auto; }
  .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Bottom {
    margin-top: auto; }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Top {
    -webkit-animation: NavTriggerLine-Top-Anim 0.35s;
            animation: NavTriggerLine-Top-Anim 0.35s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Middle {
    -webkit-animation: NavTriggerLine-Middle-Anim 0.35s;
            animation: NavTriggerLine-Middle-Anim 0.35s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }
  .hd-Strip_NavTrigger[aria-selected='true'] .hd-Strip_NavTriggerLine.hd-Strip_NavTriggerLine-Bottom {
    -webkit-animation: NavTriggerLine-Bottom-Anim 0.35s;
            animation: NavTriggerLine-Bottom-Anim 0.35s;
    -webkit-animation-fill-mode: forwards;
            animation-fill-mode: forwards; }

@-webkit-keyframes NavTriggerLine-Top-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); }
  100% {
    -webkit-transform: translateY(5px) rotate(45deg) scale(1.3);
            transform: translateY(5px) rotate(45deg) scale(1.3); } }

@keyframes NavTriggerLine-Top-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(5px);
            transform: translateY(5px); }
  100% {
    -webkit-transform: translateY(5px) rotate(45deg) scale(1.3);
            transform: translateY(5px) rotate(45deg) scale(1.3); } }

@-webkit-keyframes NavTriggerLine-Middle-Anim {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }

@keyframes NavTriggerLine-Middle-Anim {
  0% {
    opacity: 1; }
  50% {
    opacity: 0; }
  100% {
    opacity: 0; } }

@-webkit-keyframes NavTriggerLine-Bottom-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px); }
  100% {
    -webkit-transform: translateY(-5px) rotate(-45deg) scale(1.3);
            transform: translateY(-5px) rotate(-45deg) scale(1.3); } }

@keyframes NavTriggerLine-Bottom-Anim {
  0% {
    -webkit-transform: translateY(0);
            transform: translateY(0); }
  50% {
    -webkit-transform: translateY(-5px);
            transform: translateY(-5px); }
  100% {
    -webkit-transform: translateY(-5px) rotate(-45deg) scale(1.3);
            transform: translateY(-5px) rotate(-45deg) scale(1.3); } }

/*
|--------------------------------------------------------------------------
| Strip - Logo
|--------------------------------------------------------------------------
|
*/
.hd-Strip_Logo {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 114px;
  margin-right: auto;
  margin-left: auto;
  padding-top: 37px;
  padding-bottom: 37px;
  width: 179px;
  background-image: url('/static/site/build/img/svgs/csap-logo.svg');
  background-position: left 0 top 37px;
  background-repeat: no-repeat;
  background-size: 179px 40px; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_Logo {
      margin-right: 0;
      margin-left: 0;
      padding-top: 32px;
      padding-bottom: 32px;
      width: 220px;
      background-position: left 0 top 32px;
      background-size: 220px 50px; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav
|--------------------------------------------------------------------------
|
*/
.hd-Strip_Nav {
  position: fixed;
  top: 174px;
  bottom: 0;
  left: 0;
  z-index: 0;
  padding-bottom: 20px;
  width: 230px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1rem;
  font-weight: 600;
  background-color: #fff;
  border-top: 1px solid #d1d1d1;
  border-right: 1px solid #d1d1d1;
  overflow-x: scroll;
  overflow-y: visible;
  -webkit-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition: -webkit-transform 0.3s;
  transition: -webkit-transform 0.3s;
  transition: transform 0.3s;
  transition: transform 0.3s, -webkit-transform 0.3s; }
  .hd-Strip_Nav[aria-hidden='true'] {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%); }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_Nav {
      position: static;
      z-index: 1;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-inline-box;
      display: -webkit-inline-flex;
      display: -ms-inline-flexbox;
      display: inline-flex;
      margin-left: auto;
      padding-top: 46px;
      padding-bottom: 32px;
      width: auto;
      border: 0;
      color: #0a2e40;
      overflow-x: visible; }
      .hd-Strip_Nav[aria-hidden='true'] {
        -webkit-transform: translateX(0);
                transform: translateX(0); } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Item
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavItem {
  position: relative; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavItem {
      margin-right: 10px;
      margin-left: 10px; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Action
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavAction {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 13px;
  padding-right: 20px;
  padding-bottom: 12px;
  padding-left: 20px;
  border-bottom: 1px solid #d1d1d1;
  color: #0a2e40;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .hd-Strip_NavAction:hover {
    background-color: #39c5ff;
    color: #fff; }
  .hd-Strip_NavAction .fa {
    margin-left: auto; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavAction {
      display: block;
      padding-top: 6px;
      padding-right: 4px;
      padding-bottom: 6px;
      padding-left: 4px;
      border-bottom: 0;
      color: #0a2e40;
      -webkit-transition: color 0.3s;
      transition: color 0.3s; }
      .hd-Strip_NavAction:hover {
        background-color: #fff;
        color: #39c5ff; }
      .hd-Strip_NavAction .fa {
        display: none; } }

/*
|--------------------------------------------------------------------------
| Strip - Nav Dropdown
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavDropdown {
  position: fixed;
  top: 0;
  bottom: 0;
  z-index: 2;
  width: 230px;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  opacity: 0;
  visibility: hidden;
  -webkit-transform: translateX(-230px);
          transform: translateX(-230px);
  -webkit-transition: opacity 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s;
  transition: opacity 0.3s, transform 0.3s, visibility 0.3s, -webkit-transform 0.3s;
  /**
  * Provide an invisible block that allows for more flexible mouse movement
  * when the user moves from the hovered NavItem to the NavDropdown
  */
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .hd-Strip_NavDropdown[aria-hidden='false'] {
    -webkit-transform: translateX(0);
            transform: translateX(0); }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavDropdown {
      position: absolute;
      top: 150%;
      bottom: auto;
      width: 220px;
      border-radius: 3px;
      box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.4);
      -webkit-transform: translateX(0);
              transform: translateX(0); } }
  .hd-Strip_NavDropdown::before {
    content: '';
    position: absolute;
    top: -20px;
    display: block;
    height: 20px;
    width: 100%; }
  .hd-Strip_NavItem:nth-last-child(n-2) .hd-Strip_NavDropdown {
    right: 0; }
  .hd-Strip_NavItem:hover > .hd-Strip_NavDropdown {
    opacity: 1;
    visibility: visible; }

/*
|--------------------------------------------------------------------------
| Strip - Nav Dropdown Action
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavDropdownAction {
  display: block;
  padding-top: 13px;
  padding-right: 20px;
  padding-bottom: 12px;
  padding-left: 20px;
  border-bottom: 1px solid #d1d1d1;
  color: #0a2e40;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  /**
  * Remove the border on the dropdown's last item's action
  */
  /**
  * Hide the first 2 items on desktop, they are purely for mobile navigation
  */ }
  .hd-Strip_NavDropdownAction:hover {
    background-color: #39c5ff;
    color: #fff; }
  .hd-Strip_NavDropdownItem:last-child .hd-Strip_NavDropdownAction {
    border-bottom: 0; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavDropdownItem:first-child .hd-Strip_NavDropdownAction {
      display: none; } }
  .hd-Strip_NavDropdownAction .fa-arrow-left {
    margin-right: 10px; }

/*
|--------------------------------------------------------------------------
| Strip - Nav Button
|--------------------------------------------------------------------------
|
*/
.hd-Strip_NavButton {
  display: block;
  margin-top: 20px;
  margin-right: 20px;
  margin-left: 20px;
  padding-top: 1px;
  padding-right: 24px;
  padding-bottom: 1px;
  padding-left: 24px;
  font-size: 0.8125rem;
  text-align: center;
  background-color: #fff;
  border: 2px solid #3b5866;
  border-radius: 3px;
  color: #0a2e40;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_NavButton {
      display: inline-block;
      margin-top: 0;
      margin-right: 14px;
      margin-left: 14px; } }
  .hd-Strip_NavButton:hover {
    background-color: #39c5ff;
    border: 2px solid #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Search
|--------------------------------------------------------------------------
|
*/
.hd-Strip_Search {
  position: relative;
  margin-top: 42px;
  margin-bottom: 42px;
  min-width: 28px;
  padding-top: 1px;
  padding-right: 7px;
  padding-bottom: 1px;
  padding-left: 7px;
  font-size: 0.75rem;
  border: 2px solid #3b5866;
  border-radius: 3px;
  color: #0a2e40;
  cursor: pointer;
  -webkit-transition: background-color 0.3s, border 0.3s, color 0.3s;
  transition: background-color 0.3s, border 0.3s, color 0.3s; }
  @media only screen and (min-width: 1025px) {
    .hd-Strip_Search {
      margin-top: 49px;
      margin-bottom: 35px; } }
  .hd-Strip_Search[aria-selected='true'] {
    z-index: 2; }
  .hd-Strip_Search[aria-selected='true'], .hd-Strip_Search:hover {
    background-color: #39c5ff;
    border: 2px solid #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Search Form
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchForm {
  position: absolute;
  top: 150%;
  right: 0;
  padding: 10px;
  width: 340px;
  background-color: #fff;
  border: 1px solid #d1d1d1;
  border-radius: 3px;
  box-shadow: 0 0 8px 0 rgba(0, 0, 0, 0.4);
  opacity: 0;
  visibility: hidden;
  -webkit-transition: opacity 0.3s, visibility 0s;
  transition: opacity 0.3s, visibility 0s; }
  .hd-Strip_SearchForm[aria-hidden='false'] {
    opacity: 1;
    visibility: visible; }

/*
|--------------------------------------------------------------------------
| Strip - Search Item
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchItem {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 31px; }

/*
|--------------------------------------------------------------------------
| Strip - Search Input
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchInput {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  padding: 0;
  padding-right: 20px;
  font-family: "minion-pro", serif;
  font-size: 1rem;
  border: 0;
  color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput::-webkit-input-placeholder {
    color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput::-moz-placeholder {
    color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput:-ms-input-placeholder {
    color: rgba(10, 46, 64, 0.5); }
  .hd-Strip_SearchInput::placeholder {
    color: rgba(10, 46, 64, 0.5); }

/*
|--------------------------------------------------------------------------
| Strip - Search Submit
|--------------------------------------------------------------------------
|
*/
.hd-Strip_SearchSubmit {
  padding-right: 19px;
  padding-left: 19px;
  font-size: 0.875rem;
  background-color: #39c5ff;
  border-radius: 3px;
  color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Footer
|--------------------------------------------------------------------------
|
| The global site footer that appears at the bottom of every page
| @prefix: ft-
|
*/
/*
|--------------------------------------------------------------------------
| Strip
|--------------------------------------------------------------------------
|
*/
.ft-Strip {
  background-color: #232833;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Strip - Inner
|--------------------------------------------------------------------------
|
*/
.ft-Strip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 39px; }
  @media only screen and (min-width: 1025px) {
    .ft-Strip_Inner {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap;
      padding-top: 55px;
      padding-bottom: 70px; } }

/*
|--------------------------------------------------------------------------
| Column
|--------------------------------------------------------------------------
|
*/
.ft-Col {
  padding-top: 35px;
  padding-bottom: 35px;
  border-top: 1px solid rgba(234, 234, 234, 0.2);
  /**
  * Col 1
  */
  /**
  * Col 2
  */
  /**
  * Col 4
  */ }
  @media only screen and (min-width: 1025px) {
    .ft-Col {
      padding-top: 0;
      padding-right: 35px;
      padding-bottom: 0;
      padding-left: 35px;
      border-top: 0;
      border-right: 1px solid rgba(234, 234, 234, 0.2); } }
  .ft-Col:first-of-type {
    padding-top: 0;
    padding-left: 0;
    border-top: 0; }
  @media only screen and (min-width: 1025px) {
    .ft-Col:last-child {
      padding-right: 0;
      border-right: 0; } }
  .ft-Col.ft-Col1 {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    -webkit-box-ordinal-group: 2;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1;
    width: 100%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col1 {
        -webkit-flex-basis: 33.3333333333%;
            -ms-flex-preferred-size: 33.3333333333%;
                flex-basis: 33.3333333333%;
        width: 33.3333333333%; } }
  .ft-Col.ft-Col2 {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    -webkit-box-ordinal-group: 3;
    -webkit-order: 2;
        -ms-flex-order: 2;
            order: 2;
    width: 50%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col2 {
        -webkit-flex-basis: 16.6666666667%;
            -ms-flex-preferred-size: 16.6666666667%;
                flex-basis: 16.6666666667%;
        width: 16.6666666667%; } }
  .ft-Col.ft-Col3 {
    -webkit-flex-basis: 100%;
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
    -webkit-box-ordinal-group: 5;
    -webkit-order: 4;
        -ms-flex-order: 4;
            order: 4;
    width: 100%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col3 {
        -webkit-flex-basis: 33.3333333333%;
            -ms-flex-preferred-size: 33.3333333333%;
                flex-basis: 33.3333333333%;
        -webkit-box-ordinal-group: 4;
        -webkit-order: 3;
            -ms-flex-order: 3;
                order: 3;
        width: 33.3333333333%; } }
  .ft-Col.ft-Col4 {
    -webkit-flex-basis: 50%;
        -ms-flex-preferred-size: 50%;
            flex-basis: 50%;
    -webkit-box-ordinal-group: 4;
    -webkit-order: 3;
        -ms-flex-order: 3;
            order: 3;
    width: 50%; }
    @media only screen and (min-width: 1025px) {
      .ft-Col.ft-Col4 {
        -webkit-flex-basis: 16.6666666667%;
            -ms-flex-preferred-size: 16.6666666667%;
                flex-basis: 16.6666666667%;
        -webkit-box-ordinal-group: 5;
        -webkit-order: 4;
            -ms-flex-order: 4;
                order: 4;
        width: 16.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Column - Header
|--------------------------------------------------------------------------
|
*/
.ft-Col_Header {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem; }

/*
|--------------------------------------------------------------------------
| Column - Text
|--------------------------------------------------------------------------
|
*/
.ft-Col_Text {
  margin-bottom: 0; }

/* Special case for column 3, the text above the newsletter. This should be
   hidden when the layout is collapsed at <lg. Github #37. */
.ft-Col3_Text {
  display: none; }
  @media only screen and (min-width: 1025px) {
    .ft-Col3_Text {
      display: block; } }

/*
|--------------------------------------------------------------------------
| List
|--------------------------------------------------------------------------
|
*/
.ft-List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| List - Item Action
|--------------------------------------------------------------------------
|
*/
.ft-List_ItemAction {
  display: block;
  line-height: 1.75rem;
  color: #fff;
  -webkit-transition: color 0.18s;
  transition: color 0.18s; }
  .ft-List_ItemAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| List Social
|--------------------------------------------------------------------------
|
*/
.ft-ListSocial {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| List Social - Item Action
|--------------------------------------------------------------------------
|
*/
.ft-ListSocial_ItemAction {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  line-height: 1.75rem;
  color: #fff;
  -webkit-transition: color 0.18s;
  transition: color 0.18s; }
  .ft-ListSocial_ItemAction:hover {
    color: #39c5ff; }
  .ft-ListSocial_ItemAction .fa {
    margin-right: 10px; }

/*
|--------------------------------------------------------------------------
| Bottom Strip
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 15px;
  padding-bottom: 15px;
  background-color: #191d25; }
  @media only screen and (min-width: 1025px) {
    .ft-BottomStrip {
      height: 50px;
      padding-top: 0;
      padding-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| Bottom Strip - Inner
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 1025px) {
    .ft-BottomStrip_Inner {
      -webkit-box-pack: justify;
      -webkit-justify-content: space-between;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

/*
|--------------------------------------------------------------------------
| Bottom Strip - Copyright
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip_Copyright {
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #fff; }
  .ft-BottomStrip_Copyright::after {
    content: '\00a0'; }

/*
|--------------------------------------------------------------------------
| Bottom Strip - Onespace
|--------------------------------------------------------------------------
|
*/
.ft-BottomStrip_Onespace {
  margin-bottom: 0;
  font-size: 0.875rem;
  color: #fff;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .ft-BottomStrip_Onespace a {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Components
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Article - Share
|--------------------------------------------------------------------------
|
*/
.art-Share {
  position: absolute;
  left: 50%;
  display: none;
  margin-left: -620px;
  border: 1px solid #232833; }
  @media only screen and (min-width: 769px) {
    .art-Share {
      display: block; } }

/*
|--------------------------------------------------------------------------
| Article - Share - Title
|--------------------------------------------------------------------------
|
*/
.art-Share_Title {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 0.75rem;
  line-height: 1.875rem;
  text-align: center;
  background-color: #232833;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Article - Share - List
|--------------------------------------------------------------------------
|
*/
.art-Share_List {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Article - Share - Item
|--------------------------------------------------------------------------
|
*/
.art-Share_Item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 24px;
  padding-right: 24px;
  padding-bottom: 24px;
  padding-left: 24px;
  border-bottom: 1px solid #232833;
  color: #00578a; }
  .art-Share_Item:last-child {
    border-bottom: 0; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Article - Strip
|--------------------------------------------------------------------------
|
| @prefix: art-
|
*/
.art-Strip {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 30px;
  padding-bottom: 30px;
  text-align: center;
  color: #fff; }
  @media only screen and (min-width: 769px) {
    .art-Strip {
      padding-top: 46px;
      padding-bottom: 46px;
      text-align: left; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Inner
|--------------------------------------------------------------------------
|
*/
.art-Strip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Content
|--------------------------------------------------------------------------
|
*/
.art-Strip_Content {
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  width: 83.3333333333%; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Content {
      -webkit-flex-basis: 50%;
          -ms-flex-preferred-size: 50%;
              flex-basis: 50%;
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1;
      width: 50%; } }
  @media only screen and (min-width: 1025px) {
    .art-Strip_Content {
      -webkit-flex-basis: 33.3333333333%;
          -ms-flex-preferred-size: 33.3333333333%;
              flex-basis: 33.3333333333%;
      margin-left: calc(16.6666666667% + 20px);
      width: 33.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Short title
|--------------------------------------------------------------------------
|
*/
.art-Strip_ShortTitle {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .art-Strip_ShortTitle {
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Title
|--------------------------------------------------------------------------
|
*/
.art-Strip_Title {
  margin-bottom: 8px;
  font-size: 1.625rem;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Text
|--------------------------------------------------------------------------
|
*/
.art-Strip_Text {
  margin-bottom: 0;
  font-size: 0.875rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 769px) {
    .art-Strip_Text {
      font-size: 1.125rem;
      line-height: 1.75rem; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Media container
|--------------------------------------------------------------------------
|
*/
.art-Strip_MediaContainer {
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px; }
  @media only screen and (min-width: 769px) {
    .art-Strip_MediaContainer {
      -webkit-flex-basis: 174px;
          -ms-flex-preferred-size: 174px;
              flex-basis: 174px;
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      margin-right: 8.3333333333%;
      margin-bottom: 0;
      margin-left: auto; } }
  @media only screen and (min-width: 1025px) {
    .art-Strip_MediaContainer {
      margin-right: 16.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Article - Strip - Media
|--------------------------------------------------------------------------
|
*/
.art-Strip_Media {
  height: 174px;
  width: 174px;
  border-radius: 50%;
  -o-object-fit: cover;
     object-fit: cover; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Breadcrumb
|--------------------------------------------------------------------------
|
| @prefix: bdc-
|
*/
/*
|--------------------------------------------------------------------------
| Breadcrumb - Outer
|--------------------------------------------------------------------------
|
*/
.bdc-Outer {
  background-color: #232833; }

/*
|--------------------------------------------------------------------------
| Breadcrumb - Inner
|--------------------------------------------------------------------------
|
*/
.bdc-Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  padding-top: 12px;
  padding-bottom: 12px; }

/*
|--------------------------------------------------------------------------
| Breadcrumb - Items
|--------------------------------------------------------------------------
|
*/
.bdc-Items {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-family: "minion-pro", serif;
  font-size: 0.875rem;
  line-height: 1.625rem;
  color: #fff; }
  @media only screen and (min-width: 1025px) {
    .bdc-Items {
      font-size: 1.125rem; } }

.bdc-Item {
  display: inline-block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap; }

/*
|--------------------------------------------------------------------------
| Breadcrumb - Action
|--------------------------------------------------------------------------
|
*/
.bdc-Action {
  position: relative;
  margin-right: 16px; }
  .bdc-Action::after {
    content: '-';
    position: absolute;
    margin-left: 5px;
    color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Contact - Details
|--------------------------------------------------------------------------
|
*/
.ctc-Details {
  padding-top: 6.17%;
  padding-bottom: 4.96%; }

/*
|--------------------------------------------------------------------------
| Contact - Details - Title
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Title {
  margin-bottom: 32px;
  font-weight: 400; }
  @media only screen and (min-width: 769px) {
    .ctc-Details_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Contact - Details - Columns
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Columns {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }
  @media only screen and (min-width: 481px) {
    .ctc-Details_Columns {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

/*
|--------------------------------------------------------------------------
| Contact - Details - Column
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Column {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  margin-right: 20px;
  margin-left: 20px; }

/*
|--------------------------------------------------------------------------
| Contact - Details - Block
|--------------------------------------------------------------------------
|
*/
.ctc-Details_Block {
  margin-bottom: 32px;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .ctc-Details_Block:last-of-type {
      margin-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| Contact - Details - Block title
|--------------------------------------------------------------------------
|
*/
.ctc-Details_BlockTitle {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Contact - Details - Block text
|--------------------------------------------------------------------------
|
*/
.ctc-Details_BlockText {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Contacts
|--------------------------------------------------------------------------
|
| @prefix: ctc-
|
*/
/*
|--------------------------------------------------------------------------
| Contacts - Inner
|--------------------------------------------------------------------------
|
*/
.ctc-Inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 769px) {
    .ctc-Inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-right: -20px;
      margin-left: -20px; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Events - Featured - Title
|--------------------------------------------------------------------------
|
*/
.eve-Featured_Title {
  margin-bottom: 20px;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Cards
|--------------------------------------------------------------------------
|
*/
.eve-Featured_Cards {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Cards {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -webkit-flex-direction: column;
          -ms-flex-direction: column;
              flex-direction: column;
      max-height: 760px; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card
|--------------------------------------------------------------------------
|
*/
.eve-Featured_Card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 40px;
  margin-left: 20px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  .eve-Featured_Card.eve-Featured_Card-Vert {
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Featured_Card.eve-Featured_Card-Vert {
        height: 340px; } }
    @media only screen and (min-width: 769px) {
      .eve-Featured_Card.eve-Featured_Card-Vert {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -webkit-flex-direction: column;
            -ms-flex-direction: column;
                flex-direction: column;
        height: 720px;
        width: calc(33.3333333333% - 40px); } }
  .eve-Featured_Card.eve-Featured_Card-Hori {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Featured_Card.eve-Featured_Card-Hori {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 340px;
        width: calc(100% - 40px); } }
    @media only screen and (min-width: 769px) {
      .eve-Featured_Card.eve-Featured_Card-Hori {
        width: calc(66.6666666667% - 40px); } }
  .eve-Featured_Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card media
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardMedia {
  display: block;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }
  .eve-Featured_Card-Hori .eve-Featured_CardMedia {
    padding-top: 100%;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Featured_Card-Hori .eve-Featured_CardMedia {
        -webkit-flex-basis: calc(50% - 20px);
            -ms-flex-preferred-size: calc(50% - 20px);
                flex-basis: calc(50% - 20px);
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin-right: 20px;
        padding-top: 0;
        width: calc(50% - 20px); } }
  @media only screen and (min-width: 481px) {
    .eve-Featured_Card-Vert .eve-Featured_CardMedia {
      -webkit-flex-basis: calc(50% - 20px);
          -ms-flex-preferred-size: calc(50% - 20px);
              flex-basis: calc(50% - 20px);
      -webkit-flex-shrink: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
      margin-right: 20px;
      padding-top: 0;
      width: calc(50% - 20px); } }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Card-Vert .eve-Featured_CardMedia {
      -webkit-flex-basis: auto;
          -ms-flex-preferred-size: auto;
              flex-basis: auto;
      padding-top: 100%;
      width: 100%; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card content
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardContent {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }
  .eve-Featured_Card-Hori .eve-Featured_CardContent,
  .eve-Featured_Card-Vert .eve-Featured_CardContent {
    padding-left: 20px; }
  @media only screen and (min-width: 769px) {
    .eve-Featured_Card-Vert .eve-Featured_CardContent {
      padding-left: 40px; } }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card short title
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card short title action
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardShortTitleAction {
  display: block;
  color: #39c5ff; }
  .eve-Featured_CardShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card title
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardTitle {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card title action
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardTitleAction {
  display: block;
  color: inherit; }
  .eve-Featured_CardTitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card text
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardText {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card arrow
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardArrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .eve-Featured_CardArrow:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Events - Featured - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.eve-Featured_CardArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Events - Upcoming - Header
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_Header {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Header action
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_HeaderAction {
  font-family: "minion-pro", serif;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 2.25rem;
  color: #0a2e40; }
  .eve-Upcoming_HeaderAction .fa {
    margin-right: 5px;
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Title
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_Title {
  margin-bottom: 20px;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .eve-Upcoming_Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - List
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_Item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 25px;
  padding-bottom: 37px;
  border-top: 1px solid #ced5d9; }
  @media only screen and (min-width: 481px) {
    .eve-Upcoming_Item {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .noBorderOnFirst .eve-Upcoming_Item:first-child {
    border-top: 0; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item content
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemContent {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .eve-Upcoming_ItemContent {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item meta
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemMeta {
  margin-bottom: 8px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #9e9e9e; }

.eve-Upcoming_ItemDate {
  margin-bottom: 8px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item title
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemTitle {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .eve-Upcoming_ItemTitle a {
    color: #39c5ff; }
    .eve-Upcoming_ItemTitle a:hover {
      color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item text
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemText {
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.75rem;
  color: #1c2a49; }

/*
|--------------------------------------------------------------------------
| Events - Upcoming - Item media
|--------------------------------------------------------------------------
|
*/
.eve-Upcoming_ItemMedia {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: block;
  background-position: center;
  background-size: cover; }
  @media only screen and (min-width: 481px) {
    .eve-Upcoming_ItemMedia {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }
  .eve-Upcoming_ItemMedia-print {
    display: none; }
  .eve-Upcoming_ItemMedia[style] {
    -webkit-flex-basis: 240px;
        -ms-flex-preferred-size: 240px;
            flex-basis: 240px;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    height: 240px;
    margin-bottom: 20px;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .eve-Upcoming_ItemMedia[style] {
        -webkit-flex-basis: 155px;
            -ms-flex-preferred-size: 155px;
                flex-basis: 155px;
        height: 128px;
        margin-bottom: 0;
        margin-left: 20px;
        width: auto; } }

/*
|--------------------------------------------------------------------------
| Events
|--------------------------------------------------------------------------
|
| @prefix: eve-
|
*/
/*
|--------------------------------------------------------------------------
| Events - Inner
|--------------------------------------------------------------------------
|
*/
.eve-Inner {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  @media only screen and (min-width: 769px) {
    .eve-Inner {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-right: -20px;
      margin-left: -20px; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Latest
|--------------------------------------------------------------------------
|
| @prefix: lts-
|
*/
/*
|--------------------------------------------------------------------------
| Latest - Outer
|--------------------------------------------------------------------------
|
*/
.lts-Outer {
  padding-top: 4.82%;
  padding-bottom: 5.75%; }

/*
|--------------------------------------------------------------------------
| Latest - Inner
|--------------------------------------------------------------------------
|
*/
.lts-Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Latest - Content
|--------------------------------------------------------------------------
|
*/
.lts-Content {
  margin-bottom: 6.38%;
  text-align: center;
  color: #092557; }
  @media only screen and (min-width: 769px) {
    .lts-Content {
      margin-right: auto;
      margin-left: auto;
      width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Latest - Title
|--------------------------------------------------------------------------
|
*/
.lts-Title {
  font-weight: 400; }
  @media only screen and (min-width: 769px) {
    .lts-Title {
      margin-bottom: 19px;
      font-size: 2.25rem;
      line-height: 2.625rem; } }

/*
|--------------------------------------------------------------------------
| Latest - Text
|--------------------------------------------------------------------------
|
*/
.lts-Text {
  margin-bottom: 0; }
  @media only screen and (min-width: 769px) {
    .lts-Text {
      font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
      font-size: 1.25rem;
      line-height: 1.875rem; } }

/*
|--------------------------------------------------------------------------
| Latest - Cards
|--------------------------------------------------------------------------
|
*/
.lts-Cards {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }

/*
|--------------------------------------------------------------------------
| Latest - Card
|--------------------------------------------------------------------------
|
*/
.lts-Card {
  position: relative;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 40px;
  margin-left: 20px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 769px) {
    .lts-Card:nth-child(3), .lts-Card:nth-child(4) {
      margin-top: -380px; } }
  .lts-Card.lts-Card-Vert {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .lts-Card.lts-Card-Vert {
        height: 720px;
        width: calc(50% - 40px); } }
    @media only screen and (min-width: 769px) {
      .lts-Card.lts-Card-Vert {
        width: calc(33.3333333333% - 40px); } }
  .lts-Card.lts-Card-Hori {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
        -ms-flex-direction: column;
            flex-direction: column;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .lts-Card.lts-Card-Hori {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -webkit-flex-direction: row;
            -ms-flex-direction: row;
                flex-direction: row;
        height: 340px;
        width: calc(100% - 40px); } }
    @media only screen and (min-width: 769px) {
      .lts-Card.lts-Card-Hori {
        width: calc(66.6666666667% - 40px); } }
  .lts-Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    color: #092557; }
    .lts-Card:hover .lts-Card_Arrow {
      background-color: #00578a;
      color: #fff; }

/*
|--------------------------------------------------------------------------
| Latest - Card media
|--------------------------------------------------------------------------
|
*/
.lts-Card_Media {
  display: block;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }
  .lts-Card-Hori .lts-Card_Media {
    padding-top: 100%;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .lts-Card-Hori .lts-Card_Media {
        -webkit-flex-basis: calc(50% - 20px);
            -ms-flex-preferred-size: calc(50% - 20px);
                flex-basis: calc(50% - 20px);
        -webkit-flex-shrink: 0;
            -ms-flex-negative: 0;
                flex-shrink: 0;
        margin-right: 20px;
        padding-top: 0;
        width: calc(50% - 20px); } }
  .lts-Card-Vert .lts-Card_Media {
    padding-top: 100%;
    /* stylelint-disable */
    /* stylelint-enable */ }

@-moz-document url-prefix() {
  .lts-Card-Vert .lts-Card_Media {
    padding-top: calc(50% + 20px); } }

/*
|--------------------------------------------------------------------------
| Latest - Card content
|--------------------------------------------------------------------------
|
*/
.lts-Card_Content {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }
  .lts-Card-Hori .lts-Card_Content {
    padding-left: 20px; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title
|--------------------------------------------------------------------------
|
*/
.lts-Card_ShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title action
|--------------------------------------------------------------------------
|
*/
.lts-Card_ShortTitleAction {
  display: block;
  color: #39c5ff; }
  .lts-Card_ShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Latest - Card title
|--------------------------------------------------------------------------
|
*/
.lts-Card_Title {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card title action
|--------------------------------------------------------------------------
|
*/
.lts-Card_TitleAction {
  display: block;
  color: inherit; }
  .lts-Card_TitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Card text
|--------------------------------------------------------------------------
|
*/
.lts-Card_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow
|--------------------------------------------------------------------------
|
*/
.lts-Card_Arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .lts-Card_Arrow:hover {
    background-color: #00578a;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.lts-Card_ArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 340px;
  margin-right: 20px;
  margin-bottom: 40px;
  margin-left: 20px;
  padding-top: 35px;
  padding-right: 40px;
  padding-bottom: 15px;
  padding-left: 40px;
  width: 100%;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 481px) {
    .lts-TweetCard {
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .lts-TweetCard {
      width: calc(33.3333333333% - 40px); } }
  @media only screen and (min-width: 481px) {
    .lts-TweetCard.lts-TweetCard-2nd {
      margin-top: -380px;
      -webkit-transform: translateX(calc(100% + 40px));
              transform: translateX(calc(100% + 40px)); } }
  @media only screen and (min-width: 769px) {
    .lts-TweetCard.lts-TweetCard-2nd {
      margin-top: 0;
      -webkit-transform: translateX(0);
              transform: translateX(0); } }
  .lts-TweetCard:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Title
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Title {
  margin-bottom: 9px; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Text
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Text {
  margin-bottom: 0;
  font-size: 1.25rem;
  line-height: 1.875rem; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Meta
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Meta {
  -webkit-box-align: baseline;
  -webkit-align-items: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: auto;
  font-size: 0.875rem;
  line-height: 2.25rem;
  color: #092557; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Reply
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Reply {
  margin-right: 20px;
  color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Retweet
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Retweet {
  margin-right: 20px;
  color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Like
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Like {
  color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Tweet card - Time
|--------------------------------------------------------------------------
|
*/
.lts-TweetCard_Time {
  margin-left: auto;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #acacac; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Login
|--------------------------------------------------------------------------
|
| @prefix: lgi-
|
*/
/*
|--------------------------------------------------------------------------
| Login - Outer
|--------------------------------------------------------------------------
|
*/
.lgi-Outer {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 800px;
  background-color: #083c7a;
  background-image: url('/static/site/build/img/digital-connections.jpg');
  background-size: cover; }

/*
|--------------------------------------------------------------------------
| Login - Inner
|--------------------------------------------------------------------------
|
*/
.lgi-Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Login - Box
|--------------------------------------------------------------------------
|
*/
.lgi-Box {
  padding-top: 32px;
  width: 100%;
  background-color: #fff;
  border-radius: 3px; }
  @media only screen and (min-width: 481px) {
    .lgi-Box {
      max-width: 420px; } }
  @media only screen and (min-width: 769px) {
    .lgi-Box {
      width: 33.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Login - Content
|--------------------------------------------------------------------------
|
*/
.lgi-Content {
  margin-right: 40px;
  margin-bottom: 18px;
  margin-left: 40px; }

.lgi-Content_bottom {
  padding-bottom: 32px; }

/*
|--------------------------------------------------------------------------
| Login - Box - Under
|--------------------------------------------------------------------------
|
*/
.lgi-Box_Under {
  margin-top: 20px; }

/*
|--------------------------------------------------------------------------
| Login - Box - Under text
|--------------------------------------------------------------------------
|
*/
.lgi-Box_UnderText {
  font-size: 1rem;
  line-height: 1.875rem;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Login - Form - Message Title
|--------------------------------------------------------------------------
|
*/
.lgi-Form_MessageTitle {
  margin-bottom: 20px; }

/*
|--------------------------------------------------------------------------
| Login - Form - Item
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Item {
  margin-right: 40px;
  margin-bottom: 18px;
  margin-left: 40px; }
  .lgi-Form_Item:last-child {
    margin: 0; }

/*
|--------------------------------------------------------------------------
| Login - Form - Label
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Label {
  display: block;
  margin-bottom: 9px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.625rem;
  color: #03163b; }

/*
|--------------------------------------------------------------------------
| Login - Form - Input
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Input {
  display: block;
  padding-top: 6px;
  padding-right: 10px;
  padding-bottom: 7px;
  padding-left: 10px;
  width: 100%;
  line-height: 1.5rem;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: rgba(3, 22, 59, 0.5); }
  .lgi-Form_Input::-webkit-input-placeholder {
    color: inherit; }
  .lgi-Form_Input::-moz-placeholder {
    color: inherit; }
  .lgi-Form_Input:-ms-input-placeholder {
    color: inherit; }
  .lgi-Form_Input::placeholder {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Login - Form - Checkbox
|--------------------------------------------------------------------------
|
*/
.lgi-Form_CheckboxWrap {
  -webkit-box-align: start;
  -webkit-align-items: flex-start;
      -ms-flex-align: start;
          align-items: flex-start;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  line-height: 1.875rem; }

.lgi-Form_Checkbox {
  /* line-height compensation */
  margin-top: 8px;
  margin-right: 10px; }

/*
|--------------------------------------------------------------------------
| Login - Form - Forgotten password
|--------------------------------------------------------------------------
|
*/
.lgi-Form_ForgottenPassword {
  font-size: 1rem;
  line-height: 1.875rem; }

/*
|--------------------------------------------------------------------------
| Login - Form - Submit
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Submit {
  position: relative;
  display: block;
  padding-top: 22px;
  padding-bottom: 22px;
  width: 100%;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  font-weight: 600;
  line-height: 1.625rem;
  text-align: center;
  background-image: -webkit-linear-gradient(304deg, #0096cc, #0bf);
  background-image: linear-gradient(146deg, #0096cc, #0bf);
  border-bottom-right-radius: 3px;
  border-bottom-left-radius: 3px;
  color: #fff; }
  .lgi-Form_Submit:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Login - Form - Error
|--------------------------------------------------------------------------
|
*/
.lgi-Form_Error {
  margin-bottom: 0;
  padding-top: 10px;
  padding-right: 10px;
  padding-bottom: 10px;
  padding-left: 10px;
  font-family: "minion-pro", serif;
  font-size: 1rem;
  line-height: 1.375rem;
  background-color: #f6d1ca;
  border: 1px solid #db462c;
  border-radius: 2px;
  color: #db462c; }

/*
|--------------------------------------------------------------------------
| Login - Form - Submit icon
|--------------------------------------------------------------------------
|
*/
.lgi-Form_SubmitIcon {
  position: absolute;
  top: 50%;
  right: 45px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: #03163b;
  border-radius: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .lgi-Form_Submit:hover .lgi-Form_SubmitIcon {
    background-color: #fff;
    color: #03163b; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Newsletter
|--------------------------------------------------------------------------
|
| @prefix: nsl-
|
*/
.nsl-Form {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-top: 35px; }
  .nsl-Form.nsl-Form-footer {
    display: -webkit-box;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }

.nsl-InputsSurround {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }

/*
|--------------------------------------------------------------------------
| Newsletter - Input
|--------------------------------------------------------------------------
|
*/
.nsl-Input {
  padding-top: 8px;
  padding-right: 20px;
  padding-bottom: 8px;
  padding-left: 20px;
  width: 100%;
  line-height: 1.625rem;
  border: 1px solid #eaeaea;
  border-radius: 3px;
  color: rgba(3, 83, 123, 0.5); }
  .nsl-Input::-webkit-input-placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Input::-moz-placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Input:-ms-input-placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Input::placeholder {
    color: rgba(3, 83, 123, 0.5); }
  .nsl-Form-footer .nsl-Input {
    margin-right: 0;
    margin-left: 0; }

/*
|--------------------------------------------------------------------------
| Newsletter - Submit
|--------------------------------------------------------------------------
|
*/
.nsl-Submit {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  margin-left: 20px;
  background-color: transparent; }
  .nsl-Submit:hover {
    background-color: #39c5ff;
    color: #fff; }
  .asi-Newsletter .nsl-Submit {
    color: #0a2e40; }
  .nsl-Form-footer .nsl-Submit {
    margin-right: 0; }
    .nsl-Form-footer .nsl-Submit:hover {
      background-color: #39c5ff;
      color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Organisation
|--------------------------------------------------------------------------
|
| @prefix: org-
|
*/
/*
|--------------------------------------------------------------------------
| Organisation - Outer
|--------------------------------------------------------------------------
|
*/
.org-Outer {
  padding-top: 6.3%;
  padding-bottom: 6.3%; }

/*
|--------------------------------------------------------------------------
| Organisation - Title
|--------------------------------------------------------------------------
|
*/
.org-Title {
  font-size: 1.5rem;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .org-Title {
      font-size: 2.25rem;
      line-height: 2.625rem; } }

/*
|--------------------------------------------------------------------------
| Organisation - List
|--------------------------------------------------------------------------
|
*/
.org-List {
  width: 100%; }

/*
|--------------------------------------------------------------------------
| Organisation - Item
|--------------------------------------------------------------------------
|
*/
.org-Item {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px;
  padding-top: 26px;
  padding-right: 30px;
  padding-bottom: 21px;
  padding-left: 30px;
  border: 1px solid #ced5d9;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 481px) {
    .org-Item {
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }
  .org-Item:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Content
|--------------------------------------------------------------------------
|
*/
.org-Item_Content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  margin-right: 20px; }
  @media only screen and (min-width: 481px) {
    .org-Item_Content {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Title
|--------------------------------------------------------------------------
|
*/
.org-Item_Title {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem;
  color: #03163b; }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Text
|--------------------------------------------------------------------------
|
*/
.org-Item_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem;
  color: #03163b; }

/*
|--------------------------------------------------------------------------
| Organisation - Item - Media container
|--------------------------------------------------------------------------
|
*/
.org-Item_MediaContainer {
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 20px; }
  @media only screen and (min-width: 481px) {
    .org-Item_MediaContainer {
      -webkit-flex-basis: 200px;
          -ms-flex-preferred-size: 200px;
              flex-basis: 200px;
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2;
      margin-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| Pagination - Outer
|--------------------------------------------------------------------------
|
*/
.pgn-Outer {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 30px;
  padding-bottom: 30px; }

/*
|--------------------------------------------------------------------------
| Pagination - Control
|--------------------------------------------------------------------------
|
*/
.pgn-Control {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-flex-basis: 30px;
      -ms-flex-preferred-size: 30px;
          flex-basis: 30px;
  -webkit-flex-shrink: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .pgn-Control:hover {
    color: #fff; }
  .pgn-Control:first-child {
    margin-right: 20px; }
  .pgn-Control:last-child {
    margin-left: 20px; }

/*
|--------------------------------------------------------------------------
| Pagination - Control - Icon
|--------------------------------------------------------------------------
|
*/
.pgn-Control_Icon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }
  .pgn-Control_Icon::before {
    font-size: 0.875rem; }

/*
|--------------------------------------------------------------------------
| Pagination - Item
|--------------------------------------------------------------------------
|
*/
.pgn-Items {
  text-align: center; }

.pgn-Item {
  display: inline-block;
  padding-right: 7px;
  padding-left: 7px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #0a2e40; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| People
|--------------------------------------------------------------------------
|
| @ppl-
|
*/
/*
|--------------------------------------------------------------------------
| People - Outer
|--------------------------------------------------------------------------
|
*/
.ppl-Outer {
  padding-top: 3.15%;
  padding-bottom: 6.05%; }

/*
|--------------------------------------------------------------------------
| People - Outer - Title
|--------------------------------------------------------------------------
|
*/
.ppl-Outer_title {
  margin-bottom: 32px;
  font-weight: 400; }
  @media only screen and (min-width: 769px) {
    .ppl-Outer_title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| People - Filter
|--------------------------------------------------------------------------
|
*/
.ppl-Filter {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-bottom: 29px;
  margin-left: -20px; }
  @media only screen and (min-width: 1025px) {
    .ppl-Filter {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; } }

/*
|--------------------------------------------------------------------------
| People - Filter - Text
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Text {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 10px;
  margin-left: 20px;
  color: #1c2a49; }
  @media only screen and (min-width: 1025px) {
    .ppl-Filter_Text {
      -webkit-box-flex: 1;
      -webkit-flex: 1;
          -ms-flex: 1;
              flex: 1 1 0%;
      margin-bottom: 0; } }

/*
|--------------------------------------------------------------------------
| People - Filter - Label
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Label {
  margin-top: -5px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  font-weight: 600;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| People - Filter - Results count
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_ResultsCount {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| People - Filter - Input
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Input {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  -webkit-box-flex: 0;
  -webkit-flex-grow: 0;
      -ms-flex-positive: 0;
          flex-grow: 0;
  -webkit-flex-shrink: 1;
      -ms-flex-negative: 1;
          flex-shrink: 1;
  margin-right: 20px;
  margin-bottom: 10px;
  margin-left: 20px; }
  @media only screen and (min-width: 481px) {
    .ppl-Filter_Input {
      -webkit-flex-basis: calc(50% - 40px);
          -ms-flex-preferred-size: calc(50% - 40px);
              flex-basis: calc(50% - 40px);
      margin-bottom: 0; } }
  @media only screen and (min-width: 1025px) {
    .ppl-Filter_Input {
      -webkit-flex-basis: 280px;
          -ms-flex-preferred-size: 280px;
              flex-basis: 280px; } }

/*
|--------------------------------------------------------------------------
| People - Filter - Select
|--------------------------------------------------------------------------
|
*/
.ppl-Filter_Select {
  position: relative;
  display: block;
  padding-top: 11px;
  padding-right: 20px;
  padding-bottom: 11px;
  padding-left: 20px;
  width: 100%;
  font-size: 1.125rem;
  line-height: 1.75rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  background-color: #f7f8fa;
  background-image: url('/static/site/build/img/select-arrow-down.png');
  background-position: top 50% right 20px;
  background-repeat: no-repeat;
  border: 0;
  border-radius: 0;
  color: #0a2e40;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .ppl-Filter_Select option {
    font-size: 0.875rem;
    line-height: 1.5rem; }

/*
|--------------------------------------------------------------------------
| People - List
|--------------------------------------------------------------------------
|
*/
.ppl-List {
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: -20px;
  margin-left: -20px; }

/*
|--------------------------------------------------------------------------
| People - Item
|--------------------------------------------------------------------------
|
*/
.ppl-Item {
  -webkit-flex-basis: 100%;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-right: 20px;
  margin-bottom: 20px;
  margin-left: 20px;
  border: 1px solid #eaeaea;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  @media only screen and (min-width: 481px) {
    .ppl-Item {
      -webkit-flex-basis: calc(50% - 40px);
          -ms-flex-preferred-size: calc(50% - 40px);
              flex-basis: calc(50% - 40px); } }
  .ppl-Item:last-child:nth-child(odd), .ppl-Item:last-child:nth-child(even), .ppl-Item:nth-last-child(2):nth-child(odd) {
    margin-bottom: 0; }
  .ppl-Item:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| People - Item - Media
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Media {
  -webkit-flex-basis: 28.42%;
      -ms-flex-preferred-size: 28.42%;
          flex-basis: 28.42%;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover; }

/*
|--------------------------------------------------------------------------
| People - Item - Content
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  min-height: 110px;
  padding-top: 12px;
  padding-right: 40px;
  padding-bottom: 12px;
  padding-left: 40px;
  color: #1c2a49; }

/*
|--------------------------------------------------------------------------
| People - Item - Title
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Title {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem;
  /* stylelint-disable selector-no-type */
  /* stylelint-enable */ }
  .ppl-Item_Title a {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| People - Item - Text
|--------------------------------------------------------------------------
|
*/
.ppl-Item_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Related
|--------------------------------------------------------------------------
|
| @prefix: rtd-
|
*/
/*
|--------------------------------------------------------------------------
| Related - Title
|--------------------------------------------------------------------------
|
*/
.rtd-Title {
  margin-bottom: 20px;
  font-size: 1.625rem;
  font-weight: 400;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .rtd-Title {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Related - List
|--------------------------------------------------------------------------
|
*/
.rtd-List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Related - Item
|--------------------------------------------------------------------------
|
*/
.rtd-Item {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  padding-top: 25px;
  padding-bottom: 37px;
  border-top: 1px solid #ced5d9; }
  .rtd-Item:first-child {
    border-top: 0; }
  @media only screen and (min-width: 481px) {
    .rtd-Item {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row; } }

/*
|--------------------------------------------------------------------------
| Related - Item - Content
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Content {
  -webkit-box-flex: 1;
  -webkit-flex: 1;
      -ms-flex: 1;
          flex: 1 1 0%;
  -webkit-box-ordinal-group: 3;
  -webkit-order: 2;
      -ms-flex-order: 2;
          order: 2;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .rtd-Item_Content {
      -webkit-box-ordinal-group: 2;
      -webkit-order: 1;
          -ms-flex-order: 1;
              order: 1; } }

/*
|--------------------------------------------------------------------------
| Related - Item - Meta
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Meta {
  margin-bottom: 8px;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Related - Item - Title
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Title {
  margin-bottom: 2px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Related - Item - Text
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Text {
  margin-bottom: 0;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Related - Item - Media
|--------------------------------------------------------------------------
|
*/
.rtd-Item_Media {
  -webkit-box-ordinal-group: 2;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1;
  background-position: center;
  background-size: cover; }
  @media only screen and (min-width: 481px) {
    .rtd-Item_Media {
      -webkit-box-ordinal-group: 3;
      -webkit-order: 2;
          -ms-flex-order: 2;
              order: 2; } }
  .rtd-Item_Media[style] {
    -webkit-flex-basis: 240px;
        -ms-flex-preferred-size: 240px;
            flex-basis: 240px;
    -webkit-box-flex: 0;
    -webkit-flex-grow: 0;
        -ms-flex-positive: 0;
            flex-grow: 0;
    height: 240px;
    margin-bottom: 20px;
    width: 100%; }
    @media only screen and (min-width: 481px) {
      .rtd-Item_Media[style] {
        -webkit-flex-basis: 175px;
            -ms-flex-preferred-size: 175px;
                flex-basis: 175px;
        height: 135px;
        margin-bottom: 0;
        margin-left: 20px;
        width: auto; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Search - Strip
|--------------------------------------------------------------------------
|
| @prefix: sch-
|
*/
.sch-Strip {
  padding-top: 35px;
  padding-bottom: 32px;
  background-color: #03163b;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Search - Strip - Inner
|--------------------------------------------------------------------------
|
*/
.sch-Strip_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Search - Strip - Title
|--------------------------------------------------------------------------
|
*/
.sch-Strip_Title {
  margin-bottom: 1px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sch-Strip_Title {
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Search - Strip - Text
|--------------------------------------------------------------------------
|
*/
.sch-Strip_Text {
  margin-bottom: 0;
  font-size: 1.5rem;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .sch-Strip_Text {
      font-size: 2.25rem;
      line-height: 3.25rem; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Tabs
|--------------------------------------------------------------------------
|
| @prefix: tab-
|
*/
/*
|--------------------------------------------------------------------------
| Tabs - Outer
|--------------------------------------------------------------------------
|
*/
.tab-Outer {
  margin-bottom: 30px; }

/*
|--------------------------------------------------------------------------
| Tabs - Set
|--------------------------------------------------------------------------
|
*/
.tab-Set {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 34px; }
  @media only screen and (min-width: 481px) {
    .tab-Set {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      border-bottom: 1px solid #e0e0e0; } }

/*
|--------------------------------------------------------------------------
| Tabs - Set - Item
|--------------------------------------------------------------------------
|
*/
.tab-Set_Item {
  position: relative;
  padding-top: 9px;
  padding-right: 24px;
  padding-bottom: 9px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1rem;
  line-height: 1.875rem;
  border-bottom: 1px solid #e0e0e0;
  color: #1c2a49;
  cursor: pointer;
  opacity: 0.3;
  -webkit-transition: opacity 0.2s;
  transition: opacity 0.2s; }
  @media only screen and (min-width: 481px) {
    .tab-Set_Item {
      border-bottom: 0; } }
  .tab-Set_Item:hover {
    color: #1c2a49;
    opacity: 1; }
  .tab-Set_Item[aria-selected='true'] {
    opacity: 1; }
    @media only screen and (min-width: 481px) {
      .tab-Set_Item[aria-selected='true'] {
        border-top: 1px solid #e0e0e0;
        border-right: 1px solid #e0e0e0;
        border-left: 1px solid #e0e0e0; } }
    @media only screen and (min-width: 481px) {
      .tab-Set_Item[aria-selected='true']::after {
        content: '';
        position: absolute;
        bottom: -1px;
        left: 0;
        height: 1px;
        width: 100%;
        background-color: #fff; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Wysiwyg
|--------------------------------------------------------------------------
|
| @prefix: wys-
|
*/
/*
|--------------------------------------------------------------------------
| Wysiwyg - Content
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable selector-no-type */
.wys-Content {
  /**
  * Headings
  */
  /**
  * Paragraphs
  */
  /**
  * Blockquote
  */
  /**
  * Images
  */ }
  .wys-Content h3, .wys-Content h4, .wys-Content h5, .wys-Content h6 {
    margin-bottom: 20px;
    font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
    font-weight: 600; }
  .wys-Content h3 {
    font-size: 1.75rem;
    line-height: 2.125rem; }
  .wys-Content h4 {
    font-size: 1.5rem;
    line-height: 2rem; }
  .wys-Content h5 {
    font-size: 1.25rem;
    line-height: 1.875rem; }
  .wys-Content h6 {
    font-size: 1.125rem;
    line-height: 1.625rem; }
  .wys-Content ul {
    margin-bottom: 30px;
    font-size: 1.125rem;
    line-height: 1.875rem; }
    .wys-Content ul li {
      margin-top: 15px; }
      .wys-Content ul li:first-child {
        margin-top: 0; }
  .wys-Content p {
    font-size: 1.125rem;
    line-height: 1.75rem; }
    .wys-Content p + h3,
    .wys-Content p + h4,
    .wys-Content p + h5,
    .wys-Content p + h6 {
      margin-top: 40px; }
  .wys-Content .quote-text {
    margin-top: 40px;
    font-size: 1.25rem;
    line-height: 1.75rem;
    color: #03a3b6; }
    @media only screen and (min-width: 769px) {
      .wys-Content .quote-text {
        font-size: 1.875rem;
        line-height: 2.25rem; } }
    .l-Site_Main-Centered .wys-Content .quote-text {
      text-align: center; }
      .l-Site_Main-Centered .wys-Content .quote-text::before, .l-Site_Main-Centered .wys-Content .quote-text::after {
        font-size: 1.875rem;
        line-height: 2.25rem;
        color: #03a3b6; }
      .l-Site_Main-Centered .wys-Content .quote-text::before {
        content: open-quote; }
      .l-Site_Main-Centered .wys-Content .quote-text::after {
        content: close-quote; }
  .wys-Content .quote-author {
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5rem; }
    @media only screen and (min-width: 769px) {
      .wys-Content .quote-author {
        font-size: 1.1875rem;
        line-height: 1.75rem; } }
    .l-Site_Main-Centered .wys-Content .quote-author {
      text-align: center; }
  .wys-Content .img-caption {
    margin-bottom: 7.51%;
    padding-top: 16px;
    padding-right: 30px;
    padding-bottom: 16px;
    padding-left: 30px;
    font-size: 1.1875rem;
    line-height: 1.75rem;
    background-color: #0a2e40;
    color: #fff; }
    @media only screen and (min-width: 769px) {
      .wys-Content .img-caption {
        margin-right: -8.3333333333%;
        margin-left: -8.3333333333%; } }

/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Aside - Block
|--------------------------------------------------------------------------
|
*/
.asi-Block {
  margin-bottom: 30px; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Latest - Card
|--------------------------------------------------------------------------
|
*/
.asi-Card {
  position: relative;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 720px;
  margin-bottom: 40px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  .asi-Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Latest - Card media
|--------------------------------------------------------------------------
|
*/
.asi-Card_Media {
  display: block;
  padding-top: 100%;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

/*
|--------------------------------------------------------------------------
| Latest - Card content
|--------------------------------------------------------------------------
|
*/
.asi-Card_Content {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title
|--------------------------------------------------------------------------
|
*/
.asi-Card_ShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card short title action
|--------------------------------------------------------------------------
|
*/
.asi-Card_ShortTitleAction {
  display: block;
  color: #39c5ff; }
  .asi-Card_ShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Latest - Card title
|--------------------------------------------------------------------------
|
*/
.asi-Card_Title {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card title action
|--------------------------------------------------------------------------
|
*/
.asi-Card_TitleAction {
  display: block;
  color: inherit; }
  .asi-Card_TitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Latest - Card text
|--------------------------------------------------------------------------
|
*/
.asi-Card_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow
|--------------------------------------------------------------------------
|
*/
.asi-Card_Arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .asi-Card_Arrow:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Latest - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.asi-Card_ArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside - Card
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy {
  position: relative;
  margin-bottom: 40px;
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 48px;
  padding-left: 40px;
  background-color: #fff;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557; }

/*
|--------------------------------------------------------------------------
| Aside - Card short title
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_ShortTitle {
  margin-bottom: 12px;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Aside - Card short title action
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_ShortTitleAction {
  display: block;
  color: #39c5ff; }
  .asi-CaseStudy_ShortTitleAction:hover {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Aside - Card title
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_Title {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Aside - Card title action
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_TitleAction {
  display: block;
  color: inherit; }
  .asi-CaseStudy_TitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Aside - Card text
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_Text {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Aside - Card arrow
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_Arrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff; }
  .asi-CaseStudy_Arrow:hover {
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Aside - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.asi-CaseStudy_ArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside - Newsletter
|--------------------------------------------------------------------------
|
*/
.asi-Newsletter {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 36px;
  padding-left: 40px;
  background-color: #f7f8fa;
  color: #0a2e40; }

/*
|--------------------------------------------------------------------------
| Aside - Newsletter - Title
|--------------------------------------------------------------------------
|
*/
.asi-Newsletter_Title {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Aside - Newsletter - Text
|--------------------------------------------------------------------------
|
*/
.asi-Newsletter_Text {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Aside - People network
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 36px;
  padding-left: 40px;
  background-color: #f7f8fa;
  color: #0a2e40; }

/*
|--------------------------------------------------------------------------
| Aside - People network - Title
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork_Title {
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Aside - People network - List
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork_List {
  margin: 0;
  padding: 0;
  list-style: none; }

/*
|--------------------------------------------------------------------------
| Aside - People network - Item action
|--------------------------------------------------------------------------
|
*/
.asi-PeopleNetwork_ItemAction {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 2.25rem;
  color: #0a2e40; }
  .asi-PeopleNetwork_ItemAction:hover, .asi-PeopleNetwork_ItemAction[aria-current='true'] {
    color: #39c5ff; }

/*
|--------------------------------------------------------------------------
| Sections
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Homepage hero
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-HomepageHero {
  padding-top: 11%;
  padding-bottom: 12.63%;
  text-align: center;
  background-color: #083b79;
  color: #fff; }
  @media only screen and (min-width: 769px) {
    .sct-HomepageHero {
      padding-top: 8.38%;
      padding-bottom: 12.63%; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Inner
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Content
|--------------------------------------------------------------------------
|
*/
@media only screen and (min-width: 769px) {
  .sct-HomepageHero_Content {
    margin-right: auto;
    margin-left: auto;
    width: 83.3333333333%; } }

@media only screen and (min-width: 1025px) {
  .sct-HomepageHero_Content {
    width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Title
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Title {
  margin-bottom: 20px;
  font-size: 1.875rem;
  font-weight: 400;
  line-height: 2.25rem; }
  @media only screen and (min-width: 769px) {
    .sct-HomepageHero_Title {
      margin-bottom: 26px;
      font-size: 3.25rem;
      line-height: 3.75rem; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Text
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Text {
  margin-bottom: 23px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sct-HomepageHero_Text {
      margin-bottom: 65px;
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Section - Homepage hero - Action
|--------------------------------------------------------------------------
|
*/
.sct-HomepageHero_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  display: block; }
  .sct-HomepageHero_Action:hover {
    background-color: #39c5ff;
    color: #fff; }
  @media only screen and (min-width: 481px) {
    .sct-HomepageHero_Action {
      display: inline-block; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Secondary hero
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-SecondaryHero {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 8.6%;
  padding-bottom: 8.6%;
  text-align: center;
  color: #fff; }
  @media only screen and (min-width: 769px) {
    .sct-SecondaryHero {
      padding-top: 12.13%;
      padding-bottom: 14.75%; } }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Inner
|--------------------------------------------------------------------------
|
*/
.sct-SecondaryHero_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Content
|--------------------------------------------------------------------------
|
*/
@media only screen and (min-width: 769px) {
  .sct-SecondaryHero_Content {
    margin-right: auto;
    margin-left: auto;
    max-width: 83.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Title
|--------------------------------------------------------------------------
|
*/
.sct-SecondaryHero_Title {
  margin-bottom: 1px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sct-SecondaryHero_Title {
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Section - Secondary hero - Text
|--------------------------------------------------------------------------
|
*/
.sct-SecondaryHero_Text {
  margin-bottom: 0;
  font-size: 1.625rem;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .sct-SecondaryHero_Text {
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Image hero
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-ImageHero {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  position: relative;
  padding-bottom: 10.16%;
  text-align: center;
  color: #fff;
  overflow: hidden; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero {
      padding-top: 12%;
      padding-bottom: 12%; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Inner
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  position: relative;
  z-index: 2; }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Content
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Content {
  padding-top: 9.6%; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Content {
      margin-right: auto;
      margin-left: auto;
      max-width: 66.6666666667%;
      padding-top: 0; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Title small
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_ShortTitle {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.75rem; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_ShortTitle {
      margin-bottom: 1px;
      font-size: 1.5rem;
      line-height: 2rem; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Title
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Title {
  margin-bottom: 8px;
  font-size: 1.625rem;
  font-weight: 500;
  line-height: 2rem; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Title {
      margin-bottom: 13px;
      font-size: 2.625rem;
      line-height: 3.25rem; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Meta
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Meta {
  margin-bottom: 22px;
  font-size: 0.875rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Meta {
      margin-bottom: 41px;
      font-size: 1.125rem;
      line-height: 1.75rem; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Action
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  display: block; }
  .sct-ImageHero_Action:hover {
    background-color: #39c5ff;
    color: #fff; }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Action {
      display: inline-block; } }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Background container
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_BackgroundContainer {
  background-color: #092456; }

/*
|--------------------------------------------------------------------------
| Section - Image hero - Background
|--------------------------------------------------------------------------
|
*/
.sct-ImageHero_Background {
  position: relative;
  z-index: 1;
  padding-top: 60%;
  background-position: center;
  background-size: cover; }
  .sct-ImageHero_Background::before {
    content: ' ';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: rgba(0, 0, 0, 0.2); }
  @media only screen and (min-width: 481px) {
    .sct-ImageHero_Background {
      padding-top: 40%; } }
  @media only screen and (min-width: 769px) {
    .sct-ImageHero_Background {
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      height: auto;
      padding-top: 0; } }

.sct-ImageHero_Video {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 2;
  display: none;
  height: 0;
  padding-bottom: 56.25%; }
  @media only screen and (min-width: 1025px) {
    .sct-ImageHero_Video {
      display: block; } }

.sct-ImageHero_VideoEmbed {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Cards
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Cards {
  padding-top: 4.82%;
  padding-bottom: 5.75%; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Inner
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }

/*
|--------------------------------------------------------------------------
| Section - Cards - Content
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Content {
  text-align: center;
  color: #092557; }
  @media only screen and (min-width: 481px) {
    .sct-Cards_Content {
      margin-right: auto;
      margin-left: auto;
      width: 83.3333333333%; } }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Content {
      width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Title
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Title {
  margin-bottom: 20px;
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Title {
      font-size: 2.25rem;
      line-height: 2.375rem; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Text
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Text {
  margin-bottom: 8.6%;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Text {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Cards
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Cards {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex; }
  .sct-Cards_Cards + .sct-Cards_Cards {
    margin-top: 20px; }
    @media only screen and (min-width: 481px) {
      .sct-Cards_Cards + .sct-Cards_Cards {
        margin-top: 40px; } }
  @media only screen and (min-width: 481px) {
    .sct-Cards_Cards {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
      -webkit-flex-direction: row;
          -ms-flex-direction: row;
              flex-direction: row;
      margin-right: -20px;
      margin-left: -20px; } }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card
|--------------------------------------------------------------------------
|
*/
.sct-Cards_Card {
  position: relative;
  margin-bottom: 20px;
  border: 1px solid #e1e1e1;
  border-radius: 3px;
  color: #092557;
  -webkit-transition: box-shadow 0.3s;
  transition: box-shadow 0.3s; }
  @media only screen and (min-width: 481px) {
    .sct-Cards_Card {
      margin-right: 20px;
      margin-bottom: 40px;
      margin-left: 20px;
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .sct-Cards_Card {
      margin-bottom: 0;
      width: calc(33.3333333333% - 40px);
      /* stylelint-disable selector-no-type */
      /* stylelint-enable */ }
      .sct-Cards_Card:nth-last-child(n+4), .sct-Cards_Card:nth-last-child(n+4) ~ .sct-Cards_Card {
        margin-bottom: 40px; } }
  .sct-Cards_Card:hover {
    box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
    color: #092557; }
    .sct-Cards_Card:hover .sct-Cards_CardArrow {
      background-color: #00578a;
      color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card media
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardMedia {
  display: block;
  padding-top: 100%;
  background-position: center;
  background-size: cover;
  border-top-left-radius: 2px;
  border-top-right-radius: 2px; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card content
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardContent {
  padding-top: 36px;
  padding-right: 40px;
  padding-bottom: 32px;
  padding-left: 40px; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card short title
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardShortTitle {
  margin-bottom: 12px;
  font-size: 1.5rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card short title action
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardShortTitleAction {
  display: block;
  color: inherit; }
  .sct-Cards_CardShortTitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card title
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardTitle {
  margin-bottom: 10px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.625rem; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card title action
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardTitleAction {
  display: block;
  color: inherit; }
  .sct-Cards_CardTitleAction:hover {
    color: inherit; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card text
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardText {
  margin-bottom: 0;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card arrow
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardArrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: rgba(216, 216, 216, 0.5);
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }

/*
|--------------------------------------------------------------------------
| Section - Cards - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.sct-Cards_CardArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - CTA
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Cta {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 3%;
  padding-bottom: 3.06%;
  color: #fff; }
  .l-Site_Main .sct-Cta {
    padding-top: 45px;
    padding-bottom: 45px; }

/*
|--------------------------------------------------------------------------
| Section - CTA - Inner
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }
  .l-Site_Main .sct-Cta_Inner {
    padding-right: 40px;
    padding-left: 40px; }

/*
|--------------------------------------------------------------------------
| Section - CTA - Title
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Title {
  margin-bottom: 20px;
  font-size: 1.5rem;
  line-height: 1.875rem; }
  @media only screen and (min-width: 769px) {
    .sct-Cta_Title {
      margin-bottom: 34px;
      font-size: 2.25rem;
      line-height: 2.375rem; }
      .l-Site_Main .sct-Cta_Title {
        margin-bottom: 15px; } }

/*
|--------------------------------------------------------------------------
| Section - CTA - Text
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Text {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.25rem;
  line-height: 1.875rem; }

/*
|--------------------------------------------------------------------------
| Section - CTA - Action
|--------------------------------------------------------------------------
|
*/
.sct-Cta_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .sct-Cta_Action:hover {
    background-color: #39c5ff;
    color: #fff; }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Quote
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Quote_Outer {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */ }
  .sct-Stats + .sct-Quote_Outer {
    margin-top: 5%; }

.sct-Quote {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 6.38%;
  padding-bottom: 5.19%;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Quote - Blockquote
|--------------------------------------------------------------------------
|
*/
.sct-Quote_BlockQuote {
  text-align: center; }
  @media only screen and (min-width: 481px) {
    .sct-Quote_BlockQuote {
      margin-right: auto;
      margin-left: auto;
      width: 83.3333333333%; } }

/*
|--------------------------------------------------------------------------
| Section - Quote - Title
|--------------------------------------------------------------------------
|
*/
.sct-Quote_Title {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Quote - Text
|--------------------------------------------------------------------------
|
*/
.sct-Quote_Text {
  margin-bottom: 23px;
  font-size: 1.25rem;
  font-weight: 500;
  line-height: 1.75rem; }
  @media only screen and (min-width: 481px) {
    .sct-Quote_Text {
      font-size: 1.875rem;
      line-height: 2.25rem; } }

/*
|--------------------------------------------------------------------------
| Section - Quote - Footer text
|--------------------------------------------------------------------------
|
*/
.sct-Quote_FooterText {
  margin-bottom: 0;
  font-size: 1rem;
  line-height: 1.5rem; }
  @media only screen and (min-width: 769px) {
    .sct-Quote_FooterText {
      font-size: 1.125rem;
      line-height: 1.75rem; } }

/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| Colors
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Families
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font - Sizes
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Line heights
|--------------------------------------------------------------------------
|
*/
/**
 * Mobile
 */
/**
 * Desktop
 */
/*
|--------------------------------------------------------------------------
| Media queries
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Misc
|--------------------------------------------------------------------------
|
*/
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Font sizing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Font smoothing
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Form inputs
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Grid
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Positioning
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Buttons - Primary
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Gradients - Radial blue
|--------------------------------------------------------------------------
|
*/
/* stylelint-disable */
/*
|--------------------------------------------------------------------------
| List contains
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Range bounds
|--------------------------------------------------------------------------
|
*/
/**
 * Lower bound of a range
 */
/**
 * Upper bound of a range
 */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/* stylelint-disable */
/* stylelint-enable */
/*
|--------------------------------------------------------------------------
| Section - Stats
|--------------------------------------------------------------------------
|
| @prefix: sct-
|
*/
.sct-Stats {
  background-image: -webkit-radial-gradient(center 30% ellipse, #005496 0%, #092456 100%);
  background-image: radial-gradient(ellipse at center 30%, #005496 0%, #092456 100%);
  padding-top: 6.57%;
  padding-bottom: 8.13%;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Inner
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Inner {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  position: relative; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Content
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Content {
  margin-bottom: 62px;
  text-align: center; }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Content {
      margin-right: auto;
      margin-left: auto;
      width: 66.6666666667%; } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Title
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Title {
  margin-bottom: 14px; }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Title {
      font-size: 2.25rem;
      line-height: 2.375rem; } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Text
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Text {
  margin-bottom: 0;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif; }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Text {
      font-size: 1.25rem;
      line-height: 1.875rem; } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Action
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .sct-Stats_Action:hover {
    background-color: #39c5ff;
    color: #fff; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Carousel {
  position: relative;
  margin-bottom: 50px; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel pagination
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselPagination {
  position: absolute;
  top: 114%;
  z-index: 10;
  display: block;
  height: 51px;
  width: 22px;
  background-image: url('/static/site/build/img/sct-Stats_CarouselPagination.png');
  cursor: pointer; }
  .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Left {
    left: 50%;
    -webkit-transform: translateX(-200px);
            transform: translateX(-200px); }
    @media only screen and (min-width: 769px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Left {
        -webkit-transform: translateX(-250px);
                transform: translateX(-250px); } }
    @media only screen and (min-width: 1441px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Left {
        top: 50%;
        left: 75px;
        -webkit-transform: translateY(-50%);
                transform: translateY(-50%); } }
  .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Right {
    right: 50%;
    -webkit-transform: translateX(200px) rotate(180deg);
            transform: translateX(200px) rotate(180deg); }
    @media only screen and (min-width: 769px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Right {
        -webkit-transform: translateX(250px) rotate(180deg);
                transform: translateX(250px) rotate(180deg); } }
    @media only screen and (min-width: 1441px) {
      .sct-Stats_CarouselPagination.sct-Stats_CarouselPagination-Right {
        top: 50%;
        right: 75px;
        -webkit-transform: translateY(-50%) rotate(180deg);
                transform: translateY(-50%) rotate(180deg); } }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel rail
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselRail {
  position: relative;
  height: 340px;
  width: 100%; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel slide
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselSlide {
  position: absolute;
  top: 0;
  right: 20px;
  bottom: 0;
  left: 20px;
  z-index: 2;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 340px;
  width: calc(100% - 40px);
  opacity: 1;
  visibility: visible;
  -webkit-transition: opacity 0.35s;
  transition: opacity 0.35s; }
  .sct-Stats_CarouselSlide[aria-current='false'] {
    z-index: 1;
    opacity: 0; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Carousel under
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CarouselUnder {
  text-align: center; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card
|--------------------------------------------------------------------------
|
*/
.sct-Stats_Card {
  position: relative;
  display: block;
  margin-right: 20px;
  margin-left: 20px;
  min-height: 340px;
  padding-top: 39px;
  padding-right: 30px;
  padding-bottom: 39px;
  padding-left: 30px;
  width: 100%;
  background-image: -webkit-linear-gradient(304deg, #0096cc, #0bf);
  background-image: linear-gradient(146deg, #0096cc, #0bf);
  border: 1px solid #00aeef;
  border-radius: 3px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
  color: #fff; }
  .sct-Stats_Card:hover {
    color: #fff; }
  @media only screen and (min-width: 481px) {
    .sct-Stats_Card {
      width: calc(50% - 40px); } }
  @media only screen and (min-width: 769px) {
    .sct-Stats_Card {
      width: calc(33% - 40px); } }
  @media only screen and (min-width: 1025px) {
    .sct-Stats_Card {
      width: calc(25% - 40px); } }
  .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeEnter .sct-Stats_Card,
  .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-leave .sct-Stats_Card {
    opacity: 0; }
  [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card {
    visibility: initial;
    -webkit-transition: opacity 1s;
    transition: opacity 1s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.15s;
              transition-delay: 0.15s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.3s;
              transition-delay: 0.3s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(1) {
      -webkit-transition-delay: 0.45s;
              transition-delay: 0.45s; }
  [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card {
    opacity: 1;
    -webkit-transition: opacity 1s 0.6s;
    transition: opacity 1s 0.6s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.75s;
              transition-delay: 0.75s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.9s;
              transition-delay: 0.9s; }
    [direction='left'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(1) {
      -webkit-transition-delay: 1.05s;
              transition-delay: 1.05s; }
  [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card {
    visibility: initial;
    -webkit-transition: opacity 1s;
    transition: opacity 1s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.15s;
              transition-delay: 0.15s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.3s;
              transition-delay: 0.3s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-beforeLeave .sct-Stats_Card:nth-child(4) {
      -webkit-transition-delay: 0.45s;
              transition-delay: 0.45s; }
  [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card {
    opacity: 1;
    -webkit-transition: opacity 1s 0.6s;
    transition: opacity 1s 0.6s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(2) {
      -webkit-transition-delay: 0.75s;
              transition-delay: 0.75s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(3) {
      -webkit-transition-delay: 0.9s;
              transition-delay: 0.9s; }
    [direction='right'] .sct-Stats_CarouselSlide.sct-Stats_CarouselSlide-enter .sct-Stats_Card:nth-child(4) {
      -webkit-transition-delay: 1.05s;
              transition-delay: 1.05s; }
  .sct-Stats_CarouselSlide[aria-current='false']:not(.sct-Stats_CarouselSlide-beforeEnter):not(.sct-Stats_CarouselSlide-beforeLeave) .sct-Stats_Card {
    display: hidden; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card stat
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardStat {
  margin-bottom: 5px;
  font-size: 3.25rem;
  font-weight: 400;
  line-height: 3rem; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card text
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardText {
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  font-weight: 400;
  line-height: 1.75rem; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card arrow
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardArrow {
  position: absolute;
  right: 20px;
  bottom: 20px;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-inline-box;
  display: -webkit-inline-flex;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 30px;
  width: 30px;
  font-size: 0.875rem;
  background-color: #03163b;
  border-radius: 50%;
  box-shadow: inset 2px 3px 7px 0 rgba(0, 0, 0, 0.15);
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s; }
  .sct-Stats_Card:hover .sct-Stats_CardArrow {
    background-color: #fff;
    color: #03163b; }

/*
|--------------------------------------------------------------------------
| Section - Stats - Card arrow icon
|--------------------------------------------------------------------------
|
*/
.sct-Stats_CardArrowIcon {
  text-shadow: 0 0 10px rgba(0, 0, 0, 0.2); }

/*
|--------------------------------------------------------------------------
| Pages
|--------------------------------------------------------------------------
|
*/
/*
|--------------------------------------------------------------------------
| Page - 404
|--------------------------------------------------------------------------
|
*/
.pg-404 {
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 920px;
  background-image: url("/static/site/build/img/404.jpg");
  background-repeat: no-repeat;
  background-size: cover; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Content
|--------------------------------------------------------------------------
|
*/
.pg-404_Content {
  /* Add 30px to the container as the 'container' should be the size of the
  /* content not the actual div
  /* ------------- */
  margin: 0 auto;
  max-width: 1280px;
  width: 100%;
  /* stylelint-disable */
  padding-right: 20px;
  padding-left: 20px;
  /* stylelint-enable */
  text-align: center; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Title
|--------------------------------------------------------------------------
|
*/
.pg-404_Title {
  margin-right: auto;
  margin-bottom: 27px;
  margin-left: auto;
  width: 66.6666666667%;
  font-size: 2.625rem;
  line-height: 3.25rem;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Text
|--------------------------------------------------------------------------
|
*/
.pg-404_Text {
  margin-right: auto;
  margin-bottom: 67px;
  margin-left: auto;
  width: 66.6666666667%;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-size: 1.125rem;
  line-height: 1.75rem;
  color: #fff; }

/*
|--------------------------------------------------------------------------
| Page - 404 - Action
|--------------------------------------------------------------------------
|
*/
.pg-404_Action {
  display: inline-block;
  padding-top: 7px;
  padding-right: 24px;
  padding-bottom: 7px;
  padding-left: 24px;
  font-family: "myriad-pro", "Helvetica Neue", "Helvetica", sans-serif;
  font-weight: 600;
  border: 2px solid #39c5ff;
  border-radius: 3px;
  color: #fff;
  -webkit-transition: background-color 0.3s, color 0.3s;
  transition: background-color 0.3s, color 0.3s;
  display: block; }
  .pg-404_Action:hover {
    background-color: #39c5ff;
    color: #fff; }
  @media only screen and (min-width: 481px) {
    .pg-404_Action {
      display: inline-block;
      width: 280px; }
      .pg-404_Action + .pg-404_Action {
        margin-left: 20px; } }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzIiwiYXBwLmNzcyIsImNvbmZpZy9fdmFyaWFibGVzLnNjc3MiLCJoZWxwZXJzL19mdW5jdGlvbnMuc2NzcyIsImhlbHBlcnMvX21lZGlhLXF1ZXJpZXMuc2NzcyIsImhlbHBlcnMvX21peGlucy5zY3NzIiwiaGVscGVycy9fZGVmaW5lLnNjc3MiLCJoZWxwZXJzL191dGlscy5zY3NzIiwiYmFzZS9fdHlwb2dyYXBoeS5zY3NzIiwibGF5b3V0L19zaXRlLnNjc3MiLCJnbG9iYWxzL19oZWFkZXIuc2NzcyIsImdsb2JhbHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9hcnRpY2xlL19zaGFyZS5zY3NzIiwiY29tcG9uZW50cy9hcnRpY2xlL19zdHJpcC5zY3NzIiwiY29tcG9uZW50cy9fYnJlYWRjcnVtYi5zY3NzIiwiY29tcG9uZW50cy9jb250YWN0cy9fZGV0YWlscy5zY3NzIiwiY29tcG9uZW50cy9jb250YWN0cy9fY29udGFjdHMuc2NzcyIsImNvbXBvbmVudHMvZXZlbnRzL19mZWF0dXJlZC5zY3NzIiwiY29tcG9uZW50cy9ldmVudHMvX3VwY29taW5nLnNjc3MiLCJjb21wb25lbnRzL2V2ZW50cy9fZXZlbnRzLnNjc3MiLCJjb21wb25lbnRzL19sYXRlc3Quc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLnNjc3MiLCJjb21wb25lbnRzL19uZXdzbGV0dGVyLnNjc3MiLCJjb21wb25lbnRzL19vcmdhbmlzYXRpb25zLnNjc3MiLCJjb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCJjb21wb25lbnRzL19wZW9wbGUuc2NzcyIsImNvbXBvbmVudHMvX3JlbGF0ZWQtY29udGVudC5zY3NzIiwiY29tcG9uZW50cy9zZWFyY2gvX3N0cmlwLnNjc3MiLCJjb21wb25lbnRzL190YWJzLnNjc3MiLCJjb21wb25lbnRzL193eXNpd3lnLnNjc3MiLCJhc2lkZS9fYmxvY2suc2NzcyIsImFzaWRlL19jYXJkLnNjc3MiLCJhc2lkZS9fY2FzZS1zdHVkeS5zY3NzIiwiYXNpZGUvX25ld3NsZXR0ZXIuc2NzcyIsImFzaWRlL19wZW9wbGUtbmV0d29yay5zY3NzIiwic2VjdGlvbnMvX2hvbWVwYWdlLWhlcm8uc2NzcyIsInNlY3Rpb25zL19zZWNvbmRhcnktaGVyby5zY3NzIiwic2VjdGlvbnMvX2ltYWdlLWhlcm8uc2NzcyIsInNlY3Rpb25zL19jYXJkcy5zY3NzIiwic2VjdGlvbnMvX2N0YS5zY3NzIiwic2VjdGlvbnMvX3F1b3RlLnNjc3MiLCJzZWN0aW9ucy9fc3RhdHMuc2NzcyIsInBhZ2VzL180MDQuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7RUFLRTtBQ0xGLHNFQUFzRTtBQUV0RTs7OztHQUlHO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTyxFQUN6Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBVSxFQUNYOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZSxFQUNoQjs7QUFFRDs7O0dBR0c7QUFFSDs7OztFQUlFLHNCQUFzQjtFQUFFLE9BQU87RUFDL0IseUJBQXlCO0VBQUUsT0FBTyxFQUNuQzs7QUFFRDs7O0dBR0c7QUFFSDtFQUNFLGNBQWM7RUFDZCxVQUFVLEVBQ1g7O0FBRUQ7OztHQUdHO0FDQUg7O0VESUUsY0FBYyxFQUNmOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsOEJBQThCLEVBQy9COztBQUVEOztHQUVHO0FBRUg7O0VBRUUsV0FBVyxFQUNaOztBQUVEO2dGQUNnRjtBQUVoRjs7R0FFRztBQUVIO0VBQ0UsMEJBQTBCLEVBQzNCOztBQUVEOztHQUVHO0FBRUg7O0VBRUUsa0JBQWtCLEVBQ25COztBQUVEOztHQUVHO0FBRUg7RUFDRSxtQkFBbUIsRUFDcEI7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LHlCQUF3QjtFQUF4QixnQ0FBd0I7TUFBeEIsc0JBQXdCO1VBQXhCLHdCQUF3QjtFQUV4QixxQkFBYztFQUFkLHNCQUFjO0VBQWQscUJBQWM7RUFBZCxjQUFjO0VBQ2QsY0FBYztFQUVkLHdEQUFxQjtFQUNyQiw2QkFBNkI7RUFDN0IsdUJBQXVCLEVBQ3hCOztBQUVEOzs7OztFQUtFO0FBQ0Y7RXJDNERFOztxQkFFbUI7RUFDbkIsZUFBZTtFQUNmLGtCQUE0RDtFQUM1RCxZQUFZO0VBRVosdUJBQXVCO0VBTXJCLG9CQUFlO0VBQ2YsbUJBQWM7RUFFaEIsc0JBQXNCO0VxQ3pFdEIsbUJBQW1CLEVBQ3BCOztBQUVEOzs7OztFQUtFO0FBQ0Y7RUFDRSxtQkFBbUI7RUFDbkIsb0JBQW9CO0VBQ3BCLGtCQUFrQjtFQUNsQixzQkFBaUI7RUFFakIsb0JBQWdCO0VBQ2hCLHFCQUFrQjtFQUVsQixZQUFZLEVBQ2I7O0FBRUQ7Ozs7O0VBS0U7QUFDRjtFQUNFLG1CQUFtQjtFQUNuQixvQkFBb0I7RUFDcEIsa0JBQWtCO0VBQ2xCLHNCQUFpQjtFQUVqQixxRXhDbENtRTtFd0NtQ25FLG9CQUFnQjtFQUNoQixxQkFBa0I7RUFFbEIsWUFBWSxFQUNiOztBQUVEOzs7OztFQUtFO0FBQ0Y7RXJDa0VFLHNCQUFzQjtFQUN0QixpQkFBaUI7RUFDakIsb0JBQW9CO0VBQ3BCLG9CQUFnQjtFQUNoQixtQkFBYztFQUVkLHFFSHZIbUU7RUd3SG5FLGlCQUFpQjtFQUVqQiwwQkh2SWtCO0VHd0lsQixtQkgzQlM7RUc0QlQsWUFBWTtFQUVaLHNEQUE4QztFQUE5Qyw4Q0FBOEM7RXFDNUU5QyxlQUFlLEVBVWhCO0VBYkQ7SXJDa0ZJLDBCSDlJZ0I7SUcrSWhCLFlBQVksRUFDYjtFRDFHRztJc0NzQk47TUFNSSxzQkFBc0I7TUFDdEIsYUFBYSxFQU1oQjtNQWJEO1FBVU0sa0JBQWtCLEVBQ25CLEVBQUEiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTm9ybWFsaXplXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdub3JtYWxpemUuc2Nzcy9ub3JtYWxpemUnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbmZpZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAnY29uZmlnL3ZhcmlhYmxlcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVscGVyc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAnaGVscGVycy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJ2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJ2hlbHBlcnMvZGVmaW5lJztcbkBpbXBvcnQgJ2hlbHBlcnMvdXRpbHMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJhc2VcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBpbXBvcnQgJ2Jhc2UvdHlwb2dyYXBoeSc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF5b3V0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdsYXlvdXQvc2l0ZSc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR2xvYmFsc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAnZ2xvYmFscy9oZWFkZXInO1xuQGltcG9ydCAnZ2xvYmFscy9mb290ZXInO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbXBvbmVudHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBpbXBvcnQgJ2NvbXBvbmVudHMvYXJ0aWNsZS9hcnRpY2xlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRhY3RzL2NvbnRhY3RzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZXZlbnRzL2V2ZW50cyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhdGVzdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xvZ2luJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3c2xldHRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yZ2FuaXNhdGlvbnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGVvcGxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVsYXRlZC1jb250ZW50JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2VhcmNoL3NlYXJjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy93eXNpd3lnJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAnYXNpZGUvYmxvY2snO1xuQGltcG9ydCAnYXNpZGUvY2FyZCc7XG5AaW1wb3J0ICdhc2lkZS9jYXNlLXN0dWR5JztcbkBpbXBvcnQgJ2FzaWRlL25ld3NsZXR0ZXInO1xuQGltcG9ydCAnYXNpZGUvcGVvcGxlLW5ldHdvcmsnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb25zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AaW1wb3J0ICdzZWN0aW9ucy9ob21lcGFnZS1oZXJvJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3NlY29uZGFyeS1oZXJvJztcbkBpbXBvcnQgJ3NlY3Rpb25zL2ltYWdlLWhlcm8nO1xuQGltcG9ydCAnc2VjdGlvbnMvY2FyZHMnO1xuQGltcG9ydCAnc2VjdGlvbnMvY3RhJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3F1b3RlJztcbkBpbXBvcnQgJ3NlY3Rpb25zL3N0YXRzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdlc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQGltcG9ydCAncGFnZXMvNDA0JztcbiIsIi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOb3JtYWxpemVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7IH1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSxcbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsOyB9XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb25maWdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEhlbHBlcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlZGVmaW5lXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgR2xvYmFsIHJlc2V0cyB0byBtYWtlIGxpZmUgZWFzaWVyXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3ggc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVmlld3BvcnRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5ALW1vei12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQC1tcy12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQC1vLXZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG5ALXdlYmtpdC12aWV3cG9ydCB7XG4gIHdpZHRoOiBkZXZpY2Utd2lkdGg7IH1cblxuQHZpZXdwb3J0IHtcbiAgd2lkdGg6IGRldmljZS13aWR0aDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEhUTUwvQm9keSByZXNldHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDE2cHg7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cblxuYm9keSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIC8qIFRoaXMgbmVlZHMgZXNjYXBpbmcgc28gaXQgZG9lc24ndCBkb3VibGUgc3RyaW5nICovXG4gIGZvbnQtZmFtaWx5OiBcIm1pbmlvbi1wcm9cIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIGNvbG9yOiAjMjMyODMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjBmMGYwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICBib2R5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUeXBvZ3JhcGh5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIEhlYWRpbmdzXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbi8qKlxuICogQm9keVxuICovXG4vKipcbiAqIFBhcmFncmFwaFxuICovXG5wIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4vKipcbiAqIEFuY2hvcnNcbiAqL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4vKipcbiAqIENvZGVcbiAqL1xucHJlIHtcbiAgbWF4LWhlaWdodDogNDUwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBJbWFnZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRleHQgc2VsZWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICMwMDU3OGE7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3V0bGluZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbioge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9uc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCbG9ja3F1b3RlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWFyZ2luc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi51LW1iLTEwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG5cbi51LW1iLTMwIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweCAhaW1wb3J0YW50OyB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQmFzZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ6LWxhcmdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4ycHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ6LWxhcmdlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLmZ6LW1lZGl1bSB7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsZXR0ZXItc3BhY2luZzogMC4xOHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mei1tZWRpdW0ge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuXG4uZnotc21hbGwge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMTZweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZnotc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7IH0gfVxuXG4uZnoteGxhcmdlIHtcbiAgZm9udC1zaXplOiAzNnB4O1xuICBsaW5lLWhlaWdodDogMzhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEhlYWRpbmdzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbGV0dGVyLXNwYWNpbmc6IDAuMDAxZW07IH1cblxuaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogXCJtaW5pb24tcHJvXCIsIHNlcmlmO1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFyYWdyYXBoc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xucCB7XG4gIGxldHRlci1zcGFjaW5nOiAwLjAwMWVtOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQW5jaG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuYSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGNvbG9yOiAjMzljNWZmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjJzOyB9XG4gIGE6aG92ZXIge1xuICAgIGNvbG9yOiByZ2JhKDU3LCAxOTcsIDI1NSwgMC43KTsgfVxuXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExheW91dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLUNvbnRhaW5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuaGQtT3V0ZXIgKyAubC1Db250YWluZXIsXG4gIC5iZGMtT3V0ZXIgKyAubC1Db250YWluZXIge1xuICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA2MHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2l0ZSAtIENvbnRhaW5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtU2l0ZV9Db250YWluZXIge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBtYXgtd2lkdGg6IDE2MDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubC1TaXRlX0NvbnRlbnQge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICBwYWRkaW5nLXRvcDogNjhweDtcbiAgcGFkZGluZy1ib3R0b206IDYwcHg7IH1cblxuLmwtU2l0ZV9TZWN0aW9uQ29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDgwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTaXRlIC0gTWFpblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtU2l0ZV9NYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4OiAxOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubC1TaXRlX01haW4ge1xuICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgICBtYXgtd2lkdGg6IEB3aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gNDBweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmwtU2l0ZV9NYWluLmwtU2l0ZV9NYWluLUNlbnRlcmVkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9IH1cblxuLmwtU2l0ZV9NYWluX1NlcGVyYXRvciB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjZWQ1ZDk7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTaXRlIC0gQXNpZGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLVNpdGVfQXNpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsZXg6IDE7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5sLVNpdGVfQXNpZGUge1xuICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgICBtYXgtd2lkdGg6IEB3aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sLVNpdGVfQXNpZGUge1xuICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgbWF4LXdpZHRoOiBAd2lkdGg7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDQwcHgpOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHbG9iYWxzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVhZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgVGhlIGdsb2JhbCBzaXRlIGhlYWRlciB0aGF0IGFwcGVhcnMgYXQgdGhlIHRvcCBvZiBldmVyeSBwYWdlXG58IEBwcmVmaXg6IGhkLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVhZGVyIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1PdXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVG9wIFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgVGhpcyBhY3R1YWxseSBpcyBpbmNsdWRlZCBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZSBzbyBqdXN0IGFkZCBhIGZld1xufCBwbGFjZWhvbGRlciBzdHlsZXNcbnxcbiovXG4uaGQtVG9wU3RyaXAge1xuICBoZWlnaHQ6IDYwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1Ub3BTdHJpcCB7XG4gICAgICBoZWlnaHQ6IDcycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtVG9wU3RyaXBfSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXAgLSBMb2dvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtVG9wU3RyaXBfTG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGhlaWdodChcInVvYy1sb2dvLnBuZ1wiKTtcbiAgbWFyZ2luLXRvcDogMTFweDtcbiAgbWFyZ2luLWJvdHRvbTogQG1hcmdpbi10b3A7XG4gIHdpZHRoOiB3aWR0aChcInVvYy1sb2dvLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZShcInVvYy1sb2dvLnBuZ1wiKTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1Ub3BTdHJpcF9Mb2dvIHtcbiAgICAgIG1hcmdpbi10b3A6IDE3cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiBAbWFyZ2luLXRvcDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVG9wIFN0cmlwIC0gTmF2XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtVG9wU3RyaXBfTmF2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1Ub3BTdHJpcF9OYXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXAgIC0gTmF2IGl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1Ub3BTdHJpcF9OYXZJdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAyN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICMyZTJlMmU7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5oZC1Ub3BTdHJpcF9OYXZJdGVtOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICMyZTJlMmU7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDExNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1TdHJpcCB7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBUcmlnZ2VyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2VHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIG1hcmdpbi10b3A6IDQycHg7XG4gIG1hcmdpbi1ib3R0b206IEBtYXJnaW4tdG9wO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgYm9yZGVyOiAycHggc29saWQgIzNiNTg2NjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzBhMmU0MDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdlRyaWdnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbi10b3A6IDQ5cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBUcmlnZ2VyIExpbmVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDEycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTJlNDA7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcztcbiAgLyoqXG4gICogVG9wIExpbmVcbiAgKi9cbiAgLyoqXG4gICogTWlkZGxlIExpbmVcbiAgKi9cbiAgLyoqXG4gICogQm90dG9tIExpbmVcbiAgKi8gfVxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Ub3Age1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLU1pZGRsZSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvOyB9XG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Cb3R0b20ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIC5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Ub3Age1xuICAgIGFuaW1hdGlvbjogTmF2VHJpZ2dlckxpbmUtVG9wLUFuaW0gMC4zNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIC5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1NaWRkbGUge1xuICAgIGFuaW1hdGlvbjogTmF2VHJpZ2dlckxpbmUtTWlkZGxlLUFuaW0gMC4zNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cbiAgLmhkLVN0cmlwX05hdlRyaWdnZXJbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIC5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Cb3R0b20ge1xuICAgIGFuaW1hdGlvbjogTmF2VHJpZ2dlckxpbmUtQm90dG9tLUFuaW0gMC4zNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7IH1cblxuQGtleWZyYW1lcyBOYXZUcmlnZ2VyTGluZS1Ub3AtQW5pbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cbiAgNTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNXB4KSByb3RhdGUoNDVkZWcpIHNjYWxlKDEuMyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIE5hdlRyaWdnZXJMaW5lLU1pZGRsZS1BbmltIHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7IH0gfVxuXG5Aa2V5ZnJhbWVzIE5hdlRyaWdnZXJMaW5lLUJvdHRvbS1BbmltIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTVweCkgcm90YXRlKC00NWRlZykgc2NhbGUoMS4zKTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBMb2dvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTG9nbyB7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAxMTRweDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgcGFkZGluZy10b3A6IDM3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzN3B4O1xuICB3aWR0aDogMTc5cHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlc29sdmUoXCJzdmdzL2NzYXAtbG9nby5zdmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMCB0b3AgMzdweDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNzlweCA0MHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX0xvZ28ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMzJweDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICAgICAgd2lkdGg6IDIyMHB4O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogbGVmdCAwIHRvcCAzMnB4O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMjBweCA1MHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAxNzRweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgd2lkdGg6IDIzMHB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2QxZDFkMTtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2QxZDFkMTtcbiAgb3ZlcmZsb3cteDogc2Nyb2xsO1xuICBvdmVyZmxvdy15OiB2aXNpYmxlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzOyB9XG4gIC5oZC1TdHJpcF9OYXZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1TdHJpcF9OYXYge1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmctdG9wOiA0NnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjMGEyZTQwO1xuICAgICAgb3ZlcmZsb3cteDogdmlzaWJsZTsgfVxuICAgICAgLmhkLVN0cmlwX05hdlthcmlhLWhpZGRlbj0ndHJ1ZSddIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2SXRlbSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1TdHJpcF9OYXZJdGVtIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZBY3Rpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMTNweDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICBjb2xvcjogIzBhMmU0MDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIC5oZC1TdHJpcF9OYXZBY3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmhkLVN0cmlwX05hdkFjdGlvbiAuZmEge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdkFjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmctdG9wOiA2cHg7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICAgICAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICBjb2xvcjogIzBhMmU0MDtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7IH1cbiAgICAgIC5oZC1TdHJpcF9OYXZBY3Rpb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBjb2xvcjogIzM5YzVmZjsgfVxuICAgICAgLmhkLVN0cmlwX05hdkFjdGlvbiAuZmEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBEcm9wZG93blxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdkRyb3Bkb3duIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMjtcbiAgd2lkdGg6IDIzMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjMwcHgpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MsIHRyYW5zZm9ybSAwLjNzLCB2aXNpYmlsaXR5IDAuM3M7XG4gIC8qKlxuICAqIFByb3ZpZGUgYW4gaW52aXNpYmxlIGJsb2NrIHRoYXQgYWxsb3dzIGZvciBtb3JlIGZsZXhpYmxlIG1vdXNlIG1vdmVtZW50XG4gICogd2hlbiB0aGUgdXNlciBtb3ZlcyBmcm9tIHRoZSBob3ZlcmVkIE5hdkl0ZW0gdG8gdGhlIE5hdkRyb3Bkb3duXG4gICovXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93blthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdkRyb3Bkb3duIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMTUwJTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggMCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH0gfVxuICAuaGQtU3RyaXBfTmF2RHJvcGRvd246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTIwcHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5oZC1TdHJpcF9OYXZJdGVtOm50aC1sYXN0LWNoaWxkKG4tMikgLmhkLVN0cmlwX05hdkRyb3Bkb3duIHtcbiAgICByaWdodDogMDsgfVxuICAuaGQtU3RyaXBfTmF2SXRlbTpob3ZlciA+IC5oZC1TdHJpcF9OYXZEcm9wZG93biB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBOYXYgRHJvcGRvd24gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2RHJvcGRvd25BY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDEzcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2QxZDFkMTtcbiAgY29sb3I6ICMwYTJlNDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcbiAgLyoqXG4gICogUmVtb3ZlIHRoZSBib3JkZXIgb24gdGhlIGRyb3Bkb3duJ3MgbGFzdCBpdGVtJ3MgYWN0aW9uXG4gICovXG4gIC8qKlxuICAqIEhpZGUgdGhlIGZpcnN0IDIgaXRlbXMgb24gZGVza3RvcCwgdGhleSBhcmUgcHVyZWx5IGZvciBtb2JpbGUgbmF2aWdhdGlvblxuICAqLyB9XG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93bkFjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuaGQtU3RyaXBfTmF2RHJvcGRvd25JdGVtOmxhc3QtY2hpbGQgLmhkLVN0cmlwX05hdkRyb3Bkb3duQWN0aW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdkRyb3Bkb3duSXRlbTpmaXJzdC1jaGlsZCAuaGQtU3RyaXBfTmF2RHJvcGRvd25BY3Rpb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5oZC1TdHJpcF9OYXZEcm9wZG93bkFjdGlvbiAuZmEtYXJyb3ctbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBOYXYgQnV0dG9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2QnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gIHBhZGRpbmctdG9wOiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDJweCBzb2xpZCAjM2I1ODY2O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMGEyZTQwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmhkLVN0cmlwX05hdkJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH0gfVxuICAuaGQtU3RyaXBfTmF2QnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogNDJweDtcbiAgbWFyZ2luLWJvdHRvbTogQG1hcmdpbi10b3A7XG4gIG1pbi13aWR0aDogMjhweDtcbiAgcGFkZGluZy10b3A6IDFweDtcbiAgcGFkZGluZy1yaWdodDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LXNpemU6IDEycHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzYjU4NjY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICMwYTJlNDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXIgMC4zcywgY29sb3IgMC4zczsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5oZC1TdHJpcF9TZWFyY2gge1xuICAgICAgbWFyZ2luLXRvcDogNDlweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7IH0gfVxuICAuaGQtU3RyaXBfU2VhcmNoW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgei1pbmRleDogMjsgfVxuICAuaGQtU3RyaXBfU2VhcmNoW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSwgLmhkLVN0cmlwX1NlYXJjaDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMzljNWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBTZWFyY2ggRm9ybVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaEZvcm0ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTUwJTtcbiAgcmlnaHQ6IDA7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAzNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2QxZDFkMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdmlzaWJpbGl0eSAwczsgfVxuICAuaGQtU3RyaXBfU2VhcmNoRm9ybVthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBTZWFyY2ggSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaEl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDMxcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaCBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaElucHV0IHtcbiAgZmxleDogMTtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgZm9udC1mYW1pbHk6IFwibWluaW9uLXByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiByZ2JhKDEwLCA0NiwgNjQsIDAuNSk7IH1cbiAgLmhkLVN0cmlwX1NlYXJjaElucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMTAsIDQ2LCA2NCwgMC41KTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoIFN1Ym1pdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaFN1Ym1pdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE5cHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvb3RlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IFRoZSBnbG9iYWwgc2l0ZSBmb290ZXIgdGhhdCBhcHBlYXJzIGF0IHRoZSBib3R0b20gb2YgZXZlcnkgcGFnZVxufCBAcHJlZml4OiBmdC1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtU3RyaXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyODMzO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1TdHJpcF9Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMzlweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mdC1TdHJpcF9Jbm5lciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDcwcHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbHVtblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUNvbCB7XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgyMzQsIDIzNCwgMjM0LCAwLjIpO1xuICAvKipcbiAgKiBDb2wgMVxuICAqL1xuICAvKipcbiAgKiBDb2wgMlxuICAqL1xuICAvKipcbiAgKiBDb2wgNFxuICAqLyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ0LUNvbCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICAgICAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCByZ2JhKDIzNCwgMjM0LCAyMzQsIDAuMik7IH0gfVxuICAuZnQtQ29sOmZpcnN0LW9mLXR5cGUge1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBib3JkZXItdG9wOiAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZ0LUNvbDpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH0gfVxuICAuZnQtQ29sLmZ0LUNvbDEge1xuICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICBvcmRlcjogMTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZnQtQ29sLmZ0LUNvbDEge1xuICAgICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTsgfSB9XG4gIC5mdC1Db2wuZnQtQ29sMiB7XG4gICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgIG9yZGVyOiAyO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgICAgLmZ0LUNvbC5mdC1Db2wyIHtcbiAgICAgICAgZmxleC1iYXNpczogQHdpZHRoO1xuICAgICAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7IH0gfVxuICAuZnQtQ29sLmZ0LUNvbDMge1xuICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICBvcmRlcjogNDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgICAuZnQtQ29sLmZ0LUNvbDMge1xuICAgICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMzMzMzMyU7IH0gfVxuICAuZnQtQ29sLmZ0LUNvbDQge1xuICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICBvcmRlcjogMztcbiAgICB3aWR0aDogNTAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgIC5mdC1Db2wuZnQtQ29sNCB7XG4gICAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgICAgb3JkZXI6IDQ7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NjY2NjY3JTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sdW1uIC0gSGVhZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQ29sX0hlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2x1bW4gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQ29sX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi8qIFNwZWNpYWwgY2FzZSBmb3IgY29sdW1uIDMsIHRoZSB0ZXh0IGFib3ZlIHRoZSBuZXdzbGV0dGVyLiBUaGlzIHNob3VsZCBiZVxuICAgaGlkZGVuIHdoZW4gdGhlIGxheW91dCBpcyBjb2xsYXBzZWQgYXQgPGxnLiBHaXRodWIgIzM3LiAqL1xuLmZ0LUNvbDNfVGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAuZnQtQ29sM19UZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtTGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgLSBJdGVtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUxpc3RfSXRlbUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMThzOyB9XG4gIC5mdC1MaXN0X0l0ZW1BY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiAjMzljNWZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBTb2NpYWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1MaXN0U29jaWFsIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBTb2NpYWwgLSBJdGVtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUxpc3RTb2NpYWxfSXRlbUFjdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE4czsgfVxuICAuZnQtTGlzdFNvY2lhbF9JdGVtQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuICAuZnQtTGlzdFNvY2lhbF9JdGVtQWN0aW9uIC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQm90dG9tU3RyaXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMTVweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE5MWQyNTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mdC1Cb3R0b21TdHJpcCB7XG4gICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJvdHRvbSBTdHJpcCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQm90dG9tU3RyaXBfSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5mdC1Cb3R0b21TdHJpcF9Jbm5lciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJvdHRvbSBTdHJpcCAtIENvcHlyaWdodFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUJvdHRvbVN0cmlwX0NvcHlyaWdodCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmZ0LUJvdHRvbVN0cmlwX0NvcHlyaWdodDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDAwYTAnOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwIC0gT25lc3BhY2VcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcF9PbmVzcGFjZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgY29sb3I6ICNmZmY7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5mdC1Cb3R0b21TdHJpcF9PbmVzcGFjZSBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbXBvbmVudHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU2hhcmVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU2hhcmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IC02MjBweDtcbiAgYm9yZGVyOiAxcHggc29saWQgIzIzMjgzMzsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmFydC1TaGFyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFNoYXJlIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU2hhcmVfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjMyODMzO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTaGFyZSAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU2hhcmVfTGlzdCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTaGFyZSAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU2hhcmVfSXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMjRweDtcbiAgcGFkZGluZy1yaWdodDogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXRvcDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICMyMzI4MzM7XG4gIGNvbG9yOiAjMDA1NzhhOyB9XG4gIC5hcnQtU2hhcmVfSXRlbTpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAwOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBhcnQtXG58XG4qL1xuLmFydC1TdHJpcCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciAzMCUsICMwMDU0OTYgMCUsICMwOTI0NTYgMTAwJSk7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYXJ0LVN0cmlwIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0NnB4O1xuICAgICAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX0lubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuYXJ0LVN0cmlwX0lubmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfQ29udGVudCB7XG4gIG9yZGVyOiAyO1xuICB3aWR0aDogODMuMzMzMzMzMzMzMyU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5hcnQtU3RyaXBfQ29udGVudCB7XG4gICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5hcnQtU3RyaXBfQ29udGVudCB7XG4gICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICBtYXJnaW4tbGVmdDogY2FsYygxNi42NjY2NjY2NjY3JSArIDIwcHgpO1xuICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBTaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9TaG9ydFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmFydC1TdHJpcF9TaG9ydFRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogMzJweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmFydC1TdHJpcF9UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFN0cmlwIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmFydC1TdHJpcF9UZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBNZWRpYSBjb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfTWVkaWFDb250YWluZXIge1xuICBmbGV4LXNocmluazogMDtcbiAgb3JkZXI6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5hcnQtU3RyaXBfTWVkaWFDb250YWluZXIge1xuICAgICAgZmxleC1iYXNpczogMTc0cHg7XG4gICAgICBvcmRlcjogMjtcbiAgICAgIG1hcmdpbi1yaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bzsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmFydC1TdHJpcF9NZWRpYUNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE2LjY2NjY2NjY2NjclOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBNZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9NZWRpYSB7XG4gIGhlaWdodDogMTc0cHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCcmVhZGNydW1iXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogYmRjLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnJlYWRjcnVtYiAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYmRjLU91dGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIzMjgzMzsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWIgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmJkYy1Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCcmVhZGNydW1iIC0gSXRlbXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5iZGMtSXRlbXMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LWZhbWlseTogXCJtaW5pb24tcHJvXCIsIHNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5iZGMtSXRlbXMge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmJkYy1JdGVtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWIgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5iZGMtQWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tcmlnaHQ6IDE2cHg7IH1cbiAgLmJkYy1BY3Rpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnLSc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlscyB7XG4gIHBhZGRpbmctdG9wOiA2LjE3JTtcbiAgcGFkZGluZy1ib3R0b206IDQuOTYlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmN0Yy1EZXRhaWxzX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0IC0gRGV0YWlscyAtIENvbHVtbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19Db2x1bW5zIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5jdGMtRGV0YWlsc19Db2x1bW5zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQ29sdW1uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLURldGFpbHNfQ29sdW1uIHtcbiAgZmxleDogMTtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQmxvY2tcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19CbG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGNvbG9yOiAjMDkyNTU3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuY3RjLURldGFpbHNfQmxvY2s6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQmxvY2sgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19CbG9ja1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQmxvY2sgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0Jsb2NrVGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGN0Yy1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3RzIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtSW5uZXIge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5jdGMtSW5uZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZXZlLUZlYXR1cmVkX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmV2ZS1GZWF0dXJlZF9DYXJkcyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWF4LWhlaWdodDogNzYwcHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMDkyNTU3O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7IH1cbiAgLmV2ZS1GZWF0dXJlZF9DYXJkLmV2ZS1GZWF0dXJlZF9DYXJkLVZlcnQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmV2ZS1GZWF0dXJlZF9DYXJkLmV2ZS1GZWF0dXJlZF9DYXJkLVZlcnQge1xuICAgICAgICBoZWlnaHQ6IDM0MHB4OyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuZXZlLUZlYXR1cmVkX0NhcmQuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogNzIwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNDBweCk7IH0gfVxuICAuZXZlLUZlYXR1cmVkX0NhcmQuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC5ldmUtRmVhdHVyZWRfQ2FyZC1Ib3JpIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgaGVpZ2h0OiAzNDBweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpOyB9IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuZXZlLUZlYXR1cmVkX0NhcmQuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDY2LjY2NjY2NjY2NjclIC0gNDBweCk7IH0gfVxuICAuZXZlLUZlYXR1cmVkX0NhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkTWVkaWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czsgfVxuICAuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSAuZXZlLUZlYXR1cmVkX0NhcmRNZWRpYSB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSAuZXZlLUZlYXR1cmVkX0NhcmRNZWRpYSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5ldmUtRmVhdHVyZWRfQ2FyZC1WZXJ0IC5ldmUtRmVhdHVyZWRfQ2FyZE1lZGlhIHtcbiAgICAgIGZsZXgtYmFzaXM6IEB3aWR0aDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCAuZXZlLUZlYXR1cmVkX0NhcmRNZWRpYSB7XG4gICAgICBmbGV4LWJhc2lzOiBhdXRvO1xuICAgICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZENvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMzZweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7IH1cbiAgLmV2ZS1GZWF0dXJlZF9DYXJkLUhvcmkgLmV2ZS1GZWF0dXJlZF9DYXJkQ29udGVudCxcbiAgLmV2ZS1GZWF0dXJlZF9DYXJkLVZlcnQgLmV2ZS1GZWF0dXJlZF9DYXJkQ29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCAuZXZlLUZlYXR1cmVkX0NhcmRDb250ZW50IHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIHNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRTaG9ydFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFNob3J0VGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzOWM1ZmY7IH1cbiAgLmV2ZS1GZWF0dXJlZF9DYXJkU2hvcnRUaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICMzOWM1ZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICAuZXZlLUZlYXR1cmVkX0NhcmRUaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZEFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiBAcmlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogQGhlaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuZXZlLUZlYXR1cmVkX0NhcmRBcnJvdzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBIZWFkZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEhlYWRlciBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSGVhZGVyQWN0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwibWluaW9uLXByb1wiLCBzZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgY29sb3I6ICMwYTJlNDA7IH1cbiAgLmV2ZS1VcGNvbWluZ19IZWFkZXJBY3Rpb24gLmZhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZXZlLVVwY29taW5nX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfTGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzN3B4O1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NlZDVkOTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmV2ZS1VcGNvbWluZ19JdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAubm9Cb3JkZXJPbkZpcnN0IC5ldmUtVXBjb21pbmdfSXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1Db250ZW50IHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDI7XG4gIGNvbG9yOiAjMDkyNTU3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuZXZlLVVwY29taW5nX0l0ZW1Db250ZW50IHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW0gbWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtTWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICM5ZTllOWU7IH1cblxuLmV2ZS1VcGNvbWluZ19JdGVtRGF0ZSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAuZXZlLVVwY29taW5nX0l0ZW1UaXRsZSBhIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuICAgIC5ldmUtVXBjb21pbmdfSXRlbVRpdGxlIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMzOWM1ZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW0gdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogIzFjMmE0OTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtTWVkaWEge1xuICBvcmRlcjogMTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmV2ZS1VcGNvbWluZ19JdGVtTWVkaWEge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICAuZXZlLVVwY29taW5nX0l0ZW1NZWRpYS1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZXZlLVVwY29taW5nX0l0ZW1NZWRpYVtzdHlsZV0ge1xuICAgIGZsZXgtYmFzaXM6IEBoZWlnaHQ7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGhlaWdodDogMjQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC5ldmUtVXBjb21pbmdfSXRlbU1lZGlhW3N0eWxlXSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDE1NXB4O1xuICAgICAgICBoZWlnaHQ6IDEyOHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGV2ZS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUlubmVyIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuZXZlLUlubmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogbHRzLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtT3V0ZXIge1xuICBwYWRkaW5nLXRvcDogNC44MiU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ljc1JTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUlubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Db250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogNi4zOCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY29sb3I6ICMwOTI1NTc7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sdHMtQ29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVGl0bGUge1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubHRzLVRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmx0cy1UZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzA5MjU1NztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubHRzLUNhcmQ6bnRoLWNoaWxkKDMpLCAubHRzLUNhcmQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0zODBweDsgfSB9XG4gIC5sdHMtQ2FyZC5sdHMtQ2FyZC1WZXJ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLmx0cy1DYXJkLmx0cy1DYXJkLVZlcnQge1xuICAgICAgICBoZWlnaHQ6IDcyMHB4O1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLmx0cy1DYXJkLmx0cy1DYXJkLVZlcnQge1xuICAgICAgICB3aWR0aDogY2FsYygzMy4zMzMzMzMzMzMzJSAtIDQwcHgpOyB9IH1cbiAgLmx0cy1DYXJkLmx0cy1DYXJkLUhvcmkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAubHRzLUNhcmQubHRzLUNhcmQtSG9yaSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgICAgLmx0cy1DYXJkLmx0cy1DYXJkLUhvcmkge1xuICAgICAgICB3aWR0aDogY2FsYyg2Ni42NjY2NjY2NjY3JSAtIDQwcHgpOyB9IH1cbiAgLmx0cy1DYXJkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgY29sb3I6ICMwOTI1NTc7IH1cbiAgICAubHRzLUNhcmQ6aG92ZXIgLmx0cy1DYXJkX0Fycm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDU3OGE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgbWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9NZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXItdG9wLWxlZnQtcmFkaXVzOyB9XG4gIC5sdHMtQ2FyZC1Ib3JpIC5sdHMtQ2FyZF9NZWRpYSB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAubHRzLUNhcmQtSG9yaSAubHRzLUNhcmRfTWVkaWEge1xuICAgICAgICBmbGV4LWJhc2lzOiBAd2lkdGg7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTsgfSB9XG4gIC5sdHMtQ2FyZC1WZXJ0IC5sdHMtQ2FyZF9NZWRpYSB7XG4gICAgcGFkZGluZy10b3A6IDEwMCU7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgLmx0cy1DYXJkLVZlcnQgLmx0cy1DYXJkX01lZGlhIHtcbiAgICBwYWRkaW5nLXRvcDogY2FsYyg1MCUgKyAyMHB4KTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfQ29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDsgfVxuICAubHRzLUNhcmQtSG9yaSAubHRzLUNhcmRfQ29udGVudCB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9TaG9ydFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiAjMzljNWZmOyB9XG4gIC5sdHMtQ2FyZF9TaG9ydFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9UaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICAubHRzLUNhcmRfVGl0bGVBY3Rpb246aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGFycm93XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206IEByaWdodDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjE2LCAyMTYsIDIxNiwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgLmx0cy1DYXJkX0Fycm93OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NzhhO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDM0MHB4O1xuICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0O1xuICBwYWRkaW5nLXRvcDogMzVweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMDkyNTU3O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5sdHMtVHdlZXRDYXJkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDQwcHgpOyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5sdHMtVHdlZXRDYXJkIHtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNDBweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLmx0cy1Ud2VldENhcmQubHRzLVR3ZWV0Q2FyZC0ybmQge1xuICAgICAgbWFyZ2luLXRvcDogLTM4MHB4O1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGNhbGMoMTAwJSArIDQwcHgpKTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAubHRzLVR3ZWV0Q2FyZC5sdHMtVHdlZXRDYXJkLTJuZCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9IH1cbiAgLmx0cy1Ud2VldENhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiA5cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfTWV0YSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXRvcDogYXV0bztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgY29sb3I6ICMwOTI1NTc7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gUmVwbHlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtVHdlZXRDYXJkX1JlcGx5IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBSZXR3ZWV0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9SZXR3ZWV0IHtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBMaWtlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9MaWtlIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gVGltZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfVGltZSB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogI2FjYWNhYzsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW5cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBsZ2ktXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLU91dGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA4MDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4M2M3YTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZShcImltZy9kaWdpdGFsLWNvbm5lY3Rpb25zLmpwZ1wiKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBCb3hcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktQm94IHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAzcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5sZ2ktQm94IHtcbiAgICAgIG1heC13aWR0aDogNDIwcHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLmxnaS1Cb3gge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktQ29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH1cblxuLmxnaS1Db250ZW50X2JvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBCb3ggLSBVbmRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Cb3hfVW5kZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBCb3ggLSBVbmRlciB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUJveF9VbmRlclRleHQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIE1lc3NhZ2UgVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9NZXNzYWdlVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0l0ZW0ge1xuICBtYXJnaW4tcmlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9XG4gIC5sZ2ktRm9ybV9JdGVtOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIExhYmVsXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fTGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgY29sb3I6ICMwMzE2M2I7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0lucHV0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiA2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA3cHg7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIHdpZHRoOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMjRweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogcmdiYSgzLCAyMiwgNTksIDAuNSk7IH1cbiAgLmxnaS1Gb3JtX0lucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBDaGVja2JveFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0NoZWNrYm94V3JhcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG5cbi5sZ2ktRm9ybV9DaGVja2JveCB7XG4gIC8qIGxpbmUtaGVpZ2h0IGNvbXBlbnNhdGlvbiAqL1xuICBtYXJnaW4tdG9wOiA4cHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIEZvcmdvdHRlbiBwYXNzd29yZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0ZvcmdvdHRlblBhc3N3b3JkIHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIFN1Ym1pdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX1N1Ym1pdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAyMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0NmRlZywgIzAwOTZjYywgIzBiZik7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAzcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IEBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1cztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmxnaS1Gb3JtX1N1Ym1pdDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBFcnJvclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0Vycm9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy10b3A7XG4gIGZvbnQtZmFtaWx5OiBcIm1pbmlvbi1wcm9cIiwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNmQxY2E7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkYjQ2MmM7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgY29sb3I6ICNkYjQ2MmM7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBTdWJtaXQgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX1N1Ym1pdEljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICByaWdodDogNDVweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiBAaGVpZ2h0O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMzE2M2I7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7IH1cbiAgLmxnaS1Gb3JtX1N1Ym1pdDpob3ZlciAubGdpLUZvcm1fU3VibWl0SWNvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAzMTYzYjsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTmV3c2xldHRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IG5zbC1cbnxcbiovXG4ubnNsLUZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gIC5uc2wtRm9ybS5uc2wtRm9ybS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cblxuLm5zbC1JbnB1dHNTdXJyb3VuZCB7XG4gIGZsZXg6IDE7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOZXdzbGV0dGVyIC0gSW5wdXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5uc2wtSW5wdXQge1xuICBwYWRkaW5nLXRvcDogOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICB3aWR0aDogMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6IHJnYmEoMywgODMsIDEyMywgMC41KTsgfVxuICAubnNsLUlucHV0OjpwbGFjZWhvbGRlciB7XG4gICAgY29sb3I6IHJnYmEoMywgODMsIDEyMywgMC41KTsgfVxuICAubnNsLUZvcm0tZm9vdGVyIC5uc2wtSW5wdXQge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE5ld3NsZXR0ZXIgLSBTdWJtaXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5uc2wtU3VibWl0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5uc2wtU3VibWl0OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5hc2ktTmV3c2xldHRlciAubnNsLVN1Ym1pdCB7XG4gICAgY29sb3I6ICMwYTJlNDA7IH1cbiAgLm5zbC1Gb3JtLWZvb3RlciAubnNsLVN1Ym1pdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLm5zbC1Gb3JtLWZvb3RlciAubnNsLVN1Ym1pdDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IG9yZy1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLU91dGVyIHtcbiAgcGFkZGluZy10b3A6IDYuMyU7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1UaXRsZSB7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5vcmctVGl0bGUge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctTGlzdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy10b3A6IDI2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAyMXB4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2VkNWQ5O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5vcmctSXRlbSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdzsgfSB9XG4gIC5vcmctSXRlbTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbSAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctSXRlbV9Db250ZW50IHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDI7XG4gIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLm9yZy1JdGVtX0NvbnRlbnQge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIEl0ZW0gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiAjMDMxNjNiOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbSAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctSXRlbV9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICMwMzE2M2I7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gTWVkaWEgY29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fTWVkaWFDb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3JkZXI6IDE7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5vcmctSXRlbV9NZWRpYUNvbnRhaW5lciB7XG4gICAgICBmbGV4LWJhc2lzOiAyMDBweDtcbiAgICAgIG9yZGVyOiAyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnaW5hdGlvbiAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGduLU91dGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnaW5hdGlvbiAtIENvbnRyb2xcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tQ29udHJvbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtYmFzaXM6IDMwcHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IEBoZWlnaHQ7XG4gIGZvbnQtc2l6ZTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnBnbi1Db250cm9sOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAucGduLUNvbnRyb2w6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDsgfVxuICAucGduLUNvbnRyb2w6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gQ29udHJvbCAtIEljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tQ29udHJvbF9JY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuICAucGduLUNvbnRyb2xfSWNvbjo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnbi1JdGVtcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGduLUl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgY29sb3I6ICMwYTJlNDA7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcGwtXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1PdXRlciB7XG4gIHBhZGRpbmctdG9wOiAzLjE1JTtcbiAgcGFkZGluZy1ib3R0b206IDYuMDUlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gT3V0ZXIgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1PdXRlcl90aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5wcGwtT3V0ZXJfdGl0bGUge1xuICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEZpbHRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXIge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAtMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjlweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAucHBsLUZpbHRlciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfVGV4dCB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gIGNvbG9yOiAjMWMyYTQ5OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLnBwbC1GaWx0ZXJfVGV4dCB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyIC0gTGFiZWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtRmlsdGVyX0xhYmVsIHtcbiAgbWFyZ2luLXRvcDogLTVweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBSZXN1bHRzIGNvdW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlcl9SZXN1bHRzQ291bnQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyIC0gSW5wdXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtRmlsdGVyX0lucHV0IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMTtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnBwbC1GaWx0ZXJfSW5wdXQge1xuICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSA0MHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5wcGwtRmlsdGVyX0lucHV0IHtcbiAgICAgIGZsZXgtYmFzaXM6IDI4MHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBTZWxlY3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtRmlsdGVyX1NlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjhmYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZShcInNlbGVjdC1hcnJvdy1kb3duLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogdG9wIDUwJSByaWdodCAyMHB4O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiAjMGEyZTQwO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAucHBsLUZpbHRlcl9TZWxlY3Qgb3B0aW9uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBMaXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUxpc3Qge1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiBAbWFyZ2luLXJpZ2h0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnBwbC1JdGVtIHtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gNDBweCk7IH0gfVxuICAucHBsLUl0ZW06bGFzdC1jaGlsZDpudGgtY2hpbGQob2RkKSwgLnBwbC1JdGVtOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKGV2ZW4pLCAucHBsLUl0ZW06bnRoLWxhc3QtY2hpbGQoMik6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLnBwbC1JdGVtOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDAsIDAsIDAsIDAuMik7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtIC0gTWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtSXRlbV9NZWRpYSB7XG4gIGZsZXgtYmFzaXM6IDI4LjQyJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gSXRlbSAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtSXRlbV9Db250ZW50IHtcbiAgZmxleDogMTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1pbi1oZWlnaHQ6IDExMHB4O1xuICBwYWRkaW5nLXRvcDogMTJweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgY29sb3I6ICMxYzJhNDk7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtSXRlbV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuICAucHBsLUl0ZW1fVGl0bGUgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogcnRkLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucnRkLVRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzJweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnJ0ZC1UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtTGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucnRkLUl0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcGFkZGluZy1ib3R0b206IDM3cHg7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2VkNWQ5OyB9XG4gIC5ydGQtSXRlbTpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnJ0ZC1JdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX0NvbnRlbnQge1xuICBmbGV4OiAxO1xuICBvcmRlcjogMjtcbiAgY29sb3I6ICMwOTI1NTc7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5ydGQtSXRlbV9Db250ZW50IHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gSXRlbSAtIE1ldGFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9NZXRhIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gSXRlbSAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gSXRlbSAtIE1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucnRkLUl0ZW1fTWVkaWEge1xuICBvcmRlcjogMTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAucnRkLUl0ZW1fTWVkaWEge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuICAucnRkLUl0ZW1fTWVkaWFbc3R5bGVdIHtcbiAgICBmbGV4LWJhc2lzOiBAaGVpZ2h0O1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAucnRkLUl0ZW1fTWVkaWFbc3R5bGVdIHtcbiAgICAgICAgZmxleC1iYXNpczogMTc1cHg7XG4gICAgICAgIGhlaWdodDogMTM1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWFyY2ggLSBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjaC1cbnxcbiovXG4uc2NoLVN0cmlwIHtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMxNjNiO1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY2gtU3RyaXBfSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWFyY2ggLSBTdHJpcCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2NoLVN0cmlwX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMXB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjaC1TdHJpcF9UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VhcmNoIC0gU3RyaXAgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2NoLVN0cmlwX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2NoLVN0cmlwX1RleHQge1xuICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDUycHg7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFic1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHRhYi1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRhYnMgLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnRhYi1PdXRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUYWJzIC0gU2V0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLVNldCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDM0cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC50YWItU2V0IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFicyAtIFNldCAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi50YWItU2V0X0l0ZW0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gIHBhZGRpbmctbGVmdDogQHBhZGRpbmctcmlnaHQ7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDtcbiAgY29sb3I6ICMxYzJhNDk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3BhY2l0eTogMC4zO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC50YWItU2V0X0l0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfSB9XG4gIC50YWItU2V0X0l0ZW06aG92ZXIge1xuICAgIGNvbG9yOiAjMWMyYTQ5O1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnRhYi1TZXRfSXRlbVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgICAudGFiLVNldF9JdGVtW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZTBlMGUwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IEBib3JkZXItdG9wO1xuICAgICAgICBib3JkZXItbGVmdDogQGJvcmRlci10b3A7IH0gfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAgIC50YWItU2V0X0l0ZW1bYXJpYS1zZWxlY3RlZD0ndHJ1ZSddOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFd5c2l3eWdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiB3eXMtXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBXeXNpd3lnIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuLnd5cy1Db250ZW50IHtcbiAgLyoqXG4gICogSGVhZGluZ3NcbiAgKi9cbiAgLyoqXG4gICogUGFyYWdyYXBoc1xuICAqL1xuICAvKipcbiAgKiBCbG9ja3F1b3RlXG4gICovXG4gIC8qKlxuICAqIEltYWdlc1xuICAqLyB9XG4gIC53eXMtQ29udGVudCBoMywgLnd5cy1Db250ZW50IGg0LCAud3lzLUNvbnRlbnQgaDUsIC53eXMtQ29udGVudCBoNiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC53eXMtQ29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4OyB9XG4gIC53eXMtQ29udGVudCBoNCB7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIC53eXMtQ29udGVudCBoNSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIC53eXMtQ29udGVudCBoNiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG4gIC53eXMtQ29udGVudCB1bCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgICAud3lzLUNvbnRlbnQgdWwgbGkge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgICAgLnd5cy1Db250ZW50IHVsIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAud3lzLUNvbnRlbnQgcCB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gICAgLnd5cy1Db250ZW50IHAgKyBoMyxcbiAgICAud3lzLUNvbnRlbnQgcCArIGg0LFxuICAgIC53eXMtQ29udGVudCBwICsgaDUsXG4gICAgLnd5cy1Db250ZW50IHAgKyBoNiB7XG4gICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9XG4gIC53eXMtQ29udGVudCAucXVvdGUtdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgY29sb3I6ICMwM2EzYjY7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAud3lzLUNvbnRlbnQgLnF1b3RlLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzNnB4OyB9IH1cbiAgICAubC1TaXRlX01haW4tQ2VudGVyZWQgLnd5cy1Db250ZW50IC5xdW90ZS10ZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmwtU2l0ZV9NYWluLUNlbnRlcmVkIC53eXMtQ29udGVudCAucXVvdGUtdGV4dDo6YmVmb3JlLCAubC1TaXRlX01haW4tQ2VudGVyZWQgLnd5cy1Db250ZW50IC5xdW90ZS10ZXh0OjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICAgIGNvbG9yOiAjMDNhM2I2OyB9XG4gICAgICAubC1TaXRlX01haW4tQ2VudGVyZWQgLnd5cy1Db250ZW50IC5xdW90ZS10ZXh0OjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBvcGVuLXF1b3RlOyB9XG4gICAgICAubC1TaXRlX01haW4tQ2VudGVyZWQgLnd5cy1Db250ZW50IC5xdW90ZS10ZXh0OjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IGNsb3NlLXF1b3RlOyB9XG4gIC53eXMtQ29udGVudCAucXVvdGUtYXV0aG9yIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMjRweDsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC53eXMtQ29udGVudCAucXVvdGUtYXV0aG9yIHtcbiAgICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDsgfSB9XG4gICAgLmwtU2l0ZV9NYWluLUNlbnRlcmVkIC53eXMtQ29udGVudCAucXVvdGUtYXV0aG9yIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAud3lzLUNvbnRlbnQgLmltZy1jYXB0aW9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3LjUxJTtcbiAgICBwYWRkaW5nLXRvcDogMTZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgICBmb250LXNpemU6IDE5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzBhMmU0MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAgIC53eXMtQ29udGVudCAuaW1nLWNhcHRpb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC04LjMzMzMzMzMzMzMlO1xuICAgICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfSB9XG5cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBCbG9ja1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1CbG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA3MjBweDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogIzA5MjU1NztcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzOyB9XG4gIC5hc2ktQ2FyZDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX01lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6IEBib3JkZXItdG9wLWxlZnQtcmFkaXVzOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfQ29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgc2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9TaG9ydFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgc2hvcnQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogIzM5YzVmZjsgfVxuICAuYXNpLUNhcmRfU2hvcnRUaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICMzOWM1ZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmFzaS1DYXJkX1RpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX0Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiBAcmlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogQGhlaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYXNpLUNhcmRfQXJyb3c6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0OHB4O1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMDkyNTU3OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkIHNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeV9TaG9ydFRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X1Nob3J0VGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6ICMzOWM1ZmY7IH1cbiAgLmFzaS1DYXNlU3R1ZHlfU2hvcnRUaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6ICMzOWM1ZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeV9UaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuICAuYXNpLUNhc2VTdHVkeV9UaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X0Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiBAcmlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogQGhlaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIxNiwgMjE2LCAyMTYsIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYXNpLUNhc2VTdHVkeV9BcnJvdzpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBOZXdzbGV0dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLU5ld3NsZXR0ZXIge1xuICBwYWRkaW5nLXRvcDogMzZweDtcbiAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjhmYTtcbiAgY29sb3I6ICMwYTJlNDA7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIE5ld3NsZXR0ZXIgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1OZXdzbGV0dGVyX1RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIE5ld3NsZXR0ZXIgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLU5ld3NsZXR0ZXJfVGV4dCB7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmtcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktUGVvcGxlTmV0d29yayB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBjb2xvcjogIzBhMmU0MDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1QZW9wbGVOZXR3b3JrX1RpdGxlIHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBMaXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfTGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBJdGVtIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1QZW9wbGVOZXR3b3JrX0l0ZW1BY3Rpb24ge1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgY29sb3I6ICMwYTJlNDA7IH1cbiAgLmFzaS1QZW9wbGVOZXR3b3JrX0l0ZW1BY3Rpb246aG92ZXIsIC5hc2ktUGVvcGxlTmV0d29ya19JdGVtQWN0aW9uW2FyaWEtY3VycmVudD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogIzM5YzVmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb25zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm9cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1Ib21lcGFnZUhlcm8ge1xuICBwYWRkaW5nLXRvcDogMTElO1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNjMlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwODNiNzk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUhvbWVwYWdlSGVybyB7XG4gICAgICBwYWRkaW5nLXRvcDogOC4zOCU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNjMlOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVyb19Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi8gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBIb21lcGFnZSBoZXJvIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuc2N0LUhvbWVwYWdlSGVyb19Db250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlOyB9IH1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLnNjdC1Ib21lcGFnZUhlcm9fQ29udGVudCB7XG4gICAgd2lkdGg6IDY2LjY2NjY2NjY2NjclOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMzBweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtSG9tZXBhZ2VIZXJvX1RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gICAgICBmb250LXNpemU6IDUycHg7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm8gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVyb19UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMjNweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtSG9tZXBhZ2VIZXJvX1RleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNjVweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1Ib21lcGFnZUhlcm9fQWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2N0LUhvbWVwYWdlSGVyb19BY3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtSG9tZXBhZ2VIZXJvX0FjdGlvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFNlY29uZGFyeSBoZXJvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciAzMCUsICMwMDU0OTYgMCUsICMwOTI0NTYgMTAwJSk7XG4gIHBhZGRpbmctdG9wOiA4LjYlO1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LVNlY29uZGFyeUhlcm8ge1xuICAgICAgcGFkZGluZy10b3A6IDEyLjEzJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxNC43NSU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU2Vjb25kYXJ5IGhlcm8gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5zY3QtU2Vjb25kYXJ5SGVyb19Db250ZW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMzMzMzMzJTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFNlY29uZGFyeSBoZXJvIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDFweDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtU2Vjb25kYXJ5SGVyb19UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFNlY29uZGFyeSBoZXJvIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TZWNvbmRhcnlIZXJvX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LVNlY29uZGFyeUhlcm9fVGV4dCB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBsaW5lLWhlaWdodDogNTJweDsgfSB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVyb1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjdC1cbnxcbiovXG4uc2N0LUltYWdlSGVybyB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciAzMCUsICMwMDU0OTYgMCUsICMwOTI0NTYgMTAwJSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDEwLjE2JTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogI2ZmZjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1JbWFnZUhlcm8ge1xuICAgICAgcGFkZGluZy10b3A6IDEyJTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0lubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOS42JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1JbWFnZUhlcm9fQ29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm8gLSBUaXRsZSBzbWFsbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19TaG9ydFRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMzJweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1JbWFnZUhlcm9fVGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTNweDtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA1MnB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIE1ldGFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX01ldGEge1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19NZXRhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm8gLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0FjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzOWM1ZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnNjdC1JbWFnZUhlcm9fQWN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzljNWZmO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19BY3Rpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEJhY2tncm91bmQgY29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19CYWNrZ3JvdW5kQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA5MjQ1NjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gQmFja2dyb3VuZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fQmFja2dyb3VuZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZy10b3A6IDYwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5zY3QtSW1hZ2VIZXJvX0JhY2tncm91bmQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyAnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjIpOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuc2N0LUltYWdlSGVyb19CYWNrZ3JvdW5kIHtcbiAgICAgIHBhZGRpbmctdG9wOiA0MCU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1JbWFnZUhlcm9fQmFja2dyb3VuZCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5zY3QtSW1hZ2VIZXJvX1ZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zY3QtSW1hZ2VIZXJvX1ZpZGVvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNjdC1JbWFnZUhlcm9fVmlkZW9FbWJlZCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbG9yc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIFNpemVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaW5lIGhlaWdodHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1lZGlhIHF1ZXJpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6aW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc21vb3RoaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUG9zaXRpb25pbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnV0dG9ucyAtIFByaW1hcnlcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JhZGllbnRzIC0gUmFkaWFsIGJsdWVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1DYXJkcyB7XG4gIHBhZGRpbmctdG9wOiA0LjgyJTtcbiAgcGFkZGluZy1ib3R0b206IDUuNzUlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfSW5uZXIge1xuICAvKiBBZGQgMzBweCB0byB0aGUgY29udGFpbmVyIGFzIHRoZSAnY29udGFpbmVyJyBzaG91bGQgYmUgdGhlIHNpemUgb2YgdGhlXG4gIC8qIGNvbnRlbnQgbm90IHRoZSBhY3R1YWwgZGl2XG4gIC8qIC0tLS0tLS0tLS0tLS0gKi9cbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI4MHB4O1xuICB3aWR0aDogMTAwJTtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgcGFkZGluZy1yaWdodDogMjBweDtcbiAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NvbnRlbnQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDkyNTU3OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuc2N0LUNhcmRzX0NvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1DYXJkc19Db250ZW50IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUNhcmRzX1RpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiA4LjYlO1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjZweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1DYXJkc19UZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4OyB9IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkcyB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zY3QtQ2FyZHNfQ2FyZHMgKyAuc2N0LUNhcmRzX0NhcmRzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgICAgLnNjdC1DYXJkc19DYXJkcyArIC5zY3QtQ2FyZHNfQ2FyZHMge1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtQ2FyZHNfQ2FyZHMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGNvbG9yOiAjMDkyNTU3O1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtQ2FyZHNfQ2FyZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LUNhcmRzX0NhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzMzMzMzMlIC0gNDBweCk7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gICAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovIH1cbiAgICAgIC5zY3QtQ2FyZHNfQ2FyZDphdC1sZWFzdCg0KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuc2N0LUNhcmRzX0NhcmQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBjb2xvcjogIzA5MjU1NzsgfVxuICAgIC5zY3QtQ2FyZHNfQ2FyZDpob3ZlciAuc2N0LUNhcmRzX0NhcmRBcnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA1NzhhO1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRNZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAycHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiBAYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgY29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkQ29udGVudCB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiA0MHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzJweDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgc2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFNob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFNob3J0VGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZUFjdGlvbjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGNvbG9yOiBpbmhlcml0OyB9XG4gIC5zY3QtQ2FyZHNfQ2FyZFRpdGxlQWN0aW9uOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIGFycm93XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRBcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogQHJpZ2h0O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IEBoZWlnaHQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMTYsIDIxNiwgMjE2LCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zczsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENUQVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjdC1cbnxcbiovXG4uc2N0LUN0YSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciAzMCUsICMwMDU0OTYgMCUsICMwOTI0NTYgMTAwJSk7XG4gIHBhZGRpbmctdG9wOiAzJTtcbiAgcGFkZGluZy1ib3R0b206IDMuMDYlO1xuICBjb2xvcjogI2ZmZjsgfVxuICAubC1TaXRlX01haW4gLnNjdC1DdGEge1xuICAgIHBhZGRpbmctdG9wOiA0NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiBAcGFkZGluZy10b3A7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ3RhX0lubmVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5sLVNpdGVfTWFpbiAuc2N0LUN0YV9Jbm5lciB7XG4gICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENUQSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtQ3RhX1RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDsgfVxuICAgICAgLmwtU2l0ZV9NYWluIC5zY3QtQ3RhX1RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENUQSAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ3RhX1RleHQge1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDVEEgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ3RhX0FjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzOWM1ZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zczsgfVxuICAuc2N0LUN0YV9BY3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzOWM1ZmY7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmFuZ2UgYm91bmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyoqXG4gKiBVcHBlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBGYW1pbGllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTW9iaWxlXG4gKi9cbi8qKlxuICogRGVza3RvcFxuICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpbmUgaGVpZ2h0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWVkaWEgcXVlcmllc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE1pc2NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9ybSBpbnB1dHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgR3JpZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjdC1cbnxcbiovXG4uc2N0LVF1b3RlX091dGVyIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEyODBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqLyB9XG4gIC5zY3QtU3RhdHMgKyAuc2N0LVF1b3RlX091dGVyIHtcbiAgICBtYXJnaW4tdG9wOiA1JTsgfVxuXG4uc2N0LVF1b3RlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmFkaWFsLWdyYWRpZW50KGVsbGlwc2UgYXQgY2VudGVyIDMwJSwgIzAwNTQ5NiAwJSwgIzA5MjQ1NiAxMDAlKTtcbiAgcGFkZGluZy10b3A6IDYuMzglO1xuICBwYWRkaW5nLWJvdHRvbTogNS4xOSU7XG4gIGNvbG9yOiAjZmZmOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFF1b3RlIC0gQmxvY2txdW90ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1RdW90ZV9CbG9ja1F1b3RlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuc2N0LVF1b3RlX0Jsb2NrUXVvdGUge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgICB3aWR0aDogODMuMzMzMzMzMzMzMyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX1RpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGUgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgxcHgpIHtcbiAgICAuc2N0LVF1b3RlX1RleHQge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIEZvb3RlciB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX0Zvb3RlclRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LVF1b3RlX0Zvb3RlclRleHQge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7IH0gfVxuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCBjb250YWluc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSYW5nZSBib3VuZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qKlxuICogTG93ZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKipcbiAqIFVwcGVyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb2xvcnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCAtIEZhbWlsaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgLSBTaXplc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBNb2JpbGVcbiAqL1xuLyoqXG4gKiBEZXNrdG9wXG4gKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKipcbiAqIE1vYmlsZVxuICovXG4vKipcbiAqIERlc2t0b3BcbiAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWlzY1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IHNtb290aGluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb3JtIGlucHV0c1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmlkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBvc2l0aW9uaW5nXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnMgLSBQcmltYXJ5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyYWRpZW50cyAtIFJhZGlhbCBibHVlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMaXN0IGNvbnRhaW5zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyoqXG4gKiBMb3dlciBib3VuZCBvZiBhIHJhbmdlXG4gKi9cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtU3RhdHMge1xuICBiYWNrZ3JvdW5kLWltYWdlOiByYWRpYWwtZ3JhZGllbnQoZWxsaXBzZSBhdCBjZW50ZXIgMzAlLCAjMDA1NDk2IDAlLCAjMDkyNDU2IDEwMCUpO1xuICBwYWRkaW5nLXRvcDogNi41NyU7XG4gIHBhZGRpbmctYm90dG9tOiA4LjEzJTtcbiAgY29sb3I6ICNmZmY7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19Jbm5lciB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19Db250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogNjJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LVN0YXRzX0NvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luLWxlZnQ6IEBtYXJnaW4tcmlnaHQ7XG4gICAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7IH0gfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTRweDsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgLnNjdC1TdGF0c19UaXRsZSB7XG4gICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzhweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAgIC5zY3QtU3RhdHNfVGV4dCB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0FjdGlvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206IEBwYWRkaW5nLXRvcDtcbiAgcGFkZGluZy1sZWZ0OiBAcGFkZGluZy1yaWdodDtcbiAgZm9udC1mYW1pbHk6IFwibXlyaWFkLXByb1wiLCBcIkhlbHZldGljYSBOZXVlXCIsIFwiSGVsdmV0aWNhXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGJvcmRlcjogMnB4IHNvbGlkICMzOWM1ZmY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgY29sb3I6ICNmZmY7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zczsgfVxuICAuc2N0LVN0YXRzX0FjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcm91c2VsXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWwgcGFnaW5hdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTE0JTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGhlaWdodChcInNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24ucG5nXCIpO1xuICB3aWR0aDogd2lkdGgoXCJzY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZShcInNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24ucG5nXCIpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24uc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi1MZWZ0IHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMDBweCk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLUxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgIC5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24tTGVmdCB7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA3NXB4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICAuc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLVJpZ2h0IHtcbiAgICByaWdodDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCkgcm90YXRlKDE4MGRlZyk7IH1cbiAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gICAgICAuc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLVJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KSByb3RhdGUoMTgwZGVnKTsgfSB9XG4gICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNDQxcHgpIHtcbiAgICAgIC5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnNjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24tUmlnaHQge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgcmlnaHQ6IDc1cHg7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSByb3RhdGUoMTgwZGVnKTsgfSB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWwgcmFpbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJvdXNlbFJhaWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMzQwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWwgc2xpZGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiBAcmlnaHQ7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzQwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgb3BhY2l0eTogMTtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjM1czsgfVxuICAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGVbYXJpYS1jdXJyZW50PSdmYWxzZSddIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIG9wYWNpdHk6IDA7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJvdXNlbCB1bmRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJvdXNlbFVuZGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICBtYXJnaW4tbGVmdDogQG1hcmdpbi1yaWdodDtcbiAgbWluLWhlaWdodDogMzQwcHg7XG4gIHBhZGRpbmctdG9wOiAzOXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0NmRlZywgIzAwOTZjYywgIzBiZik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGFlZWY7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMCByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5zY3QtU3RhdHNfQ2FyZDpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODFweCkge1xuICAgIC5zY3QtU3RhdHNfQ2FyZCB7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSA0MHB4KTsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgICAuc2N0LVN0YXRzX0NhcmQge1xuICAgICAgd2lkdGg6IGNhbGMoMzMlIC0gNDBweCk7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAgIC5zY3QtU3RhdHNfQ2FyZCB7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSA0MHB4KTsgfSB9XG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVFbnRlciAuc2N0LVN0YXRzX0NhcmQsXG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1sZWF2ZSAuc2N0LVN0YXRzX0NhcmQge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVMZWF2ZSAuc2N0LVN0YXRzX0NhcmQge1xuICAgIHZpc2liaWxpdHk6IGluaXRpYWw7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxczsgfVxuICAgIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE1czsgfVxuICAgIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjNzOyB9XG4gICAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVMZWF2ZSAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuNDVzOyB9XG4gIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtZW50ZXIgLnNjdC1TdGF0c19DYXJkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgMC42czsgfVxuICAgIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtZW50ZXIgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjc1czsgfVxuICAgIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtZW50ZXIgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjlzOyB9XG4gICAgW2RpcmVjdGlvbj0nbGVmdCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMDVzOyB9XG4gIFtkaXJlY3Rpb249J3JpZ2h0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUxlYXZlIC5zY3QtU3RhdHNfQ2FyZCB7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDFzOyB9XG4gICAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgLnNjdC1TdGF0c19DYXJkOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE1czsgfVxuICAgIFtkaXJlY3Rpb249J3JpZ2h0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUxlYXZlIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4zczsgfVxuICAgIFtkaXJlY3Rpb249J3JpZ2h0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWJlZm9yZUxlYXZlIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoNCkge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC40NXM7IH1cbiAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtZW50ZXIgLnNjdC1TdGF0c19DYXJkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMXMgMC42czsgfVxuICAgIFtkaXJlY3Rpb249J3JpZ2h0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWVudGVyIC5zY3QtU3RhdHNfQ2FyZDpudGgtY2hpbGQoMikge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC43NXM7IH1cbiAgICBbZGlyZWN0aW9uPSdyaWdodCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuOXM7IH1cbiAgICBbZGlyZWN0aW9uPSdyaWdodCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAuc2N0LVN0YXRzX0NhcmQ6bnRoLWNoaWxkKDQpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDEuMDVzOyB9XG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZVthcmlhLWN1cnJlbnQ9J2ZhbHNlJ106bm90KC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVFbnRlcik6bm90KC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVMZWF2ZSkgLnNjdC1TdGF0c19DYXJkIHtcbiAgICBkaXNwbGF5OiBoaWRkZW47IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkIHN0YXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZFN0YXQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIGZvbnQtc2l6ZTogNTJweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDQ4cHg7IH1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZFRleHQge1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZEFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiBAcmlnaHQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogQGhlaWdodDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDMxNjNiO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzOyB9XG4gIC5zY3QtU3RhdHNfQ2FyZDpob3ZlciAuc2N0LVN0YXRzX0NhcmRBcnJvdyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAzMTYzYjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19DYXJkQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2VzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZy00MDQge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA5MjBweDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL3N0YXRpYy9zaXRlL2J1aWxkL2ltZy80MDQuanBnXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZy00MDRfQ29udGVudCB7XG4gIC8qIEFkZCAzMHB4IHRvIHRoZSBjb250YWluZXIgYXMgdGhlICdjb250YWluZXInIHNob3VsZCBiZSB0aGUgc2l6ZSBvZiB0aGVcbiAgLyogY29udGVudCBub3QgdGhlIGFjdHVhbCBkaXZcbiAgLyogLS0tLS0tLS0tLS0tLSAqL1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjgwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X1RpdGxlIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xuICBmb250LXNpemU6IDQycHg7XG4gIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDQgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X1RleHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDY3cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIGZvbnQtZmFtaWx5OiBcIm15cmlhZC1wcm9cIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBcIkhlbHZldGljYVwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBjb2xvcjogI2ZmZjsgfVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDQgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZy00MDRfQWN0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogQHBhZGRpbmctdG9wO1xuICBwYWRkaW5nLWxlZnQ6IEBwYWRkaW5nLXJpZ2h0O1xuICBmb250LWZhbWlseTogXCJteXJpYWQtcHJvXCIsIFwiSGVsdmV0aWNhIE5ldWVcIiwgXCJIZWx2ZXRpY2FcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgYm9yZGVyOiAycHggc29saWQgIzM5YzVmZjtcbiAgYm9yZGVyLXJhZGl1czogM3B4O1xuICBjb2xvcjogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAucGctNDA0X0FjdGlvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzM5YzVmZjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MXB4KSB7XG4gICAgLnBnLTQwNF9BY3Rpb24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDI4MHB4OyB9XG4gICAgICAucGctNDA0X0FjdGlvbiArIC5wZy00MDRfQWN0aW9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7IH0gfVxuIiwiLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sb3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4kQ29sb3JzOiAoXG4gIHZlcnlEYXJrOiAjMTkxZDI1LFxuICBkYXJrOiAjMjMyODMzLFxuICB2ZXJ5RGFya0JsdWU6ICMwMzE2M2IsXG4gIGRhcmtCbHVlOiAjMGEyZTQwLFxuICBibHVlOiAjMDA1NzhhLFxuICBsaWdodEJsdWU6ICMzOWM1ZmYsXG4gIHRlYWw6ICMwM2EzYjYsXG4gIGdyZXk6ICNjZWQ1ZDksXG4gIGxpZ2h0R3JleTogI2Q4ZDhkOCxcbiAgdmVyeUxpZ2h0R3JleTogI2Y3ZjhmYVxuKTtcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gRmFtaWxpZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbiRGb250X015cmlhZDogJ215cmlhZC1wcm8nLCAnSGVsdmV0aWNhIE5ldWUnLCAnSGVsdmV0aWNhJywgc2Fucy1zZXJpZjtcbiRGb250X01pbmlvbjogJ21pbmlvbi1wcm8nLCBzZXJpZjtcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb250IC0gU2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuLyoqXG4gKiBNb2JpbGVcbiAqL1xuJEZvbnRfU2l6ZXM6IChcbiAgbGFyZ2U6IDIwcHgsXG4gIG1lZGl1bTogMThweCxcbiAgc21hbGw6IDE2cHgsXG4gIGJvZHk6IDE2cHhcbik7XG5cbi8qKlxuICogRGVza3RvcFxuICovXG4kRm9udF9TaXplcy0tbGc6IChcbiAgbGFyZ2U6IDI0cHgsXG4gIG1lZGl1bTogMjBweCxcbiAgc21hbGw6IDE4cHgsXG4gIGJvZHk6IDE4cHhcbik7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGluZSBoZWlnaHRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbiRMaW5lSGVpZ2h0X0FkZGl0aW9uOiA4cHg7XG5cbi8qKlxuICogTW9iaWxlXG4gKi9cbiRMaW5lSGVpZ2h0czogKFxuICBsYXJnZTogbWFwLWdldCgkRm9udF9TaXplcywgbGFyZ2UpICsgJExpbmVIZWlnaHRfQWRkaXRpb24sXG4gIG1lZGl1bTogbWFwLWdldCgkRm9udF9TaXplcywgbWVkaXVtKSArICRMaW5lSGVpZ2h0X0FkZGl0aW9uLFxuICBzbWFsbDogbWFwLWdldCgkRm9udF9TaXplcywgc21hbGwpICsgJExpbmVIZWlnaHRfQWRkaXRpb24sXG4gIGJvZHk6IG1hcC1nZXQoJEZvbnRfU2l6ZXMsIGJvZHkpICsgJExpbmVIZWlnaHRfQWRkaXRpb25cbik7XG5cbi8qKlxuICogRGVza3RvcFxuICovXG4kTGluZUhlaWdodHMtLWxnOiAoXG4gIGxhcmdlOiBtYXAtZ2V0KCRGb250X1NpemVzLS1sZywgbGFyZ2UpICsgJExpbmVIZWlnaHRfQWRkaXRpb24sXG4gIG1lZGl1bTogbWFwLWdldCgkRm9udF9TaXplcy0tbGcsIG1lZGl1bSkgKyAxMHB4LFxuICBzbWFsbDogbWFwLWdldCgkRm9udF9TaXplcy0tbGcsIHNtYWxsKSArICRMaW5lSGVpZ2h0X0FkZGl0aW9uLFxuICBib2R5OiBtYXAtZ2V0KCRGb250X1NpemVzLS1sZywgYm9keSkgKyAkTGluZUhlaWdodF9BZGRpdGlvblxuKTtcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNZWRpYSBxdWVyaWVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbiRNZWRpYV9SYW5nZXM6IChcbiAgeHM6ICgwLCA0ODBweCksXG4gIHNtOiAoNDgxcHgsIDc2OHB4KSxcbiAgbWQ6ICg3NjlweCwgMTAyNHB4KSxcbiAgbGc6ICgxMDI1cHgsIDE0NDBweCksXG4gIHhsZzogKDE0NDFweCwgMTkyMHB4KSxcbiAgeHhsZzogKDE5MjFweCwgOTk5OTk5cHgpXG4pO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuJEdyaWQ6IChcbiAgY29uc3RyYWluZWQ6IDE2MDBweCxcbiAgY29udGFpbmVyOiAxMjQwcHgsXG4gIGd1dHRlcjogNDBweFxuKTtcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBNaXNjXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbiRNaXNjOiAoXG4gIGJkcnM6IDNweFxuKTtcbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgY29udGFpbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBmdW5jdGlvbiBjb250YWlucygkbGlzdCwgJGl0ZW0pIHtcbiAgQGlmIGluZGV4KCRsaXN0LCAkaXRlbSkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfSBAZWxzZSB7XG4gICAgQHJldHVybiBmYWxzZTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJhbmdlIGJvdW5kc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG4vKipcbiAqIExvd2VyIGJvdW5kIG9mIGEgcmFuZ2VcbiAqL1xuQGZ1bmN0aW9uIGxvd2VyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPD0gMCB7XG4gICAgQHJldHVybiAwO1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMSk7XG59XG5cbi8qKlxuICogVXBwZXIgYm91bmQgb2YgYSByYW5nZVxuICovXG5AZnVuY3Rpb24gdXBwZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8IDIge1xuICAgIEByZXR1cm4gOTk5OTk5OTk5OTk5O1xuICB9XG4gIEByZXR1cm4gbnRoKCRyYW5nZSwgMik7XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICdmdW5jdGlvbnMnO1xuXG4vKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuJE1lZGlhX1JhbmdlczogKFxuICB4czogKDAsIDQ4MHB4KSxcbiAgc206ICg0ODFweCwgNzY4cHgpLFxuICBtZDogKDc2OXB4LCAxMDI0cHgpLFxuICBsZzogKDEwMjVweCwgMTQ0MHB4KSxcbiAgeGxnOiAoMTQ0MXB4LCAxOTIwcHgpLFxuICB4eGxnOiAoMTkyMXB4LCA5OTk5OTlweClcbikgIWRlZmF1bHQ7XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG5cbi8vIFRoZSBzaXplcyB0aGUgbWVkaWEgcXVlcmllcyBtaXhpbiBjYW4gYWNjZXB0XG4kU0laRVM6ICgneHMnLCAnc20nLCAnbWQnLCAnbGcnLCAneGxnJywgJ3h4bGcnLCAneHMtb25seScsICdzbS1vbmx5JywgJ21kLW9ubHknLCAnbGctb25seScsICd4bGctb25seScsICd4eGxnLW9ubHknKSAhZGVmYXVsdDtcblxuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbkBtaXhpbiBNUSgkc2l6ZSkge1xuICBAaWYgY29udGFpbnMoJFNJWkVTLCAkc2l6ZSkge1xuICAgIEBpZiAkc2l6ZSA9PSAneHMtb25seScge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgeHMpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAnc20tb25seScge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1Jhbmdlcywgc20pKX0pIGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1Jhbmdlcywgc20pKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAnbWQtb25seScge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgbWQpKX0pIGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgbWQpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAnbGctb25seScge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgbGcpKX0pIGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgbGcpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAneGxnLW9ubHknIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3tsb3dlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIHhsZykpfSkgYW5kIChtYXgtd2lkdGg6ICN7dXBwZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCB4bGcpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAneHhsZy1vbmx5JyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCB4eGxnKSl9KSBhbmQgKG1heC13aWR0aDogI3t1cHBlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIHh4bGcpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXF1YWwgdG8gYW5kIGdyZWF0ZXIgdGhhblxuICAgIEBlbHNlIGlmICRzaXplID09ICd4cycge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgeHMpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAnc20nIHtcbiAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogI3tsb3dlci1ib3VuZChtYXAtZ2V0KCRNZWRpYV9SYW5nZXMsIHNtKSl9KSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJ21kJyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCBtZCkpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmICRzaXplID09ICdsZycge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgbGcpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAneGxnJyB7XG4gICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICN7bG93ZXItYm91bmQobWFwLWdldCgkTWVkaWFfUmFuZ2VzLCB4bGcpKX0pIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAneHhsZycge1xuICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAje2xvd2VyLWJvdW5kKG1hcC1nZXQoJE1lZGlhX1JhbmdlcywgeHhsZykpfSkge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnQXJndW1lbnQgbXVzdCBiZSBhbnkgb2Y6ICN7JFNJWkVTfSc7XG4gIH1cbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIkBpbXBvcnQgJ21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzaXppbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBtaXhpbiBGb250X1NpemluZygkc2l6ZSkge1xuICBAaWYgbWFwLWhhcy1rZXkoJEZvbnRfU2l6ZXMsICRzaXplKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkRm9udF9TaXplcywgJHNpemUpIC8gMjtcblxuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkRm9udF9TaXplcywgJHNpemUpO1xuICAgIGxldHRlci1zcGFjaW5nOiAxMCAqIG1hcC1nZXQoJEZvbnRfU2l6ZXMsICRzaXplKSAvIDEwMDA7XG4gICAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJExpbmVIZWlnaHRzLCAkc2l6ZSk7XG5cbiAgICBAaW5jbHVkZSBNUSgnbGcnKSB7XG4gICAgICBmb250LXNpemU6IG1hcC1nZXQoJEZvbnRfU2l6ZXMtLWxnLCAkc2l6ZSk7XG4gICAgICBsaW5lLWhlaWdodDogbWFwLWdldCgkTGluZUhlaWdodHMtLWxnLCAkc2l6ZSk7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRm9udCBzbW9vdGhpbmdcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBtaXhpbiBGb250X1Ntb290aGluZygkdmFsdWU6IGFudGlhbGlhc2VkKSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gIEBpZiAkdmFsdWUgPT0gYW50aWFsaWFzZWQge1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiAgfSBAZWxzZSB7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogc3VicGl4ZWwtYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGF1dG87XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvcm0gaW5wdXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5AbWl4aW4gRm9ybV9JbnB1dHMoJGV4dHJhOiBmYWxzZSkge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZSBzZWxlY3Rvci1uby10eXBlICovXG4gIGlucHV0W3R5cGU9J3RleHQnXSxcbiAgaW5wdXRbdHlwZT0ncGFzc3dvcmQnXSxcbiAgaW5wdXRbdHlwZT0nZGF0ZSddLFxuICBpbnB1dFt0eXBlPSdkYXRldGltZSddLFxuICBpbnB1dFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICBpbnB1dFt0eXBlPSdtb250aCddLFxuICBpbnB1dFt0eXBlPSd3ZWVrJ10sXG4gIGlucHV0W3R5cGU9J2VtYWlsJ10sXG4gIGlucHV0W3R5cGU9J251bWJlciddLFxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSxcbiAgaW5wdXRbdHlwZT0ndGVsJ10sXG4gIGlucHV0W3R5cGU9J3RpbWUnXSxcbiAgaW5wdXRbdHlwZT0ndXJsJ10ge1xuICAgIEBjb250ZW50O1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICBAaWYgJGV4dHJhIHtcbiAgICBAZWFjaCAkZWwgaW4gJGV4dHJhIHtcbiAgICAgICN7JGVsfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEdyaWRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbkBtaXhpbiBDb250YWluZXIoJGNvbGxhcHNlZDogZmFsc2UpIHtcbiAgLyogQWRkIDMwcHggdG8gdGhlIGNvbnRhaW5lciBhcyB0aGUgJ2NvbnRhaW5lcicgc2hvdWxkIGJlIHRoZSBzaXplIG9mIHRoZVxuICAvKiBjb250ZW50IG5vdCB0aGUgYWN0dWFsIGRpdlxuICAvKiAtLS0tLS0tLS0tLS0tICovXG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtd2lkdGg6IGlmKCRjb2xsYXBzZWQsIG1hcC1nZXQoJEdyaWQsIGNvbnRhaW5lciksIG1hcC1nZXQoJEdyaWQsIGNvbnRhaW5lcikgKyBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpKTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbiAgQGlmICRjb2xsYXBzZWQgPT0gJ3JpZ2h0JyB7XG4gICAgcGFkZGluZy1sZWZ0OiAje21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgfSBAZWxzZSBpZiAkY29sbGFwc2VkID09ICdsZWZ0JyB7XG4gICAgcGFkZGluZy1yaWdodDogI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMn07XG4gIH0gQGVsc2UgaWYgJGNvbGxhcHNlZCA9PSBmYWxzZSB7XG4gICAgcGFkZGluZy1yaWdodDogI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMn07XG4gICAgcGFkZGluZy1sZWZ0OiAje21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbkBtaXhpbiBNYWluQW5kQXNpZGVTdXJyb3VuZCgpIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgQGluY2x1ZGUgTVEoJ21kJykge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBtYXJnaW4tcmlnaHQ6IC0je21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICB9XG59XG5cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQb3NpdGlvbmluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1peGluIEFic29sdXRlU3ByZWFkKCkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCdXR0b25zIC0gUHJpbWFyeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1peGluIEJ1dHRvbigpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLXRvcDogN3B4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXdlaWdodDogNjAwO1xuXG4gIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBHcmFkaWVudHMgLSBSYWRpYWwgYmx1ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuQG1peGluIEdyYWRpZW50LVJhZGlhbEJsdWUoKSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJhZGlhbC1ncmFkaWVudChlbGxpcHNlIGF0IGNlbnRlciAzMCUsICMwMDU0OTYgMCUsICMwOTI0NTYgMTAwJSk7XG59XG4iLCIvKiBzdHlsZWxpbnQtZGlzYWJsZSAqL1xuQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuQGltcG9ydCAnbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVkZWZpbmVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBHbG9iYWwgcmVzZXRzIHRvIG1ha2UgbGlmZSBlYXNpZXJcbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm94IHNpemluZ1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBWaWV3cG9ydHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuQGF0LXJvb3Qge1xuICBALW1vei12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxuICBALW1zLXZpZXdwb3J0IHtcbiAgICB3aWR0aDogZGV2aWNlLXdpZHRoO1xuICB9XG4gIEAtby12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxuICBALXdlYmtpdC12aWV3cG9ydCB7XG4gICAgd2lkdGg6IGRldmljZS13aWR0aDtcbiAgfVxuICBAdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIVE1ML0JvZHkgcmVzZXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5odG1sIHtcbiAgLy8gU2V0cyBhIHNwZWNpZmljIGRlZmF1bHQgYGZvbnQtc2l6ZWAgZm9yIHVzZXIgd2l0aCBgcmVtYCB0eXBlIHNjYWxlcy5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRGb250X1NpemVzLCBib2R5KTtcbiAgLy8gQ2hhbmdlcyB0aGUgZGVmYXVsdCB0YXAgaGlnaGxpZ2h0IHRvIGJlIGNvbXBsZXRlbHkgdHJhbnNwYXJlbnQgaW4gaU9TLlxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmJvZHkge1xuICBAaW5jbHVkZSBGb250X1Ntb290aGluZygpO1xuXG4gIC8qIFRoaXMgbmVlZHMgZXNjYXBpbmcgc28gaXQgZG9lc24ndCBkb3VibGUgc3RyaW5nICovXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NaW5pb247XG4gIC8vIE1ha2UgdGhlIGBib2R5YCB1c2UgdGhlIGBmb250LXNpemUtcm9vdGBcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRGb250X1NpemVzLCBib2R5KTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IG1hcC1nZXQoJExpbmVIZWlnaHRzLCBib2R5KTtcbiAgLy8gR28gZWFzeSBvbiB0aGUgZXllcyBhbmQgdXNlIHNvbWV0aGluZyBvdGhlciB0aGFuIGAjMDAwYCBmb3IgdGV4dFxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrKTtcbiAgLy8gQnkgZGVmYXVsdCwgYDxib2R5PmAgaGFzIG5vIGBiYWNrZ3JvdW5kLWNvbG9yYCBzbyB3ZSBzZXQgb25lIGFzIGEgYmVzdCBwcmFjdGljZS5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkRm9udF9TaXplcy0tbGcsIGJvZHkpO1xuICAgIGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRMaW5lSGVpZ2h0cy0tbGcsIGJvZHkpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVHlwb2dyYXBoeVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG4vKipcbiAqIEhlYWRpbmdzXG4gKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKipcbiAqIEJvZHlcbiAqL1xuYm9keSB7IEBpbmNsdWRlIEZvbnRfU2l6aW5nKCdub3JtYWwnKSB9XG5cbi8qKlxuICogUGFyYWdyYXBoXG4gKi9cbnAge1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKipcbiAqIEFuY2hvcnNcbiAqL1xuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBwdXJwbGUpO1xufVxuXG4vKipcbiAqIENvZGVcbiAqL1xucHJlIHtcbiAgbWF4LWhlaWdodDogNDUwcHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSW1hZ2VzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUZXh0IHNlbGVjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuXG46OnNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6IG1hcC1nZXQoJENvbG9ycywgYmx1ZSk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE91dGxpbmVzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbioge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJ1dHRvbnNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cblxuYnV0dG9uIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQmxvY2txdW90ZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMDtcbn1cbi8qIHN0eWxlbGludC1lbmFibGUgKi9cbiIsIi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTWFyZ2luc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgKi9cbi51LW1iLTEwIHsgbWFyZ2luLWJvdHRvbTogMTBweCAhaW1wb3J0YW50OyB9XG4udS1tYi0zMCB7IG1hcmdpbi1ib3R0b206IDMwcHggIWltcG9ydGFudDsgfVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qIHN0eWxlbGludC1kaXNhYmxlICovXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEZvbnQgc2l6ZXNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbiRmb250Q2xhc3NlczogKCdsYXJnZScsICdtZWRpdW0nLCAnc21hbGwnKTtcblxuQGVhY2ggJGNsYXNzIGluICRmb250Q2xhc3NlcyB7XG4gIC5mei0jeyRjbGFzc30ge1xuICAgIEBpbmNsdWRlIEZvbnRfU2l6aW5nKCRjbGFzcyk7XG4gIH1cbn1cblxuLmZ6LXhsYXJnZSB7XG4gIGZvbnQtc2l6ZTogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDM4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVhZGluZ3NcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbmgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDFlbTtcbn1cblxuaDMsIGg0LCBoNSwgaDYge1xuICBmb250LWZhbWlseTogJEZvbnRfTWluaW9uO1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhcmFncmFwaHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbnAge1xuICBsZXR0ZXItc3BhY2luZzogMC4wMDFlbTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBbmNob3JzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5hIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuXG4gIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpLCAwLjcpO1xuICB9XG59XG4vKiBzdHlsZWxpbnQtZW5hYmxlICovXG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLUNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIC5oZC1PdXRlciArICYsXG4gIC5iZGMtT3V0ZXIgKyAmIHtcbiAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNjBweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBDb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLVNpdGVfQ29udGFpbmVyIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICBtYXgtd2lkdGg6IG1hcC1nZXQoJEdyaWQsIGNvbnN0cmFpbmVkKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNpdGUgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubC1TaXRlX0NvbnRlbnQge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICBtaW4taGVpZ2h0OiA0NTBweDtcbiAgcGFkZGluZy10b3A6IDY4cHg7XG4gIHBhZGRpbmctYm90dG9tOiA2MHB4O1xufVxuXG4ubC1TaXRlX1NlY3Rpb25Db250ZW50IHtcbiAgbWFyZ2luLWJvdHRvbTogODBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTaXRlIC0gTWFpblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmwtU2l0ZV9NYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGZsZXg6IDE7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcblxuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gICAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgICBtYXgtd2lkdGg6ICN7J0B3aWR0aCd9O1xuICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg4LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgfVxuXG4gICYubC1TaXRlX01haW4tQ2VudGVyZWQge1xuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIH1cbiAgfVxufVxuXG4ubC1TaXRlX01haW5fU2VwZXJhdG9yIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NlZDVkOTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTaXRlIC0gQXNpZGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sLVNpdGVfQXNpZGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZmxleDogMTtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuXG4gICAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIG1heC13aWR0aDogI3snQHdpZHRoJ307XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcblxuICAgIG1heC13aWR0aDogI3snQHdpZHRoJ307XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDQvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbiRUb3BTdHJpcF9IZWlnaHQ6IDYwcHg7XG4kVG9wU3RyaXBfSGVpZ2h0LS1sZzogNzJweDtcbiRTdHJpcF9IZWlnaHQ6IDExNHB4O1xuJFN0cmlwX05hdkl0ZW1TcGFjaW5nOiAxNHB4O1xuXG4kU3RyaXBfTmF2RHJvcGRvd25Ub3A6IDE1MCU7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgSGVhZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgVGhlIGdsb2JhbCBzaXRlIGhlYWRlciB0aGF0IGFwcGVhcnMgYXQgdGhlIHRvcCBvZiBldmVyeSBwYWdlXG58IEBwcmVmaXg6IGhkLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBIZWFkZXIgLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLU91dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVG9wIFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgVGhpcyBhY3R1YWxseSBpcyBpbmNsdWRlZCBmcm9tIGFuIGV4dGVybmFsIHNvdXJjZSBzbyBqdXN0IGFkZCBhIGZld1xufCBwbGFjZWhvbGRlciBzdHlsZXNcbnxcbiovXG4uaGQtVG9wU3RyaXAge1xuICBoZWlnaHQ6ICRUb3BTdHJpcF9IZWlnaHQ7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMThweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGhlaWdodDogJFRvcFN0cmlwX0hlaWdodC0tbGc7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXAgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVRvcFN0cmlwX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgZGlzcGxheTogZmxleDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXAgLSBMb2dvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtVG9wU3RyaXBfTG9nbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGhlaWdodCgndW9jLWxvZ28ucG5nJyk7XG4gIG1hcmdpbi10b3A6IDExcHg7XG4gIG1hcmdpbi1ib3R0b206ICN7J0BtYXJnaW4tdG9wJ307XG4gIHdpZHRoOiB3aWR0aCgndW9jLWxvZ28ucG5nJyk7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZSgndW9jLWxvZ28ucG5nJyk7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBtYXJnaW4tdG9wOiAxN3B4O1xuICAgIG1hcmdpbi1ib3R0b206ICN7J0BtYXJnaW4tdG9wJ307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUb3AgU3RyaXAgLSBOYXZcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1Ub3BTdHJpcF9OYXYge1xuICBkaXNwbGF5OiBub25lO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRvcCBTdHJpcCAgLSBOYXYgaXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVRvcFN0cmlwX05hdkl0ZW0ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDI3cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzJlMmUyZTtcbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjMmUyZTJlO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcCB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogJFN0cmlwX0hlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBUcmlnZ2VyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2VHJpZ2dlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvLyBBbGlnbiB0aGUgc2VhcmNoIGJ1dHRvbiB3aXRoIHRoZSByZXN0IG9mIHRoZSBuYXZcbiAgbWFyZ2luLXRvcDogNDJweDtcbiAgbWFyZ2luLWJvdHRvbTogI3snQG1hcmdpbi10b3AnfTtcbiAgcGFkZGluZy10b3A6IDdweDtcbiAgcGFkZGluZy1yaWdodDogN3B4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBmb250LXNpemU6IDEycHg7XG5cbiAgYm9yZGVyOiAycHggc29saWQgIzNiNTg2NjtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgYm9yZGVyIDAuM3MsIGNvbG9yIDAuM3M7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIC8vIEFsaWduIHRoZSBzZWFyY2ggYnV0dG9uIHdpdGggdGhlIHJlc3Qgb2YgdGhlIG5hdlxuICAgIG1hcmdpbi10b3A6IDQ5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxuXG4gIC8vIE5vIGhvdmVyIHN0YXRlIGZvciB0aGlzIGFzIGl0J3Mgb25seSBtb2JpbGUgYmFzZWQuIFRoZSBob3ZlciBzdGF0ZSBwZXJzaXN0c1xuICAvLyBldmVuIGlmIGl0J3MgdG91Y2hlZCBhIDJuZCB0aW1lIHNvIGp1c3QgZG9uJ3Qgc3R5bGUgYW55dGhpbmcgYmFzZWQgb24gaXRcbiAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBUcmlnZ2VyIExpbmVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDJweDtcbiAgd2lkdGg6IDEycHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG5cbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzO1xuXG4gIC5oZC1TdHJpcF9OYXZUcmlnZ2VyW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICB9XG5cbiAgLyoqXG4gICogVG9wIExpbmVcbiAgKi9cbiAgJi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Ub3Age1xuICAgIG1hcmdpbi1ib3R0b206IGF1dG87XG4gIH1cblxuICAvKipcbiAgKiBNaWRkbGUgTGluZVxuICAqL1xuICAmLmhkLVN0cmlwX05hdlRyaWdnZXJMaW5lLU1pZGRsZSB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICogQm90dG9tIExpbmVcbiAgKi9cbiAgJi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Cb3R0b20ge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gIH1cblxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gJi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Ub3Age1xuICAgIGFuaW1hdGlvbjogTmF2VHJpZ2dlckxpbmUtVG9wLUFuaW0gMC4zNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cblxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gJi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1NaWRkbGUge1xuICAgIGFuaW1hdGlvbjogTmF2VHJpZ2dlckxpbmUtTWlkZGxlLUFuaW0gMC4zNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cblxuICAuaGQtU3RyaXBfTmF2VHJpZ2dlclthcmlhLXNlbGVjdGVkPSd0cnVlJ10gJi5oZC1TdHJpcF9OYXZUcmlnZ2VyTGluZS1Cb3R0b20ge1xuICAgIGFuaW1hdGlvbjogTmF2VHJpZ2dlckxpbmUtQm90dG9tLUFuaW0gMC4zNXM7XG4gICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBOYXZUcmlnZ2VyTGluZS1Ub3AtQW5pbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDVweCkgcm90YXRlKDQ1ZGVnKSBzY2FsZSgxLjMpO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgTmF2VHJpZ2dlckxpbmUtTWlkZGxlLUFuaW0ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDUwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbn1cblxuQGtleWZyYW1lcyBOYXZUcmlnZ2VyTGluZS1Cb3R0b20tQW5pbSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICA1MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KTtcbiAgfVxuXG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNXB4KSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgxLjMpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBMb2dvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTG9nbyB7XG4gICRMb2dvX0hlaWdodDogNDBweDtcbiAgJExvZ29fV2lkdGg6IDE3OXB4O1xuICAkTG9nb19IZWlnaHQtLWxnOiA1MHB4O1xuICAkTG9nb19XaWR0aC0tbGc6IDIyMHB4O1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6ICRTdHJpcF9IZWlnaHQ7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgLy8gR2l2ZSBpdCBhIGxhcmdlciBjbGlja2FibGUgYXJlYVxuICBwYWRkaW5nLXRvcDogKCRTdHJpcF9IZWlnaHQgLSAkTG9nb19IZWlnaHQpIC8gMjtcbiAgcGFkZGluZy1ib3R0b206ICgkU3RyaXBfSGVpZ2h0IC0gJExvZ29fSGVpZ2h0KSAvIDI7XG4gIHdpZHRoOiAkTG9nb19XaWR0aDtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKCdzdmdzL2NzYXAtbG9nby5zdmcnKTtcbiAgLy8gQ2VudGVyIGl0IHZlcnRpY2FsbHkgYmVjYXVzZSBvZiB0aGUgbGFyZ2UgaGVpZ2h0XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGxlZnQgMCB0b3AgKCRTdHJpcF9IZWlnaHQgLSAkTG9nb19IZWlnaHQpIC8gMjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkTG9nb19XaWR0aCAkTG9nb19IZWlnaHQ7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgICBwYWRkaW5nLXRvcDogKCRTdHJpcF9IZWlnaHQgLSAkTG9nb19IZWlnaHQtLWxnKSAvIDI7XG4gICAgcGFkZGluZy1ib3R0b206ICgkU3RyaXBfSGVpZ2h0IC0gJExvZ29fSGVpZ2h0LS1sZykgLyAyO1xuICAgIHdpZHRoOiAkTG9nb19XaWR0aC0tbGc7XG5cbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBsZWZ0IDAgdG9wICgkU3RyaXBfSGVpZ2h0IC0gJExvZ29fSGVpZ2h0LS1sZykgLyAyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJExvZ29fV2lkdGgtLWxnICRMb2dvX0hlaWdodC0tbGc7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAkVG9wU3RyaXBfSGVpZ2h0ICsgJFN0cmlwX0hlaWdodDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAwO1xuXG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB3aWR0aDogMjMwcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICAvLyBQU0Qgc2F5cyA1MDAgYnV0IHRoaXMgbG9va3MgbW9yZSBhY2N1cmF0ZVxuICBmb250LXdlaWdodDogNjAwO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBvdmVyZmxvdy14OiBzY3JvbGw7XG4gIG92ZXJmbG93LXk6IHZpc2libGU7XG5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcztcblxuICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIH1cblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIC8vIFRoaXMgaXMgZGVyaXZlZCBmcm9tIHRoZSBsaW5lLWhlaWdodFxuICAgICRBY3Rpb25fSGVpZ2h0OiAyNHB4O1xuICAgICRBY3Rpb25fUGFkZGluZ1ZlcnQ6IDZweDtcbiAgICAkQWN0aW9uX1NwYWNpbmdDYWxjOiAoJFN0cmlwX0hlaWdodCAtICgkQWN0aW9uX0hlaWdodCArICgkQWN0aW9uX1BhZGRpbmdWZXJ0ICogMikpKSAvIDI7XG5cbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgLy8gUm91Z2hseSBhbGlnbiB0aGUgYm90dG9tIG9mIHRoZSBOYXYgd2l0aCB0aGUgYm90dG9tIG9mIHRoZSBsb2dvXG4gICAgcGFkZGluZy10b3A6ICRBY3Rpb25fU3BhY2luZ0NhbGMgKyA3cHg7XG4gICAgcGFkZGluZy1ib3R0b206ICRBY3Rpb25fU3BhY2luZ0NhbGMgLSA3cHg7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuICAgIG92ZXJmbG93LXg6IHZpc2libGU7XG5cbiAgICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZJdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgLy8gUmVtb3ZlIDRweCBhbmQgZ2l2ZSBpdCB0byB0aGUgYWN0aW9uIHNvIHRoZXJlIGlzIGEgc2xpZ2h0bHkgYmlnZ2VyIGNsaWNrXG4gICAgLy8gYXJlYVxuICAgIG1hcmdpbi1yaWdodDogJFN0cmlwX05hdkl0ZW1TcGFjaW5nIC0gNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZBY3Rpb24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgLy8gLTFweCBmb3IgdGhlIGJvcmRlclxuICBwYWRkaW5nLWJvdHRvbTogMTNweCAtIDFweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC5mYSB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIC8vIFRoaXMgaXMgZGVyaXZlZCBmcm9tIHRoZSBsaW5lLWhlaWdodFxuICAgICRBY3Rpb25fSGVpZ2h0OiAyNHB4O1xuICAgICRBY3Rpb25fUGFkZGluZ1ZlcnQ6IDZweDtcbiAgICAkQWN0aW9uX01hcmdpbkNhbGM6ICgkU3RyaXBfSGVpZ2h0IC0gKCRBY3Rpb25fSGVpZ2h0ICsgKCRBY3Rpb25fUGFkZGluZ1ZlcnQgKiAyKSkpIC8gMjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmctdG9wOiAkQWN0aW9uX1BhZGRpbmdWZXJ0O1xuICAgIC8vIEFkZCB0aGUgNHB4IHdlIHJlbW92ZSBmcm9tIHRoZSBJdGVtXG4gICAgcGFkZGluZy1yaWdodDogNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3M7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgIH1cblxuICAgIC5mYSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IERyb3Bkb3duXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfTmF2RHJvcGRvd24ge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAyO1xuXG4gIHdpZHRoOiAyMzBweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yMzBweCk7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdHJhbnNmb3JtIDAuM3MsIHZpc2liaWxpdHkgMC4zcztcblxuICAmW2FyaWEtaGlkZGVuPSdmYWxzZSddIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIH1cblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRTdHJpcF9OYXZEcm9wZG93blRvcDtcbiAgICBib3R0b206IGF1dG87XG5cbiAgICB3aWR0aDogMjIwcHg7XG5cbiAgICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IDAgcmdiYSgwLCAwLCAwLCAwLjQpO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB9XG5cbiAgLyoqXG4gICogUHJvdmlkZSBhbiBpbnZpc2libGUgYmxvY2sgdGhhdCBhbGxvd3MgZm9yIG1vcmUgZmxleGlibGUgbW91c2UgbW92ZW1lbnRcbiAgKiB3aGVuIHRoZSB1c2VyIG1vdmVzIGZyb20gdGhlIGhvdmVyZWQgTmF2SXRlbSB0byB0aGUgTmF2RHJvcGRvd25cbiAgKi9cbiAgJjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0yMHB4O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICAuaGQtU3RyaXBfTmF2SXRlbTpudGgtbGFzdC1jaGlsZChuLTIpICYge1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIC8qIHN0eWxlbGludC1lbmFibGUgKi9cblxuICAuaGQtU3RyaXBfTmF2SXRlbTpob3ZlciA+ICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gTmF2IERyb3Bkb3duIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX05hdkRyb3Bkb3duQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxM3B4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgLy8gLTFweCBmb3IgdGhlIGJvcmRlclxuICBwYWRkaW5nLWJvdHRvbTogMTNweCAtIDFweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDFkMWQxO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIC8qKlxuICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIHRoZSBkcm9wZG93bidzIGxhc3QgaXRlbSdzIGFjdGlvblxuICAqL1xuICAuaGQtU3RyaXBfTmF2RHJvcGRvd25JdGVtOmxhc3QtY2hpbGQgJiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxuXG4gIC8qKlxuICAqIEhpZGUgdGhlIGZpcnN0IDIgaXRlbXMgb24gZGVza3RvcCwgdGhleSBhcmUgcHVyZWx5IGZvciBtb2JpbGUgbmF2aWdhdGlvblxuICAqL1xuICAuaGQtU3RyaXBfTmF2RHJvcGRvd25JdGVtOmZpcnN0LWNoaWxkICYge1xuICAgIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC5mYS1hcnJvdy1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIE5hdiBCdXR0b25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5oZC1TdHJpcF9OYXZCdXR0b24ge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgcGFkZGluZy10b3A6IDFweDtcbiAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxM3B4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAycHggc29saWQgIzNiNTg2NjtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGJvcmRlciAwLjNzLCBjb2xvciAwLjNzO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAkU3RyaXBfTmF2SXRlbVNwYWNpbmc7XG4gICAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAvLyBBbGlnbiB0aGUgc2VhcmNoIGJ1dHRvbiB3aXRoIHRoZSByZXN0IG9mIHRoZSBuYXZcbiAgbWFyZ2luLXRvcDogNDJweDtcbiAgbWFyZ2luLWJvdHRvbTogI3snQG1hcmdpbi10b3AnfTtcbiAgbWluLXdpZHRoOiAyOHB4O1xuICBwYWRkaW5nLXRvcDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiA3cHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICBib3JkZXI6IDJweCBzb2xpZCAjM2I1ODY2O1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBib3JkZXIgMC4zcywgY29sb3IgMC4zcztcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIC8vIEFsaWduIHRoZSBzZWFyY2ggYnV0dG9uIHdpdGggdGhlIHJlc3Qgb2YgdGhlIG5hdlxuICAgIG1hcmdpbi10b3A6IDQ5cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgfVxuXG4gICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICB6LWluZGV4OiAyO1xuICB9XG5cbiAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10sXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaCBGb3JtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uaGQtU3RyaXBfU2VhcmNoRm9ybSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkU3RyaXBfTmF2RHJvcGRvd25Ub3A7XG4gIHJpZ2h0OiAwO1xuXG4gIHBhZGRpbmc6IDEwcHg7XG4gIHdpZHRoOiAzNDBweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDFkMWQxO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgYm94LXNoYWRvdzogMCAwIDhweCAwIHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcywgdmlzaWJpbGl0eSAwcztcblxuICAvLyBUT0RPOiBDb252ZXJ0IHRoaXMgdG8gYSBWdWUgYW5pbWF0aW9uIGluc3RlYWQsIGF0bSBpdCBzbmFwcyBvdXQgYmVjYXVzZVxuICAvLyBWdWUuJG5leHRUaWNrIGRvZXNuJ3Qgd29yayBiZWNhdXNlIGl0J3Mgc3RpbGwgdmlzOmggd2hlbiB0aGUgdGljaywgdGlja3NcbiAgJlthcmlhLWhpZGRlbj0nZmFsc2UnXSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU3RyaXAgLSBTZWFyY2ggSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaEl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuXG4gIGhlaWdodDogMzFweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIFNlYXJjaCBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaElucHV0IHtcbiAgZmxleDogMTtcblxuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NaW5pb247XG4gIGZvbnQtc2l6ZTogMTZweDtcblxuICBib3JkZXI6IDA7XG4gIGNvbG9yOiByZ2JhKG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpLCAwLjUpO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYShtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKSwgMC41KTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwIC0gU2VhcmNoIFN1Ym1pdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmhkLVN0cmlwX1NlYXJjaFN1Ym1pdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDE5cHg7XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBmb250LXNpemU6IDE0cHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6ICNmZmY7XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBGb290ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBUaGUgZ2xvYmFsIHNpdGUgZm9vdGVyIHRoYXQgYXBwZWFycyBhdCB0aGUgYm90dG9tIG9mIGV2ZXJ5IHBhZ2VcbnwgQHByZWZpeDogZnQtXG58XG4qL1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFN0cmlwXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtU3RyaXAge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmspO1xuICBjb2xvcjogI2ZmZjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTdHJpcCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtU3RyaXBfSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDM5cHg7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgIHBhZGRpbmctdG9wOiA1NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiA3MHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sdW1uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQ29sIHtcbiAgJEd1dHRlclNpemU6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLSA1cHg7XG5cbiAgcGFkZGluZy10b3A6ICRHdXR0ZXJTaXplO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG5cbiAgLy8gVXNlIGJvcmRlci10b3AgaW5zdGVhZCBvZiBib3JkZXItYm90dG9tIGFzIHdlIG1lc3Mgd2l0aCB0aGUgZmxleCBvcmRlciBzb1xuICAvLyB0aGUgbGFzdCBjaGlsZCBpc24ndCBuZWNlc3NhcmlseSB0aGUgbGFzdCBjaGlsZCBhbGwgdGhlIHRpbWVcblxuICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgjZWFlYWVhLCAwLjIpO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgLy8gLTVweCB0byBnZXQgUG9saWN5IEZlbGxvd3NoaXAgdG8gd3JhcCBpbiBDb2wyXG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1yaWdodDogJEd1dHRlclNpemU7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICAgIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgcmdiYSgjZWFlYWVhLCAwLjIpO1xuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBAaW5jbHVkZSBNUShsZykge1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcblxuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIENvbCAxXG4gICovXG4gICYuZnQtQ29sMSB7XG4gICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgb3JkZXI6IDE7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcblxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNCAvIDEyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBDb2wgMlxuICAqL1xuICAmLmZ0LUNvbDIge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgIG9yZGVyOiAyO1xuXG4gICAgd2lkdGg6IDUwJTtcblxuICAgIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcblxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMiAvIDEyKTtcbiAgICB9XG4gIH1cblxuICAmLmZ0LUNvbDMge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgIG9yZGVyOiA0O1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShsZykge1xuICAgICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgICBvcmRlcjogMztcblxuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoNCAvIDEyKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBDb2wgNFxuICAqL1xuICAmLmZ0LUNvbDQge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgIG9yZGVyOiAzO1xuXG4gICAgd2lkdGg6IDUwJTtcblxuICAgIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcbiAgICAgIG9yZGVyOiA0O1xuXG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgyIC8gMTIpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbHVtbiAtIEhlYWRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUNvbF9IZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkRm9udF9TaXplcy0tbGcsIG1lZGl1bSk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29sdW1uIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmZ0LUNvbF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLyogU3BlY2lhbCBjYXNlIGZvciBjb2x1bW4gMywgdGhlIHRleHQgYWJvdmUgdGhlIG5ld3NsZXR0ZXIuIFRoaXMgc2hvdWxkIGJlXG4gICBoaWRkZW4gd2hlbiB0aGUgbGF5b3V0IGlzIGNvbGxhcHNlZCBhdCA8bGcuIEdpdGh1YiAjMzcuICovXG4uZnQtQ29sM19UZXh0IHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cblxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGlzdCAtIEl0ZW0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtTGlzdF9JdGVtQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgdHJhbnNpdGlvbjogY29sb3IgMC4xOHM7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgU29jaWFsXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtTGlzdFNvY2lhbCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExpc3QgU29jaWFsIC0gSXRlbSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1MaXN0U29jaWFsX0l0ZW1BY3Rpb24ge1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG5cbiAgZGlzcGxheTogZmxleDtcblxuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBjb2xvcjogI2ZmZjtcblxuICB0cmFuc2l0aW9uOiBjb2xvciAwLjE4cztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG5cbiAgLmZhIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCb3R0b20gU3RyaXBcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAxNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCB2ZXJ5RGFyayk7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcF9Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwIC0gQ29weXJpZ2h0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZnQtQm90dG9tU3RyaXBfQ29weXJpZ2h0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDE0cHg7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDAwYTAnO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQm90dG9tIFN0cmlwIC0gT25lc3BhY2VcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5mdC1Cb3R0b21TdHJpcF9PbmVzcGFjZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGNvbG9yOiAjZmZmO1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuIiwiQGltcG9ydCAnLi4vLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTaGFyZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgbWFyZ2luLWxlZnQ6IC0je21hcC1nZXQoJEdyaWQsIGNvbnRhaW5lcikgLyAyfTtcblxuICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRDb2xvcnMsIGRhcmspO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU2hhcmUgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFyayk7XG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTaGFyZSAtIExpc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU2hhcmVfTGlzdCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXJ0aWNsZSAtIFNoYXJlIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TaGFyZV9JdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDI0cHg7XG4gIHBhZGRpbmctcmlnaHQ6ICN7J0BwYWRkaW5nLXRvcCd9O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctdG9wJ307XG5cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJENvbG9ycywgZGFyayk7XG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGJsdWUpO1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiQGltcG9ydCAnLi4vLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGFydC1cbnxcbiovXG4uYXJ0LVN0cmlwIHtcbiAgQGluY2x1ZGUgR3JhZGllbnQtUmFkaWFsQmx1ZSgpO1xuXG4gIHBhZGRpbmctdG9wOiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGNvbG9yOiAjZmZmO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgcGFkZGluZy10b3A6IDQ2cHg7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfQ29udGVudCB7XG4gIG9yZGVyOiAyO1xuXG4gIHdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuICAgIG9yZGVyOiAxO1xuXG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoNi8xMik7XG4gIH1cblxuICBAaW5jbHVkZSBNUShsZykge1xuICAgIGZsZXgtYmFzaXM6ICN7J0B3aWR0aCd9O1xuXG4gICAgbWFyZ2luLWxlZnQ6IGNhbGMoI3twZXJjZW50YWdlKDIvMTIpfSArICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9KTtcbiAgICB3aWR0aDogcGVyY2VudGFnZSg0LzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIFNob3J0IHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAycHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFydGljbGUgLSBTdHJpcCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXJ0LVN0cmlwX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBNZWRpYSBjb250YWluZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hcnQtU3RyaXBfTWVkaWFDb250YWluZXIge1xuICBmbGV4LXNocmluazogMDtcbiAgb3JkZXI6IDE7XG5cbiAgLy8gVXNlIGRpc3BsYXk6IGZsZXggdG8gc3RyaXAgdGhlIHdoaXRlc3BhY2UgYXJvdW5kIGl0XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmbGV4LWJhc2lzOiAxNzRweDtcbiAgICBvcmRlcjogMjtcblxuICAgIG1hcmdpbi1yaWdodDogcGVyY2VudGFnZSgxLzEyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IHBlcmNlbnRhZ2UoMi8xMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBcnRpY2xlIC0gU3RyaXAgLSBNZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFydC1TdHJpcF9NZWRpYSB7XG4gIGhlaWdodDogMTc0cHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCcmVhZGNydW1iXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogYmRjLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBCcmVhZGNydW1iIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5iZGMtT3V0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmspO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWIgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmJkYy1Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIHBhZGRpbmctdG9wOiAxMnB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQnJlYWRjcnVtYiAtIEl0ZW1zXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYmRjLUl0ZW1zIHtcbiAgZGlzcGxheTogZmxleDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTWluaW9uO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gIGNvbG9yOiAjZmZmO1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICB9XG59XG5cbi5iZGMtSXRlbSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEJyZWFkY3J1bWIgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5iZGMtQWN0aW9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIDVweCBlaXRoZXIgc2lkZSBvZiB0aGUgJy0nIHRoZW4gdGhlICctJyBpcyA2cHggd2lkZVxuICBtYXJnaW4tcmlnaHQ6IDVweCArIDZweCArIDVweDtcblxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJy0nO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcblxuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi8uLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlscyB7XG4gIHBhZGRpbmctdG9wOiA2LjE3JTtcbiAgcGFkZGluZy1ib3R0b206IDQuOTYlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQ29sdW1uc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmN0Yy1EZXRhaWxzX0NvbHVtbnMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQ29sdW1uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLURldGFpbHNfQ29sdW1uIHtcbiAgZmxleDogMTtcblxuICBtYXJnaW4tcmlnaHQ6ICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQmxvY2tcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19CbG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDMycHg7XG5cbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3QgLSBEZXRhaWxzIC0gQmxvY2sgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5jdGMtRGV0YWlsc19CbG9ja1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMnB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQ29udGFjdCAtIERldGFpbHMgLSBCbG9jayB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLURldGFpbHNfQmxvY2tUZXh0IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJ2RldGFpbHMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IENvbnRhY3RzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogY3RjLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBDb250YWN0cyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uY3RjLUlubmVyIHtcbiAgQGluY2x1ZGUgTWFpbkFuZEFzaWRlU3Vycm91bmQoKTtcbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkc1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkcyB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IC0yMHB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIC8vIFdoZW4gdGhlcmUgaXMgYSBzbWFsbCBjYXJkIGNvdW50IHdlIHdhbnQgdGhlIGhlaWdodCB0byBiZSB2YXJpYWJsZSBidXRcbiAgICAvLyBzb29uIGFzIHRoZXJlIG1heCBjb3VudCBnZXRzIHJlYWNoZWQgKDMpIHdlIG5lZWQgdG8gY29uc3RyYWluIHRoZSBoZWlnaHRcbiAgICAvLyBzbyBmbGV4IHdpbGwgZmxvdyBpbnRvIHRoZSAnYXNpZGUnXG5cbiAgICBtYXgtaGVpZ2h0OiA3NjBweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcblxuICAmLmV2ZS1GZWF0dXJlZF9DYXJkLVZlcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICAvL3dpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg2LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgaGVpZ2h0OiA3MjBweDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg0LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgICB9XG4gIH1cblxuICAmLmV2ZS1GZWF0dXJlZF9DYXJkLUhvcmkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuXG4gICAgICBoZWlnaHQ6IDM0MHB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoOC8xMil9IC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRNZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogI3snQGJvcmRlci10b3AtbGVmdC1yYWRpdXMnfTtcblxuICAuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSAmIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg2LzEyKX0gLSAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCAmIHtcbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgZmxleC1iYXNpczogI3snQHdpZHRoJ307XG4gICAgICBmbGV4LXNocmluazogMDtcblxuICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoNi8xMil9IC0gMjBweCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIGZsZXgtYmFzaXM6IGF1dG87XG5cbiAgICAgIHBhZGRpbmctdG9wOiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZENvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogMzZweDtcbiAgcGFkZGluZy1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgcGFkZGluZy1ib3R0b206IDMycHg7XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICAuZXZlLUZlYXR1cmVkX0NhcmQtSG9yaSAmLFxuICAuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCAmIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIH1cblxuICAuZXZlLUZlYXR1cmVkX0NhcmQtVmVydCAmIHtcbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1GZWF0dXJlZF9DYXJkU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgc2hvcnQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRTaG9ydFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBGZWF0dXJlZCAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtRmVhdHVyZWRfQ2FyZFRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gRmVhdHVyZWQgLSBDYXJkIGFycm93XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRBcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIGJvdHRvbTogI3snQHJpZ2h0J307XG5cbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6ICN7J0BoZWlnaHQnfTtcblxuICBmb250LXNpemU6IDE0cHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0R3JleSksIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKCMwMDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIEZlYXR1cmVkIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUZlYXR1cmVkX0NhcmRBcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xufVxuIiwiQGltcG9ydCAnLi4vLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi8uLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9taXhpbnMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSGVhZGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0hlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBIZWFkZXIgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0hlYWRlckFjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NaW5pb247XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuXG4gIC5mYSB7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG5cbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgZm9udC1zaXplOiAyNnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzJweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwYWRkaW5nLWJvdHRvbTogMzdweDtcblxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2NlZDVkOTtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cblxuICAubm9Cb3JkZXJPbkZpcnN0ICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW0gY29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtQ29udGVudCB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAyO1xuXG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgb3JkZXI6IDE7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW0gbWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmV2ZS1VcGNvbWluZ19JdGVtTWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIGNvbG9yOiAjOWU5ZTllO1xufVxuXG4uZXZlLVVwY29taW5nX0l0ZW1EYXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogOHB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgRXZlbnRzIC0gVXBjb21pbmcgLSBJdGVtIHRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgYSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgICB9XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIFVwY29taW5nIC0gSXRlbSB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLVVwY29taW5nX0l0ZW1UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBjb2xvcjogIzFjMmE0OTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHMgLSBVcGNvbWluZyAtIEl0ZW0gbWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ldmUtVXBjb21pbmdfSXRlbU1lZGlhIHtcbiAgb3JkZXI6IDE7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgb3JkZXI6IDI7XG4gIH1cblxuICAmLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJltzdHlsZV0ge1xuICAgIGZsZXgtYmFzaXM6ICN7J0BoZWlnaHQnfTtcbiAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgZmxleC1iYXNpczogMTU1cHg7XG5cbiAgICAgIGhlaWdodDogMTI4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJ2ZlYXR1cmVkJztcbkBpbXBvcnQgJ3VwY29taW5nJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBFdmVudHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBldmUtXG58XG4qL1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEV2ZW50cyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uZXZlLUlubmVyIHtcbiAgQGluY2x1ZGUgTWFpbkFuZEFzaWRlU3Vycm91bmQoKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBsdHMtXG58XG4qL1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLU91dGVyIHtcbiAgcGFkZGluZy10b3A6IDQuODIlO1xuICBwYWRkaW5nLWJvdHRvbTogNS43NSU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNvbnRlbnQge1xuICBtYXJnaW4tYm90dG9tOiA2LjM4JTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgICB3aWR0aDogcGVyY2VudGFnZSg4LzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDE5cHg7XG5cbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbi5sdHMtVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRzIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLTIwcHg7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcblxuICAmOm50aC1jaGlsZCgzKSxcbiAgJjpudGgtY2hpbGQoNCkge1xuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMzgwcHg7XG4gICAgfVxuICB9XG5cbiAgJi5sdHMtQ2FyZC1WZXJ0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgaGVpZ2h0OiA3MjBweDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg2LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDQvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICAgIH1cbiAgfVxuXG4gICYubHRzLUNhcmQtSG9yaSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgIGhlaWdodDogMzQwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg4LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcbiAgICB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsIDAuMik7XG4gICAgY29sb3I6ICMwOTI1NTc7XG5cbiAgICAubHRzLUNhcmRfQXJyb3cge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBibHVlKTtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgbWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9NZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogI3snQGJvcmRlci10b3AtbGVmdC1yYWRpdXMnfTtcblxuICAubHRzLUNhcmQtSG9yaSAmIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBmbGV4LWJhc2lzOiAjeydAd2lkdGgnfTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg2LzEyKX0gLSAyMHB4KTtcbiAgICB9XG4gIH1cblxuICAubHRzLUNhcmQtVmVydCAmIHtcbiAgICBwYWRkaW5nLXRvcDogMTAwJTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlICovXG4gICAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAgIHBhZGRpbmctdG9wOiBjYWxjKDUwJSArIDIwcHgpO1xuICAgIH1cbiAgICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9Db250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG5cbiAgLmx0cy1DYXJkLUhvcmkgJiB7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sdHMtQ2FyZF9TaG9ydFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1DYXJkX0Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAjeydAcmlnaHQnfTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogI3snQGhlaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJENvbG9ycywgbGlnaHRHcmV5KSwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoIzAwMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGJsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLUNhcmRfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzQwcHg7XG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gIHBhZGRpbmctdG9wOiAzNXB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuICB3aWR0aDogMTAwJTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjNzO1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoNC8xMil9IC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSk7XG4gIH1cblxuICAmLmx0cy1Ud2VldENhcmQtMm5kIHtcbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgbWFyZ2luLXRvcDogLTM4MHB4O1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygxMDAlICsgNDBweCkpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfTWV0YSB7XG4gIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiBhdXRvO1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG5cbiAgY29sb3I6ICMwOTI1NTc7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gVHdlZXQgY2FyZCAtIFJlcGx5XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9SZXBseSB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcblxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gUmV0d2VldFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfUmV0d2VldCB7XG4gIG1hcmdpbi1yaWdodDogMjBweDtcblxuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBUd2VldCBjYXJkIC0gTGlrZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmx0cy1Ud2VldENhcmRfTGlrZSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIFR3ZWV0IGNhcmQgLSBUaW1lXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubHRzLVR3ZWV0Q2FyZF9UaW1lIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBjb2xvcjogI2FjYWNhYztcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IGxnaS1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1PdXRlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogODAwcHg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogIzA4M2M3YTtcbiAgYmFja2dyb3VuZC1pbWFnZTogcmVzb2x2ZSgnaW1nL2RpZ2l0YWwtY29ubmVjdGlvbnMuanBnJyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBCb3hcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktQm94IHtcbiAgcGFkZGluZy10b3A6IDMycHg7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgbWF4LXdpZHRoOiA0MjBweDtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoNC8xMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktQ29udGVudCB7XG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbn1cblxuLmxnaS1Db250ZW50X2JvdHRvbSB7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xufVxuXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBCb3ggLSBVbmRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Cb3hfVW5kZXIge1xuICBtYXJnaW4tdG9wOiAyMHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gQm94IC0gVW5kZXIgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Cb3hfVW5kZXJUZXh0IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcblxuICBjb2xvcjogI2ZmZjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBNZXNzYWdlIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG5cbi5sZ2ktRm9ybV9NZXNzYWdlVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9JdGVtIHtcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgLy8gVGhlIGxhc3QgY2hpbGQgaXMgdGhlIHN1Ym1pdCB3aGljaCBzcGFucyB0aGUgZnVsbCB3aWR0aCBvZiB0aGUgYm94XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gTGFiZWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5sZ2ktRm9ybV9MYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA5cHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCB2ZXJ5RGFya0JsdWUpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIElucHV0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fSW5wdXQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDZweDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1ib3R0b206IDdweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuICB3aWR0aDogMTAwJTtcblxuICBsaW5lLWhlaWdodDogMjRweDtcblxuICBib3JkZXI6IDFweCBzb2xpZCAjZTFlMWUxO1xuICBib3JkZXItcmFkaXVzOiBtYXAtZ2V0KCRNaXNjLCBiZHJzKTtcbiAgY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCB2ZXJ5RGFya0JsdWUpLCAwLjUpO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIENoZWNrYm94XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fQ2hlY2tib3hXcmFwIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgZGlzcGxheTogZmxleDtcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4ubGdpLUZvcm1fQ2hlY2tib3gge1xuICAvKiBsaW5lLWhlaWdodCBjb21wZW5zYXRpb24gKi9cbiAgbWFyZ2luLXRvcDogOHB4O1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTG9naW4gLSBGb3JtIC0gRm9yZ290dGVuIHBhc3N3b3JkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fRm9yZ290dGVuUGFzc3dvcmQge1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIFN1Ym1pdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX1N1Ym1pdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDIycHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBmb250LXdlaWdodDogNjAwO1xuICBsaW5lLWhlaWdodDogMjZweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCgxNDZkZWcsICMwMDk2Y2MsICMwYmYpO1xuICAvLyBUaGUgcGFyZW50IEJveCBoYXMgYm9yZGVyIHJhZGl1cywgdGhlIGJ1dHRvbiBjb3ZlcnMgdGhhdCB1bmxlc3Mgd2UgZG8gaXRcbiAgLy8gYmVsb3dcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiAjeydAYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXMnfTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMb2dpbiAtIEZvcm0gLSBFcnJvclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmxnaS1Gb3JtX0Vycm9yIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDEwcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICN7J0BwYWRkaW5nLXRvcCd9O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctdG9wJ307XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X01pbmlvbjtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjJweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZkMWNhO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGI0NjJjO1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGNvbG9yOiAjZGI0NjJjO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExvZ2luIC0gRm9ybSAtIFN1Ym1pdCBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubGdpLUZvcm1fU3VibWl0SWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHJpZ2h0OiA0NXB4O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MsIGNvbG9yIDAuM3M7XG5cbiAgLmxnaS1Gb3JtX1N1Ym1pdDpob3ZlciAmIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIHZlcnlEYXJrQmx1ZSk7XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOZXdzbGV0dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogbnNsLVxufFxuKi9cbi5uc2wtRm9ybSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi10b3A6IDM1cHg7XG5cbiAgJi5uc2wtRm9ybS1mb290ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cblxuLm5zbC1JbnB1dHNTdXJyb3VuZCB7XG4gIGZsZXg6IDE7XG5cbiAgZGlzcGxheTogZmxleDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOZXdzbGV0dGVyIC0gSW5wdXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5uc2wtSW5wdXQge1xuICAkV2FudGVkSGVpZ2h0OiA0NHB4O1xuICAkQm9yZGVyU2l6ZTogMnB4O1xuICAkSW5wdXRIZWlnaHQ6IDI2cHg7XG5cbiAgcGFkZGluZy10b3A6ICgoJFdhbnRlZEhlaWdodCAtICRCb3JkZXJTaXplKSAtICRJbnB1dEhlaWdodCkgLyAyO1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG4gIHdpZHRoOiAxMDAlO1xuXG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICNlYWVhZWE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogcmdiYSgjMDM1MzdiLCAwLjUpO1xuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogcmdiYSgjMDM1MzdiLCAwLjUpO1xuICB9XG5cbiAgLm5zbC1Gb3JtLWZvb3RlciAmIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBOZXdzbGV0dGVyIC0gU3VibWl0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ubnNsLVN1Ym1pdCB7XG4gIEBpbmNsdWRlIEJ1dHRvbigpO1xuXG4gIGZsZXgtc2hyaW5rOiAwO1xuXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gIC5hc2ktTmV3c2xldHRlciAmIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG4gIH1cblxuICAubnNsLUZvcm0tZm9vdGVyICYge1xuICAgIG1hcmdpbi1yaWdodDogMDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgfVxuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogb3JnLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBPdXRlclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1PdXRlciB7XG4gIHBhZGRpbmctdG9wOiA2LjMlO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5vcmctVGl0bGUge1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1MaXN0IHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLXRvcDogMjZweDtcbiAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206IDIxcHg7XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRDb2xvcnMsIGdyZXkpO1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IE9yZ2FuaXNhdGlvbiAtIEl0ZW0gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fQ29udGVudCB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAyO1xuXG4gIG1hcmdpbi1yaWdodDogMjBweDtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG9yZGVyOiAxO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgT3JnYW5pc2F0aW9uIC0gSXRlbSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLm9yZy1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBPcmdhbmlzYXRpb24gLSBJdGVtIC0gTWVkaWEgY29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ub3JnLUl0ZW1fTWVkaWFDb250YWluZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgb3JkZXI6IDE7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtYmFzaXM6IDIwMHB4O1xuICAgIG9yZGVyOiAyO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tT3V0ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2luYXRpb24gLSBDb250cm9sXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGduLUNvbnRyb2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWJhc2lzOiAzMHB4O1xuICBmbGV4LXNocmluazogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6ICN7J0BoZWlnaHQnfTtcblxuICBmb250LXNpemU6IDA7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0R3JleSksIDAuNSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKCMwMDAsIDAuMTUpO1xuICBjb2xvcjogI2ZmZjtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdpbmF0aW9uIC0gQ29udHJvbCAtIEljb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wZ24tQ29udHJvbF9JY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcblxuICAmOjpiZWZvcmUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2luYXRpb24gLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGduLUl0ZW1zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4ucGduLUl0ZW0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuXG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHBwbC1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gT3V0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtT3V0ZXIge1xuICBwYWRkaW5nLXRvcDogMy4xNSU7XG4gIHBhZGRpbmctYm90dG9tOiA2LjA1JTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBPdXRlciAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLU91dGVyX3RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzJweDtcblxuICBmb250LXdlaWdodDogNDAwO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlciB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBtYXJnaW4tYm90dG9tOiAyOXB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUZpbHRlcl9UZXh0IHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuXG4gIGNvbG9yOiAjMWMyYTQ5O1xuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleDogMTtcblxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBMYWJlbFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfTGFiZWwge1xuICBtYXJnaW4tdG9wOiAtNXB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gRmlsdGVyIC0gUmVzdWx0cyBjb3VudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfUmVzdWx0c0NvdW50IHtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBJbnB1dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1GaWx0ZXJfSW5wdXQge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBmbGV4LWdyb3c6IDA7XG4gIGZsZXgtc2hyaW5rOiAxO1xuXG4gIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgZmxleC1iYXNpczogMjgwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBGaWx0ZXIgLSBTZWxlY3RcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtRmlsdGVyX1NlbGVjdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy10b3A6IDExcHg7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuICB3aWR0aDogMTAwJTtcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y4ZmE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHJlc29sdmUoJ3NlbGVjdC1hcnJvdy1kb3duLnBuZycpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgNTAlIHJpZ2h0IDIwcHg7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6ICMwYTJlNDA7XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICBvcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuICAvKiBzdHlsZWxpbnQtZW5hYmxlICovXG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGVvcGxlIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1MaXN0IHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5wcGwtSXRlbSB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLXJpZ2h0OiAje21hcC1nZXQoJEdyaWQsIGd1dHRlcikgLyAyfTtcbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG5cbiAgYm9yZGVyOiAxcHggc29saWQgI2VhZWFlYTtcblxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuICAmOmxhc3QtY2hpbGQ6bnRoLWNoaWxkKG9kZCksXG4gICY6bGFzdC1jaGlsZDpudGgtY2hpbGQoZXZlbiksXG4gICY6bnRoLWxhc3QtY2hpbGQoMik6bnRoLWNoaWxkKG9kZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBNZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX01lZGlhIHtcbiAgZmxleC1iYXNpczogMjguNDIlO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQZW9wbGUgLSBJdGVtIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX0NvbnRlbnQge1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiAxMTBweDtcbiAgcGFkZGluZy10b3A6IDEycHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGNvbG9yOiAjMWMyYTQ5O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBwbC1JdGVtX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgYSB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgLyogc3R5bGVsaW50LWVuYWJsZSAqL1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBlb3BsZSAtIEl0ZW0gLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucHBsLUl0ZW1fVGV4dCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogcnRkLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gIGZvbnQtc2l6ZTogMjZweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDMycHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbGluZS1oZWlnaHQ6IDUycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gTGlzdFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1MaXN0IHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUmVsYXRlZCAtIEl0ZW1cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzN3B4O1xuXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2VkNWQ5O1xuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBSZWxhdGVkIC0gSXRlbSAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9Db250ZW50IHtcbiAgZmxleDogMTtcbiAgb3JkZXI6IDI7XG5cbiAgY29sb3I6ICMwOTI1NTc7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBvcmRlcjogMTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX01ldGEge1xuICBtYXJnaW4tYm90dG9tOiA4cHg7XG5cbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDJweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnJ0ZC1JdGVtX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFJlbGF0ZWQgLSBJdGVtIC0gTWVkaWFcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5ydGQtSXRlbV9NZWRpYSB7XG4gIG9yZGVyOiAxO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgJltzdHlsZV0ge1xuICAgIGZsZXgtYmFzaXM6ICN7J0BoZWlnaHQnfTtcbiAgICBmbGV4LWdyb3c6IDA7XG5cbiAgICBoZWlnaHQ6IDI0MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgZmxleC1iYXNpczogMTc1cHg7XG5cbiAgICAgIGhlaWdodDogMTM1cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uLy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uLy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWFyY2ggLSBTdHJpcFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHNjaC1cbnxcbiovXG4uc2NoLVN0cmlwIHtcbiAgcGFkZGluZy10b3A6IDM1cHg7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdmVyeURhcmtCbHVlKTtcbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VhcmNoIC0gU3RyaXAgLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjaC1TdHJpcF9Jbm5lciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY2gtU3RyaXBfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlYXJjaCAtIFN0cmlwIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjaC1TdHJpcF9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFic1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG58IEBwcmVmaXg6IHRhYi1cbnxcbiovXG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgVGFicyAtIE91dGVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLU91dGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBUYWJzIC0gU2V0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLVNldCB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMzRweDtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UwZTBlMDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFRhYnMgLSBTZXQgLSBJdGVtXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4udGFiLVNldF9JdGVtIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIHBhZGRpbmctdG9wOiA5cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDI0cHg7XG4gIHBhZGRpbmctYm90dG9tOiAjeydAcGFkZGluZy10b3AnfTtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMGUwZTA7XG4gIGNvbG9yOiAjMWMyYTQ5O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG9wYWNpdHk6IDAuMztcblxuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMnM7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICMxYzJhNDk7XG5cbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMGUwZTA7XG4gICAgICBib3JkZXItcmlnaHQ6ICN7J0Bib3JkZXItdG9wJ307XG4gICAgICBib3JkZXItbGVmdDogI3snQGJvcmRlci10b3AnfTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBNUShzbSkge1xuICAgICAgICBjb250ZW50OiAnJztcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBXeXNpd3lnXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogd3lzLVxufFxuKi9cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBXeXNpd3lnIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLyogc3R5bGVsaW50LWRpc2FibGUgc2VsZWN0b3Itbm8tdHlwZSAqL1xuLnd5cy1Db250ZW50IHtcbiAgLyoqXG4gICogSGVhZGluZ3NcbiAgKi9cbiAgaDMsIGg0LCBoNSwgaDYge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNHB4O1xuICB9XG5cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB9XG5cbiAgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBQYXJhZ3JhcGhzXG4gICovXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgICsgaDMsXG4gICAgKyBoNCxcbiAgICArIGg1LFxuICAgICsgaDYge1xuICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgKiBCbG9ja3F1b3RlXG4gICovXG4gIC5xdW90ZS10ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuXG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdGVhbCk7XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgfVxuXG4gICAgLmwtU2l0ZV9NYWluLUNlbnRlcmVkICYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmOjpiZWZvcmUsXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgdGVhbCk7XG4gICAgICB9XG5cbiAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICB9XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnF1b3RlLWF1dGhvciB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBNUShtZCkge1xuICAgICAgZm9udC1zaXplOiAxOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuXG4gICAgLmwtU2l0ZV9NYWluLUNlbnRlcmVkICYge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAqIEltYWdlc1xuICAqL1xuICAuaW1nLWNhcHRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDcuNTElO1xuICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICAgIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgZGFya0JsdWUpO1xuICAgIGNvbG9yOiAjZmZmO1xuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLSN7cGVyY2VudGFnZSgxLzEyKX07XG4gICAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIH1cbiAgfVxufVxuLyogc3R5bGVsaW50LWVuYWJsZSAqL1xuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIEJsb2NrXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcyMHB4O1xuICBtYXJnaW4tYm90dG9tOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogIzA5MjU1NztcblxuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuM3M7XG5cbiAgJjpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBtZWRpYVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX01lZGlhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctdG9wOiAxMDAlO1xuXG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMnB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogI3snQGJvcmRlci10b3AtbGVmdC1yYWRpdXMnfTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBMYXRlc3QgLSBDYXJkIGNvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9Db250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBzaG9ydCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FyZF9TaG9ydFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGl0bGUgYWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IExhdGVzdCAtIENhcmQgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXJkX0Fycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAjeydAcmlnaHQnfTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogI3snQGhlaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKG1hcC1nZXQoJENvbG9ycywgbGlnaHRHcmV5KSwgMC41KTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3gtc2hhZG93OiBpbnNldCAycHggM3B4IDdweCAwIHJnYmEoIzAwMCwgMC4xNSk7XG4gIGNvbG9yOiAjZmZmO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgTGF0ZXN0IC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhcmRfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogNDhweDtcbiAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMWUxZTE7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBjb2xvcjogIzA5MjU1Nztcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgc2hvcnQgdGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktQ2FzZVN0dWR5X1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGxpZ2h0Qmx1ZSk7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJENvbG9ycywgbGlnaHRCbHVlKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBDYXJkIHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfVGl0bGVBY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jaztcblxuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCB0ZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLUNhc2VTdHVkeV9UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206ICN7J0ByaWdodCd9O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBsaWdodEdyZXkpLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgjMDAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1DYXNlU3R1ZHlfQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBBc2lkZSAtIE5ld3NsZXR0ZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktTmV3c2xldHRlciB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBOZXdzbGV0dGVyIC0gVGl0bGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktTmV3c2xldHRlcl9UaXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBOZXdzbGV0dGVyIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1OZXdzbGV0dGVyX1RleHQge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuIiwiQGltcG9ydCAnLi4vY29uZmlnL3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21peGlucyc7XG5AaW1wb3J0ICcuLi9oZWxwZXJzL21lZGlhLXF1ZXJpZXMnO1xuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmtcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5hc2ktUGVvcGxlTmV0d29yayB7XG4gIHBhZGRpbmctdG9wOiAzNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmOGZhO1xuICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBkYXJrQmx1ZSk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgQXNpZGUgLSBQZW9wbGUgbmV0d29yayAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfVGl0bGUge1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBMaXN0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uYXNpLVBlb3BsZU5ldHdvcmtfTGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IEFzaWRlIC0gUGVvcGxlIG5ldHdvcmsgLSBJdGVtIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLmFzaS1QZW9wbGVOZXR3b3JrX0l0ZW1BY3Rpb24ge1xuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzNnB4O1xuXG4gIGNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIGRhcmtCbHVlKTtcblxuICAmOmhvdmVyLCAmW2FyaWEtY3VycmVudD0ndHJ1ZSddIHtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCBsaWdodEJsdWUpO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm9cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1Ib21lcGFnZUhlcm8ge1xuICBwYWRkaW5nLXRvcDogMTElO1xuICBwYWRkaW5nLWJvdHRvbTogMTIuNjMlO1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDgzYjc5O1xuICBjb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHBhZGRpbmctdG9wOiA4LjM4JTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTIuNjMlO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm8gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1Ib21lcGFnZUhlcm9fSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX0NvbnRlbnQge1xuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoOC8xMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUhvbWVwYWdlSGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgZm9udC1zaXplOiAzMHB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMzZweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG5cbiAgICBmb250LXNpemU6IDUycHg7XG4gICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSG9tZXBhZ2UgaGVybyAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA2NXB4O1xuXG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEhvbWVwYWdlIGhlcm8gLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSG9tZXBhZ2VIZXJvX0FjdGlvbiB7XG4gIEBpbmNsdWRlIEJ1dHRvbigpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFNlY29uZGFyeSBoZXJvXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVybyB7XG4gIEBpbmNsdWRlIEdyYWRpZW50LVJhZGlhbEJsdWUoKTtcblxuICBwYWRkaW5nLXRvcDogOC42JTtcbiAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBjb2xvcjogI2ZmZjtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHBhZGRpbmctdG9wOiAxMi4xMyU7XG4gICAgcGFkZGluZy1ib3R0b206IDE0Ljc1JTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU2Vjb25kYXJ5IGhlcm8gLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fQ29udGVudCB7XG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgbWF4LXdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVNlY29uZGFyeUhlcm9fVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxcHg7XG5cbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTZWNvbmRhcnkgaGVybyAtIFRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU2Vjb25kYXJ5SGVyb19UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA1MnB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm9cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1JbWFnZUhlcm8ge1xuICBAaW5jbHVkZSBHcmFkaWVudC1SYWRpYWxCbHVlKCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIC8vIFRoZSBtb2JpbGUgdG9wIHBhZGRpbmcgaXMgb24gX0NvbnRlbnRcbiAgcGFkZGluZy1ib3R0b206IDEwLjE2JTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgY29sb3I6ICNmZmY7XG5cbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIHBhZGRpbmctdG9wOiAxMiU7XG4gICAgcGFkZGluZy1ib3R0b206ICN7J0BwYWRkaW5nLXRvcCd9O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIEltYWdlIGhlcm8gLSBJbm5lclxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fSW5uZXIge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICAvLyBMaWZ0IHRoZSBjb250ZW50IGFib3ZlIHRoZSBiYWNrZ3JvdW5kIGltYWdlXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0NvbnRlbnQge1xuICBwYWRkaW5nLXRvcDogOS42JTtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIG1heC13aWR0aDogcGVyY2VudGFnZSg4LzEyKTtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gVGl0bGUgc21hbGxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX1Nob3J0VGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG5cbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDhweDtcblxuICBmb250LXNpemU6IDI2cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTNweDtcblxuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBsaW5lLWhlaWdodDogNTJweDtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBJbWFnZSBoZXJvIC0gTWV0YVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fTWV0YSB7XG4gIG1hcmdpbi1ib3R0b206IDIycHg7XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjRweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1JbWFnZUhlcm9fQWN0aW9uIHtcbiAgQGluY2x1ZGUgQnV0dG9uKCk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEJhY2tncm91bmQgY29udGFpbmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUltYWdlSGVyb19CYWNrZ3JvdW5kQ29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzA5MjQ1Njtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gSW1hZ2UgaGVybyAtIEJhY2tncm91bmRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtSW1hZ2VIZXJvX0JhY2tncm91bmQge1xuICAvLyBQdXQgdGhlIGJhY2tncm91bmQgaW1hZ2UgYmVsb3cgdGhlIGNvbnRlbnRcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIHBhZGRpbmctdG9wOiA2MCU7XG5cbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuXG4gIC8vIFwiRmFkZVwiIHRoZSBpbWFnZSBzbGlnaHRseSBzbyB0aGF0IHRoZSB0ZXh0IHN0YW5kcyBvdXQgb24gdG9wLlxuICAmOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIH1cblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIHBhZGRpbmctdG9wOiA0MCU7XG4gIH1cblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIEBpbmNsdWRlIEFic29sdXRlU3ByZWFkKCk7XG5cbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZy10b3A6IDA7XG4gIH1cbn1cblxuLnNjdC1JbWFnZUhlcm9fVmlkZW8ge1xuICBAaW5jbHVkZSBBYnNvbHV0ZVNwcmVhZCgpO1xuXG4gIHotaW5kZXg6IDI7XG5cbiAgZGlzcGxheTogbm9uZTtcblxuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG5cbiAgQGluY2x1ZGUgTVEobGcpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4uc2N0LUltYWdlSGVyb19WaWRlb0VtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1DYXJkcyB7XG4gIHBhZGRpbmctdG9wOiA0LjgyJTtcbiAgcGFkZGluZy1ib3R0b206IDUuNzUlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ29udGVudFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19Db250ZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMTAvMTIpO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICB3aWR0aDogcGVyY2VudGFnZSg4LzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX1RpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBmb250LXNpemU6IDI0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gVGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19UZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogOC42JTtcblxuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNnB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZHNcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZHMge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICBkaXNwbGF5OiBmbGV4O1xuXG4gICYgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcblxuICAgIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgICBtYXJnaW4tdG9wOiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcblxuICAgIG1hcmdpbi1yaWdodDogLSN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgI2UxZTFlMTtcbiAgYm9yZGVyLXJhZGl1czogbWFwLWdldCgkTWlzYywgYmRycyk7XG4gIGNvbG9yOiAjMDkyNTU3O1xuXG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC4zcztcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG1hcmdpbi1yaWdodDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gICAgbWFyZ2luLWJvdHRvbTogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKTtcbiAgICBtYXJnaW4tbGVmdDogbWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDI7XG4gICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDYvMTIpfSAtICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKX0pO1xuICB9XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSg0LzEyKX0gLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcblxuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlIHNlbGVjdG9yLW5vLXR5cGUgKi9cbiAgICAmOmF0LWxlYXN0KDQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gICAgfVxuICAgIC8qIHN0eWxlbGludC1lbmFibGUgKi9cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbiAgICBjb2xvcjogIzA5MjU1NztcblxuICAgIC5zY3QtQ2FyZHNfQ2FyZEFycm93IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJENvbG9ycywgYmx1ZSk7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICB9XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIG1lZGlhXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRNZWRpYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMTAwJTtcblxuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDJweDtcbiAgYm9yZGVyLXRvcC1yaWdodC1yYWRpdXM6ICN7J0Bib3JkZXItdG9wLWxlZnQtcmFkaXVzJ307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBjb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUNhcmRzX0NhcmRDb250ZW50IHtcbiAgcGFkZGluZy10b3A6IDM2cHg7XG4gIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gIHBhZGRpbmctYm90dG9tOiAzMnB4O1xuICBwYWRkaW5nLWxlZnQ6ICN7J0BwYWRkaW5nLXJpZ2h0J307XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBzaG9ydCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHNob3J0IHRpdGxlIGFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkU2hvcnRUaXRsZUFjdGlvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuXG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCB0aXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkVGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI2cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCB0aXRsZSBhY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFRpdGxlQWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG5cbiAgY29sb3I6IGluaGVyaXQ7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ2FyZHMgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ2FyZHNfQ2FyZFRleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENhcmRzIC0gQ2FyZCBhcnJvd1xufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkQXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICBib3R0b206ICN7J0ByaWdodCd9O1xuXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAjeydAaGVpZ2h0J307XG5cbiAgZm9udC1zaXplOiAxNHB4O1xuXG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkQ29sb3JzLCBsaWdodEdyZXkpLCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJveC1zaGFkb3c6IGluc2V0IDJweCAzcHggN3B4IDAgcmdiYSgjMDAwLCAwLjE1KTtcbiAgY29sb3I6ICNmZmY7XG5cbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjNzLCBjb2xvciAwLjNzO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDYXJkcyAtIENhcmQgYXJyb3cgaWNvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1DYXJkc19DYXJkQXJyb3dJY29uIHtcbiAgdGV4dC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoIzAwMCwgMC4yKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtQ3RhIHtcbiAgQGluY2x1ZGUgR3JhZGllbnQtUmFkaWFsQmx1ZSgpO1xuXG4gIHBhZGRpbmctdG9wOiAzJTtcbiAgcGFkZGluZy1ib3R0b206IDMuMDYlO1xuXG4gIGNvbG9yOiAjZmZmO1xuXG4gIC5sLVNpdGVfTWFpbiAmIHtcbiAgICBwYWRkaW5nLXRvcDogNDVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gSW5uZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtQ3RhX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgLmwtU2l0ZV9NYWluICYge1xuICAgIHBhZGRpbmctcmlnaHQ6IG1hcC1nZXQoJEdyaWQsIGd1dHRlcik7XG4gICAgcGFkZGluZy1sZWZ0OiAjeydAcGFkZGluZy1yaWdodCd9O1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIENUQSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgZm9udC1zaXplOiAyNHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcblxuICBAaW5jbHVkZSBNUShtZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG5cbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG5cbiAgICAubC1TaXRlX01haW4gJiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBDVEEgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9UZXh0IHtcbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gQ1RBIC0gQWN0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LUN0YV9BY3Rpb24ge1xuICBAaW5jbHVkZSBCdXR0b24oKTtcbn1cbiIsIkBpbXBvcnQgJy4uL2NvbmZpZy92YXJpYWJsZXMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnLi4vaGVscGVycy9tZWRpYS1xdWVyaWVzJztcblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxufCBAcHJlZml4OiBzY3QtXG58XG4qL1xuLnNjdC1RdW90ZV9PdXRlciB7XG4gIEBpbmNsdWRlIENvbnRhaW5lcigpO1xuXG4gIC5zY3QtU3RhdHMgKyAmIHtcbiAgICBtYXJnaW4tdG9wOiA1JTtcbiAgfVxufVxuXG4uc2N0LVF1b3RlIHtcbiAgQGluY2x1ZGUgR3JhZGllbnQtUmFkaWFsQmx1ZSgpO1xuXG4gIHBhZGRpbmctdG9wOiA2LjM4JTtcbiAgcGFkZGluZy1ib3R0b206IDUuMTklO1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIEJsb2NrcXVvdGVcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtUXVvdGVfQmxvY2tRdW90ZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogI3snQG1hcmdpbi1yaWdodCd9O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEwLzEyKTtcbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBRdW90ZSAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX1RpdGxlIHtcbiAgZm9udC1mYW1pbHk6ICRGb250X015cmlhZDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGUgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVF1b3RlX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAyM3B4O1xuXG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgQGluY2x1ZGUgTVEoc20pIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gUXVvdGUgLSBGb290ZXIgdGV4dFxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1RdW90ZV9Gb290ZXJUZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcblxuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICB9XG59XG4iLCJAaW1wb3J0ICcuLi9jb25maWcvdmFyaWFibGVzJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJy4uL2hlbHBlcnMvbWVkaWEtcXVlcmllcyc7XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbnwgQHByZWZpeDogc2N0LVxufFxuKi9cbi5zY3QtU3RhdHMge1xuICBAaW5jbHVkZSBHcmFkaWVudC1SYWRpYWxCbHVlKCk7XG5cbiAgLy9wYWRkaW5nLXRvcDogMTA1cHg7XG4gIHBhZGRpbmctdG9wOiA2LjU3JTtcbiAgcGFkZGluZy1ib3R0b206IDguMTMlO1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIElubmVyXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0lubmVyIHtcbiAgQGluY2x1ZGUgQ29udGFpbmVyKCk7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENvbnRlbnRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ29udGVudCB7XG4gIG1hcmdpbi1ib3R0b206IDYycHg7XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAjeydAbWFyZ2luLXJpZ2h0J307XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoOC8xMik7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBUaXRsZVxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnNjdC1TdGF0c19UaXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM4cHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX1RleHQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG5cbiAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBBY3Rpb25cbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQWN0aW9uIHtcbiAgQGluY2x1ZGUgQnV0dG9uKCk7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJvdXNlbCBwYWdpbmF0aW9uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMTQlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBoZWlnaHQoJ3NjdC1TdGF0c19DYXJvdXNlbFBhZ2luYXRpb24ucG5nJyk7XG4gIHdpZHRoOiB3aWR0aCgnc2N0LVN0YXRzX0Nhcm91c2VsUGFnaW5hdGlvbi5wbmcnKTtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiByZXNvbHZlKCdzY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLnBuZycpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLUxlZnQge1xuICAgIGxlZnQ6IDUwJTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjAwcHgpO1xuXG4gICAgQGluY2x1ZGUgTVEobWQpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKHhsZykge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA3NXB4O1xuXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgfVxuICB9XG5cbiAgJi5zY3QtU3RhdHNfQ2Fyb3VzZWxQYWdpbmF0aW9uLVJpZ2h0IHtcbiAgICByaWdodDogNTAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KSByb3RhdGUoMTgwZGVnKTtcblxuICAgIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIE1RKHhsZykge1xuICAgICAgdG9wOiA1MCU7XG4gICAgICByaWdodDogNzVweDtcblxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHJvdGF0ZSgxODBkZWcpO1xuICAgIH1cbiAgfVxufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcm91c2VsIHJhaWxcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWxSYWlsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGhlaWdodDogMzQwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcm91c2VsIHNsaWRlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6ICN7bWFwLWdldCgkR3JpZCwgZ3V0dGVyKSAvIDJ9O1xuICBib3R0b206IDA7XG4gIGxlZnQ6ICN7J0ByaWdodCd9O1xuICB6LWluZGV4OiAyO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzQwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSAje21hcC1nZXQoJEdyaWQsIGd1dHRlcil9KTtcblxuICBvcGFjaXR5OiAxO1xuICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuXG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zNXM7XG5cbiAgJlthcmlhLWN1cnJlbnQ9J2ZhbHNlJ10ge1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBvcGFjaXR5OiAwO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2Fyb3VzZWwgdW5kZXJcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2Fyb3VzZWxVbmRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiBtYXAtZ2V0KCRHcmlkLCBndXR0ZXIpIC8gMjtcbiAgbWFyZ2luLWxlZnQ6ICN7J0BtYXJnaW4tcmlnaHQnfTtcbiAgbWluLWhlaWdodDogMzQwcHg7XG4gIHBhZGRpbmctdG9wOiAzOXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogI3snQHBhZGRpbmctdG9wJ307XG4gIHBhZGRpbmctbGVmdDogI3snQHBhZGRpbmctcmlnaHQnfTtcbiAgd2lkdGg6IDEwMCU7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KDE0NmRlZywgIzAwOTZjYywgIzBiZik7XG4gIGJvcmRlcjogMXB4IHNvbGlkICMwMGFlZWY7XG4gIGJvcmRlci1yYWRpdXM6IG1hcC1nZXQoJE1pc2MsIGJkcnMpO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgY29sb3I6ICNmZmY7XG5cblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKHNtKSB7XG4gICAgd2lkdGg6IGNhbGMoNTAlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSlcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKG1kKSB7XG4gICAgd2lkdGg6IGNhbGMoMzMlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSlcbiAgfVxuXG4gIEBpbmNsdWRlIE1RKGxnKSB7XG4gICAgd2lkdGg6IGNhbGMoMjUlIC0gI3ttYXAtZ2V0KCRHcmlkLCBndXR0ZXIpfSlcbiAgfVxuXG4gICRhbmltYXRpb25TcGVlZDogMXM7XG4gICRhbmltYXRpb25PZmZzZXQ6IDAuMTVzO1xuXG4gIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1iZWZvcmVFbnRlciAmLFxuICAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtbGVhdmUgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIFtkaXJlY3Rpb249J2xlZnQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgJiB7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGFuaW1hdGlvblNwZWVkO1xuXG4gICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGFuaW1hdGlvbk9mZnNldDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMztcbiAgICB9XG4gIH1cblxuICBbZGlyZWN0aW9uPSdsZWZ0J10gLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLnNjdC1TdGF0c19DYXJvdXNlbFNsaWRlLWVudGVyICYge1xuICAgIG9wYWNpdHk6IDE7XG5cbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRhbmltYXRpb25TcGVlZCAkYW5pbWF0aW9uT2Zmc2V0ICogNDtcblxuICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRhbmltYXRpb25PZmZzZXQgKiA1O1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRhbmltYXRpb25PZmZzZXQgKiA2O1xuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6ICRhbmltYXRpb25PZmZzZXQgKiA3O1xuICAgIH1cblxuICB9XG5cbiAgW2RpcmVjdGlvbj0ncmlnaHQnXSAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUgJiB7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcblxuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgJGFuaW1hdGlvblNwZWVkO1xuXG4gICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogJGFuaW1hdGlvbk9mZnNldDtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogMztcbiAgICB9XG4gIH1cblxuICBbZGlyZWN0aW9uPSdyaWdodCddIC5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS5zY3QtU3RhdHNfQ2Fyb3VzZWxTbGlkZS1lbnRlciAmIHtcbiAgICBvcGFjaXR5OiAxO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkYW5pbWF0aW9uU3BlZWQgJGFuaW1hdGlvbk9mZnNldCAqIDQ7XG5cbiAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogNTtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogNjtcbiAgICB9XG5cbiAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAkYW5pbWF0aW9uT2Zmc2V0ICogNztcbiAgICB9XG4gIH1cblxuICAuc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGVbYXJpYS1jdXJyZW50PSdmYWxzZSddOm5vdCguc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlRW50ZXIpOm5vdCguc2N0LVN0YXRzX0Nhcm91c2VsU2xpZGUtYmVmb3JlTGVhdmUpICYsIHtcbiAgICBkaXNwbGF5OiBoaWRkZW47XG4gIH1cbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkIHN0YXRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZFN0YXQge1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgZm9udC1zaXplOiA1MnB4O1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogNDhweDtcbn1cblxuLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBTZWN0aW9uIC0gU3RhdHMgLSBDYXJkIHRleHRcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZFRleHQge1xuICBmb250LWZhbWlseTogJEZvbnRfTXlyaWFkO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFNlY3Rpb24gLSBTdGF0cyAtIENhcmQgYXJyb3dcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufFxuKi9cbi5zY3QtU3RhdHNfQ2FyZEFycm93IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMjBweDtcbiAgYm90dG9tOiAjeydAcmlnaHQnfTtcblxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogI3snQGhlaWdodCd9O1xuXG4gIGZvbnQtc2l6ZTogMTRweDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRDb2xvcnMsIHZlcnlEYXJrQmx1ZSk7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMnB4IDNweCA3cHggMCByZ2JhKCMwMDAsIDAuMTUpO1xuXG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcywgY29sb3IgMC4zcztcblxuICAuc2N0LVN0YXRzX0NhcmQ6aG92ZXIgJiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogbWFwLWdldCgkQ29sb3JzLCB2ZXJ5RGFya0JsdWUpO1xuICB9XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgU2VjdGlvbiAtIFN0YXRzIC0gQ2FyZCBhcnJvdyBpY29uXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4uc2N0LVN0YXRzX0NhcmRBcnJvd0ljb24ge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEwcHggcmdiYSgjMDAwLCAwLjIpO1xufVxuIiwiLypcbnwtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxufCBQYWdlIC0gNDA0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA5MjBweDtcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy9zdGF0aWMvc2l0ZS9idWlsZC9pbWcvNDA0LmpwZycpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDQgLSBDb250ZW50XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X0NvbnRlbnQge1xuICBAaW5jbHVkZSBDb250YWluZXIoKTtcblxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIFRpdGxlXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X1RpdGxlIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoOCAvIDEyKTtcblxuICBmb250LXNpemU6IDQycHg7XG4gIGxpbmUtaGVpZ2h0OiA1MnB4O1xuXG4gIGNvbG9yOiAjZmZmO1xufVxuXG4vKlxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58IFBhZ2UgLSA0MDQgLSBUZXh0XG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnxcbiovXG4ucGctNDA0X1RleHQge1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1ib3R0b206IDY3cHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICB3aWR0aDogcGVyY2VudGFnZSg4IC8gMTIpO1xuXG4gIGZvbnQtZmFtaWx5OiAkRm9udF9NeXJpYWQ7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgY29sb3I6ICNmZmY7XG59XG5cbi8qXG58LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbnwgUGFnZSAtIDQwNCAtIEFjdGlvblxufC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG58XG4qL1xuLnBnLTQwNF9BY3Rpb24ge1xuICBAaW5jbHVkZSBCdXR0b24oKTtcblxuICBkaXNwbGF5OiBibG9jaztcblxuICBAaW5jbHVkZSBNUShzbSkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMjgwcHg7XG5cbiAgICAmICsgJiB7XG4gICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB9XG4gIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */
