  @charset "UTF-8";
/***
    * Normalize CSS (http://github.com/necolas/normalize.css)
    ***/
article, aside, details, figcaption, figure, footer, header, hgroup, nav, section, summary {
  display: block; }

audio, canvas, video {
  display: inline-block;
  *display: inline;
  *zoom: 1; }

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

[hidden] {
  display: none; }

html {
  font-size: 100%;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 2 */ }

html, button, input, select, textarea {
  font-family: sans-serif; }

body {
  margin: 0; }

a:focus {
  outline: thin dotted; }

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

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

b, strong {
  font-weight: bold; }

blockquote {
  margin: 1em 40px; }

dfn {
  font-style: italic; }

mark {
  background: #ff0;
  color: #000; }

pre {
  margin: 1em 0; }

pre, code, kbd, samp {
  font-family: monospace, serif;
  _font-family: 'courier new', monospace;
  font-size: 1em; }

pre {
  white-space: pre;
  white-space: pre-wrap;
  word-wrap: break-word; }

q {
  quotes: none; }

q:before, q:after {
  content: '';
  content: none; }

small {
  font-size: 75%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

dl, menu, ol, ul {
  margin: 1em 0; }

dd {
  margin: 0 0 0 40px; }

menu, ol, ul {
  padding: 0 0 0 40px; }

nav ul, nav ol {
  list-style: none;
  list-style-image: none; }

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

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 0; }

form {
  margin: 0; }

fieldset {
  border: 1px solid #c0c0c0;
  margin: 0 2px;
  padding: 0.35em 0.625em 0.75em; }

legend {
  border: 0;
  padding: 0;
  white-space: normal;
  *margin-left: -7px; }

button, input, select, textarea {
  font-size: 100%;
  margin: 0;
  vertical-align: baseline;
  *vertical-align: middle; }

button, input {
  line-height: normal; }

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

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

input[type="checkbox"], input[type="radio"] {
  box-sizing: border-box;
  padding: 0;
  *height: 13px;
  *width: 13px; }

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

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

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

textarea {
  overflow: auto;
  vertical-align: top; }

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

/* @license
 * MyFonts Webfont Build ID 2681081, 2013-11-04T14:23:15-0500
 *
 * The fonts listed in this notice are subject to the End User License
 * Agreement(s) entered into by the website owner. All other parties are
 * explicitly restricted from using the Licensed fonts(s).
 *
 * You may obtain a valid license at the URLs below.
 *
 * Webfont: PMN Caecilia Com 75 Bold by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/pmn-caecilia/com-75-bold/
 *
 * Webfont: PMN Caecilia Com 55 Roman by Linotype
 * URL: http://www.myfonts.com/fonts/linotype/pmn-caecilia/com-55-roman/
 *
 *
 * License: http://www.myfonts.com/viewlicense?type=web&buildid=2681081
 * Licensed pageviews: 1,000,000
 * Webfonts copyright: Part of the digitally encoded machine readable outline data for producing the Typefaces provided is copyrighted &#x00A9; 2007 Linotype GmbH, www.linotype.com. All rights reserved. This software is the property of Linotype GmbH, and may not be reproduced,
 *
 * © 2013 MyFonts Inc
*/
/* @import must be at top of file, otherwise CSS will not work */
@font-face {
  font-family: 'CaeciliaCom-46LightItalic';
  src: url("/ksc/templates/fonts/2D442F_0_0.eot");
  src: url("/ksc/templates/fonts/2D442F_0_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_0_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_0_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_0_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-56Italic';
  src: url("/ksc/templates/fonts/2D442F_1_0.eot");
  src: url("/ksc/templates/fonts/2D442F_1_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_1_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_1_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_1_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-75Bold';
  src: url("/ksc/templates/fonts/2D442F_2_0.eot");
  src: url("/ksc/templates/fonts/2D442F_2_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_2_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_2_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_2_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-76BoldItalic';
  src: url("/ksc/templates/fonts/2D442F_3_0.eot");
  src: url("/ksc/templates/fonts/2D442F_3_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_3_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_3_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_3_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-86HeavyItalic';
  src: url("/ksc/templates/fonts/2D442F_4_0.eot");
  src: url("/ksc/templates/fonts/2D442F_4_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_4_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_4_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_4_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-55Roman';
  src: url("/ksc/templates/fonts/2D442F_5_0.eot");
  src: url("/ksc/templates/fonts/2D442F_5_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_5_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_5_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_5_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-45Light';
  src: url("/ksc/templates/fonts/2D442F_6_0.eot");
  src: url("/ksc/templates/fonts/2D442F_6_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_6_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_6_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_6_0.ttf") format("truetype"); }

@font-face {
  font-family: 'CaeciliaCom-85Heavy';
  src: url("/ksc/templates/fonts/2D442F_7_0.eot");
  src: url("/ksc/templates/fonts/2D442F_7_0.eot") format("embedded-opentype"), url("/ksc/templates/fonts/2D442F_7_0.woff2") format("woff2"), url("/ksc/templates/fonts/2D442F_7_0.woff") format("woff"), url("/ksc/templates/fonts/2D442F_7_0.ttf") format("truetype"); }

/*  body {background-color: pink;}
    #content {background-color: lime;}*/
/* KSC Mixin Libary
*
*
*
*
*
*
*
*/
/*
    Type scale 16pt base

    h1    36        2.2em // BC changed from 2.25em which had some Windows wonkyness
    h2    24        1.5em
    h3    21        1.25em // BC changed from 1.3125em which had some Windows wonkyness

    h4    18        1.125em
    h5    16        1em

          12        .75em
          10        .625em
*/
*, *:before, *:after {
  box-sizing: border-box; }

/***
* HTML STYLES
***/
p, ul, li, cite, input, label, button {
  font-family: "proxima-nova-condensed", sans-serif;
  font-size: 1em;
  font-weight: 300; }
  p strong, ul strong, li strong, cite strong, input strong, label strong, button strong {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 1em;
    font-weight: 700; }

h1, h2, h3, h4, h5, h6, p, li, cite {
  color: #444;
  line-height: 1.5em; }

h1 {
  font-family: "proxima-nova-condensed", sans-serif;
  font-weight: 700;
  font-size: 2.2em;
  margin: 0;
  line-height: 1em; }

h2 {
  font-family: "proxima-nova-condensed", sans-serif;
  font-weight: 700;
  font-size: 1.5em;
  margin: 0; }

h3 {
  font-family: "proxima-nova-condensed", sans-serif;
  font-weight: 700;
  font-size: 1.25em;
  margin: 0; }

h4 {
  font-family: "proxima-nova-condensed", sans-serif;
  font-weight: 700;
  font-size: 1.125em;
  margin: 0; }

h5 {
  font-family: "proxima-nova-condensed", sans-serif;
  font-weight: 700;
  font-size: 1em;
  margin: 0; }

ul {
  margin: 0; }

a {
  text-decoration: none; }

body {
  background-color: #444; }

figure.classic img {
  width: 100%; }

/***
* Import/Management
***/
div.clear {
  clear: both; }

table {
  border-collapse: collapse; }

.screen_reader {
  position: absolute;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  border: 0;
  clip: rect(0 0 0 0); }

a.icon img {
  vertical-align: -5%; }

.checks {
  margin-top: 3px; }
  .checks span {
    display: block;
    float: left;
    height: 18px;
    margin: 0 2px; }
    .checks span img {
      text-align: middle;
      vertical-align: center; }
  .checks span.empty {
    opacity: 0.2; }

.ctemplate {
  display: block;
  clear: left;
  margin-top: 0.5em; }
  .ctemplate img {
    display: block;
    float: left;
    margin-right: 1em; }
  .ctemplate strong, .ctemplate p {
    margin-top: 0.5em; }

td, th {
  font-family: "proxima-nova-condensed", sans-serif;
  font-size: 1em;
  font-weight: 300;
  text-align: left;
  vertical-align: top;
  padding: 0.5em 1em;
  border: 1px solid #eee; }
  td .info, th .info {
    color: #aaa;
    font-style: italic; }
  td .s90, th .s90 {
    font-size: 90%; }
  td strong, th strong {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 1em;
    font-weight: 700; }

th {
  font-family: "proxima-nova-condensed", sans-serif;
  font-size: 1em;
  font-weight: 700;
  background-color: #f5f4f2; }

ul.tabs {
  float: right; }
  ul.tabs li {
    display: inline-block; }
  ul.tabs li.current a {
    background-color: #4B721D;
    color: white; }

div.panel {
  margin-bottom: 1em; }

form.directions {
  margin-top: 1em; }
  form.directions div {
    margin-top: 0.5em; }
    form.directions div input[type=submit] {
      margin-left: 1em; }

.about_navigation {
  float: right; }
  .about_navigation ul {
    margin: 0.5em 0 0; }
    .about_navigation ul li {
      display: inline-block;
      list-style-type: none;
      font-size: 0.875;
      padding: 0 0.4em;
      border-left: 1px dotted #ccc; }
    .about_navigation ul li:first-child {
      border-left: none; }

/***
* Layout
***/
body {
  max-width: 1000px;
  /* override in desktop breakpoint if need be. */ }

.block.image img {
  max-width: 100%; }

#container {
  overflow: hidden;
  width: 100%;
  background-color: #fff;
  margin: auto; }

#content {
  overflow: hidden; }

#header {
  background-color: #E0AA0F;
  border-bottom: 20px solid #f6d57f;
  overflow: hidden; }
  #header #mast_head {
    position: relative; }
  #header #home {
    background-color: #f1efee;
    padding: .5em;
    margin-top: .5em;
    margin-bottom: .5em; }
    #header #home img {
      max-width: 100%;
      overflow: none; }
  #header .hero_shot {
    margin-top: .5em;
    margin-bottom: .5em;
    max-height: 400px; }
    #header .hero_shot .text {
      position: absolute; }
      #header .hero_shot .text h1, #header .hero_shot .text h2 {
        color: #f1efee;
        margin: 0;
        text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.8), 0px 0px 4px rgba(0, 0, 0, 0.5); }
        #header .hero_shot .text h1 > *, #header .hero_shot .text h2 > * {
          background-color: rgba(0, 0, 0, 0.4);
          padding: 0 0.5rem; }
      #header .hero_shot .text p {
        color: rgba(241, 239, 238, 0.8);
        font-size: 18px;
        text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.8), 0px 0px 2px rgba(0, 0, 0, 0.5); }
        #header .hero_shot .text p > span {
          background-color: rgba(0, 0, 0, 0.4); }
          #header .hero_shot .text p > span:first-of-type {
            padding-left: 0.5rem; }
          #header .hero_shot .text p > span:last-of-type {
            padding-left: 0.5rem; }
      #header .hero_shot .text .pill {
        margin-top: 1em;
        margin-right: .5em;
        font-family: "proxima-nova-condensed", sans-serif;
        font-size: 1em;
        font-weight: 300;
        line-height: 2em;
        background-color: rgba(241, 239, 238, 0.85); }

.main {
  margin-top: 2em;
  margin-bottom: 2em; }

#edit {
  float: right; }
  #edit a {
    display: inline-block;
    margin: 0.1em; }
  #edit a img {
    opacity: 0.4;
    margin-right: 0; }
  #edit a:hover img {
    opacity: 1; }

.sixth {
  margin: 1em 0;
  background-color: rgba(241, 239, 238, 0.2);
  border: 1px solid #f1efee; }
  .sixth img {
    max-width: 100%; }
  .sixth .text {
    padding: 0 .5em .5em;
    text-align: center; }

.ankle {
  width: 100%;
  float: left;
  padding-left: 2.5%;
  padding-right: 2.5%;
  margin: 1.69492% 0 0; }
  .ankle img {
    max-width: 100%; }
  .ankle .text {
    padding: 0 .5em .5em;
    text-align: center;
    font-size: 85%;
    font-weight: bold; }

.footer {
  clear: both;
  min-height: 10em;
  position: relative; }

.video {
  margin: 1em 0;
  height: 0;
  padding-bottom: 67.5%;
  margin-bottom: 10px;
  position: relative;
  overflow: hidden; }
  .video iframe, .video object, .video embed {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

iframe {
  max-width: 100%; }

.event_grid {
  overflow: hidden;
  clear: right;
  margin: 1em 0; }
  .event_grid .event {
    overflow: hidden; }
    .event_grid .event h4 {
      font-size: 1em;
      margin: 0; }
    .event_grid .event p {
      font-size: .875em;
      margin-top: 0;
      line-height: 1.5em; }
    .event_grid .event img {
      min-width: 100%; }
    .event_grid .event a, .event_grid .event a:visited {
      color: #444; }
      .event_grid .event a.pill, .event_grid .event a:visited.pill {
        width: 45%;
        float: left;
        margin-left: 2.5%;
        margin-right: 2.5%;
        font-family: "proxima-nova-condensed", sans-serif;
        font-size: 1em;
        font-weight: 700;
        text-align: center;
        padding: 0.25em 0; }

/**
* FOOTER                        *
**/
.footer {
  background-color: #f1efee;
  border-top: 2px solid #CEC3BD;
  overflow: hidden; }
  .footer h4 {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 0.625em;
    font-weight: 700;
    text-transform: uppercase;
    margin-bottom: 0; }
  .footer p {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 0.75em;
    font-weight: 300;
    margin: 0; }
  .footer .contact, .footer .arts, .footer .cta, .footer .secondary_nav {
    margin-top: 1em;
    margin-bottom: 1em; }
  .footer .secondary_nav li:first-child {
    padding-top: 0; }
  .footer .contact h4 {
    font-family: CaeciliaCom-55Roman;
    font-weight: normal;
    font-size: 0.875em; }
  .footer .contact .social {
    clear: both;
    margin: .5em 0;
    float: none; }
    .footer .contact .social li {
      margin: 0 .125em 0 0;
      list-style-type: none;
      display: inline-block; }
    .footer .contact .social .svg {
      width: 24px;
      height: 24px; }
  .footer .secondary_nav ul {
    padding: 0;
    margin: 0; }
  .footer .secondary_nav li {
    list-style-type: none;
    display: block;
    border-bottom: 1px solid #CEC3BD;
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 14px;
    font-weight: 300;
    padding: .5em 0; }
    .footer .secondary_nav li a, .footer .secondary_nav li a:visited {
      color: #444; }
  .footer .arts {
    /*
            responding weirdly to window resize, changing in for a 100% img
            span{
                display: block;
                @include replace-text("/ksc/templates/images/arts/arts_logo.png");
                height: 66px;
            }
            */ }
    .footer .arts img {
      margin-top: 0.25em;
      width: 100%; }
  .footer .toe {
    width: 100%;
    float: left;
    background-color: #333333;
    color: #f1efee;
    padding: 1em 0;
    min-height: 3em; }
    .footer .toe .ksc img {
      float: left;
      margin-right: 1em; }
    .footer .toe .ksc a {
      color: inherit; }
    .footer .toe p {
      font-family: CaeciliaCom-55Roman;
      font-weight: normal;
      font-size: 10px;
      color: #f1efee;
      margin: 0; }

/***
* Blocks
***/
h1.category {
  margin-left: 0.96154%;
  /* this is wrong, but I need to move on */ }

.detail {
  margin-top: 1em;
  width: 100%;
  float: left;
  padding-left: 2.5%;
  padding-right: 2.5%; }
  .detail .historical p {
    margin: 0.25em; }

.event_grid {
  margin-top: 1em; }

.teaser {
  margin: 1em 0;
  padding: 0 0 1em 0;
  border-bottom: 1px solid #e2e2e2;
  display: block;
  overflow: hidden; }
  .teaser:last-child {
    border-bottom: none; }
  .teaser img {
    max-width: 100%;
    border: 1px solid #e2e2e2;
    display: block;
    float: left;
    overflow: hidden;
    margin-right: 2.38%; }
  .teaser a:hover {
    text-decoration: none; }
    .teaser a:hover img {
      background-color: #ccc;
      -webkit-transition: opacity, 0.25s, 0, ease 1s;
      -webkit-transition-delay: 0s;
      transition: opacity 0.25s 0 ease 1s false false; }
  .teaser a, .teaser a:visited {
    color: #444; }
  .teaser .inner_content {
    overflow: hidden; }
  .teaser p {
    margin: 0; }
  .teaser h5 {
    margin: 0;
    padding: 0; }
  .teaser.right img {
    float: right;
    margin: 0 0 0 2.38%; }

.calendar {
  text-align: center;
  background-size: 100%;
  min-height: 4em;
  min-width: 55px;
  max-width: 75px; }
  .calendar .month {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 14px;
    font-weight: 700; }
  .calendar .date {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 1em;
    font-weight: 700;
    border: 4px solid #333;
    border-top: 15px solid #333;
    padding: 4px 0;
    margin: 4px 3px 0;
    position: relative;
    white-space: nowrap; }
    .calendar .date .l, .calendar .date .r {
      padding: 6px 2.5px;
      background-color: white;
      border: 3px solid #333;
      position: absolute;
      top: -21px;
      display: block;
      border-radius: 5px; }
    .calendar .date .l {
      left: 3px; }
    .calendar .date .r {
      right: 3px; }

.category_list {
  margin-bottom: 1em; }
  .category_list a, .category_list a:visited, .category_list a:hover {
    color: #444; }
  .category_list ul {
    margin: 0;
    padding-left: 1em;
    list-style: none; }
  .category_list li {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 18px;
    font-weight: 300; }

/***
* Elements
***/
.description {
  width: 100%;
  float: left;
  padding-left: 2.5%;
  padding-right: 2.5%; }
  .description .deets {
    width: 100%;
    float: left;
    margin-left: 0;
    margin-right: 0;
    box-sizing: content-box;
    margin-right: -1rem;
    margin-left: -1rem;
    padding-right: 1rem;
    padding-left: 1rem;
    background-color: #444;
    color: #f1efee;
    margin-bottom: 1em; }
    .description .deets .showdate {
      width: 48.27586%;
      float: left;
      min-height: 50px; }
      .description .deets .showdate .dow {
        min-width: 100%;
        display: block;
        font-family: "proxima-nova-condensed", sans-serif;
        font-size: 14px;
        font-weight: 300;
        text-transform: uppercase; }
      .description .deets .showdate .date {
        min-width: 100%;
        display: block;
        font-family: "proxima-nova-condensed", sans-serif;
        font-size: 1em;
        font-weight: 700; }
    .description .deets .showtime {
      width: 48.27586%;
      float: left;
      min-height: 50px; }
      .description .deets .showtime span {
        min-width: 100%;
        display: block;
        font-family: "proxima-nova-condensed", sans-serif;
        font-size: 1em;
        font-weight: 700; }
      .description .deets .showtime em {
        font-weight: normal;
        font-size: 90%; }

.video {
  min-width: 100%; }
  .video img {
    min-width: 100%; }

.quote {
  width: 100%;
  float: left;
  margin-left: 0;
  margin-right: 0;
  min-width: 100%;
  margin: 0 0 3em 0; }
  .quote blockquote {
    min-width: 100%;
    margin: 1em 0; }
    .quote blockquote p {
      background-color: rgba(206, 195, 189, 0.2);
      /*@include body_stack_bold(1.3125em);*/
      font-family: "proxima-nova-condensed", sans-serif;
      font-size: 1.2em;
      font-weight: 700;
      padding: 1em;
      /*font-size: 1.325em;*/
      margin-bottom: .5em; }
    .quote blockquote cite {
      float: right;
      size: .875em;
      font-style: normal; }
  .quote div.image {
    margin-top: 1.5em; }

a.pill {
  border: 1px solid #e2e2e2;
  background-color: #FFF;
  padding: 0.1em 0.5em;
  /* BC changed 0.2em to 0.19 to reclaim bottom border in FF/Windows - seems like a FF oddity */
  color: #444;
  font-weight: normal; }
  a.pill:hover {
    background-color: #ccc;
    color: #2b2b2b;
    border-color: #afafaf;
    text-decoration: none; }

.categories {
  display: table-row;
  list-style-type: none; }
  .categories li {
    float: left; }
  .categories a.pill {
    background-color: rgba(206, 195, 189, 0.2);
    font-size: .875em; }
  .categories a:hover.pill {
    background-color: #7F98A8; }
  .categories li:not(:first-child) {
    margin-left: .5em; }

.tickets a.pill, .action a.pill {
  display: block;
  background-color: #7F98A8;
  color: #f1efee;
  border-radius: 0px / 0px;
  border: 2px solid #f1efee;
  text-transform: uppercase;
  padding: 0.5em 2em;
  text-align: center;
  font-family: "proxima-nova-condensed", sans-serif;
  font-size: 1em;
  font-weight: 300; }

.share {
  float: right;
  margin: -.5em;
  padding: 0;
  clear: right; }
  .share li {
    list-style-type: none;
    margin: 0 .25em;
    display: inline-block; }
  .share .svg {
    width: 32px;
    height: 32px; }

.creative_connections {
  margin: 1em 0; }
  .creative_connections h2 {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 1em;
    font-weight: 700;
    background-color: #444;
    color: #f1efee;
    padding: .25em .5em 0 .5em;
    /*padding-left: 0.5em;*/
    margin: 0; }
  .creative_connections ul {
    margin: 0;
    padding: 0;
    list-style-type: none;
    border: 1px solid #f1efee;
    border-bottom: 10px solid #f1efee; }
  .creative_connections li {
    padding: 1em 0.5em 1em 1em;
    border-bottom: 1px solid #f1efee; }
  .creative_connections em {
    font-size: 85%; }

.sponsors {
  /* list view */
  /* gallery view */ }
  .detail .sponsors, .ankle .sponsors {
    margin: 0 -1em; }
    .detail .sponsors ul, .ankle .sponsors ul {
      padding: 0; }
      .detail .sponsors ul li, .ankle .sponsors ul li {
        min-height: 2em;
        margin: 0 0.75em 2.27273%;
        display: inline-block;
        max-width: 80px;
        vertical-align: middle; }
        .detail .sponsors ul li img, .ankle .sponsors ul li img {
          width: 100%; }
  .aside .sponsors h2, .engage .sponsors h2 {
    font-family: "proxima-nova-condensed", sans-serif;
    font-size: 1em;
    font-weight: 700; }
  .aside .sponsors .intro, .engage .sponsors .intro {
    font-size: .75em; }
  .aside .sponsors ul, .engage .sponsors ul {
    overflow: hidden;
    margin: 1em 0 0 0;
    padding: 0;
    list-style-type: none;
    font-size: 80%; }
    .aside .sponsors ul li, .engage .sponsors ul li {
      width: 47.36842%;
      float: left;
      margin-bottom: 5.26316%;
      min-height: 4em; }
      .aside .sponsors ul li:nth-child(2n + 1), .engage .sponsors ul li:nth-child(2n + 1) {
        margin-left: 0;
        margin-right: -100%;
        clear: both;
        margin-left: 0; }
      .aside .sponsors ul li:nth-child(2n + 2), .engage .sponsors ul li:nth-child(2n + 2) {
        margin-left: 52.63158%;
        margin-right: -100%;
        clear: none; }
      .aside .sponsors ul li a, .engage .sponsors ul li a {
        text-align: center;
        display: block;
        min-height: 4em;
        line-height: 3.8em; }
        .aside .sponsors ul li a div, .engage .sponsors ul li a div {
          line-height: 1.5;
          display: inline-block;
          vertical-align: middle; }
        .aside .sponsors ul li a img, .engage .sponsors ul li a img {
          display: inline-block;
          vertical-align: middle;
          max-width: 100%;
          max-height: 100%; }

/***
* helper
***/
.no_border {
  border: none;
  padding: 0; }

.instagram.medium {
  overflow: hidden;
  text-indent: -99999px;
  display: block;
  background-image: url("/ksc/templates/images/arts/instagram_32px_444.png");
  background-repeat: no-repeat;
  background-position: 0 0;
  display: block;
  height: 32px;
  margin: 0;
  width: 32px;
  float: none;
  margin-left: auto;
  margin-right: auto; }

small.copyright {
  font-family: CaeciliaCom-55Roman;
  font-weight: normal;
  font-size: 0.7em;
  line-height: 110%;
  display: inline-block;
  padding: 0 0.5em;
  background: rgba(255, 255, 255, 0.5);
  position: absolute;
  top: 0;
  right: 0;
  text-shadow: 0px 0px 2px #fff;
  color: #000;
  display: none; }

/***
* SHAME
***/
.gallery div.title {
  display: none; }

/***
* 500px mobile-first! (default)
***/
body {
  max-width: 114%;
  margin-left: auto;
  margin-right: auto; }
  body:after {
    content: " ";
    display: block;
    clear: both; }

#content {
  /* unfloat galleries */ }
  #content .detail .fs {
    width: 96.49123%;
    float: left;
    margin-left: auto;
    float: none; }

#header {
  min-height: 100px;
  border-bottom: none; }
  #header #home {
    width: 29.82456%;
    float: left;
    margin-left: 1.75439%;
    margin-right: 1.75439%;
    margin-left: 35.08772%;
    z-index: 1; }
  #header .hero_shot {
    width: 100%;
    float: left;
    position: relative;
    z-index: 0;
    overflow: hidden; }
    #header .hero_shot .text {
      width: 100%;
      float: left;
      margin-left: 1.75439%;
      margin-right: 1.75439%; }
      #header .hero_shot .text h1 {
        /*font-size: 1.5em; //28px*/ }
      #header .hero_shot .text h2 {
        /*font-size: 1.3215em; //21px*/ }
    #header .hero_shot img {
      max-width: 100%; }

.main {
  width: 100%;
  float: left;
  margin: 0 0 0 0; }

.aside {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%;
  margin-top: 0; }

.nav-primary {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%;
  position: relative;
  overflow: hidden; }
  .nav-primary h3 {
    position: absolute;
    left: -999em; }
  .nav-primary ul {
    margin: 0;
    padding-left: 0;
    border: 1px solid #f1efee;
    background-color: rgba(206, 195, 189, 0.6); }
  .nav-primary li {
    /*font-size: 1em;*/
    font-family: CaeciliaCom-55Roman;
    font-weight: normal;
    font-size: 1.3125em;
    color: #f1efee;
    list-style-type: none;
    border-bottom: 1px solid #f1efee;
    font-size: 1.0em; }
    .nav-primary li:last-child {
      border-bottom: 0; }
  .nav-primary a {
    display: block;
    padding: .5em 1em;
    padding: 0.25em;
    text-decoration: none;
    text-align: center;
    color: #f1efee; }
    .nav-primary a:visited {
      color: #f1efee; }
    .nav-primary a:hover {
      background-color: rgba(206, 195, 189, 0.5); }
  .nav-primary .nav-current a {
    color: #444 !important; }

.engage .content a img {
  max-width: 42px; }

.nav-menu .nav-primary {
  position: relative;
  overflow: hidden; }

.nav-menu .nav-primary a {
  padding-right: 3em; }

.nav-menu .nav-primary h3 {
  position: absolute;
  top: 0;
  left: auto;
  right: 0;
  display: block;
  width: 2em;
  height: 2em;
  background: #ccc url(/ksc/templates/images/arts/icons.png) no-repeat -205px 45%;
  text-indent: -999em;
  cursor: pointer;
  margin: 0; }

.nav-menu .nav-primary.expanded h3 {
  background-position: -169px 45%; }

.nav-menu .nav-primary li {
  clear: left;
  display: none; }

.nav-menu .nav-primary.expanded li,
.nav-menu .nav-primary li.nav-current {
  display: list-item; }

.nav-menu .nav-primary li.nav-current {
  border-bottom-width: 0; }

.nav-menu .nav-primary.expanded li.nav-current {
  border-bottom-width: 1px; }

/**
* EVENT DETAIL                    *
**/
.about_navigation {
  float: none; }
  .about_navigation ul {
    margin-left: 0;
    padding-left: 0; }

/*
.description{
    @include span(full inside);

    .deets{
        margin: 0;  //reset from full width
        @include nested(6 no-gutters);
        background-color: #444;
        overflow: hidden;
        @include bleed(.5em);

    }

    .showtime, .showdate{
        color: $pms_warm_grey_4_20p;
        @include span(3);
    }

}
*/
.action_nav .share {
  width: 29.82456%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%;
  margin-left: 35.08772%;
  margin-top: .5em;
  text-align: center; }
  .action_nav .share ul {
    text-align: center; }
  .action_nav .share li {
    margin: .5 0 1em 0; }

.action_nav:after {
  content: "";
  display: table;
  clear: both; }

.slideshow, .gallery_container {
  width: 100%;
  float: left; }
  .slideshow img, .gallery_container img {
    max-width: 100%;
    border: none; }

.quote {
  width: 100%;
  float: left;
  margin-bottom: 2em; }
  .quote cite {
    padding-right: 25px; }

h1.title, h2.sub_title {
  background-color: #444;
  color: #f1efee;
  box-sizing: content-box;
  margin-right: -1rem;
  margin-left: -1rem;
  padding-right: 1rem;
  padding-left: 1rem; }

h1.title {
  font-size: 1.625em; }

h2.sub_title {
  font-family: CaeciliaCom-55Roman;
  font-weight: normal;
  font-size: 1em; }

/**
* CATEGORY                    *
**/
/*
#category{
    //Redundant FIX!!
    .main {
        @include span(100% no-gutters);
        margin: -2em 0 0 0;
    }

}
*/
/**
* FOOTER                    *
**/
.footer {
  overflow: hidden; }
  .footer .social {
    padding: .5em;
    text-align: center; }
  .footer .secondary_nav {
    width: 96.49123%;
    float: left;
    margin-left: 1.75439%;
    margin-right: 1.75439%;
    text-align: center; }
    .footer .secondary_nav ul {
      margin: 0; }
    .footer .secondary_nav li {
      font-size: 1em; }
      .footer .secondary_nav li a::before {
        content: ""; }
  .footer .cta, .footer .arts {
    display: none; }
  .footer .contact h4 {
    margin-bottom: 3.50877%; }
  .footer .contact p {
    width: 46.49123%;
    float: left;
    margin-left: 1.75439%;
    margin-right: 1.75439%;
    margin-bottom: 3.50877%; }
  .footer .contact h4 {
    font-size: 1em;
    text-align: center; }
  .footer .ksc, .footer .contact {
    width: 96.49123%;
    float: left;
    margin-left: 1.75439%;
    margin-right: 1.75439%;
    margin-left: 1.75439%; }

/**
* REUSABLE ELEMENTS                    *
**/
.event_grid {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.category_list {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.upcoming {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.teaser img {
  width: 29.82456%;
  float: left; }

.teaser .inner_content {
  width: 46.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.teaser .calendar {
  width: 13.15789%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.action {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.sixth {
  width: 46.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.column {
  width: 96.49123%;
  float: left;
  margin-left: 1.75439%;
  margin-right: 1.75439%; }

.categories li {
  margin-bottom: .5em; }

.svg {
  overflow: hidden;
  text-indent: -99999px;
  display: block; }

.twitter {
  background: inline-image("arts/svg/twitter.svg", "image/svg+xml") no-repeat center center; }

.facebook {
  background: inline-image("arts/svg/facebook.svg", "image/svg+xml") no-repeat center center; }

.pinterest {
  background: inline-image("arts/svg/pinterest.svg", "image/svg+xml") no-repeat center center; }

.youtube {
  background: inline-image("arts/svg/youtube.svg", "image/svg+xml") no-repeat center center; }

.instagram {
  background: inline-image("arts/svg/instagram.svg", "image/svg+xml") no-repeat center center; }

/***
* Wide Breakpoint
***/
@media (min-width: 570px) {
  body {
    max-width: 1000px;
    margin-left: auto;
    margin-right: auto; }
    body:after {
      content: " ";
      display: block;
      clear: both; }
  #content .detail .fs {
    width: 48.03922%;
    float: left;
    margin-left: 0.98039%;
    float: right; }
  #header {
    min-height: 475px; }
    #header #home {
      width: 14.70588%;
      float: left;
      margin-left: 0.98039%;
      margin-right: 0.98039%;
      position: absolute; }
    #header .nav-primary {
      width: 48.03922%;
      float: right;
      margin-left: 0.98039%;
      margin-right: 0.98039%;
      text-align: right;
      margin-top: 2em;
      margin-bottom: 1em;
      /*
            width override span -- declaration of war on susy -- seems stable?
            stop header nav from hoping on to two separate lines as 50% is encroachin
            */
      width: 75%; }
      #header .nav-primary h3 {
        display: none; }
      #header .nav-primary ul {
        background-color: transparent;
        border: none; }
      #header .nav-primary li {
        border-bottom: none;
        display: inline-block;
        padding: 0;
        border-left: 1px solid #f1efee;
        font-size: 1.25em; }
      #header .nav-primary a {
        padding: 0 0.75em; }
        #header .nav-primary a:hover {
          background-color: transparent;
          text-decoration: underline; }
      #header .nav-primary li:first-child {
        border-left: none; }
      #header .nav-primary li.no_border {
        border-right: none; }
    #header .hero_shot .text {
      width: 81.37255%;
      float: left;
      margin-left: 0.98039%;
      margin-right: 0.98039%;
      top: 13em; }
  .main {
    margin: 2em 0;
    width: 48.03922%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%;
    margin-left: 9.31373%; }
  .aside {
    margin-top: 2em; }
  .description .deets {
    background-color: transparent;
    color: #444; }
  h1.title, h2.sub_title {
    background-color: transparent;
    color: #444; }
  h1.title {
    font-size: 2.2em; }
  h2.sub_title {
    font-family: CaeciliaCom-55Roman;
    font-weight: normal;
    font-size: 1em; }
  .action_nav {
    margin: 1em 0; }
    .action_nav .tickets {
      width: 62.7451%;
      float: left; }
    .action_nav .share {
      margin-left: 0.98039%;
      margin-top: 0; }
  .aside {
    width: 31.37255%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%; }
  .footer .contact {
    width: 23.03922%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%;
    margin-left: 9.31373%; }
    .footer .contact h4 {
      text-align: left;
      margin-bottom: 0; }
    .footer .contact p {
      width: 98.03922%;
      float: left;
      margin-left: 0.98039%;
      margin-right: 0.98039%;
      margin-bottom: 0px; }
    .footer .contact .social {
      text-align: left;
      padding: .5em 0 0 0; }
  .footer .secondary_nav {
    width: 23.03922%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%; }
  .footer .cta {
    width: 14.70588%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%;
    display: block; }
  .footer .arts {
    width: 23.03922%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%;
    display: block; }
    .footer .arts img {
      width: 58.82353%;
      float: left;
      margin-left: 3.92157%;
      margin-right: 3.92157%;
      margin-left: 0.98039%;
      margin-right: 0.98039%; }
  .footer .ksc {
    width: 81.37255%;
    float: left;
    margin-left: 0.98039%;
    margin-right: 0.98039%;
    margin-left: 9.31373%; }
  /**
    * EVENT                            *
    **/
  /**
    * CATEGORY                        *
    **/
  /**
    * DETAIL*
    **/
  /**
    * HOME*
    **/
  .event_grid .event {
    width: 31.37255%;
    float: left; }
    .event_grid .event:nth-child(3n + 1) {
      margin-left: 0.98039%;
      margin-right: -100%;
      clear: both; }
    .event_grid .event:nth-child(3n + 2) {
      margin-left: 34.31373%;
      margin-right: -100%;
      clear: none; }
    .event_grid .event:nth-child(3n + 3) {
      margin-left: 67.64706%;
      margin-right: -100%;
      clear: none; }
  .column {
    margin-bottom: 1em; }
    .column.last {
      width: 31.37255%;
      float: left;
      margin-left: 0.98039%;
      margin-right: 0.98039%;
      float: right; }
    .column.upcoming {
      width: 64.70588%;
      float: left;
      margin-left: 0.98039%;
      margin-right: 0.98039%; }
  .sixth {
    width: 44.11765%;
    float: left; }
    .sixth.last {
      float: right; }
  .engage {
    border: 1px solid #f1efee;
    background-color: rgba(241, 239, 238, 0.2);
    position: relative;
    margin-bottom: 1em; }
    .engage .content {
      padding: 1em; }
    .engage iframe, .engage object, .engage embed {
      width: 100%;
      height: auto; }
    .engage iframe {
      padding: -1em; }
    .engage img {
      max-width: 100%; }
  .action {
    border: 1px solid #f1efee;
    padding: 1em;
    background-color: rgba(241, 239, 238, 0.2); }
    .action p {
      padding: 0 1em; }
  .teaser img {
    width: 19.11765%;
    float: left; }
  .teaser .inner_content {
    width: 44.11765%;
    float: left;
    margin-left: 2.94118%;
    margin-right: 2.94118%; }
  .teaser .calendar {
    width: 19.11765%;
    float: left;
    margin-left: 2.94118%;
    margin-right: 2.94118%; }
  /*
    .slideshow, .gallery_container {
        @include span(6 of 6);
        clear: both;
        margin: 1em 0;
        img {

        }
    }*/ }

/***
* Medium Breakpoint
***/
/*
@include susy-breakpoint(570px 900px, 12) {
    body {

     }
    .column {
        @include span(6 of 12);
        float:right;
    }
    .column.upcoming{
        float:none;
    }

}
*/

/*# sourceMappingURL=data:application/json;charset=utf8;base64,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O0lBQ1gscUJBQXFCO0lBQ3JCLHNCQUFzQixFQUFFO0VBQzFCOzs7Ozs7OztNQVFJLEVBQUU7O0FBRVI7O21GQUVtRjtBQUNuRjs7Ozs7Ozs7Ozs7Ozs7Q0FjQyIsImZpbGUiOiJiYXNlLmFydHMuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgKiBOb3JtYWxpemUgQ1NTIChodHRwOi8vZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MpXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5hcnRpY2xlLCBhc2lkZSwgZGV0YWlscywgZmlnY2FwdGlvbiwgZmlndXJlLCBmb290ZXIsIGhlYWRlciwgaGdyb3VwLCBuYXYsIHNlY3Rpb24sIHN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5hdWRpbywgY2FudmFzLCB2aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgKmRpc3BsYXk6IGlubGluZTtcbiAgKnpvb206IDE7IH1cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbltoaWRkZW5dIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICAvKiAxICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbmh0bWwsIGJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgfVxuXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbmE6Zm9jdXMge1xuICBvdXRsaW5lOiB0aGluIGRvdHRlZDsgfVxuXG5hOmhvdmVyLCBhOmFjdGl2ZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkOyB9XG5cbmIsIHN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxucHJlIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG5wcmUsIGNvZGUsIGtiZCwgc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIHNlcmlmO1xuICBfZm9udC1mYW1pbHk6ICdjb3VyaWVyIG5ldycsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07IH1cblxucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cblxucSB7XG4gIHF1b3Rlczogbm9uZTsgfVxuXG5xOmJlZm9yZSwgcTphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBjb250ZW50OiBub25lOyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA3NSU7IH1cblxuc3ViLCBzdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG5kbCwgbWVudSwgb2wsIHVsIHtcbiAgbWFyZ2luOiAxZW0gMDsgfVxuXG5kZCB7XG4gIG1hcmdpbjogMCAwIDAgNDBweDsgfVxuXG5tZW51LCBvbCwgdWwge1xuICBwYWRkaW5nOiAwIDAgMCA0MHB4OyB9XG5cbm5hdiB1bCwgbmF2IG9sIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbGlzdC1zdHlsZS1pbWFnZTogbm9uZTsgfVxuXG5pbWcge1xuICBib3JkZXI6IDA7XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7IH1cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5mb3JtIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtOyB9XG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgKm1hcmdpbi1sZWZ0OiAtN3B4OyB9XG5cbmJ1dHRvbiwgaW5wdXQsIHNlbGVjdCwgdGV4dGFyZWEge1xuICBmb250LXNpemU6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG5idXR0b24sIGlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG5idXR0b24sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIGlucHV0W3R5cGU9XCJyZXNldFwiXSwgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gICpvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG5idXR0b25bZGlzYWJsZWRdLCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7IH1cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAwO1xuICAqaGVpZ2h0OiAxM3B4O1xuICAqd2lkdGg6IDEzcHg7IH1cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uLCBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciwgaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbi8qIEBsaWNlbnNlXG4gKiBNeUZvbnRzIFdlYmZvbnQgQnVpbGQgSUQgMjY4MTA4MSwgMjAxMy0xMS0wNFQxNDoyMzoxNS0wNTAwXG4gKlxuICogVGhlIGZvbnRzIGxpc3RlZCBpbiB0aGlzIG5vdGljZSBhcmUgc3ViamVjdCB0byB0aGUgRW5kIFVzZXIgTGljZW5zZVxuICogQWdyZWVtZW50KHMpIGVudGVyZWQgaW50byBieSB0aGUgd2Vic2l0ZSBvd25lci4gQWxsIG90aGVyIHBhcnRpZXMgYXJlXG4gKiBleHBsaWNpdGx5IHJlc3RyaWN0ZWQgZnJvbSB1c2luZyB0aGUgTGljZW5zZWQgZm9udHMocykuXG4gKlxuICogWW91IG1heSBvYnRhaW4gYSB2YWxpZCBsaWNlbnNlIGF0IHRoZSBVUkxzIGJlbG93LlxuICpcbiAqIFdlYmZvbnQ6IFBNTiBDYWVjaWxpYSBDb20gNzUgQm9sZCBieSBMaW5vdHlwZVxuICogVVJMOiBodHRwOi8vd3d3Lm15Zm9udHMuY29tL2ZvbnRzL2xpbm90eXBlL3Btbi1jYWVjaWxpYS9jb20tNzUtYm9sZC9cbiAqXG4gKiBXZWJmb250OiBQTU4gQ2FlY2lsaWEgQ29tIDU1IFJvbWFuIGJ5IExpbm90eXBlXG4gKiBVUkw6IGh0dHA6Ly93d3cubXlmb250cy5jb20vZm9udHMvbGlub3R5cGUvcG1uLWNhZWNpbGlhL2NvbS01NS1yb21hbi9cbiAqXG4gKlxuICogTGljZW5zZTogaHR0cDovL3d3dy5teWZvbnRzLmNvbS92aWV3bGljZW5zZT90eXBlPXdlYiZidWlsZGlkPTI2ODEwODFcbiAqIExpY2Vuc2VkIHBhZ2V2aWV3czogMSwwMDAsMDAwXG4gKiBXZWJmb250cyBjb3B5cmlnaHQ6IFBhcnQgb2YgdGhlIGRpZ2l0YWxseSBlbmNvZGVkIG1hY2hpbmUgcmVhZGFibGUgb3V0bGluZSBkYXRhIGZvciBwcm9kdWNpbmcgdGhlIFR5cGVmYWNlcyBwcm92aWRlZCBpcyBjb3B5cmlnaHRlZCAmI3gwMEE5OyAyMDA3IExpbm90eXBlIEdtYkgsIHd3dy5saW5vdHlwZS5jb20uIEFsbCByaWdodHMgcmVzZXJ2ZWQuIFRoaXMgc29mdHdhcmUgaXMgdGhlIHByb3BlcnR5IG9mIExpbm90eXBlIEdtYkgsIGFuZCBtYXkgbm90IGJlIHJlcHJvZHVjZWQsXG4gKlxuICogwqkgMjAxMyBNeUZvbnRzIEluY1xuKi9cbi8qIEBpbXBvcnQgbXVzdCBiZSBhdCB0b3Agb2YgZmlsZSwgb3RoZXJ3aXNlIENTUyB3aWxsIG5vdCB3b3JrICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWVjaWxpYUNvbS00NkxpZ2h0SXRhbGljJztcbiAgc3JjOiB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMF8wLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMF8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8wXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8wXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMF8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWVjaWxpYUNvbS01Nkl0YWxpYyc7XG4gIHNyYzogdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzFfMC5lb3RcIik7XG4gIHNyYzogdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzFfMC5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMV8wLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMV8wLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzFfMC50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ2FlY2lsaWFDb20tNzVCb2xkJztcbiAgc3JjOiB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMl8wLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMl8wLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8yXzAud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8yXzAud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIva3NjL3RlbXBsYXRlcy9mb250cy8yRDQ0MkZfMl8wLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTsgfVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDYWVjaWxpYUNvbS03NkJvbGRJdGFsaWMnO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8zXzAuZW90XCIpO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8zXzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzNfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzNfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl8zXzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhZWNpbGlhQ29tLTg2SGVhdnlJdGFsaWMnO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl80XzAuZW90XCIpO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl80XzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzRfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzRfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl80XzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhZWNpbGlhQ29tLTU1Um9tYW4nO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl81XzAuZW90XCIpO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl81XzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzVfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzVfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl81XzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhZWNpbGlhQ29tLTQ1TGlnaHQnO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl82XzAuZW90XCIpO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl82XzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzZfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzZfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl82XzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NhZWNpbGlhQ29tLTg1SGVhdnknO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl83XzAuZW90XCIpO1xuICBzcmM6IHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl83XzAuZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzdfMC53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiL2tzYy90ZW1wbGF0ZXMvZm9udHMvMkQ0NDJGXzdfMC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi9rc2MvdGVtcGxhdGVzL2ZvbnRzLzJENDQyRl83XzAudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpOyB9XG5cbi8qICBib2R5IHtiYWNrZ3JvdW5kLWNvbG9yOiBwaW5rO31cbiAgICAjY29udGVudCB7YmFja2dyb3VuZC1jb2xvcjogbGltZTt9Ki9cbi8qIEtTQyBNaXhpbiBMaWJhcnlcbipcbipcbipcbipcbipcbipcbipcbiovXG4vKlxuICAgIFR5cGUgc2NhbGUgMTZwdCBiYXNlXG5cbiAgICBoMSAgICAzNiAgICAgICAgMi4yZW0gLy8gQkMgY2hhbmdlZCBmcm9tIDIuMjVlbSB3aGljaCBoYWQgc29tZSBXaW5kb3dzIHdvbmt5bmVzc1xuICAgIGgyICAgIDI0ICAgICAgICAxLjVlbVxuICAgIGgzICAgIDIxICAgICAgICAxLjI1ZW0gLy8gQkMgY2hhbmdlZCBmcm9tIDEuMzEyNWVtIHdoaWNoIGhhZCBzb21lIFdpbmRvd3Mgd29ua3luZXNzXG5cbiAgICBoNCAgICAxOCAgICAgICAgMS4xMjVlbVxuICAgIGg1ICAgIDE2ICAgICAgICAxZW1cblxuICAgICAgICAgIDEyICAgICAgICAuNzVlbVxuICAgICAgICAgIDEwICAgICAgICAuNjI1ZW1cbiovXG4qLCAqOmJlZm9yZSwgKjphZnRlciB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuKiBIVE1MIFNUWUxFU1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5wLCB1bCwgbGksIGNpdGUsIGlucHV0LCBsYWJlbCwgYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICBwIHN0cm9uZywgdWwgc3Ryb25nLCBsaSBzdHJvbmcsIGNpdGUgc3Ryb25nLCBpbnB1dCBzdHJvbmcsIGxhYmVsIHN0cm9uZywgYnV0dG9uIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGNpdGUge1xuICBjb2xvcjogIzQ0NDtcbiAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG5cbmgxIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDIuMmVtO1xuICBtYXJnaW46IDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuaDIge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG4gIG1hcmdpbjogMDsgfVxuXG5oMyB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIG1hcmdpbjogMDsgfVxuXG5oNCB7XG4gIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNWVtO1xuICBtYXJnaW46IDA7IH1cblxuaDUge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBtYXJnaW46IDA7IH1cblxudWwge1xuICBtYXJnaW46IDA7IH1cblxuYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDsgfVxuXG5maWd1cmUuY2xhc3NpYyBpbWcge1xuICB3aWR0aDogMTAwJTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogSW1wb3J0L01hbmFnZW1lbnRcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuZGl2LmNsZWFyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlOyB9XG5cbi5zY3JlZW5fcmVhZGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBoZWlnaHQ6IDFweDtcbiAgd2lkdGg6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7IH1cblxuYS5pY29uIGltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiAtNSU7IH1cblxuLmNoZWNrcyB7XG4gIG1hcmdpbi10b3A6IDNweDsgfVxuICAuY2hlY2tzIHNwYW4ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW46IDAgMnB4OyB9XG4gICAgLmNoZWNrcyBzcGFuIGltZyB7XG4gICAgICB0ZXh0LWFsaWduOiBtaWRkbGU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogY2VudGVyOyB9XG4gIC5jaGVja3Mgc3Bhbi5lbXB0eSB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG5cbi5jdGVtcGxhdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgY2xlYXI6IGxlZnQ7XG4gIG1hcmdpbi10b3A6IDAuNWVtOyB9XG4gIC5jdGVtcGxhdGUgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFlbTsgfVxuICAuY3RlbXBsYXRlIHN0cm9uZywgLmN0ZW1wbGF0ZSBwIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuXG50ZCwgdGgge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICBwYWRkaW5nOiAwLjVlbSAxZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7IH1cbiAgdGQgLmluZm8sIHRoIC5pbmZvIHtcbiAgICBjb2xvcjogI2FhYTtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgdGQgLnM5MCwgdGggLnM5MCB7XG4gICAgZm9udC1zaXplOiA5MCU7IH1cbiAgdGQgc3Ryb25nLCB0aCBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbnRoIHtcbiAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDFlbTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjRmMjsgfVxuXG51bC50YWJzIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIHVsLnRhYnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICB1bC50YWJzIGxpLmN1cnJlbnQgYSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRCNzIxRDtcbiAgICBjb2xvcjogd2hpdGU7IH1cblxuZGl2LnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG5cbmZvcm0uZGlyZWN0aW9ucyB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuICBmb3JtLmRpcmVjdGlvbnMgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTsgfVxuICAgIGZvcm0uZGlyZWN0aW9ucyBkaXYgaW5wdXRbdHlwZT1zdWJtaXRdIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxZW07IH1cblxuLmFib3V0X25hdmlnYXRpb24ge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgLmFib3V0X25hdmlnYXRpb24gdWwge1xuICAgIG1hcmdpbjogMC41ZW0gMCAwOyB9XG4gICAgLmFib3V0X25hdmlnYXRpb24gdWwgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgZm9udC1zaXplOiAwLjg3NTtcbiAgICAgIHBhZGRpbmc6IDAgMC40ZW07XG4gICAgICBib3JkZXItbGVmdDogMXB4IGRvdHRlZCAjY2NjOyB9XG4gICAgLmFib3V0X25hdmlnYXRpb24gdWwgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIExheW91dFxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5ib2R5IHtcbiAgbWF4LXdpZHRoOiAxMDAwcHg7XG4gIC8qIG92ZXJyaWRlIGluIGRlc2t0b3AgYnJlYWtwb2ludCBpZiBuZWVkIGJlLiAqLyB9XG5cbi5ibG9jay5pbWFnZSBpbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuI2NvbnRhaW5lciB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtYXJnaW46IGF1dG87IH1cblxuI2NvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbiNoZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRTBBQTBGO1xuICBib3JkZXItYm90dG9tOiAyMHB4IHNvbGlkICNmNmQ1N2Y7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI2hlYWRlciAjbWFzdF9oZWFkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2hlYWRlciAjaG9tZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YxZWZlZTtcbiAgICBwYWRkaW5nOiAuNWVtO1xuICAgIG1hcmdpbi10b3A6IC41ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogLjVlbTsgfVxuICAgICNoZWFkZXIgI2hvbWUgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBub25lOyB9XG4gICNoZWFkZXIgLmhlcm9fc2hvdCB7XG4gICAgbWFyZ2luLXRvcDogLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAuNWVtO1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4OyB9XG4gICAgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgICAgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IGgxLCAjaGVhZGVyIC5oZXJvX3Nob3QgLnRleHQgaDIge1xuICAgICAgICBjb2xvcjogI2YxZWZlZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjgpLCAwcHggMHB4IDRweCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAgICAgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IGgxID4gKiwgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IGgyID4gKiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMC41cmVtOyB9XG4gICAgICAjaGVhZGVyIC5oZXJvX3Nob3QgLnRleHQgcCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDI0MSwgMjM5LCAyMzgsIDAuOCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDBweCAwcHggNHB4IHJnYmEoMCwgMCwgMCwgMC44KSwgMHB4IDBweCAycHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgICAgICNoZWFkZXIgLmhlcm9fc2hvdCAudGV4dCBwID4gc3BhbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gICAgICAgICAgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IHAgPiBzcGFuOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgICAgICAgICAjaGVhZGVyIC5oZXJvX3Nob3QgLnRleHQgcCA+IHNwYW46bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gICAgICAjaGVhZGVyIC5oZXJvX3Nob3QgLnRleHQgLnBpbGwge1xuICAgICAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLjVlbTtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDEsIDIzOSwgMjM4LCAwLjg1KTsgfVxuXG4ubWFpbiB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG5cbiNlZGl0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gICNlZGl0IGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDAuMWVtOyB9XG4gICNlZGl0IGEgaW1nIHtcbiAgICBvcGFjaXR5OiAwLjQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICNlZGl0IGE6aG92ZXIgaW1nIHtcbiAgICBvcGFjaXR5OiAxOyB9XG5cbi5zaXh0aCB7XG4gIG1hcmdpbjogMWVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQxLCAyMzksIDIzOCwgMC4yKTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YxZWZlZTsgfVxuICAuc2l4dGggaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnNpeHRoIC50ZXh0IHtcbiAgICBwYWRkaW5nOiAwIC41ZW0gLjVlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFua2xlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDIuNSU7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNSU7XG4gIG1hcmdpbjogMS42OTQ5MiUgMCAwOyB9XG4gIC5hbmtsZSBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuYW5rbGUgLnRleHQge1xuICAgIHBhZGRpbmc6IDAgLjVlbSAuNWVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDg1JTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uZm9vdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1pbi1oZWlnaHQ6IDEwZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4udmlkZW8ge1xuICBtYXJnaW46IDFlbSAwO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA2Ny41JTtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC52aWRlbyBpZnJhbWUsIC52aWRlbyBvYmplY3QsIC52aWRlbyBlbWJlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG5pZnJhbWUge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmV2ZW50X2dyaWQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGVhcjogcmlnaHQ7XG4gIG1hcmdpbjogMWVtIDA7IH1cbiAgLmV2ZW50X2dyaWQgLmV2ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgLmV2ZW50X2dyaWQgLmV2ZW50IGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmV2ZW50X2dyaWQgLmV2ZW50IHAge1xuICAgICAgZm9udC1zaXplOiAuODc1ZW07XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNWVtOyB9XG4gICAgLmV2ZW50X2dyaWQgLmV2ZW50IGltZyB7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7IH1cbiAgICAuZXZlbnRfZ3JpZCAuZXZlbnQgYSwgLmV2ZW50X2dyaWQgLmV2ZW50IGE6dmlzaXRlZCB7XG4gICAgICBjb2xvcjogIzQ0NDsgfVxuICAgICAgLmV2ZW50X2dyaWQgLmV2ZW50IGEucGlsbCwgLmV2ZW50X2dyaWQgLmV2ZW50IGE6dmlzaXRlZC5waWxsIHtcbiAgICAgICAgd2lkdGg6IDQ1JTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjUlO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuNSU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMC4yNWVtIDA7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEZPT1RFUiAgICAgICAgICAgICAgICAgICAgICAgICpcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmZvb3RlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMWVmZWU7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjQ0VDM0JEO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mb290ZXIgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuNjI1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZvb3RlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjc1ZW07XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmZvb3RlciAuY29udGFjdCwgLmZvb3RlciAuYXJ0cywgLmZvb3RlciAuY3RhLCAuZm9vdGVyIC5zZWNvbmRhcnlfbmF2IHtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5mb290ZXIgLnNlY29uZGFyeV9uYXYgbGk6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gIC5mb290ZXIgLmNvbnRhY3QgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBDYWVjaWxpYUNvbS01NVJvbWFuO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NWVtOyB9XG4gIC5mb290ZXIgLmNvbnRhY3QgLnNvY2lhbCB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgbWFyZ2luOiAuNWVtIDA7XG4gICAgZmxvYXQ6IG5vbmU7IH1cbiAgICAuZm9vdGVyIC5jb250YWN0IC5zb2NpYWwgbGkge1xuICAgICAgbWFyZ2luOiAwIC4xMjVlbSAwIDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZm9vdGVyIC5jb250YWN0IC5zb2NpYWwgLnN2ZyB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDsgfVxuICAuZm9vdGVyIC5zZWNvbmRhcnlfbmF2IHVsIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAuZm9vdGVyIC5zZWNvbmRhcnlfbmF2IGxpIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNDRUMzQkQ7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmc6IC41ZW0gMDsgfVxuICAgIC5mb290ZXIgLnNlY29uZGFyeV9uYXYgbGkgYSwgLmZvb3RlciAuc2Vjb25kYXJ5X25hdiBsaSBhOnZpc2l0ZWQge1xuICAgICAgY29sb3I6ICM0NDQ7IH1cbiAgLmZvb3RlciAuYXJ0cyB7XG4gICAgLypcbiAgICAgICAgICAgIHJlc3BvbmRpbmcgd2VpcmRseSB0byB3aW5kb3cgcmVzaXplLCBjaGFuZ2luZyBpbiBmb3IgYSAxMDAlIGltZ1xuICAgICAgICAgICAgc3BhbntcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXBsYWNlLXRleHQoXCIva3NjL3RlbXBsYXRlcy9pbWFnZXMvYXJ0cy9hcnRzX2xvZ28ucG5nXCIpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICovIH1cbiAgICAuZm9vdGVyIC5hcnRzIGltZyB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjI1ZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAuZm9vdGVyIC50b2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgY29sb3I6ICNmMWVmZWU7XG4gICAgcGFkZGluZzogMWVtIDA7XG4gICAgbWluLWhlaWdodDogM2VtOyB9XG4gICAgLmZvb3RlciAudG9lIC5rc2MgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxZW07IH1cbiAgICAuZm9vdGVyIC50b2UgLmtzYyBhIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gICAgLmZvb3RlciAudG9lIHAge1xuICAgICAgZm9udC1mYW1pbHk6IENhZWNpbGlhQ29tLTU1Um9tYW47XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgY29sb3I6ICNmMWVmZWU7XG4gICAgICBtYXJnaW46IDA7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEJsb2Nrc1xuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG5oMS5jYXRlZ29yeSB7XG4gIG1hcmdpbi1sZWZ0OiAwLjk2MTU0JTtcbiAgLyogdGhpcyBpcyB3cm9uZywgYnV0IEkgbmVlZCB0byBtb3ZlIG9uICovIH1cblxuLmRldGFpbCB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDIuNSU7XG4gIHBhZGRpbmctcmlnaHQ6IDIuNSU7IH1cbiAgLmRldGFpbCAuaGlzdG9yaWNhbCBwIHtcbiAgICBtYXJnaW46IDAuMjVlbTsgfVxuXG4uZXZlbnRfZ3JpZCB7XG4gIG1hcmdpbi10b3A6IDFlbTsgfVxuXG4udGVhc2VyIHtcbiAgbWFyZ2luOiAxZW0gMDtcbiAgcGFkZGluZzogMCAwIDFlbSAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZTJlMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnRlYXNlcjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC50ZWFzZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1hcmdpbi1yaWdodDogMi4zOCU7IH1cbiAgLnRlYXNlciBhOmhvdmVyIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAudGVhc2VyIGE6aG92ZXIgaW1nIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAtd2Via2l0LXRyYW5zaXRpb246IG9wYWNpdHksIDAuMjVzLCAwLCBlYXNlIDFzO1xuICAgICAgLXdlYmtpdC10cmFuc2l0aW9uLWRlbGF5OiAwcztcbiAgICAgIC1tb3otdHJhbnNpdGlvbjogb3BhY2l0eSwgMC4yNXMsIDAsIGVhc2UgMXM7XG4gICAgICAtby10cmFuc2l0aW9uOiBvcGFjaXR5LCAwLjI1cywgMCwgZWFzZSAxcztcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgMCBlYXNlIDFzIGZhbHNlIGZhbHNlOyB9XG4gIC50ZWFzZXIgYSwgLnRlYXNlciBhOnZpc2l0ZWQge1xuICAgIGNvbG9yOiAjNDQ0OyB9XG4gIC50ZWFzZXIgLmlubmVyX2NvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnRlYXNlciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnRlYXNlciBoNSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnRlYXNlci5yaWdodCBpbWcge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW46IDAgMCAwIDIuMzglOyB9XG5cbi5jYWxlbmRhciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICBtaW4taGVpZ2h0OiA0ZW07XG4gIG1pbi13aWR0aDogNTVweDtcbiAgbWF4LXdpZHRoOiA3NXB4OyB9XG4gIC5jYWxlbmRhciAubW9udGgge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY2FsZW5kYXIgLmRhdGUge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICMzMzM7XG4gICAgYm9yZGVyLXRvcDogMTVweCBzb2xpZCAjMzMzO1xuICAgIHBhZGRpbmc6IDRweCAwO1xuICAgIG1hcmdpbjogNHB4IDNweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgLmNhbGVuZGFyIC5kYXRlIC5sLCAuY2FsZW5kYXIgLmRhdGUgLnIge1xuICAgICAgcGFkZGluZzogNnB4IDIuNXB4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjMzMzO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMjFweDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgYm9yZGVyLXJhZGl1czogNXB4OyB9XG4gICAgLmNhbGVuZGFyIC5kYXRlIC5sIHtcbiAgICAgIGxlZnQ6IDNweDsgfVxuICAgIC5jYWxlbmRhciAuZGF0ZSAuciB7XG4gICAgICByaWdodDogM3B4OyB9XG5cbi5jYXRlZ29yeV9saXN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gIC5jYXRlZ29yeV9saXN0IGEsIC5jYXRlZ29yeV9saXN0IGE6dmlzaXRlZCwgLmNhdGVnb3J5X2xpc3QgYTpob3ZlciB7XG4gICAgY29sb3I6ICM0NDQ7IH1cbiAgLmNhdGVnb3J5X2xpc3QgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDFlbTtcbiAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gIC5jYXRlZ29yeV9saXN0IGxpIHtcbiAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEVsZW1lbnRzXG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi5kZXNjcmlwdGlvbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAyLjUlO1xuICBwYWRkaW5nLXJpZ2h0OiAyLjUlOyB9XG4gIC5kZXNjcmlwdGlvbiAuZGVldHMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTFyZW07XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcbiAgICBjb2xvcjogI2YxZWZlZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07IH1cbiAgICAuZGVzY3JpcHRpb24gLmRlZXRzIC5zaG93ZGF0ZSB7XG4gICAgICB3aWR0aDogNDguMjc1ODYlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtaW4taGVpZ2h0OiA1MHB4OyB9XG4gICAgICAuZGVzY3JpcHRpb24gLmRlZXRzIC5zaG93ZGF0ZSAuZG93IHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5kZXNjcmlwdGlvbiAuZGVldHMgLnNob3dkYXRlIC5kYXRlIHtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5kZXNjcmlwdGlvbiAuZGVldHMgLnNob3d0aW1lIHtcbiAgICAgIHdpZHRoOiA0OC4yNzU4NiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7IH1cbiAgICAgIC5kZXNjcmlwdGlvbiAuZGVldHMgLnNob3d0aW1lIHNwYW4ge1xuICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuZGVzY3JpcHRpb24gLmRlZXRzIC5zaG93dGltZSBlbSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogOTAlOyB9XG5cbi52aWRlbyB7XG4gIG1pbi13aWR0aDogMTAwJTsgfVxuICAudmlkZW8gaW1nIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7IH1cblxuLnF1b3RlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMCAwIDNlbSAwOyB9XG4gIC5xdW90ZSBibG9ja3F1b3RlIHtcbiAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAxZW0gMDsgfVxuICAgIC5xdW90ZSBibG9ja3F1b3RlIHAge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDYsIDE5NSwgMTg5LCAwLjIpO1xuICAgICAgLypAaW5jbHVkZSBib2R5X3N0YWNrX2JvbGQoMS4zMTI1ZW0pOyovXG4gICAgICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHBhZGRpbmc6IDFlbTtcbiAgICAgIC8qZm9udC1zaXplOiAxLjMyNWVtOyovXG4gICAgICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG4gICAgLnF1b3RlIGJsb2NrcXVvdGUgY2l0ZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBzaXplOiAuODc1ZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgLnF1b3RlIGRpdi5pbWFnZSB7XG4gICAgbWFyZ2luLXRvcDogMS41ZW07IH1cblxuYS5waWxsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRjtcbiAgcGFkZGluZzogMC4xZW0gMC41ZW07XG4gIC8qIEJDIGNoYW5nZWQgMC4yZW0gdG8gMC4xOSB0byByZWNsYWltIGJvdHRvbSBib3JkZXIgaW4gRkYvV2luZG93cyAtIHNlZW1zIGxpa2UgYSBGRiBvZGRpdHkgKi9cbiAgY29sb3I6ICM0NDQ7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgYS5waWxsOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGNvbG9yOiAjMmIyYjJiO1xuICAgIGJvcmRlci1jb2xvcjogI2FmYWZhZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmNhdGVnb3JpZXMge1xuICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAuY2F0ZWdvcmllcyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmNhdGVnb3JpZXMgYS5waWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNiwgMTk1LCAxODksIDAuMik7XG4gICAgZm9udC1zaXplOiAuODc1ZW07IH1cbiAgLmNhdGVnb3JpZXMgYTpob3Zlci5waWxsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0Y5OEE4OyB9XG4gIC5jYXRlZ29yaWVzIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogLjVlbTsgfVxuXG4udGlja2V0cyBhLnBpbGwsIC5hY3Rpb24gYS5waWxsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Rjk4QTg7XG4gIGNvbG9yOiAjZjFlZmVlO1xuICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDBweCAwcHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogMHB4IC8gMHB4O1xuICBib3JkZXItcmFkaXVzOiAwcHggLyAwcHg7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMWVmZWU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHBhZGRpbmc6IDAuNWVtIDJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmEtY29uZGVuc2VkXCIsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBmb250LXdlaWdodDogMzAwOyB9XG5cbi5zaGFyZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiAtLjVlbTtcbiAgcGFkZGluZzogMDtcbiAgY2xlYXI6IHJpZ2h0OyB9XG4gIC5zaGFyZSBsaSB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMCAuMjVlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnNoYXJlIC5zdmcge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDsgfVxuXG4uY3JlYXRpdmVfY29ubmVjdGlvbnMge1xuICBtYXJnaW46IDFlbSAwOyB9XG4gIC5jcmVhdGl2ZV9jb25uZWN0aW9ucyBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwicHJveGltYS1ub3ZhLWNvbmRlbnNlZFwiLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQ0NDtcbiAgICBjb2xvcjogI2YxZWZlZTtcbiAgICBwYWRkaW5nOiAuMjVlbSAuNWVtIDAgLjVlbTtcbiAgICAvKnBhZGRpbmctbGVmdDogMC41ZW07Ki9cbiAgICBtYXJnaW46IDA7IH1cbiAgLmNyZWF0aXZlX2Nvbm5lY3Rpb25zIHVsIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZWZlZTtcbiAgICBib3JkZXItYm90dG9tOiAxMHB4IHNvbGlkICNmMWVmZWU7IH1cbiAgLmNyZWF0aXZlX2Nvbm5lY3Rpb25zIGxpIHtcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW0gMWVtIDFlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZWZlZTsgfVxuICAuY3JlYXRpdmVfY29ubmVjdGlvbnMgZW0ge1xuICAgIGZvbnQtc2l6ZTogODUlOyB9XG5cbi5zcG9uc29ycyB7XG4gIC8qIGxpc3QgdmlldyAqL1xuICAvKiBnYWxsZXJ5IHZpZXcgKi8gfVxuICAuZGV0YWlsIC5zcG9uc29ycywgLmFua2xlIC5zcG9uc29ycyB7XG4gICAgbWFyZ2luOiAwIC0xZW07IH1cbiAgICAuZGV0YWlsIC5zcG9uc29ycyB1bCwgLmFua2xlIC5zcG9uc29ycyB1bCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuZGV0YWlsIC5zcG9uc29ycyB1bCBsaSwgLmFua2xlIC5zcG9uc29ycyB1bCBsaSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAuNzVlbSAyLjI3MjczJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXgtd2lkdGg6IDgwcHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgICAgLmRldGFpbCAuc3BvbnNvcnMgdWwgbGkgaW1nLCAuYW5rbGUgLnNwb25zb3JzIHVsIGxpIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFzaWRlIC5zcG9uc29ycyBoMiwgLmVuZ2FnZSAuc3BvbnNvcnMgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YS1jb25kZW5zZWRcIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hc2lkZSAuc3BvbnNvcnMgLmludHJvLCAuZW5nYWdlIC5zcG9uc29ycyAuaW50cm8ge1xuICAgIGZvbnQtc2l6ZTogLjc1ZW07IH1cbiAgLmFzaWRlIC5zcG9uc29ycyB1bCwgLmVuZ2FnZSAuc3BvbnNvcnMgdWwge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luOiAxZW0gMCAwIDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgZm9udC1zaXplOiA4MCU7IH1cbiAgICAuYXNpZGUgLnNwb25zb3JzIHVsIGxpLCAuZW5nYWdlIC5zcG9uc29ycyB1bCBsaSB7XG4gICAgICB3aWR0aDogNDcuMzY4NDIlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1LjI2MzE2JTtcbiAgICAgIG1pbi1oZWlnaHQ6IDRlbTsgfVxuICAgICAgLmFzaWRlIC5zcG9uc29ycyB1bCBsaTpudGgtY2hpbGQoMm4gKyAxKSwgLmVuZ2FnZSAuc3BvbnNvcnMgdWwgbGk6bnRoLWNoaWxkKDJuICsgMSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgICAuYXNpZGUgLnNwb25zb3JzIHVsIGxpOm50aC1jaGlsZCgybiArIDIpLCAuZW5nYWdlIC5zcG9uc29ycyB1bCBsaTpudGgtY2hpbGQoMm4gKyAyKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA1Mi42MzE1OCU7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgICAuYXNpZGUgLnNwb25zb3JzIHVsIGxpIGEsIC5lbmdhZ2UgLnNwb25zb3JzIHVsIGxpIGEge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtaW4taGVpZ2h0OiA0ZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjhlbTsgfVxuICAgICAgICAuYXNpZGUgLnNwb25zb3JzIHVsIGxpIGEgZGl2LCAuZW5nYWdlIC5zcG9uc29ycyB1bCBsaSBhIGRpdiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgICAuYXNpZGUgLnNwb25zb3JzIHVsIGxpIGEgaW1nLCAuZW5nYWdlIC5zcG9uc29ycyB1bCBsaSBhIGltZyB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIGhlbHBlclxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4ubm9fYm9yZGVyIHtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5pbnN0YWdyYW0ubWVkaXVtIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiL2tzYy90ZW1wbGF0ZXMvaW1hZ2VzL2FydHMvaW5zdGFncmFtXzMycHhfNDQ0LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAzMnB4O1xuICBmbG9hdDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG5zbWFsbC5jb3B5cmlnaHQge1xuICBmb250LWZhbWlseTogQ2FlY2lsaWFDb20tNTVSb21hbjtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgZm9udC1zaXplOiAwLjdlbTtcbiAgbGluZS1oZWlnaHQ6IDExMCU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMCAwLjVlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtc2hhZG93OiAwcHggMHB4IDJweCAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogU0hBTUVcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmdhbGxlcnkgZGl2LnRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogNTAwcHggbW9iaWxlLWZpcnN0ISAoZGVmYXVsdClcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuYm9keSB7XG4gIG1heC13aWR0aDogMTE0JTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBib2R5OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjbGVhcjogYm90aDsgfVxuXG4jY29udGVudCB7XG4gIC8qIHVuZmxvYXQgZ2FsbGVyaWVzICovIH1cbiAgI2NvbnRlbnQgLmRldGFpbCAuZnMge1xuICAgIHdpZHRoOiA5Ni40OTEyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7IH1cblxuI2hlYWRlciB7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gICNoZWFkZXIgI2hvbWUge1xuICAgIHdpZHRoOiAyOS44MjQ1NiU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICAgIG1hcmdpbi1yaWdodDogMS43NTQzOSU7XG4gICAgbWFyZ2luLWxlZnQ6IDM1LjA4NzcyJTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICNoZWFkZXIgLmhlcm9fc2hvdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNoZWFkZXIgLmhlcm9fc2hvdCAudGV4dCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjc1NDM5JTsgfVxuICAgICAgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IGgxIHtcbiAgICAgICAgLypmb250LXNpemU6IDEuNWVtOyAvLzI4cHgqLyB9XG4gICAgICAjaGVhZGVyIC5oZXJvX3Nob3QgLnRleHQgaDIge1xuICAgICAgICAvKmZvbnQtc2l6ZTogMS4zMjE1ZW07IC8vMjFweCovIH1cbiAgICAjaGVhZGVyIC5oZXJvX3Nob3QgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4ubWFpbiB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAgMCAwOyB9XG5cbi5hc2lkZSB7XG4gIHdpZHRoOiA5Ni40OTEyMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS43NTQzOSU7XG4gIG1hcmdpbi1yaWdodDogMS43NTQzOSU7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLm5hdi1wcmltYXJ5IHtcbiAgd2lkdGg6IDk2LjQ5MTIzJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjc1NDM5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjc1NDM5JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5uYXYtcHJpbWFyeSBoMyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC05OTllbTsgfVxuICAubmF2LXByaW1hcnkgdWwge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YxZWZlZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIwNiwgMTk1LCAxODksIDAuNik7IH1cbiAgLm5hdi1wcmltYXJ5IGxpIHtcbiAgICAvKmZvbnQtc2l6ZTogMWVtOyovXG4gICAgZm9udC1mYW1pbHk6IENhZWNpbGlhQ29tLTU1Um9tYW47XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBmb250LXNpemU6IDEuMzEyNWVtO1xuICAgIGNvbG9yOiAjZjFlZmVlO1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YxZWZlZTtcbiAgICBmb250LXNpemU6IDEuMGVtOyB9XG4gICAgLm5hdi1wcmltYXJ5IGxpOmxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAubmF2LXByaW1hcnkgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogLjVlbSAxZW07XG4gICAgcGFkZGluZzogMC4yNWVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmMWVmZWU7IH1cbiAgICAubmF2LXByaW1hcnkgYTp2aXNpdGVkIHtcbiAgICAgIGNvbG9yOiAjZjFlZmVlOyB9XG4gICAgLm5hdi1wcmltYXJ5IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMDYsIDE5NSwgMTg5LCAwLjUpOyB9XG4gIC5uYXYtcHJpbWFyeSAubmF2LWN1cnJlbnQgYSB7XG4gICAgY29sb3I6ICM0NDQgIWltcG9ydGFudDsgfVxuXG4uZW5nYWdlIC5jb250ZW50IGEgaW1nIHtcbiAgbWF4LXdpZHRoOiA0MnB4OyB9XG5cbi5uYXYtbWVudSAubmF2LXByaW1hcnkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm5hdi1tZW51IC5uYXYtcHJpbWFyeSBhIHtcbiAgcGFkZGluZy1yaWdodDogM2VtOyB9XG5cbi5uYXYtbWVudSAubmF2LXByaW1hcnkgaDMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMmVtO1xuICBoZWlnaHQ6IDJlbTtcbiAgYmFja2dyb3VuZDogI2NjYyB1cmwoL2tzYy90ZW1wbGF0ZXMvaW1hZ2VzL2FydHMvaWNvbnMucG5nKSBuby1yZXBlYXQgLTIwNXB4IDQ1JTtcbiAgdGV4dC1pbmRlbnQ6IC05OTllbTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBtYXJnaW46IDA7IH1cblxuLm5hdi1tZW51IC5uYXYtcHJpbWFyeS5leHBhbmRlZCBoMyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC0xNjlweCA0NSU7IH1cblxuLm5hdi1tZW51IC5uYXYtcHJpbWFyeSBsaSB7XG4gIGNsZWFyOiBsZWZ0O1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uYXYtbWVudSAubmF2LXByaW1hcnkuZXhwYW5kZWQgbGksXG4ubmF2LW1lbnUgLm5hdi1wcmltYXJ5IGxpLm5hdi1jdXJyZW50IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi5uYXYtbWVudSAubmF2LXByaW1hcnkgbGkubmF2LWN1cnJlbnQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbi5uYXYtbWVudSAubmF2LXByaW1hcnkuZXhwYW5kZWQgbGkubmF2LWN1cnJlbnQge1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7IH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEVWRU5UIERFVEFJTCAgICAgICAgICAgICAgICAgICAgKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uYWJvdXRfbmF2aWdhdGlvbiB7XG4gIGZsb2F0OiBub25lOyB9XG4gIC5hYm91dF9uYXZpZ2F0aW9uIHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLypcbi5kZXNjcmlwdGlvbntcbiAgICBAaW5jbHVkZSBzcGFuKGZ1bGwgaW5zaWRlKTtcblxuICAgIC5kZWV0c3tcbiAgICAgICAgbWFyZ2luOiAwOyAgLy9yZXNldCBmcm9tIGZ1bGwgd2lkdGhcbiAgICAgICAgQGluY2x1ZGUgbmVzdGVkKDYgbm8tZ3V0dGVycyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM0NDQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIEBpbmNsdWRlIGJsZWVkKC41ZW0pO1xuXG4gICAgfVxuXG4gICAgLnNob3d0aW1lLCAuc2hvd2RhdGV7XG4gICAgICAgIGNvbG9yOiAkcG1zX3dhcm1fZ3JleV80XzIwcDtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigzKTtcbiAgICB9XG5cbn1cbiovXG4uYWN0aW9uX25hdiAuc2hhcmUge1xuICB3aWR0aDogMjkuODI0NTYlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICBtYXJnaW4tcmlnaHQ6IDEuNzU0MzklO1xuICBtYXJnaW4tbGVmdDogMzUuMDg3NzIlO1xuICBtYXJnaW4tdG9wOiAuNWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjdGlvbl9uYXYgLnNoYXJlIHVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmFjdGlvbl9uYXYgLnNoYXJlIGxpIHtcbiAgICBtYXJnaW46IC41IDAgMWVtIDA7IH1cblxuLmFjdGlvbl9uYXY6YWZ0ZXIge1xuICBjb250ZW50OiBcIlwiO1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlc2hvdywgLmdhbGxlcnlfY29udGFpbmVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbGlkZXNob3cgaW1nLCAuZ2FsbGVyeV9jb250YWluZXIgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lOyB9XG5cbi5xdW90ZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMmVtOyB9XG4gIC5xdW90ZSBjaXRlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyNXB4OyB9XG5cbmgxLnRpdGxlLCBoMi5zdWJfdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDQ0O1xuICBjb2xvcjogI2YxZWZlZTtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIG1hcmdpbi1yaWdodDogLTFyZW07XG4gIG1hcmdpbi1sZWZ0OiAtMXJlbTtcbiAgcGFkZGluZy1yaWdodDogMXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG5cbmgxLnRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjYyNWVtOyB9XG5cbmgyLnN1Yl90aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBDYWVjaWxpYUNvbS01NVJvbWFuO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogQ0FURUdPUlkgICAgICAgICAgICAgICAgICAgICpcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLypcbiNjYXRlZ29yeXtcbiAgICAvL1JlZHVuZGFudCBGSVghIVxuICAgIC5tYWluIHtcbiAgICAgICAgQGluY2x1ZGUgc3BhbigxMDAlIG5vLWd1dHRlcnMpO1xuICAgICAgICBtYXJnaW46IC0yZW0gMCAwIDA7XG4gICAgfVxuXG59XG4qL1xuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIEZPT1RFUiAgICAgICAgICAgICAgICAgICAgKlxuKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4uZm9vdGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZm9vdGVyIC5zb2NpYWwge1xuICAgIHBhZGRpbmc6IC41ZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mb290ZXIgLnNlY29uZGFyeV9uYXYge1xuICAgIHdpZHRoOiA5Ni40OTEyMyU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICAgIG1hcmdpbi1yaWdodDogMS43NTQzOSU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZvb3RlciAuc2Vjb25kYXJ5X25hdiB1bCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZm9vdGVyIC5zZWNvbmRhcnlfbmF2IGxpIHtcbiAgICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gICAgICAuZm9vdGVyIC5zZWNvbmRhcnlfbmF2IGxpIGE6OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7IH1cbiAgLmZvb3RlciAuY3RhLCAuZm9vdGVyIC5hcnRzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mb290ZXIgLmNvbnRhY3QgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNTA4NzclOyB9XG4gIC5mb290ZXIgLmNvbnRhY3QgcCB7XG4gICAgd2lkdGg6IDQ2LjQ5MTIzJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMS43NTQzOSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjc1NDM5JTtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjUwODc3JTsgfVxuICAuZm9vdGVyIC5jb250YWN0IGg0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZvb3RlciAua3NjLCAuZm9vdGVyIC5jb250YWN0IHtcbiAgICB3aWR0aDogOTYuNDkxMjMlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAxLjc1NDM5JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNzU0MzklO1xuICAgIG1hcmdpbi1sZWZ0OiAxLjc1NDM5JTsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogUkVVU0FCTEUgRUxFTUVOVFMgICAgICAgICAgICAgICAgICAgICpcbioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuLmV2ZW50X2dyaWQge1xuICB3aWR0aDogOTYuNDkxMjMlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICBtYXJnaW4tcmlnaHQ6IDEuNzU0MzklOyB9XG5cbi5jYXRlZ29yeV9saXN0IHtcbiAgd2lkdGg6IDk2LjQ5MTIzJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1sZWZ0OiAxLjc1NDM5JTtcbiAgbWFyZ2luLXJpZ2h0OiAxLjc1NDM5JTsgfVxuXG4udXBjb21pbmcge1xuICB3aWR0aDogOTYuNDkxMjMlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICBtYXJnaW4tcmlnaHQ6IDEuNzU0MzklOyB9XG5cbi50ZWFzZXIgaW1nIHtcbiAgd2lkdGg6IDI5LjgyNDU2JTtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRlYXNlciAuaW5uZXJfY29udGVudCB7XG4gIHdpZHRoOiA0Ni40OTEyMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS43NTQzOSU7XG4gIG1hcmdpbi1yaWdodDogMS43NTQzOSU7IH1cblxuLnRlYXNlciAuY2FsZW5kYXIge1xuICB3aWR0aDogMTMuMTU3ODklO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICBtYXJnaW4tcmlnaHQ6IDEuNzU0MzklOyB9XG5cbi5hY3Rpb24ge1xuICB3aWR0aDogOTYuNDkxMjMlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWxlZnQ6IDEuNzU0MzklO1xuICBtYXJnaW4tcmlnaHQ6IDEuNzU0MzklOyB9XG5cbi5zaXh0aCB7XG4gIHdpZHRoOiA0Ni40OTEyMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS43NTQzOSU7XG4gIG1hcmdpbi1yaWdodDogMS43NTQzOSU7IH1cblxuLmNvbHVtbiB7XG4gIHdpZHRoOiA5Ni40OTEyMyU7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tbGVmdDogMS43NTQzOSU7XG4gIG1hcmdpbi1yaWdodDogMS43NTQzOSU7IH1cblxuLmNhdGVnb3JpZXMgbGkge1xuICBtYXJnaW4tYm90dG9tOiAuNWVtOyB9XG5cbi5zdmcge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50d2l0dGVyIHtcbiAgYmFja2dyb3VuZDogaW5saW5lLWltYWdlKFwiYXJ0cy9zdmcvdHdpdHRlci5zdmdcIiwgXCJpbWFnZS9zdmcreG1sXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG5cbi5mYWNlYm9vayB7XG4gIGJhY2tncm91bmQ6IGlubGluZS1pbWFnZShcImFydHMvc3ZnL2ZhY2Vib29rLnN2Z1wiLCBcImltYWdlL3N2Zyt4bWxcIikgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7IH1cblxuLnBpbnRlcmVzdCB7XG4gIGJhY2tncm91bmQ6IGlubGluZS1pbWFnZShcImFydHMvc3ZnL3BpbnRlcmVzdC5zdmdcIiwgXCJpbWFnZS9zdmcreG1sXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG5cbi55b3V0dWJlIHtcbiAgYmFja2dyb3VuZDogaW5saW5lLWltYWdlKFwiYXJ0cy9zdmcveW91dHViZS5zdmdcIiwgXCJpbWFnZS9zdmcreG1sXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG5cbi5pbnN0YWdyYW0ge1xuICBiYWNrZ3JvdW5kOiBpbmxpbmUtaW1hZ2UoXCJhcnRzL3N2Zy9pbnN0YWdyYW0uc3ZnXCIsIFwiaW1hZ2Uvc3ZnK3htbFwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjsgfVxuXG4vKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiogV2lkZSBCcmVha3BvaW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbkBtZWRpYSAobWluLXdpZHRoOiA1NzBweCkge1xuICBib2R5IHtcbiAgICBtYXgtd2lkdGg6IDEwMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICBib2R5OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAjY29udGVudCAuZGV0YWlsIC5mcyB7XG4gICAgd2lkdGg6IDQ4LjAzOTIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICNoZWFkZXIge1xuICAgIG1pbi1oZWlnaHQ6IDQ3NXB4OyB9XG4gICAgI2hlYWRlciAjaG9tZSB7XG4gICAgICB3aWR0aDogMTQuNzA1ODglO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTgwMzklO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgI2hlYWRlciAubmF2LXByaW1hcnkge1xuICAgICAgd2lkdGg6IDQ4LjAzOTIyJTtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjk4MDM5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45ODAzOSU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFlbTtcbiAgICAgIC8qXG4gICAgICAgICAgICB3aWR0aCBvdmVycmlkZSBzcGFuIC0tIGRlY2xhcmF0aW9uIG9mIHdhciBvbiBzdXN5IC0tIHNlZW1zIHN0YWJsZT9cbiAgICAgICAgICAgIHN0b3AgaGVhZGVyIG5hdiBmcm9tIGhvcGluZyBvbiB0byB0d28gc2VwYXJhdGUgbGluZXMgYXMgNTAlIGlzIGVuY3JvYWNoaW5cbiAgICAgICAgICAgICovXG4gICAgICB3aWR0aDogNzUlOyB9XG4gICAgICAjaGVhZGVyIC5uYXYtcHJpbWFyeSBoMyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNoZWFkZXIgLm5hdi1wcmltYXJ5IHVsIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgI2hlYWRlciAubmF2LXByaW1hcnkgbGkge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2YxZWZlZTtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1ZW07IH1cbiAgICAgICNoZWFkZXIgLm5hdi1wcmltYXJ5IGEge1xuICAgICAgICBwYWRkaW5nOiAwIDAuNzVlbTsgfVxuICAgICAgICAjaGVhZGVyIC5uYXYtcHJpbWFyeSBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgI2hlYWRlciAubmF2LXByaW1hcnkgbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItbGVmdDogbm9uZTsgfVxuICAgICAgI2hlYWRlciAubmF2LXByaW1hcnkgbGkubm9fYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lOyB9XG4gICAgI2hlYWRlciAuaGVyb19zaG90IC50ZXh0IHtcbiAgICAgIHdpZHRoOiA4MS4zNzI1NSU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjk4MDM5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45ODAzOSU7XG4gICAgICB0b3A6IDEzZW07IH1cbiAgLm1haW4ge1xuICAgIG1hcmdpbjogMmVtIDA7XG4gICAgd2lkdGg6IDQ4LjAzOTIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjk4MDM5JTtcbiAgICBtYXJnaW4tbGVmdDogOS4zMTM3MyU7IH1cbiAgLmFzaWRlIHtcbiAgICBtYXJnaW4tdG9wOiAyZW07IH1cbiAgLmRlc2NyaXB0aW9uIC5kZWV0cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0NDQ7IH1cbiAgaDEudGl0bGUsIGgyLnN1Yl90aXRsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICM0NDQ7IH1cbiAgaDEudGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMi4yZW07IH1cbiAgaDIuc3ViX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogQ2FlY2lsaWFDb20tNTVSb21hbjtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc2l6ZTogMWVtOyB9XG4gIC5hY3Rpb25fbmF2IHtcbiAgICBtYXJnaW46IDFlbSAwOyB9XG4gICAgLmFjdGlvbl9uYXYgLnRpY2tldHMge1xuICAgICAgd2lkdGg6IDYyLjc0NTElO1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAuYWN0aW9uX25hdiAuc2hhcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTgwMzklO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAuYXNpZGUge1xuICAgIHdpZHRoOiAzMS4zNzI1NSU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTgwMzklO1xuICAgIG1hcmdpbi1yaWdodDogMC45ODAzOSU7IH1cbiAgLmZvb3RlciAuY29udGFjdCB7XG4gICAgd2lkdGg6IDIzLjAzOTIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjk4MDM5JTtcbiAgICBtYXJnaW4tbGVmdDogOS4zMTM3MyU7IH1cbiAgICAuZm9vdGVyIC5jb250YWN0IGg0IHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmZvb3RlciAuY29udGFjdCBwIHtcbiAgICAgIHdpZHRoOiA5OC4wMzkyMiU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjk4MDM5JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMC45ODAzOSU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwcHg7IH1cbiAgICAuZm9vdGVyIC5jb250YWN0IC5zb2NpYWwge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHBhZGRpbmc6IC41ZW0gMCAwIDA7IH1cbiAgLmZvb3RlciAuc2Vjb25kYXJ5X25hdiB7XG4gICAgd2lkdGg6IDIzLjAzOTIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjk4MDM5JTsgfVxuICAuZm9vdGVyIC5jdGEge1xuICAgIHdpZHRoOiAxNC43MDU4OCU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTgwMzklO1xuICAgIG1hcmdpbi1yaWdodDogMC45ODAzOSU7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZvb3RlciAuYXJ0cyB7XG4gICAgd2lkdGg6IDIzLjAzOTIyJTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjk4MDM5JTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mb290ZXIgLmFydHMgaW1nIHtcbiAgICAgIHdpZHRoOiA1OC44MjM1MyU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjkyMTU3JTtcbiAgICAgIG1hcmdpbi1yaWdodDogMy45MjE1NyU7XG4gICAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTgwMzklOyB9XG4gIC5mb290ZXIgLmtzYyB7XG4gICAgd2lkdGg6IDgxLjM3MjU1JTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjk4MDM5JTtcbiAgICBtYXJnaW4tbGVmdDogOS4zMTM3MyU7IH1cbiAgLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4gICAgKiBFVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogQ0FURUdPUlkgICAgICAgICAgICAgICAgICAgICAgICAqXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC8qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuICAgICogREVUQUlMKlxuICAgICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqL1xuICAvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbiAgICAqIEhPTUUqXG4gICAgKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKiovXG4gIC5ldmVudF9ncmlkIC5ldmVudCB7XG4gICAgd2lkdGg6IDMxLjM3MjU1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5ldmVudF9ncmlkIC5ldmVudDpudGgtY2hpbGQoM24gKyAxKSB7XG4gICAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IC0xMDAlO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuZXZlbnRfZ3JpZCAuZXZlbnQ6bnRoLWNoaWxkKDNuICsgMikge1xuICAgICAgbWFyZ2luLWxlZnQ6IDM0LjMxMzczJTtcbiAgICAgIG1hcmdpbi1yaWdodDogLTEwMCU7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5ldmVudF9ncmlkIC5ldmVudDpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgICBtYXJnaW4tbGVmdDogNjcuNjQ3MDYlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAtMTAwJTtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gIC5jb2x1bW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDFlbTsgfVxuICAgIC5jb2x1bW4ubGFzdCB7XG4gICAgICB3aWR0aDogMzEuMzcyNTUlO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTgwMzklO1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgLmNvbHVtbi51cGNvbWluZyB7XG4gICAgICB3aWR0aDogNjQuNzA1ODglO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tbGVmdDogMC45ODAzOSU7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuOTgwMzklOyB9XG4gIC5zaXh0aCB7XG4gICAgd2lkdGg6IDQ0LjExNzY1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5zaXh0aC5sYXN0IHtcbiAgICAgIGZsb2F0OiByaWdodDsgfVxuICAuZW5nYWdlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFlZmVlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQxLCAyMzksIDIzOCwgMC4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMWVtOyB9XG4gICAgLmVuZ2FnZSAuY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAxZW07IH1cbiAgICAuZW5nYWdlIGlmcmFtZSwgLmVuZ2FnZSBvYmplY3QsIC5lbmdhZ2UgZW1iZWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZW5nYWdlIGlmcmFtZSB7XG4gICAgICBwYWRkaW5nOiAtMWVtOyB9XG4gICAgLmVuZ2FnZSBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5hY3Rpb24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMWVmZWU7XG4gICAgcGFkZGluZzogMWVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQxLCAyMzksIDIzOCwgMC4yKTsgfVxuICAgIC5hY3Rpb24gcCB7XG4gICAgICBwYWRkaW5nOiAwIDFlbTsgfVxuICAudGVhc2VyIGltZyB7XG4gICAgd2lkdGg6IDE5LjExNzY1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAudGVhc2VyIC5pbm5lcl9jb250ZW50IHtcbiAgICB3aWR0aDogNDQuMTE3NjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAyLjk0MTE4JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuOTQxMTglOyB9XG4gIC50ZWFzZXIgLmNhbGVuZGFyIHtcbiAgICB3aWR0aDogMTkuMTE3NjUlO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1sZWZ0OiAyLjk0MTE4JTtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuOTQxMTglOyB9XG4gIC8qXG4gICAgLnNsaWRlc2hvdywgLmdhbGxlcnlfY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgc3Bhbig2IG9mIDYpO1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgbWFyZ2luOiAxZW0gMDtcbiAgICAgICAgaW1nIHtcblxuICAgICAgICB9XG4gICAgfSovIH1cblxuLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4qIE1lZGl1bSBCcmVha3BvaW50XG4qKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi9cbi8qXG5AaW5jbHVkZSBzdXN5LWJyZWFrcG9pbnQoNTcwcHggOTAwcHgsIDEyKSB7XG4gICAgYm9keSB7XG5cbiAgICAgfVxuICAgIC5jb2x1bW4ge1xuICAgICAgICBAaW5jbHVkZSBzcGFuKDYgb2YgMTIpO1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICB9XG4gICAgLmNvbHVtbi51cGNvbWluZ3tcbiAgICAgICAgZmxvYXQ6bm9uZTtcbiAgICB9XG5cbn1cbiovXG4iXX0= */
