/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *  user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
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, nav, section, summary {
  display: block; }

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

/**
 * Prevents 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: 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; }

/**
 * Addresses 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
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
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 {
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

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

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
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.
 * 4. Improves appearance and consistency in all browsers.
 */
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.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
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; }

/**
 * 1. Address box sizing set to `content-box` in IE 8/9/10.
 * 2. Remove excess padding in IE 8/9/10.
 *  Known issue: excess padding remains in IE 6.
 */
input[type="checkbox"], input[type="radio"] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  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 */
  -moz-box-sizing: content-box;
  -webkit-box-sizing: content-box;
  /* 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.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
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; }

.flx--s, .nav--pagination, .flx, .form__container {
  display: table; }

.flx--s, .nav--pagination {
  width: 100%; }

.flx__i, .form__group, .form--search .form__group, .nav--pagination .nav__pagination-link {
  display: table-cell;
  vertical-align: middle; }




.mb {
  overflow: hidden; }

.mb__m {
  float: left;
  margin-right: 25px; }

.mb__m--r {
  float: right;
  margin-left: 25px; }

.mb__b {
  overflow: hidden; }

@font-face {
  font-family: 'Bebas';
  src: url('../fonts/BEBAS___-webfont.eot');
  src: url('../fonts/BEBAS___-webfont.eot?#iefix') format('embedded-opentype'), url('../fonts/BEBAS___-webfont.woff') format('woff'), url('../fonts/BEBAS___-webfont.ttf') format('truetype'), url('../fonts/BEBAS___-webfont.svg#bebasregular') format('svg');
  font-weight: normal;
  font-style: normal; }

.form .button, .form [class*="button--"], .form button, [class*="form__label"], .nav--main, .nav--pagination, .button--back, h1, h2, h3, h4, h5, h6, .site__fineprint {
  font-family: "Bebas", Arial, Helvetica, sans-serif; }

.row {
  width: 1000px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto; }
  .row:after {
    content: "";
    display: table;
    clear: both; }

.col--1 {
  float: left;
  width: 8.33333%; }

.push--1 {
  margin-left: 8.33333%; }

.pull--1 {
  margin-right: -8.33333%; }

.col--2 {
  float: left;
  width: 16.66667%; }

.push--2 {
  margin-left: 16.66667%; }

.pull--2 {
  margin-right: -16.66667%; }

.col--3 {
  float: left;
  width: 25%; }

.push--3 {
  margin-left: 25%; }

.pull--3 {
  margin-right: -25%; }

.col--4 {
  float: left;
  width: 33.33333%; }

.push--4 {
  margin-left: 33.33333%; }

.pull--4 {
  margin-right: -33.33333%; }

.col--5 {
  float: left;
  width: 41.66667%; }

.push--5 {
  margin-left: 41.66667%; }

.pull--5 {
  margin-right: -41.66667%; }

.col--6 {
  float: left;
  width: 50%; }

.push--6 {
  margin-left: 50%; }

.pull--6 {
  margin-right: -50%; }

.col--7 {
  float: left;
  width: 58.33333%; }

.push--7 {
  margin-left: 58.33333%; }

.pull--7 {
  margin-right: -58.33333%; }

.col--8 {
  float: left;
  width: 66.66667%; }

.push--8 {
  margin-left: 66.66667%; }

.pull--8 {
  margin-right: -66.66667%; }

.col--9 {
  float: left;
  width: 75%; }

.push--9 {
  margin-left: 75%; }

.pull--9 {
  margin-right: -75%; }

.col--10 {
  float: left;
  width: 83.33333%; }

.push--10 {
  margin-left: 83.33333%; }

.pull--10 {
  margin-right: -83.33333%; }

.col--11 {
  float: left;
  width: 91.66667%; }

.push--11 {
  margin-left: 91.66667%; }

.pull--11 {
  margin-right: -91.66667%; }

.col--12 {
  float: left;
  width: 100%; }

.push--12 {
  margin-left: 100%; }

.pull--12 {
  margin-right: -100%; }

.list--inline {
  list-style: none;
  margin: 0;
  padding: 0; }
  .list--inline:after {
    content: "";
    display: table;
    clear: both; }
  .list--inline > * {
    display: inline-block;
    float: left; }

.list--stacked {
  list-style: none;
  margin: 0;
  padding: 0; }
  .list--stacked .list__item {
    line-height: 1.5; }

.form {
  font-size: 12px; }
  .form:after {
    content: "";
    display: table;
    clear: both; }
  .form .button, .form [class*="button--"], .form button {
    border: 1px solid #8a8b8d;
    background: #5b5c5e;
    background: #5b5c5e linear-gradient(to bottom, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.6) 70%, rgba(255, 255, 255, 0.5) 90%, rgba(255, 255, 255, 0.3)) no-repeat;
    color: #fff;
    font-size: 10px;
    line-height: 14px;
    height: 20px; }
  .form .button--large {
    font-size: 16px;
    padding: 8px 10px;
    height: 34px; }
  .form a.button {
    padding: 2px 5px 3px; }

.form__section {
  border: none;
  margin: 20px 0;
  padding: 0; }

.form__section-title {
  font-family: Arial, Helvetica, sans-serif;
  font-size: 15px;
  color: #000;
  margin-bottom: 10px; }

.form__row {
  margin: 10px 0; }
  .form__row:after {
    content: "";
    display: table;
    clear: both; }
  .form__row > * {
    float: left; }



.form__input-group {
  float: left; }

[class*="form__input--"], .form__input {
  border: 1px solid #b1b2b3;
  font-size: 10px;
  padding: 3px 5px; }

.form__input--wide {
  width: 175px; }

.form__input--short {
  width: 115px; }

.form__input--number {
  width: 40px;
  text-align: center; }

input[type=number] {
  -moz-appearance: textfield; }
  input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button {
    display: none; }

.form__checkbox, .form__radio {
  position: relative;
  top: -2px;
  line-height: 16px;
  margin-right: 3px;
  margin-left: 5px; }
  .form__checkbox:first-child, .form__radio:first-child {
    margin-left: 0; }

.form__checkbox--inline, .form__radio--inline {
  margin: 0 5px 0 10px; }
  .form__checkbox--inline:first-child, .form__radio--inline:first-child {
    margin-left: 0; }

.form__checkbox--inline {
  margin-top: 1px; }

[class*="form__label"] {
  display: inline-block;
  font-size: 12px;
  line-height: 16px; }

.form__select {
  min-width: 235px; }

.form--search {
  padding: 10px 15px;
  background-color: #efeff0;
  margin-bottom: 15px; }
  .form--search .form__label--inline {
    margin: 2px 5px 0 0;
    float: left; }
  .form--search .form__group {
    padding: 0 10px;
    border-left: 2px solid #bcbbbc; }
    .form--search .form__group:first-child {
      border-left: none;
      padding-left: 0; }

.form--search-advanced {
  font-size: 12px;
  margin-bottom: 20px; }
  .form--search-advanced [class*="form__label"] {
    font-family: Arial, Helvetica, sans-serif; }
  .form--search-advanced .form__label {
    margin-right: 10px; }
  .form--search-advanced .form__label--wide {
    width: 125px; }


.nav__list {
  list-style: none;
  padding: 0;
  margin: 0; }
  .nav__list:after {
    content: "";
    display: table;
    clear: both; }

.nav__list-item {
  float: left; }

.nav__link {
  display: inline-block; }

.nav--main {
  position: absolute;
  right: 0;
  bottom: 4px; }
  .nav--main .nav__list-item {
    border-left: 2px solid #1a94ad; }
    .nav--main .nav__list-item:first-child {
      border: none; }
  .nav--main .nav__link {
    padding: 0 20px;
    font-size: 14px;
    color: #000;
    text-decoration: none; }
    .nav--main .nav__link:hover, .nav--main .nav__link:focus, .nav--main .nav__link:active {
      color: #1a94ad; }
  .nav--main .nav__list {
    margin-top: 2em; }

.nav--pagination {
  margin: 5px 0;
  color: #000; }
  .nav--pagination .nav__pagination-link {
    font-size: 11px;
    text-decoration: none; }
    .nav--pagination .nav__pagination-link:hover, .nav--pagination .nav__pagination-link:focus, .nav--pagination .nav__pagination-link:active {
      text-decoration: underline; }
    .nav--pagination .nav__pagination-link.hidden {
      display: none; }
  .nav--pagination .nav--prev {
    float: left; }
  .nav--pagination .nav--next {
    float: right; }

.nav--social-media {
  padding-right: 10px; }
  .nav--social-media .nav__list-item {
    float: left;
    margin-left: 10px;
    height: 29px; }
    .nav--social-media .nav__list-item:first-child {
      margin-left: 0; }
  .nav--social-media .nav__link img {
    display: block; }

.fll {
  float: left; }

.flr {
  float: right; }

.highlight, .story__title, .credits .year {
  color: #0088a4; }

.button--back {
  display: inline-block;
  font-size: 12px; }

.mini-margin--bottom {
  margin-bottom: 15px; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

img {
  display: inline-block;
  max-width: 100%; }

html {
  line-height: 1;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

a {
  color: inherit;
  text-decoration: none; }
  a:hover, a:focus, a:active {
    color: #1a94ad; }

hr {
  height: 0;
  display: block;
  border: none;
  border-top: 1px solid #c9cacb;
  margin: 20px 0; }

h1, h2, h3, h4, h5, h6 {
  color: #e9eaeb;
  margin: 0 0 30px; }

h1 {
  font-size: 44px; }

p {
  margin: 0; }

.site__header {
  position: relative;
  min-height: 115px;
  padding-top: 30px;
  margin-bottom: 20px; }

.site__logo {
  display: inline-block;
  float: left; }

.site__main {
  position: relative;
  min-height: 450px; }

.site__footer {
  margin-top: 10px; }

.site__fineprint {
  font-size: 10px;
  margin: 0;
  color: #bcbec0; }
  .site__fineprint strong {
    display: block;
    margin-bottom: 2px;
    color: #9d9fa2;
    font-weight: 400; }

.page {
  font-size: 12px; }
  .page p {
    color: #515254;
    font-size: 12px;
    line-height: 1.8; }


.page__header {
  margin: 30px 0 10px;
  font-size: 15px;
  color: #000;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

.story {
  padding-left: 25px; }
  .story p {
    margin-bottom: 10px; }
    .story p:last-child {
      margin-bottom: 0; }

.story--separated {
  padding-left: 0;
  padding-right: 25px;
  border-right: 1px solid #939598; }

.story__title {
  font-size: 12px;
  font-family: Arial, "Helvetica Neue", Helvetica, sans-serif;
  margin: 0 0 10px; }

.gallery {
  display: block;
  list-style: none;
  padding: 0;
  margin: 0 -10px 10px -10px;
  margin-left: -12.5px;
  margin-right: -12.5px; }
  .gallery:after {
    content: "";
    display: table;
    clear: both; }
  .gallery .gallery__item {
    padding: 10px 12.5px; }
  .gallery.six-up .gallery__item {
    width: 16.66667%; }
  .gallery.five-up .gallery__item {
    width: 20%; }

.gallery__item {
  float: left; }

.gallery__link {
  display: inline-block; }

.gallery__media {
  display: block;
  width: 146px;
  height: 181px; }

.gallery__media--large {
  display: block;
  width: 180px;
  height: 223px; }

.gallery__title {
  display: block;
  text-align: center;
  font-size: 10px;
  margin: 5px 0 0; }

.details {
  list-style: none;
  margin: 0 0 10px;
  padding: 0;
  border-top: 2px solid #e4e4e5;
  border-bottom: 2px solid #e4e4e5;
  font-size: 12px;
  line-height: 1; }
  .details:after {
    content: "";
    display: table;
    clear: both; }

.details__item {
  float: left;
  padding: 0 8px;
  margin: 9px 0;
  border-left: 1px solid #8c8d8e; }
  .details__item:first-child {
    padding-left: 0;
    border-left: none; }

.details__item-key {
  display: inline-block;
  color: #0088a4;
  font-weight: bold; }

.details__item-value {
  display: inline-block;
  color: #515254; }

.credits .year {
  display: inline-block;
  margin-right: 5px; }

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiIiwic291cmNlcyI6WyJhcHAvYXNzZXRzL3Nhc3MvbWFpbi5zY3NzIiwiYXBwL2Fzc2V0cy9ib3dlcl9jb21wb25lbnRzL25vcm1hbGl6ZS1zY3NzL19ub3JtYWxpemUuc2NzcyIsImFwcC9hc3NldHMvc2Fzcy9fY29uZmlnLnNjc3MiLCJhcHAvYXNzZXRzL3Nhc3MvX21peGlucy5zY3NzIiwiYXBwL2Fzc2V0cy9zYXNzL21vZHVsZXMvX2ZsZXhib3guc2NzcyIsImFwcC9hc3NldHMvc2Fzcy9tb2R1bGVzL19tZWRpYS1ibG9jay5zY3NzIiwiYXBwL2Fzc2V0cy9zYXNzL21vZHVsZXMvX2ZvbnRzLnNjc3MiLCJhcHAvYXNzZXRzL3Nhc3MvbW9kdWxlcy9fZ3JpZC5zY3NzIiwiYXBwL2Fzc2V0cy9zYXNzL21vZHVsZXMvX2xpc3Quc2NzcyIsImFwcC9hc3NldHMvc2Fzcy9tb2R1bGVzL19mb3JtLnNjc3MiLCJhcHAvYXNzZXRzL3Nhc3MvbW9kdWxlcy9fbmF2LnNjc3MiLCJhcHAvYXNzZXRzL3Nhc3MvX2hlbHBlcnMuc2NzcyIsImFwcC9hc3NldHMvc2Fzcy9fYmFzZS5zY3NzIiwiYXBwL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX3NpdGUuc2NzcyIsImFwcC9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19wYWdlLnNjc3MiLCJhcHAvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fc3Rvcnkuc2NzcyIsImFwcC9hc3NldHMvc2Fzcy9jb21wb25lbnRzL19nYWxsZXJ5LnNjc3MiLCJhcHAvYXNzZXRzL3Nhc3MvY29tcG9uZW50cy9fZGV0YWlscy5zY3NzIiwiYXBwL2Fzc2V0cy9zYXNzL2NvbXBvbmVudHMvX2NyZWRpdHMuc2NzcyIsImFwcC9hc3NldHMvZm9udHMvX2JlYmFzLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUNzQkE7RUFDRSxhQUFhOztFQUNiLHNCQUFzQjs7RUFDdEIsMEJBQTBCOzs7Ozs7QUFVNUI7RUFDRSxRQUFR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RUFDSSxPQUFPOztBQUVYO0VBQ00sU0FBUzs7QUFFZjtFQUNRLFNBQVM7RUFDVCxPQUFRO0VBQ1IsUUFBUTs7QUFFaEI7RUFDUSxTQUFTO0VBQ1QsT0FBUTtFQUNSLFFBQVE7O0FBRWhCO0VBQ1EsU0FBUztFQUNULFlBQVk7RUFDWixXQUFXO0VBQ1gsUUFBUTs7QUNyRGhCO0VBTUUsWUFBWTtFQUNaLFFBQVE7RUFDUixTQUFTO0VBRVQsWUFBWTtFQUNaLGVBQWU7RUFFZixXQUFXO0VBQ1gsYUFBYTtFZFZmLFFBQVE7SUFFSixTQUFTO0lBQ1QsU0FBUztJQUNULE9BQU87O0FjUVg7RUFDSSxPQUFPO0VBRVAsU0FBUztFQUNULFFBQVE7RUFDUixhQUFhO0VBQWpCLGNBQWM7SUFHUixjQUFjO0lBQ2QsYUFBYTs7QUFHbkI7RUFDTSxTQUFTO0VBQ1QsT0FBTztFQUNQLGFBQWE7O0FBRW5CO0VBQ00sU0FBUztFQUNULE9BQU87O0FDaENiLFNBQVM7RUFHTCxTQUFTO0VBQ1QsY0FBYyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNYXN0ZXIgRmlsZVxuLy8gSW5jbHVkZXMgb3RoZXIgZmlsZXMgdG8gb3V0cHV0IGEgc2luZ2xlLCBmaW5hbCwgQ1NTIGZpbGUgZHVyaW5nIGNvbXBpbGF0aW9uLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcIi4uL2Jvd2VyX2NvbXBvbmVudHMvbm9ybWFsaXplLXNjc3Mvbm9ybWFsaXplXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb25maWdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiY29uZmlnXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBVdGlsaXR5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcIm1peGluc1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTW9kdWxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJtb2R1bGVzL2ZsZXhib3hcIjtcbkBpbXBvcnQgXCJtb2R1bGVzL21lZGlhLWJsb2NrXCI7XG5AaW1wb3J0IFwibW9kdWxlcy9mb250c1wiO1xuQGltcG9ydCBcIm1vZHVsZXMvZ3JpZFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbGlzdFwiO1xuQGltcG9ydCBcIm1vZHVsZXMvZm9ybVwiO1xuQGltcG9ydCBcIm1vZHVsZXMvbmF2XCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlbGluZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJoZWxwZXJzXCI7XG5AaW1wb3J0IFwiYmFzZVwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gQ29tcG9uZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJjb21wb25lbnRzL3NpdGVcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3BhZ2VcIjtcbkBpbXBvcnQgXCJjb21wb25lbnRzL3N0b3J5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9nYWxsZXJ5XCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9kZXRhaWxzXCI7XG5AaW1wb3J0IFwiY29tcG9uZW50cy9jcmVkaXRzXCI7IiwiLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIE5vcm1hbGl6ZS5zY3NzIHNldHRpbmdzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBJbmNsdWRlcyBsZWdhY3kgYnJvd3NlciBzdXBwb3J0IElFNi83XG4gKlxuICogU2V0IHRvIGZhbHNlIGlmIHlvdSB3YW50IHRvIGRyb3Agc3VwcG9ydCBmb3IgSUU2IGFuZCBJRTdcbiAqL1xuXG4kbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8qIEJhc2VcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogIHVzZXIgem9vbS5cbiAqIDMuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICBgZW1gIHVuaXRzLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqZm9udC1zaXplOiAxMDAlOyAvKiAzICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTEgYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAqem9vbTogMTtcbiAgfVxufVxuXG4vKipcbiAqIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYSB7XG4gICY6YWN0aXZlLCAmOmhvdmVyIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9O1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMWVtIDQwcHg7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBtYXJnaW46IDAuODNlbSAwO1xuICB9XG5cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xN2VtO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gICAgbWFyZ2luOiAxLjMzZW0gMDtcbiAgfVxuXG4gIGg1IHtcbiAgICBmb250LXNpemU6IDAuODNlbTtcbiAgICBtYXJnaW46IDEuNjdlbSAwO1xuICB9XG5cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC42N2VtO1xuICAgIG1hcmdpbjogMi4zM2VtIDA7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzZXMgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBwLFxuICBwcmUge1xuICAgICptYXJnaW46IDFlbSAwO1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIENTUyBxdW90ZXMgbm90IHN1cHBvcnRlZCBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIHEge1xuICAgICpxdW90ZXM6IG5vbmU7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgYHF1b3Rlc2AgcHJvcGVydHkgbm90IHN1cHBvcnRlZCBpbiBTYWZhcmkgNC5cbiAgICovXG5cbiAgcTpiZWZvcmUsXG4gIHE6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGNvbnRlbnQ6IG5vbmU7XG4gIH1cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG5AaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuXG4gIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgIExpc3RzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLypcbiAgICogQWRkcmVzc2VzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIElFIDYvNy5cbiAgICovXG5cbiAgZGwsXG4gIG1lbnUsXG4gIG9sLFxuICB1bCB7XG4gICAgKm1hcmdpbjogMWVtIDA7XG4gIH1cblxuICBkZCB7XG4gICAgKm1hcmdpbjogMCAwIDAgNDBweDtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBwYWRkaW5ncyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBtZW51LFxuICBvbCxcbiAgdWwge1xuICAgICpwYWRkaW5nOiAwIDAgMCA0MHB4O1xuICB9XG5cbiAgLypcbiAgICogQ29ycmVjdHMgbGlzdCBpbWFnZXMgaGFuZGxlZCBpbmNvcnJlY3RseSBpbiBJRSA3LlxuICAgKi9cblxuICBuYXYgdWwsXG4gIG5hdiBvbCB7XG4gICAgKmxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgKmxpc3Qtc3R5bGUtaW1hZ2U6IG5vbmU7XG4gIH1cblxufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICogMi4gSW1wcm92ZXMgaW1hZ2UgcXVhbGl0eSB3aGVuIHNjYWxlZCBpbiBJRSA3LlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgLyogMiAqL1xuICB9XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKiBDb3JyZWN0IGZvbnQgZmFtaWx5IHNldCBvZGRseSBpbiBJRSA2LCBTYWZhcmkgNC81LCBhbmQgQ2hyb21lLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIF9mb250LWZhbWlseTogJ2NvdXJpZXIgbmV3JywgbW9ub3NwYWNlO1xuICB9XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICogNC4gSW1wcm92ZXMgYXBwZWFyYW5jZSBhbmQgY29uc2lzdGVuY3kgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAzICovXG4gICAgKnZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqIDQuIFJlbW92ZXMgaW5uZXIgc3BhY2luZyBpbiBJRSA3IHdpdGhvdXQgYWZmZWN0aW5nIG5vcm1hbCB0ZXh0IGlucHV0cy5cbiAqICBLbm93biBpc3N1ZTogaW5uZXIgc3BhY2luZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKm92ZXJmbG93OiB2aXNpYmxlOyAgLyogNCAqL1xuICB9XG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpoZWlnaHQ6IDEzcHg7IC8qIDMgKi9cbiAgICAqd2lkdGg6IDEzcHg7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiA0LiBDb3JyZWN0cyBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDMgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDQgKi9cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRmxleGJveFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiVmbGV4Ym94IHtcbiAgZGlzcGxheTogdGFibGU7XG59XG4lZmxleGJveC0tcyB7XG4gIEBleHRlbmQgJWZsZXhib3g7XG4gIHdpZHRoOiAxMDAlO1xufVxuJWZsZXhib3hfX2l0ZW0ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5AbWl4aW4gZmx4ICAgIHsgQGV4dGVuZCAlZmxleGJveDsgfVxuQG1peGluIGZseC0tcyB7IEBleHRlbmQgJWZsZXhib3gtLXM7IH1cbkBtaXhpbiBmbHhfX2kgeyBAZXh0ZW5kICVmbGV4Ym94X19pdGVtOyB9XG5cbi5mbHggICAgeyBAaW5jbHVkZSBmbHggO31cbi5mbHgtLXMgeyBAaW5jbHVkZSBmbHgtLXMgO31cbi5mbHhfX2kgeyBAaW5jbHVkZSBmbHhfX2kgO30iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTWVkaWEgQmxvY2tcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubWIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuICAubWJfX20ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgfVxuICAubWJfX20tLXIge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgfVxuICAubWJfX2Ige1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gRm9udHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiLi4vLi4vZm9udHMvYmViYXNcIjtcblxuJGN1c3RvbS1mb250OiBcIkJlYmFzXCI7XG5cbiV0aGVtZS1mb250IHsgZm9udC1mYW1pbHk6ICRjdXN0b20tZm9udCwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjsgfVxuXG5AbWl4aW4gdGhlbWUtZm9udC1jdXN0b20ge1xuICBAZXh0ZW5kICV0aGVtZS1mb250O1xufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kZ3JpZC1jb2x1bW5zOiAxMjtcbiRncmlkLXdpZHRoOiAxMDAlO1xuXG4kZ3JpZC1tYXgtd2lkdGg6IDEwMDBweDtcblxuLy8gUm93c1xuLnJvdyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIHdpZHRoOiAkZ3JpZC1tYXgtd2lkdGg7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbn1cblxuLy8gQ29sdW1uc1xuQGZvciAkaW5kZXggZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICRjYWxsZXI6ICRncmlkLWNvbHVtbnMgKyAxIC0gJGluZGV4O1xuICAkd2lkdGg6ICAkaW5kZXggLyAkZ3JpZC1jb2x1bW5zICogJGdyaWQtd2lkdGg7XG5cbiAgLmNvbC0tI3skaW5kZXh9IHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICB9XG5cbiAgLy8gUHVzaC9QdWxsXG4gIC5wdXNoLS0jeyRpbmRleH0geyBtYXJnaW4tbGVmdDogJHdpZHRoOyB9XG4gIC5wdWxsLS0jeyRpbmRleH0geyBtYXJnaW4tcmlnaHQ6IC0jeyR3aWR0aH07IH1cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTGlzdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ubGlzdC0taW5saW5lIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxufVxuXG4ubGlzdC0tc3RhY2tlZCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcblxuICAubGlzdF9faXRlbSB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgfVxufSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBGb3Jtc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5mb3JtIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICAuYnV0dG9uLFxuICBbY2xhc3MqPVwiYnV0dG9uLS1cIl0sXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgdGhlbWUtZm9udC1jdXN0b207XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGI4ZDtcbiAgICBiYWNrZ3JvdW5kOiAjNWI1YzVlO1xuICAgIGJhY2tncm91bmQ6ICM1YjVjNWUgbGluZWFyLWdyYWRpZW50KHRvIGJvdHRvbSwgcmdiYSgjZmZmLCAwKSwgcmdiYSgjZmZmLCAuNikgNzAlLCByZ2JhKCNmZmYsIC41KSA5MCUsIHJnYmEoI2ZmZiwgLjMpKSBuby1yZXBlYXQ7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgfVxuICAuYnV0dG9uLS1sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGhlaWdodDogMzRweDtcbiAgfVxuXG4gIGEuYnV0dG9uIHsgcGFkZGluZzogMnB4IDVweCAzcHg7IH1cbn1cbiAgLmZvcm1fX3NlY3Rpb24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gICAgLmZvcm1fX3NlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICAuZm9ybV9fcm93IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW46IDEwcHggMDtcblxuICAgID4gKiB7IGZsb2F0OiBsZWZ0OyB9XG4gIH1cbiAgLmZvcm1fX2NvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZmx4O1xuICB9XG4gIC5mb3JtX19ncm91cCB7XG4gICAgQGluY2x1ZGUgZmx4X19pO1xuICB9XG5cbiAgLmZvcm1fX2lucHV0LWdyb3VwIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuXG4gIFtjbGFzcyo9XCJmb3JtX19pbnB1dC0tXCJdLFxuICAuZm9ybV9faW5wdXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiMWIyYjM7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gIH1cbiAgLmZvcm1fX2lucHV0LS13aWRlIHtcbiAgICB3aWR0aDogMTc1cHg7XG4gIH1cbiAgLmZvcm1fX2lucHV0LS1zaG9ydCB7XG4gICAgd2lkdGg6IDExNXB4O1xuICB9XG4gIC5mb3JtX19pbnB1dC0tbnVtYmVyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgaW5wdXRbdHlwZT1udW1iZXJdIHtcbiAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgfVxuXG4gIC5mb3JtX19jaGVja2JveCxcbiAgLmZvcm1fX3JhZGlvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAtMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgfVxuICAuZm9ybV9fY2hlY2tib3gtLWlubGluZSxcbiAgLmZvcm1fX3JhZGlvLS1pbmxpbmUge1xuICAgIG1hcmdpbjogMCA1cHggMCAxMHB4O1xuICAgICY6Zmlyc3QtY2hpbGQgeyBtYXJnaW4tbGVmdDogMDsgfVxuICB9XG4gIC5mb3JtX19jaGVja2JveC0taW5saW5lIHsgbWFyZ2luLXRvcDogMXB4OyB9XG5cbiAgW2NsYXNzKj1cImZvcm1fX2xhYmVsXCJdIHtcbiAgICBAaW5jbHVkZSB0aGVtZS1mb250LWN1c3RvbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB9XG5cbiAgLmZvcm1fX3NlbGVjdCB7XG4gICAgbWluLXdpZHRoOiAyMzVweDtcbiAgfVxuXG5cbi5mb3JtLS1zZWFyY2gge1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZjA7XG4gIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgLmZvcm1fX2xhYmVsLS1pbmxpbmUge1xuICAgIG1hcmdpbjogMnB4IDVweCAwIDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gIH1cblxuICAuZm9ybV9fZ3JvdXAge1xuICAgIEBpbmNsdWRlIGZseF9faTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjYmNiYmJjO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7IGJvcmRlci1sZWZ0OiBub25lOyBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgfVxufVxuLmZvcm0tLXNlYXJjaC1hZHZhbmNlZCB7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBbY2xhc3MqPVwiZm9ybV9fbGFiZWxcIl0ge1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5mb3JtX19sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICB9XG4gIC5mb3JtX19sYWJlbC0td2lkZSB7IHdpZHRoOiAxMjVweDsgfVxuICAuZm9ybV9fcmFkaW8ge31cbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gTmF2aWdhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5uYXYge31cbiAgLm5hdl9fbGlzdCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICAubmF2X19saXN0LWl0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5uYXZfX2xpbmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuXG4ubmF2LS1tYWluIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgYm90dG9tOiA0cHg7XG4gIEBpbmNsdWRlIHRoZW1lLWZvbnQtY3VzdG9tO1xuXG4gIC5uYXZfX2xpc3QtaXRlbSB7XG4gICAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCAjMWE5NGFkO1xuICAgICY6Zmlyc3QtY2hpbGQgeyBib3JkZXI6IG5vbmU7IH1cbiAgfVxuICAubmF2X19saW5rIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHsgY29sb3I6ICMxYTk0YWQ7IH1cbiAgfVxuICAubmF2X19saXN0IHtcbiAgICBtYXJnaW4tdG9wOiAyZW07XG4gIH1cbn1cblxuLm5hdi0tcGFnaW5hdGlvbiB7XG4gIEBpbmNsdWRlIGZseC0tcztcbiAgQGluY2x1ZGUgdGhlbWUtZm9udC1jdXN0b207XG4gIG1hcmdpbjogNXB4IDA7XG4gIGNvbG9yOiAjMDAwO1xuXG4gIC5uYXZfX3BhZ2luYXRpb24tbGluayB7XG4gICAgQGluY2x1ZGUgZmx4X19pO1xuXG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuICAgICYuaGlkZGVuIHsgZGlzcGxheTogbm9uZTsgfVxuICB9XG4gIC5uYXYtLXByZXYgeyBmbG9hdDogbGVmdDsgfVxuICAubmF2LS1uZXh0IHsgZmxvYXQ6IHJpZ2h0OyB9XG59XG5cbi5uYXYtLXNvY2lhbC1tZWRpYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG5cbiAgLm5hdl9fbGlzdC1pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBoZWlnaHQ6IDI5cHg7XG5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgfVxuICAgIC5uYXZfX2xpbmsge1xuICAgICAgaW1nIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG59IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi5mbGwgeyBmbG9hdDogbGVmdDsgfVxuLmZsciB7IGZsb2F0OiByaWdodDsgfVxuXG4uaGlnaGxpZ2h0IHtcbiAgY29sb3I6ICMwMDg4YTQ7XG59XG5cbi5idXR0b24tLWJhY2sge1xuICBAaW5jbHVkZSB0aGVtZS1mb250LWN1c3RvbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG59XG5cbi5taW5pLW1hcmdpbi0tYm90dG9tIHsgbWFyZ2luLWJvdHRvbTogMTVweDsgfSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBCYXNlbGluZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuKiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmltZyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5odG1sIHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG59XG5cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMsICY6YWN0aXZlIHtcbiAgICBjb2xvcjogIzFhOTRhZDtcbiAgfVxufVxuXG5ociB7XG4gIGhlaWdodDogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjOWNhY2I7XG4gIG1hcmdpbjogMjBweCAwO1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgQGluY2x1ZGUgdGhlbWUtZm9udC1jdXN0b207XG4gIGNvbG9yOiAjZTllYWViO1xuICBtYXJnaW46IDAgMCAzMHB4O1xufVxuaDEgeyBmb250LXNpemU6IDQ0cHg7IH1cblxucCB7XG4gIG1hcmdpbjogMDtcbn0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU2l0ZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi5zaXRlX19oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDExNXB4O1xuICBwYWRkaW5nLXRvcDogMzBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuICAuc2l0ZV9fbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG5cbi5zaXRlX19tYWluIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiA0NTBweDtcbn1cblxuLnNpdGVfX2Zvb3RlciB7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG59XG5cbiAgLnNpdGVfX2ZpbmVwcmludCB7XG4gICAgQGluY2x1ZGUgdGhlbWUtZm9udC1jdXN0b207XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogI2JjYmVjMDtcblxuICAgIHN0cm9uZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIGNvbG9yOiAjOWQ5ZmEyO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB9XG4gIH0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUGFnZSBTdHlsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4ucGFnZSB7XG4gIGZvbnQtc2l6ZTogMTJweDtcblxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHt9XG4gIHAge1xuICAgIGNvbG9yOiAjNTE1MjU0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMS44O1xuICB9XG59XG5cbiAgLnBhZ2VfX3RpdGxlIHt9XG4gIC5wYWdlX19oZWFkZXIge1xuICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH0iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3Rvcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uc3Rvcnkge1xuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgJjpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICB9XG4gIHBhZGRpbmctbGVmdDogMjVweDtcbn1cbi5zdG9yeS0tc2VwYXJhdGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAyNXB4O1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTM5NTk4O1xufVxuICAuc3RvcnlfX3RpdGxlIHtcbiAgICBAZXh0ZW5kIC5oaWdobGlnaHQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtZmFtaWx5OiBBcmlhbCwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgfSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBHYWxsZXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmdhbGxlcnkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMCAtMTBweCAxMHB4IC0xMHB4O1xuXG4gICR3aWR0aDogIDEwMDBweDtcbiAgJGd1dHRlcjogICAyNXB4O1xuXG4gIG1hcmdpbi1sZWZ0OiAgLSN7JGd1dHRlciAvIDJ9O1xuICBtYXJnaW4tcmlnaHQ6IC0jeyRndXR0ZXIgLyAyfTtcblxuICAuZ2FsbGVyeV9faXRlbSB7XG4gICAgcGFkZGluZzogMTBweCAjeyRndXR0ZXIgLyAyfTtcbiAgfVxuXG4gICYuc2l4LXVwIHtcbiAgICAuZ2FsbGVyeV9faXRlbSB7XG4gICAgICB3aWR0aDogMTYuNjY2NjY2NjY3JTtcbiAgICB9XG4gIH1cbiAgJi5maXZlLXVwIHtcbiAgICAuZ2FsbGVyeV9faXRlbSB7XG4gICAgICB3aWR0aDogMjAlO1xuICAgIH1cbiAgfVxufVxuXG5cbiAgLmdhbGxlcnlfX2l0ZW0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gICAgLmdhbGxlcnlfX2xpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICAgIC5nYWxsZXJ5X19tZWRpYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogIDE0NnB4O1xuICAgICAgICBoZWlnaHQ6IDE5M3B4O1xuICAgICAgfVxuICAgICAgLmdhbGxlcnlfX21lZGlhLS1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogIDE4MHB4O1xuICAgICAgICBoZWlnaHQ6IDIyMHB4O1xuICAgICAgfVxuICAgICAgLmdhbGxlcnlfX3RpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgICB9IiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIERldGFpbHMgKExpc3QgdHlwZSlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4uZGV0YWlscyB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDA7XG5cbiAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNlNGU0ZTU7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZTRlNGU1O1xuXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG4gIC5kZXRhaWxzX19pdGVtIHtcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIHBhZGRpbmc6IDAgOHB4O1xuICAgIG1hcmdpbjogOXB4IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOGM4ZDhlO1xuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICB9XG4gIH1cbiAgICAuZGV0YWlsc19faXRlbS1rZXkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICMwMDg4YTQ7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gICAgLmRldGFpbHNfX2l0ZW0tdmFsdWUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgY29sb3I6ICM1MTUyNTQ7XG4gICAgfSIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDcmVkaXRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLmNyZWRpdHMge1xuICAueWVhciB7XG4gICAgQGV4dGVuZCAuaGlnaGxpZ2h0O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgfVxufSIsIkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0JlYmFzJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnRzL0JFQkFTX19fLXdlYmZvbnQuZW90Jyk7XG4gIHNyYzogdXJsKCcuLi9mb250cy9CRUJBU19fXy13ZWJmb250LmVvdD8jaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gICAgICAgdXJsKCcuLi9mb250cy9CRUJBU19fXy13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgICAgICB1cmwoJy4uL2ZvbnRzL0JFQkFTX19fLXdlYmZvbnQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICAgICAgIHVybCgnLi4vZm9udHMvQkVCQVNfX18td2ViZm9udC5zdmcjYmViYXNyZWd1bGFyJykgZm9ybWF0KCdzdmcnKTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufSJdfQ==*/