/**
 * @package 	WordPress
 * @subpackage 	Salvation
 * @version 	1.0.6
 * 
 * Gutenberg CSS Rules
 * Created by CMSMasters
 * 
 */
/*-------------------------------------------------------------------------*/
/* General Styles
/*-------------------------------------------------------------------------*/
.wp-block[data-align="full"] {
  width: 100%;
}
/** === Base Typography === */
a {
  outline: 0;
  text-decoration: none;
  transition: color 110ms ease-in-out;
}
img.alignright {
  clear: right;
}
img.alignleft {
  clear: left;
}
div.wp-block h1 a,
div.wp-block h2 a,
div.wp-block h3 a,
div.wp-block h4 a,
div.wp-block h5 a,
div.wp-block h6 a,
div.wp-block pre a {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
}
div.wp-block b,
div.wp-block strong {
  font-weight: bold;
}
div.wp-block .editor-rich-text__tinymce code,
div.wp-block .block-editor-rich-text__editable code {
  background-color: transparent;
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
  border-radius: 0;
}
small small {
  font-size: 75%;
}
select {
  line-height: 1.6;
  text-indent: 0.01px;
  text-overflow: '';
  padding: 10px 10% 10px 15px;
  -webkit-appearance: none;
  -moz-appearance: none;
  -ms-appearance: none;
  appearance: none !important;
  background-image: url('../../../img/select.png');
  background-position: 94% center;
  background-repeat: no-repeat;
  width: 100%;
  min-width: 100px;
  height: 45px;
  -webkit-border-radius: 0;
  border-radius: 0;
  background-image: url('../../../../img/select.png');
}
/** === Post Title === */
.editor-post-title__block .editor-post-title__input {
  outline: none;
}
/** === Default Appender === */
.editor-default-block-appender input[type="text"].editor-default-block-appender__content {
  outline: none;
}
/** === Heading === */
.wp-block-heading {
  outline: none;
}
p.wp-block-subhead {
  padding: 0;
}
/** === Paragraph === */
p.has-background,
p.mce-content-body.has-background {
  margin: 0;
  padding: 0.95em 1.3em;
}
p.has-drop-cap:not(:focus):first-letter,
p.mce-content-body.has-drop-cap:not(:focus):first-letter {
  margin: 0.32em 0.73em 0.1em 0.52em;
}
p.has-small-font-size,
p.mce-content-body.has-small-font-size,
p.has-medium-font-size,
p.mce-content-body.has-medium-font-size,
p.has-large-font-size,
p.mce-content-body.has-large-font-size,
p.has-huge-font-size,
p.mce-content-body.has-huge-font-size,
p[style^="font-size:"],
p.mce-content-body[style^="font-size:"],
p[style*="font-size:"],
p.mce-content-body[style*="font-size:"] {
  line-height: 1.5em;
}
/** === Image === */
.wp-block-image:not(.editor-media-placeholder) {
  line-height: 0;
  display: block !important;
  margin: 0 0 22px;
  text-align: center;
}
.wp-block-image figure {
  margin: 0 0 22px;
}
.wp-block-image figure.alignleft {
  margin-right: 2em;
}
.wp-block-image figure.alignright {
  margin-left: 2em;
}
.wp-block-image figcaption {
  display: block !important;
  margin: 0;
  padding: 15px 0;
  text-align: center !important;
}
.wp-block-image div[style^="width:"],
.wp-block-image div[style*="width:"],
.wp-block-image .components-resizable-box__container {
  max-width: 100% !important;
  height: auto !important;
  margin: 0 auto;
}
.wp-block-image .editor-rich-text {
  display: block !important;
}
/** === Gallery === */
div.wp-block .wp-block-gallery {
  margin: 0 0 -16px;
}
div.wp-block .wp-block-gallery .blocks-gallery-item {
  margin: 0 16px 16px 0;
  padding: 0;
}
div.wp-block .wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),
div.wp-block .wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n) {
  margin-right: 0;
}
div.wp-block .wp-block-gallery.columns-3 .blocks-gallery-image:last-child,
div.wp-block .wp-block-gallery.columns-3 .blocks-gallery-item:last-child {
  margin-right: 0;
}
div.wp-block .wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),
div.wp-block .wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n) {
  margin-right: 0;
}
div.wp-block .wp-block-gallery.columns-2 .blocks-gallery-image:last-child,
div.wp-block .wp-block-gallery.columns-2 .blocks-gallery-item:last-child {
  margin-right: 0;
}
.wp-block-gallery {
  margin: 0 0 6px;
}
.wp-block-gallery.columns-3 .blocks-gallery-image:nth-of-type(3n),
.wp-block-gallery.columns-3 .blocks-gallery-item:nth-of-type(3n) {
  margin-right: 0;
}
.wp-block-gallery.columns-2 .blocks-gallery-image:nth-of-type(2n),
.wp-block-gallery.columns-2 .blocks-gallery-item:nth-of-type(2n) {
  margin-right: 0;
}
.wp-block-gallery li {
  padding: 0;
}
.wp-block-gallery li:before {
  content: none;
}
.wp-block-gallery .blocks-gallery-item:before {
  content: none;
}
.wp-block-gallery.is-cropped .blocks-gallery-image img,
.wp-block-gallery.is-cropped .blocks-gallery-item img {
  width: 100%;
}
.wp-block-gallery .blocks-gallery-image figcaption,
.wp-block-gallery .blocks-gallery-item figcaption {
  margin: 0;
  padding: 25px 5px 10px;
  text-align: center;
  overflow: hidden;
}
@media (max-width: 540px) {
  .wp-block-gallery {
    display: block;
  }
  .wp-block-gallery .blocks-gallery-image,
  .wp-block-gallery .blocks-gallery-item {
    display: block;
    width: 100%;
  }
}
/** === Lists === */
div.wp-block ul,
div.wp-block ol {
  margin: 0;
  padding: 0;
  list-style-position: inside;
}
div.wp-block ul li,
div.wp-block ol li {
  margin: 0;
  padding: 10px 0 0;
}
div.wp-block ul li:first-child,
div.wp-block ol li:first-child {
  padding-top: 0;
}
div.wp-block ul ol,
div.wp-block ol ol,
div.wp-block .block-library-list .editor-rich-text__tinymce ol,
div.wp-block ul ul,
div.wp-block ol ul,
div.wp-block .block-library-list .editor-rich-text__tinymce ul {
  margin: 0 0 0 20px;
  padding: 10px 0 0;
}
div.wp-block .block-library-list .editor-rich-text__tinymce {
  margin: 0 0 22px;
  padding: 0;
}
div.wp-block ul {
  list-style-type: none;
}
div.wp-block ul > li {
  display: block;
  position: relative;
}
div.wp-block ul > li:before {
  content: '\eb22';
  font-family: 'fontello';
  font-style: normal;
  font-weight: normal;
  speak: none;
  display: inline-block;
  text-decoration: inherit;
  width: 1em;
  padding: 0;
  margin: 0 5px 0 0;
  text-align: center;
  font-variant: normal;
  text-transform: none;
  line-height: 1em;
  position: relative;
}
div.wp-block ol {
  list-style-type: decimal-leading-zero;
}
/** === Blockquote === */
.wp-block-quote,
.wp-block-quote.is-large,
.wp-block-quote.is-style-large {
  position: relative;
  padding-left: 53px;
  margin: 0 0 22px;
  /* don't touch */
  border-width: 0;
  border-style: solid;
}
.wp-block-quote:before,
.wp-block-quote.is-large:before,
.wp-block-quote.is-style-large:before {
  content: '\201D';
  position: absolute;
  left: 0;
  top: 0;
  font-size: 50px;
  line-height: 50px;
}
.wp-block-quote p:last-of-type,
.wp-block-quote.is-large p:last-of-type,
.wp-block-quote.is-style-large p:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
}
.wp-block-quote cite,
.wp-block-quote.is-large cite,
.wp-block-quote.is-style-large cite {
  display: block;
  margin-top: 10px;
}
.wp-block-quote .editor-rich-text__tinymce,
.wp-block-quote.is-large .editor-rich-text__tinymce,
.wp-block-quote.is-style-large .editor-rich-text__tinymce {
  line-height: inherit;
}
.wp-block-quote p,
.wp-block-quote.is-large p,
.wp-block-quote.is-style-large p,
.wp-block-quote cite,
.wp-block-quote.is-large cite,
.wp-block-quote.is-style-large cite,
.wp-block-quote footer,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large footer,
.wp-block-quote .wp-block-quote__citation,
.wp-block-quote.is-large .wp-block-quote__citation,
.wp-block-quote.is-style-large .wp-block-quote__citation {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
}
.wp-block-quote cite,
.wp-block-quote.is-large cite,
.wp-block-quote.is-style-large cite,
.wp-block-quote footer,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large footer,
.wp-block-quote .wp-block-quote__citation,
.wp-block-quote.is-large .wp-block-quote__citation,
.wp-block-quote.is-style-large .wp-block-quote__citation {
  font-style: italic;
  margin-top: 10px;
}
.wp-block-quote.is-large cite,
.wp-block-quote.is-style-large cite,
.wp-block-quote.is-large footer,
.wp-block-quote.is-style-large footer,
.wp-block-quote.is-large .wp-block-quote__citation,
.wp-block-quote.is-style-large .wp-block-quote__citation {
  text-align: left;
}
/** === Block Audio === */
.wp-block-audio {
  margin-bottom: 22px;
}
.wp-block-audio figcaption {
  display: block !important;
  margin: 0;
  padding: 15px 0;
  text-align: center !important;
}
.wp-block-audio audio {
  width: 100%;
  min-width: 300px;
}
.wp-block-audio audio::-webkit-media-controls-play-button,
.wp-block-audio audio::-webkit-media-controls-mute-button {
  opacity: 1;
  cursor: pointer;
  -webkit-transition: opacity .3s ease-in-out;
  -moz-transition: opacity .3s ease-in-out;
  -ms-transition: opacity .3s ease-in-out;
  -o-transition: opacity .3s ease-in-out;
  transition: opacity .3s ease-in-out;
}
.wp-block-audio audio::-webkit-media-controls-play-button:hover,
.wp-block-audio audio::-webkit-media-controls-mute-button:hover {
  opacity: 0.5;
}
/** === Cover === */
.wp-block-cover,
.wp-block-cover-image {
  margin: 0 0 22px;
  padding: 10px 30px;
}
.wp-block-cover.alignleft,
.wp-block-cover-image.alignleft {
  margin-left: 0;
  margin-right: 2em;
}
.wp-block-cover.alignright,
.wp-block-cover-image.alignright {
  margin-left: 2em;
  margin-right: 0;
}
.wp-block-cover h2,
.wp-block-cover-image h2,
.wp-block-cover .wp-block-cover-text,
.wp-block-cover-image .wp-block-cover-text,
.wp-block-cover .wp-block-cover-image-text,
.wp-block-cover-image .wp-block-cover-image-text {
  margin: 0;
  padding: 0;
}
.wp-block-cover h2 strong,
.wp-block-cover-image h2 strong,
.wp-block-cover .wp-block-cover-text strong,
.wp-block-cover-image .wp-block-cover-text strong,
.wp-block-cover .wp-block-cover-image-text strong,
.wp-block-cover-image .wp-block-cover-image-text strong {
  font-weight: bolder;
}
.wp-block-cover-image.alignleft,
.wp-block-cover-image.alignright,
.wp-block-cover.alignleft,
.wp-block-cover.alignright,
[data-align=left] .wp-block-cover,
[data-align=left] .wp-block-cover-image,
[data-align=right] .wp-block-cover,
[data-align=right] .wp-block-cover-image {
  width: auto;
  max-width: 100%;
}
/** === File === */
.wp-block-file {
  margin: 0 0 22px;
}
.wp-block-file > a:not([class]),
.wp-block-file .wp-block-file__textlink {
  display: inline-block;
  margin: 0 20px 0 0;
}
[dir=rtl] .wp-block-file > a:not([class]),
[dir=rtl] .wp-block-file .wp-block-file__textlink {
  margin-left: 20px;
  margin-right: 0;
}
.wp-block-file .wp-block-file__button-richtext-wrapper {
  display: inline-block;
  margin: 0;
}
.wp-block-file .wp-block-file__button,
.wp-block-file a.wp-block-file__button {
  display: inline-block;
  padding: 0 30px;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  -webkit-border-radius: 22px;
  border-radius: 22px;
  -webkit-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
  -moz-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
  -ms-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
  -o-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
  transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out;
}
.wp-block-file .wp-block-file__button,
.wp-block-file a.wp-block-file__button,
.wp-block-file .wp-block-file__button:hover,
.wp-block-file a.wp-block-file__button:hover,
.wp-block-file .wp-block-file__button:focus,
.wp-block-file a.wp-block-file__button:focus,
.wp-block-file .wp-block-file__button:active,
.wp-block-file a.wp-block-file__button:active {
  margin: 0;
  border-width: 0;
  border-style: solid;
  -webkit-box-shadow: none;
  box-shadow: none;
  opacity: 1;
}
.wp-block-file .wp-block-file__button:before,
.wp-block-file a.wp-block-file__button:before,
.wp-block-file .wp-block-file__button:hover:before,
.wp-block-file a.wp-block-file__button:hover:before,
.wp-block-file .wp-block-file__button:focus:before,
.wp-block-file a.wp-block-file__button:focus:before,
.wp-block-file .wp-block-file__button:active:before,
.wp-block-file a.wp-block-file__button:active:before,
.wp-block-file .wp-block-file__button:after,
.wp-block-file a.wp-block-file__button:after,
.wp-block-file .wp-block-file__button:hover:after,
.wp-block-file a.wp-block-file__button:hover:after,
.wp-block-file .wp-block-file__button:focus:after,
.wp-block-file a.wp-block-file__button:focus:after,
.wp-block-file .wp-block-file__button:active:after,
.wp-block-file a.wp-block-file__button:active:after {
  content: none !important;
}
/** === Video === */
.wp-block-video {
  margin: 0 0 22px;
  text-align: center;
}
.wp-block-video video {
  display: inline-block;
}
.wp-block-video figcaption {
  margin: 0;
  padding: 6px 0 15px;
  text-align: center;
}
/** === Code === */
.wp-block-code {
  background-color: transparent;
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
  margin: 0 0 22px;
  border-width: 0;
  border-style: solid;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
}
.wp-block-code code,
.wp-block-code .editor-plain-text {
  background-color: inherit;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: inherit;
  display: block;
}
/** === Custom HTML === */
.wp-block-html {
  margin: 0 0 22px;
}
.wp-block-html .editor-plain-text {
  display: block;
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
}
.wp-block-html iframe {
  display: block;
}
/** === Preformatted === */
.wp-block-preformatted {
  margin: 0 0 22px;
}
.wp-block-preformatted pre {
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
}
/** === Pullquote === */
.wp-block-pullquote {
  margin: 0 0 22px;
  padding: 50px 0;
}
.wp-block-pullquote.alignleft {
  margin-right: 2em;
}
.wp-block-pullquote.alignright {
  margin-left: 2em;
}
.wp-block-pullquote:not(.is-style-solid-color) {
  border-top-width: 4px;
  border-top-style: solid;
  border-bottom-width: 4px;
  border-bottom-style: solid;
}
.wp-block-pullquote.is-style-solid-color {
  padding-left: 50px;
  padding-right: 50px;
}
.wp-block-pullquote.is-style-solid-color blockquote {
  max-width: 100%;
}
.wp-block-pullquote blockquote,
.wp-block-pullquote.alignleft blockquote,
.wp-block-pullquote.alignright blockquote,
.wp-block-pullquote.is-style-solid-color blockquote {
  margin: 0;
  padding: 0;
  hyphens: auto;
  word-break: break-word;
  border-width: 0;
  border-style: solid;
  text-align: center;
}
.wp-block-pullquote blockquote:before,
.wp-block-pullquote.alignleft blockquote:before,
.wp-block-pullquote.alignright blockquote:before,
.wp-block-pullquote.is-style-solid-color blockquote:before {
  content: none;
}
.wp-block-pullquote blockquote,
.wp-block-pullquote.alignleft blockquote,
.wp-block-pullquote.alignright blockquote,
.wp-block-pullquote.is-style-solid-color blockquote,
.wp-block-pullquote blockquote p,
.wp-block-pullquote.alignleft blockquote p,
.wp-block-pullquote.alignright blockquote p,
.wp-block-pullquote.is-style-solid-color blockquote p,
.wp-block-pullquote blockquote .editor-rich-text p,
.wp-block-pullquote.alignleft blockquote .editor-rich-text p,
.wp-block-pullquote.alignright blockquote .editor-rich-text p,
.wp-block-pullquote.is-style-solid-color blockquote .editor-rich-text p,
.wp-block-pullquote blockquote .editor-rich-text__tinymce,
.wp-block-pullquote.alignleft blockquote .editor-rich-text__tinymce,
.wp-block-pullquote.alignright blockquote .editor-rich-text__tinymce,
.wp-block-pullquote.is-style-solid-color blockquote .editor-rich-text__tinymce,
.wp-block-pullquote blockquote .editor-rich-text__tinymce p,
.wp-block-pullquote.alignleft blockquote .editor-rich-text__tinymce p,
.wp-block-pullquote.alignright blockquote .editor-rich-text__tinymce p,
.wp-block-pullquote.is-style-solid-color blockquote .editor-rich-text__tinymce p,
.wp-block-pullquote blockquote cite,
.wp-block-pullquote.alignleft blockquote cite,
.wp-block-pullquote.alignright blockquote cite,
.wp-block-pullquote.is-style-solid-color blockquote cite,
.wp-block-pullquote blockquote .wp-block-pullquote__citation,
.wp-block-pullquote.alignleft blockquote .wp-block-pullquote__citation,
.wp-block-pullquote.alignright blockquote .wp-block-pullquote__citation,
.wp-block-pullquote.is-style-solid-color blockquote .wp-block-pullquote__citation {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  text-transform: inherit;
}
.wp-block-pullquote blockquote p:last-of-type,
.wp-block-pullquote.alignleft blockquote p:last-of-type,
.wp-block-pullquote.alignright blockquote p:last-of-type,
.wp-block-pullquote.is-style-solid-color blockquote p:last-of-type,
.wp-block-pullquote blockquote > .editor-rich-text p:last-of-type,
.wp-block-pullquote.alignleft blockquote > .editor-rich-text p:last-of-type,
.wp-block-pullquote.alignright blockquote > .editor-rich-text p:last-of-type,
.wp-block-pullquote.is-style-solid-color blockquote > .editor-rich-text p:last-of-type {
  margin: 0;
}
.wp-block-pullquote blockquote cite,
.wp-block-pullquote.alignleft blockquote cite,
.wp-block-pullquote.alignright blockquote cite,
.wp-block-pullquote.is-style-solid-color blockquote cite,
.wp-block-pullquote blockquote .wp-block-pullquote__citation,
.wp-block-pullquote.alignleft blockquote .wp-block-pullquote__citation,
.wp-block-pullquote.alignright blockquote .wp-block-pullquote__citation,
.wp-block-pullquote.is-style-solid-color blockquote .wp-block-pullquote__citation {
  display: block;
  font-style: italic;
  margin-top: 15px;
}
/** === Table === */
.wp-block-table {
  width: 100%;
  margin-bottom: 22px;
  border-spacing: 0;
  border-collapse: collapse;
  /* for gutenberg start */
  /* for gutenberg end */
}
.wp-block-table th,
.wp-block-table td {
  padding: 10px;
  border-width: 1px;
  border-style: solid;
}
.wp-block-table caption {
  text-align: center;
  padding: 20px;
}
.wp-block-table.is-style-stripes {
  border-collapse: collapse;
  border-width: 0;
  border-style: solid;
}
.wp-block-table.is-style-stripes tr:nth-child(odd) {
  background-color: transparent !important;
}
.wp-block-table .wp-block-table__cell-content {
  color: inherit;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  padding: 0;
}
/** === Verse === */
.wp-block-verse {
  margin: 0 0 22px;
  padding: 0;
}
.wp-block-verse pre {
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
  padding: 0;
}
/** === Spacer === */
.wp-block-spacer {
  clear: both;
}
/** === Button === */
.wp-block-button {
  display: block;
  margin: 0 0 22px;
}
.wp-block-button.alignleft {
  margin-right: 2em;
}
.wp-block-button.alignright {
  margin-left: 2em;
}
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link {
  display: inline-block;
  padding: 0 30px;
  cursor: pointer;
  position: relative;
  white-space: nowrap;
  text-align: center;
  border-width: 1px;
  border-style: solid;
  -webkit-border-radius: 22px;
  border-radius: 22px;
  -webkit-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out, border-radius .3s ease-in-out;
  -moz-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out, border-radius .3s ease-in-out;
  -ms-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out, border-radius .3s ease-in-out;
  -o-transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out, border-radius .3s ease-in-out;
  transition: color .3s ease-in-out, background-color .3s ease-in-out, border-color .3s ease-in-out, box-shadow .3s ease-in-out, border-radius .3s ease-in-out;
}
.wp-block-button .wp-block-button__link,
.wp-block-button.is-style-outline .wp-block-button__link,
.wp-block-button .wp-block-button__link:hover,
.wp-block-button.is-style-outline .wp-block-button__link:hover,
.wp-block-button .wp-block-button__link:focus,
.wp-block-button.is-style-outline .wp-block-button__link:focus,
.wp-block-button .wp-block-button__link:active,
.wp-block-button.is-style-outline .wp-block-button__link:active {
  -webkit-box-shadow: none;
  box-shadow: none;
}
.wp-block-button .wp-block-button__link:before,
.wp-block-button.is-style-outline .wp-block-button__link:before,
.wp-block-button .wp-block-button__link:hover:before,
.wp-block-button.is-style-outline .wp-block-button__link:hover:before,
.wp-block-button .wp-block-button__link:focus:before,
.wp-block-button.is-style-outline .wp-block-button__link:focus:before,
.wp-block-button .wp-block-button__link:active:before,
.wp-block-button.is-style-outline .wp-block-button__link:active:before,
.wp-block-button .wp-block-button__link:after,
.wp-block-button.is-style-outline .wp-block-button__link:after,
.wp-block-button .wp-block-button__link:hover:after,
.wp-block-button.is-style-outline .wp-block-button__link:hover:after,
.wp-block-button .wp-block-button__link:focus:after,
.wp-block-button.is-style-outline .wp-block-button__link:focus:after,
.wp-block-button .wp-block-button__link:active:after,
.wp-block-button.is-style-outline .wp-block-button__link:active:after {
  content: none !important;
}
.wp-block-button:not(.is-style-outline) .wp-block-button__link {
  border-width: 0;
  border-style: solid;
}
.wp-block-button.is-style-outline .wp-block-button__link.has-text-color {
  border-color: currentColor !important;
}
.wp-block-button.is-style-squared .wp-block-button__link {
  -webkit-border-radius: 0;
  border-radius: 0;
}
/** === Columns === */
.wp-block-columns .wp-block-column {
  margin-bottom: 22px;
}
.wp-block-columns .wp-block-column > p,
.wp-block-columns .wp-block-column .wp-block-paragraph {
  margin-bottom: 0;
}
.wp-block-columns .wp-block-column > p:not(.has-background),
.wp-block-columns .wp-block-column .wp-block-paragraph:not(.has-background) {
  padding-bottom: 0;
}
/** === Media Text === */
.wp-block-media-text {
  margin: 0 0 22px;
}
@media (max-width: 600px) {
  .wp-block-media-text {
    display: block;
  }
  .wp-block-media-text .wp-block-media-text__media {
    margin: 0 0 22px;
  }
  .wp-block-media-text .wp-block-media-text__content {
    padding: 0;
  }
}
.wp-block-media-text .wp-block-media-text__content p:last-of-type {
  margin: 0;
  padding: 0;
}
/** === Separator === */
.wp-block-separator,
.wp-block-separator.is-style-wide,
.wp-block-separator.is-style-dots {
  max-width: 100%;
  min-height: 1px;
  margin: 44px auto;
  position: relative;
  border-width: 0;
  border-style: solid;
}
.wp-block-separator:before {
  content: '';
  width: 30%;
  height: 1px;
  margin: auto !important;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}
.wp-block-separator.is-style-wide:before {
  width: 100%;
}
.wp-block-separator.is-style-dots {
  height: 10px;
  line-height: 10px;
  text-align: center;
}
.wp-block-separator.is-style-dots:before {
  content: "\00b7 \00b7 \00b7";
  font-family: serif;
  font-size: 45px;
  line-height: 10px;
  letter-spacing: 1.4em;
  width: 100%;
  height: 10px;
  padding: 0 0 0 1.4em;
}
.wp-block-separator:not(.is-style-wide):not(.is-style-dots) {
  max-width: 100%;
}
/** === Archives, Categories === */
ul.wp-block-archives,
ul.wp-block-categories,
ul.wp-block-categories__list {
  margin-bottom: 22px;
  padding: 0;
  position: relative;
}
div.wp-block ul.wp-block-archives,
div.wp-block ul.wp-block-categories,
div.wp-block ul.wp-block-categories__list {
  margin-bottom: 22px;
  padding: 0;
  position: relative;
}
div.wp-block ul.wp-block-archives ul,
div.wp-block ul.wp-block-categories ul,
div.wp-block ul.wp-block-categories__list ul {
  margin-bottom: 0;
  padding: 10px 0 0;
}
div.wp-block-archives.wp-block-archives-dropdown,
div.wp-block-categories.wp-block-categories-dropdown {
  margin-bottom: 22px;
}
div.wp-block-archives.wp-block-archives-dropdown label,
div.wp-block-categories.wp-block-categories-dropdown label {
  display: none;
}
/** === Latest Posts === */
.wp-block-latest-posts {
  margin-bottom: 22px;
  padding: 0;
  list-style-type: none !important;
}
.wp-block-latest-posts ul {
  list-style-type: none !important;
}
.wp-block-latest-posts li:before {
  content: none !important;
}
.wp-block-latest-posts .wp-block-latest-posts__post-date {
  display: block;
  margin: -3px 0 0;
}
.wp-block-latest-posts.is-grid {
  margin-left: -22px;
  margin-right: -22px;
  margin-top: -22px;
}
.wp-block-latest-posts.is-grid li {
  margin-top: 22px;
  padding-left: 22px;
  padding-right: 22px;
  padding-top: 0;
}
div.wp-block .wp-block-latest-posts {
  margin-bottom: 22px;
  padding: 0;
}
div.wp-block .wp-block-latest-posts ul {
  margin-bottom: 0;
  padding: 10px 0 0;
}
/** === Latest Comments === */
.wp-block-latest-comments {
  list-style: none;
  margin-bottom: 22px;
}
.wp-block-latest-comments .wp-block-latest-comments__comment {
  min-height: auto;
  margin: 25px 0 0;
  padding: 0;
  overflow: hidden;
}
.wp-block-latest-comments .wp-block-latest-comments__comment:first-child {
  margin: 0;
}
.wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment {
  min-height: 48px;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-avatar {
  width: 48px;
  height: 48px;
  margin: 0 17px 0 0;
  float: left;
  -webkit-border-radius: 50%;
  border-radius: 50%;
}
[dir=rtl] .wp-block-latest-comments .wp-block-latest-comments__comment-avatar {
  margin: 0 0 0 17px;
  float: right;
}
.wp-block-latest-comments article {
  display: block;
  padding: 0 0 0 3px;
  overflow: hidden;
}
[dir=rtl] .wp-block-latest-comments article {
  margin: 0 3px 0 0;
}
.wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-meta,
.wp-block-latest-comments .wp-block-latest-comments__comment-meta {
  margin: 0;
}
.wp-block-latest-comments .wp-block-latest-comments__comment-date {
  margin: -3px 0 0;
}
.wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-excerpt,
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt {
  margin: 5px 0 0;
}
.wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-excerpt p,
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt p {
  margin: 0;
  padding: 0 0 20px;
}
.wp-block-latest-comments.has-avatars .wp-block-latest-comments__comment-excerpt > *:last-child,
.wp-block-latest-comments .wp-block-latest-comments__comment-excerpt > *:last-child {
  margin: 0;
  padding: 0;
}
.wp-block-latest-comments.aligncenter .wp-block-latest-comments__comment-avatar {
  margin: 0 auto 10px;
  float: none;
}
.wp-block-latest-comments.aligncenter article {
  padding: 0 3px;
}
.wp-block-latest-comments.aligncenter .wp-block-latest-comments__comment-excerpt {
  text-align: center;
}
/** === Classic Editor === */
.wp-caption dd {
  margin: 0;
  padding: 10px 5px;
  text-align: center;
}
div.wp-block .wp-block-freeform.block-library-rich-text__tinymce h1 a,
div.wp-block .wp-block-freeform.block-library-rich-text__tinymce h2 a,
div.wp-block .wp-block-freeform.block-library-rich-text__tinymce h3 a,
div.wp-block .wp-block-freeform.block-library-rich-text__tinymce h4 a,
div.wp-block .wp-block-freeform.block-library-rich-text__tinymce h5 a,
div.wp-block .wp-block-freeform.block-library-rich-text__tinymce h6 a {
  color: inherit;
}
.wp-block-freeform.mce-content-body > p {
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 22px;
}
.wp-block-freeform.mce-content-body > h1,
.wp-block-freeform.mce-content-body > h2,
.wp-block-freeform.mce-content-body > h3,
.wp-block-freeform.mce-content-body > h4,
.wp-block-freeform.mce-content-body > h5,
.wp-block-freeform.mce-content-body > h6,
.wp-block-freeform.mce-content-body > table,
.wp-block-freeform.mce-content-body > blockquote,
.wp-block-freeform.mce-content-body > ul,
.wp-block-freeform.mce-content-body > ol,
.wp-block-freeform.mce-content-body > pre,
.wp-block-freeform.mce-content-body > address {
  margin-top: 0;
  margin-bottom: 22px;
}
.wp-block-freeform.mce-content-body > dl {
  margin-top: 0;
  margin-bottom: 0;
}
.wp-block-freeform.mce-content-body .alignleft,
.wp-block-freeform.mce-content-body .alignright,
.wp-block-freeform.mce-content-body .aligncenter,
.wp-block-freeform.mce-content-body .alignnone {
  margin-top: 0;
  margin-bottom: 22px;
}
.wp-block-freeform abbr,
.wp-block-freeform acronym {
  text-decoration: underline;
}
.wp-block-freeform pre,
.wp-block-freeform code,
.wp-block-freeform tt,
.wp-block-freeform kbd,
.wp-block-freeform samp {
  background-color: transparent;
  color: inherit;
  font-family: monospace;
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  font-style: inherit;
  letter-spacing: 1px;
  margin: 0;
  padding: 0;
}
.wp-block-freeform dl {
  max-width: 100%;
  display: block;
  overflow: hidden;
}
.wp-block-freeform dt {
  display: block;
  font-weight: bold;
  overflow: hidden;
}
.wp-block-freeform dd {
  display: block;
  overflow: hidden;
  margin: 0 0 22px;
}
.wp-block-freeform hr {
  margin: 44px 0;
  border-top-width: 0;
  border-top-style: solid;
  border-bottom-width: 1px;
  border-bottom-style: solid;
}
.wp-block-freeform blockquote {
  margin: 0;
  padding: 0;
  -webkit-border-radius: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  position: relative;
  padding-left: 53px;
  margin: 0 0 22px;
  /* don't touch */
  border-width: 0;
  border-style: solid;
}
.wp-block-freeform blockquote:before {
  content: '\201D';
  position: absolute;
  left: 0;
  top: 0;
  font-size: 50px;
  line-height: 50px;
}
.wp-block-freeform blockquote p:last-of-type {
  padding-bottom: 0;
  margin-bottom: 0;
}
.wp-block-freeform blockquote cite {
  display: block;
  margin-top: 10px;
}
.wp-block-freeform blockquote cite {
  display: block;
}
.wp-block-freeform .mce-item-table,
.wp-block-freeform table {
  width: 100%;
  margin-bottom: 22px;
  border-spacing: 0;
  border-collapse: collapse;
  /* for gutenberg start */
  /* for gutenberg end */
}
.wp-block-freeform .mce-item-table th,
.wp-block-freeform table th {
  font-weight: inherit;
  text-align: left;
}
[dir=rtl] .wp-block-freeform .mce-item-table th,
[dir=rtl] .wp-block-freeform table th {
  text-align: right;
}
.wp-block-freeform .mce-item-table th,
.wp-block-freeform table th,
.wp-block-freeform .mce-item-table td,
.wp-block-freeform table td {
  padding: 10px;
  border-width: 1px;
  border-style: solid;
}
.wp-block-freeform .mce-item-table caption,
.wp-block-freeform table caption {
  text-align: center;
  padding: 20px;
}
.wp-block-freeform .mce-item-table.is-style-stripes,
.wp-block-freeform table.is-style-stripes {
  border-collapse: collapse;
  border-width: 0;
  border-style: solid;
}
.wp-block-freeform .mce-item-table.is-style-stripes tr:nth-child(odd),
.wp-block-freeform table.is-style-stripes tr:nth-child(odd) {
  background-color: transparent !important;
}
.wp-block-freeform .gallery {
  position: relative;
  margin: 0 -1.7% 20px;
}
.wp-block-freeform .gallery:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.wp-block-freeform .gallery img {
  width: 100%;
  border: none;
}
.wp-block-freeform .gallery .gallery-item {
  position: relative;
  float: left;
  margin: 0 1.7% 20px;
}
.wp-block-freeform .gallery .gallery-item:after {
  content: '.';
  display: block;
  clear: both;
  height: 0;
  visibility: hidden;
  overflow: hidden;
}
.wp-block-freeform .gallery .gallery-item .wp-caption-text {
  margin: 0;
  padding: 10px 5px;
  text-align: center;
}
.wp-block-freeform .gallery.gallery-columns-1 .gallery-item {
  width: 96.6%;
  position: relative;
  float: none;
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-2 .gallery-item {
  width: 46.6%;
}
.wp-block-freeform .gallery.gallery-columns-2 .gallery-item:nth-child(2n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-3 .gallery-item {
  width: 29.933%;
}
.wp-block-freeform .gallery.gallery-columns-3 .gallery-item:nth-child(3n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-4 .gallery-item {
  width: 21.6%;
}
.wp-block-freeform .gallery.gallery-columns-4 .gallery-item:nth-child(4n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-5 .gallery-item {
  width: 16.6%;
}
.wp-block-freeform .gallery.gallery-columns-5 .gallery-item:nth-child(5n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-6 .gallery-item {
  width: 13.267%;
}
.wp-block-freeform .gallery.gallery-columns-6 .gallery-item:nth-child(6n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-7 .gallery-item {
  width: 10.886%;
}
.wp-block-freeform .gallery.gallery-columns-7 .gallery-item:nth-child(7n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-8 .gallery-item {
  width: 9.1%;
}
.wp-block-freeform .gallery.gallery-columns-8 .gallery-item:nth-child(8n+1) {
  clear: both;
}
.wp-block-freeform .gallery.gallery-columns-9 .gallery-item {
  width: 7.711%;
}
.wp-block-freeform .gallery.gallery-columns-9 .gallery-item:nth-child(9n+1) {
  clear: both;
}
/** === Vimeo Block === */
.wp-block-embed-vimeo .wp-block-embed__wrapper {
  position: relative;
  max-width: 100%;
  width: 100%;
  height: 0;
  padding-bottom: 58.14%;
  margin-bottom: 22px;
  overflow: hidden;
}
.wp-block-embed-vimeo .wp-block-embed__wrapper iframe {
  width: 100%;
  max-width: auto;
  height: 100%;
  margin-bottom: 0;
  position: absolute;
  left: 0;
  top: 0;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIm1vZHVsZS1zdHlsZS5sZXNzIiwiLi4vLi4vLi4vLi4vLi4vdGhlbWUtZnJhbWV3b3JrL3RoZW1lLXN0eWxlL2Nzcy9sZXNzL2dlbmVyYWwubGVzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUF3QkMsU0FBQztFQUNBLFdBQUE7OztBQU1GO0VBQ0MsVUFBQTtFQUNBLHFCQUFBO0VBQ0EsbUNBQUE7O0FBSUcsR0FBQztFQUNHLFlBQUE7O0FBR0osR0FBQztFQUNHLFdBQUE7O0FBSVIsR0FBRyxTQUNGLEdBT0M7QUFSRixHQUFHLFNBRUYsR0FNQztBQVJGLEdBQUcsU0FHRixHQUtDO0FBUkYsR0FBRyxTQUlGLEdBSUM7QUFSRixHQUFHLFNBS0YsR0FHQztBQVJGLEdBQUcsU0FNRixHQUVDO0FBUkYsR0FBRyxTQU9GLElBQ0M7RUFDQyxvQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBOztBQWJILEdBQUcsU0FpQkY7QUFqQkQsR0FBRyxTQWtCRjtFQUNDLGlCQUFBOztBQW5CRixHQUFHLFNBc0JGLDJCQUVDO0FBeEJGLEdBQUcsU0F1QkYsa0NBQ0M7RUFDQyw2QkFBQTtFQUNBLGNBQUE7RUFDQSxzQkFBQTtFQUNBLGtCQUFBO0VBQ0Esb0JBQUE7RUFDQSxvQkFBQTtFQUNBLG1CQUFBO0VBQ0EsbUJBQUE7RUFDQSxTQUFBO0VBQ0EsVUFBQTtFQUNBLGdCQUFBOztBQUtILEtBQ0M7RUFDQyxjQUFBOztBQUlGO0VDK1RNLGdCQUFBO0VBR04sbUJBQUE7RUFBcUIsZUFDZCxFQURjO0VBQ1QsMkJBQUE7RUFFWCx3QkFBQTtFQUVXLHFCQUFBO0VBQ0Esb0JBQUE7RUFBc0IsMkJBQUE7RUFHekIsc0JBRVIsMEJBRlE7RUFJSCwrQkFBQTtFQUNTLDRCQUFBO0VBR1QsV0FBQTtFQUFhLGdCQUFBO0VBRVosWUFBQTtFQTNNTix3QkFBQTtFQUNvQixnQkFBQTtFQThNQSxzQkFDViw2QkFEVTs7O0FEblZyQix5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TCxXQUFBOztBRGtsQ1Asa0JBNUVELFNBNEVFLGtCQUFtQjtFQUNuQixjQUFBOztBQUVBLGtCQS9FRixTQTRFRSxrQkFBbUIsY0FHbEIsVUFBVTtFQ3JsQ0wsV0FBQTs7QUQwbENQLGtCQXBGRCxTQW9GRSxrQkFBbUI7RUFDbkIsV0FBQTs7QUFFQSxrQkF2RkYsU0FvRkUsa0JBQW1CLGNBR2xCLFVBQVU7RUM3bENMLFdBQUE7O0FEa21DUCxrQkE1RkQsU0E0RkUsa0JBQW1CO0VBQ25CLGFBQUE7O0FBRUEsa0JBL0ZGLFNBNEZFLGtCQUFtQixjQUdsQixVQUFVO0VDcm1DTCxXQUFBOzs7QUQ4bUNULHFCQUNDO0VBQ0Msa0JBQUE7RUFDQSxlQUFBO0VBQ0EsV0FBQTtFQUNBLFNBQUE7RUFDQSxzQkFBQTtFQUNBLG1CQUFBO0VDam5DRixnQkFBQTs7QUQwbUNBLHFCQUNDLHlCQVNDO0VBQ0MsV0FBQTtFQUNBLGVBQUE7RUFDQSxZQUFBO0VBQ0EsZ0JBQUE7RUFDQSxrQkFBQTtFQUNBLE9BQUE7RUFDQSxNQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBAcGFja2FnZSBcdFdvcmRQcmVzc1xuICogQHN1YnBhY2thZ2UgXHRTYWx2YXRpb25cbiAqIEB2ZXJzaW9uIFx0MS4wLjZcbiAqIFxuICogR3V0ZW5iZXJnIENTUyBSdWxlc1xuICogQ3JlYXRlZCBieSBDTVNNYXN0ZXJzXG4gKiBcbiAqL1xuXG5cblxuQGltcG9ydCBcIi4uLy4uLy4uLy4uLy4uL3RoZW1lLWZyYW1ld29yay90aGVtZS1zdHlsZS9jc3MvbGVzcy9nZW5lcmFsLmxlc3NcIjtcblxuXG5AZ3V0ZW5iZXJnX2Jsb2NrX3BhZGRpbmdzOjQzcHggKiAyIC0gMjhweCAqIDI7XG5cbi5ndXRlbmJlcmdfc3R5bGVzKCkge1xuXG4vKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuLyogR2VuZXJhbCBTdHlsZXNcbi8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbi53cC1ibG9jayB7XG5cdCZbZGF0YS1hbGlnbj1cImZ1bGxcIl0ge1xuXHRcdHdpZHRoOjEwMCU7XG5cdH1cbn1cblxuXG4vKiogPT09IEJhc2UgVHlwb2dyYXBoeSA9PT0gKi9cbmEge1xuXHRvdXRsaW5lOjA7XG5cdHRleHQtZGVjb3JhdGlvbjpub25lO1xuXHR0cmFuc2l0aW9uOmNvbG9yIDExMG1zIGVhc2UtaW4tb3V0O1xufVxuXG5pbWcge1xuICAgICYuYWxpZ25yaWdodCB7XG4gICAgICAgIGNsZWFyOnJpZ2h0O1xuICAgIH1cblxuICAgICYuYWxpZ25sZWZ0IHtcbiAgICAgICAgY2xlYXI6bGVmdDtcbiAgICB9XG59XG5cbmRpdi53cC1ibG9jayB7XG5cdGgxLFxuXHRoMixcblx0aDMsXG5cdGg0LFxuXHRoNSxcblx0aDYsXG5cdHByZSB7XG5cdFx0YSB7XG5cdFx0XHRmb250LWZhbWlseTppbmhlcml0O1xuXHRcdFx0Zm9udC1zaXplOmluaGVyaXQ7XG5cdFx0XHRsaW5lLWhlaWdodDppbmhlcml0O1xuXHRcdFx0Zm9udC13ZWlnaHQ6aW5oZXJpdDtcblx0XHRcdGZvbnQtc3R5bGU6aW5oZXJpdDtcblx0XHR9XG5cdH1cblx0XG5cdGIsXG5cdHN0cm9uZyB7XG5cdFx0Zm9udC13ZWlnaHQ6Ym9sZDtcblx0fVxuXG5cdC5lZGl0b3ItcmljaC10ZXh0X190aW55bWNlLFxuXHQuYmxvY2stZWRpdG9yLXJpY2gtdGV4dF9fZWRpdGFibGUge1xuXHRcdGNvZGUge1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudDtcblx0XHRcdGNvbG9yOmluaGVyaXQ7XG5cdFx0XHRmb250LWZhbWlseTptb25vc3BhY2U7XG5cdFx0XHRmb250LXNpemU6aW5oZXJpdDtcblx0XHRcdGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG5cdFx0XHRmb250LXdlaWdodDppbmhlcml0O1xuXHRcdFx0Zm9udC1zdHlsZTppbmhlcml0O1xuXHRcdFx0bGV0dGVyLXNwYWNpbmc6MXB4O1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0XHRib3JkZXItcmFkaXVzOjA7XG5cdFx0fVxuXHR9XG59XG5cbnNtYWxsIHtcblx0c21hbGwge1xuXHRcdGZvbnQtc2l6ZTo3NSU7XG5cdH1cbn1cblxuc2VsZWN0IHtcblx0LmRlZmF1bHRfc2VsZWN0KDEpO1xufVxuXG5cbi8qKiA9PT0gUG9zdCBUaXRsZSA9PT0gKi9cbi5lZGl0b3ItcG9zdC10aXRsZV9fYmxvY2sge1xuXHQuZWRpdG9yLXBvc3QtdGl0bGVfX2lucHV0IHtcblx0XHRvdXRsaW5lOm5vbmU7XG5cdH1cbn1cblxuXG4vKiogPT09IERlZmF1bHQgQXBwZW5kZXIgPT09ICovXG4uZWRpdG9yLWRlZmF1bHQtYmxvY2stYXBwZW5kZXIgaW5wdXRbdHlwZT1cInRleHRcIl0uZWRpdG9yLWRlZmF1bHQtYmxvY2stYXBwZW5kZXJfX2NvbnRlbnQge1xuXHRvdXRsaW5lOm5vbmU7XG59XG5cblxuLyoqID09PSBIZWFkaW5nID09PSAqL1xuLndwLWJsb2NrLWhlYWRpbmcge1xuXHRvdXRsaW5lOm5vbmU7XG59XG5cbnAud3AtYmxvY2stc3ViaGVhZCB7XG5cdHBhZGRpbmc6MDtcbn1cblxuLyoqID09PSBQYXJhZ3JhcGggPT09ICovXG5wLFxucC5tY2UtY29udGVudC1ib2R5IHtcblx0Ji5oYXMtYmFja2dyb3VuZCB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzouOTVlbSAxLjNlbTtcblx0fVxuXHRcblx0Ji5oYXMtZHJvcC1jYXA6bm90KDpmb2N1cyk6Zmlyc3QtbGV0dGVyIHtcblx0XHRtYXJnaW46LjMyZW0gLjczZW0gLjFlbSAuNTJlbTtcblx0fVxuXHRcblx0Ji5oYXMtc21hbGwtZm9udC1zaXplLFxuXHQmLmhhcy1tZWRpdW0tZm9udC1zaXplLFxuXHQmLmhhcy1sYXJnZS1mb250LXNpemUsXG5cdCYuaGFzLWh1Z2UtZm9udC1zaXplLFxuXHQmW3N0eWxlXj1cImZvbnQtc2l6ZTpcIl0sXG5cdCZbc3R5bGUqPVwiZm9udC1zaXplOlwiXSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OjEuNWVtO1xuICAgIH1cbn1cblxuLyoqID09PSBJbWFnZSA9PT0gKi9cbi53cC1ibG9jay1pbWFnZSB7XG5cdCY6bm90KC5lZGl0b3ItbWVkaWEtcGxhY2Vob2xkZXIpIHtcblx0XHRsaW5lLWhlaWdodDowO1xuXHRcdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcblx0XHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0LnRhYztcblx0fVxuXHRcblx0ZmlndXJlIHtcblx0XHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cblx0XHQmLmFsaWdubGVmdCB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6MmVtO1xuXHRcdH1cblx0XHRcblx0XHQmLmFsaWducmlnaHQge1xuXHRcdFx0bWFyZ2luLWxlZnQ6MmVtO1xuXHRcdH1cblx0fVxuXHRcblx0ZmlnY2FwdGlvbiB7XG5cdFx0ZGlzcGxheTpibG9jayAhaW1wb3J0YW50O1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MTVweCAwO1xuXHRcdC50YWMgIWltcG9ydGFudDtcblx0fVxuXHRcblx0ZGl2W3N0eWxlXj1cIndpZHRoOlwiXSxcblx0ZGl2W3N0eWxlKj1cIndpZHRoOlwiXSxcblx0LmNvbXBvbmVudHMtcmVzaXphYmxlLWJveF9fY29udGFpbmVyIHtcblx0XHRtYXgtd2lkdGg6MTAwJSAhaW1wb3J0YW50O1xuXHRcdGhlaWdodDphdXRvICFpbXBvcnRhbnQ7XG5cdFx0bWFyZ2luOjAgYXV0bztcblx0fVxuXHRcblx0LmVkaXRvci1yaWNoLXRleHQge1xuXHRcdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcblx0fVxufVxuXG5cbi8qKiA9PT0gR2FsbGVyeSA9PT0gKi9cbmRpdi53cC1ibG9jayB7XG5cdC53cC1ibG9jay1nYWxsZXJ5IHtcblx0XHRtYXJnaW46MCAwIC0xNnB4O1xuXHRcdFxuXHRcdC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcblx0XHRcdG1hcmdpbjowIDE2cHggMTZweCAwO1xuXHRcdFx0cGFkZGluZzowO1xuXHRcdH1cblx0XHRcblx0XHQmLmNvbHVtbnMtMyB7XG5cdFx0XHQuYmxvY2tzLWdhbGxlcnktaW1hZ2UsXG5cdFx0XHQuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdCY6bnRoLW9mLXR5cGUoM24pIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLmNvbHVtbnMtMiB7XG5cdFx0XHQuYmxvY2tzLWdhbGxlcnktaW1hZ2UsXG5cdFx0XHQuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG5cdFx0XHRcdCY6bnRoLW9mLXR5cGUoMm4pIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0XHRcblx0XHRcdFx0JjpsYXN0LWNoaWxkIHtcblx0XHRcdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4ud3AtYmxvY2stZ2FsbGVyeSB7XG5cdG1hcmdpbjowIDAgKEBsaW5lX2hlaWdodF9wYWQgLSAxNnB4KTtcblx0XG5cdCYuY29sdW1ucy0zIHtcblx0XHQuYmxvY2tzLWdhbGxlcnktaW1hZ2U6bnRoLW9mLXR5cGUoM24pLFxuXHRcdC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1vZi10eXBlKDNuKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHR9XG5cdH1cblx0XG5cdCYuY29sdW1ucy0yIHtcblx0XHQuYmxvY2tzLWdhbGxlcnktaW1hZ2U6bnRoLW9mLXR5cGUoMm4pLFxuXHRcdC5ibG9ja3MtZ2FsbGVyeS1pdGVtOm50aC1vZi10eXBlKDJuKSB7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0XHR9XG5cdH1cblx0XG5cdGxpIHtcblx0XHRwYWRkaW5nOjA7XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDpub25lO1xuXHRcdH1cblx0fVxuXHRcblx0LmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuXHRcdCY6YmVmb3JlIHtcblx0XHRcdGNvbnRlbnQ6bm9uZTtcblx0XHR9XG5cdH1cblx0XG5cdCYuaXMtY3JvcHBlZCB7XG5cdFx0LmJsb2Nrcy1nYWxsZXJ5LWltYWdlLFxuXHRcdC5ibG9ja3MtZ2FsbGVyeS1pdGVtIHtcblx0XHRcdGltZyB7XG5cdFx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQuYmxvY2tzLWdhbGxlcnktaW1hZ2UgZmlnY2FwdGlvbixcblx0LmJsb2Nrcy1nYWxsZXJ5LWl0ZW0gZmlnY2FwdGlvbiB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzoyNXB4IDVweCAxMHB4O1xuXHRcdC50YWM7XG5cdFx0Lm92aDtcblx0fVxuXHRcblx0QG1lZGlhIEBtb25pdG9yX3Bob25lIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFxuXHRcdC5ibG9ja3MtZ2FsbGVyeS1pbWFnZSxcblx0XHQuYmxvY2tzLWdhbGxlcnktaXRlbSB7XG5cdFx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiogPT09IExpc3RzID09PSAqL1xuZGl2LndwLWJsb2NrIHtcblx0dWwsXG5cdG9sIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0bGlzdC1zdHlsZS1wb3NpdGlvbjppbnNpZGU7XG5cdFx0XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOkBkZWZhdWx0X2xpc3RfdG9wX3BhZCAwIDA7XG5cdFx0XHRcblx0XHRcdCY6Zmlyc3QtY2hpbGQge1xuXHRcdFx0XHRwYWRkaW5nLXRvcDowO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXHRcblx0dWwsXG5cdG9sLCBcblx0LmJsb2NrLWxpYnJhcnktbGlzdCAuZWRpdG9yLXJpY2gtdGV4dF9fdGlueW1jZSB7XG5cdFx0b2wsXG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luOjAgMCAwIEBkZWZhdWx0X2xpc3RfbGVmdF9wYWQ7XG5cdFx0XHRwYWRkaW5nOkBkZWZhdWx0X2xpc3RfdG9wX3BhZCAwIDA7XG5cdFx0fVxuXHR9XG5cdFxuXHQuYmxvY2stbGlicmFyeS1saXN0IC5lZGl0b3ItcmljaC10ZXh0X190aW55bWNlIHtcblx0XHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0cGFkZGluZzowO1xuXHR9XG5cdFxuXHR1bCB7XG5cdFx0LmRlZmF1bHRfbGlzdCgpO1xuXHR9XG5cdFxuXHRvbCB7XG5cdFx0bGlzdC1zdHlsZS10eXBlOmRlY2ltYWwtbGVhZGluZy16ZXJvO1xuXHR9XG59XG5cblxuLyoqID09PSBCbG9ja3F1b3RlID09PSAqL1xuLndwLWJsb2NrLXF1b3RlIHtcblx0Jixcblx0Ji5pcy1sYXJnZSxcblx0Ji5pcy1zdHlsZS1sYXJnZSB7XG5cdFx0LmRlZmF1bHRfYmxvY2txdW90ZSgpO1xuXHRcdFxuXHRcdC5lZGl0b3ItcmljaC10ZXh0X190aW55bWNlIHtcblx0XHRcdGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG5cdFx0fVxuXHRcdFxuXHRcdHAsXG5cdFx0Y2l0ZSxcblx0XHRmb290ZXIsXG5cdFx0LndwLWJsb2NrLXF1b3RlX19jaXRhdGlvbiB7XG5cdFx0XHRjb2xvcjppbmhlcml0O1xuXHRcdFx0Zm9udC1mYW1pbHk6aW5oZXJpdDtcblx0XHRcdGZvbnQtc2l6ZTppbmhlcml0O1xuXHRcdFx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcblx0XHRcdGZvbnQtd2VpZ2h0OmluaGVyaXQ7XG5cdFx0XHRmb250LXN0eWxlOmluaGVyaXQ7XG5cdFx0fVxuXHRcdFxuXHRcdGNpdGUsXG5cdFx0Zm9vdGVyLFxuXHRcdC53cC1ibG9jay1xdW90ZV9fY2l0YXRpb24ge1xuXHRcdFx0Zm9udC1zdHlsZTppdGFsaWM7XG5cdFx0XHRtYXJnaW4tdG9wOjEwcHg7XG5cdFx0fVxuXHR9XG5cdFxuXHQmLmlzLWxhcmdlLFxuXHQmLmlzLXN0eWxlLWxhcmdlIHtcblx0XHRjaXRlLFxuXHRcdGZvb3Rlcixcblx0XHQud3AtYmxvY2stcXVvdGVfX2NpdGF0aW9uIHtcblx0XHRcdC50YWw7XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqID09PSBCbG9jayBBdWRpbyA9PT0gKi9cbi53cC1ibG9jay1hdWRpbyB7XG5cdG1hcmdpbi1ib3R0b206QGxpbmVfaGVpZ2h0X3BhZDtcblx0XG5cdGZpZ2NhcHRpb24ge1xuXHRcdGRpc3BsYXk6YmxvY2sgIWltcG9ydGFudDtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjE1cHggMDtcblx0XHQudGFjICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdGF1ZGlvIHtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdG1pbi13aWR0aDozMDBweDtcblx0XHRcblx0XHQmOjotd2Via2l0LW1lZGlhLWNvbnRyb2xzLXBsYXktYnV0dG9uLFxuXHRcdCY6Oi13ZWJraXQtbWVkaWEtY29udHJvbHMtbXV0ZS1idXR0b24ge1xuXHRcdFx0b3BhY2l0eToxO1xuXHRcdFx0Y3Vyc29yOnBvaW50ZXI7XG5cdFx0XHQudHJhbnMofidvcGFjaXR5IC4zcyBlYXNlLWluLW91dCcpO1xuXHRcdFx0XG5cdFx0XHQmOmhvdmVyIHtcblx0XHRcdFx0b3BhY2l0eTowLjU7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqID09PSBDb3ZlciA9PT0gKi9cbi53cC1ibG9jay1jb3Zlcixcbi53cC1ibG9jay1jb3Zlci1pbWFnZSB7XG5cdG1hcmdpbjowIDAgQGxpbmVfaGVpZ2h0X3BhZDtcblx0cGFkZGluZzoxMHB4IDMwcHg7XG5cdFxuXHQmLmFsaWdubGVmdCB7XG5cdFx0bWFyZ2luLWxlZnQ6MDtcblx0XHRtYXJnaW4tcmlnaHQ6MmVtO1xuXHR9XG5cdFxuXHQmLmFsaWducmlnaHQge1xuXHRcdG1hcmdpbi1sZWZ0OjJlbTtcblx0XHRtYXJnaW4tcmlnaHQ6MDtcblx0fVxuXHRcblx0aDIsXG5cdC53cC1ibG9jay1jb3Zlci10ZXh0LFxuXHQud3AtYmxvY2stY292ZXItaW1hZ2UtdGV4dCB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzowO1xuXHRcdFxuXHRcdHN0cm9uZyB7XG5cdFx0XHRmb250LXdlaWdodDpib2xkZXI7XG5cdFx0fVxuXHR9XG59XG5cbi53cC1ibG9jay1jb3Zlci1pbWFnZS5hbGlnbmxlZnQsIFxuLndwLWJsb2NrLWNvdmVyLWltYWdlLmFsaWducmlnaHQsIFxuLndwLWJsb2NrLWNvdmVyLmFsaWdubGVmdCwgXG4ud3AtYmxvY2stY292ZXIuYWxpZ25yaWdodCwgXG5bZGF0YS1hbGlnbj1sZWZ0XSAud3AtYmxvY2stY292ZXIsIFxuW2RhdGEtYWxpZ249bGVmdF0gLndwLWJsb2NrLWNvdmVyLWltYWdlLCBcbltkYXRhLWFsaWduPXJpZ2h0XSAud3AtYmxvY2stY292ZXIsIFxuW2RhdGEtYWxpZ249cmlnaHRdIC53cC1ibG9jay1jb3Zlci1pbWFnZSB7XG5cdHdpZHRoOmF1dG87XG5cdG1heC13aWR0aDoxMDAlO1xufVxuXG5cbi8qKiA9PT0gRmlsZSA9PT0gKi9cbi53cC1ibG9jay1maWxlIHtcblx0bWFyZ2luOjAgMCBAbGluZV9oZWlnaHRfcGFkO1xuXHRcblx0PiBhOm5vdChbY2xhc3NdKSxcblx0LndwLWJsb2NrLWZpbGVfX3RleHRsaW5rIHtcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0XHRtYXJnaW46MCAyMHB4IDAgMDtcblx0XHRcblx0XHRbZGlyPXJ0bF0gJiB7XG5cdFx0XHRtYXJnaW4tbGVmdDoyMHB4O1xuXHRcdFx0bWFyZ2luLXJpZ2h0OjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQud3AtYmxvY2stZmlsZV9fYnV0dG9uLXJpY2h0ZXh0LXdyYXBwZXIge1xuXHRcdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbjowO1xuXHR9XG5cdFxuXHQud3AtYmxvY2stZmlsZV9fYnV0dG9uLFxuXHRhLndwLWJsb2NrLWZpbGVfX2J1dHRvbiB7XG5cdFx0LmRlZmF1bHRfYnV0dG9uKCk7XG5cdFx0LnRyYW5zKH4nY29sb3IgLjNzIGVhc2UtaW4tb3V0LCBiYWNrZ3JvdW5kLWNvbG9yIC4zcyBlYXNlLWluLW91dCwgYm9yZGVyLWNvbG9yIC4zcyBlYXNlLWluLW91dCcpO1xuXHRcdFxuXHRcdCYsXG5cdFx0Jjpob3Zlcixcblx0XHQmOmZvY3VzLFxuXHRcdCY6YWN0aXZlIHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0LmJkKDApO1xuXHRcdFx0LmJ4c2hfbm9uZTtcblx0XHRcdC5vcCgxKTtcblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqID09PSBWaWRlbyA9PT0gKi9cbi53cC1ibG9jay12aWRlbyB7XG5cdG1hcmdpbjowIDAgQGxpbmVfaGVpZ2h0X3BhZDtcblx0LnRhYztcblx0XG5cdHZpZGVvIHtcblx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcblx0fVxuXHRcblx0ZmlnY2FwdGlvbiB7XG5cdFx0bWFyZ2luOjA7XG5cdFx0cGFkZGluZzo2cHggMCAxNXB4O1xuXHRcdC50YWM7XG5cdH1cbn1cblxuXG4vKiogPT09IENvZGUgPT09ICovXG4ud3AtYmxvY2stY29kZSB7XG5cdGJhY2tncm91bmQtY29sb3I6dHJhbnNwYXJlbnQ7XG5cdGNvbG9yOmluaGVyaXQ7XG5cdGZvbnQtZmFtaWx5Om1vbm9zcGFjZTtcblx0Zm9udC1zaXplOmluaGVyaXQ7XG5cdGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG5cdGZvbnQtd2VpZ2h0OmluaGVyaXQ7XG5cdGZvbnQtc3R5bGU6aW5oZXJpdDtcblx0bGV0dGVyLXNwYWNpbmc6MXB4O1xuXHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cdC5iZCgwKTtcblx0LmJkcnMoMCk7XG5cdC5ieHNoX25vbmU7XG5cdFxuXHRjb2RlLFxuXHQuZWRpdG9yLXBsYWluLXRleHQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6aW5oZXJpdDtcblx0XHRjb2xvcjppbmhlcml0O1xuXHRcdGZvbnQtZmFtaWx5OmluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOmluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcblx0XHRmb250LXdlaWdodDppbmhlcml0O1xuXHRcdGZvbnQtc3R5bGU6aW5oZXJpdDtcblx0XHRsZXR0ZXItc3BhY2luZzppbmhlcml0O1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdH1cbn1cblxuXG4vKiogPT09IEN1c3RvbSBIVE1MID09PSAqL1xuLndwLWJsb2NrLWh0bWwge1xuXHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cdFxuXHQuZWRpdG9yLXBsYWluLXRleHQge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0Y29sb3I6aW5oZXJpdDtcblx0XHRmb250LWZhbWlseTppbmhlcml0O1xuXHRcdGZvbnQtc2l6ZTppbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG5cdFx0Zm9udC13ZWlnaHQ6aW5oZXJpdDtcblx0XHRmb250LXN0eWxlOmluaGVyaXQ7XG5cdH1cblx0XG5cdGlmcmFtZSB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0fVxufVxuXG5cbi8qKiA9PT0gUHJlZm9ybWF0dGVkID09PSAqL1xuLndwLWJsb2NrLXByZWZvcm1hdHRlZCB7XG5cdG1hcmdpbjowIDAgQGxpbmVfaGVpZ2h0X3BhZDtcblx0XG5cdHByZSB7XG5cdFx0Y29sb3I6aW5oZXJpdDtcblx0XHRmb250LWZhbWlseTptb25vc3BhY2U7XG5cdFx0Zm9udC1zaXplOmluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcblx0XHRmb250LXdlaWdodDppbmhlcml0O1xuXHRcdGZvbnQtc3R5bGU6aW5oZXJpdDtcblx0XHRsZXR0ZXItc3BhY2luZzoxcHg7XG5cdH1cbn1cblxuXG4vKiogPT09IFB1bGxxdW90ZSA9PT0gKi9cbi53cC1ibG9jay1wdWxscXVvdGUge1xuXHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cdHBhZGRpbmc6NTBweCAwO1xuXG5cdCYuYWxpZ25sZWZ0IHtcblx0XHRtYXJnaW4tcmlnaHQ6MmVtO1xuXHR9XG5cdFxuXHQmLmFsaWducmlnaHQge1xuXHRcdG1hcmdpbi1sZWZ0OjJlbTtcblx0fVxuXHRcblx0Jjpub3QoLmlzLXN0eWxlLXNvbGlkLWNvbG9yKSB7XG5cdFx0LmJkdCg0cHgpO1xuXHRcdC5iZGIoNHB4KTtcblx0fVxuXHRcblx0Ji5pcy1zdHlsZS1zb2xpZC1jb2xvciB7XG5cdFx0cGFkZGluZy1sZWZ0OjUwcHg7XG5cdFx0cGFkZGluZy1yaWdodDo1MHB4O1xuXHRcdFxuXHRcdGJsb2NrcXVvdGUge1xuXHRcdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0fVxuXHR9XG5cdFxuXHRibG9ja3F1b3RlLFxuXHQmLmFsaWdubGVmdCBibG9ja3F1b3RlLFxuXHQmLmFsaWducmlnaHQgYmxvY2txdW90ZSxcblx0Ji5pcy1zdHlsZS1zb2xpZC1jb2xvciBibG9ja3F1b3RlIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0aHlwaGVuczphdXRvO1xuXHRcdHdvcmQtYnJlYWs6YnJlYWstd29yZDtcblx0XHQuYmQoMCk7XG5cdFx0LnRhYztcblx0XHRcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50Om5vbmU7XG5cdFx0fVxuXHRcdFxuXHRcdCYsXG5cdFx0cCxcblx0XHQuZWRpdG9yLXJpY2gtdGV4dCBwLFxuXHRcdC5lZGl0b3ItcmljaC10ZXh0X190aW55bWNlLFxuXHRcdC5lZGl0b3ItcmljaC10ZXh0X190aW55bWNlIHAsXG5cdFx0Y2l0ZSxcblx0XHQud3AtYmxvY2stcHVsbHF1b3RlX19jaXRhdGlvbiB7XG5cdFx0XHRjb2xvcjppbmhlcml0O1xuXHRcdFx0Zm9udC1mYW1pbHk6aW5oZXJpdDtcblx0XHRcdGZvbnQtc2l6ZTppbmhlcml0O1xuXHRcdFx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcblx0XHRcdGZvbnQtd2VpZ2h0OmluaGVyaXQ7XG5cdFx0XHRmb250LXN0eWxlOmluaGVyaXQ7XG5cdFx0XHR0ZXh0LXRyYW5zZm9ybTppbmhlcml0O1xuXHRcdH1cblx0XHRcblx0XHRwOmxhc3Qtb2YtdHlwZSxcblx0XHQ+IC5lZGl0b3ItcmljaC10ZXh0IHA6bGFzdC1vZi10eXBlIHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdH1cblx0XHRcblx0XHRjaXRlLFxuXHRcdC53cC1ibG9jay1wdWxscXVvdGVfX2NpdGF0aW9uIHtcblx0XHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0XHRmb250LXN0eWxlOml0YWxpYztcblx0XHRcdG1hcmdpbi10b3A6MTVweDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiogPT09IFRhYmxlID09PSAqL1xuLndwLWJsb2NrLXRhYmxlIHtcblx0LmRlZmF1bHRfdGFibGUoKTtcblx0XG5cdC53cC1ibG9jay10YWJsZV9fY2VsbC1jb250ZW50IHtcblx0XHRjb2xvcjppbmhlcml0O1xuXHRcdGZvbnQtZmFtaWx5OmluaGVyaXQ7XG5cdFx0Zm9udC1zaXplOmluaGVyaXQ7XG5cdFx0bGluZS1oZWlnaHQ6aW5oZXJpdDtcblx0XHRmb250LXdlaWdodDppbmhlcml0O1xuXHRcdGZvbnQtc3R5bGU6aW5oZXJpdDtcblx0XHRwYWRkaW5nOjA7XG5cdH1cbn1cblxuXG4vKiogPT09IFZlcnNlID09PSAqL1xuLndwLWJsb2NrLXZlcnNlIHtcblx0bWFyZ2luOjAgMCBAbGluZV9oZWlnaHRfcGFkO1xuXHRwYWRkaW5nOjA7XG5cdFxuXHRwcmUge1xuXHRcdGNvbG9yOmluaGVyaXQ7XG5cdFx0Zm9udC1mYW1pbHk6bW9ub3NwYWNlO1xuXHRcdGZvbnQtc2l6ZTppbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG5cdFx0Zm9udC13ZWlnaHQ6aW5oZXJpdDtcblx0XHRmb250LXN0eWxlOmluaGVyaXQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6MXB4O1xuXHRcdHBhZGRpbmc6MDtcblx0fVxufVxuXG5cbi8qKiA9PT0gU3BhY2VyID09PSAqL1xuLndwLWJsb2NrLXNwYWNlciB7XG5cdGNsZWFyOmJvdGg7XG59XG5cblxuLyoqID09PSBCdXR0b24gPT09ICovXG4ud3AtYmxvY2stYnV0dG9uIHtcblx0ZGlzcGxheTpibG9jaztcblx0bWFyZ2luOjAgMCBAbGluZV9oZWlnaHRfcGFkO1xuXG5cdCYuYWxpZ25sZWZ0IHtcblx0XHRtYXJnaW4tcmlnaHQ6MmVtO1xuXHR9XG5cdFxuXHQmLmFsaWducmlnaHQge1xuXHRcdG1hcmdpbi1sZWZ0OjJlbTtcblx0fVxuXHRcblx0LndwLWJsb2NrLWJ1dHRvbl9fbGluayxcblx0Ji5pcy1zdHlsZS1vdXRsaW5lIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdC5kZWZhdWx0X2J1dHRvbigpO1xuXHRcdC50cmFucyh+J2NvbG9yIC4zcyBlYXNlLWluLW91dCwgYmFja2dyb3VuZC1jb2xvciAuM3MgZWFzZS1pbi1vdXQsIGJvcmRlci1jb2xvciAuM3MgZWFzZS1pbi1vdXQsIGJveC1zaGFkb3cgLjNzIGVhc2UtaW4tb3V0LCBib3JkZXItcmFkaXVzIC4zcyBlYXNlLWluLW91dCcpO1xuXHRcdFxuXHRcdCYgd2hlbiAoQGJ1dF9iZHJzX3dpZHRoID0gMCkge1xuXHRcdFx0LmJkcnMoNXB4KTtcblx0XHR9XG5cdFx0XG5cdFx0Jixcblx0XHQmOmhvdmVyLFxuXHRcdCY6Zm9jdXMsXG5cdFx0JjphY3RpdmUge1xuXHRcdFx0LmJ4c2hfbm9uZTtcblx0XHRcdFxuXHRcdFx0JjpiZWZvcmUsXG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0Y29udGVudDpub25lICFpbXBvcnRhbnQ7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cdFxuXHQmOm5vdCguaXMtc3R5bGUtb3V0bGluZSkgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0LmJkKDApO1xuXHR9XG5cdFxuXHQmLmlzLXN0eWxlLW91dGxpbmUgLndwLWJsb2NrLWJ1dHRvbl9fbGluayB7XG5cdFx0JiB3aGVuIChAYnV0X2JkX3dpZHRoID0gMCkge1xuXHRcdFx0LmJkKDFweCk7XG5cdFx0fVxuXHRcdFxuXHRcdCYuaGFzLXRleHQtY29sb3Ige1xuXHRcdFx0Ym9yZGVyLWNvbG9yOmN1cnJlbnRDb2xvciAhaW1wb3J0YW50O1xuXHRcdH1cblx0fVxuXHRcblx0Ji5pcy1zdHlsZS1zcXVhcmVkIC53cC1ibG9jay1idXR0b25fX2xpbmsge1xuXHRcdC5iZHJzKDApO1xuXHR9XG59XG5cblxuLyoqID09PSBDb2x1bW5zID09PSAqL1xuLndwLWJsb2NrLWNvbHVtbnMge1xuXHQud3AtYmxvY2stY29sdW1uIHtcblx0XHRtYXJnaW4tYm90dG9tOkBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0XG5cdFx0PiBwLFxuXHRcdC53cC1ibG9jay1wYXJhZ3JhcGgge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXG5cdFx0XHQmOm5vdCguaGFzLWJhY2tncm91bmQpIHtcblx0XHRcdFx0cGFkZGluZy1ib3R0b206MDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiogPT09IE1lZGlhIFRleHQgPT09ICovXG4ud3AtYmxvY2stbWVkaWEtdGV4dCB7XG5cdG1hcmdpbjowIDAgQGxpbmVfaGVpZ2h0X3BhZDtcblx0XG5cdEBtZWRpYSBAbW9uaXRvcl90YWJsZXRfNjAwIHtcblx0XHRkaXNwbGF5OmJsb2NrO1xuXHRcdFxuXHRcdC53cC1ibG9jay1tZWRpYS10ZXh0X19tZWRpYSB7XG5cdFx0XHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0fVxuXHRcdFxuXHRcdC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdH1cblx0XG5cdC53cC1ibG9jay1tZWRpYS10ZXh0X19jb250ZW50IHtcblx0XHRwOmxhc3Qtb2YtdHlwZSB7XG5cdFx0XHRtYXJnaW46MDtcblx0XHRcdHBhZGRpbmc6MDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiogPT09IFNlcGFyYXRvciA9PT0gKi9cbi53cC1ibG9jay1zZXBhcmF0b3Ige1xuXHQmLFxuXHQmLmlzLXN0eWxlLXdpZGUsXG5cdCYuaXMtc3R5bGUtZG90cyB7XG5cdFx0bWF4LXdpZHRoOjEwMCU7XG5cdFx0bWluLWhlaWdodDoxcHg7XG5cdFx0bWFyZ2luOihAbGluZV9oZWlnaHRfcGFkICogMikgYXV0bztcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHQuYmQoMCk7XG5cdH1cblx0XG5cdCY6YmVmb3JlIHtcblx0XHRjb250ZW50OicnO1xuXHRcdC5wb3NfYWJzKDMwJSwgMXB4KTtcblx0fVxuXHRcblx0Ji5pcy1zdHlsZS13aWRlOmJlZm9yZSB7XG5cdFx0d2lkdGg6MTAwJTtcblx0fVxuXHRcblx0Ji5pcy1zdHlsZS1kb3RzIHtcblx0XHRoZWlnaHQ6MTBweDtcblx0XHRsaW5lLWhlaWdodDoxMHB4O1xuXHRcdC50YWM7XG5cdFx0XG5cdFx0JjpiZWZvcmUge1xuXHRcdFx0Y29udGVudDpcIlxcMDBiNyBcXDAwYjcgXFwwMGI3XCI7XG5cdFx0XHRmb250LWZhbWlseTpzZXJpZjtcblx0XHRcdGZvbnQtc2l6ZTo0NXB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6MTBweDtcblx0XHRcdGxldHRlci1zcGFjaW5nOjEuNGVtO1xuXHRcdFx0d2lkdGg6MTAwJTtcblx0XHRcdGhlaWdodDoxMHB4O1xuXHRcdFx0cGFkZGluZzowIDAgMCAxLjRlbTtcblx0XHR9XG5cdH1cblxuXHQmOm5vdCguaXMtc3R5bGUtd2lkZSk6bm90KC5pcy1zdHlsZS1kb3RzKSB7XG5cdFx0bWF4LXdpZHRoOjEwMCU7XG5cdH1cbn1cblxuXG4vKiogPT09IEFyY2hpdmVzLCBDYXRlZ29yaWVzID09PSAqL1xudWwud3AtYmxvY2stYXJjaGl2ZXMsXG51bC53cC1ibG9jay1jYXRlZ29yaWVzLFxudWwud3AtYmxvY2stY2F0ZWdvcmllc19fbGlzdCB7XG5cdG1hcmdpbi1ib3R0b206QGxpbmVfaGVpZ2h0X3BhZDtcblx0cGFkZGluZzowO1xuXHRwb3NpdGlvbjpyZWxhdGl2ZTtcbn1cblxuZGl2LndwLWJsb2NrIHtcblx0dWwud3AtYmxvY2stYXJjaGl2ZXMsXG5cdHVsLndwLWJsb2NrLWNhdGVnb3JpZXMsXG5cdHVsLndwLWJsb2NrLWNhdGVnb3JpZXNfX2xpc3Qge1xuXHRcdG1hcmdpbi1ib3R0b206QGxpbmVfaGVpZ2h0X3BhZDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XG5cdFx0dWwge1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdFx0cGFkZGluZzpAZGVmYXVsdF9saXN0X3RvcF9wYWQgMCAwO1xuXHRcdH1cblx0fVxufVxuXG5kaXYud3AtYmxvY2stYXJjaGl2ZXMud3AtYmxvY2stYXJjaGl2ZXMtZHJvcGRvd24sXG5kaXYud3AtYmxvY2stY2F0ZWdvcmllcy53cC1ibG9jay1jYXRlZ29yaWVzLWRyb3Bkb3duIHtcblx0bWFyZ2luLWJvdHRvbTpAbGluZV9oZWlnaHRfcGFkO1xuXHRcblx0bGFiZWwge1xuXHRcdC5kbjtcblx0fVxufVxuXG5cbi8qKiA9PT0gTGF0ZXN0IFBvc3RzID09PSAqL1xuLndwLWJsb2NrLWxhdGVzdC1wb3N0cyB7XG5cdG1hcmdpbi1ib3R0b206QGxpbmVfaGVpZ2h0X3BhZDtcblx0cGFkZGluZzowO1xuXHRsaXN0LXN0eWxlLXR5cGU6bm9uZSAhaW1wb3J0YW50O1xuXHRcblx0dWwge1xuXHRcdGxpc3Qtc3R5bGUtdHlwZTpub25lICFpbXBvcnRhbnQ7XG5cdH1cblx0XG5cdGxpIHtcblx0XHQmOmJlZm9yZSB7XG5cdFx0XHRjb250ZW50Om5vbmUgIWltcG9ydGFudDtcblx0XHR9XG5cdH1cblx0XG5cdC53cC1ibG9jay1sYXRlc3QtcG9zdHNfX3Bvc3QtZGF0ZSB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRtYXJnaW46LTNweCAwIDA7XG5cdH1cblx0XG5cdCYuaXMtZ3JpZCB7XG5cdFx0bWFyZ2luLWxlZnQ6LUBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0bWFyZ2luLXJpZ2h0Oi1AbGluZV9oZWlnaHRfcGFkO1xuXHRcdG1hcmdpbi10b3A6LUBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0XG5cdFx0bGkge1xuXHRcdFx0bWFyZ2luLXRvcDpAbGluZV9oZWlnaHRfcGFkO1xuXHRcdFx0cGFkZGluZy1sZWZ0OkBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0XHRwYWRkaW5nLXJpZ2h0OkBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0XHRwYWRkaW5nLXRvcDowO1xuXHRcdH1cblx0fVxufVxuXG5kaXYud3AtYmxvY2sge1xuXHQud3AtYmxvY2stbGF0ZXN0LXBvc3RzIHtcblx0XHRtYXJnaW4tYm90dG9tOkBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0cGFkZGluZzowO1xuXHRcdFxuXHRcdHVsIHtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHRcdHBhZGRpbmc6QGRlZmF1bHRfbGlzdF90b3BfcGFkIDAgMDtcblx0XHR9XG5cdH1cbn1cblxuXG4vKiogPT09IExhdGVzdCBDb21tZW50cyA9PT0gKi9cbi53cC1ibG9jay1sYXRlc3QtY29tbWVudHMge1xuXHRsaXN0LXN0eWxlOm5vbmU7XG5cdG1hcmdpbi1ib3R0b206QGxpbmVfaGVpZ2h0X3BhZDtcblx0XG5cdC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQge1xuXHRcdG1pbi1oZWlnaHQ6YXV0bztcblx0XHRtYXJnaW46MjVweCAwIDA7XG5cdFx0cGFkZGluZzowO1xuXHRcdC5vdmg7XG5cdFx0XG5cdFx0JjpmaXJzdC1jaGlsZCB7XG5cdFx0XHRtYXJnaW46MDtcblx0XHR9XG5cdH1cblx0XG5cdCYuaGFzLWF2YXRhcnMgLndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudCB7XG5cdFx0bWluLWhlaWdodDo0OHB4O1xuXHR9XG5cdFxuXHQud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LWF2YXRhciB7XG5cdFx0d2lkdGg6NDhweDtcblx0XHRoZWlnaHQ6NDhweDtcblx0XHRtYXJnaW46MCAxN3B4IDAgMDtcblx0XHQuZmw7XG5cdFx0LmJkcnMoNTAlKTtcblx0XHRcblx0XHRbZGlyPXJ0bF0gJiB7XG5cdFx0XHRtYXJnaW46MCAwIDAgMTdweDtcblx0XHRcdC5mcjtcblx0XHR9XG5cdH1cblx0XG5cdGFydGljbGUge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0cGFkZGluZzowIDAgMCAzcHg7XG5cdFx0Lm92aDtcblx0XHRcblx0XHRbZGlyPXJ0bF0gJiB7XG5cdFx0XHRtYXJnaW46MCAzcHggMCAwO1xuXHRcdH1cblx0fVxuXHRcblx0Ji5oYXMtYXZhdGFycyAud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LW1ldGEsXG5cdC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtbWV0YSB7XG5cdFx0bWFyZ2luOjA7XG5cdH1cblx0XG5cdC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtZGF0ZSB7XG5cdFx0bWFyZ2luOi0zcHggMCAwO1xuXHR9XG5cdFxuXHQmLmhhcy1hdmF0YXJzIC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtZXhjZXJwdCxcblx0LndwLWJsb2NrLWxhdGVzdC1jb21tZW50c19fY29tbWVudC1leGNlcnB0IHtcblx0XHRtYXJnaW46NXB4IDAgMDtcblx0XHRcblx0XHRwIHtcblx0XHRcdG1hcmdpbjowO1xuXHRcdFx0cGFkZGluZzowIDAgMjBweDtcblx0XHR9XG5cdFx0XG5cdFx0PiAqOmxhc3QtY2hpbGQge1xuXHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRwYWRkaW5nOjA7XG5cdFx0fVxuXHR9XG5cdFxuXHQmLmFsaWduY2VudGVyIHtcblx0XHQud3AtYmxvY2stbGF0ZXN0LWNvbW1lbnRzX19jb21tZW50LWF2YXRhciB7XG5cdFx0XHRtYXJnaW46MCBhdXRvIDEwcHg7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdH1cblx0XHRcblx0XHRhcnRpY2xlIHtcblx0XHRcdHBhZGRpbmc6MCAzcHg7XG5cdFx0fVxuXHRcdFxuXHRcdC53cC1ibG9jay1sYXRlc3QtY29tbWVudHNfX2NvbW1lbnQtZXhjZXJwdCB7XG5cdFx0XHQudGFjO1xuXHRcdH1cblx0fVxufVxuXG5cbi8qKiA9PT0gQ2xhc3NpYyBFZGl0b3IgPT09ICovXG4ud3AtY2FwdGlvbiB7XG5cdGRkIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjEwcHggNXB4O1xuXHRcdC50YWM7XG5cdH1cbn1cblxuZGl2LndwLWJsb2NrIC53cC1ibG9jay1mcmVlZm9ybS5ibG9jay1saWJyYXJ5LXJpY2gtdGV4dF9fdGlueW1jZSB7XG5cdGgxLFxuXHRoMixcblx0aDMsXG5cdGg0LFxuXHRoNSxcblx0aDYge1xuXHRcdGEge1xuXHRcdFx0Y29sb3I6aW5oZXJpdDtcblx0XHR9XG5cdH1cbn1cblxuLndwLWJsb2NrLWZyZWVmb3JtIHtcblx0Ji5tY2UtY29udGVudC1ib2R5IHtcblx0XHQ+IHAge1xuXHRcdFx0bWFyZ2luLXRvcDowO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdFx0cGFkZGluZy1ib3R0b206QGxpbmVfaGVpZ2h0X3BhZDtcblx0XHR9XG5cdFx0XG5cdFx0PiBoMSxcblx0XHQ+IGgyLFxuXHRcdD4gaDMsXG5cdFx0PiBoNCxcblx0XHQ+IGg1LFxuXHRcdD4gaDYsXG5cdFx0PiB0YWJsZSxcblx0XHQ+IGJsb2NrcXVvdGUsXG5cdFx0PiB1bCxcblx0XHQ+IG9sLFxuXHRcdD4gcHJlLFxuXHRcdD4gYWRkcmVzcyB7XG5cdFx0XHRtYXJnaW4tdG9wOjA7XG5cdFx0XHRtYXJnaW4tYm90dG9tOkBsaW5lX2hlaWdodF9wYWQ7XG5cdFx0fVxuXHRcdFxuXHRcdD4gZGwge1xuXHRcdFx0bWFyZ2luLXRvcDowO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTowO1xuXHRcdH1cblxuXHRcdC5hbGlnbmxlZnQsXG5cdFx0LmFsaWducmlnaHQsXG5cdFx0LmFsaWduY2VudGVyLFxuXHRcdC5hbGlnbm5vbmUge1xuXHRcdFx0bWFyZ2luLXRvcDowO1xuXHRcdFx0bWFyZ2luLWJvdHRvbToyMnB4O1xuXHRcdH1cblx0fVxuXHRcblx0YWJicixcblx0YWNyb255bSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcblx0fVxuXHRcblx0cHJlLFxuXHRjb2RlLFxuXHR0dCxcblx0a2JkLFxuXHRzYW1wIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOnRyYW5zcGFyZW50O1xuXHRcdGNvbG9yOmluaGVyaXQ7XG5cdFx0Zm9udC1mYW1pbHk6bW9ub3NwYWNlO1xuXHRcdGZvbnQtc2l6ZTppbmhlcml0O1xuXHRcdGxpbmUtaGVpZ2h0OmluaGVyaXQ7XG5cdFx0Zm9udC13ZWlnaHQ6aW5oZXJpdDtcblx0XHRmb250LXN0eWxlOmluaGVyaXQ7XG5cdFx0bGV0dGVyLXNwYWNpbmc6MXB4O1xuXHRcdG1hcmdpbjowO1xuXHRcdHBhZGRpbmc6MDtcblx0fVxuXHRcblx0ZGwge1xuXHRcdG1heC13aWR0aDoxMDAlO1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHR9XG5cdFxuXHRkdCB7XG5cdFx0ZGlzcGxheTpibG9jaztcblx0XHRmb250LXdlaWdodDpib2xkO1xuXHRcdG92ZXJmbG93OmhpZGRlbjtcblx0fVxuXHRcblx0ZGQge1xuXHRcdGRpc3BsYXk6YmxvY2s7XG5cdFx0b3ZlcmZsb3c6aGlkZGVuO1xuXHRcdG1hcmdpbjowIDAgQGxpbmVfaGVpZ2h0X3BhZDtcblx0fVxuXHRcblx0aHIge1xuXHRcdG1hcmdpbjooQGxpbmVfaGVpZ2h0X3BhZCAqIDIpIDA7XG5cdFx0LmJkdCgwKTtcblx0XHQuYmRiO1xuXHR9XG5cdFxuXHRibG9ja3F1b3RlIHtcblx0XHRtYXJnaW46MDtcblx0XHRwYWRkaW5nOjA7XG5cdFx0LmJkKDApO1xuXHRcdC5iZHJzKDApO1xuXHRcdC5ieHNoX25vbmU7XG5cdFx0LmRlZmF1bHRfYmxvY2txdW90ZSgpO1xuXHRcdFxuXHRcdGNpdGUge1xuXHRcdFx0ZGlzcGxheTpibG9jaztcblx0XHR9XG5cdH1cblx0XG5cdC5tY2UtaXRlbS10YWJsZSxcblx0dGFibGUge1xuXHRcdHRoIHtcblx0XHRcdGZvbnQtd2VpZ2h0OmluaGVyaXQ7XG5cdFx0XHQudGFsO1xuXHRcdFx0XG5cdFx0XHRbZGlyPXJ0bF0gJiB7XG5cdFx0XHRcdC50YXI7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdC5kZWZhdWx0X3RhYmxlKCk7XG5cdH1cblx0XG5cdC5nYWxsZXJ5IHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRtYXJnaW46MCAtQGNvbF9tYXIgMjBweDtcblx0XHRcblx0XHQmOmFmdGVyIHtcblx0XHRcdC5jbF9hZnRlcjtcblx0XHR9XG5cdFx0XG5cdFx0aW1nIHtcblx0XHRcdHdpZHRoOjEwMCU7XG5cdFx0XHRib3JkZXI6bm9uZTtcblx0XHR9XG5cdFx0XG5cdFx0LmdhbGxlcnktaXRlbSB7XG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRcdGZsb2F0OmxlZnQ7XG5cdFx0XHRtYXJnaW46MCBAY29sX21hciAyMHB4O1xuXHRcdFx0XG5cdFx0XHQmOmFmdGVyIHtcblx0XHRcdFx0LmNsX2FmdGVyO1xuXHRcdFx0fVxuXHRcdFx0XG5cdFx0XHQud3AtY2FwdGlvbi10ZXh0IHtcblx0XHRcdFx0bWFyZ2luOjA7XG5cdFx0XHRcdHBhZGRpbmc6MTBweCA1cHg7XG5cdFx0XHRcdC50YWM7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgxMDAlIC0gKEBjb2xfbWFyICogMiksIDMpO1xuXHRcdFx0cG9zaXRpb246cmVsYXRpdmU7XG5cdFx0XHRmbG9hdDpub25lO1xuXHRcdFx0LmNsO1xuXHRcdH1cblx0XHRcblx0XHQmLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyAyKSAtIChAY29sX21hciAqIDIpLCAzKTtcblx0XHRcdFxuXHRcdFx0JjpudGgtY2hpbGQoMm4rMSkge1xuXHRcdFx0XHQuY2w7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDMpIC0gKEBjb2xfbWFyICogMiksIDMpO1xuXHRcdFx0XG5cdFx0XHQmOm50aC1jaGlsZCgzbisxKSB7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gNCkgLSAoQGNvbF9tYXIgKiAyKSwgMyk7XG5cdFx0XHRcblx0XHRcdCY6bnRoLWNoaWxkKDRuKzEpIHtcblx0XHRcdFx0LmNsO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyA1KSAtIChAY29sX21hciAqIDIpLCAzKTtcblx0XHRcdFxuXHRcdFx0JjpudGgtY2hpbGQoNW4rMSkge1xuXHRcdFx0XHQuY2w7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDYpIC0gKEBjb2xfbWFyICogMiksIDMpO1xuXHRcdFx0XG5cdFx0XHQmOm50aC1jaGlsZCg2bisxKSB7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHR9XG5cdFx0XG5cdFx0Ji5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcblx0XHRcdHdpZHRoOnJvdW5kKCgxMDAlIC8gNykgLSAoQGNvbF9tYXIgKiAyKSwgMyk7XG5cdFx0XHRcblx0XHRcdCY6bnRoLWNoaWxkKDduKzEpIHtcblx0XHRcdFx0LmNsO1xuXHRcdFx0fVxuXHRcdH1cblx0XHRcblx0XHQmLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuXHRcdFx0d2lkdGg6cm91bmQoKDEwMCUgLyA4KSAtIChAY29sX21hciAqIDIpLCAzKTtcblx0XHRcdFxuXHRcdFx0JjpudGgtY2hpbGQoOG4rMSkge1xuXHRcdFx0XHQuY2w7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdFxuXHRcdCYuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG5cdFx0XHR3aWR0aDpyb3VuZCgoMTAwJSAvIDkpIC0gKEBjb2xfbWFyICogMiksIDMpO1xuXHRcdFx0XG5cdFx0XHQmOm50aC1jaGlsZCg5bisxKSB7XG5cdFx0XHRcdC5jbDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKiogPT09IFZpbWVvIEJsb2NrID09PSAqL1xuLndwLWJsb2NrLWVtYmVkLXZpbWVvIHtcblx0LndwLWJsb2NrLWVtYmVkX193cmFwcGVyIHtcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcblx0XHRtYXgtd2lkdGg6MTAwJTtcblx0XHR3aWR0aDoxMDAlO1xuXHRcdGhlaWdodDowO1xuXHRcdHBhZGRpbmctYm90dG9tOkByZXNwX2Jsb2Nrc19wYWQ7XG5cdFx0bWFyZ2luLWJvdHRvbTpAbGluZV9oZWlnaHRfcGFkO1xuXHRcdC5vdmg7XG5cdFxuXHRcdGlmcmFtZSB7XG5cdFx0XHR3aWR0aDoxMDAlO1xuXHRcdFx0bWF4LXdpZHRoOmF1dG87XG5cdFx0XHRoZWlnaHQ6MTAwJTtcblx0XHRcdG1hcmdpbi1ib3R0b206MDtcblx0XHRcdHBvc2l0aW9uOmFic29sdXRlO1xuXHRcdFx0bGVmdDowO1xuXHRcdFx0dG9wOjA7XG5cdFx0fVxuXHR9XG59XG5cbn1cbiIsIlxyXG5AaW5wdXRfcGFkOiAxMHB4O1xyXG5AaW5wdXRfaGVpZ2h0OiA0MnB4O1xyXG5cclxuQGxpbmVfaGVpZ2h0X3BhZDogMjJweDtcclxuQGRlZmF1bHRfbGlzdF90b3BfcGFkOiAxMHB4O1xyXG5AZGVmYXVsdF9saXN0X2xlZnRfcGFkOiAyMHB4O1xyXG5AYmxvY2tzX2hvcl9wYWQ6IDIwcHg7XHJcbkBjb250X3NpZGViYXJfcGFkOiA0MHB4O1xyXG5AY29udF92ZXJ0X3BhZDogNjBweDtcclxuXHJcbkBiZHJzX3dpZHRoOiA0cHg7XHJcblxyXG5AYnV0X2JkcnNfd2lkdGg6IDIycHg7XHJcbkBidXRfYmRfd2lkdGg6IDFweDtcclxuXHJcbkBjb2xfbWFyOiAxLjclO1xyXG5cclxuQHJlc3BfYmxvY2tzX3BhZDogNTguMTQlO1xyXG5cclxuQHByZWxvYWRlcl9ibG9nX2RlZmF1bHRfcGFkOiA1OC4xNCU7XHJcbkBwcmVsb2FkZXJfYmxvZ19tYXNvbnJ5X3BhZDogNzIuNDElO1xyXG5AcHJlbG9hZGVyX2Jsb2dfdGltZWxpbmVfcGFkOiA1OC4xNCU7XHJcbkBwcmVsb2FkZXJfb3Blbl9wb3N0X3BhZDogNTguMTQlO1xyXG5AcHJlbG9hZGVyX3BvcnRmb2xpb19ncmlkX3BhZDogMTAwJTtcclxuQHByZWxvYWRlcl9vcGVuX3Byb2plY3RfcGFkOiA1OC4xNCU7XHJcbkBwcmVsb2FkZXJfcG9zdHNfc2xpZGVyX3BhZDogNzIuNDElO1xyXG5AcHJlbG9hZGVyX2FyY2hpdmVzX3BhZDogMTAwJTtcclxuXHJcbkBzaWRlYmFyX3dpZHRoOiAyNiU7XHJcbkBjb250ZW50X3dpZHRoOiAxMDAlIC0gQHNpZGViYXJfd2lkdGg7XHJcblxyXG5AbWlkX25hdl9kcm9wZG93bl93aWR0aDogMTg0cHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3BhZF90b3A6IDEwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3BhZF9ib3Q6IDEwcHg7XHJcbkBtaWRfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AbWlkX25hdl9kcm9wZG93bl92ZXJ0X21hcl9lbmQ6IDFweDtcclxuQG1pZF9uYXZfZHJvcGRvd25faG9yX21hcl9zdGFydDogMjBweDtcclxuQG1pZF9uYXZfZHJvcGRvd25faG9yX21hcl9lbmQ6IDEycHg7XHJcblxyXG5AYm90X25hdl9kcm9wZG93bl93aWR0aDogMTg0cHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3BhZF90b3A6IDEwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3BhZF9ib3Q6IDEwcHg7XHJcbkBib3RfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AYm90X25hdl9kcm9wZG93bl92ZXJ0X21hcl9lbmQ6IDFweDtcclxuQGJvdF9uYXZfZHJvcGRvd25faG9yX21hcl9zdGFydDogMjBweDtcclxuQGJvdF9uYXZfZHJvcGRvd25faG9yX21hcl9lbmQ6IDEycHg7XHJcblxyXG5AdG9wX25hdl9kcm9wZG93bl93aWR0aDogMTI2cHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3BhZF90b3A6IDEwcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3BhZF9ib3Q6IDEwcHg7XHJcbkB0b3BfbmF2X2Ryb3Bkb3duX3ZlcnRfbWFyX3N0YXJ0OiAyMHB4O1xyXG5AdG9wX25hdl9kcm9wZG93bl92ZXJ0X21hcl9lbmQ6IDFweDtcclxuQHRvcF9uYXZfZHJvcGRvd25faG9yX21hcl9zdGFydDogMjBweDtcclxuQHRvcF9uYXZfZHJvcGRvd25faG9yX21hcl9lbmQ6IDFweDtcclxuXHJcbkBjb250X3dpZHRoX2RlZjogOTgwcHg7XHJcbkBjb250X3dpZHRoX2xhcmdlOiAxMjAwcHg7XHJcbkBjb250X3dpZHRoX2Z1bGw6IDEwMCU7XHJcbkBjb250X3dpZHRoX21pbjogMzIwcHg7XHJcblxyXG5AaW5wdXRfdGV4dDogZSgnaW5wdXQ6bm90KFt0eXBlPWJ1dHRvbl0pOm5vdChbdHlwZT1jaGVja2JveF0pOm5vdChbdHlwZT1maWxlXSk6bm90KFt0eXBlPWhpZGRlbl0pOm5vdChbdHlwZT1pbWFnZV0pOm5vdChbdHlwZT1yYWRpb10pOm5vdChbdHlwZT1yZXNldF0pOm5vdChbdHlwZT1zdWJtaXRdKTpub3QoW3R5cGU9Y29sb3JdKTpub3QoW3R5cGU9cmFuZ2VdKScpO1xyXG5cclxuQG1vbml0b3JfbGFyZ2U6IH4nKG1pbi13aWR0aDogMTQ0MHB4KSc7XHJcbkBtb25pdG9yX21lZGl1bTogficobWluLXdpZHRoOiAxMDI1cHgpJztcclxuQG1vbml0b3JfdGFibGV0OiB+JyhtYXgtd2lkdGg6IDEwMjRweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfOTUwOiB+JyhtYXgtd2lkdGg6IDk1MHB4KSc7XHJcbkBtb25pdG9yX3RhYmxldF9zbWFsbDogficobWF4LXdpZHRoOiA3NjhweCknO1xyXG5AbW9uaXRvcl90YWJsZXRfNjAwOiB+JyhtYXgtd2lkdGg6IDYwMHB4KSc7XHJcbkBtb25pdG9yX3Bob25lOiB+JyhtYXgtd2lkdGg6IDU0MHB4KSc7XHJcbkBtb25pdG9yX3Bob25lX3NtYWxsOiB+JyhtYXgtd2lkdGg6IDMyMHB4KSc7XHJcblxyXG5cclxuXHJcbi5mbCAoKSB7XHJcblx0ZmxvYXQ6bGVmdDtcclxufVxyXG5cclxuLmZyICgpIHtcclxuXHRmbG9hdDpyaWdodDtcclxufVxyXG5cclxuLmRuICgpIHtcclxuXHRkaXNwbGF5Om5vbmU7XHJcbn1cclxuXHJcbi50YWwgKCkge1xyXG5cdHRleHQtYWxpZ246bGVmdDtcclxufVxyXG5cclxuLnRhYyAoKSB7XHJcblx0dGV4dC1hbGlnbjpjZW50ZXI7XHJcbn1cclxuXHJcbi50YXIgKCkge1xyXG5cdHRleHQtYWxpZ246cmlnaHQ7XHJcbn1cclxuXHJcbi5jbCAoKSB7XHJcblx0Y2xlYXI6Ym90aDtcclxufVxyXG5cclxuLm92aCAoKSB7XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4ubTBhICgpIHtcclxuXHRtYXJnaW46MCBhdXRvO1xyXG59XHJcblxyXG4uYmQgKEB3OjFweDsgQHQ6c29saWQpIHtcclxuXHRib3JkZXItd2lkdGg6QHc7XHJcblx0Ym9yZGVyLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmR0IChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAdztcclxuXHRib3JkZXItdG9wLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmRiIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLWJvdHRvbS13aWR0aDpAdztcclxuXHRib3JkZXItYm90dG9tLXN0eWxlOkB0O1xyXG59XHJcblxyXG4uYmRyIChAdzoxcHg7IEB0OnNvbGlkKSB7XHJcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1yaWdodC1zdHlsZTpAdDtcclxufVxyXG5cclxuLmJkbCAoQHc6MXB4OyBAdDpzb2xpZCkge1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOkB0O1xyXG59XHJcblxyXG4uY29sb3Jfd2hpdGVfb3BhY2l0eSAoQG9wOi41KSB7XHJcblx0Y29sb3I6cmdiYSgyNTUsIDI1NSwgMjU1LCBAb3ApO1xyXG59XHJcblxyXG4uYmdfd2hpdGVfb3BhY2l0eSAoQG9wOi41KSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjpyZ2JhKDI1NSwgMjU1LCAyNTUsIEBvcCk7XHJcbn1cclxuXHJcbi5mdWxsd2lkdGhfaW5fYmxvY2sgKCkge1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0aGVpZ2h0OjEwMCU7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0dG9wOjA7XHJcblx0bGVmdDowO1xyXG59XHJcblxyXG4ub3AgKEBvcDouNSkge1xyXG5cdG9wYWNpdHk6QG9wO1xyXG59XHJcblxyXG4uZGlzcGxheV9mbGV4ICgpIHtcclxuXHRkaXNwbGF5Oi13ZWJraXQtZmxleDtcclxuXHRkaXNwbGF5Oi1tb3otZmxleDtcclxuXHRkaXNwbGF5Oi1tcy1mbGV4O1xyXG5cdGRpc3BsYXk6ZmxleDtcclxufVxyXG5cclxuLmRpc3BsYXlfaW5saW5lX2ZsZXggKCkge1xyXG5cdGRpc3BsYXk6LXdlYmtpdC1pbmxpbmUtZmxleDtcclxuXHRkaXNwbGF5Oi1tb3otaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTotbXMtaW5saW5lLWZsZXg7XHJcblx0ZGlzcGxheTppbmxpbmUtZmxleDtcclxufVxyXG5cclxuLmZsZXhfZGlyZWN0aW9uIChAZDpyb3cpIHtcclxuXHQtd2Via2l0LWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdC1tb3otZmxleC1kaXJlY3Rpb246QGQ7XHJcblx0LW1zLWZsZXgtZGlyZWN0aW9uOkBkO1xyXG5cdGZsZXgtZGlyZWN0aW9uOkBkO1xyXG59XHJcblxyXG4uZmxleF93cmFwIChAZDpub3dyYXApIHtcclxuXHQtd2Via2l0LWZsZXgtd3JhcDpAZDtcclxuXHQtbW96LWZsZXgtd3JhcDpAZDtcclxuXHQtbXMtZmxleC13cmFwOkBkO1xyXG5cdGZsZXgtd3JhcDpAZDtcclxufVxyXG5cclxuLmp1c3RpZnlfY29udGVudCAoQGQ6ZmxleC1zdGFydCkge1xyXG5cdC13ZWJraXQtanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdC1tb3otanVzdGlmeS1jb250ZW50OkBkO1xyXG5cdC1tcy1qdXN0aWZ5LWNvbnRlbnQ6QGQ7XHJcblx0anVzdGlmeS1jb250ZW50OkBkO1xyXG59XHJcblxyXG4uYWxpZ25faXRlbXMgKEBkOnN0cmV0Y2gpIHtcclxuXHQtd2Via2l0LWFsaWduLWl0ZW1zOkBkO1xyXG5cdC1tb3otYWxpZ24taXRlbXM6QGQ7XHJcblx0LW1zLWFsaWduLWl0ZW1zOkBkO1xyXG5cdGFsaWduLWl0ZW1zOkBkO1xyXG59XHJcblxyXG4uYWxpZ25fY29udGVudCAoQGQ6c3RyZXRjaCkge1xyXG5cdC13ZWJraXQtYWxpZ24tY29udGVudDpAZDtcclxuXHQtbW96LWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0LW1zLWFsaWduLWNvbnRlbnQ6QGQ7XHJcblx0YWxpZ24tY29udGVudDpAZDtcclxufVxyXG5cclxuLmNsX2FmdGVyICgpIHtcclxuXHRjb250ZW50OicuJztcclxuXHRkaXNwbGF5OmJsb2NrO1xyXG5cdGNsZWFyOmJvdGg7XHJcblx0aGVpZ2h0OjA7XHJcblx0dmlzaWJpbGl0eTpoaWRkZW47XHJcblx0b3ZlcmZsb3c6aGlkZGVuO1xyXG59XHJcblxyXG4udmFsaWduX2FmdGVyICgpIHtcclxuXHRjb250ZW50OicnO1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcclxuXHRoZWlnaHQ6MTAwJTtcclxufVxyXG5cclxuLnBvc19hYnMgKEB3OjFlbTsgQGg6MWVtOyBAbDowOyBAcjowOyBAdDowOyBAYjowKSB7XHJcblx0d2lkdGg6QHc7XHJcblx0aGVpZ2h0OkBoO1xyXG5cdG1hcmdpbjphdXRvICFpbXBvcnRhbnQ7XHJcblx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0bGVmdDpAbDtcclxuXHRyaWdodDpAcjtcclxuXHR0b3A6QHQ7XHJcblx0Ym90dG9tOkBiO1xyXG59XHJcblxyXG4uYmRieCAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XHJcblx0LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7XHJcblx0Ym94LXNpemluZzpib3JkZXItYm94O1xyXG59XHJcblxyXG4uY3RieCAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2l6aW5nOmNvbnRlbnQtYm94O1xyXG5cdC1tb3otYm94LXNpemluZzpjb250ZW50LWJveDtcclxuXHRib3gtc2l6aW5nOmNvbnRlbnQtYm94O1xyXG59XHJcblxyXG4uYmRycyAoQHJhZGl1czpAYmRyc193aWR0aCkge1xyXG5cdC13ZWJraXQtYm9yZGVyLXJhZGl1czpAcmFkaXVzO1xyXG5cdGJvcmRlci1yYWRpdXM6QHJhZGl1cztcclxufVxyXG5cclxuLmJ4c2ggKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6QHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoX3doaXRlIChAeDowOyBAeTowOyBAYmx1cjo1cHg7IEBzcHJlZDowOyBAYWxwaGE6LjA1KSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93OkB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDI1NSwgMjU1LCAyNTUsIEBhbHBoYSk7XHJcblx0Ym94LXNoYWRvdzpAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG59XHJcblxyXG4uYnhzaGkgKEB4OjA7IEB5OjA7IEBibHVyOjVweDsgQHNwcmVkOjA7IEBhbHBoYTouMDUpIHtcclxuXHQtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMCwgMCwgMCwgQGFscGhhKTtcclxuXHRib3gtc2hhZG93Omluc2V0IEB4IEB5IEBibHVyIEBzcHJlZCByZ2JhKDAsIDAsIDAsIEBhbHBoYSk7XHJcbn1cclxuXHJcbi5ieHNoaV93aGl0ZSAoQHg6MDsgQHk6MDsgQGJsdXI6NXB4OyBAc3ByZWQ6MDsgQGFscGhhOi4wNSkge1xyXG5cdC13ZWJraXQtYm94LXNoYWRvdzppbnNldCBAeCBAeSBAYmx1ciBAc3ByZWQgcmdiYSgyNTUsIDI1NSwgMjU1LCBAYWxwaGEpO1xyXG5cdGJveC1zaGFkb3c6aW5zZXQgQHggQHkgQGJsdXIgQHNwcmVkIHJnYmEoMjU1LCAyNTUsIDI1NSwgQGFscGhhKTtcclxufVxyXG5cclxuLmJ4c2hfbm9uZSAoKSB7XHJcblx0LXdlYmtpdC1ib3gtc2hhZG93Om5vbmU7XHJcblx0Ym94LXNoYWRvdzpub25lO1xyXG59XHJcblxyXG4udHJhbnMoQHRyYW5zOjApIHdoZW4gbm90IChAdHJhbnMgPSAwKSB7XHJcbiAgICAtd2Via2l0LXRyYW5zaXRpb246QHRyYW5zO1xyXG4gICAgLW1vei10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIC1tcy10cmFuc2l0aW9uOkB0cmFucztcclxuICAgIC1vLXRyYW5zaXRpb246QHRyYW5zO1xyXG4gICAgdHJhbnNpdGlvbjpAdHJhbnM7XHJcbn1cclxuXHJcbi5hcnJvd190b3AgKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLXRvcDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tLXdpZHRoOkBoO1xyXG5cdGJvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19ib3R0b20gKEBoOjVweDsgQHc6NXB4KSB7XHJcblx0Ym9yZGVyLWJvdHRvbTowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wLXdpZHRoOkBoO1xyXG5cdGJvcmRlci10b3Atc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19sZWZ0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1sZWZ0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTpAdyBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1yaWdodC13aWR0aDpAaDtcclxuXHRib3JkZXItcmlnaHQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd19yaWdodCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci10b3A6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tOkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWxlZnQtd2lkdGg6QGg7XHJcblx0Ym9yZGVyLWxlZnQtc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5hcnJvd190b3BfbGVmdCAoQGg6NXB4OyBAdzo1cHgpIHtcclxuXHRib3JkZXItcmlnaHQ6QHcgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLWJvdHRvbTowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcC13aWR0aDpAaDtcclxuXHRib3JkZXItdG9wLXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfdG9wX3JpZ2h0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1ib3R0b206QGggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItdG9wOjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItbGVmdDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1yaWdodC1zdHlsZTpzb2xpZDtcclxufVxyXG5cclxuLmFycm93X2JvdHRvbV9sZWZ0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci10b3A6QGggc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItcmlnaHQ6MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1ib3R0b206MCBzb2xpZCB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdGJvcmRlci1sZWZ0LXdpZHRoOkB3O1xyXG5cdGJvcmRlci1sZWZ0LXN0eWxlOnNvbGlkO1xyXG59XHJcblxyXG4uYXJyb3dfYm90dG9tX3JpZ2h0IChAaDo1cHg7IEB3OjVweCkge1xyXG5cdGJvcmRlci1sZWZ0OkB3IHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXRvcDowIHNvbGlkIHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XHJcblx0Ym9yZGVyLXJpZ2h0OjAgc29saWQgdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcclxuXHRib3JkZXItYm90dG9tLXdpZHRoOkBoO1xyXG5cdGJvcmRlci1ib3R0b20tc3R5bGU6c29saWQ7XHJcbn1cclxuXHJcbi5kZWZhdWx0X2xpc3QgKEB3OjRweDsgQGg6NHB4OyBAbTowIDEwcHggMCAwOyBAYmRyczo1MCUpIHtcclxuXHRsaXN0LXN0eWxlLXR5cGU6bm9uZTtcclxuXHRcclxuXHQ+IGxpIHtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdFxyXG5cdFx0JjpiZWZvcmUge1xyXG5cdFx0XHRjb250ZW50OidcXGViMjInO1xyXG5cdFx0XHRmb250LWZhbWlseTonZm9udGVsbG8nO1xyXG5cdFx0XHRmb250LXN0eWxlOm5vcm1hbDtcclxuXHRcdFx0Zm9udC13ZWlnaHQ6bm9ybWFsO1xyXG5cdFx0XHRzcGVhazpub25lO1xyXG5cdFx0XHRkaXNwbGF5OmlubGluZS1ibG9jaztcclxuXHRcdFx0dGV4dC1kZWNvcmF0aW9uOmluaGVyaXQ7XHJcblx0XHRcdHdpZHRoOjFlbTtcclxuXHRcdFx0cGFkZGluZzowO1xyXG5cdFx0XHRtYXJnaW46MCA1cHggMCAwO1xyXG5cdFx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdFx0Zm9udC12YXJpYW50Om5vcm1hbDtcclxuXHRcdFx0dGV4dC10cmFuc2Zvcm06bm9uZTtcclxuXHRcdFx0bGluZS1oZWlnaHQ6MWVtO1xyXG5cdFx0XHRwb3NpdGlvbjpyZWxhdGl2ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5kZWZhdWx0X2Jsb2NrcXVvdGUgKCkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nLWxlZnQ6NTNweDtcclxuXHRtYXJnaW46MCAwIEBsaW5lX2hlaWdodF9wYWQ7IC8qIGRvbid0IHRvdWNoICovXHJcblx0LmJkKDApO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRjb250ZW50OidcXDIwMUQnO1xyXG5cdFx0cG9zaXRpb246YWJzb2x1dGU7XHJcblx0XHRsZWZ0OjA7XHJcblx0XHR0b3A6MDtcclxuXHRcdGZvbnQtc2l6ZTo1MHB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6NTBweDtcclxuXHR9XHJcblxyXG5cdHA6bGFzdC1vZi10eXBlIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOjA7XHJcblx0XHRtYXJnaW4tYm90dG9tOjA7XHJcblx0fVxyXG5cclxuXHRjaXRlIHtcclxuXHRcdGRpc3BsYXk6YmxvY2s7XHJcblx0XHRtYXJnaW4tdG9wOjEwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uZGVmYXVsdF90YWJsZSAoKSB7XHJcblx0d2lkdGg6MTAwJTtcclxuXHRtYXJnaW4tYm90dG9tOkBsaW5lX2hlaWdodF9wYWQ7XHJcblx0Ym9yZGVyLXNwYWNpbmc6MDtcclxuXHRib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XHJcblx0XHJcblx0dGgsIFxyXG5cdHRkIHtcclxuXHRcdHBhZGRpbmc6MTBweDtcclxuXHRcdC5iZDtcclxuXHR9XHJcblx0XHJcblx0Y2FwdGlvbiB7XHJcblx0XHR0ZXh0LWFsaWduOmNlbnRlcjtcclxuXHRcdHBhZGRpbmc6MjBweDtcclxuXHR9XHJcblx0XHJcblx0LyogZm9yIGd1dGVuYmVyZyBzdGFydCAqL1xyXG5cdCYuaXMtc3R5bGUtc3RyaXBlcyB7XHJcblx0XHRib3JkZXItY29sbGFwc2U6Y29sbGFwc2U7XHJcblx0XHQuYmQoMCk7XHJcblx0XHRcclxuXHRcdHRyOm50aC1jaGlsZChvZGQpIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjp0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cdH1cclxuXHQvKiBmb3IgZ3V0ZW5iZXJnIGVuZCAqL1xyXG59XHJcblxyXG4uZGVmYXVsdF9idXR0b24gKCkge1xyXG5cdGRpc3BsYXk6aW5saW5lLWJsb2NrO1xyXG5cdHBhZGRpbmc6MCAzMHB4O1xyXG5cdGN1cnNvcjpwb2ludGVyO1xyXG5cdHBvc2l0aW9uOnJlbGF0aXZlO1xyXG5cdHdoaXRlLXNwYWNlOm5vd3JhcDtcclxuXHQudGFjO1xyXG5cdC5iZChAYnV0X2JkX3dpZHRoKTtcclxuXHQuYmRycyhAYnV0X2JkcnNfd2lkdGgpO1xyXG59XHJcblxyXG4uZGVmYXVsdF9zZWxlY3QgKEBwbHVnaW46MCkge1xyXG5cdGxpbmUtaGVpZ2h0OjEuNjtcclxuXHR0ZXh0LWluZGVudDowLjAxcHg7XHJcblx0dGV4dC1vdmVyZmxvdzonJztcclxuXHRwYWRkaW5nOkBpbnB1dF9wYWQgMTAlIEBpbnB1dF9wYWQgMTVweDtcclxuXHQtd2Via2l0LWFwcGVhcmFuY2U6bm9uZTtcclxuXHQtbW96LWFwcGVhcmFuY2U6bm9uZTtcclxuXHQtbXMtYXBwZWFyYW5jZTpub25lO1xyXG5cdGFwcGVhcmFuY2U6bm9uZSAhaW1wb3J0YW50O1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi8uLi8uLi9pbWcvc2VsZWN0LnBuZycpO1xyXG5cdGJhY2tncm91bmQtcG9zaXRpb246OTQlIGNlbnRlcjtcclxuXHRiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XHJcblx0bWluLXdpZHRoOjEwMHB4O1xyXG5cdHdpZHRoOjEwMCU7XHJcblx0bWluLXdpZHRoOjEwMHB4O1xyXG5cdGhlaWdodDpAaW5wdXRfaGVpZ2h0ICsgM3B4O1xyXG5cdC5iZHJzKDApO1xyXG5cdFxyXG5cdCYgd2hlbiAoQHBsdWdpbiA+IDApIHtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6dXJsKCcuLi8uLi8uLi8uLi9pbWcvc2VsZWN0LnBuZycpO1xyXG5cdH1cclxuXHRcclxuXHQmIHdoZW4gKEBwbHVnaW4gPSAwKSB7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOnVybCgnLi4vLi4vLi4vaW1nL3NlbGVjdC5wbmcnKTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuXHJcbiJdLCJmaWxlIjoiZnJvbnRlbmQtc3R5bGUuY3NzIn0= */
