@charset "UTF-8";
/* Put your global styles here */
/*! normalize.css v7.0.0 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in
 *    IE on Windows Phone and in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*! HTML5 Boilerplate v6.0.1 | MIT License | https://html5boilerplate.com/ */
/*
 * What follows is the result of much research on cross-browser styling.
 * Credit left inline and big thanks to Nicolas Gallagher, Jonathan Neal,
 * Kroc Camen, and the H5BP dev community and team.
 */
/* ==========================================================================
   Base styles: opinionated defaults
   ========================================================================== */
/*
 * Remove text-shadow in selection highlight:
 * https://twitter.com/miketaylr/status/12228805301
 *
 * Vendor-prefixed and regular ::selection selectors cannot be combined:
 * https://stackoverflow.com/a/16982510/7133471
 *
 * Customize the background color to match your design.
 */
::-moz-selection {
  background: #b3d4fc;
  text-shadow: none;
}

::selection {
  background: #b3d4fc;
  text-shadow: none;
}

/*
 * A better looking default horizontal rule
 */
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

/*
 * Remove the gap between audio, canvas, iframes,
 * images, videos and the bottom of their containers:
 * https://github.com/h5bp/html5-boilerplate/issues/440
 */
audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle;
}

/*
 * Remove default fieldset styles.
 */
fieldset {
  border: 0;
  margin: 0;
  padding: 0;
}

/*
 * Allow only vertical resizing of textareas.
 */
textarea {
  resize: vertical;
}

/* ==========================================================================
   Browser Upgrade Prompt
   ========================================================================== */
.browserupgrade {
  margin: 0.2em 0;
  background: #ccc;
  color: #000;
  padding: 0.2em 0;
  text-align: center;
}

/* ==========================================================================
   Helper classes
   ========================================================================== */
/*
 * Hide visually and from screen readers
 */
.hidden {
  display: none !important;
}

/*
 * Hide only visually, but have it available for screen readers:
 * https://snook.ca/archives/html_and_css/hiding-content-for-accessibility
 *
 * 1. For long content, line feeds are not interpreted as spaces and small width
 *    causes content to wrap 1 word per line:
 *    https://medium.com/@jessebeach/beware-smushed-off-screen-accessible-text-5952a4c2cbfe
 */
.visuallyhidden {
  border: 0;
  clip: rect(0 0 0 0);
  -webkit-clip-path: inset(50%);
  clip-path: inset(50%);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px;
  white-space: nowrap;
  /* 1 */
}

/*
 * Extends the .visuallyhidden class to allow the element
 * to be focusable when navigated to via the keyboard:
 * https://www.drupal.org/node/897638
 */
.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
  clip: auto;
  -webkit-clip-path: none;
  clip-path: none;
  height: auto;
  margin: 0;
  overflow: visible;
  position: static;
  width: auto;
  white-space: inherit;
}

/*
 * Hide visually and from screen readers, but maintain layout
 */
.invisible {
  visibility: hidden;
}

/*
 * Clearfix: contain floats
 *
 * For modern browsers
 * 1. The space content is one way to avoid an Opera bug when the
 *    `contenteditable` attribute is included anywhere else in the document.
 *    Otherwise it causes space to appear at the top and bottom of elements
 *    that receive the `clearfix` class.
 * 2. The use of `table` rather than `block` is only necessary if using
 *    `:before` to contain the top-margins of child elements.
 */
.clearfix:before,
.clearfix:after {
  content: " ";
  /* 1 */
  display: table;
  /* 2 */
}

.clearfix:after {
  clear: both;
}

/* ==========================================================================
   Print styles.
   Inlined to avoid the additional HTTP request:
   https://www.phpied.com/delay-loading-your-print-css/
   ========================================================================== */
@media print {
  *,
  *:before,
  *:after {
    background: transparent !important;
    color: #000 !important;
    /* Black prints faster:
                                   https://www.sanbeiji.com/archives/953 */
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  /*
     * Don't show links that are fragment identifiers,
     * or use the `javascript:` pseudo protocol
     */
  a[href^="#"]:after,
  a[href^="javascript:"]:after {
    content: "";
  }
  pre {
    white-space: pre-wrap !important;
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  /*
     * Printing Tables:
     * https://css-discuss.incutio.com/wiki/Printing_Tables
     */
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
}

@font-face {
  font-family: 'Kern';
  src: url("/webfonts/Kern-Regular-the1970s.woff2") format("woff2"), url("/webfonts/Kern-Regular-the1970s.woff") format("woff"), url("/webfonts/Kern-Regular-the1970s.otf") format("opentype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: 'Kerni';
  src: url("/webfonts/kern_italic-webfont.woff2") format("woff2"), url("/webfonts/kern_italic-webfont.woff") format("woff"), url("/webfonts/Kern Italic.ttf") format("truetype"), url("/webfonts/kern_italic-webfont.svg") format("svg");
  font-weight: normal;
  font-style: normal;
}

html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: Kern, Helvetica Neue, sans-serif;
  font-size: 1.825rem;
  line-height: 2.15rem;
  font-weight: normal;
}

.small {
  font-size: 1.1rem;
  line-height: 1.2rem;
}

.medium {
  font-size: 1.325rem;
  line-height: 1.575rem;
}

h1, h2, h3, h4 {
  margin: 0;
  padding: 0;
  font-weight: normal;
  font-size: 1.825rem;
  line-height: 2.15rem;
}

h3 {
  text-transform: uppercase;
}

nav, .langswitch {
  text-transform: lowercase;
}

.events .item {
  font-size: 1.5rem;
  line-height: 1.8rem;
}

.event-type {
  line-height: 1.9rem;
}

/* MAIN ELEMENTS */
main.main,
header.header {
  z-index: 1;
}

main.main {
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap;
}

.logo {
  position: fixed;
  max-width: 300px;
  top: 10px;
  left: 10px;
  z-index: 1234;
}

nav {
  position: fixed;
  top: 5px;
  right: 5px;
  z-index: 1;
  z-index: 1235;
}

.home nav {
  width: calc(100% - 5px);
}

.langswitch {
  display: flex;
  justify-content: center;
}

.signup {
  margin-bottom: 140px;
}

.signup #mc_embed_signup_scroll,
.signup form {
  width: 100%;
}

.signup .mc-field-group {
  display: flex;
}

.signup .input-group {
  flex-wrap: wrap;
}

.signup .nl-label {
  margin-right: 20px;
  padding-top: 4px;
}

footer.footer {
  position: fixed;
  bottom: 40px;
  z-index: -1;
}

footer.footer ul {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

footer.footer ul li {
  margin: 5px 10px;
}

/* PIECES */
.item.in .info,
.item.out .info {
  display: flex;
  justify-content: space-between;
}

.item.in .info .location,
.item.out .info .location {
  text-align: right;
}

.item.in .img-holder,
.item.out .img-holder {
  position: relative;
}

.item.in .info-right,
.item.out .info-right {
  text-align: right;
}

.item.in .svg-holder,
.item.out .svg-holder {
  position: absolute;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.item.in svg,
.item.out svg {
  width: calc(100% + 2px);
  height: calc(100% + 2px);
  margin-left: -1px;
}

.item.in img,
.item.out img {
  width: 100%;
}

.item.in,
.item.out {
  align-self: flex-start;
}

.item.in.item-v2,
.item.out.item-v2 {
  margin-top: 30px !important;
}

.item.in .img-holder-v2,
.item.out .img-holder-v2 {
  display: flex;
  overflow: hidden;
  position: relative;
  margin: 20px;
}

.item.in .img-holder-v2:hover .img-v2,
.item.out .img-holder-v2:hover .img-v2 {
  clip-path: circle(100%);
}

.item.in .img-v2,
.item.out .img-v2 {
  height: 100%;
  clip-path: url(#cp);
  width: 100%;
}

.item.in.static:hover .img-holder-v2:hover .img-v2,
.item.out.static:hover .img-holder-v2:hover .img-v2 {
  clip-path: url(#cp);
}

.page-artist .img-v2,
.page-event .img-v2,
.page-work .img-v2 {
  max-height: none !important;
  width: 100%;
}

.home .logo {
  display: none;
}

.left,
.right {
  width: calc(50% - 20px);
  padding: 10px;
}

.right {
  margin-top: 60px;
}

.search-input {
  margin: 10px 0 20px 0;
}

.big,
.opening {
  margin-bottom: 20px;
}

.big .info {
  margin-bottom: 10px;
}

.big .event-type {
  margin-bottom: 10px;
}

.publics {
  margin: 50px 0;
  position: relative;
}

.publics h2 {
  position: absolute;
  top: 45%;
  left: 0;
  right: 0;
  margin: 0 auto;
  text-align: center;
  z-index: 12345;
  padding-left: 60px;
  padding-right: 60px;
}

.programme {
  margin-bottom: 20px;
}

.programme h2 {
  margin-bottom: 10px;
}

.programme .events-wrapper {
  width: 100%;
  height: 210px;
  overflow: hidden;
}

.programme .events {
  padding-top: 10px;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
  padding-right: 17px;
  box-sizing: content-box;
}

.programme .event {
  display: flex;
  flex-direction: column;
  border-top: 2px solid #000000;
  margin-bottom: 5px;
  padding: 10px 0;
}

.programme .event .practical {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 20px;
}

.programme .event .practical:last-child {
  border-bottom: none;
}

.programme .event.t-exhibition .practical .time,
.programme .event.t-tentoonstelling .practical .time,
.programme .event.t-exposition .practical .time {
  display: none;
}

.programme .event .title {
  margin-bottom: 10px;
}

.single-events {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.single-events .panel {
  max-width: calc(50% - 30px);
  margin-bottom: 20px;
  align-self: flex-start;
}

.single-events h4 {
  margin: 10px 0;
}

.media-library a {
  color: #ffffff;
  text-decoration: none;
  display: block;
}

.media-library a:hover {
  color: #ffffff;
}

.media-library a .media-library-front {
  display: flex;
  justify-content: space-between;
}

.media-library a .media-library-front h2 {
  width: 50%;
}

.media-library a h2 {
  margin-top: 20px;
  margin-left: 20px;
}

.media-library a .item {
  max-width: 400px;
  width: 50%;
}

.news {
  position: fixed;
  bottom: 0;
  left: 0;
  background-color: #52FF6A;
  width: 100%;
  height: 40px;
  z-index: 12345;
}

.news .label {
  background-color: #000000;
  color: white;
  padding: 2px 5px 4px 5px;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 123;
}

.news .messages {
  height: 40px;
  padding-top: 4px;
}

.news .messages a {
  margin-right: 50px;
}

.page .content,
.page-event .content,
.page-artist .content,
.page-work .content {
  padding: 100px 15px 10px 15px;
  width: calc(100% - 30px);
}

.page .content .panel,
.page-event .content .panel,
.page-artist .content .panel,
.page-work .content .panel {
  position: relative;
  margin-bottom: 20px;
}

.page .content h1,
.page-event .content h1,
.page-artist .content h1,
.page-work .content h1 {
  margin: 20px 20px 0 20px;
  position: absolute;
  top: 0;
  z-index: 123;
}

.page .content h1.no-img,
.page-event .content h1.no-img,
.page-artist .content h1.no-img,
.page-work .content h1.no-img {
  position: relative;
  margin: 20px 0 20px 0;
  text-transform: uppercase;
}

.page .content h3,
.page-event .content h3,
.page-artist .content h3,
.page-work .content h3 {
  margin-top: 20px;
}

.page .content .item,
.page-event .content .item,
.page-artist .content .item,
.page-work .content .item {
  margin-top: 10px;
}

.page .content p.first,
.page-event .content p.first,
.page-artist .content p.first,
.page-work .content p.first {
  margin-top: 5px;
}

.small-panel {
  display: inline-block;
  vertical-align: top;
  width: calc(50% - 45px);
  padding: 0 5px;
  margin: 10px 10px 20px 10px;
}

.small-panel .panel-upper p {
  padding: 0;
  margin: 0;
}

.table {
  display: flex;
  flex-direction: row;
  width: 100%;
}

.table .length,
.table .price {
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  border-right: 2px solid #000000;
}

.table .length.price,
.table .price.price {
  border-right: none;
}

.table .length > div,
.table .price > div {
  max-width: 200px;
  padding: 10px;
  width: calc(100% - 20px);
  border-top: 2px solid #000000;
}

.table .length > div.label,
.table .price > div.label {
  width: calc(100% - 20px) !important;
  border-top: none;
}

.column {
  display: inline-block;
  vertical-align: top;
  max-width: calc(50% - 24px);
  width: calc(50% - 34px);
}

iframe,
#map,
.ol-viewport {
  border: none;
  width: 100%;
  border-radius: 25px;
  margin-top: 50px;
}

.fluid-width-video-wrapper {
  margin-bottom: 150px;
}

.link-panels {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.link-panels .item {
  width: calc(100%/3 - 40px);
  margin: 10px;
}

.gallery {
  display: flex;
  flex-wrap: wrap;
}

.gallery .item {
  width: calc(25% - 20px);
}

.gallery .svg-holder {
  top: -1px;
}

.programme-page main.main,
.page-work-overview main.main {
  flex-direction: column;
}

.filters {
  display: flex;
  margin-top: 110px;
  margin-bottom: 30px;
  justify-content: center;
  flex-wrap: wrap;
}

.filters .filter {
  margin: 5px;
}

.filters .has-sub {
  position: relative;
  display: flex;
  flex-direction: column;
}

.filters .has-sub ul {
  position: absolute;
  padding: 50px 0 0 0;
  margin: 0;
  display: none;
}

.filters .has-sub li {
  list-style: none;
  margin: 0 20px 10px -15px;
}

.filters .has-sub:hover ul {
  display: flex;
}

.programme-list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: 10px;
}

.programme-list .item {
  max-width: calc(50% - 30px);
  width: calc(50% - 30px);
  margin-bottom: 20px;
}

.programme-list .item .info {
  margin-bottom: 10px;
}

.programme-list .item .event-type {
  margin-bottom: 10px;
}

.page-event .event-info {
  width: 100%;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.page-search .content {
  padding-bottom: 20px;
}

.page-search .content h1 {
  position: relative;
  margin: 20px 0;
}

.page-search .content ul {
  margin-bottom: 40px;
}

.page-artist-overview .programme-list,
.page-work-overview .programme-list {
  margin-top: 100px;
}

.page-artist-overview .alphabet,
.page-work-overview .alphabet {
  position: fixed;
  width: calc(100% - 60px);
  padding: 20px;
  left: 0;
  right: 0;
  bottom: 20px;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  z-index: 1234;
}

.page-artist-overview .alphabet .number,
.page-work-overview .alphabet .number {
  margin-left: auto !important;
}

.birthyear {
  position: relative;
  padding-left: 15px;
}

.birthyear:before {
  position: absolute;
  content: '°';
  top: 0;
  left: 0;
}

.page-work .programme-list {
  margin-top: 20px;
}

.page-work .technical {
  display: flex;
  justify-content: space-between;
}

.pager {
  display: flex;
  justify-content: space-between;
  padding: 20px 40px;
  margin-bottom: 20px;
}

.pager a {
  text-decoration: none;
}

.pager .inactive {
  opacity: 0.1;
}

@media only screen and (max-width: 70em) {
  .single-events {
    flex-wrap: wrap;
  }
  .single-events .panel {
    max-width: calc(100% - 20px);
    margin-bottom: 20px;
  }
  .link-panels .item {
    width: calc(100%/2 - 40px);
  }
  .column {
    display: block;
    max-width: calc(100%);
    width: calc(100%);
  }
}

@media only screen and (max-width: 45em) {
  .home main.main {
    flex-wrap: wrap;
  }
  .home .left,
  .home .right {
    width: calc(100% - 20px);
  }
  .home .right {
    margin-top: 0;
  }
  .signup {
    margin-bottom: 180px;
  }
  .signup .nil {
    display: none;
  }
  .signup [type="email"] {
    flex-grow: 1 !important;
    width: 100%;
  }
  .programme-list .item {
    max-width: 100%;
    width: 100%;
  }
  .small-panel {
    display: block;
    width: calc(100% - 20px);
    margin: 20px 0;
  }
  .link-panels .item {
    width: calc(100% - 40px);
  }
  .page .content h1,
  .page-event .content h1 {
    margin: 10px 20px 0 20px;
    position: relative;
  }
  .page .content .item,
  .page-event .content .item {
    margin-top: -10px;
  }
  .table {
    flex-direction: row;
    width: 100%;
  }
  .table .length,
  .table .price {
    justify-content: space-between;
    flex-direction: column;
    border-bottom: none;
    border-right: 2px solid #000000;
  }
  .table .length.price,
  .table .price.price {
    border-right: none;
  }
  .table .length > div,
  .table .price > div {
    width: calc(100% - 20px);
    border-left: none;
    border-top: 2px solid #000000;
  }
  .table .length > div.label,
  .table .price > div.label {
    width: calc(100% - 20px) !important;
    border-top: none;
  }
  .table .length > div:first-child,
  .table .price > div:first-child {
    border-left: none;
  }
  .gallery .item {
    width: calc(50% - 20px);
  }
}

@media only screen and (max-width: 35em) {
  .gallery .item {
    width: calc(100% - 20px);
  }
}

@media only screen and (max-width: 25em) {
  .signup {
    margin-bottom: 220px;
  }
  .gallery .item {
    width: calc(100% - 20px);
  }
}

.m-menu {
  position: fixed;
  top: 14px;
  right: 25px;
  display: none;
  z-index: 12345678;
}

.m-menu:before {
  position: absolute;
  display: block;
  content: '';
  width: 50px;
  height: 3px;
  left: 0px;
  top: 24px;
  background-color: #000000;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.m-menu .mm {
  border: none;
  background: transparent;
  cursor: pointer;
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  outline: none;
  padding: 0;
}

.m-menu .mm:before, .m-menu .mm:after {
  position: absolute;
  display: block;
  content: '';
  width: 50px;
  height: 3px;
  left: 0px;
  top: 12px;
  background-color: #000000;
  transition: all 0.15s cubic-bezier(0.445, 0.05, 0.55, 0.95);
}

.m-menu .mm:after {
  top: 36px;
}

nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}

nav ul li {
  margin: 5px;
  display: block;
}

nav ul li a, nav ul li span.button {
  display: block;
}

nav li ul {
  display: none;
  position: absolute;
  padding-top: 5px;
  right: 0;
}

nav li:hover ul {
  flex-wrap: wrap;
  margin-left: -5px;
}

nav .langswitch {
  display: flex;
}

nav .p40 ul {
  display: none !important;
}

@media only screen and (max-width: 35em) {
  .m-menu {
    display: block;
  }
  .nav {
    display: none;
  }
  .m-menu-open .m-menu:before {
    opacity: 0;
  }
  .m-menu-open .m-menu .mm:before {
    top: 24px;
    transform: rotate(-45deg);
  }
  .m-menu-open .m-menu .mm:after {
    top: 24px;
    transform: rotate(45deg);
  }
  .m-menu-open .nav {
    position: absolute;
    display: block;
    top: 75px;
    width: calc(100% - 10px);
    left: 5px;
  }
  .m-menu-open .nav ul {
    flex-flow: column;
  }
  .m-menu-open .nav ul li {
    text-align: center;
  }
  .m-menu-open .nav ul li a, .m-menu-open .nav ul li .button {
    padding: 10px;
  }
  .m-menu-open .nav ul li ul {
    position: relative;
  }
  .m-menu-open .nav ul li ul li:last-child {
    margin-bottom: 0;
  }
  .m-menu-open .langswitch-holder {
    order: -1;
  }
}

@media not all and (pointer: coarse) {
  nav li:hover ul {
    display: flex;
  }
}

[v-cloak] > * {
  display: none;
}

@keyframes rotatingImage {
  0% {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
  25% {
    -webkit-transform: rotateY(-360deg);
    transform: rotateY(-360deg);
  }
  75% {
    -webkit-transform: rotateY(-360deg);
    transform: rotateY(-360deg);
  }
  100% {
    -webkit-transform: rotateY(0deg);
    transform: rotateY(0deg);
  }
}

body {
  background-color: #F0F0F0;
  color: #000000;
}

a {
  color: #000000;
}

a:hover {
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
}

.content a {
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
  text-decoration: none;
}

.link-panels a {
  text-shadow: none;
}

.link-panels a:hover {
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
}

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

ul,
li {
  margin: 0;
  padding: 0;
}

nav li,
.langswitch li,
footer li {
  list-style: none;
}

.button,
nav a,
.langswitch {
  background-color: #ffffff;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.25);
  color: #000000;
  border-radius: 25px;
  padding: 0 15px 2px 15px;
  text-decoration: none;
}

.button:hover,
nav a:hover,
.langswitch:hover {
  color: #000000;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
}

.langswitch {
  padding: 0 10px 2px 10px;
}

.langswitch a {
  background: none;
  box-shadow: none;
  text-decoration: none;
  color: #ffffff;
  text-shadow: 0 0 0.3em rgba(0, 0, 0, 0.5);
  margin: 0;
  padding: 0 5px;
}

.langswitch a.active, .langswitch a:hover {
  color: #000000;
}

.button.active,
nav li.active a {
  background-color: #000000;
  color: #ffffff;
}

.button.active:hover,
nav li.active a:hover {
  text-shadow: 0 0 0.3em white;
}

main.main {
  background-color: #ffffff;
}

.item {
  padding: 10px;
}

.item.big {
  background-color: #ebebeb;
}

.item a {
  text-decoration: none;
}

.publics {
  perspective: 1000px;
  /* Remove this if you don't want the 3D effect */
}

.publics a {
  color: white;
  display: block;
}

.publics img {
  margin: 0 auto;
  max-width: 75%;
  border-radius: 25px;
  animation: 60s rotatingImage linear infinite;
}

.jobs {
  max-width: 75%;
  margin: 0 auto 40px auto;
}

.jobs a {
  color: white;
  text-decoration: none;
  border-radius: 25px;
  background-color: #0067FF;
  text-align: center;
  display: block;
  padding: 90px;
  word-break: break-word;
}

.location:before {
  content: '@';
}

.opening {
  background-color: #0067FF;
  color: #ffffff;
  border-radius: 25px;
  padding: 7px 7px;
}

.opening span {
  border: 1px solid #ffffff;
  padding: 0 2px;
  margin-right: 3px;
}

.search-input {
  border-radius: 25px;
  border: none;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.15);
  color: #000000;
  padding: 3px 7px;
  width: calc(100% - 14px);
  outline: none;
}

::-webkit-input-placeholder {
  /* Edge */
  color: #000000;
}

:-ms-input-placeholder {
  /* Internet Explorer 10-11 */
  color: #000000;
}

::placeholder {
  color: #000000;
}

.panel,
.small-panel {
  border-radius: 25px;
  padding: 10px;
}

.panel.blue,
.small-panel.blue {
  background-color: #0067FF;
  color: #ffffff;
}

.panel.blue a,
.small-panel.blue a {
  color: #ffffff;
}

.panel.shadow,
.small-panel.shadow {
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.2);
  border-radius: 25px;
}

.body-txt ul,
.column ul {
  margin-left: 10%;
  max-width: 80%;
}

.body-txt li,
.column li {
  list-style: none;
  position: relative;
  padding-left: 20px;
  margin-left: 10px;
}

.body-txt li:before,
.column li:before {
  content: '•';
  position: absolute;
  top: 0;
  left: -10px;
}

.programme .events-wrapper {
  position: relative;
}

.programme .events-wrapper .events:after {
  width: 100%;
  height: 50%;
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(rgba(255, 255, 255, 0), white);
  pointer-events: none;
}

.programme .events-wrapper a {
  text-decoration: none;
}

.home .event-type,
.programme-page .event-type {
  text-transform: uppercase;
}

.single-events h4 {
  text-transform: uppercase;
}

.home .media-library {
  color: #ffffff;
  min-height: 100px;
}

.home .media-library {
  background-color: transparent;
  width: 100%;
  height: 250px;
  perspective: 1000px;
  /* Remove this if you don't want the 3D effect */
}

.home .media-library:hover .media-library-inner {
  transform: rotateY(180deg);
}

.home .media-library .item {
  backface-visibility: hidden;
}

/* This container is needed to position the front and back side */
.media-library-inner {
  position: relative;
  width: 100%;
  height: 100%;
  transition: transform 0.8s;
  transform-style: preserve-3d;
}

.media-library-front,
.media-library-back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}

.media-library-front,
.media-library-back {
  background-color: #000000;
  border-radius: 25px;
}

.media-library-back {
  transform: rotateY(180deg);
}

.media-library-back p {
  padding: 0 20px;
}

.news a {
  text-decoration: none;
}

.filter {
  background-color: #dfdfdf;
  cursor: pointer;
  color: white;
  text-transform: lowercase;
  padding: 2px 10px;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.15) !important;
  text-decoration: none;
}

.filter:hover, .filter.active {
  background-color: #000000;
}

.programme-list a {
  text-decoration: none;
}

.no-events {
  padding-bottom: 40px;
  text-align: center;
  width: 100%;
}

footer li a {
  text-decoration: none;
}

.signup {
  background-color: #ffffff;
  display: flex;
  margin-left: 10px;
  margin-right: 10px;
  border-radius: 25px !important;
}

.signup input {
  background: transparent;
  border: none;
  box-shadow: none;
  outline: none;
}

.signup [type="email"] {
  flex-grow: 2;
  margin-left: 10px;
}

input[type="checkbox"] {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

[type="checkbox"] + span {
  position: relative;
  padding-left: 28px;
  padding-right: 24px;
  cursor: pointer;
  display: block;
  padding-top: 2px;
  line-height: 1.35;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

[type="checkbox"] + span:before {
  content: '';
  position: absolute;
  top: 10px;
  left: 0;
  width: 20px;
  height: 20px;
  z-index: 0;
  border: 1px solid white;
  border-radius: 50%;
  background: white;
  border-radius: 50%;
  box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.5);
}

[type="checkbox"]:checked + span:before {
  background: white;
}

[type="checkbox"]:checked + span:after {
  content: '';
  position: absolute;
  top: 16px;
  left: 6px;
  width: 10px;
  height: 10px;
  z-index: 0;
  background-color: #000000;
  border-radius: 50%;
}

.dissapear-enter-active,
.dissapear-leave-active {
  transition: all 0.25s;
}

.dissapear-enter,
.dissapear-leave-to {
  opacity: 0;
  transform: scale(0);
}

.fade-enter-active,
.fade-leave-active {
  transition: all 0.25s;
}

.fade-enter,
.fade-leave-to {
  opacity: 0;
}

.fancybox-bg {
  background: #fff;
}

.fancybox-button {
  background: transparent;
  color: #000;
}

.fancybox-button:hover {
  color: #000;
  -webkit-filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
  filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, 0.5));
}

.alphabet {
  background: white;
  border-radius: 25px;
}

.alphabet .letter {
  background: #F0F0F0;
  border-radius: 15px;
  color: #ffffff;
  border: none;
  margin: 10px;
  min-width: 50px;
}

.alphabet .letter:hover, .alphabet .letter.active {
  background-color: #000000;
  color: #ffffff;
}

@media only screen and (max-width: 85em) {
  .jobs a {
    padding-left: 30px;
    padding-right: 30px;
  }
}

@media only screen and (max-width: 65em) {
  .jobs a {
    padding-left: 20px;
    padding-right: 20px;
  }
}

@media only screen and (max-width: 35em) {
  header.header .bg {
    position: fixed;
    top: 0;
    z-index: 1234;
    background-color: #ffffff;
    height: 60px;
    width: calc(100% - 20px);
    margin: 10px;
    box-shadow: 0 0 0.7em rgba(0, 0, 0, 0.25);
    border-radius: 25px;
  }
  .logo {
    z-index: 1234567;
    max-width: 200px;
    top: 20px;
    left: 20px;
  }
  .home .logo {
    display: block;
  }
  .home .logo,
  .home header.header .bg,
  .home .m-menu {
    top: -100px;
    transition: all 150ms cubic-bezier(0.92, 0.06, 0.12, 0.73);
  }
  .home.scrolling header.header .bg {
    top: 0;
  }
  .home.scrolling .logo {
    top: 20px;
  }
  .home.scrolling .m-menu {
    top: 14px;
  }
  .body-txt ul,
  .column ul {
    margin-left: 0;
    max-width: 100%;
  }
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsIm5vcm1hbGl6ZS5zY3NzIiwiX2JvaWxlcnBsYXRlLnNjc3MiLCJfdmFyaWFibGVzLnNjc3MiLCJfdHlwby5zY3NzIiwiX2xheW91dC5zY3NzIiwiX25hdi5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIFB1dCB5b3VyIGdsb2JhbCBzdHlsZXMgaGVyZSAqL1xuQGltcG9ydCAnbm9ybWFsaXplJztcbkBpbXBvcnQgJ2JvaWxlcnBsYXRlJztcbkBpbXBvcnQgJ3ZhcmlhYmxlcyc7XG5AaW1wb3J0ICd0eXBvJztcbkBpbXBvcnQgJ2xheW91dCc7XG5AaW1wb3J0ICduYXYnO1xuXG5bdi1jbG9ha10+KiB7XG4gIGRpc3BsYXk6IG5vbmVcbn1cblxuQGtleWZyYW1lcyByb3RhdGluZ0ltYWdlIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGVZKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgfVxuXG4gIDI1JSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZVkoLTM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKC0zNjBkZWcpO1xuICB9XG5cbiAgNzUlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgtMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoLTM2MGRlZyk7XG4gIH1cblxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlWSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoMGRlZyk7XG4gIH1cbn1cblxuXG5ib2R5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJnY29sb3I7XG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG5hIHtcbiAgY29sb3I6ICRtYWluY29sb3I7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cbn1cblxuLmNvbnRlbnQgYSB7XG4gIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saW5rLXBhbmVscyB7XG4gIGEge1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LXNoYWRvdzogMCAwIDAuM2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG4gIH1cblxufVxuXG4uYWN0aXZlLFxuYTpob3ZlciB7XG4gIC8vY29sb3I6ICRoaWdobGlnaHRjb2xvcjtcbn1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG51bCxcbmxpIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5uYXYgbGksXG4ubGFuZ3N3aXRjaCBsaSxcbmZvb3RlciBsaSB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cblxuLmJ1dHRvbixcbm5hdiBhLFxuLmxhbmdzd2l0Y2gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBjb2xvcjogJG1haW5jb2xvcjtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgcGFkZGluZzogMCAxNXB4IDJweCAxNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICRtYWluY29sb3I7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIH1cbn1cblxuLmxhbmdzd2l0Y2gge1xuICBwYWRkaW5nOiAwIDEwcHggMnB4IDEwcHg7XG59XG5cbi5sYW5nc3dpdGNoIGEge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHRleHQtc2hhZG93OiAwIDAgMC4zZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDAgNXB4O1xuXG4gICYuYWN0aXZlLFxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJG1haW5jb2xvcjtcbiAgfVxufVxuXG4uYnV0dG9uLmFjdGl2ZSxcbm5hdiBsaS5hY3RpdmUgYSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgJjpob3ZlciB7XG4gICAgdGV4dC1zaGFkb3c6IDAgMCAwLjNlbSByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpO1xuICB9XG59XG5cblxubWFpbi5tYWluIC8vICwgaGVhZGVyLmhlYWRlclxuXG4gIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xufVxuXG4uaXRlbSB7XG5cbiAgcGFkZGluZzogMTBweDtcblxuICAmLmJpZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ViZWJlYjtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxufVxuXG4ucHVibGljcyB7XG4gIHBlcnNwZWN0aXZlOiAxMDAwcHg7XG5cbiAgLyogUmVtb3ZlIHRoaXMgaWYgeW91IGRvbid0IHdhbnQgdGhlIDNEIGVmZmVjdCAqL1xuICBhIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogNzUlO1xuICAgIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gICAgYW5pbWF0aW9uOiA2MHMgcm90YXRpbmdJbWFnZSBsaW5lYXIgaW5maW5pdGU7XG4gIH1cblxufVxuXG4uam9icyB7XG4gIG1heC13aWR0aDogNzUlO1xuICBtYXJnaW46IDAgYXV0byA0MHB4IGF1dG87XG5cbiAgYSB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiA5MHB4O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIH1cblxufVxuXG4ubG9jYXRpb24ge1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0AnO1xuICB9XG59XG5cbi5vcGVuaW5nIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsdWU7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG4gIHBhZGRpbmc6IDdweCA3cHg7XG5cbiAgc3BhbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuICAgIHBhZGRpbmc6IDAgMnB4O1xuICAgIG1hcmdpbi1yaWdodDogM3B4O1xuICB9XG59XG5cbi5zZWFyY2gtaW5wdXQge1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBjb2xvcjogJG1haW5jb2xvcjtcbiAgcGFkZGluZzogM3B4IDdweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDE0cHgpO1xuICBvdXRsaW5lOiBub25lO1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAvKiBFZGdlICovXG4gIGNvbG9yOiAkbWFpbmNvbG9yO1xufVxuXG46LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcbiAgLyogSW50ZXJuZXQgRXhwbG9yZXIgMTAtMTEgKi9cbiAgY29sb3I6ICRtYWluY29sb3I7XG59XG5cbjo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogJG1haW5jb2xvcjtcbn1cblxuLnBhbmVsLFxuLnNtYWxsLXBhbmVsIHtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgcGFkZGluZzogMTBweDtcblxuICAmLmJsdWUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xuICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi5zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMik7XG4gICAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgfVxufVxuXG4uYm9keS10eHQsXG4uY29sdW1uIHtcbiAgdWwge1xuICAgIG1hcmdpbi1sZWZ0OiAxMCU7XG4gICAgbWF4LXdpZHRoOiA4MCU7XG4gIH1cblxuICBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAoic7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAtMTBweDtcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBIT01FUEFHRVxuLnByb2dyYW1tZSAuZXZlbnRzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgLmV2ZW50czphZnRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA1MCU7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudChyZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDEpKTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgfVxuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgfVxuXG59XG5cbi5ob21lLFxuLnByb2dyYW1tZS1wYWdlIHtcbiAgLmV2ZW50LXR5cGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIH1cbn1cblxuLnNpbmdsZS1ldmVudHMge1xuICBoNCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxufVxuXG4uaG9tZSAubWVkaWEtbGlicmFyeSB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIC8vIGJvcmRlci1yYWRpdXM6IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDEwMHB4O1xufVxuXG4uaG9tZSAubWVkaWEtbGlicmFyeSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgcGVyc3BlY3RpdmU6IDEwMDBweDtcblxuICAvKiBSZW1vdmUgdGhpcyBpZiB5b3UgZG9uJ3Qgd2FudCB0aGUgM0QgZWZmZWN0ICovXG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgJjpob3ZlciAubWVkaWEtbGlicmFyeS1pbm5lciB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGVZKDE4MGRlZyk7XG4gIH1cblxuICAuaXRlbSB7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBjaHJvbWUgZml4XG4gIH1cblxuXG59XG5cbi8qIFRoaXMgY29udGFpbmVyIGlzIG5lZWRlZCB0byBwb3NpdGlvbiB0aGUgZnJvbnQgYW5kIGJhY2sgc2lkZSAqL1xuLm1lZGlhLWxpYnJhcnktaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIC8vIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuOHM7XG4gIHRyYW5zZm9ybS1zdHlsZTogcHJlc2VydmUtM2Q7XG5cbn1cblxuLm1lZGlhLWxpYnJhcnktZnJvbnQsXG4ubWVkaWEtbGlicmFyeS1iYWNrIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyAvLyBzYWZhcmkgZml4XG59XG5cbi5tZWRpYS1saWJyYXJ5LWZyb250LFxuLm1lZGlhLWxpYnJhcnktYmFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG59XG5cbi5tZWRpYS1saWJyYXJ5LWJhY2sge1xuICB0cmFuc2Zvcm06IHJvdGF0ZVkoMTgwZGVnKTtcblxuICBwIHtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gIH1cbn1cblxuLm5ld3MgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuXG4vLyBQUk9HUkFNTUVcbi5maWx0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGZkZmRmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbiAgcGFkZGluZzogMnB4IDEwcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAwLjdlbSByZ2JhKDAsIDAsIDAsIDAuMTUpICFpbXBvcnRhbnQ7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOmhvdmVyLFxuICAmLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1haW5jb2xvcjtcbiAgfVxuXG59XG5cbi5wcm9ncmFtbWUtbGlzdCBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG4ubm8tZXZlbnRzIHtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy8gRk9PVEVSXG5mb290ZXIgbGkgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNpZ251cCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogMTBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweCAhaW1wb3J0YW50O1xuXG4gIGlucHV0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgW3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgZmxleC1ncm93OiAyO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICB9XG59XG5cbi8vIGNoZWNrYm94ZXNcbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cblt0eXBlPVwiY2hlY2tib3hcIl0rc3BhbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAyOHB4O1xuICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICBsaW5lLWhlaWdodDogMS4zNTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHdoaXRlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDAuN2VtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgfVxufVxuXG5bdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQrc3BhbiB7XG4gICY6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbiAgfVxuXG4gICY6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE2cHg7XG4gICAgbGVmdDogNnB4O1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB9XG5cbn1cblxuLy8gZW5kIGNoZWNrYm94ZXNcblxuLmRpc3NhcGVhci1lbnRlci1hY3RpdmUsXG4uZGlzc2FwZWFyLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmRpc3NhcGVhci1lbnRlcixcbi5kaXNzYXBlYXItbGVhdmUtdG8ge1xuICBvcGFjaXR5OiAwO1xuICAvLyB0cmFuc2Zvcm06c2NhbGUoMCkgcm90YXRlWSgxODBkZWcpO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuXG59XG5cbi5mYWRlLWVudGVyLWFjdGl2ZSxcbi5mYWRlLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cztcbn1cblxuLmZhZGUtZW50ZXIsXG4uZmFkZS1sZWF2ZS10b1xuXG4vKiAuZmFkZS1sZWF2ZS1hY3RpdmUgYmVsb3cgdmVyc2lvbiAyLjEuOCAqL1xuICB7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi5mYW5jeWJveC1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5mYW5jeWJveC1idXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG5cbiAgJjpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgLXdlYmtpdC1maWx0ZXI6IGRyb3Atc2hhZG93KDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDJweCAycHggMnB4IHJnYmEoMCwgMCwgMCwgLjUpKTtcbiAgfVxufVxuXG4vLyAucGFnZS1hcnRpc3Qtb3ZlcnZpZXcge1xuLmFscGhhYmV0IHtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDI1cHg7XG5cbiAgLmxldHRlciB7XG4gICAgYmFja2dyb3VuZDogJGdyZXk7XG4gICAgYm9yZGVyLXJhZGl1czogMTVweDtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW46IDEwcHg7XG4gICAgbWluLXdpZHRoOiA1MHB4O1xuXG4gICAgJjpob3ZlcixcbiAgICAmLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFpbmNvbG9yO1xuICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gfVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg1ZW0pIHtcbiAgLmpvYnMgYSB7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2NWVtKSB7XG4gIC5qb2JzIGEge1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuICBoZWFkZXIuaGVhZGVyIC5iZyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMjM0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMTBweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMC43ZW0gcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICB9XG5cbiAgLmxvZ28ge1xuICAgIHotaW5kZXg6IDEyMzQ1Njc7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB0b3A6IDIwcHg7XG4gICAgbGVmdDogMjBweDtcbiAgfVxuXG4gIC5ob21lIC5sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8vIGhvbWUgbmF2IGFuaW1hdGlvblxuICAuaG9tZSB7XG5cbiAgICAubG9nbyxcbiAgICBoZWFkZXIuaGVhZGVyIC5iZyxcbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDogLTEwMHB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDE1MG1zIGN1YmljLWJlemllciguOTIsIC4wNiwgLjEyLCAuNzMpO1xuICAgIH1cbiAgfVxuXG4gIC5ob21lLnNjcm9sbGluZyB7XG4gICAgaGVhZGVyLmhlYWRlciAuYmcge1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5sb2dvIHtcbiAgICAgIHRvcDogMjBweDtcbiAgICB9XG5cbiAgICAubS1tZW51IHtcbiAgICAgIHRvcDogMTRweDtcbiAgICB9XG4gIH1cblxuICAuYm9keS10eHQsXG4gIC5jb2x1bW4ge1xuICAgIHVsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxufSIsIi8qISBub3JtYWxpemUuY3NzIHY3LjAuMCB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyogRG9jdW1lbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgbGluZSBoZWlnaHQgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gKi9cblxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbm1haW4geyAvKiAxICovXG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBtYXJnaW4gaW4gSUUgOC5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAqL1xuXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gIGhlaWdodDogMDsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctIGFuZCBGaXJlZm94IDM5LS5cbiAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAqIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyLXN0eWxlOiBub25lO1xufVxuXG4vKipcbiAqIEhpZGUgdGhlIG92ZXJmbG93IGluIElFLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgbWFyZ2luOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gKiAxLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICovXG5cbmJ1dHRvbixcbmlucHV0IHsgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3QgeyAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAqL1xuXG5kZXRhaWxzLCAvKiAxICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTtcbn1cblxuLyogU2NyaXB0aW5nXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICovXG5cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIEhpZGRlblxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiLyohIEhUTUw1IEJvaWxlcnBsYXRlIHY2LjAuMSB8IE1JVCBMaWNlbnNlIHwgaHR0cHM6Ly9odG1sNWJvaWxlcnBsYXRlLmNvbS8gKi9cblxuLypcbiAqIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuICogQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuICogS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG4gKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEJhc2Ugc3R5bGVzOiBvcGluaW9uYXRlZCBkZWZhdWx0c1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLypcbiAqIFJlbW92ZSB0ZXh0LXNoYWRvdyBpbiBzZWxlY3Rpb24gaGlnaGxpZ2h0OlxuICogaHR0cHM6Ly90d2l0dGVyLmNvbS9taWtldGF5bHIvc3RhdHVzLzEyMjI4ODA1MzAxXG4gKlxuICogVmVuZG9yLXByZWZpeGVkIGFuZCByZWd1bGFyIDo6c2VsZWN0aW9uIHNlbGVjdG9ycyBjYW5ub3QgYmUgY29tYmluZWQ6XG4gKiBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL2EvMTY5ODI1MTAvNzEzMzQ3MVxuICpcbiAqIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbiAqL1xuXG46Oi1tb3otc2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kOiAjYjNkNGZjO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xufVxuXG46OnNlbGVjdGlvbiB7XG4gICAgYmFja2dyb3VuZDogI2IzZDRmYztcbiAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cblxuLypcbiAqIEEgYmV0dGVyIGxvb2tpbmcgZGVmYXVsdCBob3Jpem9udGFsIHJ1bGVcbiAqL1xuXG5ociB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgIG1hcmdpbjogMWVtIDA7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLypcbiAqIFJlbW92ZSB0aGUgZ2FwIGJldHdlZW4gYXVkaW8sIGNhbnZhcywgaWZyYW1lcyxcbiAqIGltYWdlcywgdmlkZW9zIGFuZCB0aGUgYm90dG9tIG9mIHRoZWlyIGNvbnRhaW5lcnM6XG4gKiBodHRwczovL2dpdGh1Yi5jb20vaDVicC9odG1sNS1ib2lsZXJwbGF0ZS9pc3N1ZXMvNDQwXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5pZnJhbWUsXG5pbWcsXG5zdmcsXG52aWRlbyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLypcbiAqIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHN0eWxlcy5cbiAqL1xuXG5maWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKlxuICogQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG4gKi9cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCcm93c2VyIFVwZ3JhZGUgUHJvbXB0XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4uYnJvd3NlcnVwZ3JhZGUge1xuICAgIG1hcmdpbjogMC4yZW0gMDtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHBhZGRpbmc6IDAuMmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cblxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSGVscGVyIGNsYXNzZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBIaWRlIHZpc3VhbGx5IGFuZCBmcm9tIHNjcmVlbiByZWFkZXJzXG4gKi9cblxuLmhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vKlxuICogSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzOlxuICogaHR0cHM6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHlcbiAqXG4gKiAxLiBGb3IgbG9uZyBjb250ZW50LCBsaW5lIGZlZWRzIGFyZSBub3QgaW50ZXJwcmV0ZWQgYXMgc3BhY2VzIGFuZCBzbWFsbCB3aWR0aFxuICogICAgY2F1c2VzIGNvbnRlbnQgdG8gd3JhcCAxIHdvcmQgcGVyIGxpbmU6XG4gKiAgICBodHRwczovL21lZGl1bS5jb20vQGplc3NlYmVhY2gvYmV3YXJlLXNtdXNoZWQtb2ZmLXNjcmVlbi1hY2Nlc3NpYmxlLXRleHQtNTk1MmE0YzJjYmZlXG4gKi9cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogaW5zZXQoNTAlKTtcbiAgICBjbGlwLXBhdGg6IGluc2V0KDUwJSk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyAvKiAxICovXG59XG5cbi8qXG4gKiBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnRcbiAqIHRvIGJlIGZvY3VzYWJsZSB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOlxuICogaHR0cHM6Ly93d3cuZHJ1cGFsLm9yZy9ub2RlLzg5NzYzOFxuICovXG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gICAgY2xpcDogYXV0bztcbiAgICAtd2Via2l0LWNsaXAtcGF0aDogbm9uZTtcbiAgICBjbGlwLXBhdGg6IG5vbmU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHdoaXRlLXNwYWNlOiBpbmhlcml0O1xufVxuXG4vKlxuICogSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICovXG5cbi5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLypcbiAqIENsZWFyZml4OiBjb250YWluIGZsb2F0c1xuICpcbiAqIEZvciBtb2Rlcm4gYnJvd3NlcnNcbiAqIDEuIFRoZSBzcGFjZSBjb250ZW50IGlzIG9uZSB3YXkgdG8gYXZvaWQgYW4gT3BlcmEgYnVnIHdoZW4gdGhlXG4gKiAgICBgY29udGVudGVkaXRhYmxlYCBhdHRyaWJ1dGUgaXMgaW5jbHVkZWQgYW55d2hlcmUgZWxzZSBpbiB0aGUgZG9jdW1lbnQuXG4gKiAgICBPdGhlcndpc2UgaXQgY2F1c2VzIHNwYWNlIHRvIGFwcGVhciBhdCB0aGUgdG9wIGFuZCBib3R0b20gb2YgZWxlbWVudHNcbiAqICAgIHRoYXQgcmVjZWl2ZSB0aGUgYGNsZWFyZml4YCBjbGFzcy5cbiAqIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4gKiAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4gKi9cblxuLmNsZWFyZml4OmJlZm9yZSxcbi5jbGVhcmZpeDphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7IC8qIDEgKi9cbiAgICBkaXNwbGF5OiB0YWJsZTsgLyogMiAqL1xufVxuXG4uY2xlYXJmaXg6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xufVxuXG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBQcmludCBzdHlsZXMuXG4gICBJbmxpbmVkIHRvIGF2b2lkIHRoZSBhZGRpdGlvbmFsIEhUVFAgcmVxdWVzdDpcbiAgIGh0dHA6Ly93d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuQG1lZGlhIHByaW50IHtcbiAgICAqLFxuICAgICo6YmVmb3JlLFxuICAgICo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyOlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBodHRwOi8vd3d3LnNhbmJlaWppLmNvbS9hcmNoaXZlcy85NTMgKi9cbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgYVtocmVmXTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiO1xuICAgIH1cblxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogRG9uJ3Qgc2hvdyBsaW5rcyB0aGF0IGFyZSBmcmFnbWVudCBpZGVudGlmaWVycyxcbiAgICAgKiBvciB1c2UgdGhlIGBqYXZhc2NyaXB0OmAgcHNldWRvIHByb3RvY29sXG4gICAgICovXG5cbiAgICBhW2hyZWZePVwiI1wiXTphZnRlcixcbiAgICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgIH1cblxuICAgIHByZSB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5OTk7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIFByaW50aW5nIFRhYmxlczpcbiAgICAgKiBodHRwOi8vY3NzLWRpc2N1c3MuaW5jdXRpby5jb20vd2lraS9QcmludGluZ19UYWJsZXNcbiAgICAgKi9cblxuICAgIHRoZWFkIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwO1xuICAgIH1cblxuICAgIHRyLFxuICAgIGltZyB7XG4gICAgICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDtcbiAgICB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgb3JwaGFuczogMztcbiAgICAgICAgd2lkb3dzOiAzO1xuICAgIH1cblxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gICAgfVxufVxuIiwiJGJnY29sb3I6ICNGMEYwRjA7XG4kbWFpbmNvbG9yOiAjMDAwMDAwO1xuJHdoaXRlOiAjZmZmZmZmO1xuJGhpZ2hsaWdodGNvbG9yOiAjMTE2N0ZGO1xuJGJsdWU6ICMwMDY3RkYgO1xuJGdyZWVuOiAjNTJGRjZBO1xuJGdyZXk6ICNGMEYwRjA7XG4kZGFya2dyZXk6ICM1YTVhNTk7IiwiLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiAnS2Vybic7XG4vLyAgIHNyYzogdXJsKCcvd2ViZm9udHMva2Vybl9yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4vLyAgICAgICAgIHVybCgnL3dlYmZvbnRzL2tlcm5fcmVndWxhci13ZWJmb250LndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbi8vICAgICAgICAgdXJsKCcvd2ViZm9udHMvS2VybiBSZWd1bGFyLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbi8vICAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9yZWd1bGFyLXdlYmZvbnQuc3ZnJykgZm9ybWF0KCdzdmcnKTtcbi8vICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gfVxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnS2Vybic7XG4gIHNyYzogdXJsKCcvd2ViZm9udHMvS2Vybi1SZWd1bGFyLXRoZTE5NzBzLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJy93ZWJmb250cy9LZXJuLVJlZ3VsYXItdGhlMTk3MHMud29mZicpIGZvcm1hdCgnd29mZicpLFxuICAgICAgICB1cmwoJy93ZWJmb250cy9LZXJuLVJlZ3VsYXItdGhlMTk3MHMub3RmJykgZm9ybWF0KCdvcGVudHlwZScpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdLZXJuaSc7XG4gIHNyYzogdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gICAgICAgIHVybCgnL3dlYmZvbnRzL0tlcm4gSXRhbGljLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcbiAgICAgICAgdXJsKCcvd2ViZm9udHMva2Vybl9pdGFsaWMtd2ViZm9udC5zdmcnKSBmb3JtYXQoJ3N2ZycpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBLZXJuLCBIZWx2ZXRpY2EgTmV1ZSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxLjgyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG59XG5cbi5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS4xcmVtO1xuICBsaW5lLWhlaWdodDogMS4ycmVtO1xufVxuLm1lZGl1bSB7XG4gIGZvbnQtc2l6ZTogMS4zMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU3NXJlbTtcbn1cblxuaDEsIGgyLCBoMywgaDQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMS44MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyLjE1cmVtO1xufVxuaDMge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5uYXYsIC5sYW5nc3dpdGNoIHtcbiAgdGV4dC10cmFuc2Zvcm06IGxvd2VyY2FzZTtcbn1cblxuLmV2ZW50cyAuaXRlbSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xufVxuLmV2ZW50LXR5cGUge1xuIGxpbmUtaGVpZ2h0OiAxLjlyZW07XG59IiwiLyogTUFJTiBFTEVNRU5UUyAqL1xuXG5tYWluLm1haW4sXG5oZWFkZXIuaGVhZGVyIHtcbiAgei1pbmRleDogMTtcbn1cblxubWFpbi5tYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG59XG5cbi5sb2dvIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBtYXgtd2lkdGg6IDMwMHB4O1xuICB0b3A6IDEwcHg7XG4gIGxlZnQ6IDEwcHg7XG4gIHotaW5kZXg6IDEyMzQ7XG59XG5cbm5hdiB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIHotaW5kZXg6IDE7XG4gIHotaW5kZXg6IDEyMzU7XG59XG5cbi5ob21lIG5hdiB7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cHgpO1xufVxuXG4ubGFuZ3N3aXRjaCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uc2lnbnVwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTQwcHg7XG5cbiAgI21jX2VtYmVkX3NpZ251cF9zY3JvbGwsXG4gIGZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLm1jLWZpZWxkLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gIH1cblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIC8vIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgLy8gJjpob3ZlciB7XG4gIC8vICAgLmlucHV0LWdyb3VwIHtcbiAgLy8gICAgIGRpc3BsYXk6IGZsZXg7XG4gIC8vICAgfVxuICAvLyB9XG4gIC5ubC1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiA0cHg7XG4gIH1cbn1cblxuZm9vdGVyLmZvb3RlciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgYm90dG9tOiA0MHB4O1xuICB6LWluZGV4OiAtMTtcblxuICB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA1cHggMTBweDtcbiAgICB9XG4gIH1cbn1cblxuLyogUElFQ0VTICovXG5cbi5pdGVtLmluLFxuLml0ZW0ub3V0IHtcblxuICAuaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAubG9jYXRpb24ge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmltZy1ob2xkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5pbmZvLXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuXG4gIC5zdmctaG9sZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMnB4KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDJweCk7XG4gICAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIG5ldyBzdHlsZSBpbWFnZXNcbi5pdGVtLmluLFxuLml0ZW0ub3V0IHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgLy8gd2lkdGg6IDUwJTtcblxuICAmLml0ZW0tdjIge1xuICAgIG1hcmdpbi10b3A6IDMwcHggIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbWctaG9sZGVyLXYyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbjogMjBweDtcbiAgfVxuXG4gIC5pbWctaG9sZGVyLXYyOmhvdmVyIC5pbWctdjIge1xuICAgIGNsaXAtcGF0aDogY2lyY2xlKDEwMCUpO1xuICB9XG5cbiAgLmltZy12MiB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGNsaXAtcGF0aDogdXJsKCNjcCk7XG4gICAgLy8gbWF4LWhlaWdodDogNTAwcHg7IC8vIGRvbid0IG1heCBoZWlnaHRcbiAgICB3aWR0aDogMTAwJTsgLy8gc3RyZXRjaCBmb3Igc21hbGwgaW1hZ2VzXG4gIH1cblxuICAvLyBubyBhbmltYXRpb24gZm9yIHRoZSBtYWluIGltYWdlXG4gICYuc3RhdGljOmhvdmVyIC5pbWctaG9sZGVyLXYyOmhvdmVyIC5pbWctdjIge1xuICAgIGNsaXAtcGF0aDogdXJsKCNjcCk7XG4gIH1cbn1cblxuLnBhZ2UtYXJ0aXN0LFxuLnBhZ2UtZXZlbnQsXG4ucGFnZS13b3JrIHtcbiAgLmltZy12MiB7XG4gICAgbWF4LWhlaWdodDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vIGVuZCBuZXcgc3R5bGUgaW1hZ2VzXG5cblxuLy8gSE9NRVBBR0VcblxuLmhvbWUge1xuICAubG9nbyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4ubGVmdCxcbi5yaWdodCB7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xuICBwYWRkaW5nOiAxMHB4O1xufVxuXG4ucmlnaHQge1xuICBtYXJnaW4tdG9wOiA2MHB4O1xufVxuXG4uc2VhcmNoLWlucHV0IHtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweCAwO1xufVxuXG4uYmlnLFxuLm9wZW5pbmcge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uYmlnIHtcbiAgLmluZm8ge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZXZlbnQtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgfVxuXG59XG5cbi5wdWJsaWNzIHtcbiAgbWFyZ2luOiA1MHB4IDA7XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gIGgyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA0NSU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTIzNDU7XG4gICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDYwcHg7XG4gIH1cbn1cblxuLnByb2dyYW1tZSB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgaDIge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cblxuICAuZXZlbnRzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMjEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC5ldmVudHMge1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHBhZGRpbmctcmlnaHQ6IDE3cHg7XG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIH1cblxuICAuZXZlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuXG4gICAgLnByYWN0aWNhbCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgfVxuXG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgICYudC1leGhpYml0aW9uIC5wcmFjdGljYWwsXG4gICAgJi50LXRlbnRvb25zdGVsbGluZyAucHJhY3RpY2FsLFxuICAgICYudC1leHBvc2l0aW9uIC5wcmFjdGljYWwge1xuICAgICAgLnRpbWUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuXG4gIH1cblxufVxuXG4uc2luZ2xlLWV2ZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5wYW5lbCB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgfVxuXG4gIGg0IHtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgfVxufVxuXG4ubWVkaWEtbGlicmFyeSBhIHtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBkaXNwbGF5OiBibG9jaztcblxuICAmOmhvdmVyIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICB9XG5cbiAgLm1lZGlhLWxpYnJhcnktZnJvbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgaDIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gIH1cblxuICBoMiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgfVxuXG4gIC5pdGVtIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbn1cblxuLm5ld3Mge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGdyZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0MHB4O1xuICB6LWluZGV4OiAxMjM0NTtcblxuICAubGFiZWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIHBhZGRpbmc6IDJweCA1cHggNHB4IDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTIzO1xuICB9XG5cbiAgLm1lc3NhZ2VzIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZy10b3A6IDRweDtcblxuICAgIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA1MHB4IC8vIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxufVxuXG5cbi8vIFJFR1VMQVIgUEFHRVxuXG4ucGFnZSAuY29udGVudCxcbi5wYWdlLWV2ZW50IC5jb250ZW50LFxuLnBhZ2UtYXJ0aXN0IC5jb250ZW50LFxuLnBhZ2Utd29yayAuY29udGVudCB7XG4gIHBhZGRpbmc6IDEwMHB4IDE1cHggMTBweCAxNXB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gMzBweCk7XG5cbiAgLnBhbmVsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgfVxuXG4gIGgxIHtcbiAgICBtYXJnaW46IDIwcHggMjBweCAwIDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxMjM7XG5cbiAgICAmLm5vLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDIwcHggMCAyMHB4IDA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICB9XG5cbiAgLml0ZW0ge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cblxuICBwLmZpcnN0IHtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG4gIH1cblxufVxuXG4uc21hbGwtcGFuZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIHdpZHRoOiBjYWxjKDUwJSAtIDQ1cHgpO1xuICBwYWRkaW5nOiAwIDVweDtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMjBweCAxMHB4O1xuXG4gIC5wYW5lbC11cHBlciB7XG4gICAgcCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuXG4udGFibGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICB3aWR0aDogMTAwJTtcblxuICAubGVuZ3RoLFxuICAucHJpY2Uge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgJG1haW5jb2xvcjtcblxuICAgICYucHJpY2Uge1xuICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgIH1cblxuICAgID5kaXYge1xuICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcblxuICAgICAgJi5sYWJlbCB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi5jb2x1bW4ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSAyNHB4KTtcbiAgd2lkdGg6IGNhbGMoNTAlIC0gMzRweCk7XG4gIC8vIG1hcmdpbjogMjBweCAwO1xufVxuXG5pZnJhbWUsXG4jbWFwLFxuLm9sLXZpZXdwb3J0IHtcbiAgYm9yZGVyOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgLy8gaGVpZ2h0OiA3MDBweDtcbiAgYm9yZGVyLXJhZGl1czogMjVweDtcbiAgbWFyZ2luLXRvcDogNTBweDtcbn1cbi5ib2R5LXR4dCBpZnJhbWUge1xuICAvLyBib3JkZXItcmFkaXVzOiAwcHg7XG59XG4uZmx1aWQtd2lkdGgtdmlkZW8td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDE1MHB4O1xufVxuXG4ubGluay1wYW5lbHMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAuaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJS8zIC0gNDBweCk7XG4gICAgbWFyZ2luOiAxMHB4O1xuICB9XG59XG5cbi5nYWxsZXJ5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYygyNSUgLSAyMHB4KTtcbiAgfVxuXG4gIC5zdmctaG9sZGVyIHtcbiAgICB0b3A6IC0xcHg7XG4gIH1cbn1cblxuLy8gUFJPR1JBTU1FIFBBR0Vcbi5wcm9ncmFtbWUtcGFnZSxcbi5wYWdlLXdvcmstb3ZlcnZpZXcge1xuICBtYWluLm1haW4ge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLmZpbHRlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXJnaW4tdG9wOiAxMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICAuZmlsdGVyIHtcbiAgICBtYXJnaW46IDVweDtcbiAgfVxuXG4gIC5oYXMtc3ViIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgdWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcGFkZGluZzogNTBweCAwIDAgMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMCAyMHB4IDEwcHggLTE1cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxufVxuXG4ucHJvZ3JhbW1lLWxpc3Qge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMTBweDtcblxuICAuaXRlbSB7XG4gICAgbWF4LXdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAuaW5mbyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5ldmVudC10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuICB9XG59XG5cbi5wYWdlLWV2ZW50IHtcbiAgLmV2ZW50LWluZm8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICB9XG5cbiAgLnByYWN0aWNhbCB7fVxufVxuXG4ucGFnZS1zZWFyY2gge1xuICAuY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICBoMSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5wYWdlLWFydGlzdC1vdmVydmlldyxcbi5wYWdlLXdvcmstb3ZlcnZpZXcge1xuICAucHJvZ3JhbW1lLWxpc3Qge1xuICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuICB9XG5cbiAgLmFscGhhYmV0IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDYwcHgpO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDIwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHotaW5kZXg6IDEyMzQ7XG5cbiAgICAubnVtYmVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vIGFydGlzdCBwYWdlXG4uYmlydGh5ZWFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgJjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjb250ZW50OiAnwrAnO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG59XG5cbi8vIHdvcmsgcGFnZVxuLnBhZ2Utd29yayB7XG4gIC5wcm9ncmFtbWUtbGlzdCB7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgfVxuICAudGVjaG5pY2FsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgfVxufVxuXG5cbi8vIHBhZ2VyXG4ucGFnZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cblxuICAuaW5hY3RpdmUge1xuICAgIG9wYWNpdHk6IDAuMTtcbiAgfVxufVxuXG5cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3MGVtKSB7XG4gIC5zaW5nbGUtZXZlbnRzIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAucGFuZWwge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuICB9XG5cbiAgLmxpbmstcGFuZWxzIHtcbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlLzIgLSA0MHB4KTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSk7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSk7XG4gIH1cblxufVxuXG5AbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ1ZW0pIHtcblxuICAuaG9tZSB7XG4gICAgbWFpbi5tYWluIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAubGVmdCxcbiAgICAucmlnaHQge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5yaWdodCB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgfVxuXG5cbiAgLnNpZ251cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTgwcHg7XG5cbiAgICAubmlsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgW3R5cGU9XCJlbWFpbFwiXSB7XG4gICAgICBmbGV4LWdyb3c6IDEgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5wcm9ncmFtbWUtbGlzdCAuaXRlbSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLnByb2dyYW1tZSB7XG4gICAgLmV2ZW50LXR5cGUge1xuICAgICAgLy8gbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAvLyBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5zbWFsbC1wYW5lbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICB9XG5cbiAgLmxpbmstcGFuZWxzIHtcbiAgICAuaXRlbSB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gICAgfVxuICB9XG5cbiAgLnBhZ2UgLmNvbnRlbnQsXG4gIC5wYWdlLWV2ZW50IC5jb250ZW50IHtcbiAgICBoMSB7XG4gICAgICBtYXJnaW46IDEwcHggMjBweCAwIDIwcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLml0ZW0ge1xuICAgICAgbWFyZ2luLXRvcDogLTEwcHg7XG4gICAgfVxuICB9XG5cblxuICAudGFibGUge1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAubGVuZ3RoLFxuICAgIC5wcmljZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRtYWluY29sb3I7XG5cbiAgICAgIC8vIHdpZHRoOiA1MCU7XG4gICAgICAmLnByaWNlIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICAgICAgfVxuXG4gICAgICA+ZGl2IHtcbiAgICAgICAgJi5sYWJlbCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgICAgICBib3JkZXItbGVmdDpub25lO1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1haW5jb2xvcjtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5nYWxsZXJ5IC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcbiAgfVxuXG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzVlbSkge1xuICAuZ2FsbGVyeSAuaXRlbSB7XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICB9XG59XG5cbkBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjVlbSkge1xuICAuc2lnbnVwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMjBweDtcbiAgfVxuXG4gIC5nYWxsZXJ5IC5pdGVtIHtcbiAgICB3aWR0aDogY2FsYygxMDAlIC0gMjBweCk7XG4gIH1cbn0iLCIubS1tZW51IHtcblxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDoxNHB4O1xuICByaWdodDoyNXB4O1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMjM0NTY3ODtcblxuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6Jyc7XG4gICAgd2lkdGg6NTBweDtcbiAgICBoZWlnaHQ6IDNweDtcbiAgICBsZWZ0OiAwcHg7XG4gICAgdG9wOiAyNHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRtYWluY29sb3I7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzICBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuICB9XG5cbiAgLm1tIHtcbiAgICBib3JkZXI6bm9uZTtcbiAgICBiYWNrZ3JvdW5kOnRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6NTBweDtcbiAgICBoZWlnaHQ6NTBweDtcbiAgICBvdXRsaW5lOm5vbmU7XG4gICAgcGFkZGluZzogMDsgLy8gaW9zIGhhcyBhIGJ1ZyBvdGhlcndpc2VcblxuICAgICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgY29udGVudDonJztcbiAgICAgIHdpZHRoOjUwcHg7XG4gICAgICBoZWlnaHQ6IDNweDtcbiAgICAgIGxlZnQ6IDBweDtcbiAgICAgIHRvcDogMTJweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6JG1haW5jb2xvcjtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjE1cyAgY3ViaWMtYmV6aWVyKDAuNDQ1LCAwLjA1MCwgMC41NTAsIDAuOTUwKTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICB0b3A6IDM2cHg7XG4gICAgfVxuXG4gIH1cblxufVxuXG5cblxubmF2IHtcbiAgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbGkge1xuICAgICAgbWFyZ2luOiA1cHg7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGEsIHNwYW4uYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGxpIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBwYWRkaW5nLXRvcDogNXB4O1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gIGxpOmhvdmVyIHtcbiAgICB1bCB7XG4gICAgICAvLyBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLWxlZnQ6IC01cHg7XG4gICAgfVxuICB9XG4gIC5sYW5nc3dpdGNoIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG5cbiAgLnA0MCB1bCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyAvLyBkaXJ0eSBoYWNrOiA7XG4gIH1cbn1cblxuQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzNWVtKSB7XG4gIC5tLW1lbnUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLm5hdiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC5tLW1lbnUtb3BlbiB7XG5cbiAgICAubS1tZW51IHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm0tbWVudSAubW0ge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICB0b3A6MjRweDtcbiAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHRvcDoyNHB4O1xuICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDQ1ZGVnKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAubmF2IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdG9wOiA3NXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEwcHgpO1xuICAgICAgbGVmdDogNXB4O1xuICAgICAgdWwge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgYSwgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICB1bCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBsaTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmxhbmdzd2l0Y2gtaG9sZGVyIHtcbiAgICAgIG9yZGVyOi0xO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIGFwcGx5IGhvdmVyIGVmZmVjdCBvbmx5IGZvciBub24gdG91Y2ggZGV2aWNlcyB0byBwcmV2ZW50IHRvZ2dsZSBidWcgb24gbW9iaWxlXG5AbWVkaWEgbm90IGFsbCBhbmQgKHBvaW50ZXI6IGNvYXJzZSkge1xuICBuYXYgbGk6aG92ZXIge1xuICAgICAgdWwge1xuICAgICAgICBk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 */
